Preparation for Recitation 13
Network Address Translator (NAT)
Read the paper Anatomy: A Look Inside Network Translators
(Reading 12 in the course packet). This paper provides a lot of
insight regarding the motivation, operation, and behavior of NATs,
as well as the consequences of their widespread use. The paper is
long (but not difficult); you can read it as follows:
- Read pages 1 through 14 (up to "Another approach to classifying
NATs")
- Skim pages 14 through 21 (up to application-level gateways)
- Read pages 21-30
Things that NATs Break is the supplementary
reading. The origins of this document are slightly unclear, but we
believe that the document was compiled by Keith Moore
(U. Tennessee), who may also be the author of the document.
N. B.: This paper is not in your reading package, and is
available only on-line.
NAT tries to address the shortage of IP addresses by allowing
address re-use. The paper might look long but is a relatively
easy read. Further the figures provide a clear summary of the
text, so pay attention to them. Make sure that you understand how
a local machine addresses an external receiver, and how the IP
addresses and ports in the packet change as it crosses a NAT
box.
While reading the paper try to answer the following questions:
- Recall from lecture/recitations that to increase routing
scalability, IP addresses are hierarchically allocated (i.e., the
Internet uses variable-length "area identifiers"). How does the
hierarchical allocation affect the address shortage problem? Is
the IP address space efficiently used?
- What are the characteristics of a global address? What are the
characteristics of a local/private address?
- Why do global addresses have to be different from local
addresses? What happens if a NAT box advertises a local IP
addresses (e.g., 10.*.*.*) to the rest of the Internet?
- Some FTP commands use IP addresses in its (TCP) payload. When
such a packet traverses a NAT box, NAT has to replace these IP
addresses by a global address. Is this behavior consistent with
the end-to-end argument? Is it consistent with layering? What are
the risks of violating the layering?
- Imagine you want to use VOIP to call one of your international
friends. Both your machine and his are behind NAT boxes. Can you
do it? Which NATs allow of establishing such a connection? which
do not?
You might be interested in checking the following relevant
documents:
|