One document matched: draft-ietf-softwire-map-dhcp-09.xml
<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc2131 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2131.xml">
<!ENTITY rfc3315 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3315.xml">
<!--<!ENTITY rfc3633 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3633.xml">-->
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc2473 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2473.xml">
<!--<!ENTITY rfc5226 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">-->
<!--<!ENTITY rfc6335 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6335.xml">-->
<!ENTITY rfc6145 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6145.xml">
<!ENTITY I-D.ietf-softwire-map SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-softwire-map.xml">
<!ENTITY I-D.ietf-softwire-map-t SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-softwire-map-t.xml">
<!ENTITY I-D.ietf-softwire-lw4over6 SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-softwire-lw4over6.xml">
<!--<!ENTITY I-D.mdt-softwire-map-deployment SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.mdt-softwire-map-deployment.xml">-->
<!--<!ENTITY I-D.ietf-homenet-arch SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-homenet-arch.xml">-->
<!--<!ENTITY I-D.ietf-dhc-option-guidelines SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-dhc-option-guidelines.xml">-->
<!ENTITY I-D.ietf-dhc-sedhcpv6 SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-dhc-sedhcpv6.xml">
<!--<!ENTITY I-D.townsley-troan-ipv6-ce-transitioning SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.townsley-troan-ipv6-ce-transitioning.xml">-->
<!ENTITY I-D.ietf-softwire-unified-cpe SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-softwire-unified-cpe.xml">
]>
<?rfc toc="yes" ?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc comments="yes" ?>
<?rfc inline="yes" ?>
<rfc category="std" docName="draft-ietf-softwire-map-dhcp-09"
ipr="trust200902">
<front>
<title abbrev="DHCPv6 for Softwire 46 CEs">DHCPv6 Options for
configuration of Softwire Address and Port Mapped Clients</title>
<author fullname="Tomasz Mrugalski" initials="T." surname="Mrugalski">
<organization abbrev="ISC">Internet Systems Consortium,
Inc.</organization>
<address>
<postal>
<street>950 Charter Street</street>
<city>Redwood City</city>
<region>CA</region>
<code>94063</code>
<country>USA</country>
</postal>
<phone>+1 650 423 1345</phone>
<email>tomasz.mrugalski@gmail.com</email>
<uri>http://www.isc.org/</uri>
</address>
</author>
<author fullname="Ole Troan" initials="O" surname="Troan">
<organization abbrev="Cisco">Cisco Systems, Inc.</organization>
<address>
<postal>
<street>Philip Pedersens vei 1</street>
<city>Lysaker</city>
<code>1366</code>
<country>Norway</country>
</postal>
<email>ot@cisco.com</email>
</address>
</author>
<author fullname="Ian Farrer" initials="I." surname="Farrer">
<organization>Deutsche Telekom AG</organization>
<address>
<postal>
<street>CTO-ATI, Landgrabenweg 151</street>
<city>Bonn</city>
<region>NRW</region>
<code>53227</code>
<country>Germany</country>
</postal>
<phone></phone>
<email>ian.farrer@telekom.de</email>
</address>
</author>
<author fullname="Simon Perreault" initials="S." surname="Perreault">
<organization>Viagenie</organization>
<address>
<postal>
<street>246 Aberdeen</street>
<city>Quebec</city>
<region>QC</region>
<code>G1R 2E1</code>
<country>Canada</country>
</postal>
<phone>+1 418 656 9254</phone>
<email>simon.perreault@viagenie.ca</email>
</address>
</author>
<author fullname="Wojciech Dec" initials="W" surname="Dec">
<organization abbrev="Cisco">Cisco Systems, Inc.</organization>
<address>
<postal>
<street></street>
<city></city>
<region></region>
<code></code>
<country>The Netherlands</country>
</postal>
<phone></phone>
<facsimile></facsimile>
<email>wdec@cisco.com</email>
<uri>http://cisco.com</uri>
</address>
</author>
<author fullname="Congxiao Bao" initials="C.X." surname="Bao">
<organization abbrev="Tsinghua University">CERNET Center/Tsinghua
University</organization>
<address>
<postal>
<street>Room 225, Main Building, Tsinghua University</street>
<city>Beijing</city>
<code>100084</code>
<country>CN</country>
</postal>
<phone>+86 10-62785983</phone>
<email>congxiao@cernet.edu.cn</email>
</address>
</author>
<author fullname="Leaf Y. Yeh" initials="L." surname="Yeh">
<organization>CNNIC</organization>
<address>
<postal>
<street>4, South 4th Street, Zhong_Guan_Cun</street>
<city> Beijing</city>
<region></region>
<code>100190</code>
<country>P. R. China</country>
</postal>
<email>leaf.yeh.sdo@gmail.com</email>
</address>
</author>
<author fullname="Xiaohong Deng" initials="X." surname="Deng">
<organization>Yingke Law Firm</organization>
<address>
<postal>
<street>6 Floor, C Block, DaCheng International Center Chaoyang District</street>
<code>100124</code>
<city>Beijing</city>
<country>China</country>
</postal>
<phone>+61 3858 3128</phone>
<email>dxhbupt@gmail.com</email>
</address>
</author>
<!-- Qiong Sun requested joining author team as well (22.10.2011 12:10) -->
<date />
<area>Internet</area>
<workgroup>Softwire WG</workgroup>
<keyword>MAP</keyword>
<keyword>DHCPv6</keyword>
<!-- SECTION 0: Abstract -->
<abstract>
<t>This document specifies DHCPv6 options, termed Softwire46
options, for the provisioning of Softwire46 Customer Edge (CE)
devices. Softwire46 is a collective term used to refer to
architectures based on the notion of IPv4 Address+Port (A+P) for
providing IPv4 connectivity across an IPv6 network.</t>
<t></t>
</abstract>
</front>
<middle>
<!-- SECTION 1: Introduction -->
<section title="Introduction">
<t>A number of architectural solution proposals discussed in the
IETF Softwire Working Group use Address and Port (A+P) as their
technology base for providing IPv4 connectivity to end users
using CE devices across a Service Provider's IPv6 network, while
allowing for shared or dedicated IPv4 addressing of CEs.</t>
<t>An example is Mapping of Address and Port (MAP) defined in
<xref target="I-D.ietf-softwire-map"></xref>. The MAP solution
consists of one or more MAP Border Relay (BR) routers,
responsible for stateless forwarding between a MAP IPv6 domain
and an IPv4 network, and one or more MAP Customer Edge (CE)
routers, responsible for forwarding between a user's IPv4
network and the MAP IPv6 network domain. Collectively, the MAP
CE and BR form a domain when configured with common service
parameters. This characteristic is common to all of the
Softwire46 mechanisms.</t>
<t>To function in such a domain, a CE needs to be provisioned
with the appropriate A+P service parameters for that
domain. These consist primarily of the CE's IPv4 address and
transport layer port-range(s). Furthermore, the IPv6 transport
mode (i.e. encapsulation or translation) needs to be
specified. Provisioning of other IPv4 configuration information
not derived directly from the A+P service parameters is not
covered in this document. It is expected that provisioning of
other IPv4 configuration will continue to use DHCPv4 <xref
target="RFC2131"/>.</t>
<t>This memo specifies a set of DHCPv6 <xref target="RFC3315"/>
options to provision Softwire46 information to CE
routers. Although the focus is to deliver IPv4 service to an
end-user network (such as a residential home network), it can
equally be applied to an individual host acting as a
CE. Configuration of the BR is out of scope of this
document.</t>
</section>
<!--
<section title="Softwire46 approaches discussed">
<t>***To be removed***</t>
<t>The approach laid out in this document was taken after
consideration of a couple of alternatives. The first alternative
was to have everything in the single option. However, given that
in practice some CPEs might not implement all of the mechanism,
this means the single option would not work. The CPE would have
to come up with the mechanism to signal its capabilities to
DHCPv6 server. Thus, the conclusion was made that each mechanism
requires its own option, containing the per-mechanism
configuration. The container design was selected because the
configuration elements are similar between the mechanisms and
having the smaller building blocks within them should help to
reuse the code, for the CPEs that implement multiple
mechanisms. After the multi-container approach was taken, the
choice was to keep everything in the single document or split
into several documents - one per mechanism.</t>
</section>
-->
<!-- SECTION 2: REQUIREMENTS LANGUAGE -->
<section anchor="conventions" title="Conventions">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 <xref
target="RFC2119"></xref>.</t>
</section>
<section title="Softwire46 Overview">
<t>This document describes a set of common DHCPv6 options for
configuring the MAP-E <xref target="I-D.ietf-softwire-map"/>,
MAP-T <xref target="I-D.ietf-softwire-map-t"/> and Lightweight
4over6 <xref target="I-D.ietf-softwire-lw4over6"/>
mechanisms. For definition of the terminology used in this
document please see the relevant terminology sections in the
above references.</t>
<t>MAP-E, MAP-T and Lightweight 4over6 are essentially providing
the same functionality: IPv4 service to a CE router over an IPv6
only access network. MAP-E and MAP-T may embed parts of the IPv4
address in IPv6 prefixes, thereby supporting many clients with a
fixed set of mapping rules and mesh mode (direct CE to CE
communication). MAP-E and MAP-T CEs may also be provisioned in
hub and spoke mode, and in 1:1 mode (with no embedded address
bits). The difference between MAP-E and MAP-T is that they use
different means to connect to the IPv6 domain. MAP-E uses RFC2473
<xref target="RFC2473"/> IPv4 over IPv6 tunnelling, while MAP-T
uses NAT64 <xref target="RFC6145"/> based
translation. Lightweight 4over6 is a hub and spoke IPv4 over IPv6
tunneling mechanism, with complete independence of IPv4 and IPv6
addressing (zero embedded address bits).</t>
<t>The DHCP options described here tie the provisioning
parameters, and hence the IPv4 service itself, to the End-user
IPv6 prefix lifetime. The validity of a Softwire46's IPv4
address, prefix or shared IPv4 address, port set and any
authorization and accounting are tied to the lifetime of its
associated End-user IPv6 prefix.</t>
<t>To support more than one mechanism at a time and to allow for
a possibility of transition between them, the DHCPv6 Option
Request Option <xref target="RFC3315"/> is used. Each mechanism
has a corresponding DHCPv6 container option. A DHCPv6 client can
request a particular mechanism by including the option code for a
particular container option in its ORO option. The provisioning
parameters for that mechanism are expressed by embedding the
common format options within the respective container option.</t>
<t>This approach implies that all of the provisioning options
MUST appear only within the container options. The client MUST
NOT request any of the provisioning options directly within an
ORO. MAP-DHCP clients that receive provisioning options that are
not encapsulated in container options MUST silently ignore these
options. DHCP server administrators are advised to ensure that
DHCP servers are configured to send these options in the proper
encapsulation.</t>
<t>The document is organized with the common sub-options
described first, followed by the three container options. Some
sub-options are mandatory in some containers, some are optional
and some are not permitted at all. This is shown in <xref
target="table_options"></xref>.</t>
</section>
<section title="Common Softwire46 DHCPv6 Options">
<t>The DHCPv6 protocol is used for Softwire46 CE provisioning
following regular DHCPv6 notions, with the CE assuming the role
of a DHCPv6 client, and the DHCPv6 server providing options
following DHCPv6 server side policies. The format and usage of
the options are defined in the following sub-sections.</t>
<t>Each CE needs to be provisioned with enough information to
calculate its IPv4 address, IPv4 prefix or shared IPv4
address. MAP-E and MAP-T use the OPTION_S46_RULE, while
Lightweight 4over6 uses the OPTION_S46_V4V6BIND option. A
CE that needs to communicate outside of the A+P domain also
needs the address or prefix of the BR. MAP-E and Lightweight
4over6 use the OPTION_S46_BR option to communicate the IPv6
address of the BR. MAP-T forms an IPv6 destination address by
embedding an IPv4 destination address into the BR's IPv6 prefix
conveyed via the OPTION_S46_DMR option. Optionally, all
mechanisms can include OPTION_S46_PORTPARAMS to specify
parameters and port sets for the port range algorithm.</t>
<section title="S46 Rule Option">
<t><xref target="img-option-rule"></xref> shows the format of
the S46 Rule option (OPTION_S46_RULE) used for conveying the
Basic Mapping Rule (BMR) and Forwarding Mapping Rule
(FMR).</t>
<t>This option follows behavior described in Sections 17.1.1
and 18.1.1 of <xref target="RFC3315"/>. Clients can insert
those options with specific values as hints for the
server. Depending on the server configuration and policy,
it may accept or ignore the hints. Client MUST be able
to process received values that are different than the
hints it sent earlier.</t>
<figure align="center" anchor="img-option-rule"
title="S46 Rule Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_S46_RULE | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| flags | ea-len | prefix4-len | ipv4-prefix |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (continued) | prefix6-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ipv6-prefix |
| (variable length) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. S46_RULE-options .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t><list style="symbols">
<t>option-code: OPTION_S46_RULE (TBD1)</t>
<t>option-length: length of the option, excluding option-code and
option-length fields, including length of all encapsulated
options, expressed in bytes.</t>
<t>flags: 8 bits long field carrying flags applicable to the
rule. The meaning of specific bits are explained in <xref
target="img-rule-flags"></xref>.</t>
<t>ea-len: 8 bits long field that specifies the Embedded-Address
(EA) bit length. Allowed values range from 0 to 48.</t>
<t>prefix4-len: 8 bits long field expressing the prefix
length of the IPv4 prefix specified in the
rule-ipv4-prefix field. Valid values 0 to 32.</t>
<t>ipv4-prefix: a fixed length 32 bit field that specifies
the IPv4 prefix for the S46 rule. The bits in the prefix
after prefix4-len number of bits are reserved and MUST be
initialized to zero by the sender and ignored by the
receiver.</t>
<t>prefix6-len: 8 bits long field expressing the length
of the IPv6 prefix specified in the rule-ipv6-prefix field.</t>
<t>ipv6-prefix: a variable length field that specifies the
IPv6 domain prefix for the S46 rule. The field is padded
on the right with zero bits up to the nearest octet
boundary when prefix6-len is not evenly divisible by
8.</t>
<t>S46_RULE-options: a variable field that may contain
zero or more options that specify additional parameters
for this S46 rule. This document specifies one such
option, OPTION_S46_PORTPARAMS.</t>
</list></t>
<t>The Format of the S46 Rule Flags field is:<figure align="center"
anchor="img-rule-flags" title="S46 Rule Flags">
<preamble></preamble>
<artwork align="center"><![CDATA[
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|Reserved |F|
+-+-+-+-+-+-+-+-+]]></artwork>
</figure></t>
<t><list style="symbols">
<t>Reserved: 7-bits reserved for future use as flags.</t>
<t>F-Flag: 1 bit field that specifies whether the rule is
to be used for forwarding (FMR). If set, this rule is used
as a FMR, if not set this rule is a BMR only and MUST NOT
be used for forwarding. Note: A BMR can also be used as
an FMR for forwarding if the F-flag is set. The BMR rule
is determined by a longest-prefix match of the
Rule-IPv6-prefix against the End-User IPv6 prefix(es).</t>
</list></t>
<t>It is expected that in a typical mesh deployment scenario,
there will be a single BMR, which could also be designated as
an FMR using the F-Flag.</t>
</section>
<section title="S46 BR Option">
<t>The S46 BR Option (OPTION_S46_BR) is used to convey the
IPv6 address of the Border Relay. <xref
target="img-option-dmr"></xref> shows the format of the
OPTION_S46_BR option.</t>
<t><figure align="center" anchor="img-option-br"
title="S46 BR Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_S46_BR | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| br-ipv6-address |
| |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure></t>
<t><list style="symbols">
<t>option-code: OPTION_S46_BR (TBD2)</t>
<t>option-length: 16</t>
<t>br-ipv6-address: a fixed length field of 16 octets that specifies the
IPv6 address for the S46 BR.</t>
</list></t>
<t>BR redundancy can be implemented by using an anycast
address for the BR IPv6 address. Multiple OPTION_S46_BR
options MAY be included in the container; this document does
not further explore the use of multiple BR IPv6
addresses.</t>
</section>
<section title="S46 DMR Option">
<t>The S46 DMR Option (OPTION_S46_DMR) is used to convey
values for the Default Mapping Rule (DMR). <xref
target="img-option-dmr"></xref> shows the format of the
OPTION_S46_DMR option used for conveying a DMR.</t>
<t><figure align="center" anchor="img-option-dmr"
title="S46 DMR Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_S46_DMR | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|dmr-prefix6-len| dmr-ipv6-prefix |
+-+-+-+-+-+-+-+-+ (variable length) |
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure></t>
<t><list style="symbols">
<t>option-code: OPTION_S46_DMR (TBD3)</t>
<t>option-length: 1 + length of dmr-ipv6-prefix specified
in bytes.</t>
<t>dmr-prefix6-len: 8 bits long field expressing the bit mask
length of the IPv6 prefix specified in the dmr-ipv6-prefix
field.</t>
<t>dmr-ipv6-prefix: a variable length field specifying the
IPv6 prefix or address for the BR. This field is right padded
with zeros to the nearest octet boundary when dmr-prefix6-len
is not divisible by 8.</t>
</list></t>
</section>
<section anchor="option-v4v6bind"
title="S46 IPv4/IPv6 Address Binding Option">
<t>The IPv4 address Option (OPTION_S46_V4V6BIND) MAY be used
to specify the full or shared IPv4 address of the CE. The IPv6
prefix field is used by the CE to identify the correct prefix
to use for the tunnel source.</t>
<figure align="center" anchor="img-option-v4v6bind"
title="S46 IPv4/IPv6 Address Binding Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_S46_V4V6BIND | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ipv4-address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|bindprefix6-len| bind-ipv6-prefix |
+-+-+-+-+-+-+-+-+ (variable length) |
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. S46_V4V6BIND-options .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t><list style="symbols">
<t>option-code: OPTION_S46_V4V6BIND (TBD4)</t>
<t>option-length: 4</t>
<t>ipv4-address: A fixed field of 4 octets specifying an IPv4
address.</t>
<t>bindprefix6-len: 8 bits long field expressing the bit mask
length of the IPv6 prefix specified in the bind-ipv6-prefix
field.</t>
<t>bind-ipv6-prefix: a variable length field specifying the
IPv6 prefix or address for the S46. This field is right padded with
zeros to the nearest octet boundary when bindprefix6-len
is not divisible by 8.</t>
<t>S46_V4V6BIND-options: a variable field that may contain
zero or more options that specify additional
parameters. This document specifies one such option,
OPTION_S46_PORTPARAMS.</t>
</list></t>
</section>
<section anchor="option-portparams"
title="S46 Port Parameters Option">
<t>The Port Parameters Option (OPTION_S46_PORTPARAMS)
specifies optional Port Set information that MAY be provided
to CEs.</t>
<t>See <xref target="I-D.ietf-softwire-map"></xref>, Section 5.1 for
a description of MAP algorithm, explaining all of the parameters in
detail.</t>
<figure align="center" anchor="img-option-portparams"
title="S46 Port Parameters Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_S46_PORTPARAMS | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| offset | PSID-len | PSID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
</figure>
<t><list style="symbols">
<t>option-code: OPTION_S46_PORTPARAMS (TBD5)</t>
<t>option-length: 4</t>
<t>offset: (PSID offset) 8 bits long field that specifies
the numeric value for the S46 algorithm's excluded port
range/offset bits (A-bits), as per section 5.1.1 of <xref
target="I-D.ietf-softwire-map"></xref>. Allowed values are
between 0 and 15. Default values for this field are
specific to the softwire mechanism being implemented and
are defined in the relevant specification document.</t>
<t>PSID-len: Bit length value of the number of significant
bits in the PSID field. (also known as 'k'). When set to
0, the PSID field is to be ignored. After the first 'a'
bits, there are k bits in the port number representing the
value of the Port Set Identifier (PSID). Consequently, the
address sharing ratio would be 2^k.</t>
<t>PSID: Explicit 16-bit (unsigned word) PSID value. The PSID
value algorithmically identifies a set of ports assigned to a CE.
The first k bits on the left of this field contain the PSID
value. The remaining (16-k) bits on the right are padding
zeros.</t>
</list></t>
<t>When receiving the OPTION_S46_PORTPARAMS option with an
explicit PSID, the client MUST use this explicit PSID in
configuring its softwire interface. The
OPTION_S46_PORTPARAMS option with an explicit PSID MUST be
discarded if the S46 CE isn't configured with a full
IPv4 address (e.g. IPv4 prefix).</t>
<t>The OPTION_S46_PORTPARAMS option with an explicit PSID
MUST be discarded if the S46 CE isn't configured with a full
IPv4 address (e.g. IPv4 prefix).</t>
<!--<t>On receipt of the Port
Parameters option with an explicit PSID, clients MUST
configure their softwire interface with the received
explicit PSID. If the conveyed IPv4 address is not 32
bits-long, the option MUST be discarded. The formula for
this check is "prefix4-len + ea-len = 32" and serves to
ensure that the explicit PSID is only applied to
configurations with a completely formed IPv4 address.</t>-->
<t>The OPTION_S46_PORTPARAMS option is contained within an
OPTION_S46_RULE option or an OPTION_S46_V4V6BIND option.</t>
</section>
</section>
<section title="Softwire46 Containers">
<section anchor="option-mape" title="Softwire46 MAP-E Container Option">
<t>The MAP-E Container Option (OPTION_S46_CONT_MAPE) specifies
the container used to group all rules and optional port
parameters for a specified domain.</t>
<figure align="center" anchor="img-mape-option"
title="MAP-E Container Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_S46_CONT_MAPE | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. encapsulated-options (variable length) .
. .
+---------------------------------------------------------------+
]]></artwork>
</figure>
<t><list style="symbols">
<t>option-code: OPTION_S46_CONT_MAPE (TBD6)</t>
<t>option-length: Length of encapsulated options</t>
<t>encapsulated-options: options associated with this Softwire46
MAP-E domain.</t>
</list></t>
<t>The encapsulated options field conveys options specific to
the OPTION_S46_CONT_MAPE. Currently there are two
sub-options specified, OPTION_S46_RULE and
OPTION_S46_BR. There MUST be at least one OPTION_S46_RULE
option and at least one OPTION_S46_BR option.</t>
<t>Other options applicable to a domain may be defined in the
future. A DHCP message MAY include multiple
OPTION_S46_CONT_MAPE options (representing multiple
domains).</t>
</section>
<section anchor="option-mapt" title="Softwire46 MAP-T Container Option">
<t>The MAP-T Container option (OPTION_S46_CONT_MAPT) specifies
the container used to group all rules and optional port
parameters for a specified domain.</t>
<figure align="center" anchor="img-mapt-option"
title="MAP-E Container Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_S46_CONT_MAPT | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. encapsulated-options (variable length) .
. .
+---------------------------------------------------------------+
]]></artwork>
</figure>
<t><list style="symbols">
<t>option-code: OPTION_S46_CONT_MAPT (TBD7)</t>
<t>option-length: Length of encapsulated options</t>
<t>encapsulated-options: options associated with this
Softwire46 MAP-T domain.</t>
</list></t>
<t>The encapsulated options field conveys options specific to
the OPTION_S46_CONT_MAPT option. Currently there are two
options specified, the OPTION_S46_RULE and OPTION_S46_DMR
options. There MUST be at least one OPTION_S46_RULE option and
exactly one OPTION_S46_DMR option.</t>
</section>
<section anchor="option-lw46" title="Softwire46 LightWeight 46 Container Option">
<t>The LW46 Container option (OPTION_S46_CONT_LW) specifies
the container used to group all rules and optional port
parameters for a specified domain.</t>
<figure align="center" anchor="img-lw-option"
title="LW46 Container Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_S46_CONT_LW | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ encapsulated-options (variable length) .
. .
+---------------------------------------------------------------+
]]></artwork>
</figure>
<t><list style="symbols">
<t>option-code: OPTION_S46_CONT_LW (TBD8)</t>
<t>option-length: Length of encapsulated options</t>
<t>encapsulated-options: options associated with this Softwire46
domain.</t>
</list></t>
<t>The encapsulated options field conveys options specific to
the OPTION_S46_CONT_LW option. Currently there are two options
specified, OPTION_S46_V4V6BIND and OPTION_S46_BR. There MUST
be at most one OPTION_S46_V4V6BIND option and at least one
OPTION_S46_BR option.</t>
</section>
</section>
<section title="Softwire46 Options Formatting">
<t>The below table shows which sub-options are mandatory,
optional or not permitted for each defined container option.</t>
<texttable anchor="table_options" title="Option to Container Mappings">
<ttcol align='left'>Option</ttcol>
<ttcol align='center'>MAP-E</ttcol>
<ttcol align='center'>MAP-T</ttcol>
<ttcol align='center'>Lightweight 4over6</ttcol>
<c>OPTION_S46_RULE</c><c>M</c><c>M</c><c>N/A</c>
<c>OPTION_S46_BR</c><c>M</c><c>N/A</c><c>M</c>
<c>OPTION_S46_PORTPARAMS</c><c>O</c><c>O</c><c>O</c>
<c>OPTION_S46_DMR</c><c>N/A</c><c>M</c><c>N/A</c>
<c>OPTION_S46_V4V6BIND</c><c>N/A</c><c>N/A</c><c>O</c>
<postamble>M - Mandatory, O - Optional, N/A - Not Applicable</postamble>
</texttable>
<t>MAP-DHCP clients that receive container options that violate
any of the above rules MUST silently ignore such container
options.</t>
</section>
<section title="DHCPv6 Server Behavior">
<t><xref target="RFC3315"/> Section 17.2.2
describes how a DHCPv6 client and server negotiate configuration
values using the ORO. As a convenience to the reader, we
mention here that by default, a server will not reply with a
Softwire46 Container Option if the client has not explicitly
enumerated one in its Option Request Option.</t>
<t>A CE router may support several (or all) of the mechanisms
mentioned here. In the case where a client requests multiple
mechanisms in its ORO option, the server will reply with the
corresponding Softwire46 Container options for which it has
configuration information.</t>
</section>
<section title="DHCPv6 Client Behavior">
<t>An S46 CE acting as DHCPv6 client will request S46
configuration parameters from the DHCPv6 server located in the
IPv6 network. Such a client MUST include the S46 Container
option(s) that it is configured for in its ORO in SOLICIT,
REQUEST, RENEW, REBIND and INFORMATION-REQUEST messages.</t>
<t>When processing received S46 container options the following
behaviour is expected:<list style="symbols">
<t>A client MUST support processing multiple received
OPTION_S46_RULE options in a container OPTION_S46_CONT_MAPE or
OPTION_S46_CONT_MAPT option</t>
<t>A client receiving an unsupported S46 option, or an
invalid parameter value SHOULD discard that S46 Container
option and log the event.</t>
</list></t>
<t>The behavior of a client supporting multiple Softwire46
mechanisms, is out of scope of this document. <xref
target="I-D.ietf-softwire-unified-cpe"/> describes client behaviour
for the prioritization and handling of multiple mechanisms
simultaneously.</t>
<!--
<t>DISCUSS: There are many ways of delivering IPv4 to a CE
router. Native IPv4 with global addressing, native IPv4 with
private addressing, DS-lite, 464XLAT, 4rd, MAP-E, MAP-T,
Lightweight 4over6. Should a CPE prefer a single option (per
interface), should it configure multiple, and handle a smooth
transition between them? <xref
target="I-D.townsley-troan-ipv6-ce-transitioning"/> proposes one
of the approaches to handle this scenario by having an implicit
order. Other approaches are possible and should be discussed,
however, this is out of scope for this particular document.</t>
-->
<t>Note that system implementing CE functionality may have
multiple network interfaces, and these interfaces may be
configured differently; some may be connected to networks using
a Softwire46 mechanism, and some may be connected to networks
that are using normal dual stack or other means. The CE should
approach this specification on an interface-by-interface
basis. For example, if the CE system is MAP-E capable and is
attached to multiple networks that provide the
OPTION_S46_CONT_MAPE option, then the CE MUST configure MAP-E
for each interface separately.</t>
</section>
<section title="Security Considerations">
<t>Section 23 of <xref target="RFC3315"></xref> discusses DHCPv6-related
security issues.</t>
<t>As with all DHCPv6-derived configuration state, it is
possible that configuration is actually being delivered by a third
party (Man In The Middle). As such, there is no basis on which
access over MAP or lw4o6 can be trusted. Therefore, softwires should not
bypass any security mechanisms such as IP firewalls.</t>
<t>In IPv6-only networks that lack any IPv4 firewalls, a device
supporting MAP could be tricked into enabling its IPv4 stack and
direct IPv4 traffic to the attacker, thus exposing itself to
previously infeasible IPv4 attack vectors.</t>
<t>Section 11 of <xref target="I-D.ietf-softwire-map"></xref> discusses
security issues of the MAP mechanism.</t>
<t>Readers concerned with security of MAP provisioning over DHCPv6 are
encouraged to read <xref target="I-D.ietf-dhc-sedhcpv6"/>.</t>
</section>
<section title="IANA Considerations">
<t>IANA is kindly requested to allocate the following DHCPv6
option codes:<list>
<t>TBD1 for OPTION_S46_RULE</t>
<t>TBD2 for OPTION_S46_BR</t>
<t>TBD3 for OPTION_S46_DMR</t>
<t>TBD4 for OPTION_S46_V4V6BIND</t>
<t>TBD5 for OPTION_S46_PORTPARAMS</t>
<t>TBD6 for OPTION_S46_CONT_MAPE</t>
<t>TBD7 for OPTION_S46_CONT_MAPT</t>
<t>TBD8 for OPTION_S46_CONT_LW</t>
</list>
All values should be added to the DHCPv6 option code space
defined in Section 24.3 of <xref target="RFC3315"/>.</t>
</section>
<section title="Acknowledgements">
<t>This document was created as a product of a MAP design team.
Following people were members of that team: Congxiao Bao, Mohamed
Boucadair, Gang Chen, Maoke Chen, Wojciech Dec, Xiaohong Deng, Jouni
Korhonen, Xing Li, Satoru Matsushima, Tomasz Mrugalski, Tetsuya
Murakami, Jacni Qin, Necj Scoberne, Qiong Sun, Tina Tsou, Dan Wing, Leaf
Yeh and Jan Zorz.</t>
<t>The authors would like to thank Bernie Volz and Tom Taylor for
their insightful comments and suggestions.</t>
</section>
</middle>
<back>
<!-- SECTION 8.1: Normative References -->
<references title="Normative References">
&rfc3315;
<!-- &rfc3633;-->
&rfc2119;
&I-D.ietf-softwire-map;
&I-D.ietf-softwire-lw4over6;
</references>
<!-- SECTION 8.2: Informative References -->
<references title="Informative References">
&rfc2473;
&rfc2131;
<!-- &rfc5226;-->
<!-- &rfc6335;-->
<!-- &I-D.mdt-softwire-map-deployment;-->
<!-- &I-D.ietf-homenet-arch;-->
<!-- &I-D.ietf-dhc-option-guidelines;-->
&I-D.ietf-softwire-map-t;
&I-D.ietf-dhc-sedhcpv6;
<!-- &I-D.townsley-troan-ipv6-ce-transitioning;-->
&I-D.ietf-softwire-unified-cpe;
&rfc6145;
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-23 14:25:50 |