Internet DRAFT - draft-ietf-ipngwg-router-selection

draft-ietf-ipngwg-router-selection





IPng Working Group                                          Richard Draves 
Internet Draft                                          Microsoft Research 
Document: draft-ietf-ipngwg-router-selection-00.txt           May 18, 2001 
                                                                           
 
          Default Router Preferences and More-Specific Routes 

Status of this Memo 

   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC 2026 [1]. 

   Internet-Drafts are working documents of the Internet Engineering 
   Task Force (IETF), its areas, and its working groups. Note that 
   other groups may also distribute working documents as Internet-
   Drafts. 

   Internet-Drafts are draft documents valid for a maximum of six 
   months and may be updated, replaced, or obsoleted by other documents 
   at any time. It is inappropriate to use Internet-Drafts as reference 
   material or to cite them other than as "work in progress." 

   The list of current Internet-Drafts can be accessed at 
   http://www.ietf.org/ietf/1id-abstracts.txt. 

   The list of Internet-Draft Shadow Directories can be accessed at 
   http://www.ietf.org/shadow.html. 

Abstract 

   This document describes an optional extension to Neighbor Discovery 
   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. 

1. Introduction 

   Neighbor Discovery [2] specifies a conceptual model for hosts that 
   includes a Default Router List and a Prefix List. Hosts send Router 
   Solicitation messages and receive from routers Router Advertisement 
   messages. Hosts populate their Default Router List and Prefix List 
   based on information in the Router Advertisement messages. A 
   conceptual sending algorithm uses the Prefix List to determine if a 
   destination address is on-link and the Default Router List to select 
   a router for off-link destinations. 

   In some network topologies where the host has multiple routers on 
   its Default Router List, the choice of router for an off-link 
   destination is important. In some situations, one router may provide 
  
Draves                  Expires December 2001                       1 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
   much better performance than another for a destination. In other 
   situations, choosing the wrong router may result in a failure to 
   communicate. (A later section gives specific examples of these 
   scenarios.) 

   This document describes an optional extension to Neighbor Discovery 
   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 for an 
   off-link destination. 

   Neighbor Discovery provides a Redirect message that routers can use 
   to correct a host's choice of router. A router can send a Redirect 
   message to a host, telling it to use a different router for a 
   specific destination. However, the Redirect functionality is limited 
   to a single link. A router on one link cannot redirect a host to a 
   router on another link. Hence, Redirect messages do not help multi-
   homed hosts select an appropriate router. 

   Multi-homed hosts are an increasingly important scenario, especially 
   with IPv6. In addition to a wired network connection, like Ethernet, 
   hosts may have one or more wireless connections, like 802.11 or 
   Bluetooth. In addition to physical network connections, hosts may 
   have virtual or tunnel network connections. For example, in addition 
   to a direct connection to the public Internet, a host may have a 
   tunnel into a private corporate network. Some IPv6 transition 
   scenarios can add additional tunnels. For example, hosts may have 
   6-over-4 [3] or configured tunnel [4] network connections. 

   This document requires that the preference values and specific 
   routes advertised to hosts require explicit administrative 
   configuration. They are not automatically derived from routing 
   tables. In particular, the preference values are not routing metrics 
   and it is not recommended that routers "dump out" their entire 
   routing tables to hosts. 

   We use Router Advertisement messages, instead of some other protocol 
   like RIP [5], is that Router Advertisements are an existing 
   standard, stable protocol for router-to-host communication. 
   Piggybacking this information on existing message traffic from 
   routers to hosts reduces network overhead. Neighbor Discovery is to 
   unicast routing as Multicast Listener Discovery is to multicast 
   routing. In both cases, a single simple protocol insulates the host 
   from the variety of router-to-router protocols. In addition, RIP is 
   unsuitable because it does not carry route lifetimes so it requires 
   frequent message traffic with greater processing overheads. 

   The mechanisms specified here are backwards-compatible, so that 
   hosts that do not implement them continue to function as well as 
   they did previously. 



  
Draves                  Expires December 2001                       2 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
1.1. Conventions used in this document 

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in 
   this document are to be interpreted as described in RFC-2119 [6]. 

2. Message Formats 

2.1. Preference Values 

   Default router preferences and preferences for more-specific routes 
   are encoded the same way. 

   Preference values are encoded in two bits, as follows: 
        01      High 
        00      Medium (default) 
        11      Low 
        10      Reserved - MUST NOT be sent 
   Note that implementations can treat the value as a two-bit signed 
   integer. 

   Having just three values reinforces that they are not metrics and 
   more values does not appear to be necessary for reasonable 
   scenarios. 

2.2. Changes to Router Advertisement Message Format 

   The changes from Neighbor Discovery [2] section 4.2 are as follows: 

    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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |     Type      |     Code      |          Checksum             | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   | Cur Hop Limit |M|O|H|Prf|Resvd|       Router Lifetime         | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                         Reachable Time                        | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                          Retrans Timer                        | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |   Options ... 
   +-+-+-+-+-+-+-+-+-+-+-+- 

   Fields: 

   Prf (Default Router Preference) 
               2-bit signed integer. Indicates whether or not to prefer 
               this router over other default routers. If Router 
               Lifetime is zero, it MUST be initialized to zero by the 
               sender and MUST be ignored by the receiver. If the 
               Reserved (10) value is received, the receiver should 
               treat the RA as having a zero Router Lifetime. 

  
Draves                  Expires December 2001                       3 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
   Reserved    A 3-bit unused field. It MUST be initialized to zero by 
               the sender and MUST be ignored by the receiver. 

   Possible Options: 

   Route Information 
               These options specify prefixes that are reachable via 
               the router. 

   Discussion: 

   Note that in addition to the preference value in the message header, 
   a Router Advertisement can also contain a Route Information Option 
   for ::/0, with a preference value and lifetime. Encoding a 
   preference value in the Router Advertisement header has some 
   advantages: 

     1. It allows for a distinction between "best default router" and 
     "best router for default", as described below. 

     2. When the best default router is also the best router for 
     default (which will be a common case), encoding the preference 
     value in the message header is more efficient than having to send 
     a separate option. 

2.3. Route Information Option 

   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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |     Type      |    Length     | Prefix Length |Resvd|Prf|Resvd| 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                        Route Lifetime                         | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   +                                                               + 
   |                                                               | 
   +                            Prefix                             + 
   |                                                               | 
   +                                                               + 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

   Fields: 

   Type        TBD 

   Length      1, 2, or 3 depending on Prefix Length. If Prefix Length 
               is greater than 64, then Length must be at least 3. If 
               Prefix Length is greater than 0, then Length must be at 
               least 2. If Prefix Length is zero, then Length may be 1. 


  
Draves                  Expires December 2001                       4 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
   Prefix Length 
               8-bit unsigned integer. The number of leading bits in 
               the Prefix that are valid. The value ranges from 0 to 
               128. 

   Prf (Route Preference) 
               2-bit signed integer. Indicates whether or not to prefer 
               this router for the prefix over others. If the Reserved 
               (10) value is received, the Route Information Option 
               MUST be ignored. 

   Resvd (Reserved) 
               Two 3-bit unused fields. They MUST be initialized to 
               zero by the sender and MUST be ignored by the receiver. 

   Route Lifetime 
               32-bit unsigned integer. The length of time in seconds 
               (relative to the time the packet is sent) that the 
               prefix is valid for route determination. A value of all 
               one bits (0xffffffff) represents infinity. 

   Prefix      An IP address or a prefix of an IP address. The Prefix 
               Length field contains the number of valid leading bits 
               in the prefix.  The bits in the prefix after the prefix 
               length are reserved and MUST be initialized to zero by 
               the sender and ignored by the receiver. 
                
               The Prefix field is 0, 8, or 16 octets depending on 
               Length. 

   Routers SHOULD NOT include in a Router Advertisement two Route 
   Information Options with the same Prefix and Prefix Length. If a 
   host processes a Router Advertisement carrying multiple Router 
   Information Options with the same Prefix and Prefix Length, it MUST 
   process one of the options (unspecified which one) and it MUST 
   effectively ignore the rest. It MUST NOT retain some information 
   (like preference) from one option and other information (like 
   lifetime) from another option. 

   Discussion: 

   There are several reasons for using a new Route Information Option, 
   instead of using flag bits to overload the existing Prefix 
   Information Option: 

     1. Prefixes will typically only show up in one or the other kind 
     of option, not both, so a new option does not introduce 
     duplication. 

     2. The Route Information Option is typically 16 octets while the 
     Prefix Information Option is 32 octets. 


  
Draves                  Expires December 2001                       5 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
     3. Using a new option may improve backwards-compatibility with 
     some host implementations. 

3. Conceptual Model of a Host 

   There are three possible conceptual models for host implementation 
   of default router preferences and more-specific routes, 
   corresponding to different levels of support. We refer to these as 
   host A, host B, and host C. Note that these are really classes of 
   hosts, not individual hosts. 

3.1. Conceptual Data Structures for Hosts 

   Host A ignores default router preferences and more-specific routes. 
   Host A uses the conceptual data structures described in Neighbor 
   Discovery [2]. 

   Host B uses a Default Router List augmented with preference values. 
   Host B does not have a routing table. Host B uses the Default Router 
   Preference value in the Router Advertisement header. Host B ignores 
   Route Information Options. 

   Host C uses a Routing Table instead of a Default Router List. (The 
   Routing Table may also subsume the Prefix List, but that is beyond 
   the scope of this document.) Entries in the Routing Table have a 
   prefix, prefix length, preference value, lifetime, and next-hop 
   router. Host C uses both the Default Router Preference value in the 
   Router Advertisement header and Route Information Options. 

   When host C receives a Router Advertisement, it modifies its Routing 
   Table as follows. If a route's 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 the Routing Table if not present and 
   the route's lifetime and preference is updated if the route is 
   already present. A route is located in the Routing Table based on 
   prefix, prefix length, and next-hop router. When processing a Router 
   Advertisment, host C first updates a ::/0 route based on the Router 
   Lifetime and Default Router Preference in the Router Advertisement 
   message header. Then as host C processes Route Information Options 
   in the Router Advertisement message body, it updates its routing 
   table for each such option. The Router Preference and Lifetime 
   values in a ::/0 Route Information Option override the preference 
   and lifetime values in the Router Advertisement header. 

   For example, suppose a host receives a Router Advertisement from 
   router X with a Router Lifetime of 100 seconds and Default Router 
   Preference of Medium. The body of the Router Advertisement contains 
   a Route Information Option for ::/0 with a Route Lifetime of 200 
   seconds and a Route Preference of Low. After processing the Router 
   Advertisement, host A will have an entry for router X in its Default 
   Router List with lifetime 100 seconds. If host B receives the same 
   Router Advertisement, it will have an entry in its Default Router 
   List for router X with Medium preference and lifetime 100 seconds. 
  
Draves                  Expires December 2001                       6 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
   Host C will have an entry in its Routing Table for ::/0 -> router X, 
   with Low preference and lifetime 200 seconds. 

3.2. Conceptual Sending Algorithm for Hosts 

   Host A uses the conceptual sending algorithm described in Neighbor 
   Discovery [2]. 

   When host B does next-hop determination and consults its Default 
   Router List, it first prefers reachable routers over non-reachable 
   routers and second uses the router preference values. If all default 
   routers are not reachable, then it SHOULD round-robin among them all 
   regardless of preference value. 

   When host C does next-hop determination and consults its Routing 
   Table for an off-link destination, it first prefers reachable 
   routers over non-reachable routers, second uses longest-matching-
   prefix, and third uses route preference values. 

   If there are no reachable routers with routes matching the 
   destination, then host C SHOULD round-robin among all routers with 
   routes matching the destination regardless of preference value or 
   prefix length. 

   If there are no routes matching the destination, then if host C has 
   a single interface then it SHOULD assume the destination is on-link. 
   If host C has multiple interfaces then it SHOULD discard the packet 
   and report a Destination Unreachable / No Route To Destination error 
   to the upper layer. 

   For example: suppose host C has four entries in its Routing Table: 
        ::/0 -> router W with Medium preference 
        2001::/16 -> router X with Medium preference 
        3ffe::/16 -> router Y with High preference 
        3ffe::/16 -> router Z with Low preference 
   and host C is sending to 3ffe::1, an off-link destination. If all 
   routers are reachable, then router Y will be chosen. If router Y is 
   not reachable, then router Z will be chosen. If routers Y and Z are 
   not reachable, then router W will be chosen. If routers W, Y, and Z 
   are all not reachable, then host C should round-robin among the 
   three routers. Router X will never be chosen because its prefix does 
   not match the destination. 

3.3. Destination Cache Management 

   When a host processes a Router Advertisement and updates its 
   conceptual routing table, it may invalidate or remove Destination 
   Cache Entries and redo next-hop determination for destinations 
   affected by the routing table changes. However, this is not 
   required. 



  
Draves                  Expires December 2001                       7 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
4. Router Configuration 

   Routers should not advertise preferences or routes by default. In 
   particular, they should not "dump out" their entire routing table to 
   hosts. Routers MAY have a configuration mode where a filter is 
   applied to their routing table to obtain the routes that are 
   advertised to hosts. 

   The preference values (both Default Router Preferences and Route 
   Preferences) should not be routing metrics or automatically derived 
   from metrics: the preference values should be configured. The High 
   and Low (non-default) preference values should only be used when 
   someone with knowledge of both routers and the network topology 
   configures them explicitly. For example, it could be a common 
   network administrator, or it could be a customer request to 
   different administrators managing the routers. 

   As one exception to this general rule, the administrator of a router 
   that does not have a connection to the internet, or is connected 
   through a firewall that blocks general traffic, may configure the 
   router to advertise a Low Default Router Preference. 

   An administrator of a router may configure the router to advertise 
   specific routes for directly connected subnets and any shorter 
   prefixes (eg, site, NLA, or TLA prefixes) for networks to which the 
   router belongs. 

   For example, if a home user sets up a tunnel into a firewalled 
   corporate network, the access router on the corporate network end of 
   the tunnel can advertise itself as a default router, but with a Low 
   preference. Furthermore the corporate router can advertise a 
   specific route for the corporate site prefix. The net result is that 
   destinations in the corporate network 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 
   send internet traffic into the corporate network or corporate 
   traffic into the internet, leading to communication failure because 
   of the firewall. 

   Routers SHOULD NOT send more than 17 Route Information Options in 
   Router Advertisements per link. 

5. Examples 

5.1. Best Default Router vs Best Route for Default 

   The best default router is not quite the same thing as the best 
   router for default. The best default router is the router that will 
   generate the fewest number of redirects for the host's traffic. The 
   best router for default is the router with the best route toward the 
   wider internet. 


  
Draves                  Expires December 2001                       8 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
   For example, suppose a situation where you have a link with two 
   routers X and Y. Router X is the best for 2002::/16. (It's your 6to4 
   site gateway.) Router Y is the best for ::/0. (It connects to the 
   native IPv6 internet.) Router X forwards native IPv6 traffic to 
   router Y; router Y forwards 6to4 traffic to router X. But most 
   traffic from this site is sent to 2002:/16 destinations. In this 
   scenario, router X is the best default router and router Y is the 
   best router for default. 

   To make host A work well, both routers should advertise themselves 
   as default routers. In particular, if router Y goes down host A 
   should send traffic to router X to maintain 6to4 connectivity, so 
   router X as well as router Y needs to be a default router. 
   To make host B work well, router X should in addition advertise 
   itself with a High default router preference. This will cause host B 
   to prefer router X, minimizing the number of redirects. 

   To make host C work well, router X should in addition advertise the 
   ::/0 route with Low preference and the 2002::/16 route with Medium 
   preference. Host C will end up with three routes in its routing 
   table: ::/0 -> router X (Low), ::/0 -> router Y (Medium), 2002::/16 
   -> router X (Medium). It will send 6to4 traffic to router X and 
   other traffic to router Y. Host C will not cause any redirects. 

   Note that when host C processes the Router Advertisement from router 
   X, the Low preference for ::/0 overrides the High default router 
   preference. If the ::/0 specific route were not present, then host C 
   would apply the High default router preference to its ::/0 route to 
   router X. 

5.2. Multi-Homed Host and Isolated Network 

   Here's another scenario: a multi-homed host is connected to the 
   6bone/internet 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 fire-walled corporate network, or it might be directly 
   connected to an isolated test network. 

   In this situation, a multi-homed host A (which has no default router 
   preferences or more-specific routes) will have no way to choose 
   between the two routers X and Y on its Default Router List. Users of 
   the host will see unpredictable connectivity failures, depending on 
   the destination address and the choice of router. 

   A multi-homed host C in this same situation can correctly choose 
   between routers X and Y, if the routers are configured 
   appropriately. For example, router X on the isolated network should 
   advertise a Route Information Option for the isolated network 
   prefix. It might not advertise itself as a default router at all 
   (zero Router Lifetime), or it might advertise itself as a default 
   router with Low preference. Router Y should advertise itself as a 
   default router with Medium preference. 

  
Draves                  Expires December 2001                       9 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
6. Security Considerations 

   A malicious node could send Router Advertisement messages, 
   specifying High Default Router Preference or carrying specific 
   routes, with the effect of pulling traffic away from legitimate 
   routers. However, a malicious node could easily achieve this same 
   effect in other ways. For example, it could fabricate Router 
   Advertisement messages with zero Router Lifetime from the other 
   routers, causing hosts to stop using the other routes. Hence, this 
   document has no appreciable impact on Internet infrastructure 
   security. 

References 
 
   1  S. Bradner, "The Internet Standards Process -- Revision 3", BCP 
      9, RFC 2026, October 1996. 

   2  T. Narten, E. Nordmark, W. Simpson. "Neighbor Discovery for IP 
      Version 6 (IPv6)", RFC 2461, December 1998. 

   3  B. Carpenter, K. Moore. "Connection of IPv6 Domains via IPv4 
      Clouds", draft-ietf-ngtrans-6to4-07.txt, September 2000. 

   4  R. Gilligan, E. Nordmark. "Transition Mechanisms for IPv6 Hosts 
      and Routers", RFC 1933, April 1996. 

   5  G. Malkin, R. Minnear. "RIPng for IPv6", RFC 2080 , January 1997. 

   6  S. Bradner, "Key words for use in RFCs to Indicate Requirement 
      Levels", BCP 14, RFC 2119, March 1997. 

Acknowledgments 

   The author would like to acknowledge the contributions of Balash 
   Akbari, Steve Deering, Robert Elz, Tony Hain, Christian Huitema, 
   Tatuya Jinmei, Erik Nordmark, Dave Thaler, and Brian Zill. The 
   packet diagrams are derived from Neighbor Discovery [2]. 

Author's Addresses 

   Richard Draves 
   Microsoft Research 
   One Microsoft Way 
   Redmond, WA 98052 
   Phone: 1-425-936-2268 
   Email: richdr@microsoft.com 

Revision History 

Changes from draft-draves-ipngwg-router-selection-01 

   Specified receiver processing when the Reserved preference value is 
   seen. 
  
Draves                  Expires December 2001                      10 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
   Specified that routers SHOULD NOT send more than 17 Route 
   Information Options. 

   Added discussion of Destination Cache invalidation, allowing but not 
   requiring it. 

   Removed references to the fourth conceptual host model, host D. 

Changes from draft-draves-ipngwg-router-selection-00 

   Made the option variable length. Must ignore prefix bits past prefix 
   length. 

   Added more allowable router configuration scenarios, weakening the 
   requirement that one administrator must coordinate the configuration 
   of all relevant routers. 





































  
Draves                  Expires December 2001                      11 
draft-ietf-ipngwg-router-selection-00                     May 18, 2001 
 
 
   Full Copyright Statement 

   Copyright (C) The Internet Society (2000).  All Rights Reserved. 

   This document and translations of it may be copied and furnished to 
   others, and derivative works that comment on or otherwise explain it 
   or assist in its implementation may be prepared, copied, published 
   and distributed, in whole or in part, without restriction of any 
   kind, provided that the above copyright notice and this paragraph 
   are included on all such copies and derivative works.  However, this 
   document itself may not be modified in any way, such as by removing 
   the copyright notice or references to the Internet Society or other 
   Internet organizations, except as needed for the purpose of 
   developing Internet standards in which case the procedures for 
   copyrights defined in the Internet Standards process must be 
   followed, or as required to translate it into languages other than 
   English. 

   The limited permissions granted above are perpetual and will not be 
   revoked by the Internet Society or its successors or assigns. 

   This document and the information contained herein is provided on an 
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 


























  
Draves                  Expires December 2001                      12