One document matched: draft-despres-6rd-00.txt
Internet Engineering Task Force R. Despres
Internet-Draft RD-IPtech
Intended status: Informational June 27, 2008
Expires: January 2, 2009
IPv6 Rapid Deployment on IPv4 infrastructures (6rd)
draft-despres-6rd-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
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
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 2, 2009.
Abstract
IPv6 rapid deployment (6rd) builds upon mechanisms of 6to4 (RFC3056)
to enable a service provider to rapidly deploy IPv6 unicast service
to its existing IPv4 sites. Like 6to4, it utilizes stateless IPv6 in
IPv4 encapsulation in order to transit IPv4-only network
infrastructure. Unlike 6to4, 6rd allows a service provider to use
one of its own IP prefixes rather than the fixed 6to4 prefix. A
service provider has used this mechanism for its own "rapid
deployment" of IPv6 (five weeks from first exposure to "opt-in"
deployment for 1,500,000 residential sites).
Despres Expires January 2, 2009 [Page 1]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
Table of Contents
1. Introduction and 6rd purpose . . . . . . . . . . . . . . . . . 3
2. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Participating entities and their addresses . . . . . . . . 4
2.2. Derivation of the 6rdSiteV6Prefix of a 6rd-site from
its SiteV4Address . . . . . . . . . . . . . . . . . . . . 6
2.2.1. General format . . . . . . . . . . . . . . . . . . . . 6
2.2.2. Simple format . . . . . . . . . . . . . . . . . . . . 8
2.3. Encapsulations-decapsulations . . . . . . . . . . . . . . 10
2.4. ICMP and MTU consideration . . . . . . . . . . . . . . . . 10
2.5. 6rd Applicability to IPv4 private addresses . . . . . . . 11
3. 6rd-CPE parameters and the 6rd DHCPv4 option . . . . . . . . . 11
4. 6rd-relay implementation variants . . . . . . . . . . . . . . 12
5. Security Considerations . . . . . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14
Appendix A. PSEUDO-CODE EXAMPLE WITH SECURITY CHECKS FOR
6RD-CPES . . . . . . . . . . . . . . . . . . . . . . 15
Appendix B. PSEUDO-CODE EXAMPLE WITH SECURITY CHECKS FOR
6RD-RELAYS . . . . . . . . . . . . . . . . . . . . . 16
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.1. Normative References . . . . . . . . . . . . . . . . . . . 17
8.2. Informative References . . . . . . . . . . . . . . . . . . 17
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . . . . 19
Despres Expires January 2, 2009 [Page 2]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
1. Introduction and 6rd purpose
After having had a succinct presentation of the 6rd idea, a major
French Internet service provider (ISP), FREE (also known as ILIAD),
did all of the following in an impressively short delay of only five
weeks (November 7th to December 11th 2007):
1. obtain its first IPv6 prefix from its regional Internet Registry
(RIR);
2. add 6rd support to the software of its Freebox home-gateway
(upgrading for this an available 6to4 code);
3. provision PC-compatible platform with a 6to4 gateway software;
4. modify it to support 6rd;
5. test IPv6 operation with several operating systems and
applications;
6. finish operational deployment, by means of new downloadable
software for Freeboxes;
7. announce IPv6 Internet connectivity, at no extra charge (and with
the same look and feel as with pure native IPv6), for all its
customers wishing to have it.
More than 1,500,000 residential customers thus became able to use
IPv6 with the same look and feel as with any native IPv6 solutions.
The only condition was a conscious activation of IPv6 in their
Freeboxes and in their individual hosts.
Later, on March 6th 2008, FREE announced that its Telesites
application (Web sites published on TV) was now available between its
customer sites, provided their IPv6 was activated.
This story is reported to illustrate that ISPs that differ IPv6
deployment, typically because of anticipated investment and
operational costs, can, if circumstances are favorable, drastically
reduce these costs and rapidly offer IPv6 to their customers.
This first deployment had the limitation that each customer site
prefix was 64 bit longs, which limited each of them to only one IPv6
link (no room left for a intra-site subnet identifier). The reason
for the /64 was that FREE had initially registered for a /32 IPv6
prefix, the default value every ISP can get. With The /28 IPv6
prefix that FREE has obtained one since then, intra-site subnet
identifiers become possible.
Despres Expires January 2, 2009 [Page 3]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
The purpose of this draft is that:
o Manufacturers of ISP-infrastructure routers, gateway devices, and
router CPEs, can consider supporting 6rd-relay functions in their
products, with guaranteed interoperability between
implementations.
o ISPs that have not offered IPv6 to their customers yet, or that
did it only on a limited scale, can consider doing it on a large
scale with 6rd, leaving for a later time generalization of more
native IPv6 support (for example when their provider edge devices
are upgraded to support IPv6 in hardware).
Earlier versions of this draft have been presented and discussed in
the v6ops working group before it was decided that an Individual
Submission was a more appropriate path in view of an RFC status.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Readers are supposed to be familiar with IPv6 address formats and
notation of [RFC4291].
2. Specification
2.1. Participating entities and their addresses
Figure 1 presents network entities that are concerned with 6rd.
A "6rd-zone", or "zone" for short, is an IPv4 routing area to which
are attached one or more 6rd-relays, and a number of customer sites.
A "6rd-relay" performs encapsulation-decapsulation functions of IPv6
in IPv4. It is accessible on its IPv6 interface at the
6rdRelayV6Prefix of the 6rd-zone, and on its IPv4 interface at the
6rdRelayV4Address of the zone. Its encapsulation and decapsulation
functions being stateless, load sharing among several 6rd-relays is
possible, even on a per packet basis.
Despres Expires January 2, 2009 [Page 4]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
The "6rdRelayV6Prefix" of a 6rd-zone must be in the IPv6 address
space of the ISP that controls the zone. This is the essential
difference with the 6to4 of [RFC3056]: ensuring that IPv6 traffic
toward 6rd customer sites of a 6rd-zone can be routed from ANY remote
hosts that have IPv6 connectivity, stays with 6rd under the control
of the ISP managing the zone. It DOES NOT depend on how remote hosts
have obtained their own IPv6 connectivity (native IPv6, tunnel broker
[RFC3053], softwires [RFC4925], Teredo [RFC4380], 6rd [this
draft]...).
6rd-sites 6rd-zone
__/\__ _____________/\______________
/ \ / \
6rd-CPEs
| 6rd-relays
| (stateless)
V (IPv4 routing) |
_________________________ |
IPv4 | | V
& IPv6 | | ___
_|__ <= SiteV4Address(X) | | |
| | | | .----------------|---| |----
| X |--|-. / | |___|
|____| | \ / | (IPv6 routing)
Host-only | \ / |
CPE | O 6rdRelayV4Address => <= 6rdRelayV6Prefix
___ | / \ (anycast) |
| | | | / \ | ___
|--| Y |--|-' \ | | |
| |___| | '----------------|---| |----
| Router <= SiteV4Address(Y) | |___|
| CPE | |
| |_________________________|
IPv4 IPV6 ENCAPSULATED IN IPV4
& IPv6
<= 6rdSiteV6Prefixes
(derived from SiteV4Addresses and 6rd-zone parameters)
THE 6RD MODEL
Figure 1
The "6rdRelayV4Address" of a 6rd-zone is an IPv4 anycast address
shared by all 6rd-relays of the zone.
Despres Expires January 2, 2009 [Page 5]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
A "6rd-CPE" is a dual stack CPE (customer premise equipment) that
supports 6rd. It can be a host-only CPE, or a router CPE via which a
number of other hosts access the Internet.
A "6rd-site" is a customer site of a 6rd-zone the CPE of which is a
6rd-CPE. Within the CPE, both IPv4 and IPv6 applications can be
supported. If the 6rd-CPE is a router, it extends behind it its IPv6
connectivity.
The "SiteV4Address" of a 6rd-site is its IPv4 unicast address.
The "6rdSiteV6Prefix" of a 6rd-site is implicitly derived from the
SiteV4Addresss of the site and from parameters of the 6rd-zone
according to Section 2.2.
Between two customer sites of a same 6rd-zone, the IPv6 traffic is
directly routed in IPv4 from one to the other.
In a 6rd-site where the 6rdSiteV6Prefix is shorter than /64, the CPE,
if it has only one intra-site interface, MUST have a default route to
this interface for all destination addresses that start with this
prefix. (More specific routes, with prefixes of lengths between /64
and that of the 6rdSiteV6Prefix may be added manually or by means of
prefix delegation [RFC3633]).
2.2. Derivation of the 6rdSiteV6Prefix of a 6rd-site from its
SiteV4Address
2.2.1. General format
Figure 2 shows how the 6rdSiteV6Prefix of a 6rd-site is derived from
the SiteV4Address of the site.
Despres Expires January 2, 2009 [Page 6]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
.-//---------.
| R6P | 6rdRelayV6Prefix
'-//---------' (zone parameter)
. .
. .-//--.
. | T | 6rdTag
. '-//--' (zone parameter)
. . .
.-//---------+-----.
| Z6P | 6rdZoneV6Prefix
'-//---------+-----'
. .
.-//---------------+-//------.
| S6P | 6rdSiteV6Prefix
'-//---------------+-//------'
. .
.-//------.
| S4S | 6rdSiteV4Suffix
'-//------'
. .
6rdZoneV4PrefixLength
(zone parameter)
<---------> .
. . .
.---------+---------.
| S4A | SiteV4Address
'---------+---------'
<----- 32 bits ----->
. .
. .
.-//------.
| Z4P | 6rdZoneV4Prefix
'-//------'
RELATIONSHIPS BETWEEN IPv4-SITE-ADDRESSES AND 6RD-SITE-PREFIXES
Figure 2
Parameters of the zone that influence the derivation are the
following:
1. The "6rdZoneV6Prefix". It is a prefix that, in the zone, will
appear at the beginning of all 6rdSiteV6prefixes.
2. The "6rdZoneV4PrefixLength". It is the length of an IPv4 prefix
that, in the zone, appears at the beginning of all
SiteV4Addresses. If the ISP of the zone has only one IPv4 prefix
Despres Expires January 2, 2009 [Page 7]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
allocated by its RIR, the length of this prefix SHOULD be taken
as the 6rdZoneV4PrefixLength. If the ISP has several IPv4
prefixes, this length SHOULD be 0 (simple format case of
Section 2.2.2).
3. The "6rdTag". Defined only if the 6rdZoneV4PrefixLength is not
0, it is a sequence of bits chosen by the ISP of the zone to
appear, in all 6rdSiteV6Prefixes of the zone, immediately after
the 6rdZoneV6Prefix.
With these parameters, the 6rdSiteV6Prefix of a customer site is
derived as follows:
o The "6rdZoneV6Prefix" is composed of the 6rdRelayV6Prefix of the
zone(see Figure 1) followed by the 6rdTag.
o If "6rdSiteV4Suffix" of a site is composed of all bits that, in
its SiteV4Address, come after the 6rdZoneV4PrefixLength. (In the
simple format case, where the 6rdZoneV4PrefixLength is 0, the
6rdSiteV4Suffix is the full IPv4 address.)
o The "6rdSiteV6Prefix" is composed of the 6rdZoneV6Prefix of the
zone followed by the 6rdSiteV4Suffix of the site.
For example, if an ISP has QQQQ:Q000/20 as its only IPv4 prefix,
PPPP:PPPP/32 as its only IPv6 prefix, and C000/4 as its chosen
6rdTag, the 6rdSiteV6Prefix of a site that has QQQQ:QAAA as its
SiteV4Address is PPPP:PPPP:TAAA/48.
Note that, even if the 6rdZoneV4Prefix is not a multiple of 4 bits,
the 6rdTag can be chosen so that hexadecimal digits of IPv4 addresses
are kept readable in 6rdSiteV6Suffixes. For example, if the
6rdZoneV4Prefix is QQQQ:QR00/22 (not a multiple of 4 bits), and if
the 6rdRelayV6Prefix is PPPP:PPPP/32, by choosing TR00/6 as 6rdTag
(purposely terminated with the same partial nibble of 4 bits as the
6rdZoneV4Prefix), it is ensured that the 6rdSiteV6Prefix derived from
SiteV4Address QQQQ:QXAA will be PPPP:PPPP:QXAA/48.
2.2.2. Simple format
If an ISP as several IPv4 prefixes, substituting the 6rdTag to the
6rd-zoneV4Prefix in 6rdSiteV6Prefixes to shorten them is no longer
possible, but the general relationship can be simplified, as shown on
Figure 3.
For example, if an ISP has several IPv4 prefixes and has PPPP:PP00/24
as its 6rdRelayV6Prefix, the 6rdSiteV6Prefix derived from
SiteV4Address AAAA:AAAA is PPPP:PPAA:AAAA:AA00/56.
Despres Expires January 2, 2009 [Page 8]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
A limit case is that of an ISP that has several IPv4 prefixes but
only a /32 IPv6 prefix. It can deploy 6rd with /64 prefixes assigned
to its 6rd-sites, but it should better ask for shorter an IPv6
prefix, so that it can assign shorter than /64 prefixes to its
customers sites and thus let them have several subnets per site.
.-//-----------. 6rdZoneV6Prefix
| 6ZP | (= 6rdRelayV6Prefix)
'-//-----------'
. .
.-//-----------+-------------------.
| 6SP | 6rdSiteV6Prefix
'-//-----------+-------------------'
. .
.-------------------.
| 4SA | SiteV4Address
'-|-----------------'
|
first 4 bits
other than 1110
RELATIONSHIPS BETWEEN IPv4-SITE-ADDRESSES AND 6RD-SITE-PREFIXES
(A) SIMPLE PREFIX FORMAT
Figure 3
An ISP, , after having deployed IPv6 with the 6rd simple format, may
wish to start deploying native IPv6 addresses without having obtained
a new IPv6 prefix from its RIR. For this, a precaution must have
been taken from the outset: if the simple format is used, an IPv6
prefix MUST be recognized as that of a 6rd-site ONLY IF its four bits
next to the 6rdZoneV6Prefix are not 1110. (Being in IPv4 the first
four bits reserved for multicast addresses, 1110 may never appear at
the beginning of a valid IPv4 unicast address). Thus, non-6rd
prefixes can be allocated freely with 1110 as their four bits next to
the 6rdZoneV6Prefix.
For example, if an ISP has PPPP:PP00::/24 as its only IPv6 prefix and
if, having several IPv4 prefixes, it has assigned PPPP:PPAA:AAAA:
AA00::/56 as 6rdSiteV6Prefixes of its sites of IPv4 addresses AAAA:
AAAA, it can allocate to non-6rd sites all prefixes that begin with
PPPP:PPPe::/32.
Despres Expires January 2, 2009 [Page 9]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
2.3. Encapsulations-decapsulations
An IPv6 packet the source or destination of which is a 6rd-site
traverses the 6rd-zone of this site encapsulated in an IPv4 packet.
The encapsulation format is that of [RFC4213] section 3.5. (protocol
field set to 41).
Source and destination addresses of an IPv4 encapsulating packet must
be related to those of its IPv6 encapsulated packet as follows:
o If the IPv6 address is not that of a 6rd-site of the zone, the
IPv4 address MUST be the 6rdRelayV4Address of the zone.
o Otherwise, the IPv4 address MUST be that from which the IPv6
prefix is derived according to Section 2.2.
2.4. ICMP and MTU consideration
In 6rd-zones, ISPs MUST ensure that IPv4 maximum transfer units
(MTUs) are at least 1300, i.e. 1280, the minimum IPv6 MTU, plus 20,
the length of the IPv4 encapsulating header. Supported MTUs on
Ethernet links being 1500, this leaves on them 200 octets for various
lower layer encapsulations that may be used between routers of these
zones, a good margin ([RFC1191] ).
If a packet to be encapsulated is longer than 1280 octets,
encapsulation functions of 6rd-CPEs and 6rd-relays SHOULD return to
its source a "packet too big" ICMPv6 packet [RFC4443] with 1280 as
indicated MTU ([RFC4213] section 3.2).
Received ICMPv6 packets are encapsulated like any other IPv6 packets.
Decapsulation functions of 6rd-CPEs and 6rd-relays, when they receive
an ICMPv4 packet the type of which is "unreachable" (type field = 3),
SHOULD forward an ICMPv6 packets [RFC4443]signaling "destination
unreachable" (type field = 1 and code field = 0). The IPv6
destination has to be the source of the IPv6 packet that has been
discarded.
For this destination address to be found, ISPs that support 6rd
SHOULD ensure that all routers of their IPv4 infrastructures return
long enough ICMPv4 packets. To contain IPv6 source addresses of
discarded packets, their minimum length is 20 + 8 + 20 + 40 = 88
octets, for IPv4 header, ICMPv4 header, IPv4 header, IPv6 header
([RFC4213] section 3.4). Note that this is necessarily the case if
these routers comply with requirements of [RFC1812] section 4.3.2.3.
Despres Expires January 2, 2009 [Page 10]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
2.5. 6rd Applicability to IPv4 private addresses
______________________________
| 10.x.x.x/8 private addresses |
| <== |
<-----| |----->
| 6rdRelayV4Address |
6rd-CPEs | ==> | 6rd-relays
| |
<-----| 0.0.0.0/0 |----->
| : | <== 6rdRelayV6Prefix
| V |
|______________________________|
|
__|__
ISP-supported NAT(s) | |
|_____|
|
|
V
IPv4 public addresses
EXAMPLE OF 6rd WITH ISP ASSIGNED IPV4 PRIVATE ADDRESSES
Figure 4
ISPs that allocate IPv4 private addresses of [RFC1918] to some of
their customer sites, and that therefore operate Network Address
Translators (NATs of [RFC2663]) in their IPv4 infrastructures, can
allocate 6rdSiteV6Prefixes based on these IPv4 private addresses.
Figure 4 presents an example where allocated IPv4 private addresses
start with 10.0.0.0/8, a typical choice based on [RFC1918].
Note that, if an ISP supports several NAT functions in its
infrastructure, parallel or cascaded, it has, for 6rd, to ensure that
IPv4 private address spaces behind these NATS are all disjoint.
3. 6rd-CPE parameters and the 6rd DHCPv4 option
A 6rd-CPE needs to know the three zone parameters of Section 2.2.1.
If an ISP provides its own router CPEs to all its customer sites (as
was the case for the first 6rd deployment), these parameters can be
set up as a byproduct of CPE software updates.
Despres Expires January 2, 2009 [Page 11]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
But if 6rd-CPEs may be provisioned by customers themselves, these
parameters need to be configured otherwise. For this, suppliers of
these CPEs SHOULD include in their user interface means to set up
these parameters (or their equivalent).
This parameter setting can be fully automatized where both DHCPv4
servers of ISPs and 6rd-CPEs of customers support the 6rd ad hoc
DHCPv4 option ([RFC2131], [RFC2132]).
The format retained for the DHCPv4 message specific of this option is
presented on Figure 5.
To preserve open-endedness of the message format, 6rd-CPEs that
support the 6rd-DHCPv4-option MUST accept messages longer than 12
octets, and ignore what appears beyond fields they know.
The value of the 6rdDHCPV4Code is under the responsibility of the
IANA.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 6rdDHCPv4Code | Length | 6rdZoneV6- | 6rdZoneV4- |
| | = 12 | PrefixLength | PrefixLength |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 6rdRelayV4Address |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| |
+ 6rdZoneV6Prefix +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
FORMAT OF THE 6rd-DHCPv4-OPTION
Figure 5
4. 6rd-relay implementation variants
In the simplest implementation of 6rd-relays, each physical device
(or processor) supports only one 6rd-zone. It has for this only one
set of zone parameters.
Despres Expires January 2, 2009 [Page 12]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
Although this may be sufficient in practice, the following richer
implementations are mentioned for suppliers that would consider
implementing them based on their own market expectations:
1. Multiple 6rd-relays in a single device (or using the same
processor). Provided each 6rd-relay has a 6rdRelayv6Prefix and a
6rdRelayV4Address that differ from those of others, the behavior
is the same as though 6rd-relays would be is separate devices.
2. Multiple 6rd-zones in a single 6rd-relay. Provided each 6rd-zone
of the 6rd-relay has a 6rdTag and that all 6rdTags are different,
the 6rdRelayV6Prefix and the 6rdRelayV4Address of a 6rd-relay can
be shared by several zones. The relay SHOULD then perform by
itself the hairpin routing, from and to the IPv4 routing area,
that encapsulated packets from one of it zones to another
require. For ISPs that have several IPv4 prefixes, this
configuration has the advantage that 6rdSiteV6prefixes allocated
to 6rd-sites may be shorter than those the simple format. It has
however the drawback, beyond its additional complexity, that
packets that go from one zone to another have to cross a 6rd-
relay rather than traversing once the IPv4 infrastructure.
5. Security Considerations
For security:
o Encapsulation functions SHOULD verify that IPv6 source addresses
of received packets are compatible with where their IPv4
encapsulating packets come from.
o Decapsulation functions SHOULD verify that IPv4 source addresses
of encapsulating packets are consistent with IPv6 source and
destination addresses of encapsulated packets.
Appendix A and Appendix B present pseudo-codes that illustrate these
verifications, respectively for 6rd-CPEs and 6rd-relays.
Also, the 6rdRelayV4Address of a 6rd-zone SHOULD NOT be in any range
of addresses that are advertised by its ISP out of the 6rd-zone.
Conversely, the ISP SHOULD make sure that routes toward this address
can only lead to 6rd-relays, even if some peers of the ISP, by
mistake or malevolently, advertise this address or a prefix leading
to it.
These precautions being taken,it remains that, where IPv4 address
spoofing is possible (IPv4 sites placing unauthorized source
addresses in some packets they send), IPv6 address spoofing is also
Despres Expires January 2, 2009 [Page 13]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
possible. Higher layers are then left, like with IPv4, with the
responsibility to limit consequences.
6. IANA Considerations
The 6rdDHCPV4Code of Section 3 needs to be specified by IANA.
7. Acknowledgements
The author warmly acknowledge the major contribution of Rani Assaf to
6rd's credibility. He readily appreciated 6rd's potential, and made
the daring decision to immediately implement it in view of its
deployment on FREE's operational network. Patrick Grossetete made
useful suggestions on multi-subnet sites and on 6rd anycast
addresses. Tony Hain contributed on how to support shorter
6rdSiteV6Prefixes than with just the simple format.
Acknowledgments are also due to confirmed IPv6 experts, in particular
Laurent Toutain, Francis Dupont, Alain Durand, who, when the author
was a late newcomer on IPV6, taught him subtleties of the subject.
Without them, designing 6rd would probably not have been possible.
Despres Expires January 2, 2009 [Page 14]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
Appendix A. PSEUDO-CODE EXAMPLE WITH SECURITY CHECKS FOR 6RD-CPES
6rd-CPE ENCAPSULATION
IF v6-packet > 1280 octets
THEN Send back ICMPv6 pkt "Pkt too big"
ELSE-IF src6 starts with 6rdZoneV6Prefix
THEN src4 <-- SiteV4Address
dst4 <-- IF (dst6 starts with the 6rdZoneV6Prefix
AND NOT (6rdZoneV4PrefixLength = 0
AND next dst6 bits = 1110) )
THEN 6rdZoneV4Prefix(SiteV4Address)
followed by 6rdSiteV4Suffix(dst6)
ELSE 6rdRelayV4Address
END-IF
Encapsulate v6-packet in v4-packet
Send v4-packet
END-IF
6rd-CPE DECAPSULATION
IF (v4-packet = ICMPv4 "Unreachable"
AND Protocol in returned header is 41)
THEN v6-packet <-- ICMPv6 "Destination unreachable"
with the returned encapsulated IPv6 header
src6 <-- 6rdSiteV6Prefix(SiteV4Address)
dst6 <-- src6(returned IPv6 header)
Send v6-packet
ELSE-IF Protocol of v4-packet = 41
THEN v6-packet <-- Data field of v4-packet
IF dst6 starts with 6rdSiteV6Prefix)
THEN IF ( src6 starts with 6rdZoneV6Prefix
AND NOT (6rdZoneV4PrefixLength = 0
AND next src6 bits = 1110) )
THEN IF scr4 is not 6rdRelayV4Address
THEN Forward v6-packet
END-IF
ELSE IF src4 is 6rdRelayV4Address
THEN Forward v6-packet
END-IF
END-IF
END-IF
Despres Expires January 2, 2009 [Page 15]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
Appendix B. PSEUDO-CODE EXAMPLE WITH SECURITY CHECKS FOR 6RD-RELAYS
6rd-relay ENCAPSULATION
IF v6-packet > 1280 octets
THEN Send back ICMPv6 pkt "Pkt too big"
ELSE-IF src6 doesn't start with 6rdZoneV6Prefix
THEN IF (dst6 starts with the 6rdZoneV6Prefix
AND NOT (6rdZoneV4PrefixLength = 0
AND next src6 bits = 1110)
THEN src4 <-- IPv4-6rd-relay-address;
dst4 <-- 6rdZoneV4Prefix followed by
6rdSiteV4Suffix(dst6);
Encapsulate v6-packet in v4-packet;
Send v4-packet
END-IF
END-IF
6rd-relay DECAPSULATION
IF (v4-packet = ICMPv4 "Unreachable"
AND Protocol in returned IPv4 header is 41)
THEN v6-packet <-- ICMPv6 "Destination unreachable"
with the returned encapsulated IPv6 header
src6 <-- 6rdSiteV6Prefix(6rdRelayV4Address)
dst6 <-- src6(returned IPv6 header)
Send v6-packet
ELSE-IF Protocol of v4-packet = 41
THEN v6-packet <-- Data field of from v4-packet
IF dst6 starts with 6rdSiteV6Prefix
THEN IF (src6 starts with 6rdZoneV6Prefix
AND NOT (6rdZoneV4PrefixLength = 0
AND next src6 bits = 1110)
THEN IF scr4 is not 6rdRelayV4Address
THEN Forward v6-packet
END-IF
ELSE-IF src4 is 6rdRelayV4Address
THEN Forward v6-packet
END-IF
END-IF
END-IF
Despres Expires January 2, 2009 [Page 16]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
8. References
8.1. Normative References
[RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191,
November 1990.
[RFC1812] Baker, F., "Requirements for IP Version 4 Routers",
RFC 1812, June 1995.
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and
E. Lear, "Address Allocation for Private Internets",
BCP 5, RFC 1918, February 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol",
RFC 2131, March 1997.
[RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, March 1997.
[RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms
for IPv6 Hosts and Routers", RFC 4213, October 2005.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, February 2006.
[RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control
Message Protocol (ICMPv6) for the Internet Protocol
Version 6 (IPv6) Specification", RFC 4443, March 2006.
[RFC4925] Li, X., Dawkins, S., Ward, D., and A. Durand, "Softwire
Problem Statement", RFC 4925, July 2007.
8.2. Informative References
[IPv4 addresses]
Internet Assigned Numbers Authority, "Internet Protocol v4
Address Space -
http://www.nro.net/documents/pdf/nro46.pdf",
February 2008.
[Protocol Numbers]
Internet Assigned Numbers Authority, "PROTOCOL NUMBERS -
http://www.iana.org/assignments/protocol-numbers",
January 2008.
Despres Expires January 2, 2009 [Page 17]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
[RFC2663] Srisuresh, P. and M. Holdrege, "IP Network Address
Translator (NAT) Terminology and Considerations",
RFC 2663, August 1999.
[RFC3053] Durand, A., Fasano, P., Guardini, I., and D. Lento, "IPv6
Tunnel Broker", RFC 3053, January 2001.
[RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains
via IPv4 Clouds", RFC 3056, February 2001.
[RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
Host Configuration Protocol (DHCP) version 6", RFC 3633,
December 2003.
[RFC4380] Huitema, C., "Teredo: Tunneling IPv6 over UDP through
Network Address Translations (NATs)", RFC 4380,
February 2006.
[RIR Policy]
Number resource Organization, "RIR Comparative Policy
Overview -
http://www.iana.org/assignments/ipv4-address-space",
November 2007.
Author's Address
Remi Despres
RD-IPtech
3 rue du President Wilson
Levallois,
France
Phone: +33 6 72 74 94 88
Email: remi.despres@free.fr
Despres Expires January 2, 2009 [Page 18]
Internet-Draft 6rd - IPv6 Rapid Deployment July 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Despres Expires January 2, 2009 [Page 19]
| PAFTECH AB 2003-2026 | 2026-04-23 10:36:03 |