Cisco IOSでは、ECMP(または非対称パスの他の原因)とHSRPの組み合わせがデフォルトで壊れています。この設計のデフォルトの動作では、ユニキャストトラフィックが過剰にあふれます。
未知のユニキャストフラッディングを防ぐためにHSRPをECMPで使用するためのベストプラクティスは何ですか?
詳細/背景
多くの施設について、下の最初の図に似たHSRPトポロジがあります。Cisco WANルーターには、他のすべてのサイトへの等コストルートがあります。したがって、常に非対称ルーティングの影響を確認できます。通常、R1をHSRPプライマリに割り当てますが、ECMPはR1またはR2のいずれかを経由するリターントラフィックを許可します。
問題は、PC1がWANを介してリモートiSCSIドライブをマウントすると、トラフィックはR1を介してサイトを離れますが、R2を介して戻る可能性があることです。iSCSIトラフィックがR1を介して戻る限り、問題はありません。
この問題は、PC1のトラフィックがR2経由で戻るときに発生します。iSCSIセッションが8:00:00に開始し、両方のルーターと両方のスイッチがPC1のMACを同時に学習すると仮定します。8:00:00から8:00:05の間は、両方のスイッチのCAMテーブルにPC1のMACアドレスがまだあるため、フラッディングの問題はありません。
iSCSIセッションが開始してから5分後、PC1のMACのS2のCAMエントリはCAMテーブルから期限切れになり、S2はPC1のトラフィックをすべてのポート(この場合はPo1、Gi0 / 3、Gi0 / 4)にフラッディングします。PC1のiSCSIセッションが多くの帯域幅を消費する場合、この未知のユニキャストフラッディングは、PC3およびPC4へのリンクから重要な容量を吸い込む可能性があります。
Cisco IOSスイッチには、300秒のデフォルトCAMタイマーがあります...
S2# show mac address-table aging-time
Vlan Aging Time
---- ----------
1 300
17 300
ただし、Cisco IOSのデフォルトのインターフェイスARPタイマーは4時間です...
R2# show interface gi0/0
GigabitEthernet0/0 is up, line protocol is up
Hardware is AmdP2, address is 000a.dead.beef (bia 000a.dead.beef)
Internet address is 172.17.1.252/24
MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
ARP type: ARPA, ARP Timeout 04:00:00 <--------------
したがって、S2は5分後にPC1のiSCSIトラフィックのフラッディングを開始します。