rfc7600v4.txt   rfc7600.txt 
skipping to change at page 5, line 28 skipping to change at page 5, line 28
by a PSID. by a PSID.
Mapping rule: A set of parameters that are used by BRs and CEs to Mapping rule: A set of parameters that are used by BRs and CEs to
derive 4rd IPv6 addresses from 4rd IPv4 addresses. Mapping derive 4rd IPv6 addresses from 4rd IPv4 addresses. Mapping
rules are also used by each CE to derive a 4rd IPv4 prefix from rules are also used by each CE to derive a 4rd IPv4 prefix from
an IPv6 prefix that has been delegated to it. an IPv6 prefix that has been delegated to it.
EA bits (Embedded Address bits): Bits that are the same in a 4rd EA bits (Embedded Address bits): Bits that are the same in a 4rd
IPv4 address and in the 4rd IPv6 address derived from it. IPv4 address and in the 4rd IPv6 address derived from it.
BR mapping rule: The mapping rule that is applicable to off-domain BR Mapping rule: The Mapping rule that is applicable to off-domain
IPv4 addresses (addresses reachable via BRs). It can also apply IPv4 addresses (addresses reachable via BRs). It can also apply
to some or all CE-assigned IPv4 addresses. to some or all CE-assigned IPv4 addresses.
CE mapping rule: A mapping rule that is applicable only to CE Mapping rule: A Mapping rule that is applicable only to
CE-assigned IPv4 addresses (shared or not). CE-assigned IPv4 addresses (shared or not).
NAT64+ mapping rule: The mapping rule that is applicable to IPv4 NAT64+ Mapping rule: The Mapping rule that is applicable to IPv4
addresses reachable via a NAT64+. addresses reachable via a NAT64+.
CNP (Checksum Neutrality Preserver): A field of 4rd IPv6 addresses CNP (Checksum Neutrality Preserver): A field of 4rd IPv6 addresses
that ensures that TCP-like checksums do not change when IPv4 that ensures that TCP-like checksums do not change when IPv4
addresses are replaced with 4rd IPv6 addresses. addresses are replaced with 4rd IPv6 addresses.
4rd Tag: A 16-bit tag whose value allows 4rd CEs, BRs, and NAT64+s 4rd Tag: A 16-bit tag whose value allows 4rd CEs, BRs, and NAT64+s
to distinguish 4rd IPv6 addresses from other IPv6 addresses. to distinguish 4rd IPv6 addresses from other IPv6 addresses.
3. The 4rd Model 3. The 4rd Model
skipping to change at page 9, line 29 skipping to change at page 9, line 29
4. Well-Known Ports (WKPs) authorized (OPTIONAL) 4. Well-Known Ports (WKPs) authorized (OPTIONAL)
B. Domain Path MTU (PMTU) B. Domain Path MTU (PMTU)
C. Hub-and-spoke topology (Yes or No) C. Hub-and-spoke topology (Yes or No)
D. Tunnel Traffic Class (OPTIONAL) D. Tunnel Traffic Class (OPTIONAL)
"Rule IPv4 prefix" is used to find, by a longest match, which Mapping "Rule IPv4 prefix" is used to find, by a longest match, which Mapping
rule applies to a 4rd IPv4 address (Section 4.5). A Mapping rule rule applies to a 4rd IPv4 address (Section 4.5). A Mapping rule
whose Rule IPv4 prefix is longer than /0 is a CE mapping rule. BR whose Rule IPv4 prefix is longer than /0 is a CE Mapping rule. BR
and NAT64+ mapping rules, which must apply to all off-domain IPv4 and NAT64+ Mapping rules, which must apply to all off-domain IPv4
addresses, have /0 as their Rule IPv4 prefixes. addresses, have /0 as their Rule IPv4 prefixes.
"EA-bits length" is the number of bits that are common to 4rd IPv4 "EA-bits length" is the number of bits that are common to 4rd IPv4
addresses and 4rd IPv6 addresses derived from them. In a CE mapping addresses and 4rd IPv6 addresses derived from them. In a CE Mapping
rule, it is also the number of bits that are common to a CE-delegated rule, it is also the number of bits that are common to a CE-delegated
IPv6 prefix and the 4rd IPv4 prefix derived from it. BR and NAT64+ IPv6 prefix and the 4rd IPv4 prefix derived from it. BR and NAT64+
mapping rules have EA-bits lengths equal to 32. Mapping rules have EA-bits lengths equal to 32.
"Rule IPv6 prefix" is the prefix that is used as a substitute for the "Rule IPv6 prefix" is the prefix that is used as a substitute for the
Rule IPv4 prefix when a 4rd IPv6 address is derived from a 4rd IPv4 Rule IPv4 prefix when a 4rd IPv6 address is derived from a 4rd IPv4
address (Section 4.5). In a BR mapping rule or a NAT64+ mapping address (Section 4.5). In a BR Mapping rule or a NAT64+ Mapping
rule, it MUST be a /80 prefix whose bits 64-79 are the 4rd Tag. rule, it MUST be a /80 prefix whose bits 64-79 are the 4rd Tag.
"WKPs authorized" may be set for mapping rules that assign shared "WKPs authorized" may be set for Mapping rules that assign shared
IPv4 addresses to CEs. (These rules are those whose length of the IPv4 addresses to CEs. (These rules are those whose length of the
Rule IPv4 prefix plus the EA-bits length exceeds 32.) If set, Rule IPv4 prefix plus the EA-bits length exceeds 32.) If set,
well-known ports may be assigned to some CEs having particular IPv6 well-known ports may be assigned to some CEs having particular IPv6
prefixes. If not set, fairness is privileged: all IPv6 prefixes prefixes. If not set, fairness is privileged: all IPv6 prefixes
concerned with the Mapping rule have port sets having identical concerned with the Mapping rule have port sets having identical
values (no port set includes any of the well-known ports). values (no port set includes any of the well-known ports).
"Domain PMTU" is the IPv6 Path MTU that the ISP can guarantee for all "Domain PMTU" is the IPv6 Path MTU that the ISP can guarantee for all
of its IPv6 paths between CEs and between BRs and CEs. It MUST be at of its IPv6 paths between CEs and between BRs and CEs. It MUST be at
least 1280 octets [RFC2460]. least 1280 octets [RFC2460].
skipping to change at page 11, line 7 skipping to change at page 11, line 7
* The IPv4 packet is already fragmented, or may be fragmented * The IPv4 packet is already fragmented, or may be fragmented
later on, i.e., if MF = 1 OR offset > 0 OR (total length > later on, i.e., if MF = 1 OR offset > 0 OR (total length >
68 AND DF = 0). 68 AND DF = 0).
In order to optimize cases where fragmentation headers are In order to optimize cases where fragmentation headers are
unnecessary, the NAT44 of a CE that has one SHOULD send packets unnecessary, the NAT44 of a CE that has one SHOULD send packets
with TTL = 254. with TTL = 254.
R-5: In Domains whose chosen topology is hub-and-spoke, BRs that R-5: In Domains whose chosen topology is hub-and-spoke, BRs that
receive 4rd IPv6 packets whose embedded destination IPv4 receive 4rd IPv6 packets whose embedded destination IPv4
addresses match a CE mapping rule MUST do the equivalent of addresses match a CE Mapping rule MUST do the equivalent of
reversibly translating their headers to IPv4 and then reversibly translating their headers to IPv4 and then
reversibly translate them back to IPv6 as though packets would reversibly translate them back to IPv6 as though packets would
be entering the Domain. be entering the Domain.
(A) Without IPv6 fragment header (A) Without IPv6 fragment header
IPv4 packet Tunnel packet IPv4 packet Tunnel packet
+--------------------+ : : +--------------------+ +--------------------+ : : +--------------------+
20| IPv4 Header | : <==> : | IPv6 Header | 40 20| IPv4 Header | : <==> : | IPv6 Header | 40
+--------------------+ : : +--------------------+ +--------------------+ : : +--------------------+
| IP Payload | <==> | IP Payload | | IP Payload | <==> | IP Payload |
skipping to change at page 16, line 46 skipping to change at page 16, line 46
(by default) (If WKPs authorized) (by default) (If WKPs authorized)
: : : : : : : :
+---+----+---------+ +----+-------------+ +---+----+---------+ +----+-------------+
Ports in |> 0|PSID|any value| OR |PSID| any value | Ports in |> 0|PSID|any value| OR |PSID| any value |
the CE port set +---+----+---------+ +----+-------------+ the CE port set +---+----+---------+ +----+-------------+
: 4 : 12 : : 16 : : 4 : 12 : : 16 :
Figure 4: From CE IPv6 Prefix to 4rd IPv4 Address and Port Set Figure 4: From CE IPv6 Prefix to 4rd IPv4 Address and Port Set
R-7: A CE whose delegated IPv6 prefix matches the Rule IPv6 prefix R-7: A CE whose delegated IPv6 prefix matches the Rule IPv6 prefix
of one or several Mapping rules MUST select the CE mapping rule of one or several Mapping rules MUST select the CE Mapping rule
for which the match is the longest. It then derives its 4rd for which the match is the longest. It then derives its 4rd
IPv4 prefix as shown in Figure 4: (1) The CE replaces the Rule IPv4 prefix as shown in Figure 4: (1) The CE replaces the Rule
IPv6 prefix with the Rule IPv4 prefix. The result is the CE IPv6 prefix with the Rule IPv4 prefix. The result is the CE
4rd IPv4 prefix. (2) If this CE 4rd IPv4 prefix has less than 4rd IPv4 prefix. (2) If this CE 4rd IPv4 prefix has less than
32 bits, the CE takes it as its assigned IPv4 prefix. If it 32 bits, the CE takes it as its assigned IPv4 prefix. If it
has exactly 32 bits, the CE takes it as its IPv4 address. If has exactly 32 bits, the CE takes it as its IPv4 address. If
it has more than 32 bits, the CE MUST take the first 32 bits as it has more than 32 bits, the CE MUST take the first 32 bits as
its shared public IPv4 address and bits beyond the first 32 as its shared public IPv4 address and bits beyond the first 32 as
its Port-set identifier (PSID). Ports of its restricted port its Port-Set identifier (PSID). Ports of its restricted port
set are by default those that have any non-zero value in their set are by default those that have any non-zero value in their
first 4 bits (the PSID offset), followed by the PSID, and first 4 bits (the PSID offset), followed by the PSID, and
followed by any values in remaining bits. If the WKP followed by any values in remaining bits. If the WKP
authorized option applies to the Mapping rule, there is no authorized option applies to the Mapping rule, there is no
4-bit offset before the PSID so that all ports can be assigned. 4-bit offset before the PSID so that all ports can be assigned.
NOTE: The choice of the default PSID position in Port fields NOTE: The choice of the default PSID position in port fields
has been guided by the following objectives: (1) for fairness, has been guided by the following objectives: (1) for fairness,
avoid having any of the well-known ports 0-1023 in the port set avoid having any of the well-known ports 0-1023 in the port set
specified by any PSID value; (2) for compatibility with RTP/ specified by any PSID value; (2) for compatibility with RTP/
RTCP [RFC4961], include in each port set pairs of consecutive RTCP [RFC4961], include in each port set pairs of consecutive
ports; (3) in order to facilitate operation and training, have ports; (3) in order to facilitate operation and training, have
the PSID at a fixed position in port fields; (4) in order to the PSID at a fixed position in port fields; (4) in order to
facilitate documentation in hexadecimal notation, and to facilitate documentation in hexadecimal notation, and to
facilitate maintenance, have this position nibble-aligned. facilitate maintenance, have this position nibble-aligned.
Ports that are excluded from assignment to CEs are 0-4095, Ports that are excluded from assignment to CEs are 0-4095,
instead of just 0-1023, in a trade-off to favor nibble instead of just 0-1023, in a trade-off to favor nibble
alignment of PSIDs and overall simplicity. alignment of PSIDs and overall simplicity.
R-8: A CE whose delegated IPv6 prefix has its longest match with the R-8: A CE whose delegated IPv6 prefix has its longest match with the
Rule IPv6 prefix of the BR mapping rule MUST take as its IPv4 Rule IPv6 prefix of the BR Mapping rule MUST take as its IPv4
address the 32 bits that, in the delegated IPv6 prefix, follow address the 32 bits that, in the delegated IPv6 prefix, follow
this Rule IPv6 prefix. If this is the case while the hub-and- this Rule IPv6 prefix. If this is the case while the hub-and-
spoke option applies to the Domain, or if the Rule IPv6 prefix spoke option applies to the Domain, or if the Rule IPv6 prefix
is not a /80, there is a configuration error in the Domain. An is not a /80, there is a configuration error in the Domain. An
implementation-dependent administrative action MAY be taken. implementation-dependent administrative action MAY be taken.
A CE whose delegated IPv6 prefix does not match the Rule IPv6 A CE whose delegated IPv6 prefix does not match the Rule IPv6
prefix of either any CE Mapping rule or the BR mapping rule, prefix of either any CE Mapping rule or the BR Mapping rule,
and is in a Domain that has a NAT64+ mapping rule, MUST be and is in a Domain that has a NAT64+ Mapping rule, MUST be
noted as having the unspecified IPv4 address. noted as having the unspecified IPv4 address.
4.5. Address Mapping from 4rd IPv4 Addresses to 4rd IPv6 Addresses 4.5. Address Mapping from 4rd IPv4 Addresses to 4rd IPv6 Addresses
: 32 : : 16 : \ : 32 : : 16 : \
+----------------------------+ +---------------+ | +----------------------------+ +---------------+ |
| IPv4 address | |Port_or_ICMP_ID| | Shared-address | IPv4 address | |Port_or_ICMP_ID| | Shared-address
+----------------------------+ +---+------+----+ | case +----------------------------+ +---+------+----+ | case
: Longest match : : 4 : PSID : | (PSID length : Longest match : : 4 : PSID : | (PSID length
: with a Rule IPv4 prefix : :length: | of the rule > 0) : with a Rule IPv4 prefix : :length: | of the rule > 0)
skipping to change at page 18, line 30 skipping to change at page 18, line 30
+--------------------------+--------+-----+ / +--------------------------+--------+-----+ /
| Rule IPv6 prefix | EA bits | | Rule IPv6 prefix | EA bits |
+--------------------------+--------------+ +--------------------------+--------------+
: : : :
+-----------------------------------------+ +-----------------------------------------+
| IPv6 prefix | | IPv6 prefix |
+-----------------------------------------+ +-----------------------------------------+
:\_______________________________ / \ :\_______________________________ / \
: ___________________\______/ \_______________ : ___________________\______/ \_______________
: / \ \ : / \ \
: / (CE mapping rule) \ (BR mapping rule) \ : / (CE Mapping rule) \ (BR Mapping rule) \
: <= 64 : : 112 : : <= 64 : : 112 :
+----------+---+---+------+---+ +--------------+---+------+---+ +----------+---+---+------+---+ +--------------+---+------+---+
|CE v6 prfx| 0 |tag|v4 add|CNP| |BR IPv6 prefix|tag|v4 add|CNP| |CE v6 prfx| 0 |tag|v4 add|CNP| |BR IPv6 prefix|tag|v4 add|CNP|
+----------+-|-+---+------+---+ +--------------+---+------+---+ +----------+-|-+---+------+---+ +--------------+---+------+---+
: <= 64 : | :16 : 32 :16 : : 64 :16 : 32 :16 : : <= 64 : | :16 : 32 :16 : : 64 :16 : 32 :16 :
| |
Padding to /64 Padding to /64
Figure 5: From 4rd IPv4 Address to 4rd IPv6 Address Figure 5: From 4rd IPv4 Address to 4rd IPv6 Address
skipping to change at page 19, line 24 skipping to change at page 19, line 24
all 64 bits are set." all 64 bits are set."
and and
"the whole IID value MUST be viewed as an opaque bit string by "the whole IID value MUST be viewed as an opaque bit string by
third parties, except possibly in the local context." third parties, except possibly in the local context."
(1) If hub-and-spoke topology does not apply to the Domain, or (1) If hub-and-spoke topology does not apply to the Domain, or
if it applies but the IPv6 address to be derived is a if it applies but the IPv6 address to be derived is a
source address from a CE or a destination address from a source address from a CE or a destination address from a
BR, find the CE mapping rule whose Rule IPv4 prefix has BR, find the CE Mapping rule whose Rule IPv4 prefix has
the longest match with the IPv4 address. the longest match with the IPv4 address.
If no Mapping rule is thus obtained, take the BR mapping If no Mapping rule is thus obtained, take the BR Mapping
rule. rule.
If the obtained Mapping rule assigns IPv4 prefixes to CEs, If the obtained Mapping rule assigns IPv4 prefixes to CEs,
i.e., if the length of the Rule IPv4 prefix plus EA-bits i.e., if the length of the Rule IPv4 prefix plus EA-bits
length is 32 - k, with k >= 0, delete the last k bits of length is 32 - k, with k >= 0, delete the last k bits of
the IPv4 address. the IPv4 address.
Otherwise, if the length of the Rule IPv4 prefix plus the Otherwise, if the length of the Rule IPv4 prefix plus the
EA-bits length is 32 + k, with k > 0, take k as the PSID EA-bits length is 32 + k, with k > 0, take k as the PSID
length and append to the IPv4 address the PSID copied from length and append to the IPv4 address the PSID copied from
skipping to change at page 23, line 21 skipping to change at page 23, line 21
For this, a BR MAY systematically reassemble fragmented IPv4 packets For this, a BR MAY systematically reassemble fragmented IPv4 packets
before tunneling them. But this consumes large memory space, creates before tunneling them. But this consumes large memory space, creates
opportunities for denial-of-service-attacks, and can significantly opportunities for denial-of-service-attacks, and can significantly
increase forwarding delays. This is the reason for the following increase forwarding delays. This is the reason for the following
requirement: requirement:
R-15: BRs SHOULD support an algorithm whereby received IPv4 packets R-15: BRs SHOULD support an algorithm whereby received IPv4 packets
can be forwarded on the fly. The following is an example of can be forwarded on the fly. The following is an example of
such an algorithm: such an algorithm:
(1) At BR initialization, if at least one CE mapping rule (1) At BR initialization, if at least one CE Mapping rule
deals with one or more shared public IPv4 addresses (i.e., deals with one or more shared public IPv4 addresses (i.e.,
length of Rule IPv4 prefix + EA-bits length > 32), the BR length of Rule IPv4 prefix + EA-bits length > 32), the BR
initializes an empty "IPv4 packet table" whose entries initializes an empty "IPv4 packet table" whose entries
have the following items: have the following items:
- IPv4 source - IPv4 source
- IPv4 destination - IPv4 destination
- IPv4 identification - IPv4 identification
skipping to change at page 26, line 32 skipping to change at page 26, line 32
Unreachable, Net unreachable), and ICMPv6 Type = 3 and Code = 0 Unreachable, Net unreachable), and ICMPv6 Type = 3 and Code = 0
(Time Exceeded, Hop limit exceeded in transit) MUST be (Time Exceeded, Hop limit exceeded in transit) MUST be
translated into ICMPv4 Type = 11 and Code = 0 (Time Exceeded, translated into ICMPv4 Type = 11 and Code = 0 (Time Exceeded,
time to live exceeded in transit). time to live exceeded in transit).
4.9. Provisioning 4rd Parameters to CEs 4.9. Provisioning 4rd Parameters to CEs
Domain parameters listed in Section 4.2 are subject to the following Domain parameters listed in Section 4.2 are subject to the following
constraints: constraints:
R-23: Each Domain MUST have a BR mapping rule and/or a NAT64+ mapping R-23: Each Domain MUST have a BR Mapping rule and/or a NAT64+ Mapping
rule. The BR mapping rule is only used by CEs that are rule. The BR Mapping rule is only used by CEs that are
assigned public IPv4 addresses, shared or not. The NAT64+ assigned public IPv4 addresses, shared or not. The NAT64+
mapping rule is only used by CEs that are assigned the Mapping rule is only used by CEs that are assigned the
unspecified IPv4 address (Section 4.4) and therefore need an unspecified IPv4 address (Section 4.4) and therefore need an
ISP NAT64 to reach IPv4 destinations. ISP NAT64 to reach IPv4 destinations.
R-24: Each CE and each BR MUST support up to 32 Mapping rules. R-24: Each CE and each BR MUST support up to 32 Mapping rules.
Support for up to 32 Mapping rules ensures that independently Support for up to 32 Mapping rules ensures that independently
acquired CEs and BR nodes can always interwork. acquired CEs and BR nodes can always interwork.
ISPs that need Mapping rules for more IPv4 prefixes than this ISPs that need Mapping rules for more IPv4 prefixes than this
number SHOULD split their networks into multiple Domains. number SHOULD split their networks into multiple Domains.
Communication between these domains can be done in IPv4 or by Communication between these domains can be done in IPv4 or by
some other implementation-dependent, but equivalent, means. some other implementation-dependent, but equivalent, means.
R-25: For mesh topologies, where CE-CE paths don't go via BRs, all R-25: For mesh topologies, where CE-CE paths don't go via BRs, all
mapping rules of the Domain MUST be sent to all CEs. For Mapping rules of the Domain MUST be sent to all CEs. For
hub-and-spoke topologies, where all CE-CE paths go via BRs, hub-and-spoke topologies, where all CE-CE paths go via BRs,
each CE MAY be sent only the BR mapping rule of the Domain each CE MAY be sent only the BR Mapping rule of the Domain
plus, if different, the CE mapping rule that applies to its CE plus, if different, the CE Mapping rule that applies to its CE
IPv6 prefix. IPv6 prefix.
R-26: In a Domain where the chosen topology is hub-and-spoke, all CEs R-26: In a Domain where the chosen topology is hub-and-spoke, all CEs
MUST have IPv6 prefixes that match a CE mapping rule. MUST have IPv6 prefixes that match a CE Mapping rule.
(Otherwise, packets sent to CEs whose IPv6 prefixes would match (Otherwise, packets sent to CEs whose IPv6 prefixes would match
only the BR mapping rule would, with longest-match selected only the BR Mapping rule would, with longest-match selected
routes, be routed directly to these CEs. This would be routes, be routed directly to these CEs. This would be
contrary to the hub-and-spoke requirement.) contrary to the hub-and-spoke requirement.)
R-27: CEs MUST be able to acquire parameters of 4rd domains R-27: CEs MUST be able to acquire parameters of 4rd domains
(Section 4.2) in DHCPv6 [RFC3315]. Formats of DHCPv6 options (Section 4.2) in DHCPv6 [RFC3315]. Formats of DHCPv6 options
to be used are detailed in Figures 7, 8, and 9, with field to be used are detailed in Figures 7, 8, and 9, with field
values specified after each figure. values specified after each figure.
0 1 2 3 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 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
skipping to change at page 36, line 16 skipping to change at page 36, line 16
In the sections that follow, each Mapping rule will be represented as In the sections that follow, each Mapping rule will be represented as
follows, using 0bXXX to represent binary number XXX; square brackets follows, using 0bXXX to represent binary number XXX; square brackets
("[ ]") indicate optional items: ("[ ]") indicate optional items:
{Rule IPv4 prefix, EA-bits length, Rule IPv6 prefix {Rule IPv4 prefix, EA-bits length, Rule IPv6 prefix
[, WKPs authorized]} [, WKPs authorized]}
EXAMPLES: EXAMPLES:
{0.0.0.0/0, 32, 2001:db8:0:1:300::/80} {0.0.0.0/0, 32, 2001:db8:0:1:300::/80}
a BR mapping rule a BR Mapping rule
{198.16.0.0/14, 22, 2001:db8:4000::/34} {198.16.0.0/14, 22, 2001:db8:4000::/34}
a CE mapping rule a CE Mapping rule
{0.0.0.0/0, 32, 2001:db8:0:1::/80} {0.0.0.0/0, 32, 2001:db8:0:1::/80}
a NAT64+ mapping rule a NAT64+ Mapping rule
{198.16.0.0/14, 22, 2001:db8:4000::/34, Yes} {198.16.0.0/14, 22, 2001:db8:4000::/34, Yes}
a CE mapping rule a CE Mapping rule
and hub-and-spoke topology and hub-and-spoke topology
Appendix B. Configuring Multiple Mapping Rules Appendix B. Configuring Multiple Mapping Rules
As far as mapping rules are concerned, the simplest deployment model As far as Mapping rules are concerned, the simplest deployment model
is that in which the Domain has only one rule (the BR mapping rule). is that in which the Domain has only one rule (the BR Mapping rule).
To assign an IPv4 address to a CE in this model, an IPv6 /112 is To assign an IPv4 address to a CE in this model, an IPv6 /112 is
assigned to it, comprising the BR /64 prefix, the 4rd Tag, and the assigned to it, comprising the BR /64 prefix, the 4rd Tag, and the
IPv4 address. However, this model has the following limitations: (1) IPv4 address. However, this model has the following limitations: (1)
shared IPv4 addresses are not supported; (2) IPv6 prefixes used for shared IPv4 addresses are not supported; (2) IPv6 prefixes used for
4rd are too long to also be used for native IPv6 addresses; (3) if 4rd are too long to also be used for native IPv6 addresses; (3) if
the IPv4 address space of the ISP is split with many disjoint IPv4 the IPv4 address space of the ISP is split with many disjoint IPv4
prefixes, the IPv6 routing plan must be as complex as an IPv4 routing prefixes, the IPv6 routing plan must be as complex as an IPv4 routing
plan based on these prefixes. plan based on these prefixes.
With more mapping rules, CE prefixes used for 4rd can be those used With more Mapping rules, CE prefixes used for 4rd can be those used
for native IPv6. How to choose CE mapping rules for a particular for native IPv6. How to choose CE Mapping rules for a particular
deployment does not need to be standardized. deployment does not need to be standardized.
The following is only a particular pragmatic approach that can be The following is only a particular pragmatic approach that can be
used for various deployment scenarios. It is applied in some of the used for various deployment scenarios. It is applied in some of the
use cases that follow. use cases that follow.
(1) Select a "Common_IPv6_prefix" that will appear at the beginning (1) Select a "Common_IPv6_prefix" that will appear at the beginning
of all 4rd CE IPv6 prefixes. of all 4rd CE IPv6 prefixes.
(2) Choose all IPv4 prefixes to be used, and assign one of them to (2) Choose all IPv4 prefixes to be used, and assign one of them to
each CE mapping rule i. each CE Mapping rule i.
(3) For each CE mapping rule i, do the following: (3) For each CE Mapping rule i, do the following:
A. Choose the length of its Rule IPv6 prefix (possibly the same A. Choose the length of its Rule IPv6 prefix (possibly the same
for all CE mapping rules). for all CE Mapping rules).
B. Determine its PSID_length(i). A CE mapping rule that B. Determine its PSID_length(i). A CE Mapping rule that
assigns shared addresses with a sharing ratio of 2^Ki has assigns shared addresses with a sharing ratio of 2^Ki has
PSID_length = Ki. A CE mapping rule that assigns IPv4 PSID_length = Ki. A CE Mapping rule that assigns IPv4
prefixes of length L < 32 is considered to have a negative prefixes of length L < 32 is considered to have a negative
PSID_length (PSID_length = L - 32). PSID_length (PSID_length = L - 32).
C. Derive EA-bits length (i) = 32 - L(Rule IPv4 prefix(i)) + C. Derive EA-bits length(i) = 32 - L(Rule IPv4 prefix(i)) +
PSID_length(i). PSID_length(i).
D. Derive the length of Rule_code(i), the prefix to be appended D. Derive the length of Rule_code(i), the prefix to be appended
to the Common prefix to get the Rule IPv6 prefix of rule i: to the common prefix to get the Rule IPv6 prefix of rule i:
L(Rule_code(i)) = L(CE IPv6 prefix(i)) L(Rule_code(i)) = L(CE IPv6 prefix(i))
- L(Common_IPv6_prefix) - L(Common_IPv6_prefix)
- (32 - L(Rule IPv4 prefix(i))) - (32 - L(Rule IPv4 prefix(i)))
- PSID_length(i) - PSID_length(i)
E. Derive Rule_code(i) with the following constraints: (1) its E. Derive Rule_code(i) with the following constraints: (1) its
length is L(Rule_code(i)); (2) it does not overlap with any length is L(Rule_code(i)); (2) it does not overlap with any
of the previously obtained Rule codes (for instance, 010 and of the previously obtained Rule_codes (for instance, 010 and
01011 do overlap, while 00, 011, and 010 do not); (3) it has 01011 do overlap, while 00, 011, and 010 do not); (3) it has
the lowest possible value as a fractional binary number (for the lowest possible value as a fractional binary number (for
instance, 0100 < 10 < 11011 < 111). Thus, rules whose instance, 0100 < 10 < 11011 < 111). Thus, rules whose
Rule_code lengths are 4, 3, 5, and 2 give Rule_codes 0000, Rule_code lengths are 4, 3, 5, and 2 give Rule_codes 0000,
001, 00010, and 01. 001, 00010, and 01.
F. Take Rule IPv6 prefix(i) = the Common_IPv6_prefix followed F. Take Rule IPv6 prefix(i) = the Common_IPv6_prefix followed
by Rule_code(i). by Rule_code(i).
:<--------------------- L(CE IPv6 prefix(i)) --------------------->: :<--------------------- L(CE IPv6 prefix(i)) --------------------->:
: : : :
: 32 - L(Rule IPv4 prefix(i)) PSID_length(i): : 32 - L(Rule IPv4 prefix(i)) PSID_length(i):
: \ | : : \ | :
: :<---------'--------><--'-->: : :<---------'--------><--'-->:
: : || : : : || :
: : \/ : : : \/ :
: :<------->:<--- EA-bits length(i) --->: : :<------->:<--- EA-bits length(i) --->:
: L(Rule code(i)) : L(Rule_code(i))
: : : : : :
+----------------------------+---------+ +----------------------------+---------+
| Common IPv6 prefix |Rule code| | Common_IPv6_prefix |Rule_code|
| | (i) | | | (i) |
+----------------------------+---------+ +----------------------------+---------+
:<------ L(Rule IPv6 prefix(i)) ------>: :<------ L(Rule IPv6 prefix(i)) ------>:
Figure 10: Diagram of One Pragmatic Approach Figure 10: Diagram of One Pragmatic Approach
Appendix C. Adding Shared IPv4 Addresses to an IPv6 Network Appendix C. Adding Shared IPv4 Addresses to an IPv6 Network
C.1. With CEs within CPEs C.1. With CEs within CPEs
skipping to change at page 39, line 5 skipping to change at page 39, line 5
192.2.0.0/16, and 192.1.0.0/16 (neither overlapping nor 192.2.0.0/16, and 192.1.0.0/16 (neither overlapping nor
aggregatable). This gives 2^(32 - 15) + 3 * 2^(32 - 16) IPv4 aggregatable). This gives 2^(32 - 15) + 3 * 2^(32 - 16) IPv4
addresses, i.e., 2^18 + 2^16. For the 2^20 customers to have the addresses, i.e., 2^18 + 2^16. For the 2^20 customers to have the
same sharing ratio, the number of IPv4 addresses to be shared has to same sharing ratio, the number of IPv4 addresses to be shared has to
be a power of 2. The ISP can therefore give up using one of its be a power of 2. The ISP can therefore give up using one of its
/16s, say the last one. (Whether or not it could be motivated to /16s, say the last one. (Whether or not it could be motivated to
return it to its Internet Registry is off-scope for this document.) return it to its Internet Registry is off-scope for this document.)
The sharing ratio to apply is then 2^20 / 2^18 = 2^2 = 4, giving a The sharing ratio to apply is then 2^20 / 2^18 = 2^2 = 4, giving a
PSID length of 2. PSID length of 2.
Applying the principles of Appendix B with L(Common IPv6 prefix) = Applying the principles of Appendix B with L(Common_IPv6_prefix) =
36, L(PSID) = 2 for all rules, and L(CE IPv6 prefix(i)) = 56 for all 36, L(PSID) = 2 for all rules, and L(CE IPv6 prefix(i)) = 56 for all
rules, Rule codes and Rule IPv6 prefixes are as follows: rules, Rule_codes and Rule IPv6 prefixes are as follows:
+--------------+--------+-----------+-----------+-------------------+ +--------------+--------+-----------+-----------+-------------------+
| CE Rule IPv4 | EA | Rule-Code | Code | CE Rule IPv6 | | CE Rule IPv4 | EA | Rule-Code | Code | CE Rule IPv6 |
| prefix | bits | length | (binary) | prefix | | prefix | bits | length | (binary) | prefix |
| | length | | | | | | length | | | |
+--------------+--------+-----------+-----------+-------------------+ +--------------+--------+-----------+-----------+-------------------+
| 192.8.0.0/15 | 19 | 1 | 0 | 2001:db8:0::/37 | | 192.8.0.0/15 | 19 | 1 | 0 | 2001:db8:0::/37 |
| 192.4.0.0/16 | 18 | 2 | 10 | 2001:db8:800::/38 | | 192.4.0.0/16 | 18 | 2 | 10 | 2001:db8:800::/38 |
| 192.2.0.0/16 | 18 | 2 | 11 | 2001:db8:c00::/38 | | 192.2.0.0/16 | 18 | 2 | 11 | 2001:db8:c00::/38 |
+--------------+--------+-----------+-----------+-------------------+ +--------------+--------+-----------+-----------+-------------------+
skipping to change at page 40, line 12 skipping to change at page 40, line 12
Ports : 0bYYYY 11XX XXXX XXXX Ports : 0bYYYY 11XX XXXX XXXX
with YYYY > 0, and X...X any value with YYYY > 0, and X...X any value
An IPv4 packet sent to address 192.4.238.238 and port 7777 is An IPv4 packet sent to address 192.4.238.238 and port 7777 is
tunneled to the IPv6 address obtained as follows (Section 4.5): tunneled to the IPv6 address obtained as follows (Section 4.5):
IPv4 address : 192.4.238.238 (0xc004 eeee) IPv4 address : 192.4.238.238 (0xc004 eeee)
: 0b1100 0000 0000 0100 1110 1110 1110 1110 : 0b1100 0000 0000 0100 1110 1110 1110 1110
Rule IPv4 prefix(i): 192.4.0.0/16 (longest match) Rule IPv4 prefix(i): 192.4.0.0/16 (longest match)
: 0b1100 0000 0000 0100 : 0b1100 0000 0000 0100
IPv4 suffix (i) : 0b1110 1110 1110 1110 IPv4 suffix(i) : 0b1110 1110 1110 1110
EA-bits length (i) : 18 EA-bits length(i) : 18
PSID length (i) : 2 (= 16 + 18 - 32) PSID length(i) : 2 (= 16 + 18 - 32)
Port field : 0b 0001 1110 0110 0001 (7777) Port field : 0b 0001 1110 0110 0001 (7777)
PSID : 0b11 PSID : 0b11
Rule IPv6 prefix(i): 2001:0db8:0800::/38 Rule IPv6 prefix(i): 2001:0db8:0800::/38
CE IPv6 prefix : 2001:0db8:0bbb:bb00::/56 CE IPv6 prefix : 2001:0db8:0bbb:bb00::/56
IPv6 address : 2001:0db8:0bbb:bb00:300:c004:eeee:YYYY IPv6 address : 2001:0db8:0bbb:bb00:300:c004:eeee:YYYY
with YYYY = the computed CNP with YYYY = the computed CNP
C.2. With Some CEs behind Third-Party Router CPEs C.2. With Some CEs behind Third-Party Router CPEs
We now consider an ISP that has the same need as the ISP described in We now consider an ISP that has the same need as the ISP described in
skipping to change at page 40, line 36 skipping to change at page 40, line 36
IPv6 infrastructure, it uses that of a third-party provider and (2) IPv6 infrastructure, it uses that of a third-party provider and (2)
some of its customers use this provider's Customer Premises Equipment some of its customers use this provider's Customer Premises Equipment
(CPEs) so that they can use specific services offered by the (CPEs) so that they can use specific services offered by the
provider. In these CPEs, a non-zero index is used to route IPv6 provider. In these CPEs, a non-zero index is used to route IPv6
packets to the physical port to which CEs are attached, say 0x2. packets to the physical port to which CEs are attached, say 0x2.
Each such CPE delegates to the CE nodes the customer-site IPv6 prefix Each such CPE delegates to the CE nodes the customer-site IPv6 prefix
followed by this index. followed by this index.
The ISP is supposed to have the same IPv4 prefixes as those in the The ISP is supposed to have the same IPv4 prefixes as those in the
previous use case -- 192.8.0.0/15, 192.4.0.0/16, and 192.2.0.0/16 -- previous use case -- 192.8.0.0/15, 192.4.0.0/16, and 192.2.0.0/16 --
and to use the same Common IPv6 prefix, 2001:db8:0::/36. and to use the same Common_IPv6_prefix, 2001:db8:0::/36.
We also assume that only a minority of customers use third-party We also assume that only a minority of customers use third-party
CPEs, so that it is sufficient to use only one of the two /16s for CPEs, so that it is sufficient to use only one of the two /16s for
them. them.
Mapping rules are then (see Appendix C.1): Mapping rules are then (see Appendix C.1):
{192.8.0.0/15, 19, 2001:0db8:0000::/37} {192.8.0.0/15, 19, 2001:0db8:0000::/37}
{192.4.0.0/16, 18, 2001:0db8:0800::/38} {192.4.0.0/16, 18, 2001:0db8:0800::/38}
{192.2.0.0/16, 18, 2001:0db8:0c00::/38} {192.2.0.0/16, 18, 2001:0db8:0c00::/38}
skipping to change at page 41, line 14 skipping to change at page 41, line 14
In a BR, and also in a CE if the topology is mesh, the IPv6 address In a BR, and also in a CE if the topology is mesh, the IPv6 address
that is derived from IPv4 address 192.4.238.238 and port 7777 is that is derived from IPv4 address 192.4.238.238 and port 7777 is
obtained as described in the previous section, except for the last obtained as described in the previous section, except for the last
two steps, which are modified as follows: two steps, which are modified as follows:
IPv4 address : 192.4.238.238 (0xc004 eeee) IPv4 address : 192.4.238.238 (0xc004 eeee)
: 0b1100 0000 0000 0100 1110 1110 1110 1110 : 0b1100 0000 0000 0100 1110 1110 1110 1110
Rule IPv4 prefix(i): 192.4.0.0/16 (longest match) Rule IPv4 prefix(i): 192.4.0.0/16 (longest match)
: 0b1100 0000 0000 0100 : 0b1100 0000 0000 0100
IPv4 suffix (i) : 0b1110 1110 1110 1110 IPv4 suffix(i) : 0b1110 1110 1110 1110
EA-bits length (i) : 18 EA-bits length(i) : 18
PSID length (i) : 2 (= 16 + 18 - 32) PSID length(i) : 2 (= 16 + 18 - 32)
Port field : 0b 0001 1110 0110 0001 (7777) Port field : 0b 0001 1110 0110 0001 (7777)
PSID : 0b11 PSID : 0b11
Rule IPv6 prefix(i): 2001:0db8:0800::/38 Rule IPv6 prefix(i): 2001:0db8:0800::/38
CE IPv6 prefix : 2001:0db8:0bbb:bb00::/60 CE IPv6 prefix : 2001:0db8:0bbb:bb00::/60
IPv6 address : 2001:0db8:0bbb:bb00:300:192.4.238.238:YYYY IPv6 address : 2001:0db8:0bbb:bb00:300:192.4.238.238:YYYY
with YYYY = the computed CNP with YYYY = the computed CNP
Appendix D. Replacing Dual-Stack Routing with IPv6-Only Routing Appendix D. Replacing Dual-Stack Routing with IPv6-Only Routing
In this use case, we consider an ISP that offers IPv4 service with In this use case, we consider an ISP that offers IPv4 service with
 End of changes. 45 change blocks. 
55 lines changed or deleted 55 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/