[Docs] [txt|pdf|xml] [Tracker] [Email] [Nits]

Versions: 00

Network Working Group                                            T. Boot
Internet-Draft                                    Infinity Networks B.V.
Intended status: Informational                          October 15, 2012
Expires: April 18, 2013

                            BRDP for Homenet


   This document describes the Border Router Discovery Protocol (BRDP)
   and all of its related components.  BRDP enables multi-homing for
   small to medium sites, including Homenets, using Provider
   Aggregatable IPv6 addresses.  It describes a mechanism for automated
   IP address configuration and renumbering, a mechanism for optimized
   source address selection and a new paradigm for packet forwarding,
   for support of multi-homed sites.  BRDP prevents ingress filtering
   problems with multi-homed sites and supports load-balancing for
   multi-path transport protocols.  This work also prevents routing
   scalability problems in the provider network and Internet Default
   Free Zone because small to medium multi-homed size sites would not
   need to request Provider Independent address blocks.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on April 18, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents

Boot                     Expires April 18, 2013                 [Page 1]

Internet-Draft              BRDP for Homenet                October 2012

   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  Detection of Homenet Perimeter interfaces on Border
           Routers  . . . . . . . . . . . . . . . . . . . . . . . . .  5
     1.2.  Propagation of Border Router information . . . . . . . . .  5
     1.3.  Address configuration with Border Router information . . .  6
     1.4.  Address selection with Border Router information . . . . .  6
     1.5.  Routing based on Border Router information . . . . . . . .  7
     1.6.  Deployment of the Border Router Discovery Protocol . . . .  7
     1.7.  Requirements Language  . . . . . . . . . . . . . . . . . .  8
   2.  Reference Scenarios  . . . . . . . . . . . . . . . . . . . . .  8
     2.1.  Single-homed site  . . . . . . . . . . . . . . . . . . . .  8
     2.2.  Small multi-homed site or DMZ  . . . . . . . . . . . . . . 10
     2.3.  Medium multi-homed site  . . . . . . . . . . . . . . . . . 12
     2.4.  Medium multi-homed site with ULAs and DHCP server  . . . . 16
     2.5.  MANET site . . . . . . . . . . . . . . . . . . . . . . . . 18
   3.  Border Router Discovery Protocol (BRDP)  . . . . . . . . . . . 20
     3.1.  Border Router Information Option (BRIO)  . . . . . . . . . 21
     3.2.  BRDP processing  . . . . . . . . . . . . . . . . . . . . . 22
       3.2.1.  BRDP message generation and transmission . . . . . . . 23
       3.2.2.  BRDP message reception . . . . . . . . . . . . . . . . 24
       3.2.3.  BRIO-Cache maintenance . . . . . . . . . . . . . . . . 25
       3.2.4.  BRDP loop prevention . . . . . . . . . . . . . . . . . 26
     3.3.  Unified Path Metric (UPM)  . . . . . . . . . . . . . . . . 27
   4.  BRDP based Address Configuration and Prefix Delegation . . . . 27
     4.1.  Border Router selection  . . . . . . . . . . . . . . . . . 28
       4.1.1.  Border Router Selection based on UPM . . . . . . . . . 28
     4.2.  Address autoconfiguration  . . . . . . . . . . . . . . . . 29
       4.2.1.  Address and prefix configuration with SLAAC or DHCP  . 29
       4.2.2.  Address generation and configuration for Routers . . . 29
       4.2.3.  Support for Unique Local Addresses (ULA) . . . . . . . 30
   5.  BRDP based Source Address Selection  . . . . . . . . . . . . . 30
     5.1.  Address Selection for dynamic DNS  . . . . . . . . . . . . 30
   6.  BRDP based Routing . . . . . . . . . . . . . . . . . . . . . . 30
     6.1.  Problems with default gateway routing  . . . . . . . . . . 31
     6.2.  Default gateway routing replaced with BRDP Based
           Routing  . . . . . . . . . . . . . . . . . . . . . . . . . 31
   7.  BRDP and IRTF RRG goals  . . . . . . . . . . . . . . . . . . . 32

Boot                     Expires April 18, 2013                 [Page 2]

Internet-Draft              BRDP for Homenet                October 2012

     7.1.  Scalability  . . . . . . . . . . . . . . . . . . . . . . . 33
     7.2.  Traffic engineering  . . . . . . . . . . . . . . . . . . . 33
     7.3.  Multi-homing . . . . . . . . . . . . . . . . . . . . . . . 33
     7.4.  Loc/id separation  . . . . . . . . . . . . . . . . . . . . 33
     7.5.  Mobility . . . . . . . . . . . . . . . . . . . . . . . . . 34
     7.6.  Simplified renumbering . . . . . . . . . . . . . . . . . . 34
     7.7.  Modularity . . . . . . . . . . . . . . . . . . . . . . . . 34
     7.8.  Routing quality  . . . . . . . . . . . . . . . . . . . . . 34
     7.9.  Routing security . . . . . . . . . . . . . . . . . . . . . 34
     7.10. Deployability  . . . . . . . . . . . . . . . . . . . . . . 35
   8.  Currently unaddressed issues . . . . . . . . . . . . . . . . . 35
   9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 35
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 35
   11. Security Considerations  . . . . . . . . . . . . . . . . . . . 35
   12. Change log . . . . . . . . . . . . . . . . . . . . . . . . . . 36
   13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 36
     13.1. Normative References . . . . . . . . . . . . . . . . . . . 36
     13.2. Informative References . . . . . . . . . . . . . . . . . . 37
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 38

Boot                     Expires April 18, 2013                 [Page 3]

Internet-Draft              BRDP for Homenet                October 2012

1.  Introduction

   *** Note to the reader *** This Internet Draft is submitted as an
   early version for a proposal for the Homenet working group.  This
   version is a merge from earlier documents.  Now that is a singe
   document, it is to be adjusted to comply to the Homenet scenario.
   This is work in progress.

   IPv6 provides basic functionality for multi-homing, since nodes can
   have multiple addresses configured on their interfaces.  However, it
   is difficult to utilize the advantages of this, as there is a strong
   tendency shielding the network topology from hosts and in general
   routing does not support multi-homing very well.  As a result, it is
   difficult or impossible for a host to utilize available facilities of
   the network, such as multi-path.  Also scalability of the Internet
   routing system is getting a problem due to a high demand of Provider
   Independent (PI) addresses.

   The Border Router Discovery Protocol (BRDP) enhances the IPv6 model
   by enabling automated renumbering in dynamically changing multi-homed
   environments, such that routers and hosts cooperate on address
   configuration and path selection.  BRDP utilizes Provider
   Aggregatable (PA) addresses and uses them as locator.  Mapping
   identifiers to locators is out of scope of BRDP, also because other
   solutions exists or are being worked on.  All these solutions work
   fine with BRDP, as long as they don't break IPv6.

   BRDP applies to edge networks.  These networks can be fixed, for
   example enterprise networks, small offices / home offices (SOHO) or
   home sites (Homenets).  BRDP also can be used in wireless access
   networks, for example wireless access networks such as 3G or 4G,
   wireless LANs or mobile ad hoc networks (MANETs).  A nice attribute
   of BRDP is that it supports multi-homing in heterogeneous networks,
   meaning that e.g. a Homenet network can have multiple wired broadband
   and 3G/4G connections to the Internet simultaneously.

   In a multi-homed network, nodes are connected to the Internet via
   multiple exit points, possibly via multiple providers.  [RFC5887]
   argues that if a site is multi-homed, using multiple PA routing
   prefixes, then the interior routers need a mechanism to learn which
   upstream providers and corresponding PA prefixes are currently
   reachable and valid.  Next to that, these upstream providers or PA
   prefixes may change over time.  This requires a dynamic renumbering
   mechanism that can handle planned or unplanned changes in the
   prefixes used.  BRDP proposes a mechanism for automated renumbering
   in larger networks that goes beyond hosts in a single subnet.

   BRDP uses the following key elements:

Boot                     Expires April 18, 2013                 [Page 4]

Internet-Draft              BRDP for Homenet                October 2012

   o  Propagation of available Border Routers and corresponding
      prefixes, described in Section 3;
   o  Address autoconfiguration and prefix delegation, using BRDP
      provided hints, described in Section 4;
   o  Source address selection, using BRDP provided hints, described in
      Section 5;
   o  Packet forwarding to the Border Router that corresponds with the
      source address prefix, in case the destination address is not
      found in the routing domain, described in Section 6.

1.1.  Detection of Homenet Perimeter interfaces on Border Routers

   For fully automated deployment in Homenets, it is required that
   routers can discover automatically their uplink interfaces, that
   connect the Homenet to ISPs.  Some mechanisms for automatic detection
   are described in [I-D.kline-default-perimeter].

   After detection of an uplink interface to an ISP and reception of a
   prefix, the router starts acting as a border router.  It starts
   acting as a DHCP server, with support of prefix delegation.  It also
   configures at least an address out of the assigned prefix.  This
   address is used as Border Router address and DHCP server address.

   The BRDP protocol can also be used to assist perimeter detection.  A
   router interface on which Border Router information is received
   should not be identified as an uplink interface to an ISP.

1.2.  Propagation of Border Router information

   The propagation of available Border Routers and corresponding
   prefixes is implemented as an extension on the Neighbor Discovery
   Protocol [RFC4861].  Border Router Information Options (BRIOs) are
   sent with Router Advertisements, and contain information about the
   Border Router, such as:
   o  - the Border Router address;
   o  - the prefix that corresponds with that Border Router;
   o  - cost indication of the path via that Border Router to the core
      network, i.e. the Internet Default Free Zone (DFZ).

   BRIOs are disseminated downstream through the network.  All nodes
   store the information from BRIOs they receive in a BRIO cache.

   Border routers with multiple prefixes send out a BRIO for each of
   these prefixes.  In a multi-homed network, nodes will receive
   multiple prefix information, from multiple upstream Border Routers or
   from a Border Router with multiple prefixes.

Boot                     Expires April 18, 2013                 [Page 5]

Internet-Draft              BRDP for Homenet                October 2012

1.3.  Address configuration with Border Router information

   Routers can generate IPv6 addresses, with regular SLAAC [RFC4862].
   Generation is based on Prefix Information Option from upstream
   routers and optionally on information in the BRIO cache, e.g. using
   the prefix with the lowest cost to the Internet.  In addition,
   routers may generate /128 IPv6 address-prefixes for a management
   interface, based on a Border Router prefix.  Routers set up
   reachability to these addresses automatically, by adding the
   generated address or prefix in the routing protocol.

   With BRDP, routers automatically learn Border Routers that act as
   DHCP server or relay agent [RFC3633].  When routers detect an
   alternate path to the DFZ, with no corresponding assigned address or
   prefix already, new prefixes are requested for using this alternate

   Prefixes, of which the path to the DFZ is no longer available, are
   put 'out of service' by routers, meaning they are not used for
   address assignments anymore.  Optionally, if the cost to the DFZ
   through a Border Router is far higher than via other available paths,
   a router can put the corresponding prefix out of service also.
   Prefixes that are out of service are released.

   Prefixes that are in service are configured on interfaces with a 64-
   bit prefix length and advertised with a Prefix Information Option in
   Router Advertisements.  The Prefix Information lifetime is copied
   from lifetime information in the BRIO cache.

   Hosts can use the BRDP provided information together with the Prefix
   Information to autoconfigure addresses, based on IPv6 Stateless
   Address Autoconfiguration [RFC4862].  A host may also use DHCPv6 to
   get addresses or "Other configuration", using multicast or with
   unicast to the BRDP learned DHCP server address.

1.4.  Address selection with Border Router information

   Nodes with multiple configured addresses need to select a source
   address for outgoing connections.  Default Address Selection for IPv6
   [RFC6724] defines a mechanism, used as default behavior.  It is open
   to more advanced mechanisms or site policies.  BRDP provided
   information can be used for a more advanced mechanism, where the
   hosts select automatically a source address that corresponds with a
   path with the lowest cost to the DFZ.  When multiple Border Routers
   are available, automatic load distribution and multi-path transport
   becomes available.

Boot                     Expires April 18, 2013                 [Page 6]

Internet-Draft              BRDP for Homenet                October 2012

1.5.  Routing based on Border Router information

   Network Ingress Filtering [RFC2827] describes the need for ingress
   filtering, to limit the impact of distributed denial of service
   attacks, by denying traffic with spoofed source addresses access.  It
   also helps ensure that traffic is traceable to its correct source
   network.  Ingress Filtering for Multihomed Networks [RFC3704]
   provides solutions for multi-homed sites.  However, the proposal
   applicable for PA addresses requires careful planning and
   configuration.  It suggests routing based on source address, and a
   path on each Border Router to all ISPs in use, either with a direct
   connection or with tunnels between all Border Routers.  It is hard to
   make such mechanisms work in an automated fashion, or mechanisms are
   not supported on Border Routers used today.  As an evolutionary
   approach, BRDP provided information is to be used to forward packets
   to their destination without ingress filtering problems.  The BRIO
   cache contains a mapping between Border Routers and the addresses
   that do pass ingress filtering.  So the packet forwarding heuristic
   can be straightforward: send packets, where the destination is not in
   the routing domain itself, to the Border Router that owns the prefix
   of the source address.

   Hosts use information in the Default Router List to select a default
   router.  For selecting the best paths, hosts may use next hop
   selection based on source address and path costs to the corresponding
   Border Router, if such information is available to the host.  Such
   next hop determination is useful for destinations outside the edge
   network, i.e. the destination address does not belong to a prefix in
   the BRIO cache.

1.6.  Deployment of the Border Router Discovery Protocol

   Enabling BRDP in an existing network is straightforward.  First, all
   routers have to be updated for BRDP support.  At this step, Border
   Router information is propagated in the network enabling BRDP
   assisted address autoconfiguration and prefix delegation and BRDP
   assisted source address selection.  The second step is updating all
   routers with the BRDP based routing mechanism.  To enable this
   mechanism the default gateway is removed from the routing table.
   This second step is a flag day operation.  Rolling back is easy, by
   just re-inserting the default gateway.

   After the update of the network, additional border routers can be
   added to the network and will be used automatically.  Also a
   renumbering event will take place without any manual intervention.

   BRDP does not provide session continuity when paths are broken.
   Mobility solutions are in place, or are work in progress.  Recently,

Boot                     Expires April 18, 2013                 [Page 7]

Internet-Draft              BRDP for Homenet                October 2012

   interesting developments are work in progress, such as MPTCP
   [I-D.ietf-mptcp-multiaddressed] and ILNP [I-D.rja-ilnp-intro].  BRDP
   is very useful for both of these protocols.

1.7.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in RFC 2119 [RFC2119].

2.  Reference Scenarios

   This section describes the use of BRDP in five different scenarios: a
   single homed Homenet, multi-homed site or DMZ, a medium multi-homed
   site, a medium multi-homed site with ULA with DHCP server and a MANET

2.1.  Single-homed site

   This scenario discusses BRDP operation for single-homed home
   networks.  The scenario is taken from [I-D.ietf-homenet-arch].

Boot                     Expires April 18, 2013                 [Page 8]

Internet-Draft              BRDP for Homenet                October 2012

                /                        \
               {       The Internet       }
                \                        /
                        |   Service     |
                        |   Provider    |
                        |    Router     |
                                | (2001:8db:101::/48)
                         |   IPv6 CPE    |
                         |    BR_101     |
            2001:8db:101:1::1 | |   |
                              | |   |
          2001:8db:101:1::/64 | |   |    2001:8db:101:3::/64
       ----+-------------+----+ |   +---+-------------+------+
           |             |    | |       |             |      |
      +----+-----+ +-----+----+ |  +----+-----+ +-----+----+ |
      |IPv6 Host | |IPv6 Host | |  | IPv6 Host| |IPv6 Host | |
      +----------+ +----------+ |  +----------+ +----------+ |
                                |        |             |     |
            2001:8db:101:2::/64 |     ---+------+------+-----+
                                |               |
              2001:8db:101:2::2 |               |
                         +------+--------+      |
                         |     IPv6      |      |
                         |   Interior    +------+
                         |    Router     |
         2001:8db:101:4::/64 |       |  2001:8db:101:5::/64
       ----+-------------+---+-    --+---+-------------+---
           |             |               |             |
      +----+-----+ +-----+----+     +----+-----+ +-----+----+
      |IPv6 Host | |IPv6 Host |     | IPv6 Host| |IPv6 Host |
      +----------+ +----------+     +----------+ +----------+

                  Figure 1: Scenario 1: Single-homed site

   The CPE device has to discover the link to the ISP and has to get
   assigned an IPv6 prefix, in this scenario 2001:8db:101::/48.  The CPE
   configures itself a global unique address prefix 2001:8db:101:1::
   1/64, assumed on the first interface in the homenet.  It may

Boot                     Expires April 18, 2013                 [Page 9]

Internet-Draft              BRDP for Homenet                October 2012

   configure additional global unique address on other interfaces, but
   this is not required.  This is existing functionality which is not
   updated by BRDP.

   The CPE starts sending router advertisements.  It also checks
   received router advertisements on already existing prefixes for the
   /48 prefix it has assigned by the ISP.  In this scenario there is no
   other CPE, so no on-link prefixes exist.  The CPE allocates and bind
   additional prefixes for all its interfaces, and send Router
   Advertisements with the Prefix Information Option.  By then it has
   configured 2001:8db:101:1::/64, 2001:8db:101:2::/64 and 2001:8db:101:
   3::/64.  The CPE router also acts as DHCP server, for the ISP
   provided prefix.

   Now, the IPv6 hosts in the middle row learn these prefixes from
   Prefix Information Options sent by the CPE.  They can configure IPv6
   addresses, either with SLAAC or DHCP.  Also, the IPv6 Interior Router
   can configure an IPv6 address, in this scenario on the link with
   prefix 2001:8db:101:2::/64.

   The IPv6 Interior Router also receives the router advertisement with
   the onlink prefix 2001:8db:101:3::/64 on its interface on the right.
   It could configure an address in thes prefix, but because it has
   already a globally unique address configured, there is no need for
   this.  Question is if the router should echo the prefix as on-link.
   In this BRDP proposal, it doesn't.  It is not the "delegated prefix

   Before the IPv6 hosts on the lower row can get their addresses, the
   IPv6 Interior Router has to be assigned two more prefixes.  Here,
   BRDP starts playing its role.  The CPE router advertises itself with
   Border Router Information Option, in its Router Advertisement.  The
   IPv6 Interior Router learns this information, and gets the two needed
   prefixes from the CPE Router, using unicasted DHCP messages to the
   (CPE) Border Router.  Two prefixes are assigned and configured, 2001:
   8db:101:4::/64 and 2001:8db:101:5::/64.

   For full connectivity, the homenet uses an interior routing protocol.
   BRDP is agnostic on the routing protocol used.

2.2.  Small multi-homed site or DMZ

   This scenario discusses BRDP operation for multi-homed Small Office -
   Home Office (SOHO) networks and De-Militarized Zones (DMZ).  The
   scenario is shown in Figure 2.  Each provider assigns a PA /48 prefix
   to its customers.  All addresses and prefixes are configured
   completely automatically.  The feature of BRDP that adds value in
   this scenario is BRDP based Border Router selection for multi-homed

Boot                     Expires April 18, 2013                [Page 10]

Internet-Draft              BRDP for Homenet                October 2012

   hosts.  This is enabled by using BRDP based forwarding.

         /                        \
        {       The Internet       }
         \                        /
           /                    \
          /(2001:08db:100::/40)  \(2001:8db:200::/40)
     +=======+              +=======+
     [ ISP_1 ]              [ ISP_2 ]
     +=======+              +=======+
         |                       |
         |(2001:8db:101::/48)    |(2001:8db:201::/48)
   +--------+              +--------+
   | BR_101 |              | BR_201 |
   +--------+              +--------+
     | fe80::101/64            | fe80::201/64
     | 2001:8db:101:1::101/64  | 2001:8db:201:1::201/64
     |                         |
   2001:8db:101:1::1234/64 | 2001:8db:201:1::1234/64
             fe80::1234/64 |
                     | Host_1234 |

    Figure 2: Scenario 2: multi-homed Small Office - Home Office (SOHO)
                              network or DMZ

   In this scenario, Host_1234 has configured two addresses using SLAAC
   [RFC4862], one with prefix 2001:8db:101:1::/64 from Border Router
   BR_101 and one with prefix 2001:8db:201:1::/64 from Border Router
   BR_201.  Host_1234 has learned these prefixes from Prefix Information
   Options sent by both Border Routers according to [RFC4861].  The host
   has learned via BRIOs that these prefixes belong to Border Routers.
   The host can use optimal paths by selecting BR_101 as default router
   for all packets with a source address with prefix 2001:8db:101:1::/64
   and default gateway BR_201 for all packets with a source address with
   prefix 2001:8db:201:1::/64.  Non-optimal default router selection on
   hosts is handled by the routers, "misdirected" packets are forwarded
   to the correct Border Router.

   BRDP enables routers to deliver non-optimal directed packets from
   attached hosts towards a Border Router that owns the prefix of the
   source address, if such a Border Router exists.  In the above
   scenario, a packet sent from Host_1234 with source address 2001:8db:

Boot                     Expires April 18, 2013                [Page 11]

Internet-Draft              BRDP for Homenet                October 2012

   201:1::1234 to default router BR_101 would be dropped due to on an
   ingress filter, when no mechanism is in place to redirect the packet.
   BRDP based forwarding provides such a mechanism automatically.
   Instead of dropping the packet, BR_101 forwards it to BR_201.

2.3.  Medium multi-homed site

   This scenario discusses BRDP operation for medium sized multi-homed
   networks.  The difference with the previous scenario is that the
   network paths between hosts and the Border Routers have intermediate
   routers.  The scenario is shown in Figure 3.  The added value of BRDP
   in this scenario is the discovery of Border Routers for hosts and
   routers beyond the first hop as well as Border Router Selection for
   hosts and routers.

Boot                     Expires April 18, 2013                [Page 12]

Internet-Draft              BRDP for Homenet                October 2012

         /                        \
        {       The Internet       }
         \                        /
           /                    \
          /(2001:8db:100::/40)   \(2001:8db:200::/40)
     +=======+              +=======+
     [ ISP_1 ]              [ ISP_2 ]
     +=======+              +=======+
         |                       |
         |(2001:8db:101::/48)    |(2001:8db:201::/48)
   +--------+              +--------+
   | BR_101 |              | BR_201 |
   +--------+              +--------+
     | fe80::101/64            | fe80::201/64
     | 2001:8db:101:1::101/64  | 2001:8db:201:1::201/64
     |                         |
       |                         |
       | 2001:8db:201:1::1/64    |
       | 2001:8db:101:1::1/64    | 2001:8db:201:1::2/64
       | fe80::1/64              | fe80::2/64
    +----------+              +--------+
    |   R_1    |              |   R_2  |
    +----------+              +--------+
     |fe80::  | fe80::2:1/64       | fe80::1:2/64
     |1:1/64  |                    |
     |       -+--------------------+-+-
     |                             |
     | 2001:8db:101:2::1234/64     |
     | 2001:8db:201:3::1234/64     |
     | fe80::1234/64               |
   +-----------+                   | 2001:8db:101:3::ABCD/64
   | Host_1234 |                   | fe80::ABCD/64
   +-----------+               +-----------+
                               | Host_ABCD |

          Figure 3: Scenario 3: medium sized multi-homed network

   Routers can learn advertised on-link prefixes automatically via the
   Prefix Information Option in IPv6 ND RAs.  In this scenario, routers
   R_1 and R_2 learn prefix 2001:8db:101:1::/64 from BR_101 and prefix
   2001:8db:201:1::/64 from BR_201.  Routers may autoconfigure addresses
   on their interfaces.  In this example, R_1 has configured addresses
   from both providers on its upstream interface, R_2 only configured an
   address based on the prefix of BR_201.  If the routers run a routing

Boot                     Expires April 18, 2013                [Page 13]

Internet-Draft              BRDP for Homenet                October 2012

   protocol, the learned prefixes are made reachable in the network.  In
   the next steps of the autoconfiguration proces, the prefixes and
   addresses on the other links are automatically configured, but first
   we discuss the BRDP messages that are disseminated through the

   Routers automatically learn Border Routers and mapping between
   prefixes and Border Routers using BRDP.  The diagram in Figure 4
   depicts BRIO message dissemination in scenario 2.  The two Border
   Routers advertise their own address and corresponding prefix with an
   address prefix.  Nothing prevents them from forwarding each other's
   BRIO message, although resending BRIO information on non-MANET
   interfaces is not useful.  Both routers R_1 and R_2 forward both
   Border Router address prefixes, using separate BRIOs in RAs, on
   downstream interfaces.  In this way all routers and hosts in the
   network are aware of all reachable Border Routers and corresponding

Boot                     Expires April 18, 2013                [Page 14]

Internet-Draft              BRDP for Homenet                October 2012

         /                        \
        {       The Internet       }
         \                        /
           /                    \
          /(2001:8db:100::/40)   \(2001:8db:200::/40)
     +=======+              +=======+
     [ ISP_1 ]              [ ISP_2 ]
     +=======+              +=======+
         |                       |
         |(2001:8db:101::/48)    |(2001:8db:201::/48)
   +--------+                +--------+
   | BR_101 |                | BR_201 |
   +--------+                +--------+
     | :                         | :
     | V 2001:8db:101:1::101/48  | V 2001:8db:201:1::201/48
     |                           |
       |                           |
       |                           |
    +--------+                  +--------+
    |   R_1  |                  |   R_2  |
    +--------+                  +--------+
     | :  | :                        | :
     | :  | : 2001:8db:101:1::101/48 | : 2001:8db:101:1::101/48
     | :  | V 2001:8db:201:1::201/48 | V 2001:8db:201:1::201/48
     | :  |                          |
     | : -+--------------------------+-
     | :
     | : 2001:8db:101:1::101/48
     | V 2001:8db:201:1::201/48

                Figure 4: BRIO dissemination in Scenario 3

   Routers are not required to configure global addresses on each
   interface.  In the example, only the interface pointing to the
   Internet has configured global addresses.  Routers may also use a
   (logical) management interface for global reachability.

   So, the one-hop neighbours of BR_101 and BR_201, being R_1 and R_2,
   have learned the prefixes and configured addresses on their upstream
   interfaces.  And all nodes in the network have learned the Border
   Router prefixes.  The next step is to get configured addresses on the
   hosts in Figure 2.  This is done by using DHCP Prefix Delegation.
   R_1 and R_2 request a prefix from either or both BR_101 and BR_201

Boot                     Expires April 18, 2013                [Page 15]

Internet-Draft              BRDP for Homenet                October 2012

   for binding as on-link prefix on the links, and advertise those using
   Prefix Information Options to the hosts.  This will result in a
   maximum of four prefixes that are advertised on the downlink of R_1
   and R_2.  Having multiple prefixes from the same ISP bound on a link
   is not useful.  So a router requests a prefix from a Border Router
   only if no other prefix of that Border Router is advertised already
   by another router on this network segment.

   In this example, R_1 has been delegated two prefixes by DHCP PD for
   the link with host Host_1234; 2001:8db:101:2::/64 and 2001:8db:201:
   3::/64.  No other router is on this link.  R_1 or R_2 has also been
   delegated a prefix on the link to host Host_ABCD; 2001:8db:101:
   3::/64.  It cannot be seen in Figure 2 which router has been
   delegated the prefix, nor if another prefix for this link has been
   delegated.  No redundant prefix is delegated, as the routers learned
   with RA PIO already delegated prefixes for known Border Routers.

   Now, Host_1234 and Host_ABCD can autoconfigure addresses for their
   interfaces.  Host_1234 configures two addresses, one for each Border
   Router.  Host_ABCD chooses not to use ISP_2.

   Nodes R_1 and Host_1234 can use both providers, by using two
   configured global addresses.  Any multi-path facility can be used,
   either on an application layer or with a multi-path transport

   Host_ABCD may forward packets to the Internet via router R_1 or R_2.
   If R_2 is selected as default router, R_2 forwards the packets to
   BR_101 as this Border Router corresponds to the prefix of the source
   address 2001:8db:101:3::ABCD.  This works well, even in this case
   where R_2 hasn't configured an address with a BR_101 prefix for
   itself, and selected a global address from the BR_201 prefix only.

2.4.  Medium multi-homed site with ULAs and DHCP server

   In this example, the scenario 2 is extended by adding Unique Local
   Addresses (ULA) for communication within the site itself.  For
   simplicity there is only one ISP present.  The ULA IP configuration,
   with prefix fd00:8db::/48, is managed by DHCPv6 server DHCP_201.  The
   scenario is shown in Figure 5.

Boot                     Expires April 18, 2013                [Page 16]

Internet-Draft              BRDP for Homenet                October 2012

    /                        \
   {       The Internet       }
    \                        /
     [ ISP_1 ]
   +--------+              +---------+
   | BR_101 |              | DHCP_201|
   +--------+              +---------+
     | fe80::101/64            | fe80::201/64
     | 2001:8db:101:1::101/64  | fd00:8db:201:1::201/64
     | fd00:8db:201:1::101/64  | (acme.com,fd00:8db:201:1:201:/48)
     |                         |
       |                         |
       | fd00:8db:201:1::1/64    | fd00:8db:201:1::2/64
       | 2001:8db:101:1::1/64    | 2001:8db:101:1::2/64
       | fe80::1/64              | fe80::2/64
    +--------+              +--------+
    |   R_1  |              |   R_2  |
    +--------+              +--------+
     |FE80  | fe80::1/64         | fe80::2/64
     |::1   |                    |
     |/64  -+--------------------+-+-
     |                             |
     | 2001:8db:101:2::1234/64     |
     | fd00:8db:201:3::1234/64     |
     | fe80::1234/64               |
   +-----------+                   | 2001:8db:101:3::ABCD/64
   | Host_1234 |                   | fd00:8db:201:3::ABCD/64
   +-----------+                   | fe80::ABCD/64
                               | Host_ABCD |

   Figure 5: Scenario 4: a medium sized multi-homed site  with ULAs and
                               DHCP server.

   In this scenario, all nodes have configured a ULA and a Global
   Unicast Address using prefix delegation in the way that was described
   in Section 2.2.  ULA prefix delegation is automated just like PA
   addresses.  The DHCP server is therefore implemented on a router, in

Boot                     Expires April 18, 2013                [Page 17]

Internet-Draft              BRDP for Homenet                October 2012

   this case DHCP_201.  This router advertises the ULA prefix with BRDP,
   here fd00:8db:201::/48.

   Although BRDP provides automatic prefix and address configuration for
   ULA, a network administrator is free to configure it manually, along
   using BRDP for global addresses.

   BRDP based ULA configuration with BRDP based routing would result in
   routing packets with ULA destinations outside the site to the
   originator of the ULA prefix, in this case router DHCP_201.  DHCP_201
   is not connected to the Internet or another site owning the ULA, so
   packets to non-existing destinations are dropped.  DHCP_201 indicates
   such with the BRIO F-bit set, meaning the Border Router is floating.

   This scenario, it is demonstrated that BRDP and DHCPv6 cooperate in
   address configuration.  BRDP provides announcements of Border Routers
   and DHCP servers.  Routers request prefixes with DHCP, and can
   request other parameters also.  Such parameters are disseminated to
   other nodes, either with router advertisements or acting as DHCP
   server itself.  Routers may also act as DHCP relay, redirecting
   address requests to the Border Router(s).  The Router Advertisement
   M-bit and O-bit indicates availability of DHCPv6 services to attached

   Difficulties may arise when both ULA and global addresses are used
   for Internet connectivity, e.g. when address translation is used.  To
   distinguish, the Border Router not providing Internet connectivity
   informs nodes in the network using Service Selection suboption,
   similar to "Service Selection for Mobile IPv6" [RFC5149].  This
   procedure helps also for extranet connectivity.  In this scenario,
   the ULA is used within the ACME Corporation, nodes are made aware by
   adding "acme.com" in the BRIO Service Selection Option.

   It is for the reader to work out extensions for this scenario, where
   the ULA prefix originator is a Border Router to another site, e.g. a
   link from a branch office to a head quarter, or a ULA-only side
   connected to the Internet with NAT66.

2.5.  MANET site

   BRDP was developed for address autoconfiguration in MANETs.  This
   scenario, see Figure 6 demonstrates the powerful multi-homing
   facilities provided to the MANET nodes.

Boot                     Expires April 18, 2013                [Page 18]

Internet-Draft              BRDP for Homenet                October 2012

         /                        \
        {       The Internet       }
         \                        /
           /                    \
          /(2001:8db:100::/40)   \(2001:8db:200::/40)
     +=======+              +=======+
     [ ISP_1 ]              [ ISP_2 ]
     +=======+              +=======+
         |                       |
         |c=1                    |c=1
         |(2001:8db:101::/48)    |(2001:8db:201::/48)
   +--------+               +--------+
   | BR_101 |               | BR_201 |
   +-+------+               +---+----+
     | fe80::101/64             | fe80::201/64
     | 2001:8db:101:1::101/128  | 2001:8db:201:1::201/128
    /|\                        /|\
     : .     c=5             .  :
     :   . . . . .   . . . .    :c=1
     :c=2          .            :
     :   . . . . .   . . . . . \|/
     :  .             c=5       | 2001:8db:201:1::2/128
     \|/                        | 2001:8db:201:1::2/128
      | 2001:8db:201:1::1/128   | fe80::2/64
      | 2001:8db:101:1::1/128+--+--+
      | fe80::102/64      . .| R_2 |
   +--+--+        . . . .    +-----+.
   | R_1 |. . . .     c=5    :       .    c=4
   +-----+. . . . . . .     :c=1      . . . . .
                 c=4    .  :                    .
                        \|/                      \|/
   2001:8db:201:1::3/128 |  2001:8db:201:1::4/128 |
   2001:8db:101:1::3/128 |  2001:8db:201:1::4/128 |
              fe80::3/64 |             fe80::4/64 |
                      +--+--+                  +--+--+
                      | R_3 | . . . . . . . . .| R_4 |
                      +-----+       c=4        +-----+

                    Figure 6: Scenario 5: a MANET site

   On the MANET interfaces, addresses are configured using a 64-bit
   prefix provided by BRDP, appending it with a 64-bit Interface
   Identifier according to BRDP based address autoconfiguration.  This
   creates a 128-bit prefix length as recommended in IP Addressing Model
   in Ad Hoc Networks [RFC5889].  Each MANET node has configured two
   global addresses, one for each ISP.  With BRDP, the nodes are aware

Boot                     Expires April 18, 2013                [Page 19]

Internet-Draft              BRDP for Homenet                October 2012

   of the cost of the path to the DFZ, defined as dimensionless metric
   for both directions of the patch.  This enables optimized source
   address selection, and as an implicit result a Border Router and ISP
   selection.  In the scenario, R_1 is near to BR_101 and the cost via
   this Border Router is lower than via BR_201.  The table below shows
   costs to the DFZ for all nodes, via both ISPs.  Paths with lowest
   costs are marked with *.

      | Costs   |   Via |   Via |
      | to DFZ  | ISP_1 | ISP_2 |
      | BR_101  |    1* |    7  |
      | BR_201  |    7  |    1* |
      |  R_1    |    3* |    6  |
      |  R_2    |    6  |    2* |
      |  R_3    |    7  |    3* |
      |  R_4    |   10  |    6* |

   The optimized source address selection facility is also of utility in
   the other scenarios.  For example, the cost of the link to the ISP
   could be set depending of bandwidth and optionally on utilization.
   Nodes would use a near uplink to an ISP, and as a result some form of
   load distribution is enabled.  Note that nodes still can use the
   alternative addresses, in fact it is recommended to use multi-path
   transport protocols for better load balancing and improved

   For isolated MANETs, a DHCP server election mechanism can be used.
   Nodes may initiate to advertise a self-generated ULA.  In such cases,
   it is recommended that a prefix is used with a 56-bit random ULA
   identifier (including random 16-bit Subnet ID) and 64-bit prefix
   length.  Other nodes join this prefix, although some may wish to
   start or continue using their own prefix.  The latter would occur in
   cases of a merge of previous isolated MANETs.

3.  Border Router Discovery Protocol (BRDP)

   BRDP is an extension to the IPv6 ND mechanism [RFC4861] that provides
   information about the reachability, availability, prefix information,
   quality and cost of upstream providers, and enables automated
   (re)numbering of possibly multi-homed routers and hosts.

   BRDP adds the Border Router Information Option (BRIO) to the Router
   Advertisement (RA) of IPv6 ND.  A BRIO contains all relevant
   information of an upstream Border Router and the corresponding

Boot                     Expires April 18, 2013                [Page 20]

Internet-Draft              BRDP for Homenet                October 2012


   Border Routers initiate sending BRIO messages, other routers in the
   network disseminate the messages downstream through the network.
   Nodes store the information from received BRIOs in a BRIO cache, to
   be used for address generation, DHCP server discovery, address
   selection or packet forwarding.

   A BRIO cache entry records reception of a BRIO for a single
   advertised prefix, received via a neighbor router.  Border Routers
   that need to advertise multiple prefixes simply use multiple BRIOs,
   each with its own address prefix.  For further processing of BRIO
   entries, only the entry with the lowest cost to a Border Router is
   used, for each Border Router.

   When a node is multi-homed, it will receive BRIOs from multiple
   upstream Border Routers.

3.1.  Border Router Information Option (BRIO)

   The Border Router Information Option carries information that allows
   a nodes in the edge network to select and utilize a Border Router.

      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 |D|  reserverd  |
     |        Sequence Number        |   Hopcount    |   reserved    |
     |                    Uniform Path Metric                        |
     |                            reserved                           |
     |                                                               |
     +                   ( Border Router prefix )                    +
     |                                                               |
     +                    Border Router Address                      +
     |                                                               |
     +                ( rest of Border Router Address )              +
     |                                                               |

                        Figure 7: BRIO base option


Boot                     Expires April 18, 2013                [Page 21]

Internet-Draft              BRDP for Homenet                October 2012

      8-bit identifier of the Border Router Information Option type.
      The value of this option identifier is to be determined.

      8-bit unsigned integer.  The length of the option (including the
      type and length fields) in units of 8 octets.  A BRIO has a length
      value of 4.

   Prefix Length:
      8-bit unsigned integer.  The number of leading bits in the Border
      Router Address, that indicates the assigned prefix for that Border
      Router.  The Prefix Length is used for BRDP Based Routing, as
      described in Section 6.

   DHCP (D):
      When the D-flag is set, the Border Router is acting as a DHCP
      server or DHCP relay agent [RFC3315].

      Reserved bits.  Currently unused, set to 0.

   Sequence Number:
      16-bit unsigned integer.  It is set by the Border Router and
      incremented with each new BRIO it sends on a link.  When
      forwarding downstream, the sequence number is not changed.

      8-bit field registering the number of hops from the advertizing
      Router to the Border Router.  Border Routers send the initial BRIO
      with its Hopcount set to zero.  Routers increment the Hopcount by
      one when forwarding a BRIO.

   Uniform Path Metric (UPM):
      A measure for the cost of the bi-directional path between the
      upstream Router and the Default Free Zone of the Internet.
      Uniform Path Metric is set to some initial value by the Border
      Router and is incremented by each Router forwarding the BRIO.

   Border Router Address:
      128-bit address of the Border Router.  For reachability, the
      Border Router is expected to add this own address (prefix) in the
      routing system.

3.2.  BRDP processing

   The main BRDP processing functions of a Router are BRDP message
   generation, transmission and reception and the maintenance of a BRIO-

Boot                     Expires April 18, 2013                [Page 22]

Internet-Draft              BRDP for Homenet                October 2012

   Cache.  Routers forward BRDP messages using ICMP ND Router

3.2.1.  BRDP message generation and transmission

   A BRDP message is part of a Router Advertisement and includes a set
   of BRIOs.  It provides the current state of (paths to) the Border
   Routers listed in the set of BRIOs.  BRIOs originate from a Border
   Router, and contain initially metric information on connectivity to
   the Internet.  BRIOs are forwarded downstream in the edge network.

   When a Router sends a ICMP ND Router Advertisement, it SHOULD include
   a set of BRIOs by appending them to the message.  The maximum number
   of BRIOs in a single BRDP message is a Router configuration
   parameter.  BRIO selection for advertisement is done based on the
   information stored in the BRIO-Cache.  BRIOs that do not pass the
   loop prevention check described in Section 3.2.4 SHOULD NOT be

   The UPM and Hopcount fields of the advertised BRIOs are updated.  An
   UPM-increment, based on uniformed bi-directional link metrics, is
   added to the UPM and the Hopcount is incremented by 1.  UPM-increment
   MAY be governed by a hysteresis and dampening mechanism.  Also
   forecasted information MAY be used.

   Each BRIO originating from a Border Router has an increased Sequence
   Number.  This BRIO is forwarded in the edge network and refreshes
   entries in BRIO-Caches of downstream Routers.

   Router Advertisements are sent in response to Router Solicitation
   messages or unsolicited with a uniformly-distributed random interval
   between MinRtrAdvInterval and MaxRtrAdvInterval [RFC4861].  The
   MaxRtrAdvInterval falls between a minimum of 30 milliseconds,
   specified in [RFC6275] and a maximum of 1800 seconds, specified in
   [RFC4861].  In addition, the Router MAY send a Router Advertisement
   when an important change in a to be sent BRIO would occur.

   When a Router sends Router Advertisements more frequently than an
   upstream Router, this Router MAY repeatedly send BRIOs with a
   constant Sequence Number but with an updated UPM or Hopcount.

   The ICMP ND Router Advertisement MAY include the Advertisement
   Interval Option [RFC6275].  This option contains the interval at
   which the sending router sends unsolicited multicast Router

   A Router SHOULD inform downstream Routers in case the path to a
   previous advertised Border Router is lost, by at least 3 times

Boot                     Expires April 18, 2013                [Page 23]

Internet-Draft              BRDP for Homenet                October 2012

   retransmitting the previously sent BRIO with a UPM value of

   In case a Border Router loses its connection to the infrastructure it
   will lose its Border Router functionality and become a normal Router.
   In that case it performs the same procedure as a Router that has lost
   the path to a previous advertised Border Router.

   For each Border Router listed in the BRIO-Cache, the UPM-loop-
   prevention-threshold and the Hopcount-loop-prevention-threshold
   variables are maintained.  These variables are used by the loop
   prevention mechanism described in Section 3.2.4.  The thresholds are
   set or updated when sending BRDP messages.  When sending a BRIO with
   a higher Sequence Number than the previously sent BRIO for that
   Border Router, the threshold variables are set to the UPM and
   Hopcount values in BRIO to be sent.  When sending a BRIO with the
   same Sequence Number as the previously sent BRIO, the loop-
   prevention-thresholds are independently updated if either the UPM or
   Hopcount of the outgoing BRIO is lower than their thresholds.

   A Router that detects an attractive candidate BRIO but is prohibited
   from using it because of the loop prevention check, MAY send a
   (unicast) Router Solicitation message to the Border Router.  The
   Border Router responds to such a Router Solicitation message with a
   new BRIO.  Sending Router Solicitations MUST be rate limited.  A next
   version of this document would include a specification for sending
   the unicast Router Solicitation message.

3.2.2.  BRDP message reception

   When a BRDP message is received, the Sequence Number fields of the
   contained BRIOs are checked; the Sequence Number of a received BRIO
   MUST be equal to or higher than the Sequence Number in the cache for
   an existing entry in the cache, with wrap-around checking.
   Otherwise, the BRIO will be discarded.

   BRIO messages do not need to be forwarded at fixed time intervals,
   because the RA intervals on different Routers are not synchronized.
   Therefore, large gaps in Sequence Numbers may occur.  Increment
   values between 0 and 65000 are accepted.  Increment values between
   65001 and 65535 are rejected.

   Information in received BRIOs is stored in a BRIO-Cache table.  Other
   information is stored as well, such as the BRIO upstream node, a
   timestamp indicating when the most recent message was received and
   the measured or signaled RA interval.

Boot                     Expires April 18, 2013                [Page 24]

Internet-Draft              BRDP for Homenet                October 2012

3.2.3.  BRIO-Cache maintenance

   Each Router maintains a BRIO-Cache that stores all information on
   Border Routers.  Unique cache entries are maintained on (Border
   Router Address, address of the upstream router that forwarded the
   BRIO) tuples.  This information is obtained by receiving BRIOs, or,
   in case of a Border Router, by getting information from the interface
   that connects to the Internet.  The BRIO-Cache also maintains context
   information for the BRIO such as the BRIO sender, link metrics and
   UPM-increment for this sender, history, statistics and status
   information.  History information includes a timestamp indicating
   when the most recent message was received and a measured or signaled
   RA interval.  Status information includes the BRIO selection outcome
   for BRIO forwarding as explained in Section 3.2.1 and the Border
   Router selected for address generation as explained in Section 4.

   BRIO entries in the BRIO-Cache stay valid for a certain period of
   time.  During this period, they can be used for Border Router
   selection by the Router, for forwarding BRIOs and for address
   generation.  BRIO-Cache information could also be useful for source
   address selection [RFC6724].  The lifetime of a BRIO is determined by
   using the timing information sent along with the RA ([RFC6275],
   section 7.3) or statistics of received BRIOs.

   Some values in the BRIO-Cache can be updated independent of incoming
   BRDP messages.  A Router MAY update the UPM-increment based on link
   quality measurements performed in an environment with changing link
   metrics.  A Router SHOULD indicate in its BRIO-Cache which BRIO
   entries are currently selected for forwarding and for address
   generation.  Border Router Selection MAY take place after the UPM of
   a BRIO entry has been updated.

   In case the link to the Router from which a BRIO has been received is
   broken, the UPM and the Hopcount of the BRIO entry in the cache are
   set to the maximum value, i.e. 4294967295 and 255.

   A cache cleanup routine SHOULD run at regular intervals to get rid of
   stale entries.  Stale entries are removed when the entry is not
   updated for 5400 seconds or all of the following conditions are met:
   o  The stale entry is not used by the Router itself for address
   o  The stale entry was not selected for forwarding in the last three
      Router Advertisement.
   o  The stale entry was not recently updated by a received BRIO.  In
      this context, recently is defined as the maximum of a) three times
      its own unsolicited multicast Router Advertisements interval and
      b) three times the senders unsolicited multicast Router
      Advertisements interval.

Boot                     Expires April 18, 2013                [Page 25]

Internet-Draft              BRDP for Homenet                October 2012

   Cache entries MAY also be removed, under the condition that the BRIO-
   Cache has reached a configured maximum number of entries and a new,
   to be stored BRIO is received.  A removal candidate is selected based
   o  The candidate entry is not used by the Router itself.
   o  The candidate entry was not selected for forwarding in the last
      Router Advertisement.
   o  The candidate entry is redundant; other information for the same
      Border Router is stored in the cache with a better UPM and / or
      was received more recently.
   o  The candidate entry is redundant; other information for the same
      Service Selection Identifier is stored in the cache with a better
      UPM and / or was received more recently.
   o  The candidate entry is less attractive; other Border Routers are
      stored in the cache with better UPM and / or were received more

3.2.4.  BRDP loop prevention

   A BRDP loop check mechanism prevents that a Router forwards an
   earlier advertized BRIO.

   BRDP loop-free operation is guaranteed as long as at least one of the
   following conditions is true:
   o  The to be sent BRIO has a higher Sequence Number than a BRIO for
      this Border Router that was sent before.  The loop check mechanism
      uses wrap-around logic.  Increments up to 32768 are acceptable
      (wrap-around logic needs checking).
   o  The to be sent BRIO is generated from the same BRIO-Cache entry as
      the BRIO that was sent most recently.
   o  The to be sent BRIO has the same Sequence Number as the BRIO for
      this Border Router that was sent before but the BRIO-Cache entry
      UPM is equal to or lower than the UPM-loop-prevention-threshold
      for this Border Router.
   o  The to be sent BRIO has the same Sequence Number as the BRIO for
      this Border Router that was sent before but the BRIO-Cache entry
      Hopcount is equal to or lower than the Hopcount-loop-prevention-
      threshold for this Border Router.

   In some circumstances, a Router would select a BRIO for forwarding
   that fails the loop prevention check.  For example, the link to the
   upstream neighbor is lost and an alternative path is available, with
   a higher UPM and a higher Hopcount or with a lower Sequence Number.
   The Router cannot assure this candidate BRIO is not reflecting its
   own advertized message, therefore it should not send this BRIO.
   Instead, it sends a unicast Router Solicitation message to that
   Border Router.

Boot                     Expires April 18, 2013                [Page 26]

Internet-Draft              BRDP for Homenet                October 2012

3.3.  Unified Path Metric (UPM)

   Unified Path Metric (UPM) is a measure for the cost of the path
   between the Router and the Internet Default Free Zone.  It is a
   united metric for both inbound and outbound paths.  On each hop, the
   UPM is incremented with an UPM-increment, which is derived from the
   routing protocol and / or is obtained from lower layers.

   It is on forehand not known what is more important; Border Router
   selection based on path metric to the Border Router or the path
   metric for the reverse path.  In BRDP, UPM is used for optimizing
   Border Router selection for both the inbound and the outbound
   traffic.  Note that actual traffic will use the path provided by the
   routing protocols, not by BRDP.

   Since the UPM uses 32 bits, its maximum value is 4294967295.  On each
   hop, an UPM-increment is calculated for each Router from which a BRIO
   has been received.  UPM-increments have a value between 1 and
   16777215, to support a 255 hop path, with maximum UPM increments.

   Further discussion on metrics and how the UPM-increment value is
   determined is outside the scope of this document.

4.  BRDP based Address Configuration and Prefix Delegation

   BRDP supports stateless address autoconfiguration [RFC4862], DHCP
   managed IP configuration [RFC3315] and DHCP Prefix Delegation
   [RFC3633].  Routers can also use a variant of stateless address
   autoconfiguration, where BRDP provided information is used to
   configure Router management interfaces or used to configure off-link
   addresses, used in ad hoc networks [RFC5889].

   BRDP adds topology awareness in address configuration.  Nodes can
   configure multiple addresses, each to support a different facility.
   ULAs can be used for site internal traffic.  Global addresses are
   mandatory for access to the Internet, assuming address translation is
   not used.

   A node that is offered multiple prefixes for stateless address
   autoconfiguration or multiple addresses by DHCP chooses to configure
   one or more addresses.  BRDP provides information for the candidate
   addresses.  An important criterium is the costs of the path to the
   Internet DFZ.  A node would prefer addresses with lower costs.

   BRDP does not modify stateless address autoconfiguration and DHCP
   protocols, except that in a edge network, Routers may perform
   stateless address autoconfiguration from the Border Router

Boot                     Expires April 18, 2013                [Page 27]

Internet-Draft              BRDP for Homenet                October 2012

   Information Option (BRIO), for their management or MANET interfaces.
   This enables edge network-wide address configuration, because BRIOs
   are disseminated over multiple hops in the edge network, while PIOs
   are link local messages only.

   When a BRIO is stored in the BRIO cache table, the node checks if a
   corresponding address already exists for the Border Router from which
   this BRIO originates.  If not, and a corresponding address for that
   Border Router is beneficial, address generation for that Border
   Router is triggered.

4.1.  Border Router selection

   When a node needs to communicate to nodes on the Internet, it MUST
   select a (set of) Border Router(s) for address generation.  A node
   MAY generate multiple addresses for smooth handover implementing
   make-before-break or distributing traffic over multiple Border
   Routers.  A description how Border Routers can be used concurrently
   is out-of-scope for this document.

   Information concerning available Border Routers is kept in the BRIO-

   The Border Router selection mechanism MAY be triggered by received
   BRDP messages, changes in metrics on links to neighbors advertising
   BRDP messages, changes in costs to Border Routers used or on a time-
   driven basis.

   The Border Router selection algorithm SHOULD be based on UPM.  UPM is
   used for selecting the Border Router with the best connectivity to
   the Internet.  The Border Router selection algorithm MAY be extended
   with any other information.  Future defined BRIO suboptions could
   provide additional information, such authorization and service
   selection.  Border Router selection MAY be based on the type of the
   Border Router Address, e.g. a globally unique address or a unique
   local address.

   Border Router selection does not provide nor select a routing path to
   the Border Router.

4.1.1.  Border Router Selection based on UPM

   The node uses the UPM for Border Router selection preferring the best
   bi-directional paths between the node and the Internet.  Note that
   the BRIO UPM includes the initial metric set by the Border Router and
   is not solely a metric between the node and the Border Router.  The
   initial metric set by Border Routers can be used for Border Router
   preference and for load balancing.

Boot                     Expires April 18, 2013                [Page 28]

Internet-Draft              BRDP for Homenet                October 2012

   In order to use an up-to-date UPM in the selection procedure the UPM-
   increment is calculated by the node before selecting a Border Router.
   UPM is discussed in Section 3.3.

4.2.  Address autoconfiguration

   Nodes should use a topologically correct address when communicating
   with corresponding nodes on the Internet.  Topologically correct
   addresses should be configured for each Border Router used.

4.2.1.  Address and prefix configuration with SLAAC or DHCP

   Nodes can use existing IPv6 address configuration protocols, such as
   SLAAC [RFC4862] and DHCP [RFC3315].  Nodes can use SLAAC based on
   prefix information, provided by the upstream router.  Nodes may use
   DHCP multicast and neighbor routers will relay those packets to
   selected Border Routers with D-flag set or reply with DHCP parameters
   it has received from a Border Router before for itself.

   Nodes using SLAAC may also query a DHCP server on a Border Router
   themselves for additional parameters, using the BRDP learned address
   of the DHCP server.

   A Router should request a prefix for attached subnetworks, with
   DHCP-PD [RFC3633], where there is at that moment no on-link prefix
   for a selected Border Router.

4.2.2.  Address generation and configuration for Routers

   A generated address for a Router management interface or a MANET has
   a /128 prefix.  It is constructed from a 64-bit Interface Identifier
   and a 64-bit prefix from the Border Router Address.  The generated
   128-bit address SHOULD be advertised in the routing system.  The
   generated address may be used for user traffic, either inside the
   edge network or traffic towards the Internet.

   For the Interface Identifier used, the BRDP-based Address Generation
   MUST implement a mechanism for generating a highly unique Interface
   Identifier.  Known mechanisms are:
   o  Modified EUI-64 format-based Interface Identifier, [RFC4291],
      based on IEEE 802 48-bit MAC address or IEEE EUI-64 identifier.
      However, this method does not guarantee identifiers are unique as
      duplicate MAC addresses can occur.
   o  Generation of randomized Interface Identifiers, [RFC4941].
   o  Well-distributed hash function, [RFC3972].

   After Address Generation, RFC4429 Optimistic Duplicate Address
   Detection [RFC4429] should be used.  A passive Duplicate Address

Boot                     Expires April 18, 2013                [Page 29]

Internet-Draft              BRDP for Homenet                October 2012

   Detection, based on information in the routing protocol information
   bases could be used as an alternative.  Still, uniqueness is not
   fully guaranteed.  Main reasons for non-uniqueness are merging of
   edge network segments, node movement, node misbehavior or address
   spoofing attacks.  Details on handling a duplicate address condition
   are out-of-scope for this document.

   A generated addresses clean-up routine SHOULD run at regular
   intervals to get rid of stale addresses.

4.2.3.  Support for Unique Local Addresses (ULA)

   Address generation for globally unique addresses and unique local
   addresses (ULA) [RFC4193] is equivalent.  If no BRIO for a unique
   local addresses is available, a router may start as a Border Router
   and DHCP server for a self generated 48-bit ULA prefix.

5.  BRDP based Source Address Selection

   As a next step, multi-homed nodes perform source address selection
   for new, self-initiated connections.  The algorithm described in
   Default Address Selection for IPv6 [RFC6724] uses the concept of a
   "candidate set" of potential source addresses.  Rule 8 of source
   address selection is "Uses longest match prefix".  The goal of this
   rule is to select the address with good communications performance.
   If other means of choosing among source addresses for better
   performance is available, that should be used.

   BRDP provides attributes for prefix, such as a cost metric to the
   Internet.  This information van be used to select the "best" source
   address.  For multi-path transport protocols, it is also important to
   have a mechanism to select alternative addresses.  For example, rule
   4 gives preference to a Home Address.  Alternate addresses can be
   used for route optimization and to avoid overhead of the Mobile IP

5.1.  Address Selection for dynamic DNS

   BRDP provided information can also be utilized by address lookup
   protocols such as DNS.  A node can register its addresses
   dynamically, with support of preference and load balancing if the
   mechanism used support such.

6.  BRDP based Routing

   BRDP introduces a new paradigm for packet forwarding for multi-homed

Boot                     Expires April 18, 2013                [Page 30]

Internet-Draft              BRDP for Homenet                October 2012

   sites, where forwarding to a default gateway is replaced by source
   address based forwarding towards a corresponding Border Router.  This
   enforces that packets will be sent via the selected upstream
   provider, without the need of tunneling.  As such, it prevents
   problems with ingress filters in multi-homed edge networks [RFC3704].

   The BRDP Based Routing mechanism provides basic support for load
   distribution over multiple Border Routers.  BRDP Based Routing
   forwards the packets to the Border Router that corresponds with the
   source address.  As a result, nodes can utilize multiple paths, if
   available.  Standardization of this load balancing functionality is
   work in progress in the IETF MPTCP working group.

   When a router forwards a packet to a next-hop node, via the interface
   where this packet was received, and the next-hop address was selected
   using BRDP based routing, then the router should not send an ICMP
   redirect message to that host.  This is because the upstream node
   would cache the redirect for the destination address, while the
   forwarding decision was based on the source address.

6.1.  Problems with default gateway routing

   Usually, the nexthop selection is based on the destination address.
   In case of default gateway routing and multiple exit routers to
   multiple providers, the source has no influence on what exit router
   is used.  In case of ingress filtering and lack of a mechanism to
   redirect packets to exit routers that correspond to the source
   address, packets may be dropped.

   This default gateway routing behavior blocks incremental enhancement
   of the Internet, e.g. through the addition of support for more
   dynamic networks and / or host based load distribution mechanisms.
   In a MANET, it also also prevents the use of make-before-break
   [RFC3753] mechanisms.

6.2.  Default gateway routing replaced with BRDP Based Routing

   Default gateway based routing for IPv4 is defined in [RFC1812],

     (5) Default Route: This is a route to all networks for which there
          are no explicit routes.  It is by definition the route whose
          prefix length is zero.

   With BRDP Based Routing, another type of route is introduced:

Boot                     Expires April 18, 2013                [Page 31]

Internet-Draft              BRDP for Homenet                October 2012

     (6) BRDP Route: This is a route to all networks for which there
            are no explicit routes, and  a default route is not used.
            The nexthop IP address is found by means of a Border Router
            Information Cache (BRIO-Cache) lookup based on the source
            address and, if a matching BRIO-Cache entry is found, a
            subsequent FIB lookup based on the selected Border Router

   Note that route types (3) and (4) are not defined in RFC1812.

   BRDP Based Routing can be turned on and off with the existence of a
   default route in the IGP.  This switch function might be useful in
   migration scenarios towards BRDP Based Routing.

   The Border Router should run the IGP on the interface with the BRDP
   advertized Border Router address, to make sure this address is
   reachable in the edge network.

   In the edge network, all interior routers should run BRDP and BRDP
   Based Routing.  All interior routers will have a BRIO-Cache with
   information for selecting Border Routers as exit points to the
   Internet.  A BRIO-Cache entry contains a Border Router address and a
   summary prefix assigned to that Border Router.  BRIO-Cache lookup
   follows the longest-match rule.

   Forwarding is solely based on FIB lookups, the nexthop IP address is
   found either by a FIB lookup with the destination address or by a FIB
   lookup with the address of the Border Router that corresponds with
   the source address.  If the nexthop IP address lookup fails, the
   packet is discarded.

7.  BRDP and IRTF RRG goals

   The IRTF Routing Research Group (RRG) was chartered to explore
   solutions for problems on routing and addressing, when the Internet
   continues to evolve.  It has explored a number of proposed solutions,
   but did not reach consensus on a single, best approach
   [I-D.irtf-rrg-recommendation].  In fulfillment of the routing
   research group's charter, the co-chairs recommend that the IETF
   pursue work in three areas, "Evolution" [I-D.zhang-evolution],
   "Identifier/Locator Network Protocol (ILNP) [I-D.rja-ilnp-intro] and
   "Renumbering" [RFC5887] .  BRDP fits in all three approaches.

   BRDP is an evolution in IPv6 address configuration and address
   selection, as well as forwarding to destinations outside the routing
   domain.  As a result, it removes a demand for Provider Independent

Boot                     Expires April 18, 2013                [Page 32]

Internet-Draft              BRDP for Homenet                October 2012

   addresses for (small) multi-homed edge networks.  BRDP enables sites
   to use multiple Provider Aggregatable address blocks, while being
   able to utilize multi-homing for improved redundancy of
   communications and enlarged capacity.  Each site that continues to
   use Provider Aggregatable addresses when getting multi-homed, instead
   of using its own Provider Independent address space, reduces the
   growth of the routing tables in the Default Free Zone.

   BRDP can cooperate or live next many other solutions.  ILNP is a good
   example for cooperation, BRDP provides multi-path transport
   capabilities to ILNP nodes.  This multi-path transport capability
   applies to many other approaches also, such as map&encap and nat66.

   Because BRDP provides automatic address and prefix configuration,
   Renumbering is far less problematic.  That said, legacy (IPv4) hosts,
   applications and network equipment is not BRDP enabled and manual
   address configuration will be used for many years to come.

   In Design Goals for Scalable Internet Routing
   [I-D.irtf-rrg-design-goals], a number of design goals are defined.
   The role BRDP can play for these goals are briefly described in the
   next sections.

7.1.  Scalability

   Because BRDP is implemented in edge networks, and not in the core,
   scalability of BRDP is less an issue.  BRDP solves the Internet
   routing problem at the source, by reducing the demand for PI

7.2.  Traffic engineering

   BRDP provides traffic engineering options to end-nodes.  End-nodes
   can configure multiple addresses and use these for utilizing multi-
   path capabilities of the network.  Using multi-path is being worked
   on by the IETF MPTCP working group.

7.3.  Multi-homing

   The core function of BRDP is providing support for IPv6 multi-homing,
   without any problems caused by ingress filtering [RFC3704].

7.4.  Loc/id separation

   BRDP does not mandate any approach for location / identification.
   For packet forwarding, addresses are used as locator.  If addresses
   are used as identifiers also, for example in Mobile IP, BRDP supports
   route optimization where traffic uses the Home Address as identifier

Boot                     Expires April 18, 2013                [Page 33]

Internet-Draft              BRDP for Homenet                October 2012

   and care-of addresses as locator.  MPTCP provides the route
   optimization capability.

7.5.  Mobility

   BRDP was defined as a solution for address autoconfiguration for ad
   hoc networks.  With BRDP, nodes can easily configure topology correct
   addresses in a multi-homes ad hoc network.  BRDP does not provide
   session continuity functions.  Mobility solutions are already in
   place or new approaches are proposed.  All approaches should work
   well with BRDP, as BRDP does not modify the IPv6 protocol.

7.6.  Simplified renumbering

   BRDP makes site renumbering fully automatic.  This applies to node
   address configuration on the IPv6 stack and prefix delegation and
   configuration on routers.  IP addresses could be configured on many
   other places, either manually or using specific protocols for such
   purpose.  Complete automatic numbering is possible if all mechanisms
   in use support dynamic addresses.  There is definitely more work to
   do [RFC5887].

7.7.  Modularity

   BRDP is a small, but important piece of the puzzle.  It applies to
   edge networks only.  It helps other mechanisms to work well in a
   multi-homed network using PA addresses, but also provides multi-path
   capabilities in multi-homed networks with PI addresses or multi-
   homing with connections to Extranets.

7.8.  Routing quality

   BRDP is not a routing protocol, so it has no influence on routing
   quality.  But the functionality of routing to a default gateway is
   changed.  BRDP based routing supports paths to multiple Border
   Routers, where hosts can select which Border Router to use.  In such
   scheme, nodes can select the route to use, based on quality of
   available routes.  MPTCP provides this route selection functionality.

7.9.  Routing security

   BRDP doesn't update any routing protocols.  BRDBP based routing
   modifies the default gateway heuristic, the route to prefix ::/0 is
   replaced by a route to a Border Router, which corresponds with the
   source address of a packet.  As a result, ingress filtering is
   distributed over all routers in the edge network and invalid packets
   are dropped as near to the source as possible.

Boot                     Expires April 18, 2013                [Page 34]

Internet-Draft              BRDP for Homenet                October 2012

   The BRDP protocol runs on IPv6 NDP and inherits all security aspects.
   BRDP messages are disseminated in the edge network, which may enlarge
   the needs for protection.  Implementing SeND [RFC3971] is

7.10.  Deployability

   BRDP deployment takes place edge network by edge network.  Each
   network that migrates to BRDP, instead of getting a PI address bock,
   reduces the load on the Internet routing infrastructure.

   For implementing BRDP on an edge network, all routers in the network
   must support BRDP.  BRDP support for hosts is optional.  Enterprise
   networks can migrate site by site.

8.  Currently unaddressed issues

   BRDP based routing may have impact on multicast routing, e.g.
   selecting the route to a RP.

   It is not fully understood how BRDP may influence host behavior on RA
   M and O bits, and may bypass a 1-hop router DHCP relay server for
   getting information for a BRDP-learned DHCP server.

   Currently unaddressed issues are to be addressed in a next version of
   this document.

9.  Acknowledgements

   BRDP is inspired by MANEMO technology; thanks to all who contributed
   to it.  Thanks to Arjen Holtzer (TNO), co-author of earlier Internet
   drafts on BRDP.  Thanks to Ran Atkinson, who guided me towards a BRDP
   Based Routing mechanism that does not rely on routing headers or

10.  IANA Considerations


11.  Security Considerations


Boot                     Expires April 18, 2013                [Page 35]

Internet-Draft              BRDP for Homenet                October 2012

12.  Change log

   This -00 version is gathering the material of BRDP, produced for
   Autoconf and RRG.  It is a bit cleaned up, with removal of some
   details for MANET and with removal of options for emergency services,
   service selection and authorization.

13.  References

13.1.  Normative References

   [RFC1812]  Baker, F., "Requirements for IP Version 4 Routers",
              RFC 1812, June 1995.

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

   [RFC3753]  Manner, J. and M. Kojo, "Mobility Related Terminology",
              RFC 3753, June 2004.

   [RFC3972]  Aura, T., "Cryptographically Generated Addresses (CGA)",
              RFC 3972, March 2005.

   [RFC4193]  Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
              Addresses", RFC 4193, October 2005.

   [RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
              Architecture", RFC 4291, February 2006.

   [RFC4429]  Moore, N., "Optimistic Duplicate Address Detection (DAD)
              for IPv6", RFC 4429, April 2006.

   [RFC4861]  Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
              "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
              September 2007.

   [RFC4862]  Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
              Address Autoconfiguration", RFC 4862, September 2007.

   [RFC4941]  Narten, T., Draves, R., and S. Krishnan, "Privacy
              Extensions for Stateless Address Autoconfiguration in
              IPv6", RFC 4941, September 2007.

   [RFC6724]  Thaler, D., Draves, R., Matsumoto, A., and T. Chown,
              "Default Address Selection for Internet Protocol Version 6
              (IPv6)", RFC 6724, September 2012.

Boot                     Expires April 18, 2013                [Page 36]

Internet-Draft              BRDP for Homenet                October 2012

13.2.  Informative References

              Chown, T., Arkko, J., Brandt, A., Troan, O., and J. Weil,
              "Home Networking Architecture for IPv6",
              draft-ietf-homenet-arch-04 (work in progress), July 2012.

              Ford, A., Raiciu, C., Handley, M., and O. Bonaventure,
              "TCP Extensions for Multipath Operation with Multiple
              Addresses", draft-ietf-mptcp-multiaddressed-10 (work in
              progress), October 2012.

              Li, T., "Design Goals for Scalable Internet Routing",
              draft-irtf-rrg-design-goals-06 (work in progress),
              January 2011.

              Li, T., "Recommendation for a Routing Architecture",
              draft-irtf-rrg-recommendation-16 (work in progress),
              November 2010.

              Kline, E., "Default Perimeter Identification",
              draft-kline-default-perimeter-00 (work in progress),
              July 2012.

              Atkinson, R., "ILNP Concept of Operations",
              draft-rja-ilnp-intro-11 (work in progress), July 2011.

              Zhang, B. and L. Zhang, "Evolution Towards Global Routing
              Scalability", draft-zhang-evolution-02 (work in progress),
              October 2009.

   [RFC2827]  Ferguson, P. and D. Senie, "Network Ingress Filtering:
              Defeating Denial of Service Attacks which employ IP Source
              Address Spoofing", BCP 38, RFC 2827, May 2000.

   [RFC3315]  Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
              and M. Carney, "Dynamic Host Configuration Protocol for
              IPv6 (DHCPv6)", RFC 3315, July 2003.

   [RFC3633]  Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
              Host Configuration Protocol (DHCP) version 6", RFC 3633,
              December 2003.

Boot                     Expires April 18, 2013                [Page 37]

Internet-Draft              BRDP for Homenet                October 2012

   [RFC3704]  Baker, F. and P. Savola, "Ingress Filtering for Multihomed
              Networks", BCP 84, RFC 3704, March 2004.

   [RFC3971]  Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure
              Neighbor Discovery (SEND)", RFC 3971, March 2005.

   [RFC5149]  Korhonen, J., Nilsson, U., and V. Devarapalli, "Service
              Selection for Mobile IPv6", RFC 5149, February 2008.

   [RFC5887]  Carpenter, B., Atkinson, R., and H. Flinck, "Renumbering
              Still Needs Work", RFC 5887, May 2010.

   [RFC5889]  Baccelli, E. and M. Townsley, "IP Addressing Model in Ad
              Hoc Networks", RFC 5889, September 2010.

   [RFC6275]  Perkins, C., Johnson, D., and J. Arkko, "Mobility Support
              in IPv6", RFC 6275, July 2011.

Author's Address

   Teco Boot
   Infinity Networks B.V.

   Email: teco@inf-net.nl

Boot                     Expires April 18, 2013                [Page 38]

Html markup produced by rfcmarkup 1.129d, available from https://tools.ietf.org/tools/rfcmarkup/