이 문서에서는 Cisco IOS®에서 IS-IS(Integrated Intermediate System-to-Intermediate System) Hello 패킷 패딩의 동작에 대해 설명합니다.
IS-IS는 기본적으로 Hello 패킷을 전체 인터페이스 MTU(Maximum Transmission Unit)에 매핑합니다. 이는 MTU 불일치를 탐지하기 위한 것입니다. 링크 양쪽의 MTU가 일치해야 합니다. 또한 아래에 있는 기술의 실제 MTU 값을 탐지하기 위해 패딩을 사용할 수 있습니다. 예를 들어 MPLS(Multi Protocol Label Switching) 시나리오를 통한 레이어 2(L2) 전송의 경우 전송 기술의 MTU가 에지의 MTU보다 훨씬 낮을 수 있습니다. 예를 들어 MTU는 에지에서 9,000바이트일 수 있는 반면 MPLS 전송 기술의 MTU는 1,500바이트입니다.
MTU 값이 양쪽에서 일치하면 패딩을 비활성화할 수 있습니다. 따라서 IS-IS Hello 패킷에 의한 불필요한 대역폭 및 버퍼 사용을 방지할 수 있습니다. Hello 패딩을 비활성화하는 데 사용되는 라우터 명령은 [multi-point|point-to-point]가 아닙니다. Hello 패딩을 비활성화하기 위해 사용되는 interface 명령은 isis hello 패딩이 아닙니다.
시작 시 패딩이 비활성화되면 라우터는 여전히 전체 MTU에서 Hello 패킷을 전송합니다. 이를 방지하려면 interface 명령으로 패딩을 비활성화하고 always 키워드를 사용합니다. 이 경우 모든 IS-IS Hello 패킷은 패딩되지 않습니다.
IS-IS Hello 패킷은 패딩 TLV(Type Length Value)를 갖습니다. P2P(Point-to-Point) IH의 경우 패딩의 TLV는 8이고, LAN IIH의 경우 패딩의 TLV는 8입니다.
다음 이미지에 제공되는 예는 IS-IS에서 MTU 및 Hello 패딩의 비활성화에 대해 설명하기 위해 이 섹션에서 사용됩니다.
이 예에서 PE1과 PE2는 라우터 R1과 R2를 L2에서 연결하기 위해 VC(Virtual Circuit) 100을 설정합니다. 이 VC는 EoMPLS(Ethernet over MPLS) VC입니다.
PE1#show xconnect all
Legend: XC ST=Xconnect State S1=Segment1 State S2=Segment2 State
UP=Up DN=Down AD=Admin Down IA=Inactive
SB=Standby HS=Hot Standby RV=Recovering NH=No Hardware
XC ST Segment 1 S1 Segment 2 S2
------+---------------------------------+--+---------------------------------+--
UP pri ac Se2/0(HDLC) UP mpls 10.100.1.5:100 UP
PE1#show mpls l2transport vc 100
Local intf Local circuit Dest address VC ID Status
------------- -------------------------- --------------- ---------- ----------
Se2/0 HDLC 10.100.1.5 100 UP
다음은 라우터 R1의 출력입니다.
interface Serial2/0
ip address 10.1.1.1 255.255.255.0
ip router isis 1
serial restart-delay 0
라우터 R2의 출력은 다음과 같습니다.
interface Serial2/0
ip address 10.1.1.2 255.255.255.0
ip router isis 1
serial restart-delay 0
debug isis adj-packets debug 명령의 출력은 IS-IS 인접성에 대한 정보를 제공합니다.
R1#debug isis adj-packets
IS-IS Adjacency related packets debugging is on for router process 1
R1#
13:00:59.978: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
13:01:07.758: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
13:01:16.280: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
R2#
13:01:50.100: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
13:02:00.062: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
13:02:07.899: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
이 시나리오에서는 IS-IS 인접성이 실패합니다.
R1#show isis neighbors
Tag 1:
System Id Type Interface IP Address State Holdtime Circuit Id
R1#
R1#show clns interface Serial 2/0
Serial2/0 is up, line protocol is up
Checksums enabled, MTU 1500, Encapsulation HDLC
ERPDUs enabled, min. interval 10 msec.
CLNS fast switching enabled
CLNS SSE switching disabled
DEC compatibility mode OFF for this interface
Next ESH/ISH in 18 seconds
Routing Protocol: IS-IS
Circuit Type: level-1-2
Interface number 0x1, local circuit ID 0x101
Level-1 Metric: 10, Priority: 64, Circuit ID: R1.01
Level-1 IPv6 Metric: 10
Number of active level-1 adjacencies: 0
Next IS-IS Hello in 5 seconds
if state DOWN
라우터 R1 및 R2의 직렬 인터페이스의 MTU는 기본값인 1,500바이트입니다.
IS-IS Hello 패킷의 크기가 1,499바이트이므로 IS-IS 인접성이 실패합니다. MPLS 네트워크에서는 1,500바이트 패킷만 허용하며 8바이트(MPLS 서비스의 MPLS 레이블 2개)는 1,492바이트(통과가 허용된 패킷 크기)와 같습니다. MPLS를 통한 L2 전송의 경우에도 1,492바이트에서 L2 헤더의 크기를 빼야 합니다.
이 시나리오에서는 라우터 R1의 Serial2/0 인터페이스에서 no isis hello padding 명령이 사용됩니다.
interface Serial2/0
ip address 10.1.1.1 255.255.255.0
ip router isis 1
serial restart-delay 0
no isis hello padding
R1#
13:03:46.712: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
13:03:54.717: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
13:04:03.057: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
13:04:11.538: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
13:04:21.301: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
13:04:30.636: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
13:04:39.958: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1499
그림과 같이 5개 이상의 IS-IS Hello 패킷이 전체 MTU 크기(1,497바이트)로 전송됩니다. 라우터는 IS-IS 인접성이 나타날 때까지 패딩과 함께 Hello 패킷을 계속 전송합니다. 그러나 MTU 문제를 해결하지 않으면 인접성이 나타나지 않습니다.
MTU는 라우터 R1의 인터페이스 Serial2/0에서 1,400바이트로 낮아집니다. 따라서 최대 1,400바이트 크기의 패킷은 의사 와이어를 통해 MPLS 네트워크를 통과할 수 있습니다.
다음은 라우터 R1의 출력입니다.
!
interface Serial2/0
mtu 1400
ip address 10.1.1.1 255.255.255.0
ip router isis 1
serial restart-delay 0
no isis hello padding
R1#
13:07:19.428: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1399
13:07:29.024: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1399
13:07:38.185: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1399
13:07:45.715: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1399
13:07:55.351: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1399
13:08:04.814: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1399
13:08:14.216: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1399
13:08:23.447: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1399
13:08:31.676: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1399
13:08:39.966: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:DOWN, length 1399
라우터 R1은 패딩과 함께 Hello 패킷을 계속 전송합니다. 이제 크기는 1,400바이트에서 1을 뺀 값입니다.
라우터 R2의 인터페이스 Serial 2/0에서 MTU가 낮아지면 패딩이 비활성화됩니다.
라우터 R2의 출력은 다음과 같습니다.
interface Serial2/0
mtu 1400
ip address 10.1.1.2 255.255.255.0
ip router isis 1
serial restart-delay 0
라우터 R1이 라우터 R2에서 IS-IS Hello 패킷이 도착하는 것을 보게 되면 IS-IS 인접성을 불러옵니다. 라우터 R2도 라우터 R1의 IS-IS Hello 패킷을 보기 때문에 결국 IS-IS 인접성은 UP 상태로 이동하며, 이는 3방향 인접성이 생성됨을 의미합니다. 이때 라우터 R1(Hello 패딩이 인터페이스 Serial 2/0에서 비활성화됨)은 Hello 패킷의 크기를 최소값으로 낮춥니다.
R1#
13:08:47.010: ISIS-Adj: Rec serial IIH from *HDLC* (Serial2/0), cir type L1, cir id 01,
length 1399
13:08:47.010: ISIS-Adj: newstate:1, state_changed:1, going_up:0, going_down:0
13:08:47.010: ISIS-Adj: Action = GOING UP, new type = L1
13:08:47.010: ISIS-Adj: New serial adjacency
13:08:47.010: ISIS-Adj: rcvd state INIT, old state DOWN, new state INIT, nbr usable TRUE
13:08:47.011: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:INIT, length 1399
13:08:47.055: ISIS-Adj: Rec serial IIH from *HDLC* (Serial2/0), cir type L1, cir id 01,
length 1399
13:08:47.055: ISIS-Adj: rcvd state UP, old state INIT, new state UP, nbr usable TRUE
13:08:47.056: ISIS-Adj: newstate:0, state_changed:1, going_up:1, going_down:0
13:08:47.056: ISIS-Adj: Action = GOING UP, new type = L1
13:08:47.056: ISIS-Adj: L1 adj count 1
13:08:47.056: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:UP, length 43
표시된 바와 같이 라우터 R1은 길이가 43인 IS-IS Hello 패킷을 전송하고 라우터 R2로부터 길이가 1399인 Hello 패킷을 수신합니다. 라우터 R2에서 Hello 패딩이 여전히 활성 상태이기 때문입니다.
이 예에서 링크의 어느 한쪽에 인터페이스 Serial 2/0에서 MTU가 1,500바이트로 설정된 경우 IS-IS 인접성이 나타나지 않습니다. no isis hello padding 명령이 활성화된 경우에도 마찬가지입니다. 인터페이스는 링크의 양쪽에서 MTU가 올바른 값으로 설정된 후에만 나타납니다.
따라서 IS-IS Hello 패딩만 비활성화하면 IS-IS 인접성을 불러오는 데 충분하지 않습니다. MTU는 링크의 양쪽에 있는 라우터에서 MTU 크기의 IS-IS Hello 패킷을 제대로 보내고 받을 수 있을 정도로 낮아야 합니다.
라우터 R1의 인터페이스 Serial2/0에서 MTU가 1,500바이트로 설정된 경우 전송된 IS-IS Hello 패킷이 여전히 전체 MTU 크기이므로 인접성이 나타나지 않습니다. 이 문제를 해결하려면 no isis hello padding always interface 명령을 인터페이스 Serial2/0에서 구성하여 패딩을 항상 비활성화할 수 있습니다.
!
interface Serial2/0
ip address 10.1.1.1 255.255.255.0
ip router isis 1
serial restart-delay 0
no isis hello padding always
이 명령이 구성되는 즉시 IS-IS Hello 패킷의 최소 크기가 설정됩니다. 라우터 R1과 R2 간의 IS-IS 인접성이 즉시 나타납니다.
R1#
13:25:47.284: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:INIT,
length 43, never pad
13:25:47.328: ISIS-Adj: Rec serial IIH from *HDLC* (Serial2/0), cir type L1,
cir id 01, length 1399
13:25:47.328: ISIS-Adj: rcvd state INIT, old state INIT, new state UP,
nbr usable TRUE
13:25:47.328: ISIS-Adj: newstate:0, state_changed:1, going_up:1, going_down:0
13:25:47.328: ISIS-Adj: Action = GOING UP, new type = L1
13:25:47.329: ISIS-Adj: L1 adj count 1
13:25:47.330: ISIS-Adj: Sending serial IIH on Serial2/0, 3way state:UP,
length 43, never pad
13:25:47.374: ISIS-Adj: Rec serial IIH from *HDLC* (Serial2/0), cir type L1,
cir id 01, length 1399
13:25:47.374: ISIS-Adj: rcvd state UP, old state UP, new state UP,
nbr usable TRUE
13:25:47.375: ISIS-Adj: newstate:0, state_changed:0, going_up:0, going_down:0
13:25:47.375: ISIS-Adj: Action = ACCEPT
13:25:47.375: ISIS-Adj: ACTION_ACCEPT:
인터페이스 MTU가 일치하지 않으면 IS-IS 인접성이 나타나지 않습니다. 빠른 해결을 위해 always 키워드를 사용하여 IS-IS Hello 패딩을 비활성화할 수 있습니다. 하지만, 이것은 진정한 해결책이 아닐 수도 있다.
다음은 라우터 R1의 출력입니다.
interface Serial2/0
ip address 10.1.1.1 255.255.255.0
ip router isis 1
serial restart-delay 0
no isis hello padding always
IS-IS 인접성이 설정되었습니다.
R1#show isis neighbors
Tag 1:
System Id Type Interface IP Address State Holdtime Circuit Id
R2 L1 Se2/0 10.1.1.2 UP 22 01
링크를 통과하는 트래픽을 확인하기 위해 라우터 R1에서 라우터 R3으로 보내는 ping은 다음과 같습니다.
R1#ping 10.100.1.3 source 10.100.1.1 size 1400 repeat 1
Type escape sequence to abort.
Sending 1, 1400-byte ICMP Echos to 10.100.1.3, timeout is 2 seconds:
Packet sent with a source address of 10.100.1.1
!
Success rate is 100 percent (1/1), round-trip min/avg/max = 44/44/44 ms
R1#ping 10.100.1.3 source 10.100.1.1 size 1500 repeat 1
Type escape sequence to abort.
Sending 1, 1500-byte ICMP Echos to 10.100.1.3, timeout is 2 seconds:
Packet sent with a source address of 10.100.1.1
.
Success rate is 0 percent (0/1)
그림과 같이 크기가 1,500바이트인 패킷은 통과되지 않습니다. 이는 라우터 R1이 인터페이스 Serial2/0에서 MTU가 1,500바이트라고 생각하기 때문입니다.
R1#show interfaces Serial2/0
Serial2/0 is up, line protocol is up
Hardware is M4T
Internet address is 10.1.1.1/24
MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation HDLC, crc 16, loopback not set
Keepalive set (10 sec)
Restart-Delay is 0 secs
Last input 00:00:01, output 00:00:01, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: weighted fair
Output queue: 0/1000/64/0 (size/max total/threshold/drops)
Conversations 0/1/256 (active/max active/max total)
Reserved Conversations 0/0 (allocated/max allocated)
Available Bandwidth 1158 kilobits/sec
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
590 packets input, 283131 bytes, 0 no buffer
Received 567 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
693 packets output, 313789 bytes, 0 underruns
0 output errors, 0 collisions, 2 interface resets
0 unknown protocol drops
0 output buffer failures, 0 output buffers swapped out
3 carrier transitions DCD=up DSR=up DTR=up RTS=up CTS=up
인터페이스 Serial2/0에서 MTU가 1,400바이트로 낮아지면 패킷에 DF(Do Not Fragment) 비트가 설정되지 않은 경우 라우터 R1에서 패킷을 프래그먼트화할 수 있습니다. 패킷에 DF 비트가 설정되어 있으면 라우터는 경로 MTU 검색에 사용되는 ICMP 3/4 메시지를 다시 보낼 수 있습니다. 이렇게 하면 패킷의 발신자가 전송하는 패킷의 크기를 줄일 수 있습니다. MTU의 올바른 설정은 라우터를 통과하는 트래픽뿐만 아니라 라우터에서 시작되어 해당 링크를 통과하는 트래픽에도 중요합니다. 후자의 예로는 TCP를 사용하고 경로 MTU 검색을 사용할 수 있는 BGP(Border Gateway Protocol)가 있습니다.
IS-IS 인접성 문제를 해결하기 위해 네트워크 운영자는 always 키워드로 Hello 패딩을 비활성화할 수 있습니다. 직렬 링크의 MTU는 1, 500바이트로 유지됩니다.
IS-IS 침수 문제가 여전히 있습니다. IS-IS 데이터베이스가 작은 경우 문제가 없습니다.
R1#debug isis update-packets
IS-IS Update related packet debugging is on for router process 1
라우터 R3가 접두사를 추가하여 플러딩하면 라우터 R1은 라우터 R2로부터 라우터 R3 LSP(Link State PDU)를 수신합니다.
R1#
*Nov 19 13:53:58.227: ISIS-Upd: Rec L1 LSP 0000.0000.0003.00-00, seq B, ht 1197,
*Nov 19 13:53:58.227: ISIS-Upd: from SNPA *HDLC* (Serial2/0)
*Nov 19 13:53:58.227: ISIS-Upd: LSP newer than database copy
*Nov 19 13:53:58.227: ISIS-Upd: TLV contents different, code 130
*Nov 19 13:53:58.228: ISIS-Upd: TID 0 leaf routes changed
라우터 R3에서 알리는 접두사의 수가 증가하면 라우터 R3의 LSP가 너무 커서 여러 조각으로 분할됩니다.
R3#show isis database
Tag 1:
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 0x0000000C 0x5931 1137 0/0/0
R2.00-00 0x0000000B 0xCB7D 1162 0/0/0
R3.00-00 * 0x0000000D 0xF637 1104 0/0/0
R3.00-01 * 0x00000001 0x6AD8 1104 0/0/0
R3.00-02 * 0x00000001 0xB58A 1104 0/0/0
R3.01-00 * 0x00000002 0x9BB1 387 0/0/0
Tag null:
R3.00-00은 첫 번째 프래그먼트이고 R3.00-01은 두 번째 프래그먼트입니다.
R2#
14:22:15.584: ISIS-Upd: Retransmitting L1 LSP 0000.0000.0003.00-00 on Serial2/0
14:22:15.624: ISIS-Upd: Sending L1 LSP 0000.0000.0003.00-00, seq E, ht 467 on
Serial2/0
14:22:18.352: ISIS-Snp: Rec L1 CSNP from 0000.0000.0003 (Ethernet1/0)
14:22:20.625: ISIS-Upd: Retransmitting L1 LSP 0000.0000.0003.00-00 on Serial2/0
14:22:20.657: ISIS-Upd: Sending L1 LSP 0000.0000.0003.00-00, seq E, ht 462 on
Serial2/0
라우터 R2가 인터페이스 Serial2/0을 통해 재전송하는 LSP입니다. PDU 길이는 1,490바이트이므로 이 패킷의 크기가 라우터 R1에 도달하지 못합니다.
라우터 R1과 R2 간의 IS-IS 인접성이 활성 상태이지만 라우터 R1의 라우팅 테이블 IP 접두사는 다음과 같습니다.
R1#show isis neighbors
Tag 1:
System Id Type Interface IP Address State Holdtime Circuit Id
R2 L1 Se2/0 10.1.1.2 UP 25 01
R2#show isis neighbors
Tag 1:
System Id Type Interface IP Address State Holdtime Circuit Id
R1 L1 Se2/0 10.1.1.1 UP 26 01
R3 L1 Et1/0 10.1.2.3 UP 8 R3.01
R2#show ip route summary
IP routing table name is default (0x0)
IP routing table maximum-paths is 32
Route Source Networks Subnets Replicates Overhead Memory (bytes)
connected 0 5 0 360 900
static 0 0 0 0 0
application 0 0 0 0 0
isis 1 0 252 0 18144 45360
Level 1: 252 Level 2: 0 Inter-area: 0
internal 1 10620
Total 1 257 0 18504 56880
R1#show ip route summary
IP routing table name is default (0x0)
IP routing table maximum-paths is 32
Route Source Networks Subnets Replicates Overhead Memory (bytes)
connected 0 3 0 216 540
static 0 0 0 0 0
application 0 0 0 0 0
isis 1 0 2 0 144 360
Level 1: 2 Level 2: 0 Inter-area: 0
internal 1 560
Total 1 5 0 360 1460
이는 라우터 R3의 LSP R3.00-00이 라우터 R1에 도달하지 않기 때문입니다.
R3#show isis database
Tag 1:
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 0x0000000E 0x5533 1009 0/0/0
R2.00-00 0x0000000C 0xC97E 453 0/0/0
R3.00-00 * 0x0000000F 0xF239 1045 0/0/0
R3.00-01 * 0x00000003 0x66DA 1098 0/0/0
R3.00-02 * 0x00000003 0xB18C 1060 0/0/0
R3.01-00 * 0x00000004 0x97B3 554 0/0/0
Tag null:
R1#show isis database
Tag 1:
IS-IS Level-1 Link State Database
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 * 0x0000000E 0x5533 1008 0/0/0
R2.00-00 0x0000000C 0xC97E 449 0/0/0
R3.00-01 0x00000002 0x68D9 223 0/0/0
R3.00-02 0x00000002 0xB38B 246 0/0/0
R3.01-00 0x00000004 0x97B3 545 0/0/0
라우터 R1에는 라우터 R3의 L1 LSP(R3.00-00)의 첫 번째 프래그먼트가 없습니다. 이 경우 첫 번째 프래그먼트가 가장 크고 접두사가 가장 많습니다. 따라서 라우터 R1에는 접두사가 일부 없으므로 트래픽이 블랙홀링됩니다.
이 문제를 해결하려면 lsp-mtu <128-4352> router IS-IS 명령을 통해 LSP MTU를 낮출 수 있습니다. 라우터 R2에서만 이 명령을 구성하면 라우터 R2는 어떤 방식으로든 라우터 R3에서 수신한 LSP를 변경하지 않습니다. 이는 라우터 R2가 1,490바이트의 LSP를 수신하는 경우 라우터 R2가 프래그먼트화하지 않음을 의미합니다. 라우터 R3에서 lsp-mtu 1400 명령을 구성할 경우 라우터 R3은 라우터 R2와 R1 사이의 링크를 통과할 수 있을 만큼 작은 LSP를 생성합니다.
라우터 R3에서 lsp-mtu 1400 명령을 구성한 경우 PDU 길이는 1,394바이트입니다.
결론적으로, 더 작은 MTU를 가진 링크가 하나 있고 no isis hello padding always 명령을 사용하면 트래픽 플러딩 및 블랙홀링이 발생할 수 있습니다. 플러딩 문제를 해결하려면 LSP의 최대 크기를 줄일 수 있지만 모든 IS-IS 라우터에서 lsp-mtu router IS-IS 명령을 구성해야 합니다.
이 섹션에서는 기본 MTU에 적용된 변경 사항의 영향에 대해 설명합니다.
이 시나리오에서는 네트워크가 처음부터 제대로 작동합니다. MTU는 라우터 R1 및 R2의 인터페이스 Serial2/0에서 1,400바이트로 설정됩니다. IS-IS Hello 패딩은 기본 동작입니다.
다음은 라우터 R1의 출력입니다.
interface Serial2/0
mtu 1400
ip address 10.1.1.1 255.255.255.0
ip router isis 1
serial restart-delay 0
라우터 R2의 출력은 다음과 같습니다.
interface Serial2/0
mtu 1400
ip address 10.1.1.2 255.255.255.0
ip router isis 1
serial restart-delay 0
R1#show isis neighbors
Tag 1:
System Id Type Interface IP Address State Holdtime Circuit Id
R2 L1 Se2/0 10.1.1.2 UP 23 01
R2#show isis neighbors
Tag 1:
System Id Type Interface IP Address State Holdtime Circuit Id
R1 L1 Se2/0 10.1.1.1 UP 27 01
0000.0000.0003 L1 Et1/0 10.1.2.3 UP 7 0000.0000.0003.01
직렬 간 IS-IS 인접성이 작동하며 IS-IS 플러딩도 괜찮습니다.
특정 시점에서 MPLS 통신 사업자 네트워크에 문제가 발생하여 PE1과 PE2 간의 엔드 투 엔드 MTU가 1,400바이트 아래로 떨어집니다.
Hello 패딩이 활성화되었으므로(기본 동작) IS-IS 인접성이 인터페이스 Serial2/0에서 빠르게 낮아집니다. 이는 MPLS 클라우드 전반에 문제가 있음을 나타냅니다. IS-IS 인접성이 저하되므로 라우팅이 더 이상 이 MPLS 클라우드를 가리키지 않으며 트래픽이 이 클라우드에서 블랙홀링되지 않습니다.
이 시나리오에서는 네트워크가 처음부터 제대로 작동합니다. MTU는 라우터 R1 및 R2의 인터페이스 Serial2/0에서 1,400바이트로 설정됩니다. IS-IS Hello 패딩은 비활성화됩니다.
다음은 라우터 R1의 출력입니다.
!
interface Serial2/0
mtu 1400
ip address 10.1.1.1 255.255.255.0
ip router isis 1
serial restart-delay 0
no isis hello padding
라우터 R2의 출력은 다음과 같습니다.
!
interface Serial2/0
mtu 1400
ip address 10.1.1.2 255.255.255.0
ip router isis 1
serial restart-delay 0
no isis hello padding
직렬 간 IS-IS 인접성이 작동하며 IS-IS 플러딩도 괜찮습니다.
라우터 R1의 데이터베이스입니다.
R1#show isis database
Tag 1:
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 * 0x0000001D 0x3742 1148 0/0/0
R2.00-00 0x0000001D 0xA78F 1161 0/0/0
R3.00-00 0x00000016 0xAFE4 454 0/0/0
R3.00-01 0x0000000B 0x0A0B 393 0/0/0
R3.00-02 0x0000000B 0xC2A5 451 0/0/0
R3.01-00 0x00000009 0x8DB8 435 0/0/0
특정 시점에서 MPLS 통신 사업자 네트워크에 문제가 발생하여 PE1과 PE2 간의 엔드 투 엔드 MTU가 1,400바이트 아래로 떨어집니다.
IS-IS는 즉시 영향을 받지 않지만 IP 트래픽은 영향을 받을 수 있습니다. 크기가 1,400바이트인 패킷을 포함하는 트래픽은 MPLS 네트워크에서 삭제됩니다.
네트워크가 안정적이면 많은 시간 동안 플러딩이 발생하지 않습니다. 이는 LSP 새로 고침 시간만큼 유지됩니다. LSP를 새로 고쳐야 하는 시점이 되면 MPLS 네트워크 전체에서 플러딩이 중단됩니다.
R2#
15:27:07.848: ISIS-Upd: Retransmitting L1 LSP 0000.0000.0003.00-01 on Serial2/0
15:27:07.880: ISIS-Upd: Sending L1 LSP 0000.0000.0003.00-01, seq C, ht 1147 on
Serial2/0
15:27:12.883: ISIS-Upd: Retransmitting L1 LSP 0000.0000.0003.00-01 on Serial2/0
15:27:12.924: ISIS-Upd: Sending L1 LSP 0000.0000.0003.00-01, seq C, ht 1142 on
Serial2/0
다음은 MPLS 네트워크에서 문제가 발생한 후 라우터 R1의 IS-IS 데이터베이스입니다.
R1#show isis database
Tag 1:
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 * 0x0000001D 0x3742 725 0/0/0
R2.00-00 0x0000001D 0xA78F 737 0/0/0
R3.00-00 0x00000016 0xAFE4 30 0/0/0
R3.00-01 0x0000000B 0xCE1F 0 (30) 0/0/0
R3.00-02 0x0000000C 0xC0A6 895 0/0/0
R3.01-00 0x0000000A 0x8BB9 906 0/0/0
라우터 R3의 일부 LSP 프래그먼트에 대한 대기 시간이 만료된 이후의 데이터베이스입니다.
R1#show isis database
Tag 1:
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 * 0x0000001D 0x3742 605 0/0/0
R2.00-00 0x0000001D 0xA78F 618 0/0/0
R3.00-02 0x0000000C 0xC0A6 775 0/0/0
R3.01-00 0x0000000A 0x8BB9 787 0/0/0
프래그먼트 R3.00-00 및 R3.00-01은 더 이상 라우터 R1에 나타나지 않으며 라우터 R3의 경로는 더 이상 라우터 R1에 나타나지 않습니다.
R1#show ip route summary
IP routing table name is default (0x0)
IP routing table maximum-paths is 32
Route Source Networks Subnets Replicates Overhead Memory (bytes)
connected 0 3 0 216 540
static 0 0 0 0 0
application 0 0 0 0 0
isis 1 0 2 0 144 360
Level 1: 2 Level 2: 0 Inter-area: 0
internal 1 560
Total 1 5 0 360 1460
표시된 대로 라우터 R3 LSP 프래그먼트 중 일부가 시간 초과되어 표시되지 않습니다. 이로 인해 경로 중 일부가 라우팅 테이블에 나타나지 않습니다.
Hello 패딩을 비활성화하면 네트워크에서 향후 문제를 숨길 수 있습니다. 기본 MTU가 변경되면 문제를 정확히 파악하기 위해 여러 라우터에서 라우팅 테이블 및 IS-IS 데이터베이스를 검토해야 하므로 문제를 해결하기가 훨씬 어려운 라우팅 문제가 발생할 수 있습니다. Hello 패딩이 활성화되면 IS-IS 인접성이 저하되므로 문제의 위치를 훨씬 쉽게 확인할 수 있습니다.
최상의 해결 방법은 링크에서 MTU를 올바른 값으로 설정하고 링크의 양쪽에서 동일하게 유지하는 것입니다. 이렇게 하면 IS-IS 플러딩이 제대로 작동하며 라우터가 프래그먼트화를 올바르게 수행할 수 있거나 경로 MTU 검색을 지원할 때 올바르게 작동할 수 있습니다.
IS-IS 플러딩 문제는 LSP가 커졌을 때(네트워크가 성장할 때) 분명해질 수 있습니다. IS-IS Hello 패딩이 비활성화되면 IS-IS 인접성이 나타나지 않는 문제를 해결합니다. 그러나 IS-IS Hello 패딩이 비활성화되는 시간보다 훨씬 늦게 플러딩, 블랙홀 트래픽, 경로 MTU 검색 오류 문제가 발생할 수 있습니다. 따라서 문제 해결이 훨씬 어려워지고 시간이 훨씬 더 걸립니다.