Cisco Express Forwarding、CEFは、ciscoルータおよびスイッチで使用される高度なレイヤ3IPスイッチング技術です。 これは、ルータが迅速かつ効率的にルート検索を行うことを可能にする機能です。 CEFは、IPルーティングテーブルに基づいて、簡単に検索される特別なツリー構造を作成することにより、ルーティングテーブルルックアップを最適化します。 CEFは、転送情報ベース(FIB)と呼ばれる転送情報と、隣接テーブルと呼ばれるキャッシュされた隣接情報を使用して、大規模で動的なトラフィックパターンを CEFは、集中的なwebベースのアプリケーションや対話型セッションを使用してインターネットやネットワークに適用する場合、パフォーマンスの向上に重 CEFがシスコによって実装される前は、ルータはパケット-スイッチング-プロセス-スイッチングと高速スイッチングの2つの方法に基づいてルーティング決定を行っていた。
ルーターは、送信元アドレスと宛先アドレスに基づいてパケットの転送を決定します。 この意思決定プロセスは、”スイッチング”と呼ばれています。”イーサネットスイッチと混同しないようにしましょう。 上記の切り替えは、ルータが次の決定を行うときに行うことです:
- パケットに記載されている宛先が到達可能かどうかを確認した後にパケットを転送するかどうか
- 宛先が到達可能な場合、ネクストホップは何ですか? ルータがその宛先に到達するために使用するインターフェイスは何ですか?
- パケット上のイーサネットMACを変更するかどうか?
ルーターアーキテクチャは、ルーター機能を三つの動作面に分割します。
管理面:この面は、ネットワークへの接続を通じてデバイスを管理するために使用されます。 管理プレーンで処理されるプロトコルの例には、SIMPLE Network Management Protocol(SNMP)、Telnet、File Transfer Protocol(FTP)、Secure FTP、およびSecure Shell(SSH)があります。 これらの管理プロトコルは、監視およびコマンドラインインターフェイス(CLI)アクセスに使用されます。
コントロールプレーン: 制御平面はルータの頭脳です。 その主な機能は、セッションを維持し、他のルータやネットワークデバイスとプロトコル情報を交換することです。 以下は、制御平面の機能の一部です:
- トラフィックがどこに行くかを決定します(ルーティングプロトコルなど)。
- システム構成、管理情報
- 交換トポロジカル情報
- ポリシング(管理面保護)
データプレーン:その主な機能は、ルータ(ASIC)を介してデータを転送することです。 たとえば、ユーザーのPCから別のネットワーク上のwebサーバーに移動するエンドユーザートラフィックは、データプレーンを通過します。 (これは、データパケットがルーティング決定に基づいて宛先に転送される前に、ルーティング決定のためにハードウェア自体によって処理されることを意 以下は、データプレーンの機能の一部です:
- データパケットを転送するため、転送プレーンと呼ばれることが多い
- 制御プレーンを利用して宛先に転送する
- 制御プレーンを利用してパケットドロップ決定を行う
データプレーンと制御プレーンは、パケットがルータを流れる速度を担当します。 これらの2つの動作面を検討し、Ciscoルータが取ることができる3つの異なるアプローチを検討します。 これは、入力インターフェイスに到着し、適切な出力インターフェイスを送信されるすべてのパケットに適用されます。
シスコルータは、次の3つの主なパケットスイッチングモードをサポートしています:
- 1. プロセス切り替え
- 2. 高速スイッチング
- 3. Cisco Express Forwarding(CEF))
- 1. PROCESS-SWITCHING-データパケットがインターフェイスに入るとき、ルートプロセッサ(CPU)はあらゆるパケット転送の決定に含まれなければなりません
-
- これは、L2アドレスの交替やCRCなどのような他のエラーチェックのためのすべてのパケットで動作します。
- ARPテーブルを介して次ホップL2アドレスを取得します。
- すべてのパケットのルートテーブル検索。
注:インターフェイスの高速切り替えを無効にすることで、プロセス切り替え用にインターフェイスを設定できます。 高速スイッチングを無効にするために使用されるコマンドは次のとおりです。RTR-2(config)#no ip route-cache
- 2. 高速スイッチング-データフローがインターフェイスに入ると、宛先がそのインターフェイスの”ルートキャッシュ”に格納されていない場合、宛先のIPルートテーブル
- これは”process-switching”に似ていますが、送信元と宛先のベーストラフィック用のルートキャッシュ
- を維持しますroute-cache
- 以前の技術
- よりも高速で、CPU集約的では
注:高速スイッチングは、コマンドRTR-2(config)#ip route-cacheを使用してインターフェイス設定モードで設定できます
- 3. CISCO EXPRESS FORWARDING(CEF))
- これは高速スイッチングに似ていますが、CEFは転送にハードウェアベースのASICを使用します。
- 転送には、CEFはFIBと隣接テーブルの両方を使用します。
- それは非常に少ないCPU集約的で、より速い速度/ワイヤスピードを提供します
- それはすぐにFIB/隣接です更新します
CEFプロセスフロー:
- パケットがルータに入ると、ルータはレイヤ2情報を取り除きます。
- ルータはCEFテーブル(FIB)で宛先IPアドレスを検索し、転送を決定します。
- この転送決定の結果は、隣接テーブル内の1つの隣接エントリを指しています。
- 隣接テーブルから取得された情報はレイヤ2書き換え文字列であり、ルータはフレームに新しいレイヤ2ヘッダーを配置することができます。
- パケットは次ホップに向かって発信インターフェイスに切り替えられます。
注:-多くのプラットフォームでは、CEFはデフォルトで有効になっています。 CEFがグローバルに有効になっているが、特定のインターフェイスで有効になっていない場合は、インターフェイス構成コマンド
RTR-2(config-if)#interface gigabitEthernet0/2
RTR-2(config-if)#ip route-cache cef
CEF COMPONENTS
cisco express forwardingは、Forwarding Information base(FIB;転送情報ベース)と隣接テーブルの2つの主要コンポーネントで構成されています。 これらは、ルーティングテーブルと同時に自動的に更新されます。
Forwarding Information Base(FIB)
FIBには、受信したIPパケットの転送決定を行うために、ルーティングテーブルから取得された必須情報を保持するcefテーブル/FIBテーブルなどの宛先到達可能性情報が含まれています。 この情報には、IPプレフィックス、再帰的に評価された次ホップ、および送信インターフェイスが含まれます。
隣接テーブル
MACまたはレイヤ2の書き換えを担当します。 この隣接関係は、ATM、フレームリレー map文、Ethernet-ARPから学習された動的情報、ATM上のinverse ARP、またはフレームリレーから構築できます。 レイヤ2リライト文字列には、転送されたフレームで使用される新しいレイヤ2ヘッダーが含まれます。 イーサネットの場合、これは新しい宛先MACアドレスと送信元MACアドレス、およびEthertypeです。 PPPの場合、レイヤ2ヘッダーは
隣接テーブルには、さまざまな種類の隣接関係が含まれています:
- Host route adjacency:特定のホストが1つまたは2つのホップ内にあることを指定するために、host route adjacencyエントリが使用されます。
- Null adjacency:これはNull0インターフェイス宛てのパケットに使用されます。 これは、アクセスフィルタの一形態として使用することができます。
- Glean adjacency:glean adjacencyは、デバイスが同じインターフェイスの複数のホストに接続されている場合に使用されます。 この場合、エントリには、特定のホストエントリだけでなく、サブネットの接頭辞が含まれます。
- Punt adjacency:これは、現在CEFでサポートされていない機能を利用し、次のスイッチングレベルに転送(punted)する必要があるパケットに使用されます(多くの場合、プロセ
- Discard adjacency:自動的に破棄されるパケットには、discard adjacencyエントリが使用されます。
- Drop adjacency:drop adjacencyエントリは、ドロップされたパケットに使用されますが、プレフィックスがチェックされた後にのみ使用されます。
CEF負荷分散
CEFは、負荷共有の二つのモードをサポートしています。
パケットごと:パケットごとの負荷分散方法は、ラウンドロビン方式でトラフィッ ルータが最初のパス上の宛先のための1つのパケットを、第2パス上の同じ宛先のための第2パケット、第1パスで第3再度等送信すると言うため。 パケットごとの負荷分散は、同じ宛先へのパスの使用率が同じである必要がある場合に便利です。 この方法では、パスの輻輳も回避されます。
PER-DESTINATION(PER-FLOW):per-Destination負荷分散は、ルータで有効になっているデフォルトの負荷分散方法です。 指定された送信元-宛先ホストペアのパケットは、複数のパスが使用可能であっても同じパスを取ります。 トラフィックの大部分が同じ送信元と宛先のペアに対するものである場合、トラフィックは同じパスを使用し、他のパスが十分に活用されません。 宛先ごとには、ほとんどの状況で推奨される負荷分散があります。
インターフェイスごとに負荷共有方法を変更できますが、このコマンドの可用性はデバイスのハードウェア機能によって制限される場合があります。 (多くの場合、ハードウェアベースの多層スイッチにはこの機能がありませんが、ソフトウェアベースのISRルータには
CENTRAL Vs DISTRIBUTED CEF
CENTRAL CEF MODE–CEFモードが有効な場合、CEF FIBテーブルと隣接テーブルがルートプロセッサ上に存在し、ルートプロセッサがexpress forwardingを実行します。 Cefモードは、ラインカードがCEF切り替えに使用できない場合、または分散CEF切り替えと互換性のない機能を使用する必要がある場合に使用できます。
•DISTRIBUTED CEF-(dCEF)モード:dCEFがイネーブルの場合、ラインカードはFIBテーブルと隣接テーブルの同一のコピーを維持します。 ラインカードはexpress forwardingを単独で実行することができ、メインプロセッサGigabit Route Processor(GRP)がスイッチング動作に関与するのを軽減します。
CEF LAB
CEF動作の構成と検証の例を見てみましょう。 以下に示すトポロジでは、RTR-2、RTR-3、およびRTR-4でOSPF area0を実行していますが、この説明ではRTR-1およびRTR-5デバイスを検討していません。
Ipv4/Ipv6CEFの設定
中央CEF | 分散CEF |
---|---|
RTR-2(config)#ip cef | RTR-2(config)#ip cef distributed |
RTR-2(config)#ipv6cef | RTR-2(config)#ipv6cef distributed |
Ipv6Cefの場合Ipv6unicast-routingを有効にする必要があります | Ipv6Cefの場合Ipv6unicast-routingを有効にする必要があります |
RTR-2(config)#no ip cef | RTR-2(config)#no ip cef distributed |
IP cefを無効にすることができます 上記のコマンド | %では、このプラットフォームでCEFを無効にできません分散プラットフォームでIP CEFを無効にすることはできません |
与えられた出力は、OCTA networks cloud間で完全に到達可能であることを示しています。 CEFの出力を詳しく見てみましょう。
RTR-2#ping 192.1.3.3 source loo 0 Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.1.3.3, timeout is 2 seconds:Packet sent with a source address of 192.1.2.2 !!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/3 msRTR-2#ping 192.1.4.4 source loo 0Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.1.4.4, timeout is 2 seconds:Packet sent with a source address of 192.1.2.2 !!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms
コマンドsh ip cef
Prefix Next Hop Interface0.0.0.0/0 no route0.0.0.0/8 drop0.0.0.0/32 receive 127.0.0.0/8 drop172.16.12.0/24 attached GigabitEthernet0/0172.16.12.0/32 receive GigabitEthernet0/0172.16.12.2/32 receive GigabitEthernet0/0172.16.12.255/32 receive GigabitEthernet0/0172.16.23.0/24 attached GigabitEthernet0/1172.16.23.0/32 receive GigabitEthernet0/1172.16.23.2/32 receive GigabitEthernet0/1172.16.23.3/32 attached GigabitEthernet0/1172.16.23.255/32 receive GigabitEthernet0/1172.16.34.0/24 172.16.23.3 GigabitEthernet0/1172.16.45.0/24 172.16.23.3 GigabitEthernet0/1192.1.2.2/32 receive Loopback0192.1.3.3/32 172.16.23.3 GigabitEthernet0/1192.1.4.4/32 172.16.23.3 GigabitEthernet0/1224.0.0.0/4 drop224.0.0.0/24 receive 240.0.0.0/4 dropPrefix Next Hop Interface255.255.255.255/32 receive RTR-2#
attached:ルータが直接接続されているネットワークを表します。
receive:ルータが直接接続されているネットワークを表します。
receive:ルータが直接接続されているネットワークを表します。
receive:ルータが直接接続されているネットワークを表します。: ルータのインターフェイスの1つのIPアドレスを表します
RTR-2およびRTRに接続されると同時に私達をrtr-3の隣接テーブルを点検してみましょう-4
RTR-3#show adjacency Protocol Interface AddressIP GigabitEthernet0/1 172.16.23.2(12)IP GigabitEthernet0/2 172.16.34.4(12)
RTR上のcefに関するインターフェイスレベル情報-2
RTR-2#show ip interface gigabitEthernet 0/1 GigabitEthernet0/1 is up, line protocol is up Internet address is 172.16.23.2/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Multicast reserved groups joined: 224.0.0.5 224.0.0.6 Outgoing access list is not set Inbound access list is not set Proxy ARP is enabled Local Proxy ARP is disabled Security level is default Split horizon is enabled ICMP redirects are always sent ICMP unreachables are always sent ICMP mask replies are never sent IP fast switching is enabled IP fast switching on the same interface is disabled IP Flow switching is disabled IP CEF switching is enabled IP CEF switching turbo vector
レイヤー2ヘッダー情報を表示するには、ユーザーの詳細キーワードをshow adjacency
RTR-3#show adjacency detail Protocol Interface AddressIP GigabitEthernet0/1 172.16.23.2(12) 10 packets, 1140 bytes epoch 0 sourced in sev-epoch 0 Encap length 14 5000000600015000000700010800 ARPIP GigabitEthernet0/2 172.16.34.4(12) 10 packets, 1140 bytes epoch 0 sourced in sev-epoch 0 Encap length 14 5000000800025000000700020800 ARP
の最後にする必要があります172.16.23のエントリがあることがわかります。2
5000000600015000000700010800 What does this number mean? It's the MAC addresses of the source and destination that we require and the Ethertype…let me break it down for you:
500000060001 RTR-2インターフェイスギガのMACアドレスはあります0/1
RTR-3インターフェイスギガの500000070001is MACアドレス0/1
0800 はEthertypeです。 0x800はIpv4を表します。
RTR-3では、RTR-2とRTR-4に対してどのARPエントリが作成されているかを確認してみましょう。
RTR-3#show ip arp 172.16.23.2Protocol Address Age (min) Hardware Addr Type InterfaceInternet 172.16.23.2 134 5000.0006.0001 ARPA GigabitEthernet0/1 RTR-3#show ip arp 172.16.34.4Protocol Address Age (min) Hardware Addr Type InterfaceInternet 172.16.34.4 136 5000.0008.0002 ARPA GigabitEthernet0/2
“Hardware Addr”フィールドの下の値が、前のshowコマンドのレイヤ2ヘッダー情報の最初の12桁と一致していることがわかります。Show ip cef exact–routeコマンドを使用してRTR-2の負荷分散の状態を確認するには、RTRのデフォルトの負荷共有動作を確認します。-2
RTR-2#show cef stateCEF Status: RP instance common CEF enabledIPv4 CEF Status: CEF enabled/running dCEF disabled/not running CEF switching enabled/running universal per-destination load-sharing algorithm, id A71F7A11IPv6 CEF Status: CEF enabled/running dCEF disabled/not running universal per-destination load sharing algorithm, id A71F7A11
チャレンジトラブルシューティング
1-1. 提供された展示に基づいて、どのshowコマンドがRTR-2で実行されましたか?
1-2. 提供された展示に基づいて、どのshowコマンドがRTR-2で実行されましたか?
1-3. 提供された展示に基づいて、どのshowコマンドがRTR-3で実行されましたか?
1-4. 提供された展示に基づいて、どのshowコマンドがRTR-2で実行されましたか?
1-5. 提供された展示に基づいて、どのshowコマンドがRTR-3で実行されましたか?
1-6. 提供された展示に基づいて、どのshowコマンドがRTR-2で実行されましたか?
1-7. この展示の何が悪いのですか?