📄 rfc1933.txt
字号:
Network Working Group R. Gilligan
Request for Comments: 1933 E. Nordmark
Category: Standards Track Sun Microsystems, Inc.
April 1996
Transition Mechanisms for IPv6 Hosts and Routers
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Abstract
This document specifies IPv4 compatibility mechanisms that can be
implemented by IPv6 hosts and routers. These mechanisms include
providing complete implementations of both versions of the Internet
Protocol (IPv4 and IPv6), and tunneling IPv6 packets over IPv4
routing infrastructures. They are designed to allow IPv6 nodes to
maintain complete compatibility with IPv4, which should greatly
simplify the deployment of IPv6 in the Internet, and facilitate the
eventual transition of the entire Internet to IPv6.
1. Introduction
The key to a successful IPv6 transition is compatibility with the
large installed base of IPv4 hosts and routers. Maintaining
compatibility with IPv4 while deploying IPv6 will streamline the task
of transitioning the Internet to IPv6. This specification defines a
set of mechanisms that IPv6 hosts and routers may implement in order
to be compatible with IPv4 hosts and routers.
The mechanisms in this document are designed to be employed by IPv6
hosts and routers that need to interoperate with IPv4 hosts and
utilize IPv4 routing infrastructures. We expect that most nodes in
the Internet will need such compatibility for a long time to come,
and perhaps even indefinitely.
However, IPv6 may be used in some environments where interoperability
with IPv4 is not required. IPv6 nodes that are designed to be used
in such environments need not use or even implement these mechanisms.
The mechanisms specified here include:
Gilligan & Nordmark Standards Track [Page 1]
RFC 1933 IPv6 Transition Mechanisms April 1996
- Dual IP layer. Providing complete support for both IPv4 and
IPv6 in hosts and routers.
- IPv6 over IPv4 tunneling. Encapsulating IPv6 packets within
IPv4 headers to carry them over IPv4 routing infrastructures.
Two types of tunneling are employed: configured and automatic.
Additional transition and compatibility mechanisms may be developed
in the future. These will be specified in other documents.
1.2. Terminology
The following terms are used in this document:
Types of Nodes
IPv4-only node:
A host or router that implements only IPv4. An
IPv4-only node does not understand IPv6. The installed
base of IPv4 hosts and routers existing before the
transition begins are IPv4-only nodes.
IPv6/IPv4 node:
A host or router that implements both IPv4 and IPv6.
IPv6-only node:
A host or router that implements IPv6, and does not
implement IPv4. The operation of IPv6-only nodes is not
addressed here.
IPv6 node:
Any host or router that implements IPv6. IPv6/IPv4 and
IPv6-only nodes are both IPv6 nodes.
IPv4 node:
Any host or router that implements IPv4. IPv6/IPv4 and
IPv4-only nodes are both IPv4 nodes.
Gilligan & Nordmark Standards Track [Page 2]
RFC 1933 IPv6 Transition Mechanisms April 1996
Types of IPv6 Addresses
IPv4-compatible IPv6 address:
An IPv6 address, assigned to an IPv6/IPv4 node, which
bears the high-order 96-bit prefix 0:0:0:0:0:0, and an
IPv4 address in the low-order 32-bits. IPv4-compatible
addresses are used by the automatic tunneling mechanism.
IPv6-only address:
The remainder of the IPv6 address space. An IPv6
address that bears a prefix other than 0:0:0:0:0:0.
Techniques Used in the Transition
IPv6-over-IPv4 tunneling:
The technique of encapsulating IPv6 packets within IPv4
so that they can be carried across IPv4 routing
infrastructures.
IPv6-in-IPv4 encapsulation:
IPv6-over-IPv4 tunneling.
Configured tunneling:
IPv6-over-IPv4 tunneling where the IPv4 tunnel endpoint
address is determined by configuration information on
the encapsulating node.
Automatic tunneling:
IPv6-over-IPv4 tunneling where the IPv4 tunnel endpoint
address is determined from the IPv4 address embedded in
the IPv4-compatible destination address of the IPv6
packet.
1.3. Structure of this Document
The remainder of this document is organized into three sections:
- Section 2 discusses the IPv4-compatible address format.
- Section 3 discusses the operation of nodes with a dual IP
layer, IPv6/IPv4 nodes.
Gilligan & Nordmark Standards Track [Page 3]
RFC 1933 IPv6 Transition Mechanisms April 1996
- Section 4 discusses IPv6-over-IPv4 tunneling.
2. Addressing
The automatic tunneling mechanism uses a special type of IPv6
address, termed an "IPv4-compatible" address. An IPv4-compatible
address is identified by an all-zeros 96-bit prefix, and holds an
IPv4 address in the low-order 32-bits. IPv4-compatible addresses are
structured as follows:
| 96-bits | 32-bits |
+--------------------------------------+--------------+
| 0:0:0:0:0:0 | IPv4 Address |
+--------------------------------------+--------------+
IPv4-Compatible IPv6 Address Format
IPv4-compatible addresses are assigned to IPv6/IPv4 nodes that
support automatic tunneling. Nodes that are configured with IPv4-
compatible addresses may use the complete address as their IPv6
address, and use the embedded IPv4 address as their IPv4 address.
The remainder of the IPv6 address space (that is, all addresses with
96-bit prefixes other than 0:0:0:0:0:0) are termed "IPv6-only
Addresses."
3. Dual IP Layer
The most straightforward way for IPv6 nodes to remain compatible with
IPv4-only nodes is by providing a complete IPv4 implementation. IPv6
nodes that provide a complete IPv4 implementation in addition to
their IPv6 implementation are called "IPv6/IPv4 nodes." IPv6/IPv4
nodes have the ability to send and receive both IPv4 and IPv6
packets. They can directly interoperate with IPv4 nodes using IPv4
packets, and also directly interoperate with IPv6 nodes using IPv6
packets.
The dual IP layer technique may or may not be used in conjunction
with the IPv6-over-IPv4 tunneling techniques, which are described in
section 4. An IPv6/IPv4 node that supports tunneling may support
only configured tunneling, or both configured and automatic
tunneling. Thus three configurations are possible:
- IPv6/IPv4 node that does not perform tunneling.
- IPv6/IPv4 node that performs configured tunneling only.
- IPv6/IPv4 node that performs configured tunneling and
Gilligan & Nordmark Standards Track [Page 4]
RFC 1933 IPv6 Transition Mechanisms April 1996
automatic tunneling.
3.1. Address Configuration
Because they support both protocols, IPv6/IPv4 nodes may be
configured with both IPv4 and IPv6 addresses. Although the two
addresses may be related to each other, this is not required.
IPv6/IPv4 nodes may be configured with IPv6 and IPv4 addresses that
are unrelated to each other.
Nodes that perform automatic tunneling are configured with IPv4-
compatible IPv6 addresses. These may be viewed as single addresses
that can serve both as IPv6 and IPv4 addresses. The entire 128-bit
IPv4-compatible IPv6 address is used as the node's IPv6 address,
while the IPv4 address embedded in low-order 32-bits serves as the
node's IPv4 address.
IPv6/IPv4 nodes may use the stateless IPv6 address configuration
mechanism [5] or DHCP for IPv6 [3] to acquire their IPv6 address.
These mechanisms may provide either IPv4-compatible or IPv6-only IPv6
addresses.
IPv6/IPv4 nodes may use IPv4 mechanisms to acquire their IPv4
addresses.
IPv6/IPv4 nodes that perform automatic tunneling may also acquire
their IPv4-compatible IPv6 addresses from another source: IPv4
address configuration protocols. A node may use any IPv4 address
configuration mechanism to acquire its IPv4 address, then "map" that
address into an IPv4-compatible IPv6 address by pre-pending it with
the 96-bit prefix 0:0:0:0:0:0. This mode of configuration allows
IPv6/IPv4 nodes to "leverage" the installed base of IPv4 address
configuration servers. It can be particularly useful in environments
where IPv6 routers and address configuration servers have not yet
been deployed.
The specific algorithm for acquiring an IPv4-compatible address using
IPv4-based address configuration protocols is as follows:
1) The IPv6/IPv4 node uses standard IPv4 mechanisms or protocols
to acquire its own IPv4 address. These include:
- The Dynamic Host Configuration Protocol (DHCP) [2]
- The Bootstrap Protocol (BOOTP) [1]
- The Reverse Address Resolution Protocol (RARP) [9]
- Manual configuration
- Any other mechanism which accurately yields the node's
own IPv4 address
Gilligan & Nordmark Standards Track [Page 5]
RFC 1933 IPv6 Transition Mechanisms April 1996
2) The node uses this address as its IPv4 address.
3) The node prepends the 96-bit prefix 0:0:0:0:0:0 to the 32-bit
IPv4 address that it acquired in step (1). The result is an
IPv4-compatible IPv6 address with the node's own IPv4-address
embedded in the low-order 32-bits. The node uses this address
as its own IPv6 address.
3.1.1. IPv4 Loopback Address
Many IPv4 implementations treat the address 127.0.0.1 as a "loopback
address" -- an address to reach services located on the local
machine. Per the host requirements specification [10], section
3.2.1.3, IPv4 packets addressed from or to the loopback address are
not to be sent onto the network; they must remain entirely within the
node. IPv6/IPv4 implementations may treat the IPv4-compatible IPv6
address ::127.0.0.1 as an IPv6 loopback address. Packets with this
address should also remain entirely within the node, and not be
transmitted onto the network.
3.2. DNS
The Domain Naming System (DNS) is used in both IPv4 and IPv6 to map
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -