TCP는 연결 지향형 서비스를 제공하고 신뢰성 있는 데이터 전송을 보장한다. 이러한 TCP 프로토콜의 특성은 TCP 세그먼트 헤더 내의 각종 필드에 의해 가능한 것이다.
* TCP 헤더 내 각 필드의 역할
출발지 포트 번호(Source Port Number): 세그먼트를 전송하는 출발지 호스트의 포트 번호를 정의한 16비트 필드이며, 임의의 번호를 사용한다.
목적지 포트 번호(Destination Port Number): 세금너트를 수신하는 목적지 호스트의 포트 번호를 지정하는 16비트 필트디며 대부분 well known 포트 번호를 사용한다.
순서 번호 (Sequence Number): TCP 세그먼트에 대한 순서 번호를 표시한다. TCP는 신뢰성 있는 데이터 통신을 위해서 각각의 세그먼트에 순서 번호를 포함하여 전송하고, 목적지에서 세그먼트들을 재조립할 때는 이 순서 번호를 기준으로 어떤 세그먼트가 몇 번째 세그먼트인지 알려주는 역할을 한다. 32비트
수신 확인 응답 번호(Acknowledgement Number): 전송 받은 세그먼트에 대한 수신 확인 응답의 의미로 수신 장치에서 발신 장치로 세그먼트의 전송 성공 여부를 알려죽 ㅣ위해 사용하는 번호이다. 3 way handshake
헤더 길이(Header Length): TCP 헤더의 길이는 최소 20바이트에서 60바이트가 될 수 있는데, 이 길이를 표시한다.
예약 비트(Reserved): 향후의 다른 목적을 위해 예약된 필드이다.
URG(Urgent): 긴급 데이터가 TCP 페이로드에 포함되어 있음을 알리기 위한 제어 비트로 만약 이 비트가 1이면 긴급 포인터 필드로 지정된 긴급 데이터를 우선적으로 처리한다.
ACK(Acknowledgement): TCP 세그먼트들에 대한 수신 확인을 알리기 위해 사용하는 제어 비트로 이 비트가 1이면 수신 확인 응답 번호 이전까지의 모든 세그먼트들을 제대로 잘 받았음을 의미한다.
PSH(Push): 푸시 요청으로 긴급 데이터가 아닌 데이터를 빨리 처리하도록 요청하는 제어비트이다.
RST(Reset): TCP 세션을 리셋하기 위한 제어 비트이다.
SYN(Synchronization): 통신을 개시하고자 하는 두 호스트 간의 세션을 초기화하고 순서 번호를 동기화하기 위한 제어 비트이다.
FIN(final): TCP 세션의 전송 종료 시 사용하는 제어 비트이다 .
윈도우 크기(window size)상대측으로부터 수식 확인 응답 번호의 수신 없이 전송할 수 있는 데이터의 양을 지정하는 필드이다. 16비트
TCP 체크섬(TCP Checksum): 헤더와 세그먼트에 의해 전송되는 데이터에 대한 오류 검사를 하기 위한 필드이다. 16비트
긴급 포인터(Urgent Pointer): TCP 페이 로드 내의 어떤 곳에 긴급 데이터가 있는지 명시하기 위한 포인터 값이다. 제어비트 URG가 1로 설정되어 있을 경우에 유효하다. 16비트 QoS 우선순위
옵션(Options): 최대 40비트까지 옵션 정보가 있을 수 있으며 tcp 통신과 관련된 여러 가지 추가적인 옵션이 위치하는 필드이다.
'CS > network' 카테고리의 다른 글
IP Header (1) | 2021.03.23 |
---|---|
UDP Header (0) | 2021.03.19 |
TCP/IP (0) | 2021.03.17 |
OSI 7 Layers (3/3) (0) | 2021.03.16 |
OSI 7 Layers (2/3) (0) | 2021.03.15 |