TCP Segment   TCP 세그먼트

(2017-07-03)

TCP 세그먼트 크기

1. TCP 세그먼트TCP 세그먼트
     - TCP 연결된 양 끝단 세션 간에 서로 교환,전달되는 데이터 단위TCP 세그먼트 크기
     - IP 헤더,TCP 헤더는 제외하고 TCP가 실을 수 있는 데이터 만의 크기를 의미


2. TCP 세그먼트 크기 계산TCP 페이로드 세그먼트 크기 
     = (IP 헤더의 Total Length) - (IP 헤더Header Length) - (TCP 헤더Header Length)


3. TCP 세그먼트 크기의 적정성TCP 세그먼트의 적정 크기의 결정 문제는, 일견 간단해 보이지만,
     - 어떤 시점에서 가장 효율적인 세그먼트 크기를 결정하는 것은 꽤 복잡하게 됨
        . 이는 TCP 연결 회선의 성능과 직결됨

  ㅇ TCP 세그먼트가 너무 작으면,
     - 작아진 데이터 수용량, 잦은 전송 발생으로 비효율적
        . 작아진 세그먼트로 작은 데이터들 만을 전송되므로 비효율적

  ㅇ TCP 세그먼트가 너무 커지면,
     - MTU(최대전송단위) 이상이 되어 쪼개지는(IP 단편화가 되는) 경우가 많이 발생되어
       전송 비효율적
        . 큰 세그먼트로 너무 많은 데이터들이 실려, 잦은 IP 단편화가 발생되어 비효율적

  ※ 적정 TCP 세그먼트 크기
       = min(송신 버퍼 크기, 수신 버퍼 크기, MTU 크기, path MTU 크기) - 헤더 크기

     - 이러한 크기를 통보 또는 알 수 있는 방법
        . 송신 버퍼 크기 : 송신측 자신이 이미 알고 있음
        . 수신 버퍼 크기 : 송신시 매번 TCP 헤더Window Size 필드에 적어 보냄
        . MTU 크기       : 모든 TCP 세그먼트 송신시에, TCP MSS 옵션에 적어 보냄
        . path MTU 크기  : TCP 계층이 아닌 IP 계층 이하에서 알려줌

  ※ 일반적으로, 
     - 수신 TCP 모듈이 갖는 수신 버퍼 크기를 그 한계로 보는 것이 가장 일반적임
        . 수신측이 이 값 이상을 허용 않는다고 통신 상대방에게 알리는 의지 표현


[TCP 패킷(세그먼트)] 1. TCP 헤더 2. TCP 제어 비트 3. TCP 옵션 4. TCP MSS 옵션 5. TCP 세그먼트

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