ネットワーク内のネットワーク ノードが、リンク レイヤ上の 1 ホップで相互に到達できる場合、これらは隣接ノードと考えられます。 このドキュメントでは、シスコ エクスプレス フォワーディング(CEF)がインターフェイス上でイネーブルになっている場合、show ip cef adjacency コマンドの出力に示されるような、不完全な隣接関係のトラブルシューティング方法に関するヒントを示します。
Router#show ip cef adjacency serial 4/0/1 10.10.78.69 detail IP Distributed CEF with switching (Table Version 2707655) 130703 routes, 0 reresolve, 0 unresolved (0 old, 0 new), peak 39517 130703 leaves, 9081 nodes, 26227536 bytes, 2685255 inserts, 2554552 invalidations 949 load sharing elements, 318864 bytes, 71787 references universal per-destination load sharing algorithm, id 9E3B1A95 2 CEF resets, 23810 revisions of existing leaves Resolution Timer: Exponential (currently 1s, peak 16s) 22322 in-place/0 aborted modifications refcounts: 2175265 leaf, 1972988 node Table epoch: 0 (17 entries at this epoch) Adjacency Table has 112 adjacencies 4 IPv4 incomplete adjacencies
次の項目に関する知識があることが推奨されます。
このドキュメントの情報は、ソフトウェア バージョン、Cisco IOS® ソフトウェア リリース 12.3(3) に基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
CEF とは、着信インターフェイスから発信インターフェイスへパケットを転送するためにルータが使用する超高速切り替えメカニズムです。 CEF では、ルータ メモリに保管された次の 2 種類のデータ構造(テーブル)が使用されます。
転送情報ベース(FIB) — 共通する国際標準化機構(ISO)の使用から取得された FIB は、転送を決定するために使用される情報データベースです。 FIB はコンセプト的にはルーティング テーブルやルート キャッシュに似ていますが、実装面ではルーティング テーブルと大きく異なっています。
隣接関係テーブル — ネットワーク内の 2 つのノードが、リンク層をはさんで 1 ホップで相互に到達できれば、隣接しているとみなされます。 たとえばパケットがルータのインターフェイスのいずれかに到達すると、ルータはデータ リンク層のフレーミングを取り除き、中のパケットをネットワーク層に渡します。 ネットワーク層では、パケットの送信先アドレスが調べられます。 送信先アドレスがルータのインターフェイスのアドレス、またはすべてのホストのブロードキャスト アドレスでない場合、このパケットをルーティングする必要があります。
データベースの各ルート エントリは、最低でも次の 2 つの項目を含んでいる必要があります。
着信先アドレス - ルータがアクセスできるネットワークのアドレスです。 ルータでは、同じアドレスに複数のルートが存在している場合があります。
送信先へのポインタ - このポインタは、送信先のネットワークがルータに直接接続されていることを示すか、送信先に対し、直接接続されているネットワーク上にある別のルータのアドレスを示します。 そのルータはネクスト ホップ ルータであり、着信先に 1 ホップ近づきます。 隣接関係とは、着信先へのポインタのことです。
この例では、ネクスト ホップとして 172.16.81.1 の IP アドレスを使用して、172.16.81.98 の IP アドレスとすべての宛先を隣接ルータ R2 のイーサネット インターフェイスに指す簡単なデフォルト スタティック ルートで設定されるルータ(たとえば、R1)のイーサネット インターフェイスを使用します。 一般に、CEF スイッチングされるパケットのために、着信インターフェイスで CEF をイネーブルにする必要があります。 CEF では入力で転送決定がされるので、入力インターフェイスで no ip route-cache cef コマンドを使用して、CEF をディセーブルにします。
注: 高速スイッチングでは、Cisco IOS はパケットのスイッチングの後にファースト スイッチングのキャッシュ エントリを作成します。 たとえば、プロセススイッチングされるインターフェイスに着信し、ファーストスイッチングされるインターフェイスから送出されるパケットは、ファーストスイッチングされます。 出力インターフェイスで no ip route-cache コマンドを実行して、ファーストスイッチングをディセーブルにします。 これは、CEF とは対照的です。
show ip route コマンドを使用して、IP ルーティング テーブルの内容を表示します。
R1#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is 172.16.81.1 to network 0.0.0.0 172.16.0.0/24 is subnetted, 1 subnets C 172.16.81.0 is directly connected, Ethernet0/0 S* 0.0.0.0/0 [1/0] via 172.16.81.1 !--- A simple default static route points all destinations to !--- a next-hop address of 172.16.81.1.
show ip arp コマンドまたは show arp コマンドを使用して、Address Resolution Protocol(ARP)テーブルを表示します。
注: ARP テーブルの [Hardware Addr] フィールドに、ローカル インターフェイスおよびネクストホップ インターフェイスのエントリが表示されます。
R1#show ip arp Protocol Address Age (min) Hardware Addr Type Interface Internet 172.16.81.98 - 0030.71d3.1000 ARPA Ethernet0/0 Internet 172.16.81.1 0 0060.471e.91d8 ARPA Ethernet0/0
show adjacency ethernet 0/0 detail コマンドと show adjacency ethernet 0/0 internal コマンドを使用して、隣接関係テーブル エントリの内容を表示します。
R1#show adjacency ethernet 0/0 detail Protocol Interface Address IP Ethernet0/0 172.16.81.1(7) 0 packets, 0 bytes 0060471E91D8003071D310000800 ARP 03:57:08 Epoch: 1 R1#show adjacency ethernet 0/0 internal Protocol Interface Address IP Ethernet0/0 172.16.81.1(7) 0 packets, 0 bytes 0060471E91D8003071D310000800 ARP 03:57:00 Epoch: 1 Fast adjacency enabled IP redirect enabled IP mtu 1500 (0x48000082) Fixup disabled Adjacency pointer 0x62515AC0, refCount 7 Connection Id 0x0 Bucket 236
この出力は、CEF では隣接関係は、特定のインターフェイスの IP アドレスのレイヤ 2 情報を保持する制御構造を指すことを示しています。 これには、送信インターフェイスのカプセル化プロトコルによって異なるリライト文字列が含まれます。 隣接関係は、ARP エントリの CEF に相当します。
次の表は、show adjacency [interface-type interface-number] internal コマンドの主なフィールドを示します。
フィールド | 説明 |
---|---|
172.16.81.1(7) |
ネクスト ホップ インターフェイスの IP アドレス。 カッコ内の値は、「refCount」、つまり、この隣接関係が FIB エントリによってポイントされた回数を指します。 同じ値が、このエントリの後半にも表示されます。 |
0 packets, 0 bytes |
ip cef accounting コマンドを使うと、パケット カウンタおよびバイト カウンタがイネーブルになります。 |
0060471E91D8003071D310000800 |
最初の 12 文字は、着信先ネクスト ホップ インターフェイスの MAC アドレスです。 次の 12 文字は、パケットの発信元インターフェイスの MAC アドレスを表しています (つまり、ローカル ルータの発信インターフェイス)。 最後の 4 文字は、IP のよく知られているイーサタイプ値 0x0800(Advanced Research Projects Agency(ARPA)カプセル化を使用)を表します。 |
003071D310000800 |
パケットの発信元インターフェイスの IP の MAC アドレスおよびよく知られているイーサタイプ値 0x0800(ARPA カプセル化を使用)を表します (つまり、ローカル ルータの発信インターフェイス)。 |
ARP 03:57:00 |
ARP は、エントリの検出方法を示します。 タイプスタンプは、エントリがタイムアウトになるまでの期間を示します。 |
Epoch: 1 |
CEF の隣接テーブルのエポック情報を表します。 隣接関係テーブルおよびすべての FIB テーブルのエポック情報を表示するには、show ip cef epoch コマンドを使用します。 |
Fast adjacency enabled |
FIB エントリは、複数のアクティブ パスにまたがってロードシェアリングが実行されていない場合、ネクスト ホップ インターフェイスの隣接関係をキャッシュします。 隣接関係が短時間で検索できれば、パケットの切り替えも迅速になります。 |
Adjacency pointer 0x62515AC0 |
|
refCount 7 |
ルータのメモリに現在格納されている隣接関係への参照数。 CEF テーブルに対応するエントリが 1 つずつあり、さらにさまざまな理由により、その他のエントリがいくつかあります(show adjacency コマンドを実行するコード用エントリなど)。 |
Connection Id 0x0 |
|
Bucket 236 |
隣接タイプ | 隣接関係の処理 |
ヌル隣接関係 | Null0 インターフェイスに送信されたパケットはドロップされます。 これは、アクセス フィルタリングの効果的な形式として使用できます。 |
グリーニング隣接関係 | ルータが複数のホストに直接接続されている場合、ルータ上の FIB テーブルは、個々のホストのプレフィクスではなく、サブネットに対応するプレフィックスを維持します。 サブネットのプレフィックスは、グリーニング隣接関係をポイントします。 特定のホストにパケットを転送する必要がある場合、隣接データベースから特定のプレフィックスが集められます。 |
パント隣接関係 | 特別な処理を必要とする機能や CEF スイッチングのパスとともにまだサポートされていない機能は、処理のために次のスイッチング レイヤに転送されます。 サポートされていない機能は、次の上位のスイッチング レベルに転送されます。 |
廃棄隣接関係 | パケットが廃棄されます。 |
ドロップ隣接関係 | パケットは廃棄されますが、プレフィックスがチェックされます。 |
キャッシュ隣接関係 | キャッシュ隣接関係は、隣接関係パケット用に受信される確認応答のアップデートです。 |
隣接関係は、ARP などのメカニズムによって検出された場合や、隣接関係を形成する BGP や OSPF などのルーティング プロトコルを使った場合、間接的な手動設定、またはダイナミックにテーブルに追加されます。 FIB によって隣接関係が作成されたにもかかわらずダイナミックに検出されていない場合、レイヤ 2 アドレッシング情報は通知されていないため、隣接関係は不完全と見なされます。 レイヤ 2 情報が通知されると、パケットはルート プロセッサに転送され、ARP によって隣接関係が決定されます。
ATM およびフレームリレー インターフェイスは、ポイントツーポイントまたはマルチポイントとして設定できます。 隣接関係のタイプ数は、この設定によって異なります。
ポイントツーポイント インターフェイス - インターフェイスに対して、単一の隣接関係を使用します。
マルチポイント インターフェイス - 各ホスト IP アドレスに対して、一意の隣接関係またはレイヤ 2 リライト構造を使用します。 隣接関係を完全なものにするための情報は、IP ARP、スタティック ATM、またはフレームリレー マップ ステートメント、および ATM とフレームリレーの inverse ARP から取得します。
Router#show adjacency serial 0 detail Protocol Interface Address IP Serial0 140.108.1.1(25) 0 packets, 0 bytes 18410800 FR-MAP never Epoch: 1 IP Serial0 140.108.1.2(5) 0 packets, 0 bytes 18510800 FR-MAP never Epoch: 1
ATM インターフェイスが 1 つのインターフェイスで複数の Permanent Virtual Circuit(PVC; 相手先固定回線)をサポートしている場合、「incomplete」エラーが最長 1 分表示されることがありますが、それ以上表示されてはなりません。
注: 通常の隣接関係に加え、CEF は特別な処理を必要とする 5 種類の隣接関係もサポートしています。 これらのタイプについては、この文書の対象外であるため、『シスコ エクスプレス フォワーディングの概要』の「特別な処理を必要とする隣接関係」のセクションで説明します。
不完全な隣接関係の原因については、これまでに 2 つの原因が判明しています。
ルータがネクスト ホップ インターフェイスに対して ARP を正常に使用できない。
clear ip arp コマンドまたは clear adjacency コマンドコマンドの後、ルータが隣接関係を不完全としてマーキングする。 その後、エントリのクリアが失敗する。
MPLS の環境では、ラベル スイッチング用に IP CEF をイネーブルにする必要がある。 インターフェイス レベル コマンド ip route-cache cef
不完全な隣接関係の症状には、ping テスト中のランダムなパケットのドロップも含まれています。 出力のドロップは、CEF が着信するパケットを CPU にパントする速度を抑え過ぎると発生します。 debug ip cef コマンドを使うと、不完全な隣接関係が原因で発生した CEF ドロップが表示されます。
Router# *Oct 11 17:08:03.275: CEF-Drop: Stalled adjacency for 192.168.10.2 on Serial0/1/3 for destination 192.168.11.1 *Oct 11 17:08:03.275: CEF-Drop: Packet for 192.168.11.1 -- encapsulation *Oct 11 17:08:05.307: CEF-Drop: Stalled adjacency for 192.168.10.2 on Serial0/1/3 for destination 192.168.11.1 *Oct 11 17:08:05.307: CEF-Drop: Packet for 192.168.11.1 -- encapsulation
また、show cef drop コマンドを複数回実行すると、「Encap_fail」カウンタの増分値を確認できます。 詳細については、show cef コマンドを参照してください。
CEF 送信先のプレフィックスに対して有効な隣接関係を特定できない場合、CEF は ARP を解決し、次に隣接関係を完全にするため、パケットを CPU にパントします。 ごくまれに、隣接関係が不完全な状態のまま持続することがあります。 たとえば ARP テーブルにすでに特定のホストがリストされている場合、このホストを処理レベルにパントしても ARP はトリガされません。
この問題のトラブルシューティングを行うために、ARP エントリが存在するかどうかを判断してください。 次のコマンドを使って、特定の IP アドレスを指定します。
ルータが ARP 要求を送信することを確認するには、debug arp コマンドを使用します。
Router#ping 10.12.241.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.12.241.4, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) Router# .Aug 21 18:59:07.175 PDT: IP ARP: creating incomplete entry for IP address:10.12.241.4 interface FastEthernet0/1 .Aug 21 18:59:07.177 PDT: IP ARP: sent req src 10.12.241.252 0006.529c.9801, dst 10.12.241.4 0000.0000.0000 FastEthernet0/1 .Aug 21 18:59:07.180 PDT: IP ARP throttled out the ARP Request for 10.12.241.4 .Aug 21 18:59:09.182 PDT: IP ARP: sent req src 10.12.241.252 0006.529c.9801, dst 10.12.241.4 0000.0000.0000 FastEthernet0/1 .Aug 21 18:59:09.183 PDT: IP ARP throttled out the ARP Request for 10.12.241.4
ping 処理によって最初のパケットを送信しようとしたときに ARP エントリが認識されなかった場合、ping 処理によって ARP 要求が開始されます。 ping 処理によってパケットの送信が継続され、指定された待機期間が経過すると、パケットがドロップされます。 ARP 応答が受信され、バックグラウンド処理を使って ARP エントリが完了すると、ping 成功率が 100 % になります。
隣接関係情報を変更しなければならない場合、隣接関係のエージング ロジックによってエントリが次のように 2 段階で削除されます。
最初にエントリの状態が、「完全」から「不完全」に変更されます。
Router#show adjacency Protocol Interface Address IP Serial0 10.10.10.2(2) (incomplete) IP Serial0 10.10.10.3(7) IP Ethernet0 172.16.81.1(7)
続いて次の 1 分間のインターバルで、隣接関係 walker プロセスが「開始」し、削除を完了します。
Router#show adjacency Protocol Interface Address IP Serial0 10.10.10.3(7) IP Ethernet0 172.16.81.1(7)
分散 CEF モードでは、RP のプロセスによって、削除の完了がラインカードに通知されます。 このシーケンスは、過渡的で不完全な隣接関係が存在するために、ウィンドウが 1 つ、最長 60 秒間存在することを示します。
フレームリレー インターフェイスでスタティック マップ ステートメントを設定すると、CEF は CEF テーブルにホスト プレフィックス エントリを追加するように求められます。 CEF では元々、エントリ作成前に、PVC が「アクティブ」状態かどうかが考慮されていませんでした。 この問題は、Cisco Bug ID CSCdr71258(登録 ユーザのみ)で文書化されています。
また、マルチプロトコル ラベル スイッチング(MPLS)(バーチャル プライベート ネットワーク(VPN)のルート転送(VRF)インスタンスに接続してインターフェイスを削除した後、CEF は隣接関係を不完全に設定します。 ただし、フレーム リレーのダイナミック マップ エントリはクリアされません。 IP アドレスを再適用すると、引き続きダイナミック マッピングが存在します。 これにより、隣接関係が完全になりません。 IP アドレスを削除する場合(たとえば、VRF でこの問題を回避する場合)、clear frame-relay-inarp コマンドを実行します。 その後、IP アドレスを再適用でき、ダイナミック マップの再生成後ただちに、隣接関係が完全な状態になります。