Network Working Group T. Boot Internet-Draft Infinity Networks B.V. Intended status: Informational October 15, 2012 Expires: April 18, 2013 BRDP for Homenet draft-boot-homenet-brdp-00.txt Abstract 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 path. 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", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 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 site. 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 } \ / \______________________/ | |(2001:08db:100::/40) +-------+-------+ | 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 holder". 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 network. 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 prefixes. 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 protocol. 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 } \ / \______________________/ / /(2001:8db:100::/40) +=======+ [ ISP_1 ] +=======+ | |(2001:8db:101::/48) +--------+ +---------+ | 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 nodes. 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 robustness. 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 provider. 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 Fields: Boot Expires April 18, 2013 [Page 21] Internet-Draft BRDP for Homenet October 2012 Type: 8-bit identifier of the Border Router Information Option type. The value of this option identifier is to be determined. Length: 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: 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. Hopcount: 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 Advertisements. 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 selected. 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 Advertisements. 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 4294967295. 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 generation. 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 on: 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 recently. 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- Cache. 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 tunnel. 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], section 5.2.4.3: (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 address. 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 addresses. 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 recommended. 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 encapsulation. 10. IANA Considerations TBD 11. Security Considerations TBD 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 [I-D.ietf-homenet-arch] 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. [I-D.ietf-mptcp-multiaddressed] 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. [I-D.irtf-rrg-design-goals] Li, T., "Design Goals for Scalable Internet Routing", draft-irtf-rrg-design-goals-06 (work in progress), January 2011. [I-D.irtf-rrg-recommendation] Li, T., "Recommendation for a Routing Architecture", draft-irtf-rrg-recommendation-16 (work in progress), November 2010. [I-D.kline-default-perimeter] Kline, E., "Default Perimeter Identification", draft-kline-default-perimeter-00 (work in progress), July 2012. [I-D.rja-ilnp-intro] Atkinson, R., "ILNP Concept of Operations", draft-rja-ilnp-intro-11 (work in progress), July 2011. [I-D.zhang-evolution] 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]