목차

소개

배경 정보

패딩 TLV

패딩 TLV 예

Hello 패딩 없음

Hello 패딩 없음

IS-IS 및 인터페이스 MTU 문제

IS-IS 플러딩

MTU 변경

Hello 패딩 사용

Hello 패딩 사용 안 함

중요 참고 사항

소개

이 문서에서는 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 패킷은 패딩되지 않습니다.

참고: Cisco에서는 두 라우터가 양쪽에서 MTU 값이 일치하지 않는 링크에서 IS-IS 인접성을 형성하도록 IS-IS Hello 패딩을 비활성화하지 않는 것이 좋습니다.

패딩 TLV

IS-IS Hello 패킷은 패딩 TLV(Type Length Value)를 갖습니다. P2P(Point-to-Point) IH의 경우 패딩의 TLV는 8이고, LAN IIH의 경우 패딩의 TLV는 8입니다.

패딩 TLV 예

다음 이미지에 제공되는 예는 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 헤더의 크기를 빼야 합니다.

Hello 패딩 없음

이 시나리오에서는 라우터 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 패킷을 제대로 보내고 받을 수 있을 정도로 낮아야 합니다.

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:

IS-IS 및 인터페이스 MTU 문제

인터페이스 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 플러딩

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에 적용된 변경 사항의 영향에 대해 설명합니다.

Hello 패딩 사용

이 시나리오에서는 네트워크가 처음부터 제대로 작동합니다. 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 클라우드를 가리키지 않으며 트래픽이 이 클라우드에서 블랙홀링되지 않습니다.

Hello 패딩 사용 안 함

이 시나리오에서는 네트워크가 처음부터 제대로 작동합니다. 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 검색 오류 문제가 발생할 수 있습니다. 따라서 문제 해결이 훨씬 어려워지고 시간이 훨씬 더 걸립니다.