draft-ietf-ipv6-router-selection-06.txt   draft-ietf-ipv6-router-selection-07.txt 
IPng Working Group R. Draves IPng Working Group R. Draves
Internet Draft D. Thaler Internet Draft D. Thaler
Document: draft-ietf-ipv6-router-selection-06.txt Microsoft Document: draft-ietf-ipv6-router-selection-07.txt Microsoft
October 11, 2004 January 17, 2005
Default Router Preferences and More-Specific Routes Default Router Preferences and More-Specific Routes
Status of this Memo Status of this Memo
By submitting this Internet-Draft, I certify that any applicable By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed, patent or other IPR claims of which I am aware have been disclosed,
or will be disclosed, and any of which I become aware will be or will be disclosed, and any of which I become aware will be
disclosed, in accordance with RFC 3668. disclosed, in accordance with RFC 3668.
skipping to change at line 34 skipping to change at line 34
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright (C) The Internet Society (2005). All Rights Reserved.
Abstract Abstract
This document describes an optional extension to Router This document describes an optional extension to Router
Advertisement messages for communicating default router preferences Advertisement messages for communicating default router preferences
and more-specific routes from routers to hosts. This improves the and more-specific routes from routers to hosts. This improves the
ability of hosts to pick an appropriate router, especially when the ability of hosts to pick an appropriate router, especially when the
host is multi-homed and the routers are on different links. The host is multi-homed and the routers are on different links. The
preference values and specific routes advertised to hosts require preference values and specific routes advertised to hosts require
administrative configuration; they are not automatically derived administrative configuration; they are not automatically derived
skipping to change at line 56 skipping to change at line 56
1. Introduction 1. Introduction
Neighbor Discovery [RFC2461] specifies a conceptual model for hosts Neighbor Discovery [RFC2461] specifies a conceptual model for hosts
that includes a Default Router List and a Prefix List. Hosts send that includes a Default Router List and a Prefix List. Hosts send
Router Solicitation messages and receive Router Advertisement Router Solicitation messages and receive Router Advertisement
messages from routers. Hosts populate their Default Router List and messages from routers. Hosts populate their Default Router List and
Prefix List based on information in the Router Advertisement Prefix List based on information in the Router Advertisement
messages. A conceptual sending algorithm uses the Prefix List to messages. A conceptual sending algorithm uses the Prefix List to
Draves Expires April 2005 1 Draves Expires July 2005 1
determine if a destination address is on-link and the Default Router determine if a destination address is on-link and the Default Router
List to select a router for off-link destinations. List to select a router for off-link destinations.
In some network topologies where the host has multiple routers on In some network topologies where the host has multiple routers on
its Default Router List, the choice of router for an off-link its Default Router List, the choice of router for an off-link
destination is important. In some situations, one router may provide destination is important. In some situations, one router may provide
much better performance than another for a destination. In other much better performance than another for a destination. In other
situations, choosing the wrong router may result in a failure to situations, choosing the wrong router may result in a failure to
communicate. (A later section gives specific examples of these communicate. (A later section gives specific examples of these
scenarios.) scenarios.)
skipping to change at line 114 skipping to change at line 114
routers to hosts reduces network overhead. Neighbor Discovery shares routers to hosts reduces network overhead. Neighbor Discovery shares
with Multicast Listener Discovery the property that they both define with Multicast Listener Discovery the property that they both define
host-to-router interactions, while shielding the host from having to host-to-router interactions, while shielding the host from having to
participate in more general router-to-router interactions. In participate in more general router-to-router interactions. In
addition, RIP is unsuitable because it does not carry route addition, RIP is unsuitable because it does not carry route
Draves Expires April 2005 2 Draves Expires April 2005 2
lifetimes so it requires frequent message traffic with greater lifetimes so it requires frequent message traffic with greater
processing overheads. processing overheads.
In addition, this document addresses the problem of tracking
reachability of a hostĘs routers so that it does not try to use
routers which it believes are unreachable. Using end-to-end
information is required to solve cases where the router advertises
itself to hosts, but the path to the desired destination is broken
at some other point. This problem is outside the scope of this
document and is left for future work.
The mechanisms specified here are backwards-compatible, so that The mechanisms specified here are backwards-compatible, so that
hosts that do not implement them continue to function as well as hosts that do not implement them continue to function as well as
they did previously. they did previously.
1.1. Conventions used in this document 1.1. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in [RFC2119]. this document are to be interpreted as described in [RFC2119].
skipping to change at line 156 skipping to change at line 148
integer. integer.
Having just three values reinforces that they are not metrics and Having just three values reinforces that they are not metrics and
more values do not appear to be necessary for reasonable scenarios. more values do not appear to be necessary for reasonable scenarios.
2.2. Changes to Router Advertisement Message Format 2.2. Changes to Router Advertisement Message Format
The changes from Neighbor Discovery [RFC2461] section 4.2 and The changes from Neighbor Discovery [RFC2461] section 4.2 and
[RFC3775] section 7.1 are as follows: [RFC3775] section 7.1 are as follows:
Draves Expires April 2005 3
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum | | Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cur Hop Limit |M|O|H|Prf|Resvd| Router Lifetime | | Cur Hop Limit |M|O|H|Prf|Resvd| Router Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reachable Time | | Reachable Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Retrans Timer | | Retrans Timer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options ... | Options ...
+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+-+-+-+-
Fields: Fields:
Draves Expires April 2005 3
Prf (Default Router Preference) Prf (Default Router Preference)
2-bit signed integer. Indicates whether or not to prefer 2-bit signed integer. Indicates whether or not to prefer
this router over other default routers. If Router this router over other default routers. If Router
Lifetime is zero, the preference value MUST be set to Lifetime is zero, the preference value MUST be set to
(00) by the sender and MUST be ignored by the receiver. (00) by the sender and MUST be ignored by the receiver.
If the Reserved (10) value is received, the receiver If the Reserved (10) value is received, the receiver
MUST treat the value as if it were (00). MUST treat the value as if it were (00).
Resvd (Reserved) Resvd (Reserved)
A 3-bit unused field. It MUST be initialized to zero by A 3-bit unused field. It MUST be initialized to zero by
skipping to change at line 208 skipping to change at line 200
1. It allows for a distinction between the "best router for the 1. It allows for a distinction between the "best router for the
default route" and the "router least likely to redirect common default route" and the "router least likely to redirect common
traffic", as described below in section 5.1. traffic", as described below in section 5.1.
2. When the best router for the default route is also the router 2. When the best router for the default route is also the router
least likely to redirect common traffic (which will be a common least likely to redirect common traffic (which will be a common
case), encoding the preference value in the message header is more case), encoding the preference value in the message header is more
efficient than having to send a separate option. efficient than having to send a separate option.
Draves Expires April 2005 4
2.3. Route Information Option 2.3. Route Information Option
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Prefix Length |Resvd|Prf|Resvd| | Type | Length | Prefix Length |Resvd|Prf|Resvd|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Route Lifetime | | Route Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix (Variable Length) | | Prefix (Variable Length) |
. . . .
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Fields: Fields:
Type TBD Type TBD
Draves Expires April 2005 4
Length 8-bit unsigned integer. The length of the option Length 8-bit unsigned integer. The length of the option
(including the Type and Length fields) in units of (including the Type and Length fields) in units of
8 octets. The Length field is 1, 2, or 3 depending on 8 octets. The Length field is 1, 2, or 3 depending on
Prefix Length. If Prefix Length is greater than 64, then Prefix Length. If Prefix Length is greater than 64, then
Length must be 3. If Prefix Length is greater than 0, Length must be 3. If Prefix Length is greater than 0,
then Length must be 2 or 3. If Prefix Length is zero, then Length must be 2 or 3. If Prefix Length is zero,
then Length must be 1, 2, or 3. then Length must be 1, 2, or 3.
Prefix Length Prefix Length
8-bit unsigned integer. The number of leading bits in 8-bit unsigned integer. The number of leading bits in
skipping to change at line 263 skipping to change at line 254
Route Lifetime Route Lifetime
32-bit unsigned integer. The length of time in seconds 32-bit unsigned integer. The length of time in seconds
(relative to the time the packet is sent) that the (relative to the time the packet is sent) that the
prefix is valid for route determination. A value of all prefix is valid for route determination. A value of all
one bits (0xffffffff) represents infinity. one bits (0xffffffff) represents infinity.
Prefix Variable-length field containing an IP address or a Prefix Variable-length field containing an IP address or a
prefix of an IP address. The Prefix Length field prefix of an IP address. The Prefix Length field
contains the number of valid leading bits in the prefix. contains the number of valid leading bits in the prefix.
Draves Expires April 2005 5
The bits in the prefix after the prefix length (if any) The bits in the prefix after the prefix length (if any)
are reserved and MUST be initialized to zero by the are reserved and MUST be initialized to zero by the
sender and ignored by the receiver. sender and ignored by the receiver.
Routers MUST NOT include two Route Information Options with the same Routers MUST NOT include two Route Information Options with the same
Prefix and Prefix Length in the same Router Advertisement. Prefix and Prefix Length in the same Router Advertisement.
Discussion: Discussion:
There are several reasons for using a new Route Information Option, There are several reasons for using a new Route Information Option,
instead of using flag bits to overload the existing Prefix instead of using flag bits to overload the existing Prefix
Information Option: Information Option:
1. Prefixes will typically only show up in one or the other kind 1. Prefixes will typically only show up in one or the other kind
of option, not both, so a new option does not introduce of option, not both, so a new option does not introduce
duplication. duplication.
Draves Expires April 2005 5
2. The Route Information Option is typically 16 octets while the 2. The Route Information Option is typically 16 octets while the
Prefix Information Option is 32 octets. Prefix Information Option is 32 octets.
3. Using a new option may improve backwards-compatibility with 3. Using a new option may improve backwards-compatibility with
some host implementations. some host implementations.
3. Conceptual Model of a Host 3. Conceptual Model of a Host
There are three possible conceptual models for host implementation There are three possible conceptual models for host implementation
of default router preferences and more-specific routes, of default router preferences and more-specific routes,
skipping to change at line 318 skipping to change at line 308
beyond the scope of this document.) Entries in the Routing Table beyond the scope of this document.) Entries in the Routing Table
have a prefix, prefix length, preference value, lifetime, and next- have a prefix, prefix length, preference value, lifetime, and next-
hop router. Type C hosts use both the Default Router Preference hop router. Type C hosts use both the Default Router Preference
value in the Router Advertisement header and Route Information value in the Router Advertisement header and Route Information
Options. Options.
When a type C host receives a Router Advertisement, it modifies its When a type C host receives a Router Advertisement, it modifies its
Routing Table as follows. When processing a Router Advertisement, a Routing Table as follows. When processing a Router Advertisement, a
type C host first updates a ::/0 route based on the Router Lifetime type C host first updates a ::/0 route based on the Router Lifetime
and Default Router Preference in the Router Advertisement message and Default Router Preference in the Router Advertisement message
Draves Expires April 2005 6
header. Then as the host processes Route Information Options in the header. Then as the host processes Route Information Options in the
Router Advertisement message body, it updates its routing table for Router Advertisement message body, it updates its routing table for
each such option. The Router Preference and Lifetime values in a each such option. The Router Preference and Lifetime values in a
::/0 Route Information Option override the preference and lifetime ::/0 Route Information Option override the preference and lifetime
values in the Router Advertisement header. Updating each route is values in the Router Advertisement header. Updating each route is
done as follows. A route is located in the Routing Table based on done as follows. A route is located in the Routing Table based on
prefix, prefix length, and next-hop router. If the received route's prefix, prefix length, and next-hop router. If the received route's
lifetime is zero, the route is removed from the Routing Table if lifetime is zero, the route is removed from the Routing Table if
present. If a route's lifetime is non-zero, the route is added to present. If a route's lifetime is non-zero, the route is added to
the Routing Table if not present and the route's lifetime and the Routing Table if not present and the route's lifetime and
preference is updated if the route is already present. preference is updated if the route is already present.
For example, suppose hosts receive a Router Advertisement from For example, suppose hosts receive a Router Advertisement from
router X with a Router Lifetime of 100 seconds and Default Router router X with a Router Lifetime of 100 seconds and Default Router
Preference of Medium. The body of the Router Advertisement contains Preference of Medium. The body of the Router Advertisement contains
a Route Information Option for ::/0 with a Route Lifetime of 200 a Route Information Option for ::/0 with a Route Lifetime of 200
seconds and a Route Preference of Low. After processing the Router seconds and a Route Preference of Low. After processing the Router
Draves Expires April 2005 6
Advertisement, a type A host will have an entry for router X in its Advertisement, a type A host will have an entry for router X in its
Default Router List with lifetime 100 seconds. If a type B host Default Router List with lifetime 100 seconds. If a type B host
receives the same Router Advertisement, it will have an entry for receives the same Router Advertisement, it will have an entry for
router X in its Default Router List with Medium preference and router X in its Default Router List with Medium preference and
lifetime 100 seconds. A type C host will have an entry in its lifetime 100 seconds. A type C host will have an entry in its
Routing Table for ::/0 -> router X, with Low preference and lifetime Routing Table for ::/0 -> router X, with Low preference and lifetime
200 seconds. A type C host MAY have a transient state, during 200 seconds. A type C host MAY have a transient state, during
processing of the Router Advertisement, in which it has an entry in processing of the Router Advertisement, in which it has an entry in
its Routing Table for ::/0 -> router X with Medium preference and its Routing Table for ::/0 -> router X with Medium preference and
lifetime 100 seconds. lifetime 100 seconds.
skipping to change at line 366 skipping to change at line 356
values. If the host has no information about the router's values. If the host has no information about the router's
reachability then the host assumes the router is reachable. reachability then the host assumes the router is reachable.
When a type C host does next-hop determination and consults its When a type C host does next-hop determination and consults its
Routing Table for an off-link destination, it searches its routing Routing Table for an off-link destination, it searches its routing
table to find the route with the longest prefix that matches the table to find the route with the longest prefix that matches the
destination, using route preference values as a tie-breaker if destination, using route preference values as a tie-breaker if
multiple matching routes have the same prefix length. If the best multiple matching routes have the same prefix length. If the best
route points to a non-reachable router, this router is remembered route points to a non-reachable router, this router is remembered
for the algorithm described in section 3.5 below, and the next best for the algorithm described in section 3.5 below, and the next best
route is consulted. This check is repeated until a route is found route is consulted. This check is repeated until a matching route
that points to a reachable router, or no matching routes remain. is found that points to a reachable router, or no matching routes
Again, if the host has no information about the router's remain. Again, if the host has no information about the router's
reachability then the host assumes the router is reachable. reachability then the host assumes the router is reachable.
If there are no routes matching the destination (i.e., no default If there are no routes matching the destination (i.e., no default
routes and no more-specific routes), then a type C host SHOULD routes and no more-specific routes), then a type C host SHOULD
Draves Expires April 2005 7
discard the packet and report a Destination Unreachable / No Route discard the packet and report a Destination Unreachable / No Route
To Destination error to the upper layer. To Destination error to the upper layer.
3.3. Destination Cache Management 3.3. Destination Cache Management
When a type C host processes a Router Advertisement and updates its When a type C host processes a Router Advertisement and updates its
conceptual Routing Table, it MUST invalidate or remove Destination conceptual Routing Table, it MUST invalidate or remove Destination
Cache Entries and redo next-hop determination for destinations Cache Entries and redo next-hop determination for destinations
affected by the Routing Table changes. affected by the Routing Table changes.
3.4. Client Configurability 3.4. Client Configurability
Type B and C hosts MAY be configurable with preference values that Type B and C hosts MAY be configurable with preference values that
override the values in Router Advertisements received. This is override the values in Router Advertisements received. This is
especially useful for dealing with routers which may not support especially useful for dealing with routers which may not support
preferences. preferences.
Draves Expires April 2005 7
3.5. Router Reachability Probing 3.5. Router Reachability Probing
When a host avoids using any non-reachable router X and instead When a host avoids using any non-reachable router X and instead
sends a data packet to another router Y, and the host would have sends a data packet to another router Y, and the host would have
used router X if router X were reachable, then the host SHOULD probe used router X if router X were reachable, then the host SHOULD probe
each such router X's reachability by sending a single Neighbor each such router X's reachability by sending a single Neighbor
Solicitation to that router's address. A host MUST NOT probe a Solicitation to that router's address. A host MUST NOT probe a
router's reachability in the absence of useful traffic that the host router's reachability in the absence of useful traffic that the host
would have sent to the router if it were reachable. In any case, would have sent to the router if it were reachable. In any case,
these probes MUST be rate-limited to no more than one per minute per these probes MUST be rate-limited to no more than one per minute per
skipping to change at line 428 skipping to change at line 418
3.6. Example 3.6. Example
Suppose a type C host has four entries in its Routing Table: Suppose a type C host has four entries in its Routing Table:
::/0 -> router W with Medium preference ::/0 -> router W with Medium preference
2002::/16 -> router X with Medium preference 2002::/16 -> router X with Medium preference
2001:db8::/32-> router Y with High preference 2001:db8::/32-> router Y with High preference
2001:db8::/32-> router Z with Low preference 2001:db8::/32-> router Z with Low preference
and the host is sending to 2001:db8::1, an off-link destination. If and the host is sending to 2001:db8::1, an off-link destination. If
all routers are reachable, then the host will choose router Y. If all routers are reachable, then the host will choose router Y. If
router Y is not reachable, then router Z will be chosen and the router Y is not reachable, then router Z will be chosen and the
Draves Expires April 2005 8
reachability of router Y will be probed. If routers Y and Z are not reachability of router Y will be probed. If routers Y and Z are not
reachable, then router W will be chosen and the reachability of reachable, then router W will be chosen and the reachability of
routers Y and Z will be probed. If routers W, Y, and Z are all not routers Y and Z will be probed. If routers W, Y, and Z are all not
reachable, then the host should use Y while probing the reachability reachable, then the host should use Y while probing the reachability
of W and Z. Router X will never be chosen because its prefix does of W and Z. Router X will never be chosen because its prefix does
not match the destination. not match the destination.
4. Router Configuration 4. Router Configuration
Routers SHOULD NOT advertise preferences or routes by default. In Routers SHOULD NOT advertise preferences or routes by default. In
particular, they SHOULD NOT "dump out" their entire routing table to particular, they SHOULD NOT "dump out" their entire routing table to
hosts. hosts.
Routers MAY have a configuration mode where announcement of a
specific prefix is dependent on a specific condition, such as
operational status of a link or presence of the same or another
prefix in the routing table installed by another source, such as a
Draves Expires April 2005 8
dynamic routing protocol. If done, router implementations SHOULD
make sure that announcement of prefixes to hosts is decoupled from
the routing table dynamics to prevent excessive load on hosts during
periods of routing instability. In particular, unstable routes
SHOULD NOT be announced to hosts until their stability has improved.
Routers SHOULD NOT send more than 17 Route Information Options in Routers SHOULD NOT send more than 17 Route Information Options in
Router Advertisements per link. This arbitrary bound is meant to Router Advertisements per link. This arbitrary bound is meant to
reinforce that relatively few and carefully selected routes should reinforce that relatively few and carefully selected routes should
be advertised to hosts. be advertised to hosts.
The preference values (both Default Router Preferences and Route The preference values (both Default Router Preferences and Route
Preferences) SHOULD NOT be routing metrics or automatically derived Preferences) SHOULD NOT be routing metrics or automatically derived
from metrics: the preference values SHOULD be configured. from metrics: the preference values SHOULD be configured.
The information contained in Router Advertisements may change The information contained in Router Advertisements may change
skipping to change at line 482 skipping to change at line 482
through a firewall that blocks general traffic, should configure the through a firewall that blocks general traffic, should configure the
router to advertise a Low Default Router Preference. router to advertise a Low Default Router Preference.
In addition, the administrator of a router should configure the In addition, the administrator of a router should configure the
router to advertise a specific route for the site prefix of the router to advertise a specific route for the site prefix of the
network(s) to which the router belongs. The administrator may also network(s) to which the router belongs. The administrator may also
configure the router to advertise specific routes for directly configure the router to advertise specific routes for directly
connected subnets and any shorter prefixes for networks to which the connected subnets and any shorter prefixes for networks to which the
router belongs. router belongs.
Draves Expires April 2005 9
For example, if a home user sets up a tunnel into a firewalled For example, if a home user sets up a tunnel into a firewalled
corporate network, the access router on the corporate network end of corporate network, the access router on the corporate network end of
the tunnel should advertise itself as a default router, but with a the tunnel should advertise itself as a default router, but with a
Low preference. Furthermore the corporate router should advertise a Low preference. Furthermore the corporate router should advertise a
specific route for the corporate site prefix. The net result is that specific route for the corporate site prefix. The net result is that
destinations in the corporate network will be reached via the destinations in the corporate network will be reached via the
tunnel, and general Internet destinations will be reached via the tunnel, and general Internet destinations will be reached via the
home ISP. Without these mechanisms, the home machine might choose to home ISP. Without these mechanisms, the home machine might choose to
Draves Expires April 2005 9
send Internet traffic into the corporate network or corporate send Internet traffic into the corporate network or corporate
traffic into the Internet, leading to communication failure because traffic into the Internet, leading to communication failure because
of the firewall. of the firewall.
It is worth noting that the network administrator setting up It is worth noting that the network administrator setting up
preferences and/or more specific routes in Routing Advertisements preferences and/or more specific routes in Routing Advertisements
typically does not know which kind of nodes (Type A, B, and/or C) typically does not know which kind of nodes (Type A, B, and/or C)
will be connected to its links. This requires that the administrator will be connected to its links. This requires that the administrator
will need to configure the settings that will work in an optimal will need to configure the settings that will work in an optimal
fashion no matter which kinds of nodes will be attached. Two fashion no matter which kinds of nodes will be attached. Two
skipping to change at line 536 skipping to change at line 537
To make type B hosts work well, router X should in addition To make type B hosts work well, router X should in addition
advertise itself with a High default router preference. This will advertise itself with a High default router preference. This will
cause type B hosts to prefer router X, minimizing the number of cause type B hosts to prefer router X, minimizing the number of
redirects. redirects.
To make type C hosts work well, router X should in addition To make type C hosts work well, router X should in addition
advertise the ::/0 route with Low preference and the 2002::/16 route advertise the ::/0 route with Low preference and the 2002::/16 route
with Medium preference. A type C host will end up with three routes with Medium preference. A type C host will end up with three routes
in its routing table: ::/0 -> router X (Low), ::/0 -> router Y in its routing table: ::/0 -> router X (Low), ::/0 -> router Y
Draves Expires April 2005 10
(Medium), 2002::/16 -> router X (Medium). It will send 6to4 traffic (Medium), 2002::/16 -> router X (Medium). It will send 6to4 traffic
to router X and other traffic to router Y. Type C hosts will not to router X and other traffic to router Y. Type C hosts will not
cause any redirects. cause any redirects.
Note that when type C hosts process the Router Advertisement from Note that when type C hosts process the Router Advertisement from
router X, the Low preference for ::/0 overrides the High default router X, the Low preference for ::/0 overrides the High default
router preference. If the ::/0 specific route were not present, then router preference. If the ::/0 specific route were not present, then
Draves Expires April 2005 10
a type C host would apply the High default router preference to its a type C host would apply the High default router preference to its
::/0 route to router X. ::/0 route to router X.
5.2. Multi-Homed Host and Isolated Network 5.2. Multi-Homed Host and Isolated Network
In another scenario, a multi-homed host is connected to the Internet In another scenario, a multi-homed host is connected to the Internet
via router X on one link and to an isolated network via router Y on via router X on one link and to an isolated network via router Y on
another link. The multi-homed host might have a tunnel into a another link. The multi-homed host might have a tunnel into a
firewalled corporate network, or it might be directly connected to firewalled corporate network, or it might be directly connected to
an isolated test network. an isolated test network.
skipping to change at line 591 skipping to change at line 592
routers. However, a malicious node could easily achieve this same routers. However, a malicious node could easily achieve this same
effect in other ways. For example, it could fabricate Router effect in other ways. For example, it could fabricate Router
Advertisement messages with zero Router Lifetime from the other Advertisement messages with zero Router Lifetime from the other
routers, causing hosts to stop using the other routes. By routers, causing hosts to stop using the other routes. By
advertising a specific prefix, this attack could be carried out in a advertising a specific prefix, this attack could be carried out in a
less noticeable way. However, this attack has no significant less noticeable way. However, this attack has no significant
incremental impact on Internet infrastructure security. incremental impact on Internet infrastructure security.
A malicious node could also include an infinite lifetime in a Route A malicious node could also include an infinite lifetime in a Route
Information Option causing the route to linger indefinitely. A Information Option causing the route to linger indefinitely. A
Draves Expires April 2005 11
similar attack already exists with Prefix Information Options in similar attack already exists with Prefix Information Options in
RFC2461, where a malicious node causes a prefix to appear as on-link RFC2461, where a malicious node causes a prefix to appear as on-link
indefinitely, resulting in lack of connectivity if it is not. In indefinitely, resulting in lack of connectivity if it is not. In
contrast, an infinite lifetime in a Route Information Option will contrast, an infinite lifetime in a Route Information Option will
cause router reachability probing to continue indefinitely, but will cause router reachability probing to continue indefinitely, but will
not result in lack of connectivity. not result in lack of connectivity.
Draves Expires April 2005 11
Similarly, a malicious node could also try to overload hosts with a Similarly, a malicious node could also try to overload hosts with a
large number of routes in Route Information Options, or with very large number of routes in Route Information Options, or with very
frequent Route Advertisements. Again this same attack already frequent Route Advertisements. Again this same attack already
exists with Prefix Information Options. exists with Prefix Information Options.
[RFC3756] provides more details on the trust models, and there is [RFC3756] provides more details on the trust models, and there is
work in progress in the SEND WG on securing router discovery work in progress in the SEND WG on securing router discovery
messages that will address these problems. messages that will address these problems.
7. IANA Considerations 7. IANA Considerations
Section 2.3 defines a new Neighbor Discovery [RFC2461] option, the Section 2.3 defines a new Neighbor Discovery [RFC2461] option, the
Route Information Option, which has been assigned the value TBD Route Information Option, which has been assigned the value TBD
within the numbering space for IPv6 Neighbor Discovery Option within the numbering space for IPv6 Neighbor Discovery Option
Formats. Formats.
RFC EDITORĘs NOTE (to be removed prior to publication): the IANA is RFC EDITOR's NOTE (to be removed prior to publication): the IANA is
requested to assign a value for "TBD" in the IPv6 Neighbor Discovery requested to assign a value for "TBD" in the IPv6 Neighbor Discovery
Option Formats. When the assignment has been made, the RFC Editor Option Formats. When the assignment has been made, the RFC Editor
is asked to replace "TBD" (above in this section, and in section is asked to replace "TBD" (above in this section, and in section
2.3) with the assigned value and to remove this note. 2.3) with the assigned value and to remove this note.
8. Acknowledgments 8. Acknowledgments
The authors would like to acknowledge the contributions of Balash The authors would like to acknowledge the contributions of Balash
Akbari, Steve Deering, Robert Elz, Tony Hain, Bob Hinden, Christian Akbari, Steve Deering, Robert Elz, Tony Hain, Bob Hinden, Christian
Huitema, JINMEI Tatuya, Erik Nordmark, Pekka Savola, Kresimir Huitema, JINMEI Tatuya, Erik Nordmark, Pekka Savola, Kresimir
Segaric, and Brian Zill. The packet diagrams are derived from Segaric, and Brian Zill. The packet diagrams are derived from
Neighbor Discovery [RFC2461]. Neighbor Discovery [RFC2461].
9. Normative References 9. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2461] Narten, T., Nordmark, E. and W. Simpson, "Neighbor [RFC2461] Narten, T., Nordmark, E. and W. Simpson, "Neighbor
Discovery for IP Version 6 (IPv6)", RFC 2461, December Discovery for IP Version 6 (IPv6)", RFC 2461, December
1998. 1998.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3775] Johnson, D., Perkins, C. and J. Arkko, "Mobility Support [RFC3775] Johnson, D., Perkins, C. and J. Arkko, "Mobility Support
in IPv6", RFC 3775, June 2004. in IPv6", RFC 3775, June 2004.
10. Informative References 10. Informative References
[RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains [RFC2080] Malkin, G. and R. Minnear, "RIPng for IPv6", RFC 2080,
via IPv4 Clouds", RFC 3056, February 2001. January 1997.
Draves Expires April 2005 12 [RFC2893] Gilligan, R. and E. Nordmark, "Transition Mechanisms for
[RFC2983] Gilligan, R. and E. Nordmark, "Transition Mechanisms for
IPv6 Hosts and Routers", RFC 2893, August 2000. IPv6 Hosts and Routers", RFC 2893, August 2000.
[RFC2080] Malkin, G. and R. Minnear, "RIPng for IPv6", RFC 2080, [RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains
January 1997. via IPv4 Clouds", RFC 3056, February 2001.
Draves Expires April 2005 12
[RFC3756] Nikander, P., Ed., Kempf, J. and E. Nordmark, "IPv6 [RFC3756] Nikander, P., Ed., Kempf, J. and E. Nordmark, "IPv6
Neighbor Discovery (ND) Trust Models and Threats", RFC Neighbor Discovery (ND) Trust Models and Threats", RFC
3756, May 2004. 3756, May 2004.
Authors' Addresses Authors' Addresses
Richard Draves Richard Draves
Microsoft Research Microsoft Research
One Microsoft Way One Microsoft Way
Redmond, WA 98052 Redmond, WA 98052
skipping to change at line 678 skipping to change at line 678
Microsoft Microsoft
One Microsoft Way One Microsoft Way
Redmond, WA 98052 Redmond, WA 98052
Phone: +1 425 703 8835 Phone: +1 425 703 8835
Email: dthaler@microsoft.com Email: dthaler@microsoft.com
Draves Expires April 2005 13 Draves Expires April 2005 13
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (2004). This document is subject Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights. except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/