ICMP Router Discovery Protocol – IRDP


Besides Proxy-ARP and Default-gateway, another way for a router or switch to discovery a gateway router is via ICMP Router Discovery Protocol (IRDP). IRDP works by sending out ICMP Router Advertisement (ICMP type 9 packets) out onto the local subnet announcing the router is a potential gateway router and does this by default from a minimum of 450 to a maximum of 600 seconds. It is important to note that these will only be used if IP routing is disabled, proxy-arp is also disabled and the router / switch is configured to the listen to them.

Configuring IRDP – Router / Gateway side announcing to be a IRDP gateway

1) On the interface facing the hosts requiring a gateway. Switch off Proxy-ARP, and enable IRDP

R1(config-if)#int f0/0
R1(config-if)#no ip proxy-arp
R1(config-if)#ip irdp

This enables IRDP to send type 9 ICMP packet with the default timers. This does mean you will be waiting upto 450 to 600 second for the gateway to be populated.

2) (optional) Change the timers for IRDP

R1(config-if)#ip irdp minadvertinterval 10
R1(config-if)#ip irdp maxadvertinterval 60
R1(config-if)#ip irdp holdtime 180

We can see in the show command that the timers have changed.

R1(config-if)#do sh ip irdp

FastEthernet0/0 has router discovery enabled

Advertisements will occur between every 10 and 60 seconds.

Advertisements are sent with broadcasts.

Advertisements are valid for 180 seconds.

Default preference will be 0.

Configuring IRDP – Router / Switch side receiving IRDP announcements

1) Enable device to utilize the IRDP announcements from the IRDP Gateway

Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#no ip routing
Switch(config)#ip gdp irdp

Once configured the gateway will be populated in the following show command

Switch(config)#do sh ip ro
Gateway         Using  Interval  Priority   Interface
1.1.1.1         IRDP       85         0     Vlan100

Default gateway is 1.1.1.1

Host Gateway Last Use Total Uses Interface

ICMP redirect cache is empty

Configuring IRDP to use Multicast

IRDP gateways can be configured to use Multicast instead of broadcast for their announcements (via ICMP type 9 packets)

To configure:

On the adverting gateway

R1(config-if)#ip irdp multicast

The show command will show IRDP using multicast

R1(config-if)#do sh ip irdp FastEthernet0/0 has router discovery enabled

Advertisements will occur between every 10 and 60 seconds.

Advertisements are sent with multicasts

 

On the receiving device

Switch(config)#ip gdp irdp multicast
Switch(config)#ip gdp irdp

The commands MUST be entered in this order or it wont work.

Once entered the device will send a type 10 and request the gateway via 224.0.0.2 (all routers multicast) and the gateway will respond with a type 9

*Mar 1 02:09:26.147: IP: s=1.1.1.100 (local), d=224.0.0.2, len 28, local feature
*Mar 1 02:09:26.147: ICMP type=10, code=0, RCLI(7), rtype 0, forus FALSE, sendself FALSE, mtu 0
*Mar 1 02:09:26.147: IP: s=1.1.1.100 (local), d=224.0.0.2, len 28, local feature
*Mar 1 02:09:26.147: ICMP type=10, code=0, Local Clustering(8), rtype 0, forus FALSE, sendself FALSE, mtu 0
*Mar 1 02:09:26.147: IP: s=1.1.1.100 (local), d=224.0.0.2, len 28, local feature
*Mar 1 02:09:26.147: ICMP type=10, code=0, Wireless Controller(10), rtype 0, forus FALSE, sendself FALSE, mtu 0
*Mar 1 02:09:26.147: IP: s=1.1.1.100 (local), d=224.0.0.2 (Vlan100), len 28, sending broad/multicast
*Mar 1 02:09:26.147: ICMP type=10, code=0
*Mar 1 02:09:26.147: IP: s=1.1.1.100 (local), d=224.0.0.2 (Vlan100), len 28, sending full packet
*Mar 1 02:09:26.156: ICMP type=10, code=0
*Mar 1 02:09:26.156: IP: s=1.1.1.1 (Vlan100), d=1.1.1.100, len 36, input feature
*Mar 1 02:09:26.156: ICMP type=9, code=0, MCI Check(62), rtype 0, forus FALSE, sendself FALSE, mtu 0