draft-ietf-softwire-map-04.txt   draft-ietf-softwire-map-05.txt 
Network Working Group O. Troan Network Working Group O. Troan
Internet-Draft W. Dec Internet-Draft W. Dec
Intended status: Standards Track Cisco Systems Intended status: Standards Track Cisco Systems
Expires: August 10, 2013 X. Li Expires: September 19, 2013 X. Li
C. Bao C. Bao
CERNET Center/Tsinghua University CERNET Center/Tsinghua University
S. Matsushima S. Matsushima
SoftBank Telecom SoftBank Telecom
T. Murakami T. Murakami
IP Infusion IP Infusion
February 06, 2013 March 18, 2013
Mapping of Address and Port with Encapsulation (MAP) Mapping of Address and Port with Encapsulation (MAP)
draft-ietf-softwire-map-04 draft-ietf-softwire-map-05
Abstract Abstract
This document describes a mechanism for transporting IPv4 packets This document describes a mechanism for transporting IPv4 packets
across an IPv6 network using IP encapsulation, and a generic across an IPv6 network using IP encapsulation, and a generic
mechanism for mapping between IPv6 addresses and IPv4 addresses and mechanism for mapping between IPv6 addresses and IPv4 addresses and
transport layer ports. transport layer ports.
Status of This Memo Status of This Memo
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 10, 2013. This Internet-Draft will expire on September 19, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 26 skipping to change at page 2, line 26
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. Mapping Algorithm . . . . . . . . . . . . . . . . . . . . . . 6 5. Mapping Algorithm . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Port mapping algorithm . . . . . . . . . . . . . . . . . . 8 5.1. Port mapping algorithm . . . . . . . . . . . . . . . . . . 8
5.2. Basic mapping rule (BMR) . . . . . . . . . . . . . . . . . 9 5.2. Basic mapping rule (BMR) . . . . . . . . . . . . . . . . . 9
5.3. Forwarding mapping rule (FMR) . . . . . . . . . . . . . . 11 5.3. Forwarding mapping rule (FMR) . . . . . . . . . . . . . . 11
5.4. Destinations outside the MAP domain . . . . . . . . . . . 11 5.4. Destinations outside the MAP domain . . . . . . . . . . . 11
6. The IPv6 Interface Identifier . . . . . . . . . . . . . . . . 11 6. The IPv6 Interface Identifier . . . . . . . . . . . . . . . . 12
7. MAP Configuration . . . . . . . . . . . . . . . . . . . . . . 12 7. MAP Configuration . . . . . . . . . . . . . . . . . . . . . . 12
7.1. MAP CE . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.1. MAP CE . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.2. MAP BR . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.2. MAP BR . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.3. Backwards compatibility . . . . . . . . . . . . . . . . . 13 7.3. Backwards compatibility . . . . . . . . . . . . . . . . . 13
7.4. Address Independence . . . . . . . . . . . . . . . . . . . 13 8. Forwarding Considerations . . . . . . . . . . . . . . . . . . 13
8. Forwarding Considerations . . . . . . . . . . . . . . . . . . 14
8.1. Receiving rules . . . . . . . . . . . . . . . . . . . . . 14 8.1. Receiving rules . . . . . . . . . . . . . . . . . . . . . 14
8.2. MAP BR . . . . . . . . . . . . . . . . . . . . . . . . . . 14 8.2. MAP BR . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9. ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 9. ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
10. Fragmentation and Path MTU Discovery . . . . . . . . . . . . . 15 10. Fragmentation and Path MTU Discovery . . . . . . . . . . . . . 15
10.1. Fragmentation in the MAP domain . . . . . . . . . . . . . 15 10.1. Fragmentation in the MAP domain . . . . . . . . . . . . . 15
10.2. Receiving IPv4 Fragments on the MAP domain borders . . . 16 10.2. Receiving IPv4 Fragments on the MAP domain borders . . . 15
10.3. Sending IPv4 fragments to the outside . . . . . . . . . . 16 10.3. Sending IPv4 fragments to the outside . . . . . . . . . . 16
11. NAT44 Considerations . . . . . . . . . . . . . . . . . . . . . 17 11. NAT44 Considerations . . . . . . . . . . . . . . . . . . . . . 16
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
13. Security Considerations . . . . . . . . . . . . . . . . . . . 17 13. Security Considerations . . . . . . . . . . . . . . . . . . . 16
14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 18 14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 17
15. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 19 15. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 18
16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 19 16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18
16.1. Normative References . . . . . . . . . . . . . . . . . . 19 16.1. Normative References . . . . . . . . . . . . . . . . . . 18
16.2. Informative References . . . . . . . . . . . . . . . . . 20 16.2. Informative References . . . . . . . . . . . . . . . . . 18
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 22 Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 20
Appendix B. Alternate description of the Port mapping algorithm . 26 Appendix B. Alternate description of the Port mapping algorithm . 24
B.1. Bit Representation of the Algorithm . . . . . . . . . . . 27 B.1. Bit Representation of the Algorithm . . . . . . . . . . . 25
B.2. GMA examples . . . . . . . . . . . . . . . . . . . . . . . 27 B.2. GMA examples . . . . . . . . . . . . . . . . . . . . . . . 25
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 28 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 26
1. Introduction 1. Introduction
Mapping of IPv4 addresses in IPv6 addresses has been described in Mapping of IPv4 addresses in IPv6 addresses has been described in
numerous mechanisms dating back to 1996 [RFC1933]. The Automatic numerous mechanisms dating back to 1996 [RFC1933]. The Automatic
tunneling mechanism described in RFC1933, assigned a globally unique tunneling mechanism described in RFC1933, assigned a globally unique
IPv6 address to a host by combining the host's IPv4 address with a IPv6 address to a host by combining the host's IPv4 address with a
well-known IPv6 prefix. Given an IPv6 packet with a destination well-known IPv6 prefix. Given an IPv6 packet with a destination
address with an embedded IPv4 address, a node could automatically address with an embedded IPv4 address, a node could automatically
tunnel this packet by extracting the IPv4 tunnel end-point address tunnel this packet by extracting the IPv4 tunnel end-point address
skipping to change at page 5, line 40 skipping to change at page 5, line 40
Embedded Address (EA) bits: The IPv4 EA-bits in the IPv6 address Embedded Address (EA) bits: The IPv4 EA-bits in the IPv6 address
identify an IPv4 prefix/address (or part identify an IPv4 prefix/address (or part
thereof) or a shared IPv4 address (or part thereof) or a shared IPv4 address (or part
thereof) and a port-set identifier. thereof) and a port-set identifier.
4. Architecture 4. Architecture
In accordance with the requirements stated above, the MAP mechanism In accordance with the requirements stated above, the MAP mechanism
can operate with shared IPv4 addresses, full IPv4 addresses or IPv4 can operate with shared IPv4 addresses, full IPv4 addresses or IPv4
prefixes. Operation with shared IPv4 addresses is described now, and prefixes. Operation with shared IPv4 addresses is described here,
the differences for full IPv4 addresses and prefixes are described and the differences for full IPv4 addresses and prefixes are
below. described below.
The MAP mechanism uses existing standard building blocks. The The MAP mechanism uses existing standard building blocks. The
existing NAPT on the CE is used with additional support for existing NAPT on the CE is used with additional support for
restricting transport protocol ports, ICMP identifiers and fragment restricting transport protocol ports, ICMP identifiers and fragment
identifiers to the configured port set. For packets outbound from identifiers to the configured port set. For packets outbound from
the private IPv4 network, the CE NAPT MUST translate transport the private IPv4 network, the CE NAPT MUST translate transport
identifiers (e.g. TCP and UDP port numbers) so that they fall within identifiers (e.g. TCP and UDP port numbers) so that they fall within
the CE's assigned port-range. the CE's assigned port-range.
The NAPT MUST in turn be connected to a MAP aware forwarding The NAPT MUST in turn be connected to a MAP aware forwarding
skipping to change at page 7, line 21 skipping to change at page 7, line 20
destination port is mapped into an IPv6 address. Additional mapping destination port is mapped into an IPv6 address. Additional mapping
rules are specified to allow for multiple different IPv4 sub-nets to rules are specified to allow for multiple different IPv4 sub-nets to
exist within the domain and optimize forwarding between them. exist within the domain and optimize forwarding between them.
Traffic outside of the domain (i.e. When the destination IPv4 Traffic outside of the domain (i.e. When the destination IPv4
address does not match (using longest matching prefix) any Rule IPv4 address does not match (using longest matching prefix) any Rule IPv4
prefix in the Rules database) is forwarded to the BR. prefix in the Rules database) is forwarded to the BR.
There are two types of mapping rules: There are two types of mapping rules:
1. Basic Mapping Rule (BMR) - mandatory, used for IPv4 prefix, 1. Basic Mapping Rule (BMR) - mandatory. There can only be one
address or port set assignment. There can only be one Basic Basic Mapping Rule per End-user IPv6 prefix. In combination with
Mapping Rule per End-user IPv6 prefix. The Basic Mapping Rule is the End-user IPv6 prefix, the Basic Mapping Rule is used to
used to configure the MAP IPv6 address or prefix. derive the IPv4 prefix, address, or shared address and the PSID
assigned to the CE.
2. Forwarding Mapping Rule (FMR) - optional, used for forwarding. 2. Forwarding Mapping Rule (FMR) - optional, used for forwarding.
The Basic Mapping Rule is also a Forwarding Mapping Rule. Each The Basic Mapping Rule is also a Forwarding Mapping Rule. Each
Forwarding Mapping Rule will result in an entry in the Rules Forwarding Mapping Rule will result in an entry in the Rules
table for the Rule IPv4 prefix. table for the Rule IPv4 prefix. Given a destination IPv4 address
and port within the MAP domain, a MAP node can use the matching
FMR to derive the End-user IPv6 address of the interface through
which that IPv4 destination address and port combination can be
reached.
Both mapping rules share the same parameters: Both mapping rules share the same parameters:
o Rule IPv6 prefix (including prefix length) o Rule IPv6 prefix (including prefix length)
o Rule IPv4 prefix (including prefix length) o Rule IPv4 prefix (including prefix length)
o Rule EA-bits length (in bits) o Rule EA-bits length (in bits)
A MAP node finds its Basic Mapping Rule by doing a longest match A MAP node finds its Basic Mapping Rule by doing a longest match
skipping to change at page 8, line 30 skipping to change at page 8, line 31
resulting port set, a PSID of 0, would, in the naive representation resulting port set, a PSID of 0, would, in the naive representation
assign the system ports [I-D.ietf-tsvwg-iana-ports] to the user. assign the system ports [I-D.ietf-tsvwg-iana-ports] to the user.
Instead using an infix representation, and requiring that the first Instead using an infix representation, and requiring that the first
bit field (A) is greater than 0, the well known ports are excluded. bit field (A) is greater than 0, the well known ports are excluded.
This algorithm allocates ports to a given CE as a series of This algorithm allocates ports to a given CE as a series of
contiguous ranges. contiguous ranges.
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
+-------+-----------+-----------+ +-----------+-----------+-------+
Ports in | A | PSID | M | Ports in | A | PSID | M |
the CE port set | > 0 | | any value | the CE port set | > 0 | | |
+-------+-----------+-----------+ +-----------+-----------+-------+
|a bits | k bits | m bits | | a bits | k bits |m bits |
Figure 2: PSID Figure 2: PSID
A For a > 0, A MUST be larger than 0. This ensures that the A For a > 0, A MUST be larger than 0. This ensures that the
algorithm excludes the system ports. algorithm excludes the system ports.
a-bits The number of offset bits. The default Offset bits (a) are: a-bits The number of offset bits. The default Offset bits (a) are 6,
4. To simplify the port mapping algorithm the defaults are chosen this excludes the system ports (0-1023).
so that the PSID field starts on a nibble boundary and the
excluded port range (0-1023) is extended to 0-4095.
PSID The Port Set Identifier. Different Port-Set Identifiers (PSID) PSID The Port Set Identifier. Different Port-Set Identifiers (PSID)
MUST have non-overlapping port-sets. MUST have non-overlapping port-sets.
k-bits The length in bits of the PSID field. The sharing ratio is k-bits The length in bits of the PSID field. The sharing ratio is
k^2. The number of ports assigned to the user is 2^(16-k) - 2^m k^2. The number of ports assigned to the user is 2^(16-k) - 2^m
(excluded ports) (excluded ports)
M The contiguous ports. M The contiguous ports.
skipping to change at page 9, line 14 skipping to change at page 9, line 14
This algorithm allocates ports to a given CE as a series of This algorithm allocates ports to a given CE as a series of
contiguous ranges. contiguous ranges.
5.2. Basic mapping rule (BMR) 5.2. Basic mapping rule (BMR)
The Basic Mapping Rule is mandatory, used by the CE to provision The Basic Mapping Rule is mandatory, used by the CE to provision
itself with an IPv4 prefix, IPv4 address or shared IPv4 address. itself with an IPv4 prefix, IPv4 address or shared IPv4 address.
| n bits | o bits | s bits | 128-n-o-s bits | | n bits | o bits | s bits | 128-n-o-s bits |
+--------------------+-----------+---------+------------+----------+ +--------------------+-----------+---------+-----------------------+
| Rule IPv6 prefix | EA bits |subnet ID| interface ID | | Rule IPv6 prefix | EA bits |subnet ID| interface ID |
+--------------------+-----------+---------+-----------------------+ +--------------------+-----------+---------+-----------------------+
|<--- End-user IPv6 prefix --->| |<--- End-user IPv6 prefix --->|
Figure 3: IPv6 address format Figure 3: IPv6 address format
The Rule IPv6 prefix is the part of the End-user IPv6 prefix that is The Rule IPv6 prefix is the part of the End-user IPv6 prefix that is
common among all CEs using the same Basic Mapping Rule within the MAP common among all CEs using the same Basic Mapping Rule within the MAP
domain. The EA bits encode the CE specific IPv4 address and port domain. The EA bits encode the CE specific IPv4 address and port
information. The EA bits, which are unique for a given Rule IPv6 information. The EA bits, which are unique for a given Rule IPv6
skipping to change at page 10, line 38 skipping to change at page 10, line 33
The length of r MAY be zero, in which case the complete IPv4 address The length of r MAY be zero, in which case the complete IPv4 address
or prefix is encoded in the EA bits. If only a part of the IPv4 or prefix is encoded in the EA bits. If only a part of the IPv4
address/prefix is encoded in the EA bits, the Rule IPv4 prefix is address/prefix is encoded in the EA bits, the Rule IPv4 prefix is
provisioned to the CE by other means (e.g. a DHCPv6 option). To provisioned to the CE by other means (e.g. a DHCPv6 option). To
create a complete IPv4 address (or prefix), the IPv4 address suffix create a complete IPv4 address (or prefix), the IPv4 address suffix
(p) from the EA bits, are concatenated with the Rule IPv4 prefix (r (p) from the EA bits, are concatenated with the Rule IPv4 prefix (r
bits). bits).
The offset of the EA bits field in the IPv6 address is equal to the The offset of the EA bits field in the IPv6 address is equal to the
BMR Rule IPv6 prefix length. The length of the EA bits field (o) is BMR Rule IPv6 prefix length. The length of the EA bits field (o) is
given by the BMR Rule EA-bits length, and can be between 0 and 48. given by the BMR Rule EA-bits length, and can be between 0 and 48. A
The sum of the Rule IPv6 Prefix length and the Rule EA-bits length length of 48 means that the complete IPv4 address and port is
MUST be less or equal than the End-user IPv6 prefix length. embedded in the End-user IPv6 prefix (a single port is assigned). A
length of 0 means that no part of the IPv4 address or port is
embedded in the address. The sum of the Rule IPv6 Prefix length and
the Rule EA-bits length MUST be less or equal than the End-user IPv6
prefix length.
If o + r < 32 (length of the IPv4 address in bits), then an IPv4 If o + r < 32 (length of the IPv4 address in bits), then an IPv4
prefix is assigned. prefix is assigned.
If o + r is equal to 32, then a full IPv4 address is to be assigned. If o + r is equal to 32, then a full IPv4 address is to be assigned.
The address is created by concatenating the Rule IPv4 prefix and the The address is created by concatenating the Rule IPv4 prefix and the
EA-bits. EA-bits.
If o + r is > 32, then a shared IPv4 address is to be assigned. The If o + r is > 32, then a shared IPv4 address is to be assigned. The
number of IPv4 address suffix bits (p) in the EA bits is given by 32 number of IPv4 address suffix bits (p) in the EA bits is given by 32
skipping to change at page 12, line 9 skipping to change at page 12, line 10
To reach IPv4 destinations outside of the MAP domain, traffic is sent To reach IPv4 destinations outside of the MAP domain, traffic is sent
to the configured address of the MAP BR. On the CE, the default can to the configured address of the MAP BR. On the CE, the default can
be represented as a point to point IPv4 over IPv6 tunnel [RFC2473] to be represented as a point to point IPv4 over IPv6 tunnel [RFC2473] to
the BR. the BR.
6. The IPv6 Interface Identifier 6. The IPv6 Interface Identifier
The Interface identifier format of a MAP node is described below. The Interface identifier format of a MAP node is described below.
| 128-n-o-s bits | | 128-n-o-s bits |
| 16 bits| 32 bits | 16 bits| | 16 bits| 32 bits | 16 bits|
+--------+----------------+--------+ +--------+----------------+--------+
| 0 | IPv4 address | PSID | | 0 | IPv4 address | PSID |
+--------+----+-----------+--------+ +--------+----+-----------+--------+
Figure 8 Figure 8
In the case of an IPv4 prefix, the IPv4 address field is right-padded In the case of an IPv4 prefix, the IPv4 address field is right-padded
with zeroes up to 32 bits. The PSID field is left-padded to create a with zeroes up to 32 bits. The PSID field is left-padded to create a
16 bit field. For an IPv4 prefix or a complete IPv4 address, the 16 bit field. For an IPv4 prefix or a complete IPv4 address, the
skipping to change at page 12, line 32 skipping to change at page 12, line 33
If the End-user IPv6 prefix length is larger than 64, the most If the End-user IPv6 prefix length is larger than 64, the most
significant parts of the interface identifier is overwritten by the significant parts of the interface identifier is overwritten by the
prefix. prefix.
7. MAP Configuration 7. MAP Configuration
For a given MAP domain, the BR and CE MUST be configured with the For a given MAP domain, the BR and CE MUST be configured with the
following MAP elements. The configured values for these elements are following MAP elements. The configured values for these elements are
identical for all CEs and BRs within a given MAP domain. identical for all CEs and BRs within a given MAP domain.
o The End-User IPv6 prefix (Part of the normal IPv6 provisioning).
o The Basic Mapping Rule and optionally the Forwarding Mapping o The Basic Mapping Rule and optionally the Forwarding Mapping
Rules, including the Rule IPv6 prefix, Rule IPv4 prefix, and Rules, including the Rule IPv6 prefix, Rule IPv4 prefix, and
Length of EA bits Length of EA bits
o The IPv6 address of the MAP BR. o The IPv6 address of the MAP BR.
o Hub and spoke mode or Mesh mode. (If all traffic should be sent o Hub and spoke mode or Mesh mode. (If all traffic should be sent
to the BR, or if direct CE to CE traffic should be supported). to the BR, or if direct CE to CE traffic should be supported).
7.1. MAP CE 7.1. MAP CE
skipping to change at page 13, line 51 skipping to change at page 13, line 47
anycast addresses must be advertised in the service provider's IGP. anycast addresses must be advertised in the service provider's IGP.
7.3. Backwards compatibility 7.3. Backwards compatibility
A MAP-E CE provisioned with only the IPv6 address of the BR, and with A MAP-E CE provisioned with only the IPv6 address of the BR, and with
no IPv4 address and port range configured by other means, MUST no IPv4 address and port range configured by other means, MUST
disable its NAT44 functionality. This characteristic makes a MAP CE disable its NAT44 functionality. This characteristic makes a MAP CE
compatible with DS-Lite [RFC6333] AFTRs, whose addresses are compatible with DS-Lite [RFC6333] AFTRs, whose addresses are
configured as the MAP BR. configured as the MAP BR.
7.4. Address Independence
The MAP solution supports use and configuration of domains in so
called 1:1 mode (meaning 1 mapping rule set per CE), which allows
complete independence between the IPv6 prefix assigned to the CE and
the IPv4 address and/or port-range it uses. This is achieved in all
cases when the EA-bit length is set to 0.
The constraint imposed is that each such MAP domain be composed of
just 1 MAP CE which has a predetermined IPv6 prefix, i.e. The BR
would be configured with a rule-set per CPE, where the FMR would
uniquely describe the IPv6 prefix of a given CE. Each CE would have
a distinct BMR, that would fully describe that CE's IPv4 address, and
PSID if any.
8. Forwarding Considerations 8. Forwarding Considerations
Figure 1 depicts the overall MAP architecture with IPv4 users (N and Figure 1 depicts the overall MAP architecture with IPv4 users (N and
M) networks connected to a routed IPv6 network. M) networks connected to a routed IPv6 network.
MAP supports Encapsulation mode as specified in [RFC2473]. MAP supports Encapsulation mode as specified in [RFC2473].
For a shared IPv4 address, a MAP CE forwarding IPv4 packets from the For a shared IPv4 address, a MAP CE forwarding IPv4 packets from the
LAN performs NAT44 functions first and creates appropriate NAT44 LAN performs NAT44 functions first and creates appropriate NAT44
bindings. The resulting IPv4 packets MUST contain the source IPv4 bindings. The resulting IPv4 packets MUST contain the source IPv4
skipping to change at page 19, line 23 skipping to change at page 18, line 26
15. Acknowledgements 15. Acknowledgements
This document is based on the ideas of many, including Masakazu This document is based on the ideas of many, including Masakazu
Asama, Mohamed Boucadair, Gang Chen, Maoke Chen, Wojciech Dec, Asama, Mohamed Boucadair, Gang Chen, Maoke Chen, Wojciech Dec,
Xiaohong Deng, Jouni Korhonen, Tomasz Mrugalski, Jacni Qin, Chunfa Xiaohong Deng, Jouni Korhonen, Tomasz Mrugalski, Jacni Qin, Chunfa
Sun, Qiong Sun, and Leaf Yeh. The authors want in particular to Sun, Qiong Sun, and Leaf Yeh. The authors want in particular to
recognize Remi Despres, who has tirelessly worked on generalized recognize Remi Despres, who has tirelessly worked on generalized
mechanisms for stateless address mapping. mechanisms for stateless address mapping.
The authors would like to thank Guillaume Gottard, Dan Wing, Jan The authors would like to thank Guillaume Gottard, Dan Wing, Jan
Zorz, Necj Scoberne, Tina Tsou and especially Tom Taylor for the Zorz, Necj Scoberne, Tina Tsou, Kristian Poscic, and especially Tom
thorough review and comments of this document. Taylor for the thorough review and comments of this document.
16. References 16. References
16.1. Normative References 16.1. Normative References
[I-D.ietf-softwire-map-dhcp] [I-D.ietf-softwire-map-dhcp]
Mrugalski, T., Troan, O., Bao, C., Dec, W., and L. Yeh, Mrugalski, T., Troan, O., Bao, C., Dec, W., and L. Yeh,
"DHCPv6 Options for Mapping of Address and Port", draft- "DHCPv6 Options for Mapping of Address and Port", draft-
ietf-softwire-map-dhcp-01 (work in progress), August 2012. ietf-softwire-map-dhcp-01 (work in progress), August 2012.
skipping to change at page 23, line 7 skipping to change at page 21, line 7
[RFC6346] Bush, R., "The Address plus Port (A+P) Approach to the [RFC6346] Bush, R., "The Address plus Port (A+P) Approach to the
IPv4 Address Shortage", RFC 6346, August 2011. IPv4 Address Shortage", RFC 6346, August 2011.
Appendix A. Examples Appendix A. Examples
Example 1 - BMR Example 1 - BMR
Given the MAP domain information and an IPv6 address of Given the MAP domain information and an IPv6 address of
an endpoint: an endpoint:
IPv6 prefix assigned to the end user: 2001:db8:0012:3400::/56 End-user IPv6 prefix: 2001:db8:0012:3400::/56
Basic Mapping Rule: {2001:db8:0000::/40 (Rule IPv6 prefix), Basic Mapping Rule: {2001:db8:0000::/40 (Rule IPv6 prefix),
192.0.2.0/24 (Rule IPv4 prefix), 16 (Rule EA-bits length)} 192.0.2.0/24 (Rule IPv4 prefix),
PSID length: (16 - (32 - 24) = 8. (Sharing ratio of 256) 16 (Rule EA-bits length)}
PSID offset: 4 PSID length: (16 - (32 - 24) = 8. (Sharing ratio of 256)
PSID offset: 6
A MAP node (CE or BR) can via the BMR, or equivalent FMR, A MAP node (CE or BR) can via the BMR, or equivalent FMR,
determine the IPv4 address and port-set as shown below: determine the IPv4 address and port-set as shown below:
EA bits offset: 40 EA bits offset: 40
IPv4 suffix bits (p) Length of IPv4 address (32) - IPv4 prefix IPv4 suffix bits (p) Length of IPv4 address (32) -
length (24) = 8 IPv4 prefix length (24) = 8
IPv4 address 192.0.2.18 (0xc0000212) IPv4 address: 192.0.2.18 (0xc0000212)
PSID start: 40 + p = 40 + 8 = 48 PSID start: 40 + p = 40 + 8 = 48
PSID length: o - p = (56 - 40) - 8 = 8 PSID length: o - p = (56 - 40) - 8 = 8
PSID: 0x34 PSID: 0x34
Port-set-1: 4928, 4929, 4930, 4931, 4932, 4933, 4934, 4935, 4936, Available ports (63 ranges) : 1232-1235, 2256-2259, ...... ,
4937, 4938, 4939, 4940, 4941, 4942, 4943 63696-63699, 64720-64723
Port-set-2: 9024, 9025, 9026, 9027, 9028, 9029, 9030, 9031, 9032,
9033, 9034, 9035, 9036, 9037, 9038, 9039
... ...
Port-set-15 62272, 62273, 62274, 62275, 62276, 62277, 62278,
62279, 62280, 62281, 62282, 62283, 62284, 62285, 62286, 62287
The BMR information allows a MAP CE also to determine (complete) The BMR information allows a MAP CE also to determine (complete)
its IPv6 address within the indicated IPv6 prefix. its IPv6 address within the indicated IPv6 prefix.
IPv6 address of MAP CE: 2001:db8:0012:3400:00c0:0002:1200:3400 IPv6 address of MAP CE: 2001:db8:0012:3400:0000:c000:0212:0034
Example 2: Example 2:
Another example can be made of a hypothetical MAP BR, Another example can be made of a hypothetical MAP BR,
configured with the following FMR when receiving a packet configured with the following FMR when receiving a packet
with the following characteristics: with the following characteristics:
IPv4 source address: 1.2.3.4 (0x01020304) IPv4 source address: 1.2.3.4 (0x01020304)
IPv4 source port: 80 IPv4 source port: 80
IPv4 destination address: 192.0.2.18 (0xc0000212) IPv4 destination address: 192.0.2.18 (0xc0000212)
IPv4 destination port: 9030 IPv4 destination port: 1232
Configured Forwarding Mapping Rule: {2001:db8:0000::/40 Configured Forwarding Mapping Rule: {2001:db8:0000::/40 (Rule IPv6 prefix),
(Rule IPv6 prefix), 192.0.2.0/24 (Rule IPv4 prefix), 192.0.2.0/24 (Rule IPv4 prefix),
16 (Rule EA-bits length)} 16 (Rule EA-bits length)}
IPv6 address of MAP BR: 2001:db8:ffff::1 IPv6 address of MAP BR: 2001:db8:ffff::1
The above information allows the BR to derive as follows The above information allows the BR to derive as follows
the mapped destination IPv6 address for the corresponding the mapped destination IPv6 address for the corresponding
MAP CE, and also the mapped source IPv6 address for MAP CE, and also the mapped source IPv6 address for
the IPv4 source. the IPv4 source.
IPv4 suffix bits (p) 32 - 24 = 8 (18 (0x12)) IPv4 suffix bits (p): 32 - 24 = 8 (18 (0x12))
PSID length: 8 PSID length: 8
PSID: 0x34 (9030 (0x2346)) PSID: 0x34 (1232)
The resulting IPv6 packet will have the following key fields: The resulting IPv6 packet will have the following key fields:
IPv6 source address: 2001:db8:ffff::1 IPv6 source address: 2001:db8:ffff::1
IPv6 destination address: 2001:db8:0012:3400:00c0:0002:1200:3400 IPv6 destination address: 2001:db8:0012:3400:0000:c000:0212:0034
IPv6 source Port: 80 IPv6 source Port: 80
IPv6 destination Port: 9030 IPv6 destination Port: 1232
Example 3 - FMR: Example 3 - FMR:
An IPv4 host behind the MAP CE (addressed as per the previous An IPv4 host behind the MAP CE (addressed as per the previous
examples) corresponding with IPv4 host 1.2.3.4 will have its examples) corresponding with IPv4 host 1.2.3.4 will have its
packets converted into IPv6 using the IPv6 address of the BR packets converted into IPv6 using the IPv6 address of the BR
configured on the MAP CE as follows: configured on the MAP CE as follows:
IPv6 address of BR used by MAP CE: 2001:db8:ffff::1 IPv6 address of BR used by MAP CE: 2001:db8:ffff::1
IPv4 source address (post NAT44 if present) 192.0.2.18 IPv4 source address (post NAT44 if present) 192.0.2.18
IPv4 destination address: 1.2.3.4 IPv4 destination address: 1.2.3.4
IPv4 source port (post NAT44 if present): 9030 IPv4 source port (post NAT44 if present): 1232
IPv4 destination port: 80 IPv4 destination port: 80
IPv6 source address of MAP CE: IPv6 source address of MAP CE: 2001:db8:0012:3400:0000:c000:0212:0034
2001:db8:0012:3400:00c0:0002:1200:3400 IPv6 destination address: 2001:db8:ffff::1
IPv6 destination address: 2001:db8:ffff::1
Example 4 - 1:1 Rule with no address sharing Example 4 - Rule with no embedded address bits and no address sharing
IPv6 prefix assigned to the end user: 2001:db8:0012:3400::/56 End-User IPv6 prefix: 2001:db8:0012:3400::/56
Basic Mapping Rule: {2001:db8:0012:3400::/56 (Rule IPv6 prefix), Basic Mapping Rule: {2001:db8:0012:3400::/56 (Rule IPv6 prefix),
192.0.2.1/32 (Rule IPv4 prefix), 0 (Rule EA-bits length)} 192.0.2.1/32 (Rule IPv4 prefix),
PSID length: 0 (Sharing ratio is 1) 0 (Rule EA-bits length)}
PSID offset: n/a PSID length: 0 (Sharing ratio is 1)
PSID offset: n/a
A MAP node (CE or BR) can via the BMR or equivalent FMR, determine A MAP node (CE or BR) can via the BMR or equivalent FMR, determine
the IPv4 address and port-set as shown below: the IPv4 address and port-set as shown below:
EA bits offset: 0 EA bits offset: 0
IPv4 suffix bits (p) Length of IPv4 address (32) - IPv4 prefix IPv4 suffix bits (p): Length of IPv4 address (32) -
length (32) = 0 IPv4 prefix length (32) = 0
IPv4 address 192.0.2.1 (0xc0000201) IPv4 address: 192.0.2.1 (0xc0000201)
PSID start: 0 PSID start: 0
PSID length: 0 PSID length: 0
PSID: null PSID: null
The BMR information allows a MAP CE also to determine (complete) The BMR information allows a MAP CE also to determine (complete)
its full IPv6 address by combining the IPv6 prefix with the MAP its full IPv6 address by combining the IPv6 prefix with the MAP
interface identifier (that embeds the IPv4 address). interface identifier (that embeds the IPv4 address).
IPv6 address of MAP CE: 2001:db8:0012:3400:00c0:0002:0100:0000 IPv6 address of MAP CE: 2001:db8:0012:3400:0000:c000:0201:0000
Example 5 - 1:1 Rule with address sharing (sharing ratio 256) Example 5 - Rule with no embedded address bits and address sharing
IPv6 prefix assigned to the end user: 2001:db8:0012:3400::/56 (sharing ratio 256)
Basic Mapping Rule: {2001:db8:0012:3400::/56 (Rule IPv6 prefix), End-User IPv6 prefix: 2001:db8:0012:3400::/56
192.0.2.1/32 (Rule IPv4 prefix), 0 (Rule EA-bits length)} Basic Mapping Rule: {2001:db8:0012:3400::/56 (Rule IPv6 prefix),
PSID length: (16 - (32 - 24) = 8. (Sharing ratio of 256) 192.0.2.1/32 (Rule IPv4 prefix),
PSID offset: 4 0 (Rule EA-bits length)}
PSID length: (16 - (32 - 24) = 8. (Sharing ratio of 256)
PSID offset: 6
A MAP node (CE or BR) can via the BMR or equivalent FMR determine A MAP node (CE or BR) can via the BMR or equivalent FMR determine
the IPv4 address and port-set as shown below: the IPv4 address and port-set as shown below:
EA bits offset: 0 EA bits offset: 0
IPv4 suffix bits (p) Length of IPv4 address (32) - IPv4 prefix IPv4 suffix bits (p): Length of IPv4 address (32) -
length (32) = 0 IPv4 prefix length (32) = 0
IPv4 address 192.0.2.1 (0xc0000201) IPv4 address: 192.0.2.1 (0xc0000201)
PSID start: 0 PSID start: 0
PSID length: 8 PSID length: 8
PSID: 0x34 PSID: 0x34
Port-set-1: 4928, 4929, 4930, 4931, 4932, 4933, 4934, 4935, 4936, Available ports (63 ranges): 1232-1235, 2256-2259, ...... ,
4937, 4938, 4939, 4940, 4941, 4942, 4943 63696-63699, 64720-64723
Port-set-2: 9024, 9025, 9026, 9027, 9028, 9029, 9030, 9031, 9032,
9033, 9034, 9035, 9036, 9037, 9038, 9039
... ...
Port-set-15 62272, 62273, 62274, 62275, 62276, 62277, 62278,
62279, 62280, 62281, 62282, 62283, 62284, 62285, 62286, 62287
The BMR information allows a MAP CE also to determine (complete) The BMR information allows a MAP CE also to determine (complete)
its full IPv6 address by combining the IPv6 prefix with the MAP its full IPv6 address by combining the IPv6 prefix with the MAP
interface identifier (that embeds the IPv4 address and PSID). interface identifier (that embeds the IPv4 address and PSID).
IPv6 address of MAP CE: 2001:db8:0012:3400:00c0:0002:1200:3400 IPv6 address of MAP CE: 2001:db8:0012:3400:0000:c000:0212:0034
Note that the IPv4 address and PSID is not derived from the IPv6 Note that the IPv4 address and PSID is not derived from the IPv6
prefix assigned to the CE. prefix assigned to the CE.
Appendix B. Alternate description of the Port mapping algorithm Appendix B. Alternate description of the Port mapping algorithm
The port mapping algorithm is used in domains whose rules allow IPv4 The port mapping algorithm is used in domains whose rules allow IPv4
address sharing. Different Port-Set Identifiers (PSID) MUST have address sharing. Different Port-Set Identifiers (PSID) MUST have
non-overlapping port-sets. The two extreme cases are: (1) the port non-overlapping port-sets. The two extreme cases are: (1) the port
numbers are not contiguous for each PSID, but uniformly distributed numbers are not contiguous for each PSID, but uniformly distributed
skipping to change at page 27, line 51 skipping to change at page 25, line 47
algorithm. algorithm.
For any port number, the PSID can be obtained by bit mask operation. For any port number, the PSID can be obtained by bit mask operation.
For a > 0, j MUST be larger than 0. This ensures that the algorithm For a > 0, j MUST be larger than 0. This ensures that the algorithm
excludes the system ports ([I-D.ietf-tsvwg-iana-ports]). For a = 0, excludes the system ports ([I-D.ietf-tsvwg-iana-ports]). For a = 0,
j MAY be 0 to allow for the provisioning of the system ports. j MAY be 0 to allow for the provisioning of the system ports.
B.2. GMA examples B.2. GMA examples
For example, for R = 1024, PSID offset: a = 4 and PSID length: k = 10 For example, for R = 256, PSID = 0, offset: a = 6 and PSID length: k
bits = 8 bits
Port-set-1 Port-set-2
PSID=0 | 4096, 4097, 4098, 4099, | 8192, 8193, 8194, 8195, | ...
PSID=1 | 4100, 4101, 4102, 4103, | 8196, 8197, 8198, 8199, | ...
PSID=2 | 4104, 4105, 4106, 4107, | 8200, 8201, 8202, 8203, | ...
PSID=3 | 4108, 4109, 4110, 4111, | 8204, 8205, 8206, 8207, | ...
...
PSID=1023| 8188, 8189, 8190, 8191, | 12284, 12285, 12286, 12287,| ...
For example, for R = 64, a = 0 (PSID offset = 0 and PSID length = 6 Available ports (63 ranges) : 1024-1027, 2048-2051, ...... ,
bits): 63488-63491, 64512-64515
Port-set For example, for R = 64, PSID = 0, a = 0 (PSID offset = 0 and PSID
PSID=0 | [ 0 - 1023] length = 6 bits):
PSID=1 | [1024 - 2047]
PSID=2 | [2048 - 3071] Available ports (1 range) : 0-1023
PSID=3 | [3072 - 4095]
...
PSID=63 | [64512 - 65535]
Authors' Addresses Authors' Addresses
Ole Troan Ole Troan
Cisco Systems Cisco Systems
Philip Pedersens vei 1 Philip Pedersens vei 1
Lysaker 1366 Lysaker 1366
Norway Norway
Email: ot@cisco.com Email: ot@cisco.com
 End of changes. 42 change blocks. 
157 lines changed or deleted 129 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/