728x90
반응형

 

 

TCP 패킷 구조

 

 

  • Source Port
    보내는 시스템의  애플리케이션 Port 입니다. 일반적으로 0 ~ 1023 까지는 예약되어있습니다.
    ex) HTTP(80)

  • Destination Port
    받는 시스템의 애플리케이션 Port 입니다. 위와 동일합니다.

  • Sequence Number
    패킷의 순서를 표시합니다.
    단위는 바이트로 표시되며 이 패킷이 데이터의 몇번째 바이트 부터인지를 나타냅니다.
    ex) 300byte 의 데이터를 100byte 씩 나눠서 보낼 때 첫 패킷은 0, 두번째는 100, 세번째는 200 이다.

  • Acknowledgement Number
    패킷을 받고 그에 대답을 할때 사용됩니다. 주로 패킷을 잘 수신 받았다는 대답과 같습니다.
    이전에 받은 Sequenc Number 의 다음 번호입니다.
    ex) 위의 예시와 같이 seq : 0 인 100byte 데이터를 수신하면 0~99byte 의 데이터를 받았으므로
         다음으로 필요한 100을 송신합니다.

  • Header length
    헤더의 길이가 가변이므로 총 헤더의 길이를 표시합니다. 단위는 바이트(byte)입니다.

  • Reserved
    현재는 사용되지않지만 미래를 위해 남겨둔 공간입니다.

  • Flags
    TCP 의 여러가지 속성들을 설정할 수 있는 비트들 입니다.

  • Window
    윈도우의 크기를 나타냅니다.
    윈도우란? 한번에 보낼 수 있는 최대 버퍼수를 말합니다.
    이 버퍼수에 따라 한번에 보내는 양이 정해지게됩니다.

  • Checksum
    error bit 검출을 위한 값입니다.

  • Urgent Pointer
    우선순위가 더 높은 데이터의 마지막 바이트 위치를 나타냅니다.

 

 

특징


TCP(Transmission Contrio Protocol)는 transport 계층에서 사용되는 대표적인 프로토콜입니다.

하위 계층인 IP와는 다르게 흐름제어(Flow control), 혼잡제어(Congestion control), 에러검출을 하기 때문에 신뢰성있는(reliable) 연결이 가능합니다. 따라서 신뢰성이 요구되는 에플리케이션에서 주로 사용합니다.

 

 

 

728x90
반응형

+ Recent posts