rfc1385.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 955 行 · 第 1/3 页
TXT
955 行
Network Working Group Z. Wang
Request for Comments: 1385 University College London
November 1992
EIP: The Extended Internet Protocol
A Framework for Maintaining Backward Compatibility
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard. Distribution of this memo is
unlimited.
Summary
The Extended Internet Protocol (EIP) provides a framework for solving
the problem of address space exhaustion with a new addressing and
routing scheme, yet maintaining maximum backward compatibility with
current IP. EIP can substantially reduce the amount of modifications
needed to the current Internet systems and greatly ease the
difficulties of transition. This is an "idea" paper and discussion is
strongly encouraged on Big-Internet@munnari.oz.au.
Introduction
The Internet faces two serious scaling problems: address exhaustion
and routing explosion [1-2]. The Internet will run out of Class B
numbers soon and the 32-bit IP address space will be exhausted
altogether in a few years time. The total number of IP networks will
also grow to a point where routing algorithms will not be able to
perform routing based a flat network number.
A number of short-term solutions have been proposed recently which
attempt to make more efficient use of the the remaining address space
and to ease the immediate difficulties [3-5]. However, it is
important that a long term solution be developed and deployed before
the 32-bit address space runs out.
An obvious approach to this problem is to replace the current IP with
a new internet protocol that has no backward compatibility with the
current IP. A number of proposals have been put forward: Pip[7],
Nimrod [8], TUBA [6] and SIP [14]. However, as IP is really the
cornerstone of the current Internet, replacing it with a new "IP"
requires fundamental changes to many aspects of the Internet system
(e.g., routing, routers, hosts, ARP, RARP, ICMP, TCP, UDP, DNS, FTP).
Migrating to a new "IP" in effect creates a new "Internet". The
Wang [Page 1]
RFC 1385 EIP November 1992
development and deployment of such a new "Internet" would take a very
large amount of time and effort. In particular, in order to maintain
interoperability between the old and new systems during the
transition period, almost all upgraded systems have to run both the
new and old versions in parallel and also have to determine which
version to use depending on whether the other side is upgraded or
not.
Let us now have a look at the detailed changes that will be required
to replace the current IP with a completely new "IP" and to maintain
the interoperability between the new and the old systems.
1) Border Routers: Border routers have to be upgraded and to provide
address translation service for IP packets across the boundaries.
Note that the translation has to be done on the outgoing IP
packets as well as the in-coming packets to IP hosts.
2) Subnet Routers: Subnet Routers have to be upgraded and have to
deal with both the new and the old packet formats.
3) Hosts: Hosts have to be upgraded and run both the new and the
old protocols in parallel. Upgraded hosts also have to determine
whether the other side is upgraded or not in order to choose the
correct protocol to use.
4) DNS: The DNS has to be modified to provide mapping for domain
names and new addresses.
5) ARP/RARP: ARP/RARP have to be modified, and upgraded hosts and
routers have to deal with both the old and new ARP/RARP packets.
6) ICMP: ICMP has to be modified, and the upgraded routers have to
be able to generate both both old and new ICMP packets. However,
it may be impossible for a backbone router to determine
whether the packet comes from an upgraded host or an IP host but
translated by the border router.
7) TCP/UDP Checksum: The pseudo headers may have to be modified to
use the new addresses.
8) FTP: The DATA PORT (PORT) command has to be changed to pass new
addresses.
In this paper, we argue that an evolutionary approach can extend the
addressing space yet maintain backward compatibility. The Extended
Internet Protocol (EIP) we present here can be used as a framework by
which a new routing and addressing scheme may solve the problem of
address exhaustion yet maintain maximum backward compatibility to
Wang [Page 2]
RFC 1385 EIP November 1992
current IP.
EIP has a number of very desirable features:
1) EIP allows the Internet to have virtually unlimited number of
network numbers and over 10**9 hosts in each network.
2) EIP is flexible to accommodate most routing and addressing
schemes, such as those proposed in Nimrod [8], Pip [7], NSAP [9]
and CityCodes [10]. EIP also allows new fields such as Handling
Directive [7] or CI [11] to be added.
3) EIP can substantially reduce the amount of modifications to
current systems and greatly ease the difficulties in transition.
In particular, it does not require the upgraded hosts and subnet
routers to run two set of protocols in parallel.
4) EIP requires no changes to all assigned IP addresses and subnet
structures in local are networks. and requires no modifications
to ARP/RARP, ICMP, TCP/UDP checksum.
5) EIP can greatly ease the difficulties of transition. During the
transition period, no upgrade is required to the subnet routers.
EIP hosts maintain full compatibility with IP hosts within the
same network, even after the transition period. During the
transition period, IP hosts can communicate with any hosts in
other networks via a simple translation service.
In the rest of the paper, IP refers to the current Internet Protocol
and EIP refers to the Extended Internet Protocol (EIP is pronounced
as "ape" - a step forward in the evolution :-).
Extended Internet Protocol (EIP)
The EIP header format is shown in Figure 1 and the contents of the
header follows.
Wang [Page 3]
RFC 1385 EIP November 1992
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Host Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Host Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| EIP ID | EIP Ext Length| EIP Extension (variable) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: EIP Header Format
Version: 4 bits
The Version field is identical to that of IP. This field is set
purely for compatibility with IP hosts. It is not checked by EIP
hosts.
IHL: 4 bits
Internet Header Length is identical to that of IP. IHL is set to
the length of EIP header purely for compatibility with IP. This
field is not checked by EIP hosts. see below the EIP Extension
Length field for more details)
Type of Service: 8 bits
The ToS field is identical to that of IP.
Total Length: 16 bits
The Total Length field is identical to that of IP.
Identification: 16 bits
The Identification field is identical to that of IP.
Flags: 3 bits
The Flags field is identical to that of IP.
Wang [Page 4]
RFC 1385 EIP November 1992
Fragment Offset: 13 bits
The Fragment Offset field is identical to that of IP.
Time to Live: 8 bits
The Time to Live field is identical to that of IP.
Protocol: 8 bits
The Protocol field is identical to that of IP.
Header Checksum: 16 bits
The Header Checksum field is identical to that of IP.
Source Host Number: 32 bits
The Source Host Number field is used for identifying the
source host but is unique only within the source network
(the equivalent of the host portion of the source IP address).
Destination Host Number: 32 bits
The Destination Host Number field is used for identifying the
destination host but is unique only within the destination network
(the equivalent of the host portion of the destination IP address).
EIP ID: 8 bits
The EIP ID field equals to 0x8A. The EIP ID value is chosen
in such a way that, to IP hosts and IP routers, an EIP appears
to be an IP packet with a new IP option of following parameters:
COPY CLASS NUMBER LENGTH DESCRIPTION
---- ----- ------ ------ -----------
1 0 TBD var
Option: Type=TBD
EIP Extension Length: 8 bits
The EIP Extension Length field indicates the total length
of the EIP ID field, EIP Extension Length field and the
EIP Extension field in octets. The maximum length that the
IHL field above can specify is 60 bytes, which is considered
too short in future. EIP hosts actually use the EIP Extension
Length field to calculate the total header length:
Wang [Page 5]
RFC 1385 EIP November 1992
The total header length = EIP Extension Length + 20.
The maximum header length of an EIP packet is then 276 bytes.
EIP Extension: variable
The EIP Extension field holds the Source Network Number,
Destination Network Number and other fields. The format
of the Extension field is not specified here. In its simplest
form, it can be used to hold two fixed size fields as the
Source Network Number and Destination Network Number as the
extension to the addressing space. Since the Extension
field is variable in length, it can accommodate almost any
routing and addressing schemes. For example, the Extension
field can be used to hold "Routing Directive" etc specified
in Pip [7] or "Endpoint IDs" suggested in Nimrod [8], or the
"CityCode" [10]. It can also hold other fields such as the
"Handling Directive" [7] or "Connectionless ID" [11].
EIP achieves maximum backward compatibility with IP by making the
extended space appear to be an IP option to the IP hosts and routers.
When an IP host receives an EIP packets, the EIP Extension field is
safely ignored as it appears to the IP hosts as an new, therefore an
unknown, IP option. As a result, there is no need for translation
for in-coming EIP packets destined to IP hosts and there is also no
need for subnet routers to be upgraded during the transition period
see later section for more details).
EIP hosts or routers can, however, determine whether a packet is an
IP packet or an EIP packet by examining the EIP ID field, whose
position is fixed in the header.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?