ICMP Unreachableの送信間隔(Cisco機器)

ICMP Unreachableの送信間隔(Cisco機器)

Cisco機器がICMP Unreachableを送信する間隔について、CMLで環境を構築し検証します。

目次

ネットワーク構成

以下のネットワークをCMLで構築し検証を行います。

ネットワーク構成

各機器の設定

疎通確認

Router1からRouter3のLoopback1(1.1.1.1)に向けてPingを実施し、疎通可能であることを確認します。

Router1
ping 1.1.1.1
Router1#ping 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/5/7 ms

ICMP Unreachableの送信間隔の確認

ICMP Unreachableが送信される環境の構築

Router2の1.1.1.1向けのルーティング設定を削除し、ICMP Unreachableが送信されるようにします。

Router2
no ip route 1.1.1.1 255.255.255.255 192.168.2.3

Router1からRouter3のLoopback1(1.1.1.1)に向けてPingを実施し、疎通不可であることを確認します。※Ping結果に、Unreachableを示す”U”が表示されることを確認します。Unreachableの送信間隔が分かりやすいようにPing回数を10回にしています。

Router1
ping 1.1.1.1 repeat 10
Router1#ping 1.1.1.1 repeat 10
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
U.U.U.U.U.
Success rate is 0 percent (0/10)

パケットキャプチャ確認

Router1-Router2間のパケットキャプチャを確認すると、Router2から2回に1回の割合で、Destination unreachable (Host unreachable) が送信されていることが分かります。

パケットキャプチャ(デフォルト)

ip icmp rate-limit unreachable (ICMP到達不能レート制限)

全てのPingにDestination unreachable (Host unreachable)を返さない理由は、「ip icmp rate-limit unreachable」という設定で、ルーターが到達不能メッセージを返す間隔(割合)を制限しているからです。

Cisco機器のデフォルト設定は、500(msec)となっています。

show run all | inc rate-limit unreachable
show ip icmp rate-limit 
Router2#show run all | inc rate-limit unreachable
ip icmp rate-limit unreachable 500

Router2#show ip icmp rate-limit 

                           DF bit unreachables       All other unreachables   
Interval (millisecond)     500                       500                      

設定は、1-4294967295 の間で、msec(ミリ秒)で指定できます。

Router2(config)#ip icmp rate-limit unreachable ?  
  <1-4294967295>  Once per milliseconds

ICMP Unreachableの送信間隔の変更

送信間隔の制限を変更し、到達不能メッセージの送信状況を確認します。

送信間隔の制限を削除

Router2で下記のコマンドを実施し、送信間隔制限を削除します。

Router2
no ip icmp rate-limit unreachable

Router1からRouter3のLoopback1(1.1.1.1)に向けてPingを実施します。Ping結果は、全て”U”となりました。

Router1
ping 1.1.1.1 repeat 10
Router1#ping 1.1.1.1 repeat 10
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
UUUUUUUUUU
Success rate is 0 percent (0/10)

パケットキャプチャ確認

Router1-Router2間のパケットキャプチャを確認すると、全てのICMPに対して、Destination unreachable (Host unreachable) が送信されていることが分かります。

パケットキャプチャ(no ip icmp rate-limit unreachable)

送信間隔の制限を3000msecに変更

Router2で下記のコマンドを実施し、送信間隔制限を3000(msec)に変更します。

Router2
ip icmp rate-limit unreachable 3000

Router1からRouter3のLoopback1(1.1.1.1)に向けてPingを実施します。Ping結果は、3回に1回の割合で”U”となりました。

Router1
ping 1.1.1.1 repeat 10
Router1#ping 1.1.1.1 repeat 10
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
U..U..U..U
Success rate is 0 percent (0/10)

パケットキャプチャ確認

Router1-Router2間のパケットキャプチャを確認すると、Router2から3回に1回の割合で、Destination unreachable (Host unreachable) が送信されていることが分かります。※前回のUnreachableから3秒以内のパケットに対しては、Unreachableを返していません。

パケットキャプチャ(ip icmp rate-limit unreachable 3000)

ICMP到達不能レート制限の目的

この機能は、ルーターへのDoS攻撃等による処理不可上昇の回避を目的としています。しかし、到達不能メッセージ(ICMP Unreachable)を契機に処理を変えるようなアプリケーションを実装している場合には考慮が必要となります。

以上で、ICMP Unreachableの送信間隔(Cisco機器)の説明は完了です!

【関連】通信経路上のMTU確認方法(Cisco機器)

  • URLをコピーしました!
  • URLをコピーしました!
目次