Internet DRAFT - draft-gloesener-nat-ext
draft-gloesener-nat-ext
Network Working Group G. Gloesener
INTERNET-DRAFT Digital Equipment
Expire in six months December 1996
NAT extension for existing "external" networks
<draft-gloesener-nat-ext-00.txt>
Status of this Memo
This document is an Internet-Draft. 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. Internet-Drafts may be updated, replaced, or obsoleted
by other documents at any time. It is not appropriate to use
Internet-Drafts as reference material or to cite them other
than as a "working draft" or "work in progress".
To learn the current status of any Internet-Draft, please
check the 1id-abstracts.txt listing contained in the
Internet-Drafts Shadow Directories on ds.internic.net (US East
Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast),
or munnari.oz.au (Pacific Rim).
1. Introduction
The main use of NAT is to connect an existing internal network via an
ISP to the Internet. The current NAT RFC1631 supposes that the network
number used for the translation is not existing physically on any
network. This does not work in some circumstances where the router
connected to the ISP line is not under control of the user.
This implies that the network where the NAT router is connected to,
has the same network number than the one used by NAT.
Such a configuration is shown in Figure 1, where the ISP provides a
lass C network to his customer. Router R1 is remote and R2 local to
the customer. Both routrs have to be accepted as-is from the ISP (i.e.
no changes to the config can be done).
The class C network 198.56.12. is provided. In this example we have
a PC (PC1) connected directly to the internet network as provided by
R2. For the internal usage NAT is used, but since the only one
CLASS C address is provided, NAT and the external network have the
same network number. Subnetting in this case is not a valid approach
since at least half of the addresses are then on the external network
where usually only a few are needed.
Further to this R3 will provide filtering for the internal network,
using PC1 as public server.
This configuration is not valid as of RFC1631.
Gast Gloesener [Page 2]
Figure 1: Extended NAT configuration
____________________________________________________ 153.15.34.29
/ \ +---+
| Internet |---|PC3|
\____________________________________________________/ +---+
|
|
+---+
| R1|
+---+
|
|/| Unnumbered
|
+---+
| R2|
+---+
| 198.56.12.1
|
|----+--------------+-------+---------|
|198.56.12.10 |198.56.12.2 /NAT addresses
+---+ +---+ |198.56.12.100
|PC1| | R3| =========| to
+---+ +---+ \198.56.12.200
|192.168.1.1
|-------------------+-----------+-------------|
|192.168.1.10
+---+
|PC2|
+---+
2. Overview of this extension
The extension of NAT discussed in this memo is intended to solve the
above situation by extending NAT without interfering with the "basic"
NAT implementation according to RFC1631.
The way to implement this is to split the NAT network into a physical
and a logical part. The logical part being the one used by NAT
(198.56.12.100 to 198.56.12.200 in the example above)
When this is done one of the interfaces of the router may have one
of the physical addresses of the same network number (above it is
198.56.12.2). Other routers or hosts connected physically to that
network may also use some of the physical addresses.
Note that a second router on the same network may use some of R3s
physical addresses (i.e. addresses not used by NAT) for another NAT
translation table thus one network number can be used for multiple
internal networks.
The NAT router (R3) should reply to ARP requests for his physical
address and the logical addresses used by NAT (i.e. 198.56.12.100 to
198.56.12.200) on the interface which belongs to the same network
number than NAT does, providing its hardware address as destination.
For logical (NAT) address assignements the router may not respond
or reply with a destination unreachable ICMP packet
(Host unreachable) for addresses that are currently not assigned to
any "internal" host.
PC2 which want to address PC3 will have the source address of his
packet modified in router R3 to 198.56.12.110 (for example) and then
it will be forwarded to R2 according to the routing protocol used.
Once PC3 replies to 198.56.12.100 and the packet comes to R2, R2 will
do an ARP request for this address. R3 replying to this request with
his hardware address will receive the packet apply the NAT
modifications and forward it to PC2 with his address being the new
destination address of the IP packet.
Looking at the special case where PC2 want to talk to PC1 being
virtualy on the same network number (i.e. 198.56.12.0 ). This
represents no problem since the node PC2 is physically on another net
(i.e. 192.168.1.0), so that it will use its routing table finding R3
being the appropriate router. R3 can determine that the destination
is not one of its assigned NAT addresses (logical) so that it will
use ARP to find the physical destination which is PC1. The reply of
PC1 works like in the previous example for the communication between
R2 and R3.
The configuration of the ARP replies for the router R3 may be
implemented to be done manually or even better and less error
generating) automatically. When configuring NAT the router finds out
that the NAT network number is used by one of its interfaces and it
can now setup this interface to reply to ARP requests for the
configured NAT address range(s) (logical addresses).
References
[1] Egevang K., Francis P., "The IP Network Address Translator (NAT)
RFC1631, Cray Communications, NTT, May 1994
Security Considerations
Security issues are not covered by this memo
Authors Addresses
Gast Gloesener
Digital Equipment Luxembourg
7a, rue Robert Stumper
L-2557 Luxembourg
Luxembourg
Relation to other RFCs
UPDATES RFC1631