Email This Page

IRDP: ICMP Router Discovery Protocol

ICMP Router Discovery Protocol (IRDP) enables a host to determine the Router IP address that it can use as a default gateway. IRDP is an alternative router discovery method using a pair of Internet Control Message Protocol(ICMP) messages, for use on multicast links. IRDP eliminates the need for manual configuration of router addresses and is independent of any specific routing protocol. IRDP is similar to ES-IS in an ISO network but it is used with the IP based network.

Hosts must discover routers IP address before they can send IP datagrams outside their subnet.  Typically, this is accomplished by reading a list of one or more router addresses from a (possibly remote) configuration file at startup time. On multicast links, some hosts also discover router addresses by listening to routing protocol traffic. Both of these methods have serious drawbacks: configuration files must be maintained manually -- a significant administrative burden -- and are unable to track dynamic changes in router availability; eavesdropping on routing traffic requires that hosts recognize the particular routing protocols in use, which vary from subnet to subnet and which are subject to change at any time.

ICMP Router Discovery Protocol uses ICMP router advertisements and router solicitation messages to allow 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 router IP address of that interface. Hosts listen for advertisements to discover the addresses of their neighboring routers. When a host attached to a multicast link starts up, it can send a multicast router solicitation to ask for immediate advertisements, rather than waiting for the next periodic ones to arrive; if (and only if) no advertisements are forthcoming, the host may retransmit the solicitation a small number of times, but then must desist from sending any more solicitations. Any routers that subsequently start up, or that were not discovered because of packet loss or temporary link partitioning, are eventually discovered by reception of their periodic (unsolicited) advertisements. (Links that suffer high packet loss rates or frequent partitioning are accommodated by increasing the rate of advertisements, rather than increasing the number of solicitations that hosts are permitted to send.)

The ICMP 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. If a host chooses a poor first-hop router for a particular destination, it should receive an ICMP Redirect from that router, identifying a better one.

Protocol Structure - IRDP: ICMP Router Discovery Protocol

ICMP Router Advertisement Message

8

 16

32 bit

Type

 Code

Checksum

Num addres

Addr Entry Size

Life Time

Router address 1

Preference 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 - 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

 16

32 bit

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.


Related Protocols
IP , IPv6ICMP

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