draft-ietf-babel-v4viav6-06.txt   draft-ietf-babel-v4viav6-07.txt 
Network Working Group J. Chroboczek Network Working Group J. Chroboczek
Internet-Draft IRIF, University of Paris Internet-Draft IRIF, University of Paris
Updates: 8966 (if approved) 18 June 2021 Updates: 8966 (if approved) 16 January 2022
Intended status: Standards Track Intended status: Standards Track
Expires: 20 December 2021 Expires: 20 July 2022
IPv4 routes with an IPv6 next hop in the Babel routing protocol IPv4 routes with an IPv6 next hop in the Babel routing protocol
draft-ietf-babel-v4viav6-06 draft-ietf-babel-v4viav6-07
Abstract Abstract
This document defines an extension to the Babel routing protocol that This document defines an extension to the Babel routing protocol that
allows annoncing routes to an IPv4 prefix with an IPv6 next-hop, allows annoncing routes to an IPv4 prefix with an IPv6 next-hop,
which makes it possible for IPv4 traffic to flow through interfaces which makes it possible for IPv4 traffic to flow through interfaces
that have not been assigned an IPv4 address. This document updates that have not been assigned an IPv4 address. This document updates
RFC 8966. RFC 8966.
Status of This Memo Status of This Memo
skipping to change at page 1, line 35 skipping to change at page 1, line 35
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 20 December 2021. This Internet-Draft will expire on 20 July 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2022 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 (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text extracted from this document must include Revised BSD License text as
as described in Section 4.e of the Trust Legal Provisions and are described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License. provided without warranty as described in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Specification of Requirements . . . . . . . . . . . . . . 3 1.1. Specification of Requirements . . . . . . . . . . . . . . 3
2. Protocol operation . . . . . . . . . . . . . . . . . . . . . 3 2. Protocol operation . . . . . . . . . . . . . . . . . . . . . 3
2.1. Announcing v4-via-v6 routes . . . . . . . . . . . . . . . 4 2.1. Announcing v4-via-v6 routes . . . . . . . . . . . . . . . 4
2.2. Receiving v4-via-v6 routes . . . . . . . . . . . . . . . 4 2.2. Receiving v4-via-v6 routes . . . . . . . . . . . . . . . 4
2.3. Prefix and seqno requests . . . . . . . . . . . . . . . . 5 2.3. Prefix and seqno requests . . . . . . . . . . . . . . . . 5
2.4. Other TLVs . . . . . . . . . . . . . . . . . . . . . . . 5 2.4. Other TLVs . . . . . . . . . . . . . . . . . . . . . . . 5
skipping to change at page 4, line 7 skipping to change at page 4, line 7
Address Encoding (AE), a small integer that identifies the address Address Encoding (AE), a small integer that identifies the address
family (IPv4 or IPv6) of the address of prefix, and describes how it family (IPv4 or IPv6) of the address of prefix, and describes how it
is encoded. This extension defines a new AE, called v4-via-v6, which is encoded. This extension defines a new AE, called v4-via-v6, which
has the same format as the existing AE for IPv4 addresses. This new has the same format as the existing AE for IPv4 addresses. This new
AE is only allowed in TLVs that carry network prefixes: TLVs that AE is only allowed in TLVs that carry network prefixes: TLVs that
carry a neighbour address use one of the normal encodings for IPv6 carry a neighbour address use one of the normal encodings for IPv6
addresses. addresses.
2.1. Announcing v4-via-v6 routes 2.1. Announcing v4-via-v6 routes
A Babel node that needs to announce an IPv4 route over an interface A Babel node can use a v4-via-v6 announcement to announce an IPv4
that has no assigned IPv4 address MAY make a v4-via-v6 announcement. route over an interface that has no assigned IPv4 address. In order
In order to do so, it first establishes an IPv6 next-hop address in to do so, it first establishes an IPv6 next-hop address in the usual
the usual manner (either by sending the Babel packet over IPv6, or by manner (either by sending the Babel packet over IPv6, or by including
including a Next Hop TLV containing an IPv6 address and using AE 2 or a Next Hop TLV containing an IPv6 address and using AE 2 or 3); it
3); it then sends an Update, with AE equal to 4 (v4-via-v6) then sends an Update, with AE equal to 4 (v4-via-v6) containing the
containing the IPv4 prefix being announced. IPv4 prefix being announced.
If the outgoing interface has been assigned an IPv4 address, then, in If the outgoing interface has been assigned an IPv4 address, then, in
the interest of maximising compatibility with existing routers, the the interest of maximising compatibility with existing routers, the
sender SHOULD prefer an ordinary IPv4 announcement; even in that sender SHOULD prefer an ordinary IPv4 announcement; even in that
case, however, it MAY send a v4-via-v6 announcement. A node SHOULD case, however, it MAY send a v4-via-v6 announcement. A node SHOULD
NOT send both ordinary IPv4 and v4-via-v6 announcements for the same NOT send both ordinary IPv4 and v4-via-v6 announcements for the same
prefix over a single interface (if the update is sent to a multicast prefix over a single interface (if the update is sent to a multicast
address) or to a single neighbour (if sent to a unicast address), address) or to a single neighbour (if sent to a unicast address),
since doing that provides no benefit while doubling the amount of since doing that provides no benefit while doubling the amount of
routing traffic. routing traffic.
skipping to change at page 6, line 23 skipping to change at page 6, line 23
persistent blackholing of IPv4 traffic. persistent blackholing of IPv4 traffic.
Due to this kind of dependency, every Babel router that is able to Due to this kind of dependency, every Babel router that is able to
forward IPv4 traffic MUST be able originate ICMPv4 traffic. Since forward IPv4 traffic MUST be able originate ICMPv4 traffic. Since
the extension described in this document enables routers to forward the extension described in this document enables routers to forward
IPv4 traffic received over an interface that has not been assigned an IPv4 traffic received over an interface that has not been assigned an
IPv4 address, a router implementing this extension MUST be able to IPv4 address, a router implementing this extension MUST be able to
originate ICMPv4 packets even when the outgoing interface has not originate ICMPv4 packets even when the outgoing interface has not
been assigned an IPv4 address. been assigned an IPv4 address.
There are various ways to meet this requirement, and choosing between In such a situation, if a Babel router has an interface that has been
them is left to the implementation. For example, if a router has an assigned an IPv4 address, or if an IPv4 address has been assigned to
interface that has been assigned an IPv4 address, or if an IPv4 the router itself (to the "loopback interface"), then that IPv4
address has been assigned to the router itself (to the "loopback address may be used as the source of originated ICMPv4 packets. If
interface"), then that IPv4 address may be "borrowed" to serve as the no IPv4 address is available, a Babel router could use the
source of originated ICMPv4 packets. If no IPv4 address is experimental mechanism described in Section 22 of [RFC7600], which
available, a router may choose a source address from a prefix known consists of using the dummy address 192.0.0.8 as the source address
to be unused, for example from a suitably chosen private address of originated ICMPv4 packets. Note however that using the same
range [RFC1918]. If no more suitable address is available, then a address on multiple routers may hamper debugging and fault isolation,
router MAY use the IPv4 dummy address 192.0.0.8 as the source address e.g., when using the "traceroute" utility.
of the IMCPv4 packets that it sends. Note however that using the
same address on multiple routers may hamper debugging and fault
isolation, e.g., when using the "traceroute" utility.
4. Protocol encoding 4. Protocol encoding
This extension defines the v4-via-v6 AE, whose value is 4. This AE This extension defines the v4-via-v6 AE, whose value is 4. This AE
is solely used to tag network prefixes, and MUST NOT be used to tag is solely used to tag network prefixes, and MUST NOT be used to tag
neighbour addresses, e.g. in Next Hop or IHU TLVs. neighbour addresses, e.g. in Next Hop or IHU TLVs.
This extension defines no new TLVs or sub-TLVs. This extension defines no new TLVs or sub-TLVs.
4.1. Prefix encoding 4.1. Prefix encoding
skipping to change at page 9, line 11 skipping to change at page 9, line 11
traffic must be restricted by the use of suitable filtering rules traffic must be restricted by the use of suitable filtering rules
(Appendix C of [RFC8966]) together with matching packet filters in (Appendix C of [RFC8966]) together with matching packet filters in
the data plane. the data plane.
8. Acknowledgments 8. Acknowledgments
This protocol extension was originally designed, described and This protocol extension was originally designed, described and
implemented in collaboration with Theophile Bastian. Margaret Cullen implemented in collaboration with Theophile Bastian. Margaret Cullen
pointed out the issues with ICMP and helped coin the phrase "v4-via- pointed out the issues with ICMP and helped coin the phrase "v4-via-
v6". The author is also indebted to Donald Eastlake, Toke Hoiland- v6". The author is also indebted to Donald Eastlake, Toke Hoiland-
Jorgensen, and David Schinazi. Jorgensen, David Schinazi, and Donald Sharp.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5,
RFC 792, DOI 10.17487/RFC0792, September 1981, RFC 792, DOI 10.17487/RFC0792, September 1981,
<https://www.rfc-editor.org/info/rfc792>. <https://www.rfc-editor.org/info/rfc792>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
skipping to change at page 9, line 46 skipping to change at page 9, line 46
[RFC0826] Plummer, D., "An Ethernet Address Resolution Protocol: Or [RFC0826] Plummer, D., "An Ethernet Address Resolution Protocol: Or
Converting Network Protocol Addresses to 48.bit Ethernet Converting Network Protocol Addresses to 48.bit Ethernet
Address for Transmission on Ethernet Hardware", STD 37, Address for Transmission on Ethernet Hardware", STD 37,
RFC 826, DOI 10.17487/RFC0826, November 1982, RFC 826, DOI 10.17487/RFC0826, November 1982,
<https://www.rfc-editor.org/rfc/rfc826>. <https://www.rfc-editor.org/rfc/rfc826>.
[RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191, [RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191,
DOI 10.17487/RFC1191, November 1990, DOI 10.17487/RFC1191, November 1990,
<https://www.rfc-editor.org/info/rfc1191>. <https://www.rfc-editor.org/info/rfc1191>.
[RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G.
J., and E. Lear, "Address Allocation for Private
Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918,
February 1996, <https://www.rfc-editor.org/info/rfc1918>.
[RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU [RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU
Discovery", RFC 4821, DOI 10.17487/RFC4821, March 2007, Discovery", RFC 4821, DOI 10.17487/RFC4821, March 2007,
<https://www.rfc-editor.org/info/rfc4821>. <https://www.rfc-editor.org/info/rfc4821>.
[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,
<https://www.rfc-editor.org/rfc/rfc4861>. <https://www.rfc-editor.org/rfc/rfc4861>.
[RFC5549] Le Faucheur, F. and E. Rosen, "Advertising IPv4 Network [RFC5549] Le Faucheur, F. and E. Rosen, "Advertising IPv4 Network
Layer Reachability Information with an IPv6 Next Hop", Layer Reachability Information with an IPv6 Next Hop",
RFC 5549, DOI 10.17487/RFC5549, May 2009, RFC 5549, DOI 10.17487/RFC5549, May 2009,
<https://www.rfc-editor.org/rfc/rfc5549>. <https://www.rfc-editor.org/rfc/rfc5549>.
[RFC7600] Despres, R., Jiang, S., Ed., Penno, R., Lee, Y., Chen, G.,
and M. Chen, "IPv4 Residual Deployment via IPv6 - A
Stateless Solution (4rd)", RFC 7600, DOI 10.17487/RFC7600,
July 2015, <https://www.rfc-editor.org/info/rfc7600>.
Author's Address Author's Address
Juliusz Chroboczek Juliusz Chroboczek
IRIF, University of Paris IRIF, University of Paris
Case 7014 Case 7014
75205 Paris Cedex 13 75205 Paris Cedex 13
France France
Email: jch@irif.fr Email: jch@irif.fr
 End of changes. 11 change blocks. 
34 lines changed or deleted 31 lines changed or added

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