diff options
Diffstat (limited to 'doc/rfc/rfc9079.txt')
-rw-r--r-- | doc/rfc/rfc9079.txt | 657 |
1 files changed, 657 insertions, 0 deletions
diff --git a/doc/rfc/rfc9079.txt b/doc/rfc/rfc9079.txt new file mode 100644 index 0000000..6af6376 --- /dev/null +++ b/doc/rfc/rfc9079.txt @@ -0,0 +1,657 @@ + + + + +Internet Engineering Task Force (IETF) M. Boutier +Request for Comments: 9079 J. Chroboczek +Category: Standards Track IRIF, University of Paris +ISSN: 2070-1721 August 2021 + + + Source-Specific Routing in the Babel Routing Protocol + +Abstract + + Source-specific routing, also known as Source Address Dependent + Routing (SADR), is an extension to traditional next-hop routing where + packets are forwarded according to both their destination address and + their source address. This document describes an extension for + source-specific routing to the Babel routing protocol. + +Status of This Memo + + This is an Internet Standards Track document. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Further information on + Internet Standards is available in Section 2 of RFC 7841. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + https://www.rfc-editor.org/info/rfc9079. + +Copyright Notice + + Copyright (c) 2021 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 + (https://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 and Background + 1.1. Application to Multihoming + 1.2. Other Applications + 1.3. Specificity of Prefix Pairs + 2. Specification of Requirements + 3. Data Structures + 3.1. The Source Table + 3.2. The Route Table + 3.3. The Table of Pending Seqno Requests + 4. Data Forwarding + 5. Protocol Operation + 5.1. Protocol Messages + 5.2. Wildcard Messages + 6. Compatibility with the Base Protocol + 6.1. Starvation and Blackholes + 7. Protocol Encoding + 7.1. Source Prefix Sub-TLV + 7.2. Source-Specific Update + 7.3. Source-Specific Route Request + 7.4. Source-Specific Seqno Request + 8. IANA Considerations + 9. Security Considerations + 10. References + 10.1. Normative References + 10.2. Informative References + Acknowledgments + Authors' Addresses + +1. Introduction and Background + + The Babel routing protocol [RFC8966] is a distance vector routing + protocol for next-hop routing. In next-hop routing, each node + maintains a forwarding table that maps destination prefixes to next + hops. The forwarding decision is a per-packet operation that depends + on the destination address of the packets and on the entries of the + forwarding table. When a packet is about to be routed, its + destination address is compared to the prefixes of the routing table: + the entry with the most specific prefix containing the destination + address of the packet is chosen, and the packet is forwarded to the + associated next hop. Next-hop routing is a simple, well-understood + paradigm that works satisfactorily in a large number of cases. + + The use of next-hop routing limits the flexibility of the routing + system in two ways. First, since the routing decision is local to + each router, a router A can only select a route ABC...Z if its + neighbouring router B has selected the route BC...Z. Second, the + only criterion used by a router to choose a route is the destination + address: two packets with the same destination follow the same route. + Yet, there are other data in the IP header that could conceivably be + used to guide the routing decision -- the Type of Service (ToS) octet + and, of course, the source address. + + Source-specific routing [SS-ROUTING], or Source Address Dependent + Routing (SADR), is a modest extension to next-hop routing where the + forwarding decision depends not only on the destination address but + also on the source address of the packet being routed, which makes it + possible for two packets with the same destination but different + source addresses to be routed following different paths. + + This document describes a source-specific routing extension for the + Babel routing protocol [RFC8966]. This involves minor changes to the + data structures, which must include a source prefix in addition to + the destination prefix already present, and some changes to the + Update, Route Request, and Seqno Request TLVs, which are extended + with a source prefix. The source prefix is encoded using a mandatory + sub-TLV ([RFC8966], Section 4.4). + +1.1. Application to Multihoming + + Multihoming is the practice of connecting a single network to two or + more transit networks. The main application of source-specific + routing is a form of multihoming known as "multihoming with multiple + addresses". + + Classical multihoming consists of assigning a provider-independent + range of addresses to the multihomed network and announcing it to all + transit providers. While classical multihoming works well for large + networks, the cost of obtaining a provider-independent address range + and announcing it globally in the Internet is prohibitive for small + networks. Unfortunately, it is not possible to implement classical + multihoming with ordinary provider-dependent addresses: in a network + connected to two providers A and B, a packet with a source address + allocated by A needs to be routed through the edge router connected + to A. If it is routed through the edge router connected to B, it + will most likely be filtered (dropped), in accordance with [BCP84]. + + In multihoming with multiple addresses, every host in the multihomed + network is assigned multiple addresses, one for each transit + provider. Additional mechanisms are needed in order (i) to choose, + for each packet, a source address that is associated with a provider + that is currently up, and (ii) to route each packet towards the + router connected to the provider associated with its source address. + One might argue that multihoming with multiple addresses splits the + difficult problem of multihoming into two simpler sub-problems. + + The issue of choosing a suitable source address is a decision local + to the sending host and is an area of active research. The simplest + solution is to use a traditional transport-layer protocol, such as + TCP, and to probe all available source addresses at connection time, + analogously to what is already done with destination addresses, + either sequentially [RFC6724] or in parallel [RFC8305]. Since the + transport-layer protocol is not aware of the multiple available + addresses, flows are interrupted when the selected provider goes down + (from the point of view of the user, all TCP connections are dropped + when the network environment changes). A better user experience can + be provided by making all of the potential source and destination + addresses available to higher-layer protocols, either at the + transport layer [RFC8684] [RFC4960] or at the application layer + [RFC8445]. + + Source-specific routing solves the problem of routing a packet to the + edge router indicated by its source address. Every edge router + announces into the routing domain a default route specific to the + prefix associated with the provider it is connected to. This route + is propagated all the way to the routers on the access link, which + are therefore able to route every packet to the correct router. + Hosts simply send packets to their default router -- no host changes + are necessary at the network layer. + +1.2. Other Applications + + In addition to multihoming with multiple addresses, we are aware of + two applications of source-specific routing. Tunnels and VPNs are + packet encapsulation techniques that are commonly used in the + Internet to establish a network-layer topology that is different from + the physical topology. In some deployments, the default route points + at the tunnel; this causes the network stack to attempt to send + encapsulated packets through the tunnel, which causes it to break. + Various solutions to this problem are possible, the most common of + which is to point a host route at the tunnel endpoint. + + When source-specific routing is available, it becomes possible to + announce through the tunnel a default route that is specific to the + prefix served by the tunnel. Since the encapsulated packets have a + source address that is not within that prefix, they are not routed + through the tunnel. + + The third application of source-specific routing is controlled + anycast. Anycast is a technique in which a single destination + address is used to represent multiple network endpoints, collectively + called an "anycast group". A packet destined to the anycast group is + routed to an arbitrary member of the group, typically the one that is + nearest according to the routing protocol. + + In many applications of anycast, such as DNS root servers, the + nondeterminism of anycast is acceptable; some applications, however, + require finer control. For example, in some Content Distribution + Networks (CDNs), every endpoint is expected to handle a well-defined + subset of the client population. With source-specific routing, it is + possible for each member of the anycast group to announce a route + specific to its client population, a technique that is both simpler + and more robust than manually tweaking the routing protocol's metric + ("prepending" in BGP). + +1.3. Specificity of Prefix Pairs + + In ordinary next-hop routing, when multiple routing table entries + match the destination of a packet, the "longest prefix rule" mandates + that the most specific entry applies. The reason why this rule makes + sense is that the set of prefixes has the following "tree property": + + For any prefixes P and P', either P and P' are disjoint, or one is + more specific than the other. + + It would be a natural proposition to order pairs of prefixes + pointwise: to define that (D,S) is more specific than (D',S') when D + is more specific than D and S is more specific than S'. + Unfortunately, the set of pairs of prefixes with the pointwise + ordering doesn't satisfy the tree property. Indeed, consider the + following two pairs: + + (2001:db8:0:1::/64, ::/0) and (::/0, 2001:db8:0:2::/64) + + These two pairs are not disjoint (a packet with destination + 2001:db8:0:1::1 and source 2001:db8:0:2::1 is matched by both), but + neither is more specific than the other. The effect is that there is + no natural, unambiguous way to interpret a routing table such as the + following: + + destination source next-hop + 2001:db8:0:1::/64 ::/0 A + ::/0 2001:db8:0:2::/64 B + + A finer ordering of pairs of prefixes is required in order to avoid + all ambiguities. There are two natural choices: destination-first + ordering, where (D,S) is more specific than (D',S') when + + * D is strictly more specific than D', or + + * D = D', and S is more specific than S' + + and, symmetrically, source-first ordering, in which sources are + compared first and destinations second. + + Expedient as it would be to leave the choice to the implementation, + this is not possible: all routers in a routing domain must use the + same ordering lest persistent routing loops occur. Indeed, consider + the following topology: + + A --- B --- C --- D + + Suppose that A announces a route for (::/0, 2001:db8:0:2::/64), while + D announces a route for (2001:db8:0:1::/64, ::/0). Suppose further + that B uses destination-first ordering while C uses source-first + ordering. Then a packet that matches both routes, say, with + destination 2001:db8:0:1::1 and source 2001:db8:0:2::1, would be sent + by B towards D and by C towards A and would therefore loop + indefinitely between B and C. + + This document mandates (Section 4) that all routers use destination- + first ordering, which is generally believed to be more useful than + source-first ordering. Consider the following topology, where A is + an edge router connected to the Internet and B is an internal router + connected to an access network N: + + (::/0, S) (D, ::/0) + Internet --- A --- B --- N + + A announces a source-specific default route with source S (::/0, S), + while B announces a nonspecific route to prefix D. Consider what + happens to a packet with a destination in D and a source in S. With + destination-first ordering, the packet is routed towards the network + N, which is the only way it can possibly reach its destination. With + source-first ordering, on the other hand, the packet is sent towards + the Internet, with no hope of ever reaching its destination in N. + +2. Specification of Requirements + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this document are to be interpreted as described in + BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all + capitals, as shown here. + +3. Data Structures + + A number of the conceptual data structures described in Section 3.2 + of [RFC8966] contain a destination prefix. This specification + extends these data structures with a source prefix. Data from the + original protocol, which do not specify a source prefix, are stored + with a zero-length source prefix, which matches the exact same set of + packets as the original, non-source-specific data. + +3.1. The Source Table + + Every Babel node maintains a source table, as described in [RFC8966], + Section 3.2.5. A source-specific Babel node extends this table with + the following field: + + * The source prefix (sprefix, splen) specifying the source address + of packets to which this entry applies. + + The source table is now indexed by 5-tuples of the form (prefix, + plen, sprefix, splen, router-id). + + Note that the route entry contains a source (see Sections 2 and 3.2.5 + of [RFC8966]) that itself contains both destination and source + prefixes. These are two different concepts and must not be confused. + +3.2. The Route Table + + Every Babel node maintains a route table, as described in [RFC8966], + Section 3.2.6. Each route table entry contains, among other data, a + source, which this specification extends with a source prefix as + described above. The route table is now indexed by 5-tuples of the + form (prefix, plen, sprefix, splen, neighbour), where the first four + components are obtained from the source. + +3.3. The Table of Pending Seqno Requests + + Every Babel node maintains a table of pending seqno requests, as + described in [RFC8966], Section 3.2.7. A source-specific Babel node + extends this table with the following entry: + + * The source prefix (sprefix, splen) being requested. + + The table of pending seqno requests is now indexed by 5-tuples of the + form (prefix, plen, sprefix, splen, router-id). + +4. Data Forwarding + + As noted in Section 1.3, source-specific tables can, in general, be + ambiguous, and all routers in a routing domain must use the same + algorithm for choosing applicable routes. An implementation of the + extension described in this document MUST choose routing table + entries by using destination-first ordering, where routing table + entry R1 is preferred to routing table entry R2 when either R1's + destination prefix is more specific than R2's or the destination + prefixes are equal and R1's source prefix is more specific than R2's. + + In practice, this means that a source-specific Babel implementation + must take care that any lower layer that performs packet forwarding + obey these semantics. More precisely: + + * if the lower layers implement destination-first ordering, then the + Babel implementation SHOULD use them directly; + + * if the lower layers can hold source-specific routes but not with + the right semantics, then the Babel implementation MUST either + silently ignore any source-specific routes or disambiguate the + routing table by using a suitable disambiguation algorithm (see + Section V.B of [SS-ROUTING] for such an algorithm); + + * if the lower layers cannot hold source-specific routes, then a + Babel implementation MUST silently ignore any source-specific + routes. + +5. Protocol Operation + + This extension does not fundamentally change the operation of the + Babel protocol, and we therefore only describe differences between + the original protocol and the extended protocol. + + In the original protocol, three TLVs carry a destination prefix: + Update, Route Request, and Seqno Request TLVs. This specification + extends these messages so that they may carry a Source Prefix sub- + TLV, as described in Section 7. The sub-TLV is marked as mandatory + so that an unextended implementation will silently ignore the whole + enclosing TLV. A node obeying this specification MUST NOT send a TLV + with a zero-length source prefix; instead, it sends a TLV with no + Source Prefix sub-TLV. Conversely, an extended implementation MUST + interpret an unextended TLV as carrying a source prefix of zero + length. Taken together, these properties ensure interoperability + between the original and extended protocols (see Section 6). + +5.1. Protocol Messages + + This extension allows three TLVs of the original Babel protocol to + carry a source prefix: Update TLVs, Route Request TLVs, and Seqno + Request TLVs. + + In order to advertise a route with a non-zero length source prefix, a + node sends a source-specific update, i.e., an update with a Source + Prefix sub-TLV. When a node receives a source-specific update + (prefix, source prefix, router-id, seqno, metric) from a neighbour + neigh, it behaves as described in [RFC8966], Section 3.5.3, except + that the entry under consideration is indexed by (prefix, plen, + sprefix, splen, neigh) rather than just (prefix, plen, neigh). + + Similarly, when a node needs to send a request of either kind that + applies to a route with a non-zero length source prefix, it sends a + source-specific request, i.e., a request with a Source Prefix sub- + TLV. When a node receives a source-specific request, it behaves as + described in Section 3.8 of [RFC8966], except that the request + applies to the route table entry carrying the source prefix indicated + by the Source Prefix sub-TLV. + +5.2. Wildcard Messages + + In the original protocol, the address encoding (AE) value 0 is used + for wildcard messages: messages that apply to all routes of any + address family and with any destination prefix. Wildcard messages + are allowed in two places in the protocol: wildcard retractions are + used to retract all of the routes previously advertised by a node on + a given interface, and wildcard route requests are used to request a + full dump of the route table from a given node. Wildcard messages + are intended to apply to all routes, including routes decorated with + additional data and AE values to be defined by future extensions; + hence, this specification extends wildcard operations to apply to all + routes, whatever the value of the source prefix. + + More precisely, a node receiving an update with the AE field set to 0 + and the Metric field set to infinity (a wildcard retraction) MUST + apply the route acquisition procedure described in Section 3.5.3 of + [RFC8966] to all of the routes that it has learned from the sending + node, whatever the value of the source prefix. A node MUST NOT send + a wildcard retraction with an attached source prefix, and a node that + receives a wildcard retraction with a source prefix MUST ignore the + retraction. + + Similarly, a node that receives a route request with the AE field set + to 0 (a wildcard route request) SHOULD send a full routing table + dump, including routes with a non-zero length source prefix. A node + MUST NOT send a wildcard request that carries a source prefix, and a + node receiving a wildcard request with a source prefix MUST ignore + the request. + +6. Compatibility with the Base Protocol + + The protocol extension defined in this document is, to a great + extent, interoperable with the base protocol defined in [RFC8966] + (and all previously standardised extensions). More precisely, if + non-source-specific routers and source-specific routers are mixed in + a single routing domain, Babel's loop-avoidance properties are + preserved, and, in particular, no persistent routing loops will + occur. + + However, this extension is encoded using mandatory sub-TLVs, + introduced in [RFC8966], and therefore is not compatible with the + older version of the Babel routing protocol [RFC6126], which does not + support mandatory sub-TLVs. Consequently, this extension MUST NOT be + used in a routing domain in which some routers implement [RFC6126]; + otherwise, persistent routing loops may occur. + +6.1. Starvation and Blackholes + + In general, the discarding of source-specific routes by non-source- + specific routers will cause route starvation. Intuitively, unless + there are enough non-source-specific routes in the network, non- + source-specific routers will suffer starvation and discard packets + for destinations that are only announced by source-specific routers. + + In the common case where all source-specific routes are originated at + one of a small set of edge routers, a simple yet sufficient condition + for avoiding starvation is to build a connected source-specific + backbone that includes all of the edge routers and announce a non- + source-specific default route towards the backbone. + +7. Protocol Encoding + + This extension defines a new sub-TLV used to carry a source prefix: + the Source Prefix sub-TLV. It can be used within an Update, Route + Request, or Seqno Request TLV to match a source-specific entry of the + route table in conjunction with the destination prefix natively + carried by these TLVs. + + Since a source-specific routing entry is characterised by a single + destination prefix and a single source prefix, a source-specific + message contains exactly one Source Prefix sub-TLV. A node MUST NOT + send more than one Source Prefix sub-TLV in a TLV, and a node + receiving more than one Source Prefix sub-TLV in a single TLV MUST + ignore the TLV. It MAY ignore the whole packet. + +7.1. Source Prefix Sub-TLV + + 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 = 128 | Length | Source Plen | Source Prefix... + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- + + Fields: + + Type Set to 128 to indicate a Source Prefix sub-TLV. + + Length The length of the body, in octets, exclusive of the + Type and Length fields. + + Source Plen The length of the advertised source prefix, in bits. + This MUST NOT be 0. + + Source Prefix The source prefix being advertised. This field's size + is (Source Plen)/8 octets rounded upwards. + + The length of the body TLV is normally of size 1+(Source Plen)/8 + rounded upwards. If the Length field indicates a length smaller than + that, then the sub-TLV is corrupt, and the whole enclosing TLV must + be ignored; if the Length field indicates a length that is larger, + then the extra octets contained in the sub-TLV MUST be silently + ignored. + + The contents of the Source Prefix sub-TLV are interpreted according + to the AE of the enclosing TLV. If a TLV with AE equal to 0 contains + a Source Prefix sub-TLV, then the whole enclosing TLV MUST be + ignored. If a TLV contains multiple Source Prefix sub-TLVs, then the + whole TLV MUST be ignored. + + Note that this sub-TLV is a mandatory sub-TLV. Therefore, as + described in Section 4.4 of [RFC8966], the whole TLV MUST be ignored + if that sub-TLV is not understood (or malformed). + +7.2. Source-Specific Update + + The source-specific update is an Update TLV with a Source Prefix sub- + TLV. It advertises or retracts source-specific routes in the same + manner as routes with non-source-specific updates (see [RFC8966]). A + wildcard retraction (update with AE equal to 0) MUST NOT carry a + Source Prefix sub-TLV. + + Babel uses a stateful compression scheme to reduce the size taken by + destination prefixes in Update TLVs (see Section 4.5 of [RFC8966]). + The source prefix defined by this extension is not compressed. On + the other hand, compression is allowed for the destination prefixes + carried by source-specific updates. As described in Section 4.5 of + [RFC8966], unextended implementations will correctly update their + parser state while otherwise ignoring the whole TLV. + +7.3. Source-Specific Route Request + + A source-specific route request is a Route Request TLV with a Source + Prefix sub-TLV. It prompts the receiver to send an update for a + given pair of destination and source prefixes, as described in + Section 3.8.1.1 of [RFC8966]. A wildcard request (route request with + AE equal to 0) MUST NOT carry a Source Prefix sub-TLV; if a wildcard + request with a Source Prefix sub-TLV is received, then the request + MUST be ignored. + +7.4. Source-Specific Seqno Request + + A source-specific seqno request is a Seqno Request TLV with a Source + Prefix sub-TLV. It requests that the receiving node perform the + procedure described in Section 3.8.1.2 of [RFC8966] but applied to a + pair consisting of a destination and source prefix. + +8. IANA Considerations + + IANA has allocated sub-TLV number 128 for the Source Prefix sub-TLV + in the "Babel Sub-TLV Types" registry. + +9. Security Considerations + + The extension defined in this document adds a new sub-TLV to three + sub-TLVs already present in the original Babel protocol and does not + change the security properties of the protocol itself. However, the + additional flexibility provided by source-specific routing might + invalidate the assumptions made by some network administrators, which + could conceivably lead to security issues. + + For example, a network administrator might be tempted to abuse route + filtering (Appendix C of [RFC8966]) as a security mechanism. Unless + the filtering rules are designed to take source-specific routing into + account, they might be bypassed by a source-specific route, which + might cause traffic to reach a portion of a network that was thought + to be protected. A network administrator might also assume that no + route is more specific than a host route and use a host route in + order to direct traffic for a given destination through a security + device (e.g., a firewall); source-specific routing invalidates this + assumption, and, in some topologies, announcing a source-specific + route might conceivably be used to bypass the security device. + +10. References + +10.1. Normative References + + [BCP84] Baker, F. and P. Savola, "Ingress Filtering for Multihomed + Networks", BCP 84, RFC 3704, March 2004. + + Sriram, K., Montgomery, D., and J. Haas, "Enhanced + Feasible-Path Unicast Reverse Path Forwarding", BCP 84, + RFC 8704, February 2020. + + <https://www.rfc-editor.org/info/bcp84> + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, + DOI 10.17487/RFC2119, March 1997, + <https://www.rfc-editor.org/info/rfc2119>. + + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC + 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, + May 2017, <https://www.rfc-editor.org/info/rfc8174>. + + [RFC8966] Chroboczek, J. and D. Schinazi, "The Babel Routing + Protocol", RFC 8966, DOI 10.17487/RFC8966, January 2021, + <https://www.rfc-editor.org/info/rfc8966>. + +10.2. Informative References + + [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", + RFC 4960, DOI 10.17487/RFC4960, September 2007, + <https://www.rfc-editor.org/info/rfc4960>. + + [RFC6126] Chroboczek, J., "The Babel Routing Protocol", RFC 6126, + DOI 10.17487/RFC6126, April 2011, + <https://www.rfc-editor.org/info/rfc6126>. + + [RFC6724] Thaler, D., Ed., Draves, R., Matsumoto, A., and T. Chown, + "Default Address Selection for Internet Protocol Version 6 + (IPv6)", RFC 6724, DOI 10.17487/RFC6724, September 2012, + <https://www.rfc-editor.org/info/rfc6724>. + + [RFC8305] Schinazi, D. and T. Pauly, "Happy Eyeballs Version 2: + Better Connectivity Using Concurrency", RFC 8305, + DOI 10.17487/RFC8305, December 2017, + <https://www.rfc-editor.org/info/rfc8305>. + + [RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive + Connectivity Establishment (ICE): A Protocol for Network + Address Translator (NAT) Traversal", RFC 8445, + DOI 10.17487/RFC8445, July 2018, + <https://www.rfc-editor.org/info/rfc8445>. + + [RFC8684] Ford, A., Raiciu, C., Handley, M., Bonaventure, O., and C. + Paasch, "TCP Extensions for Multipath Operation with + Multiple Addresses", RFC 8684, DOI 10.17487/RFC8684, March + 2020, <https://www.rfc-editor.org/info/rfc8684>. + + [SS-ROUTING] + Boutier, M. and J. Chroboczek, "Source-Specific Routing", + IFIP Networking Conference, + DOI 10.1109/IFIPNetworking.2015.7145305, May 2015, + <http://arxiv.org/pdf/1403.0445>. + +Acknowledgments + + The authors are indebted to Donald Eastlake, Joel Halpern, and Toke + Hoiland-Jorgensen for their help with this document. + +Authors' Addresses + + Matthieu Boutier + IRIF, University of Paris + Case 7014 + 75205 Paris Cedex 13 + France + + Email: boutier@irif.fr + + + Juliusz Chroboczek + IRIF, University of Paris + Case 7014 + 75205 Paris Cedex 13 + France + + Email: jch@irif.fr |