소개
이 문서에서는 TCP MSS 조정의 개념과 구성에 대해 설명합니다. 또한 MTU(Maximum Transmission Unit)의 개념 및 패킷 크기가 큰 웹 사이트에 대한 패킷 삭제를 방지하는 방법에 대해서도 설명합니다.
기고자: Cisco TAC 엔지니어 Richika Jain
사전 요구 사항
요구 사항
Cisco에서는 PPPoE(Point-to-Point Protocol over Ethernet)에 대한 지식을 보유하고 있는 것이 좋습니다.
사용되는 구성 요소
이 문서의 정보는 일반 디바이스를 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
구성
MTU는 한 인스턴스에서 프로토콜에 의해 전송될 수 있는 데이터의 최대 길이입니다.예를 들어, 이더넷 인터페이스의 MTU 크기는 기본적으로 1500바이트입니다. 이더넷 프레임 헤더와 트레일러는 제외되며, 이는 인터페이스가 1500바이트보다 큰 프레임을 전달할 수 없다는 것을 의미합니다.이 다이어그램은 다음 개념을 시각화합니다.
프레임 내부를 보면 20바이트 IP 헤더 + 20바이트 TCP 헤더(남아 있는 1460바이트는 하나의 프레임에서 전송할 수 있는 페이로드입니다.이는 TCP MSS로 반환됩니다.
전송 라우터에서 수행되는 추가 캡슐화가 없는 경우 소스 디바이스는 패킷 조각화/삭제의 잠재적 위험 없이 최대 페이로드 길이 1460바이트를 사용할 수 있습니다.이는 소스 호스트와 대상 호스트 간의 TCP 3방향 핸드셰이크 단계 시점에 협상됩니다.그러나 전송 중인 라우터가 추가 캡슐화를 수행할 때, 전송 라우터를 종료하는 프레임의 크기를 늘리는 레이블 헤더가 추가됩니다.인터페이스의 최대 MTU는 하드웨어 플랫폼에 따라 다르지만, IEEE 802.3 표준에는 최소 MTU가 1500바이트입니다.
PPPoE에는 8바이트가 추가로 필요하고 이더넷 MTU를 1492로 자릅니다. 호스트의 유효 MTU가 변경되지 않으면 호스트와 서버 사이의 라우터가 TCP 세션을 종료할 수 있습니다.이 명령은 PPPoE 컨피그레이션에서 권장됩니다.
소스 디바이스가 TCP MSS가 1460바이트인 전체 크기 패킷을 생성하는 경우, 트랜스딩 라우터가 패킷을 삭제/프래그먼트할 가능성이 높습니다.이는 웹 사이트를 검색할 때 발생하는 문제와 같은 네트워크 성능에 좋지 않습니다.따라서 패킷 크기가 더 큰 웹 사이트를 수용하려면 소스 디바이스에서 가능한 최대 TCP MSS 크기(예: 1452바이트)를 줄일 수 있습니다.라우터가 TCP 핸드셰이크 시 소스 및 대상에 신호를 보내지 않을 경우 최적의 TCP MSS는 삭제/조각화 문제를 잠재적으로 생성할 수 있습니다.
모든 웹 사이트를 탐색할 때 문제가 발생하지 않을 수 있지만 일부 웹 사이트에서 확인할 수 있습니다.T그 이유는 패킷에 도달하기 위해 생성되는 패킷 크기(그 사이에 있는 하드웨어에 따라 다름)입니다. 더 큰 패킷 크기를 생성하는 웹 사이트의 경우 ip tcp adjust-mss 명령을 사용하지 않으면 더 큰 패킷이 삭제됩니다.
일부 웹 사이트를 탐색할 때 나타나는 문제를 해결하려면 LAN 인터페이스를 가리키는 인터페이스에서 IP TCP ADJUST-MSS 1452 명령을 구성해야 합니다.
1. 사용
2. 터미널 구성
3. 인터페이스 유형 번호
4. IP tcp adjust-mss max-segment-size // 라우터를 통과하는 TCP SYN 패킷의 MSS 값을 조정합니다.max-segment-size 인수는 최대 세그먼트 크기(바이트)입니다.범위는 500~1460입니다.
5. IP mtu bytes // 인터페이스에서 전송되는 IP 패킷의 MTU 크기를 바이트 단위로 설정합니다.
6. 종료
다음을 확인합니다.
이 섹션을 사용하여 컨피그레이션이 제대로 작동하는지 확인합니다.
1단계.
TCP MSS 조정의 컨피그레이션을 확인합니다.
interface ethernet1/1
ip address 10.0.0.1 255.0.0.0
ip tcp adjust-mss 1452
duplex half
2단계.
라우터 A에서 라우터 B로 텔넷
telnet 10.0.1.2
Trying 10.0.1.2...
TCP: sending SYN, seq 886170752, ack 0
TCP0: Connection to 1.0.1.2:23, advertising MSS 536
tcp0: O CLOSED 1.0.1.2:23 4.0.0.1:11008 seq 886170752
OPTS 4 SYN WIN 4128
3단계.
라우터 B의 디버그 출력을 확인합니다.
tcp0: I LISTEN 4.0.0.1:11008 1.0.1.3:23 seq 886170752
OPTS 4 SYN WIN 4128
TCP0: state was LISTEN -> SYNRCVD [23 -> 4.0.0.1(11008)]
TCP0: Connection to 4.0.0.1:11008, received MSS 1452, MSS is 1452
TCP MSS 값은 구성된 값 1452로 조정됩니다.
문제 해결
현재 이 컨피그레이션에 사용할 수 있는 특정 문제 해결 정보가 없습니다.