소개
이 문서에서는 내부 또는 외부 BGP(Border Gateway Protocol) 인접 플랩이 MTU(Maximum Transmission Unit) 문제로 인해 발생하는지 확인하는 방법에 대해 설명합니다.
사전 요구 사항
이 문서의 절차를 완료하기 전에 두 BGP 라우터에서 다음 작업을 완료해야 합니다.
- BGP 컨피그레이션을 확인합니다.
- ICMP(Internet Control Message Protocol)를 통해 BGP 인접 디바이스에 연결할 수 있으며 드롭이 관찰되지 않는지 확인합니다.
- 피어 BGP에 사용된 연결된 인터페이스가 초과 가입되지 않았고 입력/출력 삭제 또는 오류가 없는지 확인합니다.
- CPU 및 메모리 사용률을 확인합니다.
문제
BGP 네이버 양식;그러나 접두사 교환 시 BGP 상태가 삭제되고 로그가 누락된 BGP hello keepalive를 생성하거나 다른 피어가 세션을 종료합니다.
MTU로 인해 BGP 네이버가 플랩되는지 확인하려면 다음 단계를 완료하십시오.
- 영향을 받는 인접 디바이스 및 두 BGP 라우터의 연결된 인터페이스를 확인하려면 아래 명령을 사용합니다.피어링 주소가 루프백 주소인 경우 루프백이 연결 가능한 연결된 인터페이스를 확인합니다.또한 두 피어링 라우터에서 BGP OutQ를 확인합니다.0이 아닌 일관된 OutQ는 경로의 MTU 문제로 인해 업데이트가 피어에 도달하지 않음을 나타내는 강력한 표시입니다.
Router#show ip bgp summ | in InQ|10.10.10.2
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.10.10.2 4 3 64 62 3 0 0 00:00:3 2
Router#show ip route 10.10.10.2
Routing entry for 10.10.10.0/24
Known via "connected", distance 0, metric 0 (connected, via interface)
Routing Descriptor Blocks:
* directly connected, via GigabitEthernet1/0
Route metric is 0, traffic share count is 1
- 양쪽의 인터페이스 MTU를 확인합니다.
Router#show ip int g1/0 | i MTU
MTU is 1500 bytes
Router#
- 두 BGP 스피커에 대해 TCP에서 동의한 최대 데이터 세그먼트를 확인합니다.
Router#show ip bgp neigh 20.20.20.2 | inc segment
Datagrams (max data segment is 1460 bytes):
Router#
위의 예에서 1460은 TCP 헤더에 20바이트가 할당되고 IP 헤더에 20바이트가 할당되므로 정확합니다.
- BGP used path-mtu가 활성화되었는지 확인합니다.
Router#show ip bgp neigh 10.10.10.2 | in tcp
Transport(tcp) path-mtu-discovery is enabled
Router#
- 최대 인터페이스 MTU 및 DF(Don't Fragment) 비트 집합을 사용하여 BGP 피어를 ping합니다.
Router#ping 10.10.10.2 size 1500 df
Type escape sequence to abort.
Sending 5, 1500-byte ICMP Echos to 10.10.10.2, timeout is 2 seconds:
Packet sent with the DF bit set
.....
Success rate is 0 percent (0/5)
- 사용할 수 있는 최대 MTU 크기를 결정하려면 ICMP 크기 값을 줄입니다.
ping 10.10.10.2 size 1300 df
솔루션
가능한 원인은 다음과 같습니다.
- 두 라우터의 인터페이스 MTU가 일치하지 않습니다.
- 두 라우터의 인터페이스 MTU가 일치하지만 BGP 세션이 형성되는 레이어 2 도메인이 일치하지 않습니다.
- 경로 MTU 검색에서 TCP BGP 세션에 대한 잘못된 최대 데이터 크기를 확인했습니다.
- 차단된 PMTUD ICMP 패킷(방화벽 또는 ACL)으로 인해 BGP PMTUD(Path Maximum Transmission Unit Discovery)가 실패할 수 있습니다.
MTU 문제를 해결할 수 있는 방법은 다음과 같습니다.
- 두 라우터의 인터페이스 MTU는 동일해야 합니다.show ip int 실행 현재 MTU 설정을 확인하기 위해 MTU 명령에서|.
- 두 라우터의 인터페이스 MTU가 올바르지만(예: 1500) DF 비트 집합의 ping 테스트가 1300을 초과하지 않을 경우 영향을 받는 BGP 세션이 형성되는 레이어 2 도메인에는 일치하지 않는 MTU 구성이 포함될 수 있습니다.각 Layer 2 인터페이스 MTU를 확인합니다.문제를 해결하려면 레이어 2 인터페이스 MTU를 수정하십시오.
- Layer 2 도메인을 확인/변경할 수 없는 경우 ip tcp mss global 명령을 1000과 같이 낮은 값으로 설정할 수 있습니다. 그러면 로컬에서 시작된 모든 TCP 최대 데이터 세그먼트 세션(BGP 포함)이 1000으로 강제 설정됩니다.이 명령에 대한 자세한 내용은 Cisco IOS IP Application Services 명령 참조의 ip tcp mss 섹션을 참조하십시오.
또한 ip tcp adjust-mss 명령을 사용하여 추가 문제를 해결할 수 있습니다.이 명령은 인터페이스 레벨에서 구성되며 모든 TCP 세션에 영향을 줍니다.이 명령에 대한 자세한 내용은 Cisco IOS IP Application Services 명령 참조의 ip tcp adjust-mss 섹션을 참조하십시오.
- (선택 사항) PMTUD(BGP Path Maximum Transmission Unit Discovery)가 올바른 최대 데이터 크기를 생성하지 않을 수 있습니다.전역적으로 또는 네이버별로 비활성화하여 이것이 원인인지 확인할 수 있습니다.BGP PMTUD가 비활성화되면 RFC 879에 정의된 대로 BGP MSS(Maximum Segment Size)가 기본적으로 536으로 설정됩니다.
PMTUD를 비활성화하는 방법에 대한 자세한 내용은 Cisco IOS BGP 컨피그레이션 가이드의 Configuring BGP Support for TCP Path MTU Discovery per Session(세션당 TCP 경로 MTU 검색 구성) 섹션을 참조하십시오.
PMTUD에 대한 자세한 내용은 PMTUD란?