One document matched: draft-despres-v6ops-6rd-ipv6-rapid-deployment-01.txt
Differences from draft-despres-v6ops-6rd-ipv6-rapid-deployment-00.txt
Internet Engineering Task Force R. Despres
Internet-Draft RD-IPtech
Intended status: Informational May 10, 2008
Expires: November 11, 2008
IPv6 Rapid Deployment on IPv4 infrastructures (6rd)
draft-despres-v6ops-6rd-ipv6-rapid-deployment-01
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 November 11, 2008.
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 requires 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 November 11, 2008 [Page 1]
Internet-Draft 6rd - IPv6 Rapid Deployment May 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 . . . . . . . . . . . . . . 9
2.4. ICMP consideration . . . . . . . . . . . . . . . . . . . . 9
3. 6rd Applicability to IPv4 private addresses . . . . . . . . . 10
4. 6rd-CPE parameters - the 6rd DHCPv4 option . . . . . . . . . . 11
5. 6rd-relay implementation variants . . . . . . . . . . . . . . 12
6. Security Considerations . . . . . . . . . . . . . . . . . . . 13
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13
Appendix A. PSEUDO-CODE EXAMPLE WITH SECURITY CHECKS FOR
6RD-CPES . . . . . . . . . . . . . . . . . . . . . . 14
Appendix B. PSEUDO-CODE EXAMPLE WITH SECURITY CHECKS FOR
6RD-RELAYS . . . . . . . . . . . . . . . . . . . . . 15
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.1. Normative References . . . . . . . . . . . . . . . . . . . 16
9.2. Informative References . . . . . . . . . . . . . . . . . . 16
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 17
Intellectual Property and Copyright Statements . . . . . . . . . . 18
Despres Expires November 11, 2008 [Page 2]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
1. Introduction and 6rd purpose
After having had a succinct presentation of the 6rd idea, a major
French Internet service provider (ISP), FREE , 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 of a few applications;
6. finish deployment;
7. announce IPv6 availability at no extra charge 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.
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 customer site prefixes
were 64 bit longs, which limited each of them to only one IPv6
subnet. The reason was that FREE, although it had several IPv4 ISP
prefixes to support millions of customer sites, had only a /32 IPv6
prefix. With a shorter IPv6 prefix, as FREE has obtained one since
then, multiple subnets are possible with 6rd.
Despres Expires November 11, 2008 [Page 3]
Internet-Draft 6rd - IPv6 Rapid Deployment May 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.
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.
Readers are supposed to be familiar with IPv6 address formats and
notation.
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.
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]. It ensures that IPv6 traffic
toward 6rd customer sites can be routed from ANY hosts that have IPv6
connectivity, independently of how they have it (native IPv6, tunnel
broker [RFC3056], softwires [RFC4925], Teredo [RFC4380], 6rd [this
draft]...).
The "6rdRelayV4Address" of a 6rd-zone is an IPv4 anycast address
shared by all 6rd-relays of the zone.
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
Despres Expires November 11, 2008 [Page 4]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
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.
6rd-sites 6rd-zone
__/\__ _____________/\______________
/ \ / \ 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
Despres Expires November 11, 2008 [Page 5]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
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.
The 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 IPv6 prefix
allocated by its RIR, the length of this prefix SHOULD be taken
as the 6rdZoneV4PrefixLength. If the ISP has several IPv6
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.
Despres Expires November 11, 2008 [Page 6]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
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.
.-//---------.
| 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
Despres Expires November 11, 2008 [Page 7]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
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.
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
Despres Expires November 11, 2008 [Page 8]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
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, having several IPv6 prefixes, 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.
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 [RFC2893] 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 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.)
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 with 1280 as indicated
MTU ([RFC2893] section 3.2).
Received ICMPv6 packets are encapsulated like any other IPv6 packets.
Despres Expires November 11, 2008 [Page 9]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
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 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
([RFC2893] section 3.4). Note that this is necessarily the case if
these routers comply with requirements of [RFC1812] section 4.3.2.3.
3. 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
Despres Expires November 11, 2008 [Page 10]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
ISPs that allocate IPv4 private addresses of [RFC1918] to some of
their customer sites, and that therefore operate NATs 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.
4. 6rd-CPE parameters - 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.
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],.
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.
Despres Expires November 11, 2008 [Page 11]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
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
5. 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.
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.
Despres Expires November 11, 2008 [Page 12]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
6. 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
possible. Higher layers are then left, like with IPv4, with the
responsibility to limit consequences.
7. IANA Considerations
The 6rdDHCPV4Code of Section 4 needs to be specified by IANA.
8. 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 November 11, 2008 [Page 13]
Internet-Draft 6rd - IPv6 Rapid Deployment May 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 November 11, 2008 [Page 14]
Internet-Draft 6rd - IPv6 Rapid Deployment May 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 November 11, 2008 [Page 15]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
9. References
9.1. Normative References
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981.
[RFC0792] Postel, J., "Internet Control Message Protocol", STD 5,
RFC 792, September 1981.
[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.
[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.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998.
[RFC2463] Conta, A. and S. Deering, "Internet Control Message
Protocol (ICMPv6) for the Internet Protocol Version 6
(IPv6) Specification", RFC 2463, December 1998.
[RFC2893] Gilligan, R. and E. Nordmark, "Transition Mechanisms for
IPv6 Hosts and Routers", RFC 2893, August 2000.
[RFC3513] Hinden, R. and S. Deering, "Internet Protocol Version 6
(IPv6) Addressing Architecture", RFC 3513, April 2003.
[RFC4925] Li, X., Dawkins, S., Ward, D., and A. Durand, "Softwire
Problem Statement", RFC 4925, July 2007.
9.2. Informative References
[IPv4 addresses]
Internet Assigned Numbers Authority, "Internet Protocol v4
Address Space -
http://www.nro.net/documents/pdf/nro46.pdf",
Despres Expires November 11, 2008 [Page 16]
Internet-Draft 6rd - IPv6 Rapid Deployment May 2008
February 2008.
[Protocol Numbers]
Internet Assigned Numbers Authority, "PROTOCOL NUMBERS -
http://www.iana.org/assignments/protocol-numbers",
January 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.
[RFC3068] Huitema, C., "An Anycast Prefix for 6to4 Relay Routers",
RFC 3068, June 2001.
[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 November 11, 2008 [Page 17]
Internet-Draft 6rd - IPv6 Rapid Deployment May 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 November 11, 2008 [Page 18]
| PAFTECH AB 2003-2026 | 2026-04-23 21:18:48 |