2013-10-17 07:29 PM
Nexus 7000 Layer 2 / Layer 3 Forwarding
Nexus 7000 は分散スイッチングを採用しており、転送処理はラインカードに実装されているForwarding Engine がもつハードウエアテーブルを使用して実現されます。Supervisorはコントロールプレーンとして機能し、プロトコル処理やソフトウエアテーブルの管理を担っています。転送処理は受信側のラインカードにて実施されるためトラブルシューティング時には Supervisor や各ラインカードがもつテーブルを個別に確認する必要があります。
Layer 2 Forwarding
MAC Address Table と宛先ポートの確認手法を紹介します。Ethernet1/32 からDestination MAC Address 001b.90e4.57c1 のフレームを受信した状況を例として、MAC Address Table と宛先ポートの確認方法を解説します。
まずはじめに Supervisor が持つソフトウエアエントリについて確認を行います。
NEXUS7000# show mac address-table vlan 10
Legend:
* - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
age - seconds since last seen,+ - primary entry using vPC Peer-Link
VLAN MAC Address Type age Secure NTFY Ports/SWID.SSID.LID
---------+------------------------+--------+---------+-----------+-------+------------------
* 10 0000.0ebd.83ca dynamic 0 F F Eth1/32
* 10 001b.90e4.57c1 dynamic 0 F F Eth3/1 |
001b.90e4.57c1 は Ethernet3/1 の先にいる事が判りました。
つぎに、受信側ラインカード (slot1) 上にある MAC Address Table のハードウエアエントリを確認します。受信側での確認が重要な理由は、既述のとおり転送処理は受信側のラインカードにある Forwarding Engine により実施されるためです。
NEXUS7000# show hardware mac address-table 1 vlan 10 address 001b.90e4.57c1※赤字は slot 1 を指しています
FE | Valid| PI| BD | MAC | Index| Stat| SW | Modi| Age| Tmr| GM| Sec| TR | NT | RM| RMA| Cap | Fld|Always | | | | | | ic | | fied |Byte| Sel | | ure | AP | FY | | |TURE| | Learn
---+--------+---+------+---------------------+--------+------+------+------+------+-----+----+----+-----+-----+------+------+-------+-----+------
0 1 0 20 001b.90e4.57c1 0x009f1 0 0x003 0 136 1 0 0 0 0 0 0 0 0 0 |
以上から転送処理を行う受信側 Forwarding Engine が持つ MAC Address Table に、001b.90e4.57c1のハードウエアエントリが正しく登録されている事が確認できました。001b.90e4.57c1の学習元である送信側ラインカード (Slot3) についても確認を行います。
NEXUS7000# show hardware mac address-table 3 vlan 10 address 001b.90e4.57c1※赤字は slot 3を指しています
FE | Valid| PI| BD | MAC | Index | Stat| SW | Modi| Age| Tmr| GM| Sec| TR | NT| RM | RMA| Cap | Fld|Always | | | | | | ic | | fied |Byte| Sel | | ure | AP | FY| | |TURE| | Learn
----+-------+---+------+--------------------+----------+------+-------+-------+-----+-----+----+-----+----+-----+------+------+--------+----+------
0 1 1 20 001b.90e4.57c1 0x009f1 0 0x003 0 138 1 0 0 0 0 0 0 0 0 0 |
Layer 3 Forwarding
Layer 3 Forwarding の動作を確認するために vlan 10 192.168.10.2/24 と vlan 20 192.168.20.2/24 を Nexus7000 上に構成しました。Vlan 10 から Vlan 20 へ転送されるパケットについて確認します。
Mac Address Table には Vlan Interface が持つ Mac Address がスタティックエントリとして登録されます。”G” フラグを持つエントリ宛にフレームを受信すると Routed 対象として扱われます。
NEXUS7000# show mac address-table static
Legend:
* - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
age - seconds since last seen,+ - primary entry using vPC Peer-Link
VLAN MAC Address Type age Secure NTFY Ports/SWID.SSID.LID
---------+-----------------------+--------+---------+------------+----+------------------
G - 0022.5579.cec1 static - F F sup-eth1(R)
G 10 0022.5579.cec1 static - F F sup-eth1(R)
G 20 0022.5579.cec1 static - F F sup-eth1(R)
受信側 slot 1 のハードウエアテーブルに同様のエントリが登録されている事を確認します。
NEXUS7000# show hardware mac address-table 1 vlan 10 address 0022.5579.cec1
FE | Valid| PI| BD | MAC | Index | Stat| SW | Modi |Age| Tmr| GM| Sec| TR | NT| RM| RMA | Cap | Fld|Always | | | | | | ic | | fied |Byte| Sel | | ure | AP | FY| | |TURE| | Learn
---+------+---+------+-------------------+-------------+-----+-------+-------+-----+-----+----+-----+-----+-----+-----+-------+-------+----+------
0 1 1 20 0022.5579.cec1 0x00400 1 0x000 0 164 1 1 0 0 0 0 0 0 0 0 |
該当の Mac Address が登録されておりStaticビットと GM ビットがセットされている事が確認できます。これにより Vlan 10 へ 宛先 Mac Address 0022.5579.cec1 のフレームが着信すると Routed 対象として扱われます。次に経路に関するソフトウエアテーブルを確認します。
NEXUS7000# show ip route | grep next 1 172.16.0.0
172.16.0.0/24, ubest/mbest: 1/0
*via 192.168.20.3, Vlan20, [170/130816], 00:08:47, eigrp-1, external |
172.16.0.0/24 へ到達するためのネクストホップが Vlan 20 192.168.20.3 である事が判りました。ネクストホップに対する Arp / Adjacency のソフトウエアテーブルを確認します。
NEXUS7000# show ip arp | grep next 5 Address
Address Age MAC Address Interface
192.168.20.3 00:18:01 001b.90e4.57c2 Vlan20
192.168.10.1 00:17:03 0000.0ebd.83ca Vlan10
NEXUS7000# show ip adjacency | grep next 5 Address
Address MAC Address Pref Source Interface
192.168.20.3 001b.90e4.57c2 50 arp Vlan20 192.168.10.1 0000.0ebd.83ca 50 arp Vlan10 |
ソフトウエアテーブルにネクストホップ192.168.20.3 に対するエントリがあり、Mac Address は 001b.90e4.57c2 である事が判りました。次に、経路及び Arp / Adjacency のハードウエアテーブルが一致している事を確認します。(下記一部のコマンドはコマンドラインヘルプには表示されません)
NEXUS7000# show ip fib route 172.16.0.0/24 module 1
IPv4 routes for table default/base
------------------+------------------+----------------------+-----------------
Prefix | Next-hop | Interface | Labels
------------------+------------------+----------------------+-----------------
172.16.0.0/24 192.168.20.3 Vlan20
NEXUS7000# show ip fib adjacency 192.168.20.3 module 1
IPv4 adjacency information
next-hop rewrite info interface
-------------- --------------- -------------
192.168.20.3 001b.90e4.57c1 Vlan20
NEXUS7000# show system internal forwarding route 172.16.0.0/24 detail module 1
RPF Flags legend:
S - Directly attached route (S_Star)
V - RPF valid
M - SMAC IP check enabled
G - SGT valid
E - RPF External table valid
172.16.0.0/24 , Vlan20 , No of paths: 1
Dev: 1 , Idx: 0x19002 , RPF Flags: V , DGT: 0 , VPN: 1
RPF_Intf_5: Vlan20 (0x15 )
AdjIdx: 0x43007, LIFB: 0 , LIF: Vlan20 (0x15 ), DI: 0x0
DMAC: 001b.90e4.57c2 SMAC: 0022.5579.cec1
NEXUS7000# show system internal forwarding adjacency entry 0x43007 detail module 1
Device: 1 Index: 0x43007 DMAC: 001b.90e4.57c2 SMAC: 0022.5579.cec1
LIF: 0x15 (Vlan20) DI: 0x0 ccc: 4 L2_FWD: NO RDT: NO
packets: 0 bytes: 549755813888zone enforce: 0
NEXUS7000# show system internal forwarding adjacency entry 0x43007 detail module 3
Device: 1 Index: 0x43007 DMAC: 001b.90e4.57c2 SMAC: 0022.5579.cec1
LIF: 0x15 (Vlan20) DI: 0x0 ccc: 4 L2_FWD: NO RDT: NO
packets: 0 bytes: 549755813888zone enforce: 0 |
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします