[컴퓨터네트워크] TCP header 4계층 TCP 헤더 구조

[컴퓨터네트워크] TCP header 4계층 TCP 헤더 구조

전이중 방식

Source Port address 필드 (16 bit)

데이터를 생성한 애플리케이션에서 사용하는 포트번호를 나타낸다.
  • Well - Known ports(0~1,023) : IANA에 의해 배정되고 제어된다.
  • Registered port(1,024 ~ 49,151) : IANA에 의해 배정되거나 제어되지 않는다.
    하지만 중복을 피하기 위해 IANA에 등록 될 수는 있다.
  • Dynamic Ports(49,152 ~ 65,535) : IANA에 의해 제어되거나 등록되지 않는다.
    어느 프로세스라도 사용할 수 있으며 임시 포트이다.


Destination Port address 필드 (16 bit)

목적지 애플리케이션이 사용하는 포트 번호



Sequence number 필드 (32bit)

  • 전송되는 데이터의 가상 회선을 통해 전송되는 데이터의 모든 바이트에는 고유한 일련 번호가 부여된다.
  • 네트워크가 불안하여 패킷을 분실, 지연 등으로 세그먼트 순서가 어긋나게 도착 할 수 있기 때문에 sequence number를 이용하여 데이터를 올바른 순서로 재배열할 수 있다.



Acknowledgement number 필드 (32bit)

  • 다음 세그먼트를 수신할 준비가 되었다는 사실을 알린다.
  • 모든 데이터가 수신되었다는 것을 나타내는 묵시적인 확인 메시지 역할을 한다.
  • 성공적으로 수신한 데이터의 마지막 바이트에 부여된 순서 번호



Header Length 필드 (4bit)

  • 헤드의 길이를 32비트 단위로 나타낸다.
  • 최소 필드 값은 5 최대 값은 15


Reserved 필드 (6bit)

  • 차후의 사용을 위해서 예약된 6비트 필드이다.


Control Flags 필드 (6bit)

  • 6개의 서로 다른 제어 비트 또는 플래그를 나타낸다.
  • 동시에 여러 개의 비트가 1로 설정될 수 있다.
  • SYN(Synchronization)
    • 연결 요청 플래그
    • TCP에서 세션을 성립할 때 가장 먼저 보내는 패킷, 시퀀스 번호를 임의적으로 설정하여 세션을 연결하는 데에 사용되며 초기에 시퀀스 번호를 보내게 된다.
  • ACK(Acknowledgement)
    • 상대방으로부터 패킷을 받았다는 걸 알려주는 패킷
  • RST(Rest)
    • 재설정하는 과정이며, 양방향에서 동시에 일어나는 중단 작업이다.
    • 비 정상적인 세션 연결 끊기에 해당된다.
  • PSH(Push)
    • 밀어 넣기
    • 대화형 트래픽에 사용되는 것으로 버퍼가 채워지기를 기다리지 않고 데이터를 전송한다.
  • URG(Urgent)
    • 긴급 데이터
    • Urgent pointer 유효한 것인지를 나타낸다.
  • FIN(Finish)
    • 연결 종료 요청



Window size 필드 (16bit)

  • 송신 시스템 가용 수신 버퍼의 크기를 바이트 단위로 나타낸다.


Checksum 필드 (16bit)

  • TCP 세그먼트의 내용이 유효한지 검증하고 손상 여부를 검사 할 수 있다.
  • TCP는 필수, UDP는 선택



출처

댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?