CS/네트워크

[네트워크] TCP Header

hojak99 2016. 11. 23. 22:16

[그림 1: TCP Header]

출처 : 정보통신기술용어해설




 - Sourse / Destination Port Number : IP주소 + 포트 번호 = 소켓 주소. 양쪽 호스트 내 종단 프로세스 식별


 - Sequence Number : 바이트 단위로 구분되어 순서화 되는 번호. 이를 통해 TCP 에서는 신뢰성 및 흐름제어 기능 제공. 

- 순서 가능 범위 : 32비트이므로 최대 4기가 바이트 크기의 송신 데이터에 순서화된 일련번호를 붙일 수 있음


- 순서 번호 의미 : 송신했지만 아직 확인 응답되지 않은 세그먼트의 첫번째 바이트에 대해 부여된 번호. 즉, TCP 각 세그먼트의 첫 번째 바이트에 부여되는 번호.


- 초기 순서 번호(ISN, Initial Sequence Number) : 초기 TCP 연결설정을 위함. 난수 발생기로 초기 순서 번호 생성하고 이를 순서 번호 필드에 넣어 보냄. TCP는 양방향이므로 각 방향 마다 다른 ISN 번호가 사용된다.


 Acknowledgement Number : 수신하기를 기대하는 다음 바이트 번호 = (마지막 수신 성공 순서 번호 + 1)


 - 헤더 길이 필드 (Header Length, HLEN) : TCP 헤더 길이를 4바이트 단위로 표시


 - 6개의 Flag Bit (URG, ACK, PSH, RST, SYN, FIN) : TCP 세그먼트 전달과 관련되어 TCP 회선 및 데이터 관리 제어 기능을 하는 플래그. 흐름제어, 연결설정, 연결 종료, 연결 리셋, 데이터 전송 모드


 - Window Size : 흐름 제어를 위해 사용되는 16비트 필드. TCP 흐름제어를 위해 송신자에게 수신자 자신의 버퍼 여유 용량 크기를 지속적으로 통보해주는 기능을 함. 수신 측에 의해 능동적으로 흐름제어를 수행하게 됨/


 - CheckSum : TCP 또는 UDP 실제 헤더 이외에도 발신, 수신 IP 주소 및 프로토콜 ID 등을 추가하여 전체 패킷에 대해 체크섬을 계산.


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


 - Options : 최대 40바이트까지 옵션 데이터 포함 가능

반응형