Network Working Group L. Daigle
Internet-Draft Editor
Expires: August 5, 2002 Internet Architecture Board
IAB
February 4, 2002
IAB Considerations for UNilateral Self-Address Fixing (UNSAF)
draft-iab-unsaf-considerations-01.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
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 August 5, 2002.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
With current NA[P]T middleboxes, individual networks using different
address realms are bridged. However, as a side effect of address
translation, communicating endpoints on either side of the middlebox
do not know how to refer to themselves using addresses that are
applicable in the other realm -- the address translation is locked
within the middlebox. Various proposals have been made for
"UNilateral Self-Address Fixing (UNSAF)" processes. These are
processes whereby some originating process attempts to determine or
fix the address (and port) by which it is known to another process --
e.g., to be able to use address data in the protocol exchange, or to
Daigle & Internet Architecture Board Expires August 5, 2002 [Page 1]
Internet-Draft draft-iab-unsaf-considerations-01 February 2002
advertise a public address from which it will receive connections.
This document outlines the reasons for which these proposals can be
considered at best as short term fixes to specific problems, and the
specific issues to be carefully evaluated before creating an UNSAF
proposal.
1. Introduction
With current NA[P]T middleboxes, individual networks using different
address realms are bridged. However, as a side effect of address
translation, communicating endpoints on either side of the middlebox
do not know how to refer to themselves using addresses that are
applicable in the other realm -- the address translation is locked
within the middlebox. For some purposes, endpoints need to know the
addresses (and/or ports) by which they are known to their peers.
There are two cases. When the client initiates communication,
starting the communication has the side effect of creating an address
binding in the NA[P]T device and allocating an address in the realm
that is external to the NA[P]T box. In the second case, a server
will be accepting connections from outside, but because it does not
initiate communication, no NAT binding is created. In such cases, a
mechanism is needed to fix such a binding, before communication can
take place.
"UNilateral Self-Address Fixing (UNSAF)" is a process whereby some
originating process attempts to determine or fix the address (and
port) by which it is known -- e.g., to be able to use address data in
the protocol exchange, or to advertise a public address from which it
will receive connections.
There are only heuristics and workarounds to attempt to achieve this
effect; there is no 100% solution. Since NA[P]Ts may also
dynamically reclaim or readjust translations, "keep-alive" and
periodic re-polling may be required. Use of these workarounds MUST
be considered transitional in IETF protocols; a better architectural
solution is being sought. The explicit intention is to deprecate any
such workarounds when sound technical approaches are available.
2. Architectural issues affecting UNSAF Systems
Any users of these workarounds should be aware that specific
technical issues that impede the creation of a general solution
include:
o there *is* no unique "outside" to a NAT -- it may be impossible to
tell where the target UNSAF partner is with respect to the source;
how does a client find an appropriate server to reflect its
Daigle & Internet Architecture Board Expires August 5, 2002 [Page 2]
Internet-Draft draft-iab-unsaf-considerations-01 February 2002
address? (See Appendix C).
o specifically because it is impossible to tell where "outside" or
"public" is, an address can only be determined relative to one
specific point in the network. If the UNSAF partner that
reflected a client's address is in a different NAT-masked subnet
from some other service X that the client wishes to use, there is
_no_ guarantee that the client's "perceived" address from the
UNSAF partner would be the same as the address viewed from the
perspective of X. (See Appendix C).
o absent "middlebox communication (midcom)" there is no usable way
to let incoming communications make their way through a firewall
under proper supervision: that is, respecting the firewall
policies and as opposed to circumventing security mechanisms. The
danger is that internal machines are unwittingly exposed to all
the malicious communications from the external side that the
firewall is intended to block. This is particularly unacceptable
if the UNSAF process is running on one machine which is acting on
behalf of several.
o proposed workarounds include the use of "ping"-like packets as
traffic to the target service in order to determine the source
address from the perspective of the target. However, there is no
guarantee that the address translation will be constant throughout
the course of the communication between endpoints; aging of NAT
UDP bindings varies widely.
o if periodic retries are used to refresh/reevaluate the address
translation state, both endpoints are required to maintain
information about the presumed state of the communication in order
to manage the address illusion.
o since the recipient of the "ping"-like packet (the target endpoint
of the communication, or some generic reflecting service that is
participating in the address determination) is not integrated with
the middlebox, it can only operate on the assumption that past
behavior is a predictor of future behavior. It has no special
knowledge of the address translation heuristic or affecting
factors.
o the communication exchange is made more "brittle" by the
introduction of other servers (UNSAF partners) that need to be
reachable in order for the communication to succeed -- more boxes
that are "fate sharing" in the communication.
Work-arounds may mitigate some of these problems through tight
scoping of applicability and specific fixes. For example,
Daigle & Internet Architecture Board Expires August 5, 2002 [Page 3]
Internet-Draft draft-iab-unsaf-considerations-01 February 2002
o rather than finding the address from "the" outside of the NAT, the
applicability of the approach may be limited to finding the "self-
address" from a specific service, for use exclusively with that
service;
o limiting the scope to outbound requests for service (or service
initiation) in order to prevent unacceptable security exposures.
3. Practical Issues
From observations of deployed networks, there is a wide variety of
practice in how different NA[P]T boxes implement the handling of
different traffic and addressing cases.
Some of the specific types of observed behaviors have included:
o NA[P]Ts may drop fragments in either direction: without complete
TCP/UDP headers, the NA[P]T may not make the address translation
mapping, simply dropping the packet.
o Shipping NA[P]Ts often contain Application Layer Gateways (ALGs),
which attempt to be context-sensitive, performing different
actions depending on the application of the data stream. The
behavior of the ALGs can be hard to anticipate, and these
behaviors have not always been documented.
o NA[P]Ts differ markedly in their handling of UDP packets. Quite a
few only really work reliably with TCP. If they do handle UDP,
the timers aging out flows can vary widely.
o Variation in address and port assignments can be quite frequent --
on NAPTs, port numbers always change, and change unpredictably;
there may be multiple NATs in parallel for load-sharing, making IP
address variations quite likely as well.
4. Architectural Considerations
By distinguishing these approaches as short term fixes, the IAB
believes the following considerations must be explicitly addressed in
any proposal:
1. Precise definition of a specific, limited-scope problem that is
to be solved with the UNSAF proposal. A short term fix should
not be generalized to solve other problems; this is why "short
term fixes usually aren't".
Daigle & Internet Architecture Board Expires August 5, 2002 [Page 4]
Internet-Draft draft-iab-unsaf-considerations-01 February 2002
2. Description of an exit strategy/transition plan. The better
short term fixes are the ones that will naturally see less and
less use as the appropriate technology is deployed.
3. Discussion of specific issues that may render systems more
"brittle". For example, approaches that involve using data at
multiple network layers create more dependencies, increase
debugging challenges, and make it harder to transition.
4. Identify requirements for longer term, sound technical solutions
-- contribute to the process of finding the right longer term
solution.
5. Discussion of the impact of the noted practical issues with
existing, deployed NA[P]Ts and experience reports.
5. Security Considerations
As a general class of workarounds, as noted above UNSAF proposals may
introduce security holes because, absent "middlebox communication
(midcom)", there is no usable way to let incoming communications make
their way through a firewall under proper supervision: respecting
the firewall policies as opposed to circumventing security
mechanisms.
Authors' Addresses
Leslie Daigle
Editor
Internet Architecture Board
IAB
EMail: iab@iab.org
Appendix A. IAB Members at the time of this writing
Harald Alvestrand
Ran Atkinson
Rob Austein
Fred Baker
Daigle & Internet Architecture Board Expires August 5, 2002 [Page 5]
Internet-Draft draft-iab-unsaf-considerations-01 February 2002
Brian Carpenter
Steve Bellovin
Jon Crowcroft
Leslie Daigle
Steve Deering
Sally Floyd
Geoff Huston
John Klensin
Henning Schulzrinne
Appendix B. Acknowledgements
This revision of the document has benefitted greatly from detailed
comments and suggestions from Thomas Narten and Bernard Aboba.
Appendix C. Example NA[P]T Configuration Scenario
Here is one sample scenario wherein it is difficult to describe a
single "outside" to a given address realm (bridged by NAPTs). This
sort of configuration might arise in an enterprise environment, where
different divisions have their own subnets (each using the same
private address space); the divisions are connected so that they can
pass traffic on each others' networks, but to access the global
Internet, each uses a different NAPT/firewall.
Daigle & Internet Architecture Board Expires August 5, 2002 [Page 6]
Internet-Draft draft-iab-unsaf-considerations-01 February 2002
+---------+
| Box C | (192.168.4.5)
+---+-----+
|
---------------------------------+-------
|
| 192.168.3.0/24
+----+----+
| NAT 2 |
+----+----+
| 10.1.0.0/32
|
-----+-------------------------+------------+----
| |
| +----+----+
| | Box B | (10.1.1.100)
| +---------+
|
+----+----+
| NAPT 1 | (10.1.2.27)
+----+----+
| 10.1.0.0/32
|
----+-----+--
|
|
+----+----+
| Box A | (10.1.1.100)
+---------+
From the perspective of Box B, Box A's address is (some port on)
10.1.2.27. From the perspective of Box C, however, Box A's address
is some address in the space 192.168.3.0/24.
Daigle & Internet Architecture Board Expires August 5, 2002 [Page 7]
Internet-Draft draft-iab-unsaf-considerations-01 February 2002
Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Daigle & Internet Architecture Board Expires August 5, 2002 [Page 8]