'네트워크'에 해당되는 글 1건

  1. 2009.09.18 TCP 헤더 분석 3
2009. 9. 18. 09:03

TCP 헤더 분석

참고 : http://www.ktword.co.kr/abbr_view.php?mgid=125&m_temp1=347


TCP에 대한 자세한 내용은 위의 링크를 참조하면 된다.



1. TCP의 구조



TCP 프레임은 IP datagram에 캡슐화되어 저장되어 있다.

다른 프로토콜과 마찬가지로 헤더와 데이터부분으로 이루어져 있으며, 헤더의 길이는 옵션이 없을 경우 20바이트로 이루어져 있다.



2. 헤더 분석


    ㅇ Sourse/Destination Port number
    ㅇ Sequence Number (일련번호) 및 Acknowledgement Number (확인번호)
       - TCP에 의해 전송되는 데이터 세그먼트의 순서제어를 위해 사용됨
       - 32비트이므로 4기가 바이트 크기의 송신 데이터를 위해 일련번호를 붙일 수 있
         다. 예를들면, 일련번호 100에 100바이트를 전송하면 다음 패킷의 일련번호는
         200이 된다.
                      |      SEQ j (데이터 20)    |
                      |    -------------------->         |     
                      |           ACK j+20           |
                      |    <-------------------          |     
                      |           SEQ j+20           |
                      |    ------------------->          |          

    ㅇ Header length
       - 4 바이트 단위로 표시. 4 비트 길이. 따라서, TCP 헤더 길이는 총 60 바이트
         이하임
    ㅇ 6 개의 Flag bits     ☞ TCP 제어 플래그 참조
       - TCP 세그먼트 전달과 관련된 제어 기능을 함. TCP 회선 및 데이터 관리를 위해
         사용되는 제어용 플래그
    ㅇ window size
       - 흐름제어를 위해 사용하는 16 비트 필드 (65,535 bytes까지 가능)
       - TCP 흐름제어를 위해서  통신의 상대편에게 자신의 버퍼 크기를 지속적으로 통
         보하여주는 기능을 함. 수신측에 의해 능동적으로 흐름제어를 수행하게 됨.
    ㅇ Urgent pointer
       - TCP 세그먼트에 포함된 긴급 데이터의 마지막 바이트에 대한 일련번호
       - urgent pointer는 현재 일련번호(sequence number)로부터 긴급 데이터까지의
         바이트 오프셑(offset)을 말한다.
       - 해당 세그먼트의 일련번호에 urgent point 값을 더해 긴급 데이터의 끝을 알수
         있음



3. TCP 옵션


주요 옵션의 종류
   Type                              옵 션 내 용
   ----    -------------------------------------------------------------------
    0      End of Option          : 옵션 필드의 끝에 패딩(Padding)을 위해 사용 
    1      No Operatin            : 옵션 사이를 채우기 위함
    2      Maximum Segment Size (MSS)
            : 전송되는 TCP 데이터 세그먼트의 최대 길이, 이더넷은 1460
    3      Window Scale factor
    4      Selective Acknowledgment Permitted (Selective Reject)
            : 여러 패킷 중 손실된 패킷 만 선택적으로 재전송하기 위한 TCP 연결 설정
              시의 협상 옵션
    5      Selective Acknowledgment Data
    8      Timestamp