draft-ietf-6man-multi-homed-host-10.txt   rfc8028.txt 
IPv6 Maintenance F. Baker Internet Engineering Task Force (IETF) F. Baker
Internet-Draft Request for Comments: 8028
Updates: 4861 (if approved) B. Carpenter Updates: 4861 B. Carpenter
Intended status: Standards Track Univ. of Auckland Category: Standards Track Univ. of Auckland
Expires: April 10, 2017 October 7, 2016 ISSN: 2070-1721 November 2016
First-hop router selection by hosts in a multi-prefix network First-Hop Router Selection by Hosts in a Multi-Prefix Network
draft-ietf-6man-multi-homed-host-10
Abstract Abstract
This document describes expected IPv6 host behavior in a scenario This document describes expected IPv6 host behavior in a scenario
that has more than one prefix, each allocated by an upstream network that has more than one prefix, each allocated by an upstream network
that is assumed to implement BCP 38 ingress filtering, when the host that is assumed to implement BCP 38 ingress filtering, when the host
has multiple routers to choose from. It also applies to other has multiple routers to choose from. It also applies to other
scenarios such as the usage of stateful firewalls that effectively scenarios such as the usage of stateful firewalls that effectively
act as address-based filters. Host behavior in choosing a first-hop act as address-based filters. Host behavior in choosing a first-hop
router may interact with source address selection in a given router may interact with source address selection in a given
skipping to change at page 1, line 33 skipping to change at page 1, line 32
Given that the network or host is, or appears to be, multihomed with Given that the network or host is, or appears to be, multihomed with
multiple provider-allocated addresses, that the host has elected to multiple provider-allocated addresses, that the host has elected to
use a source address in a given prefix, and that some but not all use a source address in a given prefix, and that some but not all
neighboring routers are advertising that prefix in their Router neighboring routers are advertising that prefix in their Router
Advertisement Prefix Information Options, this document specifies to Advertisement Prefix Information Options, this document specifies to
which router a host should present its transmission. It updates RFC which router a host should present its transmission. It updates RFC
4861. 4861.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
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 This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on April 10, 2017. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc8028.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction and Applicability . . . . . . . . . . . . . . . 2 1. Introduction and Applicability . . . . . . . . . . . . . . . 3
1.1. Host Model . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Host Model . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Requirements Language . . . . . . . . . . . . . . . . . . 5 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 5
2. Sending context expected by the host . . . . . . . . . . . . 5 2. Sending Context Expected by the Host . . . . . . . . . . . . 5
2.1. Expectations the host has of the network . . . . . . . . 5 2.1. Expectations the Host Has of the Network . . . . . . . . 5
2.2. Expectations of multihomed networks . . . . . . . . . . . 7 2.2. Expectations of Multihomed Networks . . . . . . . . . . . 7
3. Reasonable expectations of the host . . . . . . . . . . . . . 7 3. Reasonable Expectations of the Host . . . . . . . . . . . . . 7
3.1. Interpreting Router Advertisements . . . . . . . . . . . 7 3.1. Interpreting Router Advertisements . . . . . . . . . . . 7
3.2. Default Router Selection . . . . . . . . . . . . . . . . 8 3.2. Default Router Selection . . . . . . . . . . . . . . . . 9
3.3. Source Address Selection . . . . . . . . . . . . . . . . 9 3.3. Source Address Selection . . . . . . . . . . . . . . . . 9
3.4. Redirects . . . . . . . . . . . . . . . . . . . . . . . . 9 3.4. Redirects . . . . . . . . . . . . . . . . . . . . . . . . 9
3.5. History . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5. History . . . . . . . . . . . . . . . . . . . . . . . . . 10
4. Residual issues . . . . . . . . . . . . . . . . . . . . . . . 10 4. Residual Issues . . . . . . . . . . . . . . . . . . . . . . . 10
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.1. Normative References . . . . . . . . . . . . . . . . . . 11
8.1. Normative References . . . . . . . . . . . . . . . . . . 11 7.2. Informative References . . . . . . . . . . . . . . . . . 12
8.2. Informative References . . . . . . . . . . . . . . . . . 11 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 13
Appendix A. Change Log (RFC Editor: please delete) . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction and Applicability 1. Introduction and Applicability
This document describes the expected behavior of an IPv6 [RFC2460] This document describes the expected behavior of an IPv6 [RFC2460]
host in a network that has more than one prefix, each allocated by an host in a network that has more than one prefix, each allocated by an
upstream network that is assumed to implement BCP 38 [RFC2827] upstream network that is assumed to implement BCP 38 [RFC2827]
ingress filtering, and in which the host is presented with a choice ingress filtering, and in which the host is presented with a choice
of routers. It expects that the network will implement some form of of routers. It expects that the network will implement some form of
egress routing, so that packets sent to a host outside the local egress routing, so that packets sent to a host outside the local
network from a given ISP's prefix will go to that ISP. If the packet network from a given ISP's prefix will go to that ISP. If the packet
is sent to the wrong egress, it is liable to be discarded by the BCP is sent to the wrong egress, it is liable to be discarded by the BCP
38 filter. However, the mechanics of egress routing once the packet 38 filter. However, the mechanics of egress routing once the packet
leaves the host are out of scope. The question here is how the host leaves the host are out of scope. The question here is how the host
interacts with that network. interacts with that network.
Various aspects of this issue, and possible solution approaches, are Various aspects of this issue, and possible solution approaches, are
discussed in the document IPv6 Multihoming without Network Address discussed in "IPv6 Multihoming without Network Address Translation"
Translation [RFC7157]. [RFC7157].
BCP 38 filtering by ISPs is not the only scenario where such behavior BCP 38 filtering by ISPs is not the only scenario where such behavior
is valuable. Implementations that combine existing recommendations, is valuable. Implementations that combine existing recommendations,
such as [RFC6092] [RFC7084] can also result in such filtering. such as [RFC6092] and [RFC7084] can also result in such filtering.
Another case is when the connections to the upstream networks include Another case is when the connections to the upstream networks include
stateful firewalls, such that return packets in a stream will be stateful firewalls, such that return packets in a stream will be
discarded if they do not return via the firewall that created state discarded if they do not return via the firewall that created the
for the outgoing packets. A similar cause of such discards is state for the outgoing packets. A similar cause of such discards is
unicast reverse path forwarding (uRPF) [RFC3704]. unicast reverse path forwarding (uRPF) [RFC3704].
In this document, the term "filter" is used for simplicity to cover In this document, the term "filter" is used for simplicity to cover
all such cases. In any case, one cannot assume the host to be aware all such cases. In any case, one cannot assume that the host is
whether an ingress filter, a stateful firewall, or any other type of aware whether an ingress filter, a stateful firewall, or any other
filter is in place. Therefore, the only known consistent solution is type of filter is in place. Therefore, the only known consistent
to implement the features defined in this document. solution is to implement the features defined in this document.
Note that, apart from ensuring that a message with a given source Note that, apart from ensuring that a message with a given source
address is given to a first-hop router that appears to know about the address is given to a first-hop router that appears to know about the
prefix in question, this specification is consistent with [RFC4861]. prefix in question, this specification is consistent with [RFC4861].
Nevertheless, implementers of Sections 6.2.3, 6.3.4, 6.3.6 and 8.1 of Nevertheless, implementers of Sections 6.2.3, 6.3.4, 6.3.6, and 8.1
RFC 4861 should extend their implementations accordingly. This of RFC 4861 should extend their implementations accordingly. This
specification is fully consistent with [RFC6724] and depends on specification is fully consistent with [RFC6724] and depends on
support for its Rule 5.5 (see Section 3.3). Hosts that do not support for its Rule 5.5 (see Section 3.3). Hosts that do not
support these features may fail to communicate in the presence of support these features may fail to communicate in the presence of
filters as described above. filters as described above.
1.1. Host Model 1.1. Host Model
It could be argued that the proposal of this document, which is to It could be argued that the proposal in this document, which is to
send messages using a source address in a given prefix to the router send messages using a source address in a given prefix to the router
that advertised the prefix in its Router Advertisement (RA), is a that advertised the prefix in its Router Advertisement (RA), is a
form of [RFC1122]'s Strong End System (ES, e.g. Host) Model, form of the Strong End System (ES, e.g., Host) model, discussed in
discussed in section 3.3.4.2 of that document. In short, [RFC1122] Section 3.3.4.2 of [RFC1122]. In short, [RFC1122] identifies two
identifies two basic models, in which the "strong host" model models basic models. First, the "strong host" model describes the host as a
the host as a set of hosts in one chassis, each of which uses a set of hosts in one chassis, each of which uses a single address on a
single address on a single interface, and always both sends and single interface and always both sends and receives on that
receives on that interface, and the "weak host" model treats the host interface. Alternatively, the "weak host" model treats the host as
as one system with zero or more addresses on every interface, and one system with zero or more addresses on every interface and is
capable of using any interface for any communication. As noted capable of using any interface for any communication. As noted
there, neither model is completely satisfactory. For example, a host there, neither model is completely satisfactory. For example, a host
with a link-local-only interface and a default route pointing to that with a link-local-only interface and a default route pointing to that
interface will necessarily send packets using that interface but with interface will necessarily send packets using that interface but with
a source address derived from some other interface, and will a source address derived from some other interface, and will
therefore be a de facto weak host. If the router upstream from such therefore be a de facto weak host. If the router upstream from such
a host implements BCP 38 Ingress Filtering [RFC2827], such as by a host implements BCP 38 Ingress Filtering [RFC2827], such as by
implementing uRPF on each interface, the router might prevent implementing uRPF on each interface, the router might prevent
communication by weak hosts. communication by weak hosts.
+-----------------+ +-----------------+
| | | |
| MIF Router +---/--- other interfaces | MIF Router +---/--- Other interfaces
| | | |
+---+---------+---+ +---+---------+---+
| | Two interfaces with subnets | | Two interfaces with subnets
| | from a common prefix | | from a common prefix
--+-+-- --+-+-- --+-+-- --+-+--
| | | |
+--+---------+--+ +--+---------+--+
| MIF Host | | MIF Host |
+---------------+ +---------------+
Figure 1: Hypothetical MIF interconnection Figure 1: Hypothetical MIF Interconnection
The proposal also differs slightly from [RFC1122]'s language for the The proposal also differs slightly from the language in [RFC1122] for
Strong Host Model. The proposal is that the packet will go to a the Strong Host model. The proposal is that the packet will go to a
router that advertised a given prefix, but does not specify what router that advertised a given prefix but that does not specify what
interface that might happen on. Hence, if the router is a multi- interface that might happen on. Hence, if the router is a multi-
interface (MIF) router and is using a common prefix spanning two or interface (MIF) router and it is using a common prefix spanning two
more LANs shared by the host (as in Figure 1), the host might use or more LANs shared by the host (as in Figure 1), the host might use
either of those LANs, according to this proposal. The Strong Host either of those LANs, according to this proposal. The Strong Host
Model is not stated in those terms, but in terms of the interface model is not stated in those terms, but in terms of the interface
used. A Strong host would treat such a MIF router as two separate used. A strong host would treat such an MIF router as two separate
routers when obeying the rules from RFC 1122 as they apply in the routers when obeying the rules from RFC 1122 as they apply in the
Strong case: Strong case:
(A) A host MUST silently discard an incoming datagram whose (A) A host MUST silently discard an incoming datagram whose
destination address does not correspond to the physical interface destination address does not correspond to the physical
through which it is received. interface through which it is received.
(B) A host MUST restrict itself to sending (non-source- routed) IP (B) A host MUST restrict itself to sending (non-source-routed) IP
datagrams only through the physical interface that corresponds to datagrams only through the physical interface that corresponds
the IP source address of the datagrams. to the IP source address of the datagrams.
However, comparing the presumptive route lookup mechanisms in each However, when comparing the presumptive route lookup mechanisms in
model, this proposal is indeed most similar to the Strong Host Model, each model, this proposal is indeed most similar to the Strong Host
as is any source/destination routing paradigm. model, as is any source/destination routing paradigm.
Strong: route(src IP addr, dest IP addr, TOS) -> gateway Strong: route (src IP addr, dest IP addr, TOS) -> gateway
Weak: route(dest IP addr, TOS) -> gateway, interface
Weak: route (dest IP addr, TOS) -> gateway, interface
In the hypothetical MIF model suggested in Figure 1, the address In the hypothetical MIF model suggested in Figure 1, the address
fails to identify a single interface, but it does identify a single fails to identify a single interface, but it does identify a single
gateway. gateway.
1.2. Requirements Language 1.2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
2. Sending context expected by the host 2. Sending Context Expected by the Host
2.1. Expectations the host has of the network 2.1. Expectations the Host Has of the Network
A host receives prefixes in a Router Advertisement [RFC4861], which A host receives prefixes in a Router Advertisement [RFC4861], which
goes on to identify whether they are usable by SLAAC [RFC4862] with goes on to identify whether they are usable by Stateless Address
any type of interface identifier [RFC4941] [RFC7217]. When no Autoconfiguration (SLAAC) [RFC4862] with any type of interface
prefixes are usable for SLAAC, the Router Advertisement would identifier [RFC4941] [RFC7217]. When no prefixes are usable for
normally signal the availability of DHCPv6 [RFC3315] and the host SLAAC, the Router Advertisement would normally signal the
would use it to configure its addresses. In the latter case (or if availability of DHCPv6 [RFC3315] and the host would use it to
both SLAAC and DHCPv6 are used on the same link for some reason) it configure its addresses. In the latter case (or if both SLAAC and
will generally be the case that the configured addresses match one of DHCPv6 are used on the same link for some reason), the configured
the prefixes advertised in a Router Advertisement that are supposed addresses generally match one of the prefixes advertised in a Router
to be on-link for that link. Advertisement that are supposed to be on-link for that link.
The simplest multihomed network implementation in which a host makes The simplest multihomed network implementation in which a host makes
choices among routers might be a LAN with one or more hosts on it and choices among routers might be a LAN with one or more hosts on it and
two or more routers, one for each upstream network, or a host that is two or more routers, one for each upstream network, or a host that is
served by disjoint networks on separate interfaces. In such a served by disjoint networks on separate interfaces. In such a
network, especially the latter, there is not necessarily a routing network, especially the latter, there is not necessarily a routing
protocol, and the two routers may not even know that the other is a protocol, and the two routers may not even know that the other is a
router as opposed to a host, or may be configured to ignore its router as opposed to a host, or may be configured to ignore its
presence. One might expect that the routers may or may not receive presence. One might expect that the routers may or may not receive
each other's RAs and form an address in the other router's prefix each other's RAs and form an address in the other router's prefix
skipping to change at page 6, line 22 skipping to change at page 6, line 27
+----+----+ +----+----+ +----+----+ +----+----+ +----+----+ +----+----+ +----+----+ +----+----+
| | | | | | | |
+------+------+ | +--------+ | +------+------+ | +--------+ |
| +--+ Host +--+ | +--+ Host +--+
+----+----+ +--------+ +----+----+ +--------+
| Host | | Host |
+---------+ +---------+
Common LAN Case Disjoint LAN Case Common LAN Case Disjoint LAN Case
(Multihomed Network) (Multihomed Host) (Multihomed Network) (Multihomed Host)
Figure 2: Two simple networks Figure 2: Two Simple Networks
If there is no routing protocol among those routers, there is no If there is no routing protocol among those routers, there is no
mechanism by which packets can be deterministically forwarded between mechanism by which packets can be deterministically forwarded between
the routers (as described in BCP 84 [RFC3704]) in order to avoid the routers (as described in BCP 84 [RFC3704]) in order to avoid
filters. Even if there was routing, it would result in an indirect filters. Even if there was routing, it would result in an indirect
route, rather than a direct route originating with the host; this is route, rather than a direct route originating with the host; this is
not "wrong", but can be inefficient. Therefore the host would do not "wrong", but can be inefficient. Therefore, the host would do
well to select the appropriate router itself. well to select the appropriate router itself.
Since the host derives fundamental default routing information from Since the host derives fundamental default routing information from
the Router Advertisement, this implies that, in any network with the Router Advertisement, this implies that, in any network with
hosts using multiple prefixes, each prefix SHOULD be advertised via a hosts using multiple prefixes, each prefix SHOULD be advertised via a
Prefix Information Option (PIO) [RFC4861] by one of the attached Prefix Information Option (PIO) [RFC4861] by one of the attached
routers, even if addresses are being assigned using DHCPv6. A router routers, even if addresses are being assigned using DHCPv6. A router
that advertises a prefix indicates that it is able to appropriately that advertises a prefix indicates that it is able to appropriately
route packets with source addresses within that prefix, regardless of route packets with source addresses within that prefix, regardless of
the setting of the L and A flags in the PIO. the setting of the L and A flags in the PIO.
In some circumstances both L and A might be zero. If SLAAC is not In some circumstances, both L and A might be zero. If SLAAC is not
wanted (A=0) and there is no reason to announce an on-link prefix wanted (A=0) and there is no reason to announce an on-link prefix
(L=0), a PIO SHOULD be sent to inform hosts that they should use the (L=0), a PIO SHOULD be sent to inform hosts that they should use the
router in question as the first hop for packets with source addresses router in question as the first hop for packets with source addresses
in the PIO prefix. An example case is the MIF router in Figure 1, in the PIO prefix. An example case is the MIF router in Figure 1,
which could send PIOs with A=L=0 for the common prefix. Although which could send PIOs with A=L=0 for the common prefix. Although
this does not violate the existing standard [RFC4861], such a PIO has this does not violate the existing standard [RFC4861], such a PIO has
not previously been common, and it is possible that existing host not previously been common, and it is possible that existing host
implementations simply ignore such a PIO or that existing router implementations simply ignore such a PIO or that existing router
implementations are not capable of sending such a PIO. Newer implementations are not capable of sending such a PIO. Newer
implementations that support this mechanism should be updated implementations that support this mechanism should be updated
accordingly: accordingly:
o A host SHOULD NOT ignore a PIO simply because both L and A flags o A host SHOULD NOT ignore a PIO simply because both L and A flags
are cleared (extending Section 6.3.4 of [RFC4861]). are cleared (extending Section 6.3.4 of [RFC4861]).
o A router SHOULD be able to send such a PIO (extending o A router SHOULD be able to send such a PIO (extending
Section 6.2.3 of [RFC4861]). Section 6.2.3 of [RFC4861]).
2.2. Expectations of multihomed networks 2.2. Expectations of Multihomed Networks
Networking equipment needs to support source/destination routing for Networking equipment needs to support source/destination routing for
at least some of the routes in the Forwarding Information Base (FIB), at least some of the routes in the Forwarding Information Base (FIB),
such as default egress routes differentiated by source prefix. such as default egress routes differentiated by source prefix.
Installation of source/destination routes in the FIB might be Installation of source/destination routes in the FIB might be
accomplished using static routes, SDN technologies, or dynamic accomplished using static routes, Software-Defined Networking (SDN)
routing protocols. technologies, or dynamic routing protocols.
3. Reasonable expectations of the host 3. Reasonable Expectations of the Host
3.1. Interpreting Router Advertisements 3.1. Interpreting Router Advertisements
As described in [RFC4191] and [RFC4861], a Router Advertisement may As described in [RFC4191] and [RFC4861], a Router Advertisement may
contain zero or more Prefix information Options (PIOs), or zero or contain zero or more Prefix Information Options (PIOs) or zero or
more Route Information Options (RIOs). In their original intent, more Route Information Options (RIOs). In their original intent,
these indicate general information to a host: "the router whose these indicate general information to a host: "the router whose
address is found in the source address field of this packet is one of address is found in the source address field of this packet is one of
your default routers", "you might create an address in this prefix", your default routers", "you might create an address in this prefix",
or "this router would be a good place to send traffic directed to a or "this router would be a good place to send traffic directed to a
given destination prefix". In a multi-prefix network with multiple given destination prefix". In a multi-prefix network with multiple
exits, the host's characterization of each default router SHOULD exits, the host's characterization of each default router SHOULD
include the prefixes it has announced (extending Section 6.3.4 of include the prefixes it has announced (extending Section 6.3.4 of
[RFC4861]). In other words, the PIO is reinterpreted to also imply [RFC4861]). In other words, the PIO is reinterpreted to also imply
that the advertising router would be a reasonable first hop for any that the advertising router would be a reasonable first hop for any
skipping to change at page 7, line 52 skipping to change at page 8, line 18
| | / | | | | | / | | |
| Alice +--/--( The Internet ) | Bob | | Alice +--/--( The Internet ) | Bob |
| | \ | | | | | \ | | |
+-------+ \ +---------+ +--+ | +-------+ \ +---------+ +--+ |
( ISP B ) - + Bob-B +--+ +-----+ ( ISP B ) - + Bob-B +--+ +-----+
+---------+ | +---------+ |
Figure 3: PIOs, RIOs, and Default Routes Figure 3: PIOs, RIOs, and Default Routes
The implications bear consideration. Imagine, Figure 3, that hosts The implications bear consideration. Imagine, Figure 3, that hosts
Alice and Bob are in communication. Bob's network consists at least Alice and Bob are in communication. Bob's network consists of at
of Bob (the computer), 2 routers (Bob-A and Bob-B), and the links least Bob (the computer), two routers (Bob-A and Bob-B), and the
between them; it may be much larger, for example a campus or links between them; it may be much larger, for example, a campus or
corporate network. Bob's network is therefore multihomed, and Bob's corporate network. Bob's network is therefore multihomed, and Bob's
first hop routers are Bob-A (to upstream ISP A advertising prefix PA) first-hop routers are Bob-A (to the upstream ISP A advertising prefix
and Bob-B (to upstream network B and advertising prefix PB). We PA) and Bob-B (to the upstream network B and advertising prefix PB).
assume that Bob is not applying Rule 5.5 of [RFC6724]. If Bob is We assume that Bob is not applying Rule 5.5 of [RFC6724]. If Bob is
responding to a message from Alice, his choice of source address is responding to a message from Alice, his choice of source address is
forced to be the address Alice used as a destination (which we may forced to be the address Alice used as a destination (which we may
presume to have been in prefix PA). Hence, Bob created or was presume to have been in prefix PA). Hence, Bob either created or was
assigned an address in PA, and can only reasonably send traffic using assigned an address in PA, and can only reasonably send traffic using
it to Bob-A as a first hop router. If there are several routers in it to Bob-A as a first-hop router. If there are several routers in
Bob's network advertising the prefix PA (referred to as Bob-Ax Bob's network advertising the prefix PA (referred to as "Bob-Ax"
routers), then Bob should choose its first-hop router only from among routers), then Bob should choose its first-hop router only from among
those routers. From among the multiple Bob-Ax routers, Bob should those routers. From among the multiple Bob-Ax routers, Bob should
choose the first-hop router based on the criteria specified in choose the first-hop router based on the criteria specified in
Section 3 of [RFC4191]. If none of the Bob-Ax routers has advertised Section 3 of [RFC4191]. If none of the Bob-Ax routers has advertised
an RA with a non-zero Router Lifetime or an RIO with a non-zero Route an RA with a non-zero Router Lifetime or an RIO with a non-zero Route
Lifetime that includes Alice, but router Bob-B has, it is irrelevant. Lifetime that includes Alice, but router Bob-B has, it is irrelevant.
Bob is using the address allocated in PA and courts a BCP 38 discard Bob is using the address allocated in PA and courts a BCP 38 discard
if he doesn't send the packet to Bob-A. if he doesn't send the packet to Bob-A.
In the special case that Bob is initiating the conversation, an RIO In the special case that Bob is initiating the conversation, an RIO
might, however, influence source address choice. Bob could might, however, influence source address choice. Bob could
presumably use any address allocated to him, in this case his address presumably use any address allocated to him, in this case, his
in PA or PB. If Bob-B has advertised an RIO for Alice's prefix and address in PA or PB. If Bob-B has advertised an RIO for Alice's
Bob-A has not, Bob MAY take that fact into account in address prefix and Bob-A has not, Bob MAY take that fact into account in
selection - choosing an address that would allow him to make use of address selection -- choosing an address that would allow him to make
the RIO. use of the RIO.
3.2. Default Router Selection 3.2. Default Router Selection
Default Router Selection (Section 6.3.6 of [RFC4861]) is extended as Default Router Selection (Section 6.3.6 of [RFC4861]) is extended as
follows: A host SHOULD select default routers for each prefix it is follows: A host SHOULD select default routers for each prefix it is
assigned an address in. Routers that have advertised the prefix in assigned an address in. Routers that have advertised the prefix in
its Router Advertisement message SHOULD be preferred over routers their Router Advertisement message SHOULD be preferred over routers
that do not advertise the prefix, regardless of Default Router that do not advertise the prefix, regardless of Default Router
Preference. Note that this document does not change the way in which Preference. Note that this document does not change the way in which
default router preferences are communicated [RFC4191]. default router preferences are communicated [RFC4191].
If no router has advertised the prefix in an RA, normal routing If no router has advertised the prefix in an RA, normal routing
metrics will apply. An example is a host connected to the Internet metrics will apply. An example is a host connected to the Internet
via one router, and at the same time connected by a VPN to a private via one router, and at the same time connected by a VPN to a private
domain which is also connected to the global Internet. domain that is also connected to the global Internet.
As a result of this, when a host sends a packet using a source As a result of this, when a host sends a packet using a source
address in one of those prefixes and has no history directing it address in one of those prefixes and has no history directing it
otherwise, it SHOULD send it to the indicated default router. In the otherwise, it SHOULD send it to the indicated default router. In the
"simplest" network described in Section 2.1, that would get it to the "simplest" network described in Section 2.1, that would get it to the
only router that is directly capable of getting it to the right ISP. only router that is directly capable of getting it to the right ISP.
This will also apply in more complex networks, even when more than This will also apply in more complex networks, even when more than
one physical or virtual interface is involved. one physical or virtual interface is involved.
In more complex cases, wherein routers advertise RAs for multiple In more complex cases, wherein routers advertise RAs for multiple
prefixes whether or not they have direct or isolated upstream prefixes whether or not they have direct or isolated upstream
connectivity, the host is dependent on the routing system already. connectivity, the host is dependent on the routing system already.
If the host gives the packet to a router advertising its source If the host gives the packet to a router advertising its source
prefix, it should be able to depend on the router to do the right prefix, it should be able to depend on the router to do the right
thing. thing.
3.3. Source Address Selection 3.3. Source Address Selection
There is an interaction with Default Address Selection [RFC6724]. A There is an interaction with Default Address Selection [RFC6724]. A
host following the recommendation in the previous section will store host following the recommendation in the previous section will store
information about which next-hops advertised which prefixes. Rule information about which next hops advertised which prefixes. Rule
5.5 of RFC 6724 states that the source address used to send to a 5.5 of RFC 6724 states that the source address used to send to a
given destination address should if possible be chosen from a prefix given destination address should, if possible, be chosen from a
known to be advertised by the next-hop router for that destination. prefix known to be advertised by the next-hop router for that
This selection rule SHOULD therefore be implemented in a host destination. Therefore, this selection rule SHOULD be implemented in
following the recommendation in the previous section. a host following the recommendation in the previous section.
3.4. Redirects 3.4. Redirects
There is potential for adverse interaction with any off-link Redirect There is potential for adverse interaction with any off-link Redirect
(Redirect for a destination that is not on-link) message sent by a (Redirect for a destination that is not on-link) message sent by a
router in accordance with Section 8 of [RFC4861]. Hosts SHOULD apply router in accordance with Section 8 of [RFC4861]. Hosts SHOULD apply
off-link redirects only for the specific pair of source and off-link redirects only for the specific pair of source and
destination addresses concerned, so the host's Destination Cache destination addresses concerned, so the host's Destination Cache
might need to contain appropriate source-specific entries. This might need to contain appropriate source-specific entries. This
extends the validity check specified in Section 8.1 of [RFC4861]. extends the validity check specified in Section 8.1 of [RFC4861].
3.5. History 3.5. History
Some modern hosts maintain history, in terms of what has previously Some modern hosts maintain history, in terms of what has previously
worked or not worked for a given address or prefix and in some cases worked or not worked for a given address or prefix and in some cases
the effective window and MSS values for TCP or other protocols. This the effective window and Maximum Segment Size (MSS) values for TCP or
might include a next hop address for use when a packet is sent to the other protocols. This might include a next-hop address for use when
indicated address. a packet is sent to the indicated address.
When such a host makes a successful exchange with a remote When such a host makes a successful exchange with a remote
destination using a particular address pair, and the host has destination using a particular address pair, and the host has
previously received a PIO that matches the source address, then the previously received a PIO that matches the source address, then the
host SHOULD include the prefix in such history, whatever the setting host SHOULD include the prefix in such history, whatever the setting
of the L and A flags in the PIO. On subsequent attempts to of the L and A flags in the PIO. On subsequent attempts to
communicate with that destination, if it has an address in that communicate with that destination, if it has an address in that
prefix at that time, a host MAY use an address in the remembered prefix at that time, a host MAY use an address in the remembered
prefix for the session. prefix for the session.
4. Residual issues 4. Residual Issues
Consider a network where routers on a link run a routing protocol and Consider a network where routers on a link run a routing protocol and
are configured with the same information. Thus, on each link all are configured with the same information. Thus, on each link, all
routers advertise all prefixes on the link. The assumption that routers advertise all prefixes on that link. The assumption that
packets will be forwarded to the appropriate egress by the local packets will be forwarded to the appropriate egress by the local
routing system might cause at least one extra hop in the local routing system might cause at least one extra hop in the local
network (from the host to the wrong router, and from there to another network (from the host to the wrong router, and from there to another
router on the same link). router on the same link).
In a slightly more complex situation such as the disjoint LAN case of In a slightly more complex situation such as the disjoint LAN case of
Figure 2, for example a home plus corporate home-office Figure 2, for example, a home plus corporate home-office
configuration, the two upstream routers might be on different LANs configuration, the two upstream routers might be on different LANs
and therefore different subnets (e.g., the host is itself multi- and therefore different subnets (e.g., the host is itself
homed). In that case, there is no way for the "wrong" router to multihomed). In that case, there is no way for the "wrong" router to
detect the existence of the "right" router, or to route to it. detect the existence of the "right" router, or to route to it.
In such a case it is particularly important that hosts take the In such a case, it is particularly important that hosts take the
responsibility to memorize and select the best first-hop as described responsibility to memorize and select the best first hop as described
in Section 3. in Section 3.
5. IANA Considerations 5. IANA Considerations
This memo asks the IANA for no new parameters. This document does not request any registry actions.
6. Security Considerations 6. Security Considerations
This document is intended to avoid connectivity issues in the This document is intended to avoid connectivity issues in the
presence of BCP 38 ingress filters or stateful firewalls combined presence of BCP 38 ingress filters or stateful firewalls combined
with multihoming. It does not in itself create any new security or with multihoming. It does not, in itself, create any new security or
privacy exposures. However, since the solution is designed to ensure privacy exposures. However, since the solution is designed to ensure
that routing occurs correctly in situations where it previously that routing occurs correctly in situations where it previously
failed, this might result in unexpected exposure of networks that failed, this might result in unexpected exposure of networks that
were previously unreachable. were previously unreachable.
There might be a small privacy improvement: with the current There might be a small privacy improvement: with the current
practice, a multihomed host that sends packets with the wrong address practice, a multihomed host that sends packets with the wrong address
to an upstream router or network discloses the prefix of one upstream to an upstream router or network discloses the prefix of one upstream
to the other upstream network. This practice reduces the probability to the other upstream network. This practice reduces the probability
of that occurrence. of that occurrence.
7. Acknowledgements 7. References
Comments were received from Jinmei Tatuya and Ole Troan, who have
suggested important text, plus Mikael Abrahamsson, Steven Barth,
Carlos Bernardos Cano, Chris Bowers, Zhen Cao, Juliusz Chroboczek,
Toerless Eckert, David Farmer, Bob Hinden, Ben Laurie, Dusan Mudric,
Tadahisa Okimoto, Pierre Pfister, Behcet Sarikaya, Mark Smith and
James Woodyatt.
8. References
8.1. Normative References 7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460, (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460,
December 1998, <http://www.rfc-editor.org/info/rfc2460>. December 1998, <http://www.rfc-editor.org/info/rfc2460>.
skipping to change at page 11, line 34 skipping to change at page 12, line 5
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
DOI 10.17487/RFC4861, September 2007, DOI 10.17487/RFC4861, September 2007,
<http://www.rfc-editor.org/info/rfc4861>. <http://www.rfc-editor.org/info/rfc4861>.
[RFC6724] Thaler, D., Ed., Draves, R., Matsumoto, A., and T. Chown, [RFC6724] Thaler, D., Ed., Draves, R., Matsumoto, A., and T. Chown,
"Default Address Selection for Internet Protocol Version 6 "Default Address Selection for Internet Protocol Version 6
(IPv6)", RFC 6724, DOI 10.17487/RFC6724, September 2012, (IPv6)", RFC 6724, DOI 10.17487/RFC6724, September 2012,
<http://www.rfc-editor.org/info/rfc6724>. <http://www.rfc-editor.org/info/rfc6724>.
8.2. Informative References 7.2. Informative References
[RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts -
Communication Layers", STD 3, RFC 1122, Communication Layers", STD 3, RFC 1122,
DOI 10.17487/RFC1122, October 1989, DOI 10.17487/RFC1122, October 1989,
<http://www.rfc-editor.org/info/rfc1122>. <http://www.rfc-editor.org/info/rfc1122>.
[RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering: [RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering:
Defeating Denial of Service Attacks which employ IP Source Defeating Denial of Service Attacks which employ IP Source
Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827, Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827,
May 2000, <http://www.rfc-editor.org/info/rfc2827>. May 2000, <http://www.rfc-editor.org/info/rfc2827>.
skipping to change at page 12, line 41 skipping to change at page 13, line 11
and D. Wing, "IPv6 Multihoming without Network Address and D. Wing, "IPv6 Multihoming without Network Address
Translation", RFC 7157, DOI 10.17487/RFC7157, March 2014, Translation", RFC 7157, DOI 10.17487/RFC7157, March 2014,
<http://www.rfc-editor.org/info/rfc7157>. <http://www.rfc-editor.org/info/rfc7157>.
[RFC7217] Gont, F., "A Method for Generating Semantically Opaque [RFC7217] Gont, F., "A Method for Generating Semantically Opaque
Interface Identifiers with IPv6 Stateless Address Interface Identifiers with IPv6 Stateless Address
Autoconfiguration (SLAAC)", RFC 7217, Autoconfiguration (SLAAC)", RFC 7217,
DOI 10.17487/RFC7217, April 2014, DOI 10.17487/RFC7217, April 2014,
<http://www.rfc-editor.org/info/rfc7217>. <http://www.rfc-editor.org/info/rfc7217>.
Appendix A. Change Log (RFC Editor: please delete) Acknowledgements
Initial Version: 2015-08-05
Version 01: Update text on PIOs, added text on Redirects, and
clarified the concept of a "simple" network, 2015-08-13.
Version 02: Clarifications after WG discussions, 2015-08-19.
Version 03: More clarifications after more WG discussions,
especially adding stateful firewalls, uRPF, and more precise
discussion of RFC 4861, 2015-09-03.
Version 04: Responds to various comments including
* Questions regarding RFC 1122's strong and weak host models.
This model is, strictly speaking, neither, but is most similar
to the strong host model.
* Some wording errors.
* Requests for discussion of the handling of the RIO, PIO, and
Default Router List in an RA.
WG Versions 00-02: More clarifications after more WG discussions,
2015-11-03.
WG Version 03: A final clarification re uRPF, 2015-12-15.
WG Versions 04-07: Various clarifications and review comments,
2016-06-23.
WG Version 08-10: Fixes for IETF Last Call and IESG comments, Comments were received from Jinmei Tatuya and Ole Troan, who have
2016-10-07. suggested important text, plus Mikael Abrahamsson, Steven Barth,
Carlos Bernardos Cano, Chris Bowers, Zhen Cao, Juliusz Chroboczek,
Toerless Eckert, David Farmer, Bob Hinden, Ben Laurie, Dusan Mudric,
Tadahisa Okimoto, Pierre Pfister, Behcet Sarikaya, Mark Smith, and
James Woodyatt.
Authors' Addresses Authors' Addresses
Fred Baker Fred Baker
Santa Barbara, California 93117 Santa Barbara, California 93117
USA United States of America
Email: FredBaker.IETF@gmail.com Email: FredBaker.IETF@gmail.com
Brian Carpenter Brian Carpenter
Department of Computer Science Department of Computer Science
University of Auckland University of Auckland
PB 92019 PB 92019
Auckland 1142 Auckland 1142
New Zealand New Zealand
 End of changes. 59 change blocks. 
172 lines changed or deleted 133 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/