Internet Engineering Task Force (IETF) X. Li
Request for Comments: 6791 C. Bao
Updates: 6145 CERNET Center/Tsinghua University
Category: Standards Track D. Wing
ISSN: 2070-1721 R. Vaithianathan
Cisco
G. Huston
APNIC
November 2012
Stateless Source Address Mapping for ICMPv6 Packets
Li, et al. Standards Track [Page 1]
RFC 6791 Source Address Mapping for ICMPv6 November 2012
Copyright Notice
1. Introduction
Section 5.3 of "IP/ICMP Translation Algorithm" [RFC6145] states that "the IPv6 addresses in the IPv6 header may not be IPv4-translatable addresses and there will be no corresponding IPv4 addresses representing this IPv6 address. In this case, the translator can do stateful translation. A mechanism by which the translator can instead do stateless translation of this address is left for future work." This document, "Stateless Source Address Mapping for ICMPv6 Packets", provides recommendations for this case.
Li, et al. Standards Track [Page 2]
RFC 6791 Source Address Mapping for ICMPv6 November 2012 2. Notational ConventionsThe key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are to be interpreted as described in [RFC2119].
3. Problem Statement and Considerations
When a stateless IPv4/IPv6 translator receives an ICMPv6 message [RFC4443] (for example, "Packet Too Big") sourced from a non-IPv4- translatable IPv6 address and bound for an IPv4-translatable IPv6 address, the translator needs to pick a source address with which to generate an ICMP message. For the reasons discussed below, this choice is problematic.
3.1. Considerations
The source address used SHOULD NOT cause the ICMP packet to be discarded. It SHOULD NOT be drawn from [RFC1918] or [RFC6598] address space, because that address space is likely to be subject to unicast Reverse Path Forwarding (uRPF) [RFC3704] filtering.
3.2. Recommendations
The recommended approach to source selection is to use a single (or small pool of) public IPv4 address as the source address of the translated ICMP message and leverage the ICMP extension [RFC5837] to include the IPv6 address as an Interface IP Address Sub-Object.
Li, et al. Standards Track [Page 3]
RFC 6791 Source Address Mapping for ICMPv6 November 2012 4. ICMP ExtensionIn the case of either a single public IPv4 address (the IPv4 interface address or loopback address of the translator) or a pool of public IPv4 addresses, the translator SHOULD implement the ICMP extension defined by [RFC5837]. The ICMP message SHOULD include the Interface IP Address Sub-Object and specify the source IPv6 addresses of the original ICMPv6. When an enhanced traceroute application is used, it can derive the real IPv6 source addresses that generated the ICMPv6 messages. Therefore, it would be able improve on visibility towards the origin rather than simply blackholing at or beyond the translator. In the future, a new ICMP extension whose presence indicates that the packet has been translated and that the source address belongs to the translator, not the originating node, can also be considered.
5. Stateless Address Mapping Algorithm
If a pool of public IPv4 addresses is configured on the translator, it is RECOMMENDED to randomly select the IPv4 source address from the pool. Random selection reduces the probability that two ICMP messages elicited by the same TRACEROUTE might specify the same source address and, therefore, erroneously present the appearance of a routing loop.
6. Security Considerations
This document recommends the generation of IPv4 ICMP messages from IPv6 ICMP messages. These messages would otherwise have been discarded. New considerations are not expected to result from this change. As with a number of ICMP messages, a spoofed source address may result in replies arriving at hosts that did not expect them using the facility of the translator.
7. Acknowledgments
The authors would like to acknowledge the following contributors of this document: Kevin Yin, Chris Metz, Neeraj Gupta, and Joel Jaeggli. The authors would also like to thank Ronald Bonica, Ray Hunter, George Wes, Yu Guanghui, Sowmini Varadhan, David Farmer, Fred Baker, Leo Vegoda, Joel Jaeggli, Henrik Levkowetz, Randy Bush, and Warren Kumari for their comments and suggestions.
Li, et al. Standards Track [Page 4]
RFC 6791 Source Address Mapping for ICMPv6 November 2012 8. References 8.1. Normative References[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., de Groot, G.,
8.2. Informative References
[MTR] "BitWizard B.V. - The Linux Experts",
Li, et al. Standards Track [Page 5]
RFC 6791 Source Address Mapping for ICMPv6 November 2012
Authors' Addresses