TCP Packet(Segment) 




1)  Sourse/Destination Port Number ( 16 비트)             


 - 데이터를 생성한 애플리케이션에서 사용하는 포트번호

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



2) Sequence number (32 비트)             


 - 전송되는 데이터의 가상 회선을 통해 데이터의 모든 바이트에는 고유한 일련번호가 부여된다.

 - 네트워크가 불안하여 패킷을 분실, 지연 등으로 세그먼트가 순서가 어긋나게 도착 할 수 있기 때문에 sequence number를 이용하여 데이터를 올바른 순서로 재배열 할 수 있다.



3) acknowledgement number (32 비트)             


- 수신하기를 기다리는 다음 바이트 번호 

- 마지막 수신성공 번호 +1 .. 순서로 할당



4) HLEN = Header Length (4 비트)             


헤드의 길이를 32비트 단위로 나타낸다. 최소 필드 값은 5 (5 * 32 = 160bit or 20Byte )  최대 값 15 (15 * 32 = 480bit or 60byte)


5) 예약 (6 비트)             


- 추후 사용을 위한 예약된 필드


6)  Flag Bits 


- 6개의 플래그 비트

TCP 세그먼트 전달과 관련되어 TCP 회선 및 데이터 관리 제어 기능을 하는 플래그


CWR :(Congestion Window Reduced) – 혼잡 윈도우 크기 감소

- ECN :(Explicit Congestion Notification) – 혼잡을 알림

- URG(Urgent) : Urgent Pointer 필드가 가리키는 세그먼트 번호까지 긴급 데이터를 포함되어 있다는 것을 뜻한다.

  이 플래그가 설정되지 않았다면 Uregent Pointer 필드는 무시되어야 한다.

- ACK(Acknowledgment) : 확인 응답 메시지

- PSH(Push) : 데이터를 포함한다는 것을 뜻한다.

- RST(Reset) : 수신 거부를 하고자 할때 사용

- SYN(Synchronize) : 가상 회선이 처음 개설될 때 두 시스템의 TCP 소프트웨어는 의미 있는 확인 메시지를 전송하기 위해  일련 번호를서로 동기화해야 한다.

- FIN(Finish) : 작업이 끝나고 가상 회선을 종결하고자 할 때 사용



7)  Windows Size(16 비트)


- 흐름제어를 위해 사용하는 필드



8)  CheckSum (16 비트)


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





9)  Urgent Pointer (16 비트)


- TCP 세그먼트에 포함된 긴급 데이터에 대한 마지막 바이트에 대한 일련번호

 현재 일련번호(sequence number)로부터 긴급 데이터까지의  바이트 오프셋(offset)
        . 해당 세그먼트의 일련번호에 urgent point 값을 더해 긴급 데이터의 끝을 알수있음







참고자료: http://www.ktword.co.kr/abbr_view.php?m_temp1=1889

+ Recent posts