TCP Header   Transmission Control Protocol Header   TCP 헤더

(2019-11-21)

초기 순서번호, ISN, Window Size, 윈도우 크기

1. TCP 세그먼트헤더 구성

   


2. 각 필드에 대한 설명

  ㅇ Sourse/Destination Port Number (각 16 비트)             ☞ 포트 번호 참조
     - IP 주소 + 포트 번호 = 소켓 주소소켓 참조
        . 양쪽 호스트 내 종단 프로세스 식별

  ㅇ Sequence Number (32 비트)                               ☞ 순서번호 참조
     - 바이트 단위로 구분되어 순서화되는 번호임
        . 이를 통해, TCP에서는 신뢰성흐름제어 기능 제공  ☞ 슬라이딩 윈도우 참조 

     - 순서 가능 범위
        . 32 비트이므로 최대 4기가 바이트(232) 크기의 송신 데이터순서화된 일련번호를 붙일 수 있음
           .. 임의 값으로 시작하여 최대값(4,294,967,295) 이후에는 `0`으로되어 시작함

     - 순서번호 의미
        . TCP 세그먼트의 첫번째 바이트에 부여되는 번호 

     - 초기 순서번호 (ISN, Initial Sequence Number)           ☞ TCP 연결 설정 참조
        . 초기 TCP 연결설정을 위함
        . 난수 발생기로 초기 순서번호(ISN)를 생성하고, 이를 순서번호 필드에 넣어 보냄
           .. 난수 발생기 : 매 4 ㎲ 마다 1씩 증가하는 12 비트 카운터에 의해 구현됨
        . TCP는 양방향이므로 각 방향 마다 다른 ISN 번호가 사용됨 

  ㅇ Acknowledgement Number(확인응답번호/승인번호) (32 비트)
     - 수신하기를 기대하는 다음 바이트 번호 = (마지막 수신 성공 순서번호 + 1)
         헤더 길이 필드 (Header length,HLEN, 4 비트)
     - TCP 헤더 길이를 4 바이트(32 비트) 단위로 표시
        . 따라서, TCP 헤더 길이는 4 x (24 - 1) = 60 바이트 이하

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

  ㅇ 윈도우 크기 (Window size, 16 비트)                      ☞ 슬라이딩 윈도우 참조
     - 흐름제어를 위해 사용하는 16 비트 필드 (65,535 bytes까지 가능)
        . TCP 흐름제어를 위해 송신자에게 자신의 수신 버퍼 여유용량 크기를 지속적으로 통보
           .. TCP 연결은 양방향이므로, 매 TCP 세그먼트를 보낼시 마다, 
           .. 이 필드에 자신의 수신 버퍼 용량 값을 채워 보내게 됨 (지속적인 현행화)
        . 결국, 수신측에 의해 능동적으로 흐름제어를 수행하게 됨

  ㅇ Checksum (16 비트)                           ☞ TCP Checksum(TCP 가상헤더) 참조
     - 검사합

  ㅇ Urgent pointer (16 비트)
     - TCP 세그먼트에 포함된 긴급 데이터의 마지막 바이트에 대한 일련번호
        . 현재 일련번호(sequence number)로부터 긴급 데이터까지의  바이트 오프셋(offset)
        . 해당 세그먼트의 일련번호에 urgent point 값을 더해 긴급 데이터의 끝을 알수있음

  ㅇ 옵션                                         ☞  TCP 옵션  참조
     - 최대 40 바이트까지 옵션 데이터 포함 가능
        . TCP MSS 옵션을 협상하거나, 주어진 윈도우 크기 보다 더 크게 사용하거나,
          선택확인응답을 하거나, 타임스탬프 옵션 정의 등


3. 위 필드 중 상대쪽에서 오는 방향과 관련된 필드들 TCP 헤더 내 대부분의 필드들은 양방향에서 모두 쓰이나,
     - 다음 3개 필드는 상대측으로부터 받는 방향에 쓰여지는 필드들임

  ㅇ TCP 제어 플래그 내 `ACK 제어 비트`
     - 확인응답번호 필드에 확인응답번호(Acknowledgement Number) 값이 셋팅됐음을 알림

  ㅇ `확인응답번호 (Acknowledgement Number)`
     - 통상,  `순서번호 + 1`로 설정됨

  ㅇ `윈도우 크기 (window size)`  ☞ 수신 윈도우 참조


[TCP 패킷(세그먼트)] 1. TCP 헤더 2. TCP 제어 비트 3. TCP 옵션 4. TCP MSS 옵션 5. TCP 세그먼트
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
        1. 통신 이란?
        2. 신뢰적 통신
    1.   통신이론
    2.   선로/전송
    3.   통신망 일반
    4.   회선교환(PSTN)
    5.   무선/이동통신
    6.   광통신
    7.   인터넷/데이터통신
          1. 데이터통신망
          2. 인터넷
          3. 데이터 네트워크 설계
      1.   데이터 단위
      2.   프로토콜/계층
      3.   데이터 링크
      4.   TCP/IP
            1. TCP/IP 이란?
        1.   IP 계층
        2.   전송계층(UDP,TCP,SCTP,포트번호)
              1. 전송 계층
          1.   포트번호(프로세스식별)
          2.   TCP
                1. TCP
            1.   TCP 패킷(세그먼트)
              1.   1. TCP 헤더
                  2. TCP 제어 비트
                  3. TCP 옵션
                  4. TCP MSS 옵션
                  5. TCP 세그먼트
            2.   TCP 연결관리
            3.   TCP 오류제어
            4.   TCP 흐름/혼잡 제어
            5.   TCP 기타사항
          3.   UDP,SCTP,MPTCP
        3.   DHCP
        4.   TCP/IP 유틸리티
        5.   TCP/IP 기타일반
      5.   라우팅
      6.   인터넷 QoS
      7.   인터넷 관리
      8.   웹기술
      9.   인터넷 응용
      10.   인터넷 기타
      11.   패킷교환(PSN)
      12.   인터넷 관련 기관
  7.   정보기술(IT)
  8.   공학일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌