Cisco NCS 5000 シリーズ ルータ IP アドレスおよびサービス コンフィギュレーション ガイド、IOS XR リリース 6.0.x
シスコ エクスプレス フォワーディングの実装
シスコ エクスプレス フォワーディングの実装

シスコ エクスプレス フォワーディングの実装

シスコ エクスプレス フォワーディングの実装

Cisco Express Forwarding(CEF)は、拡張レイヤ 3 IP スイッチング テクノロジーです。CEF によって、インターネットや、Web ベースのアプリケーションまたは対話型セッションが集中的に使用されるネットワークなどの、大規模でダイナミックなトラフィック パターンを持つネットワークのパフォーマンスおよびスケーラビリティが最適化されます。CEF は内蔵されている機能であり、イネーブルにするために設定を行う必要はありません。必要に応じて、デフォルトのルート パージ遅延とスタティック ルートを変更できます。

コンポーネント

Cisco IOS XR ソフトウェアの CEF は常に、次の 2 種類のコンポーネントとともに CEF モードで動作します。
  • 転送情報ベース(FIB)データベース:プロトコル依存の FIB プロセスは、ルート プロセッサに IPv4 および IPv6 ユニキャストの転送テーブルを保持します。各ノード上の FIB はルーティング情報ベース(RIB)を更新し、ルート解決を実行してルート プロセッサに個別に FIB テーブルを保持します。各ノード上の FIB テーブルに格納されている情報は、テーブルによって若干異なることがあります。
  • 隣接関係テーブル:プロトコルに依存しない隣接情報ベース(AIB)

    隣接 FIB エントリがメンテナンスされるのはローカル ノードに限られるため、FIB エントリにリンクされている隣接エントリが異なるものになることがあります。

CEF は、Cisco IOS XR ソフトウェアのプライマリ IP パケット転送データベースです。CEF の役割は次の機能を果たすことです。
  • ソフトウェア スイッチング パス

  • ソフトウェアおよびハードウェア転送エンジンの転送テーブルおよび隣接関係テーブルのメンテナンス(AIB によるメンテナンス)

Cisco IOS XR ソフトウェア上の CEF では、次の機能をサポートしています。

  • バンドル インターフェイスのサポート

  • マルチパス サポート

  • ルート整合性

  • パッケージング、再起動性、リソース不足(OOR)処理などのハイ アベイラビリティ機能

  • OSPFv2 SPF プレフィックス優先順位付け

  • BGP 属性ダウンロード

CEF の利点

  • パフォーマンス向上:CEF は、高速スイッチング ルート キャッシングよりも CPU を消費しません。より多くの CPU 処理能力を Quality of Service(QoS)や暗号化などのレイヤ 3 サービスに向けることができます。

  • スケーラビリティ:CEF では、各ライン カードでスイッチング機能を最大限に活用できます。

  • 復元力:CEF では、大規模な動的ネットワーク上で比類ないレベルのスイッチング一貫性と安定性を実現します。動的ネットワークでは、ルーティング変更のために、高速にスイッチングされるキャッシュ エントリが頻繁に無効化されます。ルーティング変更により、ルート キャッシュを使用した高速スイッチングではなく、ルーティング テーブルを使用したトラフィックのプロセス スイッチングが行われることがあります。転送情報ベース(FIB)ルックアップ テーブルにはルーティング テーブルに存在する既知のルートがすべて含まれているため、ルート キャッシュのメンテナンスが不要になるほか、高速スイッチングまたはプロセス スイッチング フォワーディングのシナリオも必要ありません。CEF では、一般的なデマンド キャッシング スキームよりも効率よくトラフィックを切り替えることができます。

Cisco IOS XR ソフトウェアでは、次の CEF 転送テーブルが保持されます。

  • IPv4 CEF データベース:IPv4 ユニキャスト パケット転送用の IPv4 ユニキャスト ルートが保存されます。

  • IPv6 CEF データベース:IPv6 ユニキャスト パケット転送用の IPv6 ユニキャスト ルートが保存されます。

  • MPLS LFD データベース:MPLS パケット転送用の MPLS ラベル テーブルが保存されます。

CEF の確認

IPv4 または IPv6 CEF テーブルの詳細を表示するには、次のコマンドを使用します。

  • show cef {ipv4 address| ipv6 address} hardware egress

IPv4 または IPv6 CEF テーブルを表示します。ネクスト ホップおよび転送インターフェイスがプレフィックスごとに表示されます。show cef コマンドの出力は、場所によって異なります。

Router# show cef 37.37.37.37/32 hardware egress 
37.37.37.37/32, version 46, internal 0x1000001 0x0 (ptr 0x8b0477f8) [1], 0x0 (0x0), 0x0 (0x0)
local adjacency 1.0.0.2
 Prefix Len 32, traffic index 0, precedence n/a, priority 3
   via 1.0.0.2/32, TenGigE0/0/0/0, 5 dependencies, weight 0, class 0 [flags 0x0]
    path-idx 0 NHID 0x0 [0x8b43bb30 0x0]
    next hop 1.0.0.2/32
    local adjacency
 Show-data Print at RPLC 
 LEAF - HAL pd context : 
 sub-type : IPV4, ecd_marked:0, has_collapsed_ldi:0
 collapse_bwalk_required:0, ecdv2_marked:0
Leaf H/W Result:
  VRF            Net Address                    Mask                  Status
    0            37.37.37.37         255.255.255.255              Programmed

TX H/W Result for NP:0 (index: 0x18739 (BE)):
 Next Hop Data
 Next Hop Valid:         YES
 Next Hop Index:         100153
 --More-- RP/0/RP0/CPU0:Aug  6 16:38:59.302 : vic_1[180]: %PLATFORM-VIC-4-SIGNAL : Interface HundredGigE0/0/1/3, Detected Signal failure 
RP/0/RP0/CPU0:Aug  6 16:38:59.312 : ifmgr[172]: %PKT_INFRA-LINK-3-UPDOWN : Interface HundredGigE0/0/1/3, changed state to Up 
 Egress Next Hop IF:     100045
 Hw Next Hop Intf:       6
 HW Port:                1
 Next Hop Flags:         COMPLETE-->This indicates that the router can forward traffic. 
 Next Hop MAC:           4055.395f.46b7
          
NHINDEX H/W Result for NP:0 (index: 0 (BE)):
NhIndex is NOT required on this platform
          
NHINDEX STATS: pkts 0, bytes 0 (all NPs combined, no stats)
          
RX H/W Result on NP:0 [Adj ptr:0x40 (BE)]:
Rx-Adj is NOT required on this platform
  • show cef {ipv4| ipv6} summary

IPv4 または IPv6 CEF テーブルのサマリーを表示します。
Router#show cef ipv4 summary
Router ID is 0.0.0.0
IP CEF with switching (Table Version 0) for node0_RP0_CPU0
  Load balancing: L4
  Tableid 0xe0000000 (0x8a2d7380), Vrfid 0x60000000, Vrid 0x20000000, Flags 0x1019
  Vrfname default, Refcount 88
  39 routes, 0 protected, 0 reresolve, 0 unresolved (0 old, 0 new), 9048 bytes
  11 rib, 0 lsd, 17:0 aib, 0 internal, 8 interface, 4 special, 1 default routes
  39 load sharing elements, 32176 bytes, 2 references
  2 shared load sharing elements, 1600 bytes
  37 exclusive load sharing elements, 30576 bytes
  0 route delete cache elements
  24 local route bufs received, 0 remote route bufs received,  0 mix bufs received
  11 local routes, 0 remote routes
  26 total local route updates processed
  0 total remote route updates processed 
  0 pkts pre-routed to cust card
  0 pkts pre-routed to rp card
  0 pkts received from core card
  0 CEF route update drops, 2 revisions of existing leaves
  0 CEF route update drops due to version mis-match
  Resolution Timer: 15s
  0 prefixes modified in place
  0 deleted stale prefixes
  0 prefixes with label imposition, 0 prefixes with label information
  0 LISP EID prefixes, 0 merged, via 0 rlocs
 20 next hops
  0 incomplete next hops
 0 PD backwalks on LDIs with backup path
  • show cef { ipv4 address| ipv6 address } detail

IPv4 または IPv6 CEF テーブルの詳細を表示します。

Router#show cef 1.0.0.2 detail 
1.0.0.2/32, version 0, internal 0x1020001 0x0 (ptr 0x8a35d1a8) [1], 0x0 (0x0), 0x0 (0x0)
 Updated Aug  3 11:00:37.829 
 local adjacency 1.0.0.2
 Prefix Len 32, traffic index 0, Adjacency-prefix, precedence n/a, priority 15
  gateway array (0x8a08af70) reference count 1, flags 0x4000, source aib-hi (3), 0 backups
                [1 type 3 flags 0x48401 (0x8a1d9e18) ext 0x0 (0x0)]
  LW-LDI[type=0, refc=0, ptr=0x0, sh-ldi=0x0]
  gateway array update type-time 1 Aug  3 11:00:37.829
 LDI Update time Aug  3 11:00:37.829
   via 1.0.0.2/32, TenGigE0/0/0/0, 3 dependencies, weight 0, class 0 [flags 0x0]
    path-idx 0 NHID 0x0 [0x8b7df0a0 0x0]
    next hop 1.0.0.2/32
    local adjacency
    Load distribution: 0 (refcount 1)
    Hash  OK  Interface                 Address
    0     Y   TenGigE0/0/0/0            1.0.0.2        
  • show adjacency detail

インターフェイスごとのレイヤ 2 情報など詳細な隣接情報を表示します。show adjacency コマンドの出力は、場所によって異なります。

Router#show adjacency detail
-------------------------------------------------------------------------------
0/RP0/CPU0
-------------------------------------------------------------------------------
Interface                   Address                  Version  Refcount Protocol
Te0/0/0/29                  (interface)                   30        1(    0)
                           (interface entry)
                           mtu: 1500, flags 1 4
                           0 packets, 0 bytes
Te0/0/0/77                  (interface)                   78        1(    0)
                           (interface entry)
                           mtu: 1500, flags 1 4
                           0 packets, 0 bytes
Te0/0/0/20                  (interface)                   21        1(    0)
                           (interface entry)
                           mtu: 1500, flags 1 4
                           0 packets, 0 bytes
Te0/0/0/33                  (interface)                   34        1(    0)
                           (interface entry)
                           mtu: 1500, flags 1 4
                           0 packets, 0 bytes
Hu0/0/1/3                   (interface)                   84        1(    0)
                           (interface entry)
                           mtu: 1500, flags 1 4
                           88 packets, 3696 bytes
Te0/0/0/24                  (interface)                   25        1(    0)

フロー単位ロード バランシング

システムは基本的に 5 タプル ハッシュ アルゴリズムをサポートしています。ロード バランシングでは、レイヤ 3(ネットワーク層)およびレイヤ 4(トランスポート層)のルーティング情報に基づいてパケットを複数のリンクに分散させるルータ機能について説明します。ルータが宛先に至るパスを複数検出した場合は、その宛先の複数のエントリでルーティング テーブルが更新されます。

フロー単位のロード バランシングでは、以下の機能が実行されます。
  • 着信データ トラフィックは、複数の等コスト接続に均等に分散されます。

  • 着信データ データ トラフィックは、バンドル インターフェイス内の複数の等コスト接続メンバ リンクに均等に分散されます。

  • レイヤ 2 バンドルとレイヤ 3(ネットワーク レイヤ)ロード バランシングの決定は、5 タプル ハッシュ アルゴリズムでサポートされる IPv4、IPv6、および MPLS のフローに対して行われます。

  • 5 タプル ハッシュ アルゴリズムはより細かなロード バランシングを実現し、複数の等コスト レイヤ 3(ネットワーク層)パス全体でのロード バランシングに使用されます。レイヤ 3(ネットワーク層)パスは、物理インターフェイスまたはバンドル インターフェイス上にあります。また、メンバ リンクに対するロード バランシングが、レイヤ 2 バンドル インターフェイス内で行われることがあります。
  • 5 タプル ロードバランス ハッシュ計算には以下が含まれます。

    • 送信元 IP アドレス

    • 宛先 IP アドレス

    • ルータ ID

    • 送信元ポート

    • 宛先ポート

スタティック ルートの設定

ルータは、ユーザが手動で設定したルート テーブル エントリのルート情報を使用するか、またはダイナミック ルーティング アルゴリズムで計算されたルート情報を使用して、パケットを転送します。スタティック ルートは、2 つのルータ間の明示パスを定義するものであり、自動的にはアップデートされません。ネットワークに変更があった場合は、ユーザが手動でスタティック ルートを再設定する必要があります。スタティック ルートは、ダイナミック ルートに比べて使用する帯域幅が少なくなります。スタティック ルートは、ネットワーク トラフィックが予測可能で、ネットワーク設計がシンプルな環境で使用します。スタティック ルートはネットワークの変化に対応できないので、大規模でたえず変化しているネットワークでは、スタティック ルートを使用すべきではありません。大部分のネットワークは、ルータ間の通信にダイナミック ルートを使用しますが、特殊な状況でスタティック ルートを 1 つか 2 つ設定する場合があります。スタティック ルートは、最終手段としてのゲートウェイ(ルーティング不能なすべてのパケットの送信先となるデフォルト ルータ)を指定する場合にも便利です。

設定例

TenGigE インターフェイスを介してルータ A とルータ B 間にスタティック ルートを作成します。宛先 IP アドレスは 37.37.37.37/32、ネクストホップ アドレスは 1.0.0.2 です。

Router(config)# router static address-family ipv4 unicast 
Router(config-static-afi)# 37.37.37.37/32 tengige 0/0/0/0 1.0.0.2
Router(config-static-afi)# commit

実行コンフィギュレーション

Router#show running-config router static address-family ipv4 unicast
router static
 address-family ipv4 unicast
 37.37.37.37/32 tengigE 0/0/0/0 1.0.0.2
 !
!

確認

Next Hop Flags のフィールドに COMPLETE と表示され、設定が適切に機能していることを確認してください。

Router#show cef 37.37.37.37/32 hardware egress 
37.37.37.37/32, version 46, internal 0x1000001 0x0 (ptr 0x8b0477f8) [1], 0x0 (0x0), 0x0 (0x0)
local adjacency 1.0.0.2
 Prefix Len 32, traffic index 0, precedence n/a, priority 3
   via 1.0.0.2/32, TenGigE0/0/0/0, 5 dependencies, weight 0, class 0 [flags 0x0]
    path-idx 0 NHID 0x0 [0x8b43bb30 0x0]
    next hop 1.0.0.2/32
    local adjacency
 Show-data Print at RPLC 
 LEAF - HAL pd context : 
 sub-type : IPV4, ecd_marked:0, has_collapsed_ldi:0
 collapse_bwalk_required:0, ecdv2_marked:0
Leaf H/W Result:
  VRF            Net Address                    Mask                  Status
    0            37.37.37.37         255.255.255.255              Programmed

TX H/W Result for NP:0 (index: 0x18739 (BE)):
 Next Hop Data
 Next Hop Valid:         YES
 Next Hop Index:         100153
 --More--  vic_1[180]: %PLATFORM-VIC-4-SIGNAL : Interface HundredGigE0/0/1/3, Detected Signal failure 
: ifmgr[172]: %PKT_INFRA-LINK-3-UPDOWN : Interface HundredGigE0/0/1/3, changed state to Up 
 Egress Next Hop IF:     100045
 Hw Next Hop Intf:       6
 HW Port:                1
 Next Hop Flags:         COMPLETE--->This indicates that the router can forward traffic. 
 Next Hop MAC:           4055.395f.46b7
          
NHINDEX H/W Result for NP:0 (index: 0 (BE)):
NhIndex is NOT required on this platform
          
NHINDEX STATS: pkts 0, bytes 0 (all NPs combined, no stats)
          
RX H/W Result on NP:0 [Adj ptr:0x40 (BE)]:
Rx-Adj is NOT required on this platform

関連コマンド

  • router static
  • show cef