ICMP Router Discovery Protocol (IRDP) enables a host to determine the address of a router that it can use as a default gateway. Similar to ES-IS but used with IP.
Router discovery uses Internet Control Message Protocol (ICMP) router advertisements and router solicitation messages to allow a host to discover the addresses of operational routers on the subnet. Hosts must discover routers before they can send IP datagrams outside their subnet. Router discovery allows a host to discover the addresses of operational routers on the subnet.
Each router periodically multicasts a router advertisement from each of its multicast interfaces, announcing the IP address of that interface. Hosts listen for advertisements to discover the addresses of their neighboring routers. When a host starts, it can send a multicast router solicitation to ask for immediate advertisements.
The router discovery messages do not constitute a routing protocol. They enable hosts to discover the existence of neighboring routers, but do not determine which router is best to reach a particular destination.
Protocol Structure
ICMP Router Advertisement Message
| 8 bits | 16 bits | 32 bits |
| Type | Code | Checksum |
| Num addres | Addr Entry Size | Life Time |
| Router address 1 | ||
| ference Level 1 | ||
IP Fields:
- Source Address - An IP address belonging to the interface from which this message is sent.
- Destination Address - The configured Advertisement Address or the IP address of a neighboring host.
- Time-to-Live - 1 if the Destination Address is an IP multicast address; at least 1 otherwise.
ICMP Fields:
- Type - 9
- Code C 0
- Checksum - The 16-bit one"s complement of the one"s complement sum of the ICMP message, starting with the ICMP Type. For computing the checksum, the Checksum field is set to 0.
- Num Addrs - The number of router addresses advertised in this message.
- Addr Entry Size - The number of 32-bit words of information per each router address (2, in the version of the protocol described here).
- Lifetime - The maximum number of seconds that the router addresses may be considered valid.
- Router Address[i] - The sending router"s IP address(es) on the i = 1..Num Addrs interface from which this message is sent.
- Preference Level[i] - The preferability of each Router Address[i] i = 1..Num Addrs as a default router address, relative to other router addresses on the same subnet.
ICMP Router Solicitation Message:
| 8 bits | 16 bits | 32 bits |
| Type | Code | Checksum |
| Reserved | ||
P Fields:
- Source Address - An IP address belonging to the interface from which this message is sent, or 0.
- Destination Address - The configured SolicitationAddress.
- Time-to-Live - 1 if the Destination Address is an IP multicast address; at least 1 otherwise.
ICMP Fields:
- Type - 10
- Code - 0
- Checksum - The 16-bit one"s complement of the one"s complement sum of the ICMP message, starting with the ICMP Type. For computing the checksum, the Checksum field is set to 0.
- Reserved - Sent as 0; ignored on reception.
Sponsor Source: IRDP is defined by IETF (http://www.ietf.org) RFC 1256.
Reference:
http://www.javvin.com/protocol/rfc1256.pdf: ICMP Router Discovery Messages
http://www.javvin.com/protocol/rfc792.pdf: Internet Control Message Protocol
http://www.javvin.com/protocol/rfc2463.pdf: ICMPv6 for the Internet Protocol Version 6 (IPv6) Specification
