Post

TCP 헤더 구조

TCP 헤더 구조

TCP 혜더

TCP 헤더는 세그먼트가 정확하게 전송되고 수신되도록 제어하는 데 필요한 정보를 포함합니다.
또한, 세그먼트의 시작 부분에 위치하고, TCP 헤더는 가변 길이로 최소 20바이트의 크기를 가집니다.

TCP 헤더 구조

Desktop View

TCP 헤더는 다음과 같은 필드들로 구성되어 있습니다.

  1. 송신지 포트 : 송신 호스트의 포트 번호를 나타냅니다 (16비트)

  2. 수신지 포트 : 수신 호스트의 포트 번호를 나타냅니다 (16비트)

  3. 시퀸스 번호(SEQ) : 세그먼트의 첫 번째 바이트의 시퀸스 번호를 나타냅니다 (32비트)

  4. 확인 응답 번호(ACK) : 수신 측이 다음으로 기대하는 바이트의 SEQ 번호를 나타냅니다 (32비트),
    ACK 플래그가 설정된 경우에만 유효합니다.

  5. 데이터 오프셋 : TCP 헤더의 길이를 32비트 워드 단위로 나타냅니다.
    최소 값은 5 (5 * 4바이트 = 20바이트)이며, 옵션 필드가 포함될 경우 더 길어집니다 (4비트)

  6. 예약 영역 (Reserved) : 미래 사용을 위해 예약된 필드입니다.
    항상 0으로 설정됩니다 (4비트)

  7. 컨트롤 비트 (Flags) : TCP 세그먼트의 상태 및 제어 정보를 나타냅니다 (9비트).
    주요 플래그는 다음과 같습니다.
    URG : 긴급 포인터 필드가 유효함을 나타냅니다.
    ACK : 확인 응답 번호 필드가 유효함을 나타냅니다.
    PSH : 수신 측에 데이터를 즉시 상위 계층으로 전달할 것을 요청합니다.
    RST : 연결을 재설정합니다.
    SYN : 연결 설정을 시작합니다.
    FIN : 연결을 종료합니다.

  8. 윈도우 크기 : 송신 측이 수신할 수 있는 수신 윈도우의 크기를 나타냅니다 (16비트)

  9. 체크섬 : 세그먼트의 무결성을 검사하는 값입니다 (16비트)

  10. 긴급 포인터 : 긴급 데이터의 끝을 나타냅니다.
    URG 플래그가 설정된 경우에만 유효합니다 (16비트)

  11. 옵션 + 패팅 : 다양한 TCP 옵션을 포함할 수 있으며, 가변 길이입니다.
    주로 연결 설정 시 사용됩니다. 또한 헤더의 길이를 32비트 단위로 맞추기 위해 사용됩니다.

옵션

대표적인 옵션들은 다음과 같습니다.

Desktop View

This post is licensed under CC BY 4.0 by the author.