Internet DRAFT - draft-templin-linkadapt-reqts
draft-templin-linkadapt-reqts
Network Working Group F. Templin, Ed.
Internet-Draft Boeing Phantom Works
Expires: April 3, 2006 September 30, 2005
Requirements for Link Adaptation over IP-in-IPv4 Tunnels
draft-templin-linkadapt-reqts-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 3, 2006.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
IP-in-IPv4 tunnel endpoints present a Maximum Transmission Unit (MTU)
to layer 3 via static prearrangements and/or dynamic MTU
determination based on ICMPv4 messages, but these methods have known
operational limitations that can cause degraded performance and
communications failures. A new method for providing link adaptation
over IP-in-IPv4 tunnels is needed.
Templin Expires April 3, 2006 [Page 1]
Internet-Draft Requirements for Link Adaptation September 2005
1. Introduction
IP-in-IPv4 tunnels span multiple IPv4 network hops yet are seen by
layer 3 as ordinary links that must support a minimum MTU (e.g., 1280
bytes for IPv6). Common tunneling mechanisms (e.g.,
[RFC2529][RFC3056][ISATAP][MECH][TEREDO]) meet this requirement
through conservative static prearrangements at the expense of
degraded performance and/or communications failures over some paths
due to excessive IPv4 network-based fragmentation. Optional dynamic
MTU determination methods based on ICMPv4 "fragmentation needed"
messages are also available, but can result in communication failures
due to the unreliable and untrustworthy nature of ICMPv4 messages
generated by network middleboxes. This document discusses
operational issues with the MTU determination schemes used by
tunneling mechanisms and outlines requirements for a link adaptation
method that can present an assured MTU to layer 3.
2. Problems with IPv4 Fragmentation
Common IP-in-IPv4 tunneling mechanism encapsulators set a tunnel MTU
(e.g., 1280 bytes or slightly larger for IPv6) and do not set the DF
bit in the IPv4 headers of tunneled packets such that packets that
are too large to traverse the path before reaching the decapsulator
will be fragmented by the network. Unfortunately, IPv4 fragmentation
has well-known issues [FRAG1][FRAG2][FRAG2] resulting in degraded
performance and/or communications failures along some paths. In
particular, IPv4 firewalls and NAT boxes typically discard fragments
other than the first fragment of fragmented IPv4 datagrams resulting
in communications failure potential for tunnels that span such
devices.
3. Problems with IPv4 Path MTU Discovery
IP-in-IPv4 tunneling mechanisms can use IPv4 Path MTU Discovery by
setting the DF bit in the IPv4 headers of tunneled packets, but this
method relies on ICMPv4 "fragmentation needed" messages coming from
untrusted middleboxes along the path. A well-known issue is that
ICMPv4 messages are often dropped by IPv4 firewalls and/or NATs
resulting in MTU-related black holes along some paths [RFC2923].
Additionally, the untrusted middlebox paradigm opens the possibility
for various spoofing attacks via fabricated ICMPv4 "fragmentation
needed" messages inserted by on-path or off-path adversaries.
[ICMPATK] and [PMTUD] discuss possible mitigations for dealing with
fabricated ICMPv4 "fragmentation needed" messages, but no mitigations
are possible when legitimate middleboxes fail to send/forward the
ICMP's.
Templin Expires April 3, 2006 [Page 2]
Internet-Draft Requirements for Link Adaptation September 2005
4. Requirements for Link Adaptation over IP-in-IPv4 Tunnels
Due to the operational issues with both IPv4 fragmentation and IPv4
Path MTU discovery, a new mechanism is needed to support efficient
and reliable use of the available MTU over IP-in-IPv4 tunnels. Since
no other mechanisms are available to IPv4, and since all tunnel MTU
mitigations must occur below layer 3, the only remaining option is to
provide a link adaptation scheme that operates at a logical "layer
2.5" below IP as layer 3 and above IPv4 as layer 2.
The following subsections present requirements for link adaptation:
4.1. Tunnel Endpoint Negotiation
The link adaptation scheme must provide a means for the encapsulating
and decapsulating tunnel endpoints to determine that the scheme is
implemented at both ends. When only one (or neither) of the tunnel
endpoints implements the scheme, behavior must revert back to that
specified by the current tunneling mechanisms.
4.2. Compatible with IPv4 Mechanisms
The link adaptation scheme must be compatible with both IPv4
fragmentation/reassembly and ICMPv4 "fragmentation needed" messages
from IPv4 Path MTU Discovery. In particular, any packets prepared by
the link adaptation scheme must not be disrupted by any IPv4
fragmentation that occurs on the path. The encapsulating node that
performs link adaptation must also be prepared to deal with any
ICMPv4 "fragmentation needed" messages it may receive in response to
link adaptation packets, e.g. as outlined in [ICMPATK][PMTUD].
4.3. Host-based Segmentation at the Encapsulator
The link adaptation scheme must provide a means for the encapsulating
tunnel endpoint to split upper layer payloads (ULPs) into segments
that are small enough to traverse the tunnel. The segmentation must
occur prior to IPv4 encapsulation.
4.4. Reassembly at the Decapsulator
The link adaptation scheme must provide a means for the decapsulating
tunnel endpoint to reassemble ULPs that were conveyed in multiple
segments from the encapsulator. The reassembly must occur after IPv4
reassembly, since it is possible that the segments may have also
incurred IPv4 fragmentation along the path.
Templin Expires April 3, 2006 [Page 3]
Internet-Draft Requirements for Link Adaptation September 2005
4.5. Means for Detecting Packet Splicing Errors
The link adaptation scheme must provide a means for the decapsulating
tunnel endpoint to detect packet splicing errors as it reassembles
the segments of ULPs.
4.6. Means for Accommodating Out-of-Order Delivery
The link adaptation scheme must provide a means for the decapsulating
tunnel endpoint to accommodate out-of-order delivery for the segments
it receives while reassembling the segments of ULPs.
4.7. Path Probing by the Encapsulator
The link adaptation scheme must provide a means for the encapsulator
to mark a segment as a "probe" segment used to determine whether
segments of a certain size can traverse the tunnel. The scheme must
allow for out-of-band path probing (i.e., when the probe segment is
not a segment of an actual tunneled packet) and should also allow for
in-band path probing.
4.8. Authenticated Probe Response from the Decapsulator
The link adaptation scheme must provide a means for the decapsulator
to send an authenticated probe response message back to the
encapsulator to acknowledge the receipt of a probe segment.
4.9. Proactive Path Probing
The link adaptation scheme should perform proactive path probing to
quickly determine the most efficient segment size to use for a
particular tunnel. The scheme should also periodically re-probe the
path to determine whether path MTU reductions due to route
fluctuations have occurred.
4.10. Assured MTU to Upper Layers
The link adaptation scheme must provide an assured MTU to upper
layers such that packets no larger than the MTU will be accepted by
the tunnel or a suitable "packet too big" message will be returned.
4.11. Decapsulator MRU Discovery
The link adaptation scheme must provide a means for the encapsulator
to discover the maximum receive unit (MRU) for each decapsulator.
Templin Expires April 3, 2006 [Page 4]
Internet-Draft Requirements for Link Adaptation September 2005
5. IANA Considerations
This document does not introduce any IANA considerations.
6. Security Considerations
This document does not introduce any security considerations.
7. Acknowledgments
This document represents the mindshare of many contributors.
8. Informative References
[FRAG1] Mogul, J. and C. Kent, "Fragmentation Considered Harmful,
In Proc. SIGCOMM '87 Workshop on Frontiers in Computer
Communications Technology.", August 1987.
[FRAG2] Mathis, M., Heffner, J., and B. Chandler, "Fragmentation
Considered Very Harmful", draft-mathis-frag-harmful (work
in progress), July 2004.
[FRAG3] Savola, P., "MTU and Fragmentation Issues with In-the-
Network Tunneling", draft-savola-mtufrag-network-tunneling
(work in progress), May 2005.
[ICMPATK] Gont, F., "ICMP Attacks Against TCP",
draft-gont-tcpm-icmp-attacks (work in progress),
September 2005.
[ISATAP] Templin, F., Gleeson, T., Talwar, M., and D. Thaler,
"Intra-Site Automatic Tunnel Addressing Protocol
(ISATAP)", draft-ietf-ngtrans-isatap (work in progress),
January 2005.
[MECH] Nordmark, E. and R. Gilligan, "Transition Mechanisms for
IPv6 Hosts and Routers", draft-ietf-v6ops-mech-v2 (work in
progress), March 2005.
[PMTUD] Mathis, M., Heffner, J., and K. Lahey, "Path MTU
Discovery", draft-ietf-pmtud-method (work in progress),
February 2005.
[RFC2529] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4
Domains without Explicit Tunnels", RFC 2529, March 1999.
Templin Expires April 3, 2006 [Page 5]
Internet-Draft Requirements for Link Adaptation September 2005
[RFC2923] Lahey, K., "TCP Problems with Path MTU Discovery",
RFC 2923, September 2000.
[RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains
via IPv4 Clouds", RFC 3056, February 2001.
[TEREDO] Huitema, C., "Teredo: Tunneling IPv6 over UDP through
NATs", draft-huitema-v6ops-teredo (work in progress),
April 2005.
Templin Expires April 3, 2006 [Page 6]
Internet-Draft Requirements for Link Adaptation September 2005
Author's Address
Fred Lambert Templin (editor)
Boeing Phantom Works
P.O. Box 3707
Seattle, WA 98124
USA
Email: fred.l.templin@boeing.com
Templin Expires April 3, 2006 [Page 7]
Internet-Draft Requirements for Link Adaptation September 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Templin Expires April 3, 2006 [Page 8]