이 문서에서는 ip ospf mtu-ignore 명령을 사용하지 않는 것이 가장 좋은 이유를 설명합니다.
이 기사는 MTU(Maximum Transmission Unit)와 관련된 한 가지 이유, OSPF(Open Shortest Path First) 인접성이 FULL 상태에 도달하지 않는 이유에 대해 설명합니다.
인터페이스 MTU가 높은 값(예: 9000)인 경우, 이 인터페이스를 통해 전달할 수 있는 패킷 크기의 실제 값은 1500입니다.
OSPF가 실행되는 링크의 양쪽에서 MTU가 일치하지 않으면 MTU 값이 DBD(데이터베이스 설명) 패킷에 전달되고 다른 쪽에서 확인되므로 OSPF 인접성이 형성되지 않습니다.
RFC 2328에도 지정된 DBD 패킷은 OSPF 링크 상태 데이터베이스의 내용을 설명합니다.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version # | 2 | Packet length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Area ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | AuType |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Authentication |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Authentication |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface MTU | Options |0|0|0|0|0|I|M|MS
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DD sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+- -+
| |
+- An LSA Header -+
| |
+- -+
| |
+- -+
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
RFC 2328의 부록 A.3.3에서는 인터페이스 MTU를 다음과 같이 설명합니다.프래그먼트화 없이 연결된 인터페이스에서 전송할 수 있는 가장 큰 IP 데이터그램의 크기(바이트)입니다.
링크에 연결된 라우터는 OSPF 인접성이 초기화될 때 DBD 패킷에서 인터페이스 MTU 값을 교환합니다.
RFC 2328의 섹션 10.6에 따르면 다음과 같습니다.Database Description 패킷의 Interface MTU 필드가 프래그먼트화 없이 수신 인터페이스에서 라우터가 수용할 수 있는 크기보다 큰 IP 데이터그램 크기를 나타내는 경우 Database Description 패킷이 거부됩니다.
debug ip ospf adj 명령을 사용하면 이러한 DBD 패킷의 도착을 확인할 수 있습니다.
이 예에서는 두 OSPF 네이버 간에 MTU 값이 일치하지 않습니다.이 라우터에는 MTU 1600이 있습니다.
OSPF: Rcv DBD from 10.100.1.2 on GigabitEthernet0/1 seq 0x2124 opt 0x52 flag 0x2
len 1452 mtu 2000 state EXSTART
OSPF: Nbr 10.100.1.2 has larger interface MTU
다른 OSPF 라우터에는 MTU 2000 인터페이스가 있습니다.
OSPF: Rcv DBD from 10.100.100.1 on GigabitEthernet0/1 seq 0x89E opt 0x52 flag 0x7
len 32 mtu 1600 state EXCHANGE
OSPF: Nbr 10.100.100.1 has smaller interface MTU
DBD 패킷은 OSPF 인접성이 결국 해제될 때까지 지속적으로 재전송됩니다.
OSPF: Send DBD to 10.100.1.2 on GigabitEthernet0/1 seq 0x9E6 opt 0x52 flag 0x7
len 32
OSPF: Retransmitting DBD to 10.100.1.2 on GigabitEthernet0/1 [10]
OSPF: Send DBD to 10.100.1.2 on GigabitEthernet0/1 seq 0x9E6 opt 0x52 flag 0x7
len 32
OSPF: Retransmitting DBD to 10.100.1.2 on GigabitEthernet0/1 [11]
%OSPF-5-ADJCHG: Process 1, Nbr 10.100.1.2 on GigabitEthernet0/1 from EXSTART to
DOWN, Neighbor Down: Too many retransmissions
interface 명령 ip ospf mtu-ignore는 OSPF DBD 패킷에서 MTU 값의 이 검사를 비활성화합니다.따라서 이 명령을 사용하면 두 OSPF 라우터 간에 인터페이스 MTU가 일치하지 않더라도 OSPF 인접성이 FULL 상태에 도달할 수 있습니다.
이 명령은 Cisco 버그 ID CSCdr20891과 함께 도입되었습니다.
이 명령은 Cisco 버그 ID CSCsk86476 이후 OSPF 패킷의 실제 패킷 크기에 영향을 줍니다.
이 명령은 전송된 IP 패킷의 실제 패킷 크기에 영향을 주지 않으며 라우터를 통과하는 트래픽의 Path MTU Discovery 동작에는 영향을 주지 않습니다.이 명령을 사용하면 OSPF 인접성을 활성화하는 데 도움이 될 수 있지만, 라우터를 통한 트랜짓 트래픽은 여전히 대규모 IP 패킷에 영향을 미칠 수 있습니다.
Cisco 버그 ID CSCse01519가 있기 전에 OSPF DBD 패킷의 크기는 1500바이트로 제한되었습니다.이를 통해 OSPF는 OSPF mtu-ignore 기능이 사용되었을 때 MTU 불일치 상황에서도 정상적으로 작동할 수 있었습니다.
Cisco 버그 ID CSCse01519 및 명령 ip ospf mtu-ignore를 사용하지 않으면 실제 OSPF 패킷이 1500바이트보다 크면 OSPF 인접성이 실패할 수 있습니다.
Cisco 버그 ID CSCse01519 및 ip ospf mtu-ignore 명령과 Cisco 버그 ID CSCsk86476 이전에 Cisco 버그 ID CSCsk8647666이 삭제될 수 있습니다.따라서 OSPF 인접성이 FULL 상태에 도달하지 못했습니다.
Cisco 버그 ID CSCsk86476 후 ip ospf mtu-ignore 명령이 사용되면 라우터가 OSPF 패킷에 대해 하나의 안전한 최대 MTU 값을 사용하도록 다시 폴백됩니다.이 값은 1300바이트입니다.이 값은 너무 작으므로 OSPF 플러딩에 영향을 줄 수 있습니다.더 큰 OSPF 패킷은 OSPF 플러딩에 더 효율적입니다.
모든 경우에 적합한 솔루션은 인터페이스에서 올바른 MTU를 구성하는 것입니다.이 MTU 값은 링크 양쪽의 라우터에서 일치해야 합니다.