TCP 헤더

박지혜·2025년 5월 4일

TCP Header란? TCP 프로토콜에서 송신측과 수신측의 신뢰성 있는 데이터 전송을 위해 필요한 정보를 담고 있는 20~60 바이트 크기의 헤더

  1. Source Port(16비트) : 송신자의 포트번호

  2. Destination Port(16비트) : 수신자의 포트번호

  3. Sequence Number(32비트) : 전송 데이터의 순서를 나타내는 번호
    -> 데이터의 순서를 나타낸다.
    -> TCP는 데이터를 쪼개서 여러번 보낼 수 있기 때문에 각 데이터 조각(?)에 일련번호를 붙여서 보낸다.
    ex)
    첫번째 세그먼트는 Sequence Number = 1000
    두번째 세그먼트는 Sequence Number = 1500
    =>중간에 500바이트 보냈다는 뜻

  4. Acknowledgment Number(32비트) : 상대방에게 다음에 기대하는 바이트 번호(Ack 플래그가 1일때만 유효)
    ex)
    만약 수신측에서 1000~1499까지 받았더라면
    Acknowledge number = 1500 (난 1500번을 기다리고있다 라는 의미)

  5. Data Offset(4비트) : TCP 헤더의 길이

  6. Reserverd(3비트) : 예약 필드

  7. Flag / Control Bits(9비트) : 연결관리 및 데이터 제어 신호

  8. WindowSize(16비트) : 수신 측이 수용 가능한 남은 버퍼 크기

  9. Checksum(16비트) : 오류 검출용

  10. Urgent Pointer(16비트) : URG플래그가 1일때 긴급 데이터 끝 위치

  11. Optional + Padding(가변) : 이 부분의 바이트에 따라서 헤더의 크기가 결정된다.

0개의 댓글