内容

概要

前提条件

要件

使用するコンポーネント

表記法

隣接関係とは何か

隣接関係のタイプ

隣接関係のディスカバリ

不完全な隣接の理由

ARPエントリがない

不完全とマークを付けられた後削除されない

既知の問題

関連情報

概要

リンク層上でネットワーク内のネットワーク ノードが 1 ホップで相互に到達可能な場合、これらのノードは隣接関係にあると見なされます。このドキュメントでは、Cisco Express Forwarding（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 Express Forwarding（CEF）

- シスコ エクスプレス フォワーディングの設定

- Cisco Express Forwarding スイッチングの確認方法

使用するコンポーネント

このドキュメントの情報は、ソフトウェア バージョン、Cisco IOS® ソフトウェア リリース 12.3(3) に基づくものです。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

隣接関係とは何か

CEF とは、着信インターフェイスから発信インターフェイスへパケットを転送するためにルータが使用する超高速切り替えメカニズムです。CEF では、ルータ メモリに保管された次の 2 種類のデータ構造（テーブル）が使用されます。

- Forwarding Information Base（FIB；転送情報ベース） ：一般的な国際標準化機構(ISO)の使用から取得されたFIBは、転送の決定に使用される情報のデータベースを記述します。FIB はコンセプト的にはルーティング テーブルやルート キャッシュに似ていますが、実装面ではルーティング テーブルと大きく異なっています。

- 隣接関係テーブル：ネットワーク内の2つのノードがリンク層を経由して相互に到達できる場合、それらのノードは隣接関係と見なされます。たとえばパケットがルータのインターフェイスのいずれかに到達すると、ルータはデータ リンク層のフレーミングを取り除き、中のパケットをネットワーク層に渡します。ネットワーク層では、パケットの送信先アドレスが調べられます。送信先アドレスがルータのインターフェイスのアドレス、またはすべてのホストのブロードキャスト アドレスでない場合、このパケットをルーティングする必要があります。

データベースの各ルート エントリは、最低でも次の 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 とは対照的です。

1. 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.

2. 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

3. 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 コマンドを参照してください。

ARPエントリがない

CEF 送信先のプレフィックスに対して有効な隣接関係を特定できない場合、CEF は ARP を解決し、次に隣接関係を完全にするため、パケットを CPU にパントします。ごくまれに、隣接関係が不完全な状態のまま持続することがあります。たとえば ARP テーブルにすでに特定のホストがリストされている場合、このホストを処理レベルにパントしても ARP はトリガされません。

この問題のトラブルシューティングを行うために、ARP エントリが存在するかどうかを判断してください。次のコマンドを使って、特定の IP アドレスを指定します。

- show arp または show ip arp

- show adjacency

ルータが 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 アドレスを再適用でき、ダイナミック マップの再生成後ただちに、隣接関係が完全な状態になります。

関連情報

- Cisco Express Forwarding スイッチングの確認方法

- シスコ エクスプレス フォワーディングの設定

- シスコ エクスプレス フォワーディングの概要

- シスコ エクスプレス フォワーディング（CEF）テクノロジーに関するサポート ページ

- IP スイッチング テクノロジーに関するサポート ページ

- テクニカル サポートとドキュメント – Cisco Systems