Unified
IPv4-in-IPv6 Softwire CPEFrance TelecomRennesFrancemohamed.boucadair@orange.comDeutsche TelekomGermanyian.farrer@telekom.de
Internet
Softwire WGTransporting IPv4 packets encapsulated in IPv6 is a common solution
to the problem of IPv4 service continuity over IPv6-only provider
networks. A number of differing functional approaches have been
developed for this, each having their own specific characteristics. As
these approaches share a similar functional architecture and use the
same data plane mechanisms, this memo describes a specification whereby
a single CPE can interwork with all of the standardized and proposed
approaches to providing encapsulated IPv4 in IPv6 services.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.IPv4 service continuity is one of the major technical challenges
which must be considered during IPv6 migration. Over the past few years,
a number of different approaches have been developed to assist with this
problem. These approaches, or modes, exist in order to meet the
particular deployment, scaling, addressing and other requirements of
different service provider's networks. Section 2 of this document
describes these approaches in more detail.A common feature shared between all of the differing modes is the
integration of softwire tunnel end-point functionality into the CPE
router. Due to this inherent data plane similarity, a single CPE may be
capable of supporting several different approaches. Users may also wish
to configure a specific mode of operation.A service provider's network may also have more than one mode enabled
in order to support diverse CPE client functionality, during migration
between modes or where services require specific supporting softwire
architectures.For softwire based services to be successfully established, it is
essential that the customer end-node, the service provider end-node and
provisioning systems are able to indicate their capabilities and
preferred mode of operation.This memo describes the logic required by both the CPE tunnel
end-node and the service provider's provisioning infrastructure so that
softwire services can be provided in mixed-mode environments.The following rationale has been adopted for this document:Describe the functionality of each the different solution modes
and provide clear distinctions between themSimplify solution migration paths: Define unified CPE behavior,
allowing for smooth migration between the different modesDeterministic CPE co-existence behavior: Specify the behavior
when several modes co-exist in the CPEDeterministic service provider co-existence behavior: Specify
the behavior when several modes co-exist in the service providers
networkRe-usability: Maximize the re-use of existing functional blocks
including tunnel end-points, port restricted NAPT44, forwarding
behavior, etc.Solution agnostic: Adopt neutral terminology and avoid (as far
as possible) overloading the document with solution-specific
termsFlexibility: Allow operators to compile CPE software only for
the mode(s) necessary for their chosen deployment context(s)Simplicity: Provide a model that allows operators to only
implement the specific mode(s) that they require without the
additional complexity of unneeded modes.The solutions which have been proposed within the Softwire WG can be
categorized into three main functional approaches, differentiated by the
amount and type of state that the service provider needs to maintain
within their network:Full stateful approach (DS-Lite, ):
Requires per-session state to be maintained in the Service
Provider's network.Binding approach (e.g., Lightweight 4over6 (Lw4o6) or MAP 1:1 ): Requires a single
per-subscriber state (or a few) to be maintained in the Service
Provider's network.Full stateless approach (MAP, ): Does not require
per-session or per-subscriber state to be maintained in the Service
Provider's network.All these approaches share a similar
architecture, with a tunnel endpoint located in the CPE and a remote
tunnel endpoint. All use IPv6 as the transport protocol for the delivery
of an IPv4 connectivity service using an IPv4-in-IPv6 encapsulation
scheme .Several cases can be envisaged:The CPE is complied to support only one mode: No issue is raised
by this case.The CPE supports several modes but only one mode is explicitly
configured: No issue is raised by this case.The CPE supports several modes but no mode is explicitly enabled:
the CPE will need additional triggers to decide which mode to
activate.The CPE supports several modes and several modes are configured:
the CPE will need additional triggers to decide which mode to
activate.As this document describes a provisioning profile whereby a single
CPE could be capable of supporting any, or multiple modes, the customer
should not be required to have any knowledge of the capabilities and
configuration of their CPE, or of their service provider's network.The service provider, however, may have only a single mode enabled,
or may have multiple modes, but with one preferred mode. For this
reason, it is necessary to approach the configuration of CPEs from the
standpoint of the service provider's network capabilities.The functional elements for each of the solution modes are listed
in :ModeCustomer sideNetwork sideDS-LiteB4AFTRLw4o6lwB4lwAFTRMAPMAP CEMAP BR describes each functional
element:Functional ElementDescriptionB4An IPv4-in-IPv6 tunnel endpoint; the B4 creates a tunnel to a
pre-configured remote tunnel endpoint.AFTRProvides both an IPv4-in-IPv6 tunnel endpoint and a NAT44
function implemented in the same node.lwB4A B4 which supports port-restricted IPv4 addresses. An lwB4 MAY
also provide a NAT44 function.lwAFTRAn IPv4-in-IPv6 tunnel endpoint which maintains per-subscriber
address binding. Unlike the AFTR, it MUST NOT perform a NAPT44
function.MAP CEA B4 which supports port-restricted IPv4 addresses. It MAY be
co-located with a NAT44. A MAP CE forwards IPv4-in-IPv6 packets
using provisioned mapping rules to derive the remote tunnel
endpoint.MAP BRAn IPv4-in-IPv6 tunnel endpoint. A MAP BR forwards IPv4-in-IPv6
packets following pre-configured mapping rules. identifies features required by the
customer end-node.Functional ElementIPv4-in-IPv6 tunnel endpointPort-restricted IPv4Port-restricted NAT44B4YesN/ANolwB4YesYesOptionalMAP-E CEYesYesOptional identifies the provisioning
information required for each solution mode.ModeProvisioning InformationDS-LiteRemote IPv4-in-IPv6 Tunnel Endpoint AddressLw4o6Remote IPv4-in-IPv6 Tunnel Endpoint AddressIPv4 AddressPort SetMAP-EMapping RulesMAP Domain ParametersNote: MAP Mapping Rules are translated into the following
configuration parameters: Set of remote IPv4-in-IPv6 tunnel endpoint
addresses, IPv4 address and port set.This section specifies a unified CPE behavior capable of
supporting any one, or combination of, the three modes.The following two requirements must be met by the functional
elements:All the aforementioned
modes MUST be designed to allow either a full or a shared IPv4
address to be assigned to a customer end-node. DS-Lite and MAP-E
fulfill this requirement. With minor changes, the
specification can be updated to assign full IPv4 addresses.A NAT function within the
customer end-node is not required for DS-Lite, while it is
optional for both MAP-E and Lw4o6. When NAT is enabled for MAP-E
or Lw4o6, the customer end-node NAT MUST be able to restrict the
external translated source ports to the set of ports that it has
been provisioned with.The generic provisioning logic is designed to meet the following
requirements:When several service continuity modes are supported by the same
CPE, it MUST be possible to configure a single mode for use.For each network attachment, the end-node MUST NOT activate
more than one mode.The CPE MAY be configured by a user or via remote device
management means (e.g., DHCP, TR-069).A network which supports one or several modes MUST return valid
configuration data enabling requesting devices to unambiguously
select a single mode to use for attachment.A CPE which supports only one mode or it is configured to
enable only mode MUST ignore any configuration parameter which is
not required for the mode it supports.This section sketches a generic algorithm to be followed by a CPE
supporting one or more of the modes listed above. Based on the
retrieved information, the CPE will determine which mode to
activate.If a given mode is enabled (DS-Lite, Lw4o6 or MAP-E), the CPE
MUST be configured with the required provisioning information
listed in . If all of the
required information is not available locally, the CPE MUST use
available provisioning means (e.g., DHCP) to retrieve the missing
configuration data.If the CPE supports several modes, but no mode is explicitly
enabled, the CPE MUST use available provisioning means (e.g.,
DHCP) to retrieve available configuration parameters and use the
availability of individual parameters to ascertain which
functional mode to configure:If only a Remote IPv4-in-IPv6 Tunnel Endpoint is received,
the CPE MUST proceed as follows:IPv4-in-IPv6 tunnel endpoint initialization is defined
in .Outbound IPv4 packets are forwarded to the next hop as
specified in .If a Remote IPv4-in-IPv6 Tunnel Endpoint, an IPv4 Address
and optionally a Port Set are received, the CPE MUST behave as
follows:IPv4-in-IPv6 tunnel endpoint initialization is similar
to the B4 .When NAPT44 is required (e.g., because the CPE is a
router), a NAPT44 module is enabled.The tunnel endpoint address is selected from the native
IPv6 addresses configured on the CPE. No particular
considerations are required to be taken into account to
generate the Interface Identifier.When a port set is provisioned, the external source
ports MUST be restricted to the provisioned set of
ports.After translation, outbound IPv4 packets are forwarded
to the next hop as specified in .If Mapping Rule(s) are received, the CPE MUST behave as
follows:IPv4-in-IPv6 tunnel endpoint initialization is similar
to the B4 .The tunnel endpoint is assigned with an IPv6 address
which includes an IPv4 address. The MAP Interface
Identifier is based on the format specified in Section 2.2
of .When NAPT44 is required (e.g., because the CPE is a
router), a NAPT44 module is enabled.When a port set is provisioned, the external source
port MUST be restricted to the provisioned set of
ports.After translation, outbound IPv4 packets then forwarded
to the next hop as specified in . [DISCUSSION NOTE:This section will be updated to reflect the consensus from
DHC WG.As it is proposed that OPTION_MAP would be used for all new
softwire provisioning, should we rename OPTION_MAP to
OPTION_SW (incl. the associated sub-options)?]]DHCP-based configuration SHOULD be implemented by the
customer end-node using the following two DHCP options:
Provides the FQDN for the remote IPv4-in-IPv6 tunnel
end-point. Provides IPv4-related
configuration for binding mode and/or mapping rules for stateless
mode (including MAP parameters such as offset, domain prefix,
etc.). OPTION_MAP_BIND is a sub-option used to convey an IPv4
address (for example, encoded as an IPv4-mapped IPv6 address ). This address is used when binding mode
is enabled. The receipt of OPTION_MAP_BIND is an implicit
indication to the customer side device to operate in binding,
rather than stateless mode.The customer end-node uses the DHCP Option Request Option
(ORO) to request either one or both of these options depending on
which modes it is capable of and configured to support.The DHCP option(s) sent in the response allow the service provider
to inform the customer end-node which operating mode to enable.The following table shows the different DHCP options (and
sub-options) that the service provider can supply in a response.DHCP OptionStateful ModeBinding ModeStateless ModeOPTION_AFTR_NAMEYesYesOptionalOPTION_MAP_BINDNoYesNoOPTION_MAP_RULENoNoYesOPTION_MAP_PORTPARAMSNoOptionalOptionalThe customer side device MUST interpret the received DHCP
configuration parameters according to the logic defined in :If only OPTION_AFTR_NAME is received, then the device MUST
operate in stateful modeIf both OPTION_AFTR_NAME and OPTION_MAP_BIND are received then
the device MUST operate in binding modeIf one or more OPTION_MAP_RULE options are received, then the
customer side device MUST operate in stateless modeIf both OPTION_AFTR_NAME and OPTION_MAP_RULE(s) are received,
then the customer side device MUST operate as a MAP CE.
OPTION_AFTR_NAME provides the FQDN of the MAP BR.If OPTION_MAP_PORTPARAMS is received as a sub-option to either
OPTION_MAP_BIND or OPTION_MAP_RULE, then NAPT44 MUST be configured
using the supplied port-set for external translated source
ports.From the service providers side, the following rule MUST be
followed:The DHCP server MUST NOT send both OPTION_MAP_BIND and
OPTION_MAP_RULE in a single OPTION_MAP response.For all modes, the longest prefix match algorithm MUST be enforced
to forward outbound IPv4 packets.Specifically, this algorithm will:Always return the address of the AFTR for the DS-Lite mode.Always return the address of the lwAFTR for the binding
mode.Return the next hop according to the pre-configured mapping
rules for the stateless mode (i.e., MAP-E).Security considerations discussed in Section 7 of and Section
11 of should be taken into account.This document does not require any action from IANA.Many thanks to T. Tsou, S. Perrault, S. Sivakumar, O. Troan, W. Dec,
M. Chen, for their review and comments.Special thanks to S. Krishnan for the suggestions and guidance.