<?xml version="1.0"encoding="US-ASCII"?> <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>encoding="UTF-8"?> <!DOCTYPE rfc SYSTEM"rfc2629.dtd" [ <!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"> <!ENTITY rfc8174 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml"> <!ENTITY rfc5213 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5213.xml"> <!ENTITY rfc6275 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6275.xml"> <!ENTITY rfc4877 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4877.xml"> <!ENTITY rfc3972 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3972.xml"> <!ENTITY rfc7333 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7333.xml"> <!ENTITY rfc7429 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7429.xml"> <!ENTITY rfc4191 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4191.xml"> <!ENTITY rfc4861 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4861.xml"> <!ENTITY rfc8563 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8563.xml"> <!ENTITY I-D.bernardos-dmm-distributed-anchoring SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.bernardos-dmm-distributed-anchoring.xml"> <!ENTITY I-D.bernardos-dmm-pmip SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.bernardos-dmm-pmip.xml"> ]> <?rfc toc="yes"?> <?rfc tocompact="yes"?> <?rfc tocdepth="4"?> <?rfc tocindent="yes"?> <?rfc symrefs="yes"?> <?rfc sortrefs="yes"?> <?rfc comments="yes"?> <?rfc inline="yes"?> <?rfc compact="yes"?> <?rfc subcompact="no"?>"rfc2629-xhtml.ent"> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" submissionType="IETF" category="exp"docName="draft-ietf-dmm-pmipv6-dlif-06">consensus="true" docName="draft-ietf-dmm-pmipv6-dlif-06" number="8885" obsoletes="" updates="" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3"> <front> <title abbrev="PMIPv6 DMM and DLIF">Proxy Mobile IPv6extensionsExtensions for Distributed Mobility Management</title><!-- AUTHORS --><seriesInfo name="RFC" value="8885"/> <author fullname="Carlos J. Bernardos" initials="CJ." surname="Bernardos"> <organization abbrev="UC3M">Universidad Carlos III de Madrid</organization> <address> <postal> <street>Av. Universidad, 30</street><city>Leganes, Madrid</city><city>Leganes</city> <region>Madrid</region> <code>28911</code> <country>Spain</country> </postal> <phone>+34 91624 6236</phone> <email>cjbc@it.uc3m.es</email> <uri>http://www.it.uc3m.es/cjbc/</uri> </address> </author> <author fullname="Antonio de la Oliva" initials="A." surname="de la Oliva"> <organization abbrev="UC3M">Universidad Carlos III de Madrid</organization> <address> <postal> <street>Av. Universidad, 30</street><city>Leganes, Madrid</city><city>Leganes</city> <region>Madrid</region> <code>28911</code> <country>Spain</country> </postal> <phone>+34 91624 8803</phone> <email>aoliva@it.uc3m.es</email> <uri>http://www.it.uc3m.es/aoliva/</uri> </address> </author> <author fullname="Fabio Giust" initials="F." surname="Giust"> <organization abbrev="Athonet">Athonet S.r.l.</organization> <address><email>fabio.giust.2011@ieee.org</email><postal> <street>via Ca' del Luogo 6/8</street> <city>Bolzano Vicentino (VI)</city> <code>36050</code> <country>Italy</country> </postal> <email>fabio.giust.research@gmail.com</email> </address> </author> <author fullname="Juan CarlosZuniga"Zúñiga" initials="JC."surname="Zuniga">surname="Zúñiga"> <organization abbrev="SIGFOX"> SIGFOX </organization> <address> <postal> <street>425 rue Jean Rostand</street> <city>Labege</city> <code> 31670</code> <country>France</country> </postal> <email>j.c.zuniga@ieee.org</email> <uri>http://www.sigfox.com/</uri> </address> </author> <author fullname="Alain Mourad" initials="A." surname="Mourad"> <organization abbrev="InterDigital"> InterDigital Europe </organization> <address> <email>Alain.Mourad@InterDigital.com</email> <uri>http://www.InterDigital.com/</uri> </address> </author> <datemonth="March" year="2020" />month="October" year="2020"/> <area>Internet</area> <workgroup>DMM Working Group</workgroup> <keyword>PMIPv6</keyword> <keyword>anchor</keyword> <keyword>session continuity</keyword> <keyword>address reachability</keyword> <keyword>HNP</keyword> <keyword>CMD</keyword> <keyword>MAAR</keyword> <abstract> <t> Distributed Mobility Management solutions allowfor setting upnetworkssoto be set up in such a way that traffic is distributedin an optimal wayoptimally anddoes not rely oncentrally deployed anchors are not relied upon to provide IP mobility support. </t> <t> There are many different approaches to address Distributed MobilityManagement, asManagement -- forexampleexample, extending network-based mobility protocols (like Proxy MobileIPv6),IPv6) or client-based mobility protocols (like Mobile IPv6), among others. This document follows the former approach and proposes a solution based on Proxy MobileIPv6IPv6, in which mobility sessions are anchored at the last IP hop router (called the mobility anchor and access router). The mobility anchor and access router is an enhanced access routerwhichthat is also able to operate as a local mobility anchor or mobility accessgateway,gateway on aper prefixper-prefix basis. The document focuses on the required extensions to effectively supportsimultaneouslythe simultaneous anchoring several flows at different distributed gateways. </t> </abstract><note title="Requirements Language"> <t> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here. </t> </note></front> <middle> <sectionanchor="sec:introduction" title="Introduction">anchor="sec_introduction" numbered="true" toc="default"> <name>Introduction</name> <t> The Distributed Mobility Management (DMM) paradigm aims at minimizing the impact of currently standardized mobility managementsolutionssolutions, which are centralized (at least to a considerable extent) <xreftarget="RFC7333"></xref>.target="RFC7333" format="default"/>. </t> <t>CurrentThe two most relevant examples of current IP mobilitysolutions, standardized with the names ofsolutions are Mobile IPv6 <xreftarget="RFC6275"></xref>, ortarget="RFC6275" format="default"/> and Proxy Mobile IPv6 (PMIPv6) <xreftarget="RFC5213"></xref>, just to cite the two most relevant examples,target="RFC5213" format="default"/>. These solutions offer mobility support at the cost of handling operations at a cardinalpoint, the mobility anchorpoint (i.e., thehome agent for Mobile IPv6, and the localmobilityanchor for Proxy Mobile IPv6),anchor) and burdening it with data forwarding and control mechanisms for agreat amountlarge number of users. The mobility anchor is the home agent for Mobile IPv6 and the local mobility anchor for PMIPv6. As stated in <xreftarget="RFC7333"></xref>,target="RFC7333" format="default"/>, centralized mobility solutions are prone to several problems and limitations: longer (sub-optimal) routing paths, scalability problems, signaling overhead (and most likely a longer associated handover latency), more complex network deployment, higher vulnerability due to the existence of a potential single point of failure, and lack of granularity of the mobility management service (i.e., mobility is offered on a per-nodebasis,basis because it is notbeingpossible to define finer granularity policies,asforexample per-application).example, on a per-application basis). </t> <t> The purpose ofDistributed Mobility ManagementDMM is to overcome the limitations of the traditional centralized mobility management <xref target="RFC7333"/>format="default"/> <xref target="RFC7429"/>;format="default"/>; the main concept behind DMM solutions is indeed bringing the mobility anchor closer to theMobile Nodemobile node (MN). Following this idea, the central anchor is moved to the edge of thenetwork, beingnetwork and is deployed in the default gateway of themobile node.MN. That is, the first elements that provide IP connectivity to a set of MNs are also the mobility managers for those MNs. In this document, we call these entities Mobility Anchors and Access Routers (MAARs). </t> <t> This document focuses on network-basedDMM, henceDMM; hence, the starting point is making PMIPv6 work in a distributed manner <xreftarget="RFC7429"></xref>.target="RFC7429" format="default"/>. Mobility is handled by the network without theMNs involvement, but,MN's involvement. But differently from PMIPv6, when the MN moves from one access network to another,itthe router anchoring the MN's address mayalso change anchor router,change, hence requiring signaling between the anchors to retrieve the MN's previous location(s). Also, akey-aspectkey aspect of network-basedDMM,DMM is that a prefix pool belongs exclusively to eachMAAR,MAAR in the sense that those prefixes are assigned by the MAAR to the MNs attached toit,it andtheyare routable at that MAAR. Prefixes are assigned to MNs attached to a MAAR at that time, but remain with those MNs as mobility occurs, remaining always routable at that MAAR as well as towards the MN itself. </t> <t> We consider partially distributed schemes, where only the data plane is distributed among access routers similar toMAGs,mobile access gateways (MAGs), whereas the control plane is kept centralized towards a cardinal nodeused(used as an informationstore, but relievedstore), which is discharged from any route management and MN's data forwardingtask.tasks. </t> <section anchor="terms"> <name>Requirements Language</name> <t> The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here. </t> </section> </section> <sectionanchor="sec:terminology" title="Terminology">anchor="sec_terminology" numbered="true" toc="default"> <name>Terminology</name> <t> The following terms used in this document are defined in theProxy Mobile IPv6PMIPv6 specification <xref target="RFC5213"/>: <list style="empty"> <t>Localformat="default"/>: </t> <ul empty="true" spacing="normal"><li> <dl> <dt>BCE:</dt><dd>Binding Cache Entry</dd> <dt>LMA:</dt><dd>Local MobilityAnchor (LMA)</t> <t>MobileAnchor</dd> <dt>MAG:</dt><dd>Mobile AccessGateway (MAG)</t> <t>Mobile Node (MN)</t> <t>Binding Cache Entry (BCE)</t> <t>ProxyGateway</dd> <dt>MN:</dt><dd>Mobile Node</dd> <dt>P-CoA:</dt><dd>Proxy Care-ofAddress (P-CoA)</t> <t>ProxyAddress</dd> <dt>PBA:</dt><dd>Proxy BindingUpdate (PBU)</t> <t>ProxyAcknowledgement</dd> <dt>PBU:</dt><dd>Proxy BindingAcknowledgement (PBA)</t> </list>Update</dd> </dl> </li> </ul> <t> The following terms used in this document are defined in the Mobile IPv6 (MIPv6) specification <xref target="RFC6275" format="default"/>: </t> <ul empty="true" spacing="normal"><li> <dl> <dt>CN:</dt><dd>Correspondent Node</dd> </dl></li></ul> <t> The following terms are used in this document:<list style="hanging"> <t hangText="Home</t> <dl newline="true" spacing="normal"> <dt>Home Control-Plane Anchor (Home-CPA orH-CPA):">H-CPA):</dt> <dd> The Home-CPA function hosts themobile node (MN)'sMN's mobility session. There can be more than one mobility session fora mobile nodean MN, and those sessions may be anchored on the same or differentHome-CPA's.Home-CPAs. Thehome-CPAHome-CPA will interface with thehome-DPAHome-DPA for managing the forwarding state.<vspace blankLines="1"/> </t> <t hangText="Home</dd> <dt>Home Data Plane Anchor (Home-DPA orH-DPA):">H-DPA):</dt> <dd> The Home-DPA is the topological anchor for the MN's IPaddress/ prefix(es).addresses and/or prefixes. The Home-DPA is chosen by the Home-CPA on asession-session basis. The Home-DPA is in the forwarding path for all themobile node'sMN's IP traffic.<vspace blankLines="1"/> </t> <t hangText="Access</dd> <dt>Access Control Plane Node (Access-CPN orA-CPN):">A-CPN):</dt> <dd> The Access-CPN is responsible for interfacing with themobile node'sMN's Home-CPA andwiththe Access-DPN. The Access-CPN has a protocol interface to the Home-CPA.<vspace blankLines="1"/> </t> <t hangText="Access</dd> <dt>Access Data Plane Node (Access-DPN orA-DPN):">A-DPN):</dt> <dd> The Access-DPN function is hosted on the first-hop router where themobile nodeMN is attached. This function is not hosted on alayer-2Layer 2 (L2) bridging device such asaan eNode(B) or Access Point.<vspace blankLines="1"/> </t> </list> </t></dd> </dl> <t> The following terms are defined and used in this document:<list style="hanging"> <t hangText="MAAR</t> <dl newline="true" spacing="normal"> <dt>MAAR (Mobility Anchor and AccessRouter)."> First hopRouter):</dt> <dd> First-hop router where themobile nodes attach to.MNs attach. It also plays the role of mobility manager for the IPv6 prefixes it anchors, running the functionalities of PMIP's MAG and LMA. Depending on the prefix, it plays the role of Access-DPN,Home-DPAHome-DPA, and Access-CPN.</t> <t hangText="CMD</dd> <dt>CMD (Central MobilityDatabase).">Database):</dt> <dd> The node that stores the BCEs allocated for the MNs in the mobility domain. It plays the role of Home-CPA.</t> <t hangText="P-MAAR</dd> <dt>P-MAAR (PreviousMAAR).">MAAR):</dt> <dd> Whenaan MN moves to a new point ofattachmentattachment, a new MAAR might be allocated as its anchor point for future IPv6 prefixes. The MAAR that served the MN prior to new attachment becomes the P-MAAR. It is still the anchor point for the IPv6 prefixes it had allocated to the MN in the past and serves as the Home-DPA for flows using these prefixes. There might be several P-MAARs servingaan MN in cases when the MN is frequently switching points of attachment while maintaining long-lasting flows.</t> <t hangText="S-MAAR</dd> <dt>S-MAAR (ServingMAAR).">MAAR):</dt> <dd> The MAAR to which the MN is currentlyattached to.attached. Depending on the prefix, it plays the role of Access-DPN,Home-DPAHome-DPA, and Access-CPN.</t> <t hangText="Anchoring MAAR."></dd> <dt>Anchoring MAAR:</dt> <dd> A MAAR anchoring an IPv6 prefix used by an MN.</t> <t hangText="DLIF</dd> <dt>DLIF (Distributed LogicalInterface).">Interface):</dt> <dd> It is a logical interface at the IP stack of the MAAR. For each active prefix used by the MN, the S-MAAR has a DLIF configured (associatedtowith each MAAR still anchoring flows). In this way, an S-MAAR exposes itself towards each MN as multiple routers, one as itself and one per P-MAAR.</t> </list> </t></dd> </dl> </section> <sectionanchor="sec:pmipv6_based" title="PMIPv6anchor="sec_pmipv6_based" numbered="true" toc="default"> <name>PMIPv6 DMMextensions">Extensions</name> <t> The solution consists ofde-couplingdecoupling the entities that participate in the data and the control planes: the data plane becomes distributed and managed by the MAARs near the edge of the network, while the control plane, besides those on the MAARs, relies on a central entity called the Central Mobility Database (CMD). In the proposed architecture, the hierarchy present in PMIPv6 between LMA and MAG ispreserved,preserved but with the following substantial variations:<list style="symbols"> <t></t> <ul spacing="normal"> <li> The LMA isrelieveddischarged from the data forwardingrole,role; only the Binding Cache and its management operations are maintained.HenceHence, the LMA is renamedinto CMD,as "CMD", which is therefore a Home-CPA. Also, the CMD is able to send and parse both PBU and PBA messages.</t> <t></li> <li> The MAG is enriched with the LMA functionalities, hence the name Mobility Anchor and Access Router (MAAR). It maintains a local Binding Cache for the MNs that are attached toitit, and it is able to send and parse PBU and PBA messages.</t> <t></li> <li> Thebinding cacheBinding Cache will be extended to include information regarding P-MAARs where themobile nodeMN was anchored and still retains active data sessions.</t> <t></li> <li> Each MAAR has a unique set of global prefixes (which areconfigurable),configurable) that can be allocated by the MAAR to theMNs,MNs but must be exclusive to that MAAR,i.e.i.e., no other MAAR can allocate the same prefixes.</t> </list> </t></li> </ul> <t> The MAARs leverage the CMD to access and update information related to the MNs, which is stored as mobility sessions; hence, a centralized node maintains a global view of the network status. The CMD is queried wheneveraan MN is detectedto join/leavejoining/leaving the mobility domain. It might be a fresh attachment, adetachmentdetachment, or a handover, but as MAARs are not aware of past information related to a mobility session, they contact the CMD to retrieve the data of interest and eventually take the appropriate action. The procedure adopted for the query and the message exchange sequence might vary to optimize the update latency and/or the signaling overhead.Here is presentedHere, one method for the initialregistration,registration and three different approaches for updating the mobility sessions using PBUs andPBAs.PBAs are presented. Each approach assigns a different role to the CMD:<list style="symbols"> <t>The</t> <ul spacing="normal"> <li>The CMD is a PBU/PBArelay;</t> <t>Therelay;</li> <li>The CMD is only a MAARlocator;</t> <t>Thelocator;</li> <li>The CMD is a PBU/PBAproxy.</t> </list> </t>proxy.</li> </ul> <t> The solution described in this document allowsperformingper-prefix anchoringdecisions,decisions -- for example, to supporte.g.,the anchoring of some flowsto be anchoredat a central Home-DPA (like a traditional LMA) or to enable an application to switch to the locally anchored prefix to gain route optimization, as indicated in <xref target="RFC8563"/>.format="default"/>. This type of per-prefix treatment would potentially require additional extensions to the MAARs and signaling between the MAARs and the MNs to convey the per-flow anchor preference (central, distributed), which are not covered in this document. </t> <t> Note thataan MN may move across different MAARs, which might result in several P-MAARs existing at a given moment of time, each of them anchoring a different prefix used by the MN. </t> <sectionanchor="subsec:init" title="Initial registration">anchor="subsec_init" numbered="true" toc="default"> <name>Initial Registration</name> <t> Initial registration is performed when an MN attaches to a network for the first time (rather than attaching to a new network after moving from a previous one). </t> <t> In this description (shown in <xreftarget="fig:DMM1" />),target="fig_DMM1" format="default"/>), it is assumed that:<list style="numbers"> <t></t> <ol spacing="normal" type="1"> <li> The MN is attaching to MAAR1.</t> <t></li> <li> The MN is authorized to attach to the network.</t> </list> </t></li> </ol> <t> Upon MN attachment, the following operations take place:<list style="numbers"> <t></t> <ol spacing="normal" type="1"> <li> MAAR1 assigns a global IPv6 prefix from its own prefix pool to the MN (Pref1). It also stores this prefix (Pref1) in the locally allocated temporaryBinding Cache Entry (BCE). </t> <t>BCE. </li> <li> MAAR1 sends a PBU <xref target="RFC5213"/>format="default"/> with Pref1 and the MN's MN-ID to the CMD.</t> <t></li> <li> Since this is an initial registration, the CMD stores a BCE containingas primary fieldsthe MN-ID,Pref1Pref1, and MAAR1's addressas(as aProxy-CoA. </t> <t>Proxy-CoA) as the primary fields. </li> <li> The CMD replies with a PBA with the usual options defined in PMIPv6 <xref target="RFC5213"/>,format="default"/>, meaning that the MN's registration is fresh and no past status is available.</t> <t></li> <li> MAAR1 stores the BCE described in (1) and unicasts a Router Advertisement (RA) to the MN with Pref1.</t> <t></li> <li> The MN uses Pref1 to configure an IPv6 address (IP1) (e.g., with statelessauto-configuration, SLAAC). </t> </list> </t>address autoconfiguration (SLAAC)). </li> </ol> <t> Note that:<list style="numbers"> <t></t> <ol spacing="normal" type="1"> <li> Alternative IPv6auto-configurationautoconfiguration mechanisms can also be used, though this document describes the SLAAC-based one.</t> <t></li> <li> IP1 is routable atMAAR1,MAAR1 in the sense that it is on the path of packets addressed to the MN.</t> <t></li> <li> MAAR1 acts as a plain router for packets destined to theMN,MN as no encapsulationnoror special handling takes place.</t> </list> </t></li> </ol> <t> In the diagram shown in <xreftarget="fig:DMM1" />target="fig_DMM1" format="default"/> (and subsequent diagrams), the flow of packets is presented using '*'. </t> <figureanchor="fig:DMM1" title="First attachmentanchor="fig_DMM1"> <name>First Attachment to thenetwork"> <artwork><![CDATA[Network</name> <artwork name="" type="" align="left" alt=""><![CDATA[ +-----+ +---+ +--+ |MAAR1| |CMD| |CN| +-----+ +---+ +*-+ | | * MN | * +---+ attach. | ***** _|CMD|_ detection | flow1 * / +-+-+ \ | | * / | \ local BCE | * / | \ allocation | * / | \ |--- PBU -->| +---*-+-' +--+--+ `+-----+ | BCE | * | | | | | | creation |MAAR1+------+MAAR2+-----+MAAR3| |<-- PBA ---| | * | | | | | local BCE | +---*-+ +-----+ +-----+ finalized | * | | Pref1 * | | +*-+ | | |MN| | | +--+ Operations sequencePacketsPacket flow ]]></artwork> </figure> <t> Note that the registration process does not change regardless of the CMD's modes (relay,locatorlocator, or proxy) describednext.in the following sections. The procedure is depicted in <xreftarget="fig:DMM1" />.target="fig_DMM1" format="default"/>. </t> </section> <sectionanchor="subsec:relay" title="Theanchor="subsec_relay" numbered="true" toc="default"> <name>The CMD as PBU/PBArelay">Relay</name> <t> Upon MN mobility, if the CMD behaves as a PBU/PBA relay, the following operations take place:<list style="numbers"> <t></t> <ol spacing="normal" type="1"> <li> When the MN moves from its current point of attachment and attaches to MAAR2 (now the S-MAAR), MAAR2 reserves an IPv6 prefix (Pref2),itstores a temporary BCE, anditsends a PBU to the CMD for registration.</t> <t></li> <li> Upon PBU reception and BC lookup, the CMD retrieves an already existing entry for theMN, bindingMN and binds the MN-ID to its former location; thus, the CMD forwards the PBU to the MAAR indicated asProxy CoA (MAAR1), includingProxy-CoA (MAAR1) and includes a new mobility option to communicate the S-MAAR's global address toMAAR1, definedMAAR1 (defined as the Serving MAAROptionoption in <xreftarget="subsec:smaaropt" />.target="subsec_smaaropt" format="default"/>). The CMD updates the P-CoA field in the BCE related to the MN with the S-MAAR's address.</t> <t></li> <li> Upon PBU reception, MAAR1 can install a tunnel on its side towards MAAR2 and the related routes for Pref1. Then MAAR1 replies to the CMD with a PBA (including the option mentioned before) to ensure that the new location has successfullychanged, containingchanged. The PBA contains the prefix anchored at MAAR1 in the Home Network Prefix option.</t> <t></li> <li> The CMD, after receiving the PBA, updates the BCEpopulatingand populates an instance of the P-MAAR list. The P-MAAR list is an additional field on the BCE that contains an element for each P-MAAR involved in the MN's mobility session. The list element contains the P-MAAR's global address and the prefix it has delegated. Also, the CMD sends a PBA to the new S-MAAR,containingwhich contains the previous Proxy-CoA and the prefix anchored to it embedded into a new mobility option called the Previous MAAROptionoption (defined in <xreftarget="subsec:pmaaropt"></xref>), so that,target="subsec_pmaaropt" format="default"/>). Then, upon PBA arrival, abi-directionalbidirectional tunnel can be established between the twoMAARsMAARs, and new routes are set appropriately to recover the IP flow(s) carrying Pref1.</t> <t> Now</li> <li> Now, packets destinedtofor Pref1 are first received by MAAR1, encapsulated into thetunneltunnel, and forwarded to MAAR2, which finally delivers them to their destination. In the uplink, when the MN transmits packets using Pref1 as a source address, they are sent toMAAR2, asMAAR2 (as it is the MN's new defaultgateway,gateway) and then tunneled toMAAR1MAAR1, which routes them towards the next hop to the destination. Conversely, packets carrying Pref2 are routed by MAAR2 without any special packet handling both for the uplink and downlink.</t> </list> </t></li> </ol> <figureanchor="fig:DMM2" title="Scenarioanchor="fig_DMM2"> <name>Scenario after ahandover,Handover, CMD asrelay"> <artwork><![CDATA[Relay</name> <artwork name="" type="" align="left" alt=""><![CDATA[ +-----+ +---+ +-----+ +--+ +--+ |MAAR1| |CMD| |MAAR2| |CN| |CN| +-----+ +---+ +-----+ +*-+ +*-+ | | | * * | | MN * +---+ * | | attach. ***** _|CMD|_ * | | det. flow1 * / +-+-+ \ *flow2 | |<-- PBU ---| * / | \ * | BCE | * / | ******* | check+ | * / | * \ | update | +---*-+-' +--+-*+ `+-----+ |<-- PBU*---| | | * | | *| | | route | | |MAAR1|______|MAAR2+-----+MAAR3| update | | | **(______)** *| | | |--- PBA*-->| | +-----+ +-*--*+ +-----+ | BCE | * * | update | Pref1 * *Pref2 | |--- PBA*-->| +*--*+ | | route ---move-->|*MN*| | | update +----+ Operations sequence DataPacketsPacket flow PBU/PBAMessagesmessages with * contain a new mobility option ]]></artwork> </figure> <t> For MN's nextmovementsmovements, the process isrepeated exceptrepeated, but the number of P-MAARs involved increases(accordingly(according to the number of prefixes that the MN wishes to maintain). Indeed, once the CMD receives the first PBU from the new S-MAAR, it forwards copies of the PBU to all the P-MAARs indicated in the BCE, namely theoneP-MAAR registered as the current P-CoA (i.e., the MAAR prior to handover) plus the ones in theP-MAARsP-MAAR list.TheyThose P-MAARs reply with a PBA to the CMD, which aggregatesthemall of the PBAs intoa singleone PBA to notify the S-MAAR,thatwhich finally can establish the tunnels with the P-MAARs. </t> <t> It should be noted that this design separates the mobility management at the prefix granularity, and it can be tuned in order to erase old mobility sessions when not required, while the MN is reachable through the latest prefix acquired. Moreover, the latency associatedtowith the mobility update is bound to the PBA sent by the furthest P-MAAR, in terms of RTT, that takes the longest time to reach the CMD. The drawback can be mitigated by introducing a timeout at the CMD, by which, after its expiration, all the PBAs so far collected are transmitted, and the remaining are sent later upon their arrival. Notethatthat, in thiscasecase, the S-MAAR might receive multiple PBAs from the CMD in response to a PBU. The CMDSHOULD<bcp14>SHOULD</bcp14> follow the retransmissions andrate limitingrate-limiting considerations described in <xreftarget="sec:retransmissions" />,target="sec_retransmissions" format="default"/>, especially when aggregating and relaying PBAs. </t> <t> When there are multipleprevious MAARs,P-MAARs, e.g., k MAARs, a single PBU received by the CMD triggers k outgoing packets from a single incoming packet. This may lead to packet burstsoriginatedoriginating from the CMD, albeit to different targets. Pacing mechanismsMUST<bcp14>MUST</bcp14> be introduced to avoid bursts on the outgoing link. </t> </section> <sectionanchor="subsec:locator" title="Theanchor="subsec_locator" numbered="true" toc="default"> <name>The CMD as MAARlocator">Locator</name> <t> The handover latency experienced in the approach shown before can be reduced if the P-MAARs are allowed tosignaldirectly signal their information to the new S-MAAR. This procedure reflects what was described in <xreftarget="subsec:relay" />target="subsec_relay" format="default"/> up to the moment the P-MAAR receives the PBU with theS-MAARServing MAAR option. At thatpointpoint, a P-MAAR is aware of the new MN's location (because of the S-MAAR's address in theS-MAARServing MAAR option), and, besides sending a PBA to the CMD, it also sends a PBA to theS-MAARS-MAAR, including the prefix it is anchoring. This latter PBA does not need to include new options, as the prefix is embedded in theHNPHome Network Prefix (HNP) option and the P-MAAR's address is taken from the message's source address. The CMD isrelievedreleased from forwarding the PBA to theS-MAAR,S-MAAR as the latter receives a copy directly from the P-MAAR with the necessary information to build the tunnels and set the appropriate routes. <xreftarget="fig:DMM3" />target="fig_DMM3" format="default"/> illustrates the new messagesequence, while thesequence. The data forwarding is unaltered. </t> <figureanchor="fig:DMM3" title="Scenarioanchor="fig_DMM3"> <name>Scenario after ahandover,Handover, CMD aslocator"> <artwork><![CDATA[Locator</name> <artwork name="" type="" align="left" alt=""><![CDATA[ +-----+ +---+ +-----+ +--+ +--+ |MAAR1| |CMD| |MAAR2| |CN| |CN| +-----+ +---+ +-----+ +*-+ +*-+ | | | * * | | MN * +---+ * | | attach. ***** _|CMD|_ * | | det. flow1 * / +-+-+ \ *flow2 | |<-- PBU ---| * / | \ * | BCE | * / | ******* | check+ | * / | * \ | update | +---*-+-' +--+-*+ `+-----+ |<-- PBU*---| | | * | | *| | | route | | |MAAR1|______|MAAR2+-----+MAAR3| update | | | **(______)** *| | | |--------- PBA -------->| +-----+ +-*--*+ +-----+ |--- PBA*-->| route * * | BCE update Pref1 * *Pref2 | update | +*--*+ | | | ---move-->|*MN*| | | | +----+ Operations sequence DataPacketsPacket flow PBU/PBAMessagesmessages with * contain a new mobility option ]]></artwork> </figure> </section> <sectionanchor="subsec:proxy" title="Theanchor="subsec_proxy" numbered="true" toc="default"> <name>The CMD asMAAR proxy">PBU/PBA Proxy</name> <t> A further enhancement of previous solutions can be achieved when the CMD sends the PBA to the new S-MAAR before notifying the P-MAARs of the location change. Indeed, when the CMD receives the PBU for the new registration, it is already in possession of all the information that the new S-MAAR requires to set up the tunnels and the routes.ThusThus, the PBA is sent to the S-MAAR immediately after a PBU is received, includingalsothe Previous MAAR option in thiscase the P-MAAR option.case. In parallel, a PBU is sent by the CMD to the P-MAARs containing theS-MAAR option,Serving MAAR option to notify them about the new MN'slocation,location so that they receive the information to establish the tunnels and routes on their side. When P-MAARs complete the update, they send a PBA to the CMD to indicate that the operationishas concluded and the information is updated in all network nodes. This procedure is obtained from the firstone re-arrangingprocedure rearranging the order of the messages, but the parameters communicated are the same. This scheme is depicted in <xreftarget="fig:DMM4"></xref>,target="fig_DMM4" format="default"/>, where, again, the data forwarding is kept untouched. </t> <figureanchor="fig:DMM4" title="Scenarioanchor="fig_DMM4"> <name>Scenario after ahandover,Handover, CMD asproxy"> <artwork><![CDATA[Proxy</name> <artwork name="" type="" align="left" alt=""><![CDATA[ +-----+ +---+ +-----+ +--+ +--+ |MAAR1| |CMD| |MAAR2| |CN| |CN| +-----+ +---+ +-----+ +*-+ +*-+ | | | * * | | MN * +---+ * | | attach. ***** _|CMD|_ * | | det. flow1 * / +-+-+ \ *flow2 | |<-- PBU ---| * / | \ * | BCE | * / | ******* | check+ | * / | * \ | update | +---*-+-' +--+-*+ `+-----+ |<-- PBU*---x--- PBA*-->| | * | | *| | | route | route |MAAR1|______|MAAR2+-----+MAAR3| update | update | **(______)** *| | | |--- PBA*-->| | +-----+ +-*--*+ +-----+ | BCE | * * | update | Pref1 * *Pref2 | | | +*--*+ | | | ---move-->|*MN*| | | | +----+ Operations sequence DataPacketsPacket flow PBU/PBAMessagesmessages with * contain a new mobility option ]]></artwork> </figure> </section> <sectionanchor="subsec:dereg" title="De-registration">anchor="subsec_dereg" numbered="true" toc="default"> <name>De-registration</name> <t> The de-registration mechanism devised for PMIPv6 cannot be usedas-isas is in thissolution. The reason for this is thatsolution because each MAAR handles an independent mobility session (i.e., a single prefix or a set of prefixes) for a given MN, whereas the aggregated session is stored at the CMD. Indeed, if aprevious MAARP-MAAR initiates a de-registrationprocedure,procedure because the MN is no longer present on the MAAR's access link, it removes the routing state forthat (those)the prefix(es), that would be deleted by the CMD as well, hence defeating any prefix continuity attempt. The simplest approach to overcome this limitation is to deny a P-MAAR to de-register a prefix, that is, allowing onlya serving MAARan S-MAAR to de-register the whole MN session. This can be achieved by first removing anylayer-2L2 detachmentevent,event so that de-registration is triggered only when the binding lifetime expires, hence providing a guard interval for the MN to connect to a new MAAR. Then, a change in the MAAR operations is required, and at thisstagestage, two possible solutions can be deployed:<list style="symbols"> <t></t> <ul spacing="normal"> <li> Aprevious MAARP-MAAR stops the BCE timer upon receiving a PBU from the CMD containing a "Serving MAAR" option. In thiswayway, only theServing MAARS-MAAR is allowed to de-register the mobility session, arguing that the MN definitely left the domain.</t> <t> Previous MAARs</li> <li> P-MAARs can, upon BCE expiry, send de-registration messages to the CMD, which, instead of acknowledging the message with a 0 lifetime, sends back a PBA with a non-zero lifetime, hencere-newingrenewing thesession,session if the MN is still connected to the domain.</t> </list> </t></li> </ul> </section> <sectionanchor="sec:retransmissions" title="Retransmissionsanchor="sec_retransmissions" numbered="true" toc="default"> <name>Retransmissions and RateLimiting">Limiting</name> <t>When sending PBUs, theThe node sendingthemPBUs (the CMD or S-MAAR)SHOULD<bcp14>SHOULD</bcp14> make use of the timeoutalsoto also deal with missing PBAs (to retransmit PBUs). The INITIAL_BINDACK_TIMEOUT <xref target="RFC6275"/> SHOULDformat="default"/> <bcp14>SHOULD</bcp14> be used for configuring the retransmission timer. The retransmissions by the nodeMUST<bcp14>MUST</bcp14> use an exponential backoff process in which the timeout period is doubled upon eachretransmission,retransmission until either the node receives a response or the timeout period reaches the value MAX_BINDACK_TIMEOUT <xref target="RFC6275"/>.format="default"/>. The nodeMAY<bcp14>MAY</bcp14> continue to send these messages at this slower rate indefinitely. The nodeMUST NOT<bcp14>MUST NOT</bcp14> send PBU messages to a particular node more than MAX_UPDATE_RATE times within a second <xref target="RFC6275"/>.format="default"/>. </t> </section> <sectionanchor="sec:dlif_concept" title="Theanchor="sec_dlif_concept" numbered="true" toc="default"> <name>The Distributed Logical Interface (DLIF)concept">Concept</name> <t> One of the main challenges of a network-based DMM solution is how to allow amobile nodeMN to simultaneously send/receive trafficwhichthat is anchored at differentMAARs,MAARs and how to influence themobile node'sMN's selection process of its source IPv6 address for a newflow,flow without requiring special support from themobile node'sMN's IP stack. This document defines theDistributed Logical Interface (DLIF),DLIF, which is a software construct in the MAAR thatallows tocan easily hide the change of associated anchors from themobile node.MN. </t> <figureanchor="fig:exposing_multiple_routers" title="DLIF: exposing multiple routers (oneanchor="fig_exposing_multiple_routers"> <name>DLIF: Exposing Multiple Routers (One perP-MAAR)"> <artwork><![CDATA[P-MAAR)</name> <artwork name="" type="" align="left" alt=""><![CDATA[ +---------------------------------------------------+ ( Operator's ) ( core ) +---------------------------------------------------+ | | +---------------+ tunnel +---------------+ | IP stack |===============| IP stack | +---------------+ +-------+-------+ | mn1mar1 |--+ (DLIFs) +--|mn1mar1|mn1mar2|--+ +---------------+ | | +-------+-------+ | | phy interface | | | | phy interface | | +---------------+ | | +---------------+ | MAAR1 (o) (o) MAAR2 (o) x x x x prefA::/64 x x prefB::/64 (AdvPrefLft=0) x x (o) | +-----+ prefA::MN1 | MN1 | prefB::MN1 (deprecated) +-----+ ]]></artwork> </figure> <t> The basic idea of the DLIF concept is the following: eachserving MAARS-MAAR exposes itselftowardsto a given MN as multiple routers, one per P-MAAR associatedtowith the MN. Let's consider the example shown in <xreftarget="fig:exposing_multiple_routers" />,target="fig_exposing_multiple_routers" format="default"/>: MN1 initially attaches to MAAR1, configuring an IPv6 address (prefA::MN1) from a prefix locally anchored at MAAR1 (prefA::/64). At this stage, MAAR1 playsboththe role of both anchoring and servingMAAR,MAAR and also behaves as a plain IPv6 access router. MAAR1 creates adistributed logical interfaceDLIF to communicate(point-to-point(through a point-to-point link) with MN1, exposing itself as a (logical) router withaspecific MAC and IPv6 addresses (e.g., prefA::MAAR1/64 and fe80::MAAR1/64) using the DLIF mn1mar1. As explained below, these addresses represent the "logical" identity of MAAR1towards MN1,for MN1 and will "follow" themobile nodeMN while roaming within the domain (note that the place where all this information is maintained and updated isout-of-scopeout of scope of thisdraft;document; potential examples are to keep it on the home subscriber server -- HSS -- or the user's profile). </t> <t> If MN1 moves and attaches to a different MAAR of the domain (MAAR2 in the example of <xreftarget="fig:exposing_multiple_routers" />),target="fig_exposing_multiple_routers" format="default"/>), this MAAR will create a new logical interface (mn1mar2) to expose itselftowardsto MN1, providing it with a locally anchored prefix (prefB::/64). In this case, since the MN1 has another active IPv6 address anchored ataMAAR1, MAAR2 also needs to create an additional logical interface configured to resemble the one used by MAAR1 to communicate with MN1. In this example,thereMAAR1 is the onlyoneP-MAAR(in addition to MAAR2, which(MAAR2 isthe serving one): MAAR1,the same as S-MAAR), so only the logical interface mn1mar1 iscreated, butcreated. However, the same process would be repeatedin case there wereif more P-MAARs were involved. In order tomaintainkeep the prefix anchored at MAAR1 reachable, a tunnel between MAAR1 and MAAR2 is established and the routing is modified accordingly. The PBU/PBA signaling is used toset-upset up thebi-directionalbidirectional tunnel between MAAR1 and MAAR2, and it might also be used to conveyto MAAR2the information about the prefix(es) anchored at MAAR1 andaboutthe addresses of the associated DLIF (i.e.,mn1mar1).mn1mar1) to MAAR2. </t> <figureanchor="fig:dlif_concept" title="Distributedanchor="fig_dlif_concept"> <name>Distributed Logical Interfaceconcept"> <artwork><![CDATA[Concept</name> <artwork name="" type="" align="left" alt=""><![CDATA[ +------------------------------------------+ +----------------------+ | MAAR1 | | MAAR2 | |+----------------------------------------+| |+--------------------+| ||+------------------++------------------+|| ||+------------------+|| |||+-------++-------+||+-------++-------+||| |||+-------++-------+||| ||||mn3mar1||mn3mar2||||mn2mar1||mn2mar2|||| ||||mn1mar1||mn1mar2|||| |||| LMAC1 || LMAC2 |||| LMAC3 || LMAC4 |||| |||| LMAC5 || LMAC6 |||| |||+-------++-------+||+-------++-------+||| |||+-------++-------+||| ||| LIFs of MN3 || LIFs of MN2 ||| ||| LIFs of MN1 ||| ||+------------------++------------------+|| ||+------------------+|| || MAC1 (phy if MAAR1) || || MAC2 (phy if MAAR2)|| |+----------------------------------------+| |+--------------------+| +------------------------------------------+ +----------------------+ x x x x x x (o) (o) (o) | | | +--+--+ +--+--+ +--+--+ | MN3 | | MN2 | | MN1 | +-----+ +-----+ +-----+ ]]></artwork> </figure> <t> <xreftarget="fig:dlif_concept" />target="fig_dlif_concept" format="default"/> shows the logical interface concept in more detail. The figure shows two MAARs and three MNs. MAAR1 is currently serving MN2 and MN3, while MAAR2 is serving MN1. Note thata serving MAARan S-MAAR always plays the role of anchoring MAAR for the attached (served) MNs. Each MAAR has one single physical wireless interface as depicted in this example. </t> <t> Asintroduceddiscussed before, each MN always "sees" multiple logical routers -- one per anchoring MAAR -- independently of its currentlyserving MAAR.S-MAAR. From the point of view of the MN, these MAARs are portrayed as different routers, although the MN is physically attached toonea single interface.The way thisThis is achievedisby theserving MAARS-MAAR configuring different logical interfaces.Focusing on MN1, itMN1 is currently attached to MAAR2 (i.e., MAAR2 is itsserving MAAR)S-MAAR) and, therefore, it has configured an IPv6 address from MAAR2's pool (e.g., prefB::/64). MAAR2 hasset-upset up a logical interface (mn1mar2) on top of its wireless physical interface (phy ifMAAR2)MAAR2), which is used to serve MN1. This interface has a logical MAC address(LMAC6),(LMAC6) that is different from the hardware MAC address (MAC2) of the physical interface of MAAR2. Over the mn1mar2 interface, MAAR2 advertises its locally anchored prefix prefB::/64. Before attaching to MAAR2, MN1 was attached toMAAR1, configuring also an addressMAAR1 and configured a locally anchored address at that MAAR, which is still being used by MN1 in active communications. MN1 keeps "seeing" an interface connecting toMAAR1,MAAR1 as if it were directly connected to the two MAARs. This is achieved by theserving MAARS-MAAR (MAAR2) configuring an additionaldistributed logical interface:DLIF, mn1mar1, which behaves as the logical interface configured by MAAR1 when MN1 was attached to it. This means that both the MAC and IPv6 addresses configured on this logical interface remain the same regardless of the physical MAARwhichthat is serving the MN. The information required bya serving MAARan S-MAAR to properly configure this logical interfaces can be obtained in different ways: as part of the information conveyed in the PBA, from an external database (e.g., the HSS) or by other means. As shown in the figure, each MAAR may have several logical interfaces associatedtowith each attachedMN, havingMN and always has at least one (sincea serving MAARan S-MAAR is also an anchoring MAAR for the attached MN). </t> <t> In order to enforce the use of the prefix locally anchored at theserving MAAR,S-MAAR, therouter advertisementsRAs sent over those logical interfaces playing the role of anchoring MAARs (different from the serving one) include a zero preferred prefix lifetime (and a non-zero valid prefix lifetime, so the prefix remainsvalid,valid while being deprecated). The goal is to deprecate the prefixes delegated by these MAARs (so that they will no longer be serving the MN). Note thaton-goingongoing communications may keep on using thoseaddresses,addresses even if they are deprecated, so this only affects the establishment of new sessions. </t> <t> Thedistributed logical interfaceDLIF concept also enables the following use case: suppose that access to a local IP network is provided by a given MAAR (e.g., MAAR1 in the example shown in <xreftarget="fig:exposing_multiple_routers" />)target="fig_exposing_multiple_routers" format="default"/>) and that the resources available at that network cannot be reached from outside the local network (e.g., cannot be accessed by an MN attached to MAAR2). This is similar to the local IP access scenario considered by 3GPP, where a local gateway node is selected for sessions requiring access to services provided locally (instead of going through a central gateway). The goal is to allow an MN to be able to roam while still being able to have connectivity to this local IP network. The solution adopted to support this case makes use of more specific routes, as discussed in RFC 4191 <xref target="RFC4191"/> more specific routesformat="default"/>, when the MN moves to a MAAR different from the one providing access to the local IP network (MAAR1 in the example). These routes are advertised through thedistributed logical interface representingDLIF where the MAAR is providing access to the local network (MAAR1 in this example). In this way, if MN1 moves from MAAR1 to MAAR2, any active session that MN1 may have with a node on the local network connected to MAAR1 will survive via the tunnel between MAAR1 and MAAR2. Also, any potential future connection attempttowardsto the local network will besupported,supported even though MN1 is no longer attached toMAAR1.MAAR1, so long as a source address configured from MAAR1 is selected for new connections (see <xref target="RFC6724"/>, rule 5.5). </t> </section> </section><!-- end of section "PMIPv6-based" --><sectionanchor="subsec:messages" title="Message Format">anchor="subsec_messages" numbered="true" toc="default"> <name>Message Format</name> <t> This section defines extensions to theProxy Mobile IPv6PMIPv6 <xref target="RFC5213"/>format="default"/> protocol messages. </t> <sectionanchor="sec:pbu_format" title="Proxyanchor="sec_pbu_format" numbered="true" toc="default"> <name>Proxy BindingUpdate">Update</name> <t> A new flag (D) is included in theProxy Binding UpdatePBU to indicate that theProxy Binding UpdatePBU is coming from a MAAR or a CMD and not from amobile access gateway.MAG. The rest of theProxy Binding UpdatePBU format remains the same as defined in <xref target="RFC5213"/>.format="default"/>. </t><figure> <artwork><![CDATA[<artwork name="" type="" align="left" alt=""><![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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence # | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |A|H|L|K|M|R|P|F|T|B|S|D| Rsrvd | Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . MobilityoptionsOptions . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork></figure> <t><dl newline="true" spacing="normal"> <dt> DMM Flag(D) <list> <t>(D)</dt> <dd> The DFlagflag is set to indicate to the receiver of the message that theProxy Binding UpdatePBU is from a MAAR or a CMD. When an LMA that does not support the extensions described in this document receives a message with theD-FlagD flag set, the PBU in that caseMUST NOT<bcp14>MUST NOT</bcp14> be processed by theLMALMA, and an errorMUST<bcp14>MUST</bcp14> be returned.</t> </list> </t> <t> Mobility Options <list> <t></dd> <dt>Mobility Options</dt> <dd> Variable-length field of such length that the complete Mobility Header is an integer that is a multiple of 8 octets long. This field contains zero or more TLV-encoded mobility options. The encoding and format of the defined options are described inSection 6.2 of<xref target="RFC6275"/>.sectionFormat="of" section="6.2"/>. The receiving nodeMUST<bcp14>MUST</bcp14> ignore and skip any options that it does not understand.</t> </list> </t></dd> </dl> </section> <sectionanchor="sec:pba_format" title="Proxyanchor="sec_pba_format" numbered="true" toc="default"> <name>Proxy BindingAcknowledgment">Acknowledgement</name> <t> A new flag (D) is included in theProxy Binding AcknowledgmentPBA to indicate that the sender supports operating as a MAAR or CMD. The rest of theProxy Binding AcknowledgmentPBA format remains the same as defined in <xref target="RFC5213"/>.format="default"/>. </t><figure> <artwork><![CDATA[<artwork name="" type="" align="left" alt=""><![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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Status |K|R|P|T|B|S|D| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence # | Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . MobilityoptionsOptions . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork></figure> <t><dl newline="true" spacing="normal"> <dt> DMM Flag(D) <list> <t>(D)</dt> <dd> The D flag is set to indicate that the sender of the message supports operating as a MAAR oraCMD. When a MAG that does not support the extensions described in this document receives a message with theD-FlagD flag set, itMUST<bcp14>MUST</bcp14> ignore themessagemessage, and an errorMUST<bcp14>MUST</bcp14> be returned.</t> </list> </t> <t> Mobility Options <list> <t></dd> <dt>Mobility Options</dt> <dd> Variable-length field of such length that the complete Mobility Header is an integer multiple of 8 octets long. This field contains zero or more TLV-encoded mobility options. The encoding and format of the defined options are described inSection 6.2 of<xref target="RFC6275"/>.sectionFormat="of" section="6.2"/>. The MAARMUST<bcp14>MUST</bcp14> ignore and skip any options that it does not understand.</t> </list> </t></dd> </dl> </section> <sectionanchor="sec:anchored_prefix_format" title="Anchoredanchor="sec_anchored_prefix_format" numbered="true" toc="default"> <name>Anchored PrefixOption">Option</name> <t> A new Anchored Prefix option is defined for use with theProxy Binding UpdatePBU andProxy Binding AcknowledgmentPBA messages exchanged between MAARs and CMDs. Therefore, this option can only appear if the D bit is set in a PBU/PBA. This option is used for exchanging themobile node'sMN's prefix anchored at the anchoring MAAR. There can be multiple Anchored Prefix options present in the message. </t> <t> The Anchored PrefixOptionoption has an alignment requirement of 8n+4. Its format is as follows: </t><figure> <artwork><![CDATA[<artwork name="" type="" align="left" alt=""><![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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Reserved | Prefix Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Anchored Prefix + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork></figure> <t> Type <list> <t> IANA-1. </t> </list> </t> <t> Length <list> <t><dl newline="true" spacing="normal"><dt> Type</dt> <dd>65</dd> <dt>Length</dt> <dd> 8-bit unsigned integer indicating the length of the option in octets, excluding the type and length fields. This fieldMUST<bcp14>MUST</bcp14> be set to 18.</t> </list> </t> <t> Reserved <list> <t></dd> <dt> Reserved</dt> <dd> This field is unusedfor now.at the time of publication. The valueMUST<bcp14>MUST</bcp14> be initialized to 0 by the sender andMUST<bcp14>MUST</bcp14> be ignored by the receiver.</t> </list> </t> <t></dd> <dt> Prefix Length<list> <t></dt> <dd> 8-bit unsigned integer indicating the prefix length in bits of the IPv6 prefix contained in the option.</t> </list> </t> <t></dd> <dt> Anchored Prefix<list> <t></dt> <dd> Asixteen-octet16-octet field containing themobile node'sMN's IPv6 Anchored Prefix. Only the first Prefix Length bits are valid for the AnchoredPrefix.Prefix option. The rest of the bitsMUST<bcp14>MUST</bcp14> be ignored.</t> </list> </t></dd> </dl> </section> <sectionanchor="sec:local_prefix_format" title="Localanchor="sec_local_prefix_format" numbered="true" toc="default"> <name>Local PrefixOption">Option</name> <t> A new Local Prefix option is defined for use with theProxy Binding UpdatePBU andProxy Binding AcknowledgmentPBA messages exchanged between MAARs or between a MAAR and a CMD. Therefore, this option can only appear if the D bit is set in a PBU/PBA. This option is used for exchanging a prefix of a local network that is only reachable via the anchoring MAAR. There can be multiple Local Prefix options present in the message. </t> <t> The Local PrefixOptionoption has an alignment requirement of 8n+4. Its format is as follows: </t><figure> <artwork><![CDATA[<artwork name="" type="" align="left" alt=""><![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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Reserved | Prefix Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Local Prefix + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork> </figure> <t>]]></artwork> <dl newline="true" spacing="normal"> <dt> Type<list> <t> IANA-2. </t> </list> </t> <t></dt> <dd> 66 </dd> <dt> Length<list> <t></dt> <dd> 8-bit unsigned integer indicating the length of the option in octets, excluding the type and length fields. This fieldMUST<bcp14>MUST</bcp14> be set to 18.</t> </list> </t> <t></dd> <dt> Reserved<list> <t></dt> <dd> This field is unusedfor now.at the time of publication. The valueMUST<bcp14>MUST</bcp14> be initialized to 0 by the sender andMUST<bcp14>MUST</bcp14> be ignored by the receiver.</t> </list> </t> <t></dd> <dt> Prefix Length<list> <t></dt> <dd> 8-bit unsigned integer indicating the prefix length in bits of the IPv6 prefix contained in the option.</t> </list> </t> <t></dd> <dt> Local Prefix<list> <t></dt> <dd> Asixteen-octet16-octet field containing the IPv6 Local Prefix. Only the first Prefix Length bits are valid for the IPv6 Local Prefix. The rest of the bitsMUST<bcp14>MUST</bcp14> be ignored.</t> </list> </t></dd> </dl> </section> <sectionanchor="subsec:pmaaropt" title="Previousanchor="subsec_pmaaropt" numbered="true" toc="default"> <name>Previous MAAROption">Option</name> <t> This new option is defined for use with theProxy Binding AcknowledgementPBA messages exchanged by the CMD to a MAAR. This option is used to notify the S-MAAR about theprevious MAAR'sP-MAAR's global address and the prefix anchored to it. There can be multiple Previous MAAR options present in the message.Its format is as follows:</t> <t> The Previous MAAROptionoption has an alignment requirement of 8n+4. Its format is as follows: </t><figure> <artwork><![CDATA[<artwork name="" type="" align="left" alt=""><![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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Reserved | Prefix Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | +P-MAAR's addressPrevious MAAR + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Home Network Prefix + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork></figure> <t>Type <list> <t> IANA-3. </t> </list> </t> <t><dl newline="true" spacing="normal"> <dt>Type </dt> <dd> 67 </dd> <dt> Length<list> <t></dt> <dd> 8-bit unsigned integer indicating the length of the option in octets, excluding the type and length fields. This fieldMUST<bcp14>MUST</bcp14> be set to 34.</t> </list> </t> <t></dd> <dt> Reserved<list> <t></dt> <dd> This field is unusedfor now.at the time of publication. The valueMUST<bcp14>MUST</bcp14> be initialized to 0 by the sender andMUST<bcp14>MUST</bcp14> be ignored by the receiver.</t> </list> </t> <t></dd> <dt> Prefix Length<list> <t></dt> <dd> 8-bit unsigned integer indicating the prefix length in bits of the IPv6 prefix contained in the option.</t> </list> </t> <t></dd> <dt> PreviousMAAR's address <list> <t>MAAR </dt> <dd> Asixteen-octet16-octet field containing the P-MAAR's IPv6 global address.</t> </list> </t> <t></dd> <dt> Home Network Prefix<list> <t></dt> <dd> Asixteen-octet16-octet field containing themobile node'sMN's IPv6 Home Network Prefix. Only the first Prefix Length bits are valid for themobile node'sMN's IPv6 Home Network Prefix. The rest of the bitsMUST<bcp14>MUST</bcp14> be ignored.</t> </list> </t></dd> </dl> </section> <sectionanchor="subsec:smaaropt" title="Servinganchor="subsec_smaaropt" numbered="true" toc="default"> <name>Serving MAAROption">Option</name> <t> This new option is defined for use with theProxy Binding UpdatePBU message exchanged between the CMD and aPrevious MAAR.P-MAAR. This option is used to notify the P-MAAR about the currentServing MAAR'sS-MAAR's global address. Its format is as follows: </t> <t> The Serving MAAROptionoption has an alignment requirement of 8n+6. Its format is as follows: </t><figure> <artwork><![CDATA[<artwork name="" type="" align="left" alt=""><![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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + S-MAAR'saddressAddress + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork></figure> <t>Type <list> <t> IANA-4. </t> </list> </t> <t><dl newline="true" spacing="normal"> <dt>Type </dt> <dd> 68 </dd> <dt> Length<list> <t></dt> <dd> 8-bit unsigned integer indicating the length of the option in octets, excluding the type and length fields. This fieldMUST<bcp14>MUST</bcp14> be set to 16.</t> </list> </t> <t></dd> <dt> ServingMAAR's address <list> <t>MAAR </dt> <dd> Asixteen-octet16-octet field containing the S-MAAR's IPv6 global address.</t> </list> </t></dd> </dl> </section> <sectionanchor="sec:dlif_link_local_format" title="DLIF Link-localanchor="sec_dlif_link_local_format" numbered="true" toc="default"> <name>DLIF Link-Local AddressOption">Option</name> <t> A new DLIFLink-localLink-Local Address option is defined for use with theProxy Binding AcknowledgmentPBA message exchanged between MAARs and between a MAAR and a CMD. This option is used for exchanging the link-local address of the DLIF to be configured on theserving MAARS-MAAR so it resembles the DLIF configured on the P-MAAR. </t> <t> The DLIFLink-localLink-Local Address option has an alignment requirement of 8n+6. Its format is as follows: </t><figure> <artwork><![CDATA[<artwork name="" type="" align="left" alt=""><![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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + DLIFLink-localLink-Local Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork></figure> <t><dl newline="true" spacing="normal"> <dt> Type<list> <t> IANA-5. </t> </list> </t> <t></dt> <dd> 69 </dd> <dt> Length<list> <t></dt> <dd> 8-bit unsigned integer indicating the length of the option in octets, excluding the type and length fields. This fieldMUST<bcp14>MUST</bcp14> be set to 16.</t> </list> </t> <t></dd> <dt> DLIFLink-localLink-Local Address<list> <t></dt> <dd> Asixteen-octet16-octet field containing the link-local address of the logical interface.</t> </list> </t></dd> </dl> </section> <sectionanchor="sec:dlif_link_layer_format" title="DLIF Link-layeranchor="sec_dlif_link_layer_format" numbered="true" toc="default"> <name>DLIF Link-Layer AddressOption">Option</name> <t> A new DLIFLink-layerLink-Layer Address option is defined for use with theProxy Binding AcknowledgmentPBA message exchanged between MAARs andbetwwebetween a MAAR and a CMD. This option is used for exchanging the link-layer address of the DLIF to be configured on theserving MAARS-MAAR so it resembles the DLIF configured on the P-MAAR. </t> <t> The format of the DLIFLink-layerLink-Layer Address option is shown below. Based on the size of the address, the optionMUST<bcp14>MUST</bcp14> be aligned appropriately, as per the mobility option alignment requirements specified in <xref target="RFC6275"/>.format="default"/>. </t><figure> <artwork><![CDATA[<artwork name="" type="" align="left" alt=""><![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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + DLIFLink-layerLink-Layer Address + . ... . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork></figure> <t><dl newline="true" spacing="normal"> <dt> Type<list> <t> IANA-6. </t> </list> </t> <t></dt> <dd> 70 </dd> <dt> Length<list> <t></dt> <dd> 8-bit unsigned integer indicating the length of the option in octets, excluding the type and length fields.</t> </list> </t> <t></dd> <dt> Reserved<list> <t></dt> <dd> This field is unusedfor now.at the time of publication. The valueMUST<bcp14>MUST</bcp14> be initialized to 0 by the sender andMUST<bcp14>MUST</bcp14> be ignored by the receiver.</t> </list> </t> <t></dd> <dt> DLIFLink-layerLink-Layer Address<list> <t></dt> <dd><t> A variable length field containing the link-layer address of the logical interface to be configured on the S-MAAR.</t> <t></t><t> The content and format of this field (including octet and bit ordering) is as specified inSection 4.6 of<xref target="RFC4861"/>sectionFormat="of" section="4.6"/> for carrying link-layer addresses. On certain accesslinks,links where the link-layer address is not used or cannot be determined, this option cannot be used.</t> </list> </t></t></dd> </dl> </section> </section><!-- end of section "Message format" --><section anchor="IANA"title="IANA Considerations">numbered="true" toc="default"> <name>IANA Considerations</name> <t> This document defines six new mobilityoptions, theoptions: AnchoredPrefix Option, thePrefix, LocalPrefix Option, thePrefix, PreviousMAAR Option, theMAAR, ServingMAAR Option, theMAAR, DLIFLink-local Address OptionLink-Local Address, andtheDLIFLink-layer Address Option. TheLink-Layer Address. IANA has assigned Typevaluevalues for these optionsneeds to be assignedfrom the same numbering space as allocated for the other mobility options in the "Mobility Options" registry defined inhttp://www.iana.org/assignments/mobility-parameters. The required IANA actions are marked as IANA-1 to IANA-6.<eref target="http://www.iana.org/assignments/mobility-parameters"/>. </t> <t> This document reserves a new flag (D) with a value of 0x0010 in the "Binding Update Flags" registry and a new flag (D) with a value of 0x02 in the "Binding Acknowledgment Flags" of the "Mobile IPv6 parameters" registryhttp://www.iana.org/assignments/mobility-parameters.(<eref target="http://www.iana.org/assignments/mobility-parameters"/>). </t> </section> <section anchor="Security"title="Security Considerations">numbered="true" toc="default"> <name>Security Considerations</name> <t> The protocol extensions defined in this document share the same security concerns ofProxy Mobile IPv6PMIPv6 <xref target="RFC5213"/>.format="default"/>. It is recommended that the signaling messages,Proxy Binding UpdatePBU andProxy Binding Acknowledgment,PBA, exchanged between the MAARsarebe protected usingIPsecIPsec, specifically by using the established security association between them. This essentially eliminates the threats related to the impersonation of a MAAR. </t> <t> When the CMD acts as a PBU/PBA relay, the CMD may act as a relay of a single PBU to multipleprevious MAARs.P-MAARs. In situationsofwith many fast handovers (e.g., with vehicular networks),there may existmultiple previous (e.g., k)MAARs.MAARs may exist. In this situation, the CMD creates k outgoing packets from a single incoming packet. This bears a certain amplification risk. The CMDMUST<bcp14>MUST</bcp14> use a pacing approach in the outgoing queue to cap the output traffic (i.e., the rate of PBUs sent) to limit this amplification risk. </t> <t> When the CMD acts as a MAAR locator, mobility signaling (PBAs) is exchanged between P-MAARs and the current S-MAAR. Hence, security associations areREQUIRED<bcp14>REQUIRED</bcp14> to exist between the involved MAARs (in addition to the ones needed with the CMD). </t> <t> Sincederegistrationde-registration is performed by timeout, measuresSHOULD<bcp14>SHOULD</bcp14> be implemented to minimize the risks associatedtowith continued resource consumption (DoS attacks), e.g., imposing a limitofon the number of P-MAARs associatedtowith a given MN. </t> <t> The CMD and the participating MAARsMUST<bcp14>MUST</bcp14> be trustedparties,parties authorized perform all operations relevant to their role. </t> <t> There are some privacy considerations to consider. While the involved parties trust each other, thesignallingsignaling involves disclosing information about the previous locations visited by each MN, as well as the active prefixes they are using at a given point of time. Therefore, mechanismsMUST<bcp14>MUST</bcp14> be in place to ensure that MAARs andCMDCMDs do not disclose this information to other partiesnoror use it for other endsthatthan providing the distributed mobility support specified in this document. </t> </section> </middle> <back> <displayreference target="I-D.bernardos-dmm-distributed-anchoring" to="DISTRIBUTED-ANCHORING"/> <displayreference target="I-D.bernardos-dmm-pmip" to="DMM-PMIP"/> <references> <name>References</name> <references> <name>Normative References</name> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6275.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5213.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4191.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4861.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7333.xml"/> </references> <references> <name>Informative References</name> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7429.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8563.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6724.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.bernardos-dmm-distributed-anchoring.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.bernardos-dmm-pmip.xml"/> </references> </references> <section anchor="Acknowledgments"title="Acknowledgments">numbered="false" toc="default"> <name>Acknowledgements</name> <t> The authors would like to thankDirk<contact fullname="Dirk vonHugo, John Kaippallimalil, Ines Robles, Joerg Ott, Carlos Pignataro, Vincent Roca, Mirja Kühlewind, Éric Vyncke, Adam Roach, Benjamin Kaduk and Roman DanyliwHugo"/>, <contact fullname="John Kaippallimalil"/>, <contact fullname="Ines Robles"/>, <contact fullname="Joerg Ott"/>, <contact fullname="Carlos Pignataro"/>, <contact fullname="Vincent Roca"/>, <contact fullname="Mirja Kühlewind"/>, <contact fullname="Éric Vyncke"/>, <contact fullname="Adam Roach"/>, <contact fullname="Benjamin Kaduk"/>, and <contact fullname="Roman Danyliw"/> for the comments on this document. The authors would also like to thankMarco Liebsch, Dirk<contact fullname="Marco Liebsch"/>, <contact fullname="Dirk vonHugo, Alex Petrescu, Daniel Corujo, Akbar Rahman, Danny Moses, Xinpeng Wei and Satoru MatsushimaHugo"/>, <contact fullname="Alex Petrescu"/>, <contact fullname="Daniel Corujo"/>, <contact fullname="Akbar Rahman"/>, <contact fullname="Danny Moses"/>, <contact fullname="Xinpeng Wei"/>, and <contact fullname="Satoru Matsushima"/> for their comments and discussion on the documents <xref target="I-D.bernardos-dmm-distributed-anchoring"/>format="default"/> and <xref target="I-D.bernardos-dmm-pmip"/>format="default"/>, on which the present document is based. </t> <t> The authors would also like to thankLyle Bertz and Danny Moses<contact fullname="Lyle Bertz"/> and <contact fullname="Danny Moses"/> for theirin-deepin-depth review of this document and their very valuable comments and suggestions. </t> </section></middle> <back> <references title="Normative References"> &rfc2119; &rfc8174; &rfc6275; &rfc5213; &rfc4191; &rfc4861; &rfc7333; </references> <references title="Informative References"> &rfc7429; &rfc8563; &I-D.bernardos-dmm-distributed-anchoring; &I-D.bernardos-dmm-pmip; </references> <!----></back> </rfc>