特定のパケットがSPDのどのキューで保護されているかを確認する方法

ドキュメント

2014/03/18 - 23:51
5月 15th, 2012
User Badges:
  • Silver, 250 points or more

SPD(Selective Packet Discard) により、ルーティングプロトコル等のコントロールパケットが保護される機能がありますが、IOSバージョンによって実装が異なる場合や、特定のプラットフォームでは動作が異なったりする場合があるため、該当パケットが headroom や extended headroom で保護されるかを確認する方法を紹介します。

SPD の詳細については、下記ページを参照ください。

上記ページから、BGP と OSPF では下記のように入るキューが異なります。

  • BGP : Headroom
  • OSPF : Extended Headroom

また下記 show ip spd コマンドにより、Headroom は 100、 Extended Headroom は 75 ということが分かります。

Router#sh ip spd
Current mode: init.
Queue min/max thresholds: 73/74, Headroom: 100, Extended Headroom: 75
IP normal queue: 0, priority queue: 0.
SPD special drop mode: none

OSPF や BGP がどのキューに入っているかを確認するためには、意図的に OSPF Hello を対象ルータへ大量に送信し、show interface の Input queue を確認することでどのキューまで入っているかを確認できます。

router#show interfaces FastEthernet 0/0  ...
  Input queue: 201/75/0/0 (size/max/drops/flushes); Total output drops: 0

 

上記出力は OSPF Hello を大量に受信した場合の出力となり、Input queue 75 + Headroom 100 よりも大きいため、Extended Headroom まで入っていると判断できます。

上記キューに入っていることが確認できるタイミングは非常にわずかな時間となるため、上記のような状態を確認するには show interface コマンドを複数回取得する必要があります。

トラブルシューティングにおいても、ログから上記のように default の Input queue サイズ以上のパケットが確認できる場合は、保護対象のパケットを大量に受信している状況と判断することができます。

選択的 パケット 廃棄(SPD)の理解と利用

 

 

Loading.

アクション

このドキュメントについて