rfc-4191

Default Router Preferences and More-Specific Routes

R. Draves, D. Thaler
date2005-11 streamIETF areaint wgipv6 statusPROPOSED STANDARD pages15 canonicalhttps://www.rfc-editor.org/rfc/rfc4191 doi10.17487/RFC4191 errataview
This document describes an optional extension to Router Advertisement messages for communicating default router preferences and more-specific routes from routers to hosts. This improves the ability of hosts to pick an appropriate router, especially when the host is multi-homed and the routers are on different links. The preference values and specific routes advertised to hosts require administrative configuration; they are not automatically derived from routing tables. [STANDARDS-TRACK]

Extracted elements (27)

design-rationale §2.3

A new Route Information Option is defined rather than overloading the existing Prefix Information Option because: prefixes typically appear in only one option; the new option is 16 octets vs. 32 for PIO; and a new option may improve backwards-compatibility.

ip, v6ops

design-rationale §2.1

Only three preference values (High, Medium, Low) are defined, encoded as a 2-bit signed integer, to reinforce that these are not metrics; more values were not deemed necessary for reasonable scenarios.

ip, v6ops

design-rationale §1

Router Advertisement messages are used instead of RIP because RAs are an existing stable protocol for router-to-host communication, piggyback on existing traffic to reduce overhead, and RIP is unsuitable because it carries no route lifetimes and requires frequent high-overhead messages.

ip, v6ops

design-rationale §2.2

The Default Router Preference is encoded in the RA message header (in addition to allowing a ::/0 Route Information Option) to distinguish 'best router for default route' from 'router least likely to redirect,' and for efficiency when both roles coincide.

ip, v6ops

interoperability-note §1

The extension is backwards-compatible: Type A hosts (implementing only RFC 2461) ignore the new Prf field and Route Information Options and continue to function as before. Routers advertising preferences must configure settings that work optimally for all host types (A, B, and C) simultaneously.

ip, v6ops

normative-requirement §3.5 MUST NOT

A host MUST NOT probe a router's reachability in the absence of useful traffic that the host would have sent to the router if it were reachable.

ip, v6ops

normative-requirement §2.3 MUST

Bits in the Prefix field of a Route Information Option after the prefix length MUST be initialized to zero by the sender and ignored by the receiver.

ip, v6ops

normative-requirement §3.2 SHOULD

If a Type C host finds no routes matching a destination (no default and no more-specific routes), it SHOULD discard the packet and report a Destination Unreachable/No Route To Destination error to the upper layer.

ip, v6ops

normative-requirement §2.2 MUST

If the Reserved (10) preference value is received in the RA header, the receiver MUST treat it as Medium (00). If received in a Route Information Option, the option MUST be ignored.

ip, v6ops

normative-requirement §2.2 MUST

If the Router Lifetime in a Router Advertisement is zero, the Default Router Preference (Prf) field MUST be set to (00) by the sender and MUST be ignored by the receiver.

ip, v6ops

normative-requirement §4 SHOULD NOT

Preference values (Default Router Preference and Route Preference) SHOULD NOT be routing metrics or automatically derived from metrics; they SHOULD be administratively configured.

ip, v6ops

normative-requirement §2.3 MUST NOT

Routers MUST NOT include two Route Information Options with the same Prefix and Prefix Length in the same Router Advertisement.

ip, v6ops

normative-requirement §4 SHOULD NOT

Routers SHOULD NOT advertise preferences or routes by default, and in particular SHOULD NOT dump their entire routing table to hosts.

ip, v6ops

normative-requirement §4 SHOULD NOT

Routers SHOULD NOT send more than 17 Route Information Options in Router Advertisements per link, reinforcing that relatively few and carefully selected routes should be advertised.

ip, v6ops

normative-requirement §2.2 MUST

The Reserved (Resvd) 3-bit field in the RA header MUST be initialized to zero by the sender and MUST be ignored by the receiver.

ip, v6ops

normative-requirement §4 SHOULD NOT

Unstable routes SHOULD NOT be announced to hosts until their stability has improved, to prevent excessive load on hosts during periods of routing instability.

ip, v6ops

normative-requirement §3.5 SHOULD

When a host avoids a non-reachable preferred router X and uses router Y instead, the host SHOULD probe router X's reachability by sending a single Neighbor Solicitation. Such probes MUST be rate-limited to no more than one per minute per router.

ip, v6ops

normative-requirement §3.3 MUST

When a Type C host updates its Routing Table after processing a Router Advertisement, it MUST invalidate or remove Destination Cache Entries and redo next-hop determination for affected destinations.

ip, v6ops

normative-requirement §4 SHOULD

When ceasing to be an advertising interface (Router Lifetime = 0), the Router Advertisement SHOULD also set Route Lifetime to zero in all Route Information Options.

ip, v6ops

protocol-element §3.1

Three host implementation types are defined: Type A ignores preferences and more-specific routes (RFC 2461 behavior); Type B uses Default Router Preference but ignores Route Information Options; Type C uses a full Routing Table with both Default Router Preference and Route Information Options.

ip, v6ops

protocol-element §3.1

Type C host routing table entries contain: prefix, prefix length, preference value, lifetime, and next-hop router. A ::/0 route is updated from the RA header; Route Information Options override header preference/lifetime for ::/0.

ip, v6ops

protocol-element §3.2

Type C host sending algorithm performs longest-prefix match in the Routing Table, using route preference as a tie-breaker. Non-reachable routers are skipped and the next best route is consulted iteratively.

ip, v6ops

registry §7

The Route Information Option is assigned Type value 24 within the IPv6 Neighbor Discovery Option Formats numbering space (IANA registry).

ip, v6ops, registry

security-consideration §6

A malicious node could overload hosts with a large number of routes in Route Information Options or very frequent Router Advertisements. The same attack already exists with Prefix Information Options, and SEND WG work on securing router discovery messages is intended to address these threats.

security, ip, v6ops

security-consideration §6

A malicious node could send Router Advertisements with High Default Router Preference or specific routes to divert traffic from legitimate routers, or include infinite Route Information Option lifetimes causing routes to linger indefinitely. These attacks mirror existing Prefix Information Option attacks but cause continued reachability probing rather than loss of connectivity.

security, ip, v6ops

wire-format §2.1

The Default Router Preference (Prf) field is a 2-bit signed integer added to the Router Advertisement message header, occupying bits formerly reserved. Values are: 01=High, 00=Medium (default), 11=Low, 10=Reserved (MUST NOT be sent).

ip, v6ops

wire-format §2.3

The Route Information Option (Type=24) carries a Prefix Length (8-bit), a 2-bit Route Preference (Prf), a 32-bit Route Lifetime, and a variable-length Prefix field. Length field is 1, 2, or 3 units of 8 octets depending on Prefix Length.

ip, v6ops, registry