MSS, TCP MSS   Maximum Segment Size   TCP MSS 옵션, TCP 최대 세그먼트 크기

(2022-06-18)

MSS


1. TCP 최대 세그먼트 크기TCP 세그먼트 크기
     - IP 헤더,TCP 헤더는 제외하고, TCP가 실을 수 있는 데이터 만의 크기를 의미

  ㅇ TCP MSS (Maximum Segment Size, 최대 세그먼트 크기)
     - TCPTCP 세그먼트 1개로 보낼 수 있는 최대 데이터 크기를 말함
        . 기본값(디폴트) : IPv4 536 바이트 (RFC 1122에서 규정), IPv6 1220 바이트

     * MSS 및 MTU  크기 비교
        . MTU  : (IP 기반의 정보)  IP 헤더, TCP 헤더, TCP 데이터를 모두 포함하는 길이 
        . MSS  : (TCP 기반의 정보) 단지 TCP 데이터(페이로드) 길이 만을 의미 

  ㅇ TCP MSS 값의 전달 
     - TCP 헤더 옵션에 포함시켜 그 값을 전달함 

  ㅇ TCP MSS 값의 적정성 ☞ TCP 세그먼트 크기 참조


2. [TCP 옵션]  MSS 옵션 값의 통보/협상TCP 연결설정 시에 통보/협상
     - TCP 연결설정을 위한 초기 세그먼트(SYN 세그먼트)를 전송할 때, 
        . 초기 세그먼트에 MSS 옵션에 그 값을 포함시켜 전달함
     - SYN 제어비트(TCP 제어 플래그)가 설정된 상태에서,
        . 처음 왕복하는 2개의 세그먼트 (SYN 세그먼트, SYN+ACK 세그먼트)에서 만 나타남
        . 이것이 추후에 나타나면 이를 무시

  ㅇ TCP는 양방향이므로, 
     - 참여 양단 호스트별로(각 방향으로) 다른 MSS 값이 사용됨
     - 즉, 연결에 참여하는 두 장비가 서로 다른 MSS 값을 갖을 수도 있음


3. [TCP 옵션]  MSS 옵션값의 `미지정(기본)`,`지정(명시)`,기타값

  ㅇ 미지정(기본)하는 경우        (소량 데이터인 경우)
     - 기본 MSS 옵션 값 : 536 바이트 (IPv4)
        . 즉, 미 지정시 기본값 536 바이트가 사용됨

  ㅇ 지정(명시)하며 전달하는 경우 (대량 데이터인 경우)
     - TCP 연결설정 시에, 양끝단 TCP 장치들 간에 자신이 속한 네트워크MTU 값에서
       40 바이트(IP 헤더,TCP 헤더를 합친 개략치)를 뺀 값을 통보
        . 고속 컴퓨터(큰 MSS 요구)와 저속 컴퓨터(작은 MSS 요구) 간의 협상으로 볼 수 있음

  ㅇ 기타
     - (값 65535) : 무한 크기 값 (주로, IPv6의 점보그램에 사용됨)
        . 그 한계는, PMTU에서 60 바이트 (IPv6 헤더 40 + TCP 헤더 20)를 뺀 값 
     - (값 1460)  : 이더넷 경우의 전형적인 값 (이더넷 MTU 1500 - IPv4 헤더 20 - TCP 헤더 20)


4. [TCP 옵션]  MSS 옵션 필드 구성

  

  ㅇ 옵션 길이 : 총 32 비트 (4 바이트)
     - type   (1 바이트) : Maximum Segment Size(MSS) 옵션임을 알림 (= 2)
     - length (1 바이트) : MSS 옵션이 차지하는 총 길이(크기)를 말함 (= 4)
     - value  (2 바이트) : MSS 값

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

[TCP 연결관리]1. TCP 연결   2. TCP 연결설정(3단계)   3. TCP 연결종료   4. TCP 상태   5. TCP 헤더 옵션   6. TCP MSS 옵션   7. path MTU  

  1. Top (분류 펼침)      :     1,594개 분류    6,533건 해설

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)