One document matched: draft-dimitri-zospf-00.txt



                                                                        
   Internet Draft                                         A. Dimitrelis 
                                                            A. Williams 
   Document: draft-dimitri-zospf-00.txt			       Motorola 
   Expires: April 2003                                     October 2002 
    
    
     Autoconfiguration of routers using a link state routing protocol 
    
    
Status of this Memo 
    
   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC2026 [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 memo documents our thinking to date regarding the use of version 
   3 of the Open Shortest Path First (OSPF) protocol as a mechanism for 
   the autoconfiguration of IP routers within an OSPF area. 
   Specifically, a method for the allocation and distribution of IPv4 
   and IPv6 subnet addresses without explicit configuration is 
   described. Such a mechanism would be useful in an environment where 
   routing is desirable, but the network administration skills necessary 
   to configure IP routers are not available. This draft presents zOSPF 
   (zeroconfigutaion OSPF), a protocol based on OSFPv3 that will allow 
   routers to self configure and forward IPv4 and IPv6 traffic. 
    
DISCLAIMER 
 
   This draft is a work in progress. Its purpose is to sketch a 
   potential solution to the problem of router self-configuration and 
   highlight some of the trade-offs. The hope is to gauge interest 
   within the IETF community for solving the problem, and soliciting 
 
 
Dimitrelis                                                    [Page 1] 
                        Router Autoconfiguration 
                              October 2002 
 
 
   feedback and suggestions from the designers, implementers, and users 
   of the protocols referred to within. The purpose of this draft is not 
   to attempt to set in stone a complete solution to the problem. 
   Criticism and feedback are welcome. All references to OSPF imply 
   OSPFv3, unless stated otherwise.  
    
    
Table of Contents 
    
   1. Overview.......................................................2 
      1.3  Scope.....................................................4 
   2. zOSPF Protocol Operation.......................................5 
      2.1  Initialization............................................5 
      2.2  The Hello Protocol........................................5 
      2.2.1 Active Router ID collision resolution....................6 
      2.2.2 Passive Router ID collision handling.....................6 
      2.2.3 Link local address collision.............................7 
      2.2.4 zOSPF Options field......................................7 
   3. Exchange of routing information................................8 
      3.0 Handling IPv4 subnet addresses.............................8 
      3.1 Designated Router..........................................8 
      3.2 Non designated router.....................................10 
      3.3 Stub links................................................11 
      3.4  Discovering uplinks......................................12 
      3.5 Processing AS-external LSAs...............................13 
      3.6  Monitoring for subnet address collisions.................14 
   4. Layer 2 partitions and merges.................................15 
   5. Services to hosts.............................................15 
   6. Related Work..................................................15 
   Security Considerations..........................................15 
   References.......................................................15 
   Author's Addresses...............................................16 
    
    
1. Overview 
 
   The deployment of OSPF requires a non-trivial degree of configuration 
   effort on the part of a network administrator, in particular the 
   consistent and correct allocation of subnet addresses to network 
   links. By 'consistent' we mean that all routers attached to a link 
   must agree on that link's subnet address (although the subnet model 
   is relaxed in IPv6), and by 'correct' we imply that for traffic to be 
   routed reliably, each subnet must have a unique subnet address. So, 
   the problem is one of allocating a unique subnet address to each link 
   in the network.  
    

                                     
 
Dimitrelis                                                    [Page 2] 
                        Router Autoconfiguration 
                              October 2002 
 
 
   We believe that a protocol based on a cut-down version of OSPF for 
   IPv6 [2] can be used within limited topologies to route both IPv4 and 
   IPv6 traffic without requiring manual configuration. The basic idea 
   is as follows: 
    
      o A router comes up and listens. It listens for network prefixes 
      (e.g. "the link attached to interface 3 has a subnet prefix of 
      2002:beef:beef:1000::/64"), and for address spaces from which it 
      can allocate subnet prefixes (e.g. "the global prefix for this 
      site is 2002:beef:beef::/48"). 
       
      o For any links a router is attached to that do not have a prefix 
      allocated, one particular router (the designated router) will 
      allocate a prefix. The first router to come up on a link will 
      typically be responsible for choosing that link's subnet prefix. 
       
      o The router includes the prefixes it has allocated in future 
      routing announcements. This allows other routers to route to the 
      new IP subnet, and to avoid allocating the prefix to another link 
      elsewhere in the network.  
       
      o The router continues to listen, and is prepared to deal with 
      addressing collisions by renumbering problematic subnets. 
    
   With reference to OSPF, the initial "listening" stage corresponds to 
   the formation of neighbor relationships (including participating in 
   the designated router election) and the synchronization of link state 
   databases. So before a router chooses a subnet prefix at random, it 
   will have as complete a view of the network, and the prefixes in use 
   therein, as possible.  
    
   OSPF routers "announce" their choice of subnet prefixes by flooding 
   the appropriate LSAs. In OSPFv3, a designated router that has picked 
   a subnet address for a link will flood a Link-LSA to OSPFv3 routers 
   on that link, and an Intra-Area Prefix LSA to all OSPF routers within 
   the area.  
    
   Finally, the ongoing listening stage corresponds to the processing of 
   LSAs received as part of on-going OSPF operation. Other routers in 
   the area will periodically resend valid LSA, will revoke invalid 
   LSAs, and will originate new LSAs as new links come up and as 
   networks merge. A zOSPF router must perform additional processing on 
   received LSAs in order to check for prefix collisions. A router is 
   responsible for handling collisions involving prefixes it itself 
   allocated. Refer to section 3.6 for a more detailed discussion. 
 
   OSPFv3 is a promising platform for realizing zOSPF routers because: 
    
                                     
 
Dimitrelis                                                    [Page 3] 
                        Router Autoconfiguration 
                              October 2002 
 
 
      o The exchange of OSPFv3 protocol data units occurs using IPv6 
      link local addressing, which is inherently configuration-free [3]. 
      This allows the Hello protocol (in particular, the election of a 
      designated router) and the database distribution protocol to 
      operate in the absence of area-wide addressing. 
    
      o It is straightforward to extend the responsibilities of a 
      subnet's designated router to include the selection of that link's 
      prefix. The choice of prefix is made after the designated router 
      (DR) has gathered as much information about the network as 
      possible - in other words, after it has become fully adjacent to 
      the designated routers on its other links. At this point, the DR 
      has a knowledge of the prefixes that are in use within the 
      network, and is able to choose prefixes that are least likely to 
      cause addressing collisions.  
       
      o OSPF provides the means for a designated router to signal to 
      other routers on a link the prefix that has been chosen for that 
      link - this is the Link LSA. Changing the prefix associated with a 
      link is also straightforward - the current Link LSA can be timed 
      out by the originator, and a new link-LSA originated. 
    
      o LSAs designed to carry IPv6 addresses can also carry IPv4 
      addresses, using IPv4 mapped IPv6 addresses. This allows support 
      for routing IPv4 without the need to introduce additional protocol 
      data units. 
       
      o OSPFv3 decouples addressing and topology information. This means 
      it is necessary to invalidate only LSAs related to addressing when 
      a collision is detected.  
       
1.2  Motivation 
 
   The quintessential scenario motivating this draft is a home or small 
   office, possibly connected to the Internet through an ISP. An ISP can 
   provide a global IPv4 address, a global IPv6 prefix, or both. The 
   site may contain any number of hosts and routers, and the network 
   topology within may be arbitrarily complex.  
    
 
1.3  Scope 
    
   The purpose of this draft is to sketch an approach to creating a zero 
   configuration routing protocol by reusing much of OSPFv3. This draft 
   does not aim to specify a configuration-free alternative to the OSPF 
   protocol. Several of OSPF's features are not considered, in 
   particular: 
    
                                     
 
Dimitrelis                                                    [Page 4] 
                        Router Autoconfiguration 
                              October 2002 
 
 
      o Support for NBMA networks and point-to-multipoint links. 
    
      o The ability to route between multiple OSPF areas within an 
      Autonomous System. The assumption is made that routers talking the 
      zOSPF protocol are within a single pre-configured area. 
       
      o Interoperability with other routing protocols is not rigorously 
      considered. Section 3.4 discusses how external prefixes can be 
      discovered and injected into a zOSPF area. Sections detailing 
      interoperability with established routing protocols may be added 
      in future (and input is welcome).  
 
    
2. zOSPF Protocol Operation 
    
   This section describes the operation of zOSPF by detailing the 
   sequence of events that occur from the moment a router begins 
   operating. The zOSPF scheme is explained by detailing the processing 
   performed by a zOSPF router in addition to that performed by an 
   OSPFv3 router. This section assumes a familiarity with OSPFv3. 
    
2.1  Initialization 
    
   Upon commencing operation, a router must choose a 32-bit router ID. 
   The router ID will be a pseudorandom number, and is not related to 
   any of the router's IP addresses. If possible, a router should re-use 
   an ID that it has previously used with success. A router's initial 
   selection of router ID may not be final - the router may determine 
   that the ID is in use elsewhere in the network during the exchange of 
   database description packets as it becomes fully adjacent with 
   neighboring designated routers. The router will set its area ID to x 
   (0 has special meaning, i.e. backbone). A zOSPF router must also 
   configure broadcast interfaces with IPv6 link local addresses. If a 
   router must change an IPv6 link local address, it must allow all 
   adjacencies based on that address to time out (see section 2.2.2).  
    
2.2  The Hello Protocol 
    
   Once a router has chosen an ID, it is able to engage in the Hello 
   protocol, as described in sections 3.2.1.1 and 3.2.2 of [2]. A zOSPF 
   router, just like an OSPFv3 compliant router, continues to transmit 
   and process Hello packets for the entire time it is up.  
    
   Because router IDs are chosen in a pseudorandom manner, and because 
   the shortest path routing algorithm will fail if two or more distinct 
   nodes are indistinguishable because of duplicate router IDs, some 
   extra processing overhead is required to handle router ID collisions. 
   Therefore, the zOSPF Hello protocol extends OSPF's Hello protocol by 
                                     
 
Dimitrelis                                                    [Page 5] 
                        Router Autoconfiguration 
                              October 2002 
 
 
   requiring zOSPF routers perform additional processing in order to 
   detect and resolve router ID collisions with directly connected 
   neighbors. References to router ID collisions in the following 
   subsections imply collisions between directly connected neighbors 
   only.  
 
2.2.1 Active Router ID collision resolution 
    
   This subsection discusses how a zOSPF router is to detect a collision 
   involving its own router ID, and the actions it must take in order to 
   resolve the conflict.  
    
   A router will detect that it has been involved in an ID collision 
   when it receives a Hello packet (that it did not itself originate) 
   that contains its router ID in the router ID field of the OSPF packet 
   header. 
     
   The detecting router will send several gratuitous Hello packets using 
   the conflicting router ID, and then choose a new ID. These Hello 
   packets will be sent with the 'R' bit (Appendix A.3.1, [2]) cleared - 
   this will inform other routers that it is not eligible to forward 
   traffic. The effect will be that all routers with a conflicting ID 
   will be excluded from SPF calculations by other routers. This is done 
   in order to avoid a potential routing loop due to the inconsistent 
   state of the routing table. The purpose of the gratuitous Hello 
   packets is to ensure that the other router(s) involved in the ID 
   collision is (are) aware of the collision. Once a router has chosen a 
   new router ID, it may begin sending Hello packets identifying itself 
   with this new ID. It will have to reform adjacencies with its 
   neighbors, and re-originate its router LSA.  
    
   Before announcing that it is eligible to forward packets again (by 
   setting the R bit), a router that has been involved in a collision 
   must be reasonably confident that the collision has been resolved. 
   One way a router might determine the collision to have been resolved 
   is if it receives Hello packets from each of the routers involved in 
   the collision with new, non-colliding IDs. The routers involved in 
   the collision can be identified by their IPv6 link local addresses, 
   which were stored when the collision was detected. A router can also 
   assume that it is safe to resume forwarding after it has not received 
   Hello packets containing the problematic ID for several RouterDead 
   intervals.  
    
2.2.2 Passive Router ID collision handling 
    
   This subsection describes how a router is to detect a router ID 
   collision involving directly connected peers (but not the router 

                                     
 
Dimitrelis                                                    [Page 6] 
                        Router Autoconfiguration 
                              October 2002 
 
 
   itself), and the actions it must take in order to handle the 
   collision.  
    
   A router will detect a router ID collision on a broadcast subnet to 
   which it is directly connected if it receives Hello messages from 
   more than one source with the same router ID. A source is identified 
   by its IPv6 link local address. The router will store the link local 
   addresses of the routers it deems involved in the collision and drop 
   neighbor relationships with them by not including their router IDs in 
   the Neighbors section of future Hello packets. These changes will 
   trigger an updated router LSA. The link local addresses of colliding 
   routers, along with the colliding router ID must be stored so that 
   future Hello packets with the invalid link-local source 
   address/router ID combination can be ignored.  
    
   The additional processing related to detecting router ID collisions 
   involves checking the RouterID field of Hello packets and the IPv6 
   link local source address of the Hello packet. Since the originator 
   of a Hello packet is identified by its IPv6 link local address (as 
   well as its Router ID), a router's LL address cannot change if 
   adjacencies are to be gracefully maintained. Routers must be prepared 
   to re-establish neighbor adjacencies if they change an IPv6 link 
   local address whilst they have existing neighbor relationships.  
    
   Note that a router ID collision may result in a change of a link's 
   Designated Router, Backup Designated Router, or both.  
    
    
2.2.3 Link local address collision 
    
   A layer 2 merge may bring routers with identical link-local addresses 
   onto the same link. The detection and resolution of a LL address 
   collision is the responsibility of the IP layer. This will entail 
   selecting a new LL address and re-running DAD [3].  
    
2.2.4 zOSPF Options field 
    
   This draft specifies a new bit in the options field, the Z bit. This 
   bit will signal to routers receiving Hello, database description, and 
   LSA packets that the originator is a zOSPF router, and is performing 
   zOSPF related processing, as specified by this memo. The options 
   field becomes: 
    
                                1                     2 
            0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8  9  0  1  2  3 
           -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+ 
            | | | | | | | | | | | | | | | | |Z|DC| R| N|MC| E|V6| 
           -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+ 
                                     
 
Dimitrelis                                                    [Page 7] 
                        Router Autoconfiguration 
                              October 2002 
 
 
    
                           The Options field 
    
   The Options field for OSPFv3 can be found in Appendix A.3.1 of [2]. 
   zOSPF routers will transmit all applicable zOSPF packets with the Z 
   bit set, and will not form adjacencies with non zOSPF capable 
   routers. Hello packets with the Z bit not set are dropped without 
   further processing. Future versions of this draft may specify a 
   sensible way to interact with OSPFv3 and OSPFv2 routers.  
    
 
3. Exchange of routing information 
    
   After initializing and participating in the Hello protocol, a router 
   may find itself elected the designated router (DR) on one or more of 
   the links it is connected to. This section details additional 
   routing-related processing routers must perform depending on whether 
   they are a link's DR or not. Section 5 lists services zOSPF routers 
   might provide to hosts (such as DHCPv4). 
    
3.1 Handling IPv4 subnet addresses 
    
   zOSPF handles IPv4 and IPv6 routing in an integrated manner. IPv4 
   subnet addresses are represented within the routing protocol as IPv4 
   mapped IPv6 addresses [4]. A router that has claimed 192.168.120/24 
   for a subnet will flood a network LSA containing the prefix 
   ::ffff:c0:a8:78:0/48. 
    
3.2 Designated Router 
    
   A broadcast link's designated router is responsible for selecting and 
   maintaining that link's IPv4 and IPv6 subnet prefixes. When a router 
   is elected a link's designated router it must select subnet addresses 
   for that link.  This can include an IPv4 subnet address, and a number 
   of IPv6 prefixes. Subnet addresses are chosen in a pseudorandom 
   manner with constraints - namely, the use of the contents of the link 
   state database to filter poor prefix choices. Before choosing subnet 
   prefixes, a DR must form full adjacencies with the designated routers 
   (if any) on its other links. Forming such adjacencies will allow a 
   router to learn which subnet prefixes are in use within a network. 
   With its link state database synchronized, the DR is able to choose a 
   prefix that is least likely to cause a collision.  
    
   OSPF's distributed database also allows a zOSPF router to discover 
   the address spaces it can use to form IPv6 subnet addresses. The 
   existence and validity of a dynamically allocated prefix, such as a 
   global or a 6to4 prefix, can be signaled using area scoped LSAs. In 
   addition, routers can be preconfigured to allocate out of fixed 
                                     
 
Dimitrelis                                                    [Page 8] 
                        Router Autoconfiguration 
                              October 2002 
 
 
   address spaces - such as fec0::/48 and 192.168/16. Section 3.4 
   discusses how global prefixes are injected into an OSPF routing 
   domain. 
    
   Once a router has been elected the designated router (DR) on a link, 
   it must select a set of subnet addresses for that link. The procedure 
   for doing this follows. 
    
   (1) For each of the router's other links, ensure one of the 
   following: 
   - The router is the designated router on the link 
   - The router has formed a full adjacency with the DR on the link 
   - The link is a stub link (i.e. there are no other zOSPF speakers on 
   the link) 
    
   Satisfying (1) ensures that a router that is going to choose subnet 
   addresses has a knowledge of those subnet addresses that have already 
   been allocated. This knowledge arises from having allocated those 
   subnet addresses (as designated router), and from the synchronization 
   of link state databases, which is a result of forming a full 
   adjacency with designated routers on its other links.  
    
   (2) For each site-wide prefix known to be valid within the OSPF area, 
   choose a subnet address. Section 3.4.1 discusses how site-wide 
   prefixes are discovered. For each /48 IPv6 site wide prefix, the 
   router will choose a /64 IPv6 subnet address. For a /16 IPv4 prefix, 
   a router will choose a /24 subnet address.  
    
   The site allocated subnet identifier of each of the IPv6 addresses 
   created in (2) is generated using a random number generator. The 
   address is compared with addresses stored in the link state database. 
   If a router generates a subnet address that clashes with an address 
   with an entry in the routing table, the router will generate a new 
   subnet address.  
    
   (3) When a zOSPF router is satisfied that the prefixes it has chosen 
   for a link do not collide with prefixes already in use within the 
   OSPF area, it will configure the corresponding network interface with 
   an address based on the new prefix. The creation of IPv6 addresses 
   from prefixes is documented in [3]. 
    
   (4) The router must inject the new prefixes into the OSPF routing 
   domain. The process of advertising the new prefix in zOSPF is the 
   same as the process of advertising a configured prefix in OSPFv3. The 
   LSAs flooded are: 
   - A new network LSA, if the link is a transit link 
   - A new intra-area prefix LSA, if the link is a transit link. This 
   LSA will contain the subnet address 
                                     
 
Dimitrelis                                                    [Page 9] 
                        Router Autoconfiguration 
                              October 2002 
 
 
   - A new router LSA. The router LSA will reference a network LSA if 
   the link is a transit link, otherwise it will have an entry for a new 
   stub link.  
    
   Note that a newly elected designated router chooses new prefixes for 
   a link regardless of any prefixes on the link previous to its 
   becoming the designated router. The prefixes chosen by a previous 
   designated router must not be reused. The rationale behind this is 
   presented in section 3.2. 
    
   For IPv6 addresses, a subnet prefix will typically be a /64 prefix, 
   and can be created by appending a subnet identifier to a site-wide 
   /48 prefix. A site-wide /48 prefix may be: 
      - a publicly routable IPv6 prefix delegated to a site by an ISP 
      - a 6to4 prefix [6] created from a public IPv4 address which has 
      been allocated by an ISP  
      - the IPv6 site local prefix fec0::/48 
 
    
3.2 Non designated router 
    
   zOSPF routers do not have subnet address information explicitly 
   configured; they must configure their network interfaces from 
   information via the routing protocol. Configuring interfaces with 
   IPv6 addresses consists of learning a network prefix through routing 
   protocol exchanges, and forming a full address using the mechanisms 
   described in [3].  
    
   3.2.1 Configuring IPv6 Addresses 
    
   Non-designated routers will use received link LSAs to configure some 
   of their interfaces (stub links are not configured via link LSAs, see 
   section 3.3). A router configures an interface when it receives a 
   link LSA on that interface. The router processes the link LSA, 
   extracts the IPv6 prefix, and creates an IPv6 address by combining 
   the prefix with its MAC address (using the procedure detailed in 
   [3]). This IPv6 address is assigned to the corresponding interface.  
    
   A router will invalidate an address formed as a result of processing 
   a link LSA when: 
      - The link LSA is timed out by its originator.  
      - The originating router of that link LSA (i.e. the link's DR) is 
      deemed 'dead' by the Hello protocol 
    
   In the context of this document, to 'invalidate' an address means to 
   remove its current interface binding. A router invalidating a prefix 
   must transmit several router advertisements advertising the prefix 
   with an expired valid lifetime. The prefix will not be moved to the 
                                     
 
Dimitrelis                                                   [Page 10] 
                        Router Autoconfiguration 
                              October 2002 
 
 
   deprecated state. Packets arriving with a source or destination 
   address based on an invalidated prefix will not be forwarded.  
    
   The rational behind the immediate invalidation of a prefix is based 
   on a conservative approach to avoiding routing failures (including 
   loops). The originator of link-LSA containing prefix Y will time-out 
   that LSA if it detects a prefix collision involving Y. The trade-off 
   is between invaliding an address without a period of deprecation, and 
   attempting to route traffic with invalid routing information. In this 
   case, a duplicate prefix constitutes the invalid routing information. 
   It is the current position of this draft that routing based on 
   inconsistent or invalid routing information should be avoided.  
    
   A router must also immediately invalidate a link-LSA if it loses bi-
   directional communication with a link's designated router. Such a 
   loss of communication will be detected by the Hello protocol. Despite 
   becoming unreachable due to a layer 2 partition, the DR will likely 
   continue to claim the prefix it originally chose for the link. 
   Continuing to use the original prefix on both subnets is a prefix 
   collision.  
    
   When the DR is deemed dead, the backup designated router (BDR) will 
   take over, and will choose a new prefix. It will flood a new set of 
   LSAs: 
      - A new link LSA to allow routers on the link to configure their 
      interfaces with the new prefixes 
      - A new network LSA, announcing the new prefix to the entire OSPF 
      domain. This LSA also announces the link's designated router 
      - A new router LSA, referencing the new network LSA. All other 
      routers on the link will similarly produce a new router LSA which 
      references the new network LSA.  
    
   The old link LSA will remain in the link state database until it 
   times out. Each on-link router will invalidate their respective 
   router LSAs that reference the old network LSA.  
    
   There are other situations where it makes sense for a DR to 
   artificially time-out a link-LSA. An example would be timing out of 
   subnet prefixes when they are based on a global, provider-based 
   prefix that has expired. So it would be reasonable for a router to 
   time out a link LSA containing the 2000:0:beef:cafe::/64 prefix when 
   an AS border router announces that 2000:0:beef::/48 is no longer 
   available (because the uplink to the ISP has failed, for example).  
    
3.3 Stub links 
    
   [7] describes stub links as links to which only one OSPF speaker is 
   attached.  
                                     
 
Dimitrelis                                                   [Page 11] 
                        Router Autoconfiguration 
                              October 2002 
 
 
    
   Routers will potentially have stub links attached to some of their 
   network interfaces. A router with attached stub links is responsible 
   for configuring those links with network prefixes (or subnet 
   addresses), just as Designated Routers are responsible for 
   configuring transit networks with prefixes. In particular, a router 
   will need to have synchronized its link state database before it 
   begins choosing subnet addresses for stub networks. The list of area-
   wide prefixes from which to create subnet addresses will have built 
   by processing AS-external LSAs (section 3.5). A router with stub 
   links must process routing protocol exchanges for prefix collisions 
   involving the stub links it has allocated prefixes. The constant 
   monitoring of prefixes in use elsewhere in the network is identical 
   to the monitoring performed by designated routers that have chosen 
   prefixes for transit links. A router must change the prefixes it has 
   assigned to local stub links if a prefix collision is detected.  
    
   A router will update its router LSA to include any prefixes assigned 
   to local stub links (refer to A.4.2, [7]). 
    
3.4  Discovering uplinks 
    
   A zOSPF router may have an interface connected to a global uplink, 
   typically a residential ISP that relies on DHCP for address 
   configuration. An area border router is responsible for injecting 
   prefix information into the routing domain and advertising a default 
   route.  
    
   3.4.1 Detecting an uplink 
    
   This section briefly describes how a router can detect an uplink 
   interface and obtain a global address and/or prefix. 
    
   After forming adjacencies with other zOSPF routers and configuring 
   any eligible interfaces, a router will attempt to detect an IPv4 
   uplink by broadcasting DHCP DISCOVER messages over those interfaces 
   through which there are no zOSPF adjacencies. Links with zOSPF 
   adjacencies are avoided because the designated router on each link 
   acts as a DHCP server. If a zOSPF router receives a response from a 
   DHCP server that is not another zOSPF speaker, it will request an IP 
   address and configure its uplink interface with that address. DHCP 
   responses should be filtered based on MAC address - the MAC addresses 
   of neighboring zOSPF routers will be known, and DHCP responses from 
   them should be ignored.  
    
   A zOSPF router can also attempt to discover a global IPv6 prefix 
   delegated by an ISP. There are currently several ways to do this, 
   including the methods described in - [8], [3], and [9]. 
                                     
 
Dimitrelis                                                   [Page 12] 
                        Router Autoconfiguration 
                              October 2002 
 
 
    
   3.4.2 Injecting external routing information 
    
   A zOSPF area border router will inject prefix and global reachability 
   information into a zOSPF routing domain. AS-external LSAs will be 
   used to advertise a default route, and also a delegated IPv6 prefix. 
   The default route is advertised using AS-external LSAs as documented 
   in [2]. 
    
   If a zOSPF area border router is allocated an IPv4 address via DHCP, 
   it will use this address to form a /48 6to4 prefix, and flood an AS-
   external LSA throughout the area in order to advertise this prefix. 
   Similarly, if the site is delegated a global /48 prefix, the prefix 
   will be signaled to other routers within the area with an AS-external 
   LSA. This usage overloads the semantics of AS-external LSAs from the 
   point of view of OSPFv3, as (in this instance) they are not 
   advertising a route, but instead a prefix. The use of AS-external 
   LSAs to flood site-wide prefix data is distinguished from their use 
   in propagating routing information by defining a new bit in the 
   prefix options field. This new bit is the L bit, as shown below.  
    
                     0  1  2  3  4  5  6  7 
                    +--+--+--+--+--+--+--+--+ 
                    |  |  |  | L| P|MC|LA|NU| 
                    +--+--+--+--+--+--+--+--+ 
    
                  The zOSPF Prefix Options field 
    
   When the L bit is set to 1, the address prefix contained in an AS-
   external LSA is to be interpreted as a site wide prefix that can be 
   used to create subnet addresses.  
    
   If the L bit is set to 0, the address prefix carried within the AS-
   external LSA will be treated as an address reachable by the 
   originator of the LSA. The default route will always be advertised 
   with the L bit set to 0. 
 
3.5 Processing AS-external LSAs 
    
   Section 3.4 discusses how an area border router injects AS-external 
   LSAs into the routing domain. This section discusses additional 
   processing that applies to AS-external LSAs carrying prefixes with 
   the 'L' bit set in the prefix options field (refer to section 3.4.2).  
    
   The purpose of AS-external LSAs within zOSPF is twofold: 
      (1) To advertise the reachability of external prefixes. In a 
      typical zOSPF deployment, only the default route will be 
      advertised using an AS-external LSA. 
                                     
 
Dimitrelis                                                   [Page 13] 
                        Router Autoconfiguration 
                              October 2002 
 
 
       
      (2) To advertise IPv6 prefixes that are valid within an area.  
       
   There may be multiple valid 'global' IPv6 prefixes within an area, 
   and the same router need not have originated them. An example would 
   be where one border router with an IPv4 uplink creates a 6to4 address 
   while another router has a native IPv6 uplink. In this case, each 
   router would flood a /48 IPv6 prefix and advertise a default route 
   for IPv6 traffic.  
    
   zOSPF routers use prefixes flooded within AS-external LSAs to 
   determine the set of area-wide prefixes to use when allocating subnet 
   addresses to attached links. The entries advertising area-wide 
   prefixes are distinguished by having the 'L' bit set in their prefix 
   options field. Prefixes having the 'L' bit set in their prefix 
   options field are only to be used for creating subnet addresses are 
   not to be used in SPF calculation. 
 
 
3.6  Monitoring for subnet address collisions 
    
   Routers that have allocated subnet addresses to any of their directly 
   connected links will need to perform additional processing on Intra-
   area prefix LSAs in order to detect and resolve prefix collisions. 
 
   Prefix collisions can occur if two routers simultaneously choose the 
   same prefix for allocation to distinct subnets, or when two networks 
   merge. All prefixes allocated by routers to their links will be 
   announced via Intra-area prefix LSAs. The additional processing 
   related to detecting prefix collisions is as follows:  
    
      o A router maintains a conceptual list of the prefixes it has 
      allocated to its links. This list includes both IPv4 and IPv6 
      prefixes, and may be an empty list 
       
      o When a router receives an Intra-area prefix LSA that it did not 
      originate, it compares the prefixes contained in the received LSA 
      with those that it itself has allocated. Any prefixes advertised 
      by another router that match a prefix claimed by this router are 
      involved in a collision. 
    
   A router that detects any of its subnet addresses to conflict with 
   addresses claimed by another zOSPF router will discontinue 
   advertising the contentious prefixes and choose a new subnet 
   addresses for the affected links. The LSA advertising the problematic 
   subnet address will be timed out immediately. 
    

                                     
 
Dimitrelis                                                   [Page 14] 
                        Router Autoconfiguration 
                              October 2002 
 
 
4. Layer 2 partitions and merges 
 
   One goal of zOSPF is that it is robust to layer 2 merges and splits. 
   OSPF's Hello protocol will ensure the reliable election of a 
   designated router and a backup designated router on a link in the 
   face of layer 2 partitions and merges. This is coupled with the 
   strategy that a router that has just taken over as a designated 
   router chooses a new set of prefixes for a link, rather than 
   continuing to use the old prefixes. This is because it cannot make 
   any assumptions about why it has become designated router (refer to 
   section 3.1).  
 
5. Services to hosts 
    
   zOSPF routers will be required to provide a DHCP service, primarily 
   to allow hosts to configure an IPv4 address, netmask, and default 
   route. The only active DHCP server on a link will be co-located 
   within the designated router. A future version of this document will 
   discuss how hosts will be notified of the premature expiration of 
   their lease due to a subnet being renumbered. A potential approach 
   would be a broadcast (rather than unicast) DHCP FORCERENEW message. 
   [10] specifies the unicast DHCP FORCERENEW message. A broadcast 
   FORCERENEW message may be necessary when a router that is not aware 
   of existing leases assumed the role of the designated router and must 
   renumber the subnet. 
 
6. Related Work 
 
   draft-chelius-router-autoconf-00.txt describes a scheme that utilized 
   OSPFv3 to configure IPv6-only routers.  
    
Security Considerations 
    
   The send working group has been chartered to produce mechanisms for 
   securing IPv6 neighbor discovery. These mechanisms could potentially 
   fit into a zOSPF scheme in the sense that only those zOSPF routers 
   with the correct credentials will communicate with each other.  
    
    
References 
                     
    
   [1]  Bradner, S., "The Internet Standards Process", RFC2026, October 
        1996 
    
   [2]  Coltun, R., Ferguson, D., Moy, J., RFC2740, "OSPF for IPv6", 
        December 1999 

                                     
 
Dimitrelis                                                   [Page 15] 
                        Router Autoconfiguration 
                              October 2002 
 
 
    
   [3]  Thomson, S., Narten, T., RFC2462, "IPv6 Stateless Address 
        Autoconfiguration", December 1998 
    
   [4]  Hinden, R., Deering, S., RFC2373, "IP Version 6 Addressing 
        Architecture", July 1998 
    
   [5]  Zinin, A., Friedman, B., Roy, A., Nguyen, L., Yeung, D., draft-
        nguyen-ospf-lls-01, "OSPF Link-local Signalling" (work in 
        progress), September 2002 
    
   [6]  Carpenter, B., Moore, K., RFC3056, "Connection of IPv6 Domains 
        via IPv4 Clouds", February 2001 
    
   [7]   Moy, J., RFC2178, "OSPF Version 2", April 1998 
    
   [8]  Troan, O., Droms, R., draft-troan-dhcpv6-opt-prefix-delegation-
        01, "IPv6 Prefix Options for DHCPv6" (work in progress), May 
        2002 
    
   [9]  Haberman, B., Martin, J., draft-haberman-ipngwg-auto-prefix-02, 
        "Automatic Prefix Delegation Protocol for Internet Protocol 
        Version 6" (work in progress), February 2002 
    
   [10] Y. T'Joens, C. Hublet, P. De Schrijver, RFC 3203, "DHCP 
        reconfigure extension", December 2001 
 
    
    
Author's Addresses 
    
   Arthur Dimitrelis 
   Motorola Australia 
   Locked Bag 5028 
   Botany NSW 1455 
   Australia 
   Email: Arthur.Dimitrelis@Motorola.com 
     
   Aidan Williams 
   Motorola Australia 
   Locked Bag 5028 
   Botany NSW 1455 
   Australia 
   Email: Aidan.Williams@Motorola.com  




                                     
Expires: April 2003 
Dimitrelis                                                   [Page 16] 


PAFTECH AB 2003-20262026-04-23 08:48:32