このドキュメントでは、Cisco IOS® での統合 intermediate system-to-intermediate system(IS-IS)Hello パケットのパディングの動作について説明します。
IS-IS は、デフォルトで、Hello パケットを完全なインターフェイスの最大伝送ユニット(MTU)にパディングします。 これは、MTU の不一致を検出するためです。リンクの両側の MTU が一致する必要があります。パディングは、根底にある技術の実際の MTU 値を検出するためにも使用できます。たとえば、マルチ プロトコル ラベル スイッチング(MPLS)を介するレイヤ 2(L2)トランスポートのシナリオの場合、トランスポート テクノロジーの MTU は端の MTU よりもはるかに低い場合があります。たとえば、MPLS トランスポート テクノロジーでは MTU が 1,500 バイトであるのに、MTU が端では 9,000 バイトになる場合があります。
いずれかの側で MTU 値が一致する場合は、パディングを無効にすることができます。そのようにして、IS-IS Hello パケットによる帯域幅およびバッファの不必要な使用を回避することができます。Helloパディングを無効にするために使用するルータコマンドは、no hello padding [multi-point|point-to-point]です。Hello パディングを無効にするために使用するインターフェイス コマンドは、no isis hello padding です。
パディングが最初に無効になっている場合、ルータは引き続き完全な MTU で Hello パケットを送信します。これを回避するには、インターフェイス コマンドでパディングを無効にし、always キーワードを使用します。この状況では、すべての IS-IS Hello パケットがパディングされません。
IS-IS Hello パケットには、パディングのタイプ長さ値(TLV)があります。 ポイントツーポイント(P2P)IHの場合、パディングのTLVは8です。LAN IIHの場合、パディングのTLVは8です。
この項では、MTU と IS-IS での Hello パディングの無効化について説明するために、次のイメージで提供されている例を使用します。
この例では、L2のルータR1とR2を接続するために、PE1とPE2の間にVirtual Circuit(VC;仮想回線)100が設定されています。このVCはEthernet over MPLS(EoMPLS)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 サービスでは 2 つの MPLS ラベル)のみが許可され、それは 1,492 バイト(パス スルー可能なパケット サイズ)に相当します。 L2 over MPLS の転送では、結果として得られる 1,492 バイトから L2 ヘッダーのサイズを減算する必要があります。
このシナリオでは、no isis hello padding コマンドが、ルータ R1 の 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
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
次に示すように、完全な MTU サイズ(1,497 バイト)で 6 つ以上の IS-IS Hello パケットが送信されます。 ルータは、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 隣接関係はアップ状態に移行します。これは、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 パケットを受信します。これは、Hello パディングがルータ R2 でまだアクティブであるためです。
この例では、リンクのいずれかの側でインターフェイスSerial 2/0のMTUが1,500バイトに設定されている場合、IS-IS隣接関係は確立されません。これは、no isis hello paddingコマンドが有効になっている場合でも同様です。インターフェイスは、MTU がリンクのいずれかの側で正しい値に設定された後にのみ起動します。
したがって、IS-IS Hello パディングを無効にしただけでは、IS-IS 隣接関係を確立するのに十分ではありません。MTU サイズの IS-IS Hello パケットがリンクの両側のルータによって適切に送受信されるように、MTU を十分に低くする必要があります。
ルータ R1 のインターフェイス Serial2/0 で MTU を 1,500 バイトに設定すると、送信された IS-IS Hello パケットは引き続き完全な MTU サイズなので、隣接関係は発生しません。この問題を回避するために、インターフェイス Serial2/0 で no isis hello padding always インターフェイス コマンドを設定して、パディングを常に無効にできます。
!
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 が MTU はインターフェイス Serial2/0 上で 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 バイトに下げると、パケットに Do Not fragment(DF)ビットが設定されていない場合、ルータ R1 はパケットをフラグメント化できます。パケットに DF ビットが設定されている場合、ルータは、パス MTU 検出に使用される ICMP 3/4 メッセージを返信できます。これにより、パケットの送信者は、送信するパケットのサイズを小さくすることができます。ルータを通過するトラフィックだけでなく、ルータから発信され、そのリンクを通過するトラフィックに対しても、MTU を正しく設定することが重要です。後者の例としては、TCP を使用する Border Gateway Protocol(BGP)があり、パス MTU 検出を使用できます。
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 のリンク ステート PDU(LSP)を受信します。
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 が 2 番目のフラグメントなどとなります。
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> ルータ 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 を持つリンクが 1 つあり、no isis hello padding always コマンドを使用すると、トラフィックのフラッディングとブラックホール化が発生する可能性があります。フラッディングの問題を解決するために、LSP の最大サイズを小さくすることができますが、すべての IS-IS ルータで lsp-mtu ルータ 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 フラッディングは正常です。
特定の時点で、PE1 と PE2 間のエンドツーエンドの MTU が 1,400 バイトを下回る問題が MPLS サービス プロバイダー ネットワークで発生します。
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
特定の時点で、PE1 と PE2 間のエンドツーエンドの MTU が 1,400 バイトを下回る問題が MPLS サービス プロバイダー ネットワークで発生します。
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 隣接関係が発生しない問題が修正されます。しかし、フラッディング、トラフィックのブラックホール化、および場合によってはパス MTU 検出の故障の問題は、IS-IS Hello パディングが無効になっている時間よりもかなり後で発生する可能性があります。これにより、問題のトラブルシューティングが非常に難しくなり、時間がかかります。