RFC 2663:IP Network Address Translator (NAT) Termi...
RFC-Ref

address


Click on the red underlined text to get to the source

... The need for IP Address translation arises when a network's internal IP addresses ...
... IP Address translation arises when a network's internal IP addresses cannot be used outside the network either because they are invalid for use outside, or because the internal addressing ...
... Address translation allows (in many cases, except as noted in sections 8 and 9) hosts in a private network ...
... routing solution to end hosts trying to communicate from disparate address realms. This is achieved by modifying end node addresses ...
... address realms. This is achieved by modifying end node addresses en-route and maintaining state ...
... routed to the right end-node in either realm. This solution only works when the applications do not use the IP addresses as part of the protocol itself. For example, identifying endpoints using DNS names ...
... the protocol itself. For example, identifying endpoints using DNS names rather than addresses makes applications less dependent of the actual addresses that NAT ...
... DNS names rather than addresses makes applications less dependent of the actual addresses that NAT chooses and avoids the need to also translate payload ...
... translate payload contents when NAT changes an IP address. ...
... IPsec techniques which are intended to preserve the Endpoint addresses of an IP packet will not work with NAT enroute for most ...
... ESP protect the contents of the IP headers (including the source and destination addresses) from modification. Yet, NAT's fundamental role is to alter ...
... NAT's fundamental role is to alter the addresses in the IP header of a packet. ...


... Address realm or realm ...
... An address realm is a network domain in which the network ...
... network domain in which the network addresses are uniquely assigned to entities such that datagrams can be routed ...
... responsible for finding routes to entities given their network addresses. Note that this document is limited to describing NAT in IPv4 ...
... NAT in IPv4 environment and does not address the use of NAT in other types of environment. (e.g. IPv6 ...
... router device in that a traditional router routes packets within a single address realm. ...
... routing a datagram between disparate address realms, by modifying address contents in the IP header to be ...
... datagram between disparate address realms, by modifying address contents in the IP header to be valid ...
... IP header to be valid in the address realm into which the datagram is routed. Section 3.2 has a detailed description of transparent routing ...
... TCP/UDP sessions are uniquely identified by the tuple of (source IP address, source TCP/UDP port, target IP address ...
... source IP address, source TCP/UDP port, target IP address, target TCP/UDP ...
... ICMP query sessions are identified by the tuple of (source IP address, ICMP query ID, target IP address ...
... source IP address, ICMP query ID, target IP address). All other sessions are characterized by the tuple of (source IP address ...
... target IP address). All other sessions are characterized by the tuple of (source IP address, target IP address, IP protocol ...
... sessions are characterized by the tuple of (source IP address, target IP address, IP protocol). ...
... Address translations performed by NAT are session based and would ...
... TCP/UDP ports associated with an IP address simply as "TU ports". ...
... A Global or Public Network is an address realm with unique network addresses ...
... address realm with unique network addresses assigned by Internet Assigned Numbers Authority (IANA) or ...
... Internet Assigned Numbers Authority (IANA) or an equivalent address registry. This network is also referred as ...
... A private network is an address realm independent of external network addresses ...
... address realm independent of external network addresses. Private network may also be referred alternately as Local Network ...
... RFC 1918 [1] has recommendations on address space allocation for private networks. Internet Assigned Numbers Authority ...
... Internet Assigned Numbers Authority (IANA) has three blocks of IP address space, namely 10/8, 172.16/12, and 192.168/16 set aside for private internets. In pre-CIDR notation, the ...
... An organization that decides to use IP addresses in the address space defined above can do so without coordination with IANA ...
... An organization that decides to use IP addresses in the address space defined above can do so without coordination with IANA or any other ...
... Internet registry such as APNIC, RIPE and ARIN. The address space can thus be used privately by many independent organizations at the same time. However, if those independent organizations later decide ...
... Not all applications lend themselves easily to translation by NAT devices; especially those that include IP addresses and TCP/UDP ports ...
... agents that allow an application on a host in one address realm to connect to its counterpart running on a host in different realm transparently. An ALG ...
... payload and perform whatever else is necessary to get the application running across disparate address realms. ...


... Network Address Translation is a method by which IP addresses are ...
... Network Address Translation is a method by which IP addresses are mapped from one address realm to another, providing transparent ...
... method by which IP addresses are mapped from one address realm to another, providing transparent routing to end hosts ...
... routing to end hosts. There are many variations of address translation that lend themselves to different applications. However, all flavors of NAT ...
... a) Transparent Address assignment. b) Transparent routing through address ...
... Address assignment. b) Transparent routing through address translation. (routing here refers to forwarding packets ...
... Transparent Address Assignment ...
... NAT binds addresses in private network with addresses in global ...
... NAT binds addresses in private network with addresses in global network and vice versa to provide transparent routing ...
... routing for the datagrams traversing between address realms. The binding in some cases may extend to transport ...
... TCP/UDP ports). Address binding is done at the start of a session. The ...
... start of a session. The following sub-sections describe two types of address assignments. ...
... Static Address assignment ...
... In the case of static address assignment, there is one-to-one address mapping for hosts ...
... In the case of static address assignment, there is one-to-one address mapping for hosts between a private network address ...
... address mapping for hosts between a private network address and an external network address ...
... address and an external network address for the lifetime of NAT operation. Static address assignment ...
... address for the lifetime of NAT operation. Static address assignment ensures that NAT does not have to administer address ...
... NAT operation. Static address assignment ensures that NAT does not have to administer address management with session ...
... Dynamic Address assignment ...
... In this case, external addresses are assigned to private network hosts ...
... NAT. When the last session using an address binding is terminated, NAT would free the binding so ...
... NAT would free the binding so that the global address could be recycled for later use. The exact nature of address assignment is specific to individual NAT ...
... that the global address could be recycled for later use. The exact nature of address assignment is specific to individual NAT implementations. ...
... A NAT router sits at the border between two address realms and translates addresses in IP headers ...
... router sits at the border between two address realms and translates addresses in IP headers so that when the packet leaves one realm and enters another, it can be routed properly. Because NAT ...
... NAT devices have connections to multiple address realms, they must be careful to not improperly propagate information (e.g., via routing protocols) about networks ...
... careful to not improperly propagate information (e.g., via routing protocols) about networks from one address realm into another, where such an advertisement would be deemed unacceptable. ...
... There are three phases to Address translation, as follows. Together these phases result in creation, maintenance and termination of state ...
... Address binding ...
... Address binding is the phase in which a local node IP address is ...
... Address binding is the phase in which a local node IP address is associated with an external address or vice versa, for purposes of ...
... node IP address is associated with an external address or vice versa, for purposes of translation. Address binding is fixed with static address ...
... associated with an external address or vice versa, for purposes of translation. Address binding is fixed with static address assignments and is dynamic at session ...
... address or vice versa, for purposes of translation. Address binding is fixed with static address assignments and is dynamic at session startup time with dynamic address ...
... address assignments and is dynamic at session startup time with dynamic address assignments. Once the binding between two addresses ...
... address assignments. Once the binding between two addresses is in place, all subsequent sessions originating from or to this host ...
... New address bindings are made at the start of a new session, if such ...
... start of a new session, if such an address binding didn't already exist. Once a local address is bound to an external address ...
... session, if such an address binding didn't already exist. Once a local address is bound to an external address, all subsequent sessions ...
... address binding didn't already exist. Once a local address is bound to an external address, all subsequent sessions originating from the same local address ...
... address, all subsequent sessions originating from the same local address or directed to the same local address will use the same binding ...
... sessions originating from the same local address or directed to the same local address will use the same binding. ...
... sessions originating from the same host, based on a single address binding. ...
... Address lookup and translation ...
... the session will be subject to address lookup (and transport ...
... Address or transport identifier translation for a datagram ...
... datagram will result in the datagram forwarding from the origin address realm to the destination address realm with network ...
... datagram forwarding from the origin address realm to the destination address realm with network addresses appropriately ...
... the destination address realm with network addresses appropriately updated. ...
... Address unbinding ...
... Address unbinding is the phase in which a private address is no longer associated with a global address ...
... Address unbinding is the phase in which a private address is no longer associated with a global address for purposes of translation. ...
... Address unbinding is the phase in which a private address is no longer associated with a global address for purposes of translation. NAT will perform address ...
... address for purposes of translation. NAT will perform address unbinding when it believes that the last session using an address binding ...
... address unbinding when it believes that the last session using an address binding has terminated. Refer section 2.6 for some heuristic ways to handle session ...
... NAT to be completely transparent to end hosts, the IP address of the IP header embedded in the payload of the ...


... There are many variations of address translation that lend themselves to different applications. NAT flavors listed in the following sub- ...
... NAT flavors. Host-A, with address Addr-A is located in a private realm, represented by the network N-Pri. N-Pri is isolated from external ...
... NAT router. Host-X, with address Addr-X is located in an external realm, represented by the network N-Ext. NAT ...
... routing between the two realms. The interface to the external realm is assigned an address of Addr-Nx and the interface to private realm is assigned an address ...
... address of Addr-Nx and the interface to private realm is assigned an address of Addr-Np. Further, it may be understood that addresses Addr-A and Addr-Np correspond to N-Pri ...
... private realm is assigned an address of Addr-Np. Further, it may be understood that addresses Addr-A and Addr-Np correspond to N-Pri network and the addresses ...
... addresses Addr-A and Addr-Np correspond to N-Pri network and the addresses Addr-X and Addr-Nx correspond to N-Ext network. ...
... ( ) ( External ) +--+ ( Address Realm )-- |__| ( (N-Ext) ) /____\ (________________) Host ...
... ( ) +--+ ( Private ) |__|------( Address Realm ) /____\ ( (N-pri) ) Host ...
... The following is a description of the properties of realms supported by traditional NAT. IP addresses of hosts in external network are ...
... valid in external as well as private networks. However, the addresses of hosts in private network are unique only within the ...
... networks from the external realm may be advertised within the private network. The addresses used within private network must not overlap with the external addresses ...
... addresses used within private network must not overlap with the external addresses. Any given address must either be a private address ...
... private network must not overlap with the external addresses. Any given address must either be a private address or an external address ...
... addresses. Any given address must either be a private address or an external address; not both. ...
... address must either be a private address or an external address; not both. ...
... Traditional NAT is primarily used by sites using private addresses that wish to allow outbound sessions from their site. ...
... NAT and NAPT (Network Address Port Translation). These are discussed in the following sub-sections. ...
... With Basic NAT, a block of external addresses are set aside for translating addresses of hosts ...
... NAT, a block of external addresses are set aside for translating addresses of hosts in a private domain as they originate ...
... domain. For packets outbound from the private network, the source IP address and related fields such as IP, TCP ...
... header checksums are translated. For inbound packets, the destination IP address and the checksums as listed above are translated. ...
... NAT router in figure 2 may be configured to translate N-Pri into a block of external addresses, say Addr-i through Addr-n, selected from the external network N-Ext. ...
... Network Address Port Translation (NAPT) ...
... transport identifiers of a single external address. NAPT allows a set of hosts ...
... NAPT allows a set of hosts to share a single external address. Note that NAPT can be combined with Basic NAT ...
... NAPT can be combined with Basic NAT so that a pool of external addresses are used in conjunction with port translation ...
... private network, NAPT would translate the source IP address, source transport identifier and related fields ...
... ICMP query ID. For inbound packets, the destination IP address, destination transport identifier and the IP ...
... router in figure 2 may be configured to translate sessions originated from N-Pri into a single external address, say Addr-i. ...
... Very often, the external interface address Addr-Nx of NAPT router is ...
... NAPT router is used as the address to map N-Pri to. ...
... private network. Private network addresses are bound to globally unique addresses, statically or dynamically as connections ...
... Private network addresses are bound to globally unique addresses, statically or dynamically as connections are established in either direction. The ...
... hosts by using DNS for address resolution. A DNS-ALG must be employed in conjunction with ...
... Bi-Directional NAT to facilitate name to address mapping. Specifically, the DNS-ALG must be capable of translating private ...
... Specifically, the DNS-ALG must be capable of translating private realm addresses in DNS Queries and responses into their external realm address bindings ...
... addresses in DNS Queries and responses into their external realm address bindings, and vice versa, as DNS packets traverse between private and external realms. ...
... The address space requirements outlined for traditional NAT routers ...
... NAT is a variation of NAT in that both the source and destination addresses are modified by NAT as a datagram crosses ...
... NAT as a datagram crosses address realms. This is in contrast to Traditional-NAT and Bi- Directional NAT ...
... NAT and Bi- Directional NAT, where only one of the addresses (either source or destination) is translated. Note, there is no such term as 'Once- ...
... Twice NAT is necessary when private and external realms have address collisions. The most common case where this would happen is when a site had (improperly) numbered its internal nodes using public ...
... site had (improperly) numbered its internal nodes using public addresses that have been assigned to another organization. Alternatively, a site may have changed from one provider to another, ...
... Alternatively, a site may have changed from one provider to another, but chosen to keep (internally) the addresses it had been assigned by the first provider. That provider ...
... provider. That provider might then later reassign those addresses to someone else. The key issue in such cases is that the address of the host ...
... addresses to someone else. The key issue in such cases is that the address of the host in the external realm may have been assigned the same address ...
... address of the host in the external realm may have been assigned the same address as a host within the local site. If that address were to ...
... same address as a host within the local site. If that address were to appear in a packet, it would be forwarded to the internal node rather ...
... NAT attempts to bridge these realms by translating both source and destination address of an IP packet, as the packet transitions realms. ...
... Host-A the DNS-ALG replaces the address for Host-X with one that is properly routable in the local site (say Host ...
... Host-XPRIME. When the packets traverse the NAT device, the source IP address is translated (as in the case of traditional NAT) and the destination address ...
... source IP address is translated (as in the case of traditional NAT) and the destination address is translated to Host-X. A similar translation is performed on return packets coming from Host ...
... by Twice-NAT. Network address of hosts in external network are unique ...
... private network. Likewise, the network address of hosts in private network are unique only within ...
... private network are unique only within the private network. In other words, the address space used in private network to locate hosts ...
... hosts in private and public networks is unrelated to the address space used in public network to locate hosts ...
... Twice NAT is typically used when address space used in a Private network overlaps with addresses used in the Public space. For ...
... NAT is typically used when address space used in a Private network overlaps with addresses used in the Public space. For example, say a private site uses the 200.200.200.0/24 address space ...
... Private network overlaps with addresses used in the Public space. For example, say a private site uses the 200.200.200.0/24 address space which is officially assigned to another site in the public internet. ...
... connection work, Host_X's address is mapped to a different address for Host_A ...
... work, Host_X's address is mapped to a different address for Host_A and vice versa. The twice NAT ...


... of a realm-aware host in a private realm, which assumes realm- specific IP address to communicate with hosts in private or external realm. ...
... client) is a host in a private network that adopts an address in an external realm when connecting to hosts in that realm to pursue end-to-end communication ...
... generated by hosts on either end in such a setup would be based on addresses that are end-to-end unique in the external realm and do not require translation by an intermediary process. ...
... RSIP-Server may also be the same node that assigns external realm addresses to RSIP-Clients. ...
... There are two variations to RSIP, namely Realm-specific Address IP (RSA ...
... (RSA-IP) and Realm-Specific Address and Port IP (RSAP-IP). These ...
... Realm Specific Address IP (RSA-IP ...
... A Realm Specific Address IP (RSA-IP ...
... RSA-IP) client adopts an IP address from the external address space when connecting to a host ...
... client adopts an IP address from the external address space when connecting to a host in external realm. Once an RSA ...
... RSA-IP client assumes an external address, no other host in private or external domain ...
... host in private or external domain can assume the same address, until that address is released by the RSA ...
... domain can assume the same address, until that address is released by the RSA-IP client ...
... header can be translated by NAT as normal without affecting the addresses used in the internal header. Another approach would be to set up a bi-directional ...
... Client and the border router straddling the two address realms. Packets to and from the client would be tunneled, but packets would be forwarded as ...
... network isn't filtering packets based on source addresses (which in this case would be external addresses). ...
... filtering packets based on source addresses (which in this case would be external addresses). ...
... As an example, Host-A in figure 2 above, could assume an address Addr-k from the external realm and act as RSA-IP ...
... peer nodes belong. 2. Assumes an address from external realm when communicating with hosts in that realm. Such an address ...
... address from external realm when communicating with hosts in that realm. Such an address may be assigned statically or obtained dynamically (through a yet-to-be-defined protocol) from a node ...
... or obtained dynamically (through a yet-to-be-defined protocol) from a node capable of assigning addresses from external realm. RSA-IP ...
... IP-Server could be the node coordinating external realm address assignment. 3. Route ...
... return path. "Realm Specific Address IP Server" (RSA-IP ...
... characteristics. 1. May be configured to assign addresses from external realm to RSA-IP ...
... 2. Must be a router resident on both the private and external address realms. 3. Must be able to provide a mechanism to route ...
... Client tunnel, based on the destination address of the end-to-end packet and encapsulate the ...
... Realm Specific Address and port IP (RSAP-IP) ...
... Realm Specific Address and port IP (RSAP-IP) is a variation of RSIP ...
... RSIP in that multiple private hosts use a single external address, multiplexing on transport ...
... variation that RSAP-IP-Client assumes a tuple of (external address, transport Identifier ...
... Client tunnel, based on the tuple of (destination address, transport Identifier) and ...
... layer of the outgoing packet from Host-A uses (private address Addr-A, source port T-Na) as source tuple to communicate with Host ...


... traffic may or may not contain translated packets depending upon the characteristics of address realms a tunnel is bridging. ...
... tunnels are used (a) in conjunction with Address translation, and (b) without translation. ...
... All variations of address translations discussed in the previous section can be applicable to direct connected links as well as ...
... partner. Likewise, it is possible to employ twice NAT, if the partner's address space overlapped with the private network. There could be a NAT device ...
... backbone for communications between those locations. In such cases, it is not desirable to do address translation, both because large numbers of hosts may want to communicate across the backbone ...
... hosts may want to communicate across the backbone, thus requiring large address tables, and because there will be more applications that depend on configured addresses, as opposed to going to a name server ...
... large address tables, and because there will be more applications that depend on configured addresses, as opposed to going to a name server. We call such a private network a backbone ...
... routers in all partitions should maintain routes to the local address spaces of all partitions. Of course, the (public) backbones ...
... partitions. Of course, the (public) backbones do not maintain routes to any local addresses. Therefore, the border routers must tunnel (using VPNs ...
... encapsulation. To do this, each NAT box will set aside a global address for tunneling. ...
... encapsulate the packet in an IP header with destination address set to the global address of NAT box y that has ...
... IP header with destination address set to the global address of NAT box y that has been reserved for encapsulation ...
... encapsulation. When NAT box y receives a packet with that destination address, it decapsulates the IP header and ...
... decapsulates the IP header and routes the packet internally. Note, there is no address translation in the process; merely transfer of private network packets over an ...


... devices often cause difficulties: 1) when an application payload includes an IP address, and 2) when end-to-end security is needed. Note, this is not a comprehensive list. ...
... Application layer security techniques that do not make use of or depend on IP addresses will work correctly in the presence of NAT (e.g., TLS ...
... integrity check. When a NAT device modifies an address the checksum is no longer valid with respect to ...
... checksum is no longer valid with respect to the new address. Normally, NAT also updates the checksum, but this is ...
... DNS- ALG modifies addresses (e.g., as in the case of Twice-NAT), verification ...
... IKE payload does not contain addresses and/or transport IDs specific to one realm and not the other. Given that IKE ...
... session payload identify the IP address and TCP port that must be used for the data session ...
... session it supports. The arguments to the PORT command and PASV response are an IP address and a TCP port in ASCII. An FTP ...
... Because the address and TCP port are encoded in ASCII, this may ...


... Applications with IP-address Content ...
... Not All applications lend themselves easily to address translation by NAT devices. Especially, the applications that carry IP address ...
... address translation by NAT devices. Especially, the applications that carry IP address (and TU port, in case of NAPT ...
... ALGs must be used to perform translations on packets pertaining to such applications. ALGs may optionally utilize address (and TU port) assignments made by NAT ...
... SNMP is one such application with address content in payload. NAT ...
... NAT routers would not translate IP addresses within SNMP payloads. It is ...
... Session characteristics like session orientation, source and destination IP addresses, session protocol, and source and destination transport ...
... NAT increases the probability of mis-addressing. For example, same local address may be bound to different global address at different times and vice versa. As a result, any traffic flow ...
... addressing. For example, same local address may be bound to different global address at different times and vice versa. As a result, any traffic flow study based ...
... times and vice versa. As a result, any traffic flow study based purely on global addresses and TU ports could be confused and might misinterpret the results. ...
... attack another machine or even sending large amounts of junk mail or something) it is more difficult to pinpoint the source of the trouble because the IP address of the host is hidden in a NAT router ...
... session employed PASV command to establish data sessions. The reason being that the address and port number specified by FTP server in the PASV response (sent as multiple ...


... sessions from external hosts into their machines. In addition, when address assignment in NAT router is done ...
... encrypted end to end, so long as the payload does not contain IP addresses and/or transport identifiers ...
... datagrams injected into Internet have no private addresses in headers or payload ...
... sessions are inherently unsafe. Responses to a datagram could come from an address different from the target address used by sender ...
... datagram could come from an address different from the target address used by sender ([4 ...
... NAT router only in part (the destination address and UDP port number of the packet match, but the source address ...
... destination address and UDP port number of the packet match, but the source address and port number may not). In such a case, there is a potential security ...
... UDP sessions using the same address binding into a single unified session could compromise the security ...
... security even further. This is because, the granularity of packet matching would be further limited to just the destination address of the inbound UDP packets. ...


... Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot,G. and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, February 1996. ...
... Carpenter, B., Crowcroft, J. and Y. Rekhter, "IPv4 Address Behavior Today", RFC 2101, February 1997. ...


... Authors' Addresses ...



Google
Web
RFC-Ref