IRDPはICMPによりデフォルトルートを通知します。プライマリルートがダウンした際に新しいルートを通知するため何やらHSRPやらVRRPなどの冗長化と似ています。ただし、あまり使われることはないそうです。
IRDPserver側設定
IRDPはデフォルトで無効
設定一覧は以下の通り
ip irdp | irdp有効 (デフォルト:無効) |
ip irdp multicast | アドバタイズをマルチキャストで行う (デフォルト:ブロードキャスト) |
ip irdp maxadvertinterval | アドバタイズまでの最大インターバル値 1-1800(秒)(デフォルト:600) |
ip irdp minadvertinterval | アドバタイズまでの最小インターバル値 1-1800(秒)(デフォルト:450) |
ip irdp holdtime | 有効とみなされるアドバタイズメントのホールドタイム値 maxadvertinterval値の3倍以上を設定 |
ip irdp preference | ルータの優先度 値が大きいほど優先されプライマリルートとなる (デフォルト:0) |
R1設定(ブロードキャストで設定)
R1(config-if)#ip address 192.168.0.1 255.255.255.0
R1(config-if)#ip irdp
R1(config-if)#ip irdp maxadvertinterval 6
R1(config-if)#ip irdp minadvertinterval 3
R1(config-if)#ip irdp holdtime 18
R1(config-if)#ip irdp preference 100
R2設定(マルチキャストで設定)
R2(config-if)#ip address 192.168.0.2 255.255.255.0
R2(config-if)#ip irdp
R2(config-if)#ip irdp multicast
R2(config-if)#ip irdp maxadvertinterval 6
R2(config-if)#ip irdp minadvertinterval 3
R2(config-if)#ip irdp holdtime 18
debug ip icmpコマンドによりIRDPパケットが送信されていることを確認できます。
R1#debug ip icmp
ICMP packet debugging is on
R1#
*Mar 1 00:55:47.863: ICMP: src=192.168.0.1, dst=255.255.255.255, irdp advertisement sent
*Mar 1 00:55:47.863: IRDP: entries=1, size=2, lifetime=18, bytes=36
*Mar 1 00:55:47.863: IRDP: address=192.168.0.1 preference=100
R2#debug ip icmp
ICMP packet debugging is on
R2#
*Mar 1 00:52:54.447: ICMP: src=192.168.0.2, dst=224.0.0.1, irdp advertisement sent
*Mar 1 00:52:54.447: IRDP: entries=1, size=2, lifetime=18, bytes=36
*Mar 1 00:52:54.447: IRDP: address=192.168.0.2 preference=0
パケットキャプチャも確認してみます。
R1はブロードキャスト(255.255.255.255)、R2はマルチキャスト(224.0.0.1)でICMPパケットを送信しており設定値通りとなっています。
IRDPclient側設定
検証のためルーティングを無効にします。(no ip routing)
元々IRDPはルーティングが無効になっている機器に対しての通知機能だからです。
IRDPを有効にするためにip irdpコマンドを投入後show ip routeコマンドによりデフォルトゲートウェイを確認します。
コメントを書く