Spring 2009





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:

Questions or comments regarding 6.033? Send e-mail to the 6.033 staff at or to the 6.033 TAs at

Top // 6.033 home // $Revision: 133 $, last modified on $Date: 2009-04-05 17:06:33 -0400 (Sun, 05 Apr 2009) $ GMT by $Author: cowling $