概要
このドキュメントでは、マルチキャストトラフィックを使用するNexus 5000スイッチのポートチャネルロードバランシングのトラブルシューティング方法について説明します。
著者:Cisco TACエンジニア、Sivakumar Sukumar
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Nexus 5672UPおよびルータ(ASRなど)、マルチキャストをサポート
- 仮想ポートチャネル(vPC)、ファブリックパス(FP)、およびマルチキャスト(MC)テクノロジーの基本知識
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
問題
マルチキャストトラフィックは、ポートチャネルとポートチャネル内のリンクの間で均等に分散されません。
ネットワーク図
トラブルシュート
シナリオ 1:vPCピアリンクでFPが有効な場合のマルチキャストトラフィック転送
vPCリンク間でのみfabricpathが実行されている場合、ホストからのマルチキャストトラフィックはピアリンクを経由してアップストリームルータを通過します
fabricpathが無効(vPC PL上)の場合、MCトラフィックはL3 GW(ASR)にポートチャネル経由で配信され、vPC PLを通過しません。
シナリオ 2:ポートチャネル内のマルチキャストロードバランシング
トラフィックは均等にロードバランシングされず、常にポートチャネル内の1つのリンクを使用します。
ポートチャネル15バンドルeth 1/1およびeth 1/8
394(config-if)# sh int port-c 15 | i pps
input rate 248 bps, 0 pps; output rate 301.67 Mbps, 377.54 Kpps
input rate 248 bps, 0 pps; output rate 301.67 Mbps, 377.54 Kpps
394(config-if)# sh int eth 1/8 | i pps
input rate 168 bps, 0 pps; output rate 280.01 Mbps, 145.79 Kpps
394(config-if)# sh int eth 1/1 | i pps
input rate 80 bps, 0 pps; output rate 10.08 Mbps, 231.76 Kpps
解決方法
Nexus上のSVIにヒットするMCトラフィックがFP対応VLAN上にある場合、スイッチはMC転送タグ(FTag)のいずれかを介して転送します。 FTagの詳細については、次のリンクを参照してください。スイッチにはFPインターフェイスが1つしかありません(vPCピアリンク)。そのため、FTagツリーでは、スイッチに入るとすぐにピアリンクインターフェイスが優先されます。トラフィックはFP対応インターフェイスではないため、アップストリームインターフェイス(ルータ)に送信できません
show fabricpath isis topology summary
FabricPath IS-IS Topology Summary
Fabricpath IS-IS domain: default
MT-0
Configured interfaces: port-channel99
Max number of trees: 2 Number of trees supported: 2
Tree id: 1, ftag: 1, root system: 002a.6ab9.20c1, 3941
Tree id: 2, ftag: 2 [transit-traffic-only], root system: 002a.6ab6.9ac1, 3940
Ftag Proxy Root: 002a.6ab9.20c1
show fabricpath switch-id
Total Switch-ids: 4
=============================================================================
SWITCH-ID SYSTEM-ID FLAGS STATE STATIC EMULATED/ANYCAST
--------------+----------------+------------+-----------+--------------------
[E] 394 002a.6ab6.9ac1 Primary Confirmed No Yes
394 002a.6ab9.20c1 Primary Confirmed No Yes
* 3940 002a.6ab6.9ac1 Primary Confirmed Yes No
3941 002a.6ab9.20c1 Primary Confirmed Yes No
show fabricpath isis database detail | egrep "Hostname|Affinity|Numgraphs"
Hostname : 394 Length : 14
Affinity :
Nickname : 394 Numgraphs: 1 Graph-id: 1
Hostname : 395 Length : 14
Affinity :
Nickname : 394 Numgraphs: 1 Graph-id: 2
スイッチに設定されたロードバランシングのアルゴリズムを使用して最適なハッシュを作成するために、MCトラフィックに異なるsrc/dest ip/mac/portが含まれているかどうかを確認します。上記のコマンドを実行して、ポートチャネルロードバランシングに問題があるかどうかを確認します。
394(config-if)# show mac address-table
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
---------+-----------------+--------+---------+------+----+------------------
+ 925 0000.0000.0a01 dynamic 0 F F 3339.0.0
+ 925 0000.0000.0a4f dynamic 0 F F 3339.0.0
+ 925 0000.0000.0b11 dynamic 0 F F 3339.0.0
+ 925 0000.0037.4e8d dynamic 0 F F 3339.0.0
* 925 002a.6a31.5f41 static 0 F F 3339.0.0
394(config-if)# show int port-c 15 | i pps
input rate 248 bps, 0 pps; output rate 301.67 Mbps, 377.54 Kpps
394(config-if)# show int eth 1/8 | i pps
input rate 168 bps, 0 pps; output rate 175.60 Mbps, 145.79 Kpps
394(config-if)# sh int eth 1/1 | i pps
input rate 80 bps, 0 pps; output rate 126.08 Mbps, 231.76 Kpps
394(config-if)# show port-channel load-balance forwarding-path interface port-channel 15 vlan 925 src-ip 10.1.1.1 dst-ip 231.1.1.1 dst-mac 0100.5e01.0101 src-mac 0000.0037.4e8d
Missing params will be substituted by 0's.
Load-balance Algorithm on switch: source-dest-ip
crc_hash: 231 Polynomial: CRC10b Outgoing port id Ethernet1/8
Param(s) used to calculate load-balance:
seed: 0xe
vlan: 0x39d
dst-ip: 231.1.1.1
src-ip: 10.1.1.1
dst-mac: 0100.5e01.0101
394(config-if)# show port-channel load-balance forwarding-path interface port-channel 15 vlan 925 src-ip 10.1.1.2 dst-ip 231.1.1.2 dst-mac 0100.5e01.0102 src-mac 0000.0000.0a01
Missing params will be substituted by 0's.
Load-balance Algorithm on switch: source-dest-ip
crc_hash: 250 Polynomial: CRC10b Outgoing port id Ethernet1/1
Param(s) used to calculate load-balance:
seed: 0xe
vlan: 0x39d
dst-ip: 231.1.1.2
src-ip: 10.1.1.2
dst-mac: 0100.5e01.0102
src-mac: 0000.0000.0a01
使用コマンド
- show port-channel load-balance forwarding-path interface port-channel <num> vlan src-ip dst-ip dst-mac src-mac
- show fabricpath isis database detail | egrep "ホスト名|アフィニティ|Numgraphs"
- show system internal rtm sdb ftag multicast
- show fabricpath isis trees multidestination 1
- show fabricpath route switchid
- show fabricpath isis topology summary
関連情報
既知の障害
Cisco Bug ID CSCvb13924 vPC+マルチキャストがアフィニティに関係なくピアリンクにフラッディングされる
Cisco Bug ID CSCts77757 L3 POのロードバランシングに誤ったインターフェイスが表示される