内容

概要

Q. Cisco NX-OSはBFDをサポートする互換性のあるモジュールにBFD動作を分散できるため、ARPパケットストームはNexus 7000プラットフォームのBFDセッションに影響を与えますか。

ラボ設定の詳細

ARPストーム開始

ARPストームがコントロールプレーンに影響を与え始める

ARPパケットストームが停止するとどうなりますか。

結論

概要

このドキュメントでは、Nexus 7000スイッチで実行されるBFD、OSPFなどのコントロールプレーンプロトコルに対するARPパケットストームの影響について説明します。

著者：Cisco TACエンジニア、Nishad Mohiuddin、Nikolay Kartashev

Q. Cisco NX-OSはBFDをサポートする互換性のあるモジュールにBFD操作を配布できるため、ARPパケットストームはNexus 7000プラットフォームのBFDセッションに影響を与えますか。

A.一般に、ARPパケットストームは、Nexus 7000スイッチで実行されるBFDセッションの安定性に影響を与える可能性があります。正確な症状は、ARPパケットストームのイベントの長期性と強さによって異なります。次に、Cisco TACラボネットワークのテスト結果を示します。

ラボ設定の詳細

次のラボ設定は、Nexus 7000スイッチのCPUに対するARPトラフィックの量の影響をテストするために構築されています。

ここで、N7k-AはDevice Under Test(DUT)として使用されます。DUTは、次のハードウェア構成のNexus 7009スイッチです

N7k-A# show module

Mod Ports Module-Type Model Status

--- ----- ----------------------------------- ------------------ ----------

1 0 Supervisor module-1X N7K-SUP1 active *

2 0 Supervisor module-1X N7K-SUP1 ha-standby

3 32 10 Gbps Ethernet Module N7K-M132XP-12 ok

4 32 10 Gbps Ethernet Module N7K-M132XP-12 ok

N7k-A#

N7k-Aには次のデバイスが接続されています

- N7k-Bは、インターフェイスEthernet 3/15に接続されたVPCピアです

- ASR1kはレイヤ3ネイバーで、インターフェイスEthernet 3/14に接続されています

- N7k-Cは、インターフェイスEthernet 4/10に接続されたレイヤ3ネイバーです

- IXIAトラフィックジェネレータはvlan 6内にあり、インターフェイスEthernet 3/10に接続されています。これはレイヤ2アクセスポートとして設定されています

DUTには3つのBFDセッションがあり、1つはスロット4のラインカードでN7k-Cに、2つはスロット3のラインカードでN7k-BとASR1kに向かっています

N7k-A# show bfd neighbors

OurAddr NeighAddr LD/RD RH/RS Holdown(mult) State Int

10.80.6.173 10.80.6.174 1090519061/4105 Up 4951(3) Up Eth3/14

10.80.1.162 10.80.1.161 1090519054/1090519044 Up 4203(3) Up Eth4/10

10.80.1.61 10.80.1.62 1090519060/1090519059 Up 5921(3) Up Vlan6

N7k-A#

また、DUTには3つのOSPFセッションがあり、1つはN7k-Cに向かうスロット4のラインカードに、2つはスロット3のラインカードに、もう1つはN7k-BとASR1kに向かうセッションです。

N7k-A# show ip ospf neighbors

OSPF Process ID 1

Total number of neighbors: 3

Neighbor ID Pri State Up Time Address Interface

10.80.0.2 1 FULL/ - 00:13:26 10.80.1.62 Vlan6

10.80.4.25 1 FULL/DR 00:12:40 10.80.6.174 Eth3/14

10.80.0.3 1 FULL/DR 20:15:07 10.80.1.161 Eth4/10

N7k-A#

OSPFがBFDに登録されている

router ospf 1

bfd

router-id 10.80.0.1

また、N7k-AのARPテーブルには、3つすべてのBFD/OSPFネイバーのエントリがあります

N7k-A# show ip arp

Address Age MAC Address Interface

10.80.1.62 00:13:30 4055.390f.48c1 Vlan6

10.80.6.174 00:12:46 88f0.774b.0700 Ethernet3/14

10.80.1.161 00:15:13 6c9c.ed44.6841 Ethernet4/10

N7k-A#

ARPストーム開始

IXIAトラフィックジェネレータは、ネットワークの不安定な部分をシミュレートするために使用され、DUTに送信される大量のARPトラフィックが発生します（次の図を参照）

次の出力は、IXIAトラフィックジェネレータが接続されているインターフェイスEthernet 3/10での入力トラフィックの増加を示しています。これらは、vlan 6で受信されたブロードキャストARPパケットです

N7k-A# show interface Ethernet3/10 | grep "30 seconds input rate"

30 seconds input rate 3102999976 bits/sec, 6062053 packets/sec

N7k-A#

このシナリオでは、各ブロードキャストARPパケットのコピーがN7k-AのCPUに送信されるため、CoPPのモジュール3で違反バイトが増加します

N7k-A# show policy-map interface control-plane class copp-system-p-class-normal

Control Plane

service-policy input: copp-system-p-policy-strict

class-map copp-system-p-class-normal (match-any)

match access-group name copp-system-p-acl-mac-dot1x

match protocol arp

set cos 1

police cir 680 kbps , bc 250 ms

module 3 :

conformed 2295040 bytes; action: transmit

violated 20569190016 bytes; action: drop

module 4 :

conformed 128 bytes; action: transmit

violated 0 bytes; action: drop

N7k-A#

注：スロット4のモジュールには違反バイトはありません。これは、ブロードキャストARPストームの送信元がモジュール3のインターフェイスのみに接続されているためです

ARPストームが始まる時点では、上記の出力は通常、ネットワーク上の問題を示す最初の（そして唯一の）記号です。ほとんどの場合、これらの兆候は気付かれず、ネットワークオペレータから見落とされ、接続の重大な問題につながる状況にすばやく進みます。

ARPストームがコントロールプレーンに影響を与え始める

デフォルトでは、Nexus 7000プラットフォームのARPタイムアウト値は25分または1500秒に設定されています。Nexusスイッチは、ネクストホップのレイヤ3ネイバーのIP-to-MAC解決を最新の状態に維持するために、ローカルARPキャッシュエントリを定期的に更新する必要があります。

次に、ARPキャッシュエントリの期限が切れた後のDUTのARPキャッシュテーブルの出力を示します。

N7k-A# show ip arp

Address Age MAC Address Interface

10.80.1.62 00:00:06 INCOMPLETE Vlan6

10.80.6.174 00:00:10 INCOMPLETE Ethernet3/14

10.80.1.161 00:12:59 6c9c.ed44.6841 Ethernet4/10

N7k-A#

スロット3のラインカードに接続されているデバイスのARPキャッシュエントリはINCOMPLETEステータスを示しています。一方、スロット4のラインカードに接続されているスイッチN7k-Cのエントリは、期待どおりに更新されています。

次のDUTログメッセージは、コントロールプレーンレベルへの影響を示します

N7k-A# show logging log

...

2016 Nov 16 22:12:55 N7k-A %BFD-5-SESSION_STATE_DOWN: BFD session 1090519060 to neighbor 10.80.1.62 on interface Vlan6 has gone down. Reason: 0x3.

2016 Nov 16 22:12:55 N7k-A %OSPF-5-ADJCHANGE: ospf-1 [10600] Nbr 10.80.1.62 on Vlan6 went DOWN

2016 Nov 16 22:12:55 N7k-A %BFD-5-SESSION_REMOVED: BFD session to neighbor 10.80.1.62 on interface Vlan6 has been removed

2016 Nov 16 22:12:56 N7k-A %OSPF-5-ADJCHANGE: ospf-1 [10600] Nbr 10.80.1.62 on Vlan6 went EXSTART

2016 Nov 16 22:13:40 N7k-A %OSPF-5-ADJCHANGE: ospf-1 [10600] Nbr 10.80.6.174 on Ethernet3/14 went DOWN

2016 Nov 16 22:13:40 N7k-A %BFD-5-SESSION_STATE_DOWN: BFD session 1090519061 to neighbor 10.80.6.174 on interface Eth3/14 has gone down. Reason: 0x3.

2016 Nov 16 22:13:40 N7k-A %OSPF-5-ADJCHANGE: ospf-1 [10600] Nbr 10.80.6.174 on Ethernet3/14 went EXSTART

2016 Nov 16 22:13:46 N7k-A %BFD-5-SESSION_REMOVED: BFD session to neighbor 10.80.6.174 on interface Eth3/14 has been removed

2016 Nov 16 22:15:45 N7k-A %OSPF-5-ADJCHANGE: ospf-1 [10600] Nbr 10.80.6.174 on Ethernet3/14 went INIT

...

N7k-A#

この出力では、OSPFがDOWN状態からEXSTART状態に切り替わり、次にINIT状態に戻ることに注目してください。これは、OSPFがユニキャストを使用してEXSTART状態の間にプレフィックスを交換するためです。ARPパケットストーム時にスロット3のモジュールでARP解決が不完全であるため、ルート交換が完了せず、OSPF隣接関係が形成されません。

注:ネクストホップのIPからMACへのARP解決は、BFDの動作と同様にユニキャストに依存します。BFDが適切な動作のためにARPを解決する必要があると結論付けることができます。

次の出力は、スロット3のモジュール上のBFDセッションとOSPFセッションの両方に対するARPパケットストームの影響を確認したものです。スロット4のモジュール上のこのBFDセッションとOSPFセッションは確立され、安定しています。

N7k-A# show bfd neighbors

OurAddr NeighAddr LD/RD RH/RS Holdown(mult) State Int

10.80.1.162 10.80.1.161 1090519054/1090519044 Up 5764(3) Up Eth4/10

N7k-A#

N7k-A# show ip ospf neighbors

OSPF Process ID 1

Total number of neighbors: 3

Neighbor ID Pri State Up Time Address Interface

10.80.0.2 1 EXSTART/ - 00:02:54 10.80.1.62 Vlan6

10.80.4.25 1 INIT/DR 00:00:05 10.80.6.174 Eth3/14

10.80.0.3 1 FULL/DR 20:29:28 10.80.1.161 Eth4/10

N7k-A#

ARPパケットストームが停止するとどうなりますか。

ARPパケットストームが停止すると、次の回復が自動的に行われ、ネットワークが収束し始め、ARPブロードキャストストームの前と同じ安定した状態になります。

1. ARPキャッシュエントリがN7k-Aで解決される

2. スロット3のモジュールのBFDセッションを再確立

3. スロット3のモジュールのOSPFセッションを再確立

結論

Cisco NX-OSは、BFDをサポートする互換性のあるモジュールにBFD操作を分散できますが、Nexus 7000プラットフォームのローカルARPキャッシュエントリの更新時間よりも長い間、大量のARPトラフィックがスイッチのCPUに負荷をでさせる。

これは、ユニキャストであるネクストホップのARP解決を必要とするBFD動作に起因する可能性があります。ネクストホップのARPキャッシュエントリが時間内に更新されない場合、BFDセッションは失敗します。