| rfc8653xml2.original.xml | rfc8653.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| <?rfc toc="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" | |||
| <?rfc tocompact="yes"?> | docName="draft-ietf-dmm-ondemand-mobility-18" | |||
| <?rfc tocdepth="3"?> | number="8653" | |||
| <?rfc tocindent="yes"?> | updates="" | |||
| <?rfc symrefs="yes"?> | obsoletes="" | |||
| <?rfc sortrefs="yes"?> | category="info" | |||
| <?rfc comments="yes"?> | submissionType="IETF" | |||
| <?rfc inline="yes"?> | consensus="true" | |||
| <?rfc compact="yes"?> | ipr="trust200902" | |||
| <?rfc subcompact="no"?> | sortRefs="true" | |||
| <rfc category="info" docName="draft-ietf-dmm-ondemand-mobility-18" | symRefs="true" | |||
| ipr="trust200902"> | tocInclude="true" | |||
| xml:lang="en" | ||||
| <!-- | version="3"> | |||
| This is a comment | <!-- xml2rfc v2v3 conversion 2.25.0 --> | |||
| <front> | <front> | |||
| <title abbrev="On Demand Mobility">On Demand Mobility Management</title> | <title abbrev="On-Demand Mobility">On-Demand Mobility Management</title> | |||
| <seriesInfo name="RFC" value="8653"/> | ||||
| <author fullname="Alper Yegin" initials="A." surname="Yegin"> | <author fullname="Alper Yegin" initials="A." surname="Yegin"> | |||
| <organization abbrev="Actility">Actility</organization> | <organization abbrev="Actility">Actility</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city>Istanbul</city> | <city>Istanbul</city> | |||
| <region/> | <region/> | |||
| <code/> | <code/> | |||
| <country>Turkey</country> | <country>Turkey</country> | |||
| </postal> | </postal> | |||
| <email>alper.yegin@actility.com</email> | <email>alper.yegin@actility.com</email> | |||
| </address> | </address> | |||
| skipping to change at line 51 ¶ | skipping to change at line 47 ¶ | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city>Petah Tikva</city> | <city>Petah Tikva</city> | |||
| <region/> | <region/> | |||
| <code/> | <code/> | |||
| <country>Israel</country> | <country>Israel</country> | |||
| </postal> | </postal> | |||
| <email>danny.moses@intel.com</email> | <email>danny.moses@intel.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Seil Jeon" initials="S." surname="Jeon"> | <author fullname="Seil Jeon" initials="S." surname="Jeon"> | |||
| <organization>Sungkyunkwan University</organization> | <organization>Sungkyunkwan University</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city>Suwon</city> | <city>Suwon</city> | |||
| <region/> | <region/> | |||
| <code/> | <code/> | |||
| <country>South Korea</country> | <country>Republic of Korea</country> | |||
| </postal> | </postal> | |||
| <email>seiljeon@skku.edu</email> | <email>seiljeon.ietf@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date/> | <date month="October" year="2019"/> | |||
| <workgroup>DMM Working Group</workgroup> | <workgroup>DMM Working Group</workgroup> | |||
| <abstract> | <abstract> | |||
| <t>Applications differ with respect to whether they need session | <t>Applications differ with respect to whether they need session | |||
| continuity and/or IP address reachability. The network providing the | continuity and/or IP address reachability. The network providing the | |||
| same type of service to any mobile host and any application running on | same type of service to any mobile host and any application running on | |||
| the host yields inefficiencies, as described in <xref target="RFC7333"> </xref>. | the host yields inefficiencies, as described in RFC 7333. | |||
| This document defines a new concep of enabling applications to influenc e the | This document defines a new concept of enabling applications to influen ce the | |||
| network's mobility services (session continuity and/or IP address reach ability) | network's mobility services (session continuity and/or IP address reach ability) | |||
| on a per-Socket basis, and suggests extensions to the networking stack' | on a per-socket basis, and suggests extensions to the networking stack' | |||
| s API | s API | |||
| to accomodate this concept. | to accommodate this concept. | |||
| </t> | </t> | |||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section anchor="introduction" title="Introduction"> | <section anchor="introduction" numbered="true" toc="default"> | |||
| <name>Introduction</name> | ||||
| <t>In the context of Mobile IP <xref target="RFC5563"></xref><xref | <t>In the context of Mobile IP <xref target="RFC5563" format="default"/> < | |||
| target="RFC6275"></xref><xref target="RFC5213"></xref><xref target=" | xref target="RFC6275" format="default"/> | |||
| RFC5944"></xref>, | <xref target="RFC5213" format="default"/> <xref target="RFC5944" format="default | |||
| "/>, | ||||
| the following two attributes are defined for IP service p rovided to | the following two attributes are defined for IP service p rovided to | |||
| mobile hosts:</t> | mobile hosts:</t> | |||
| <dl newline="true"> | ||||
| <t>- Session Continuity</t> | <dt>Session Continuity</dt> | |||
| <dd>The ability to maintain an ongoing transport interaction | ||||
| <t>The ability to maintain an ongoing transport interaction | by keeping the same local endpoint IP address throughout | |||
| by keeping the same local end-point IP address throughout | the lifetime of the IP | |||
| the life-time of the IP | ||||
| socket despite the mobile host changing its point of atta chment within the IP | socket despite the mobile host changing its point of atta chment within the IP | |||
| network topology. The IP address of the host may change a fter closing the IP socket | network topology. The IP address of the host may change a fter closing the IP socket | |||
| and before opening a new one, but that does not jeopardiz e the ability of applications | and before opening a new one, but that does not jeopardiz e the ability of applications | |||
| using these IP sockets to work flawlessly. Session contin uity is essential for mobile | using these IP sockets to work flawlessly. Session contin uity is essential for mobile | |||
| hosts to maintain ongoing flows without any interruption. | hosts to maintain ongoing flows without any interruption. | |||
| </t> | </dd> | |||
| <dt>IP Address Reachability</dt> | ||||
| <t>- IP Address Reachability</t> | <dd>The ability to maintain the same IP address | |||
| <t>The ability to maintain the same IP address | ||||
| for an extended period of time. The IP address stays the same across | for an extended period of time. The IP address stays the same across | |||
| independent sessions, and even in the absence of any sess | independent sessions, even in the absence of any session. | |||
| ion. The | The | |||
| IP address may be published in a long-term registry (e.g. | IP address may be published in a long-term registry (e.g. | |||
| , DNS), and | , DNS) and | |||
| is made available for serving incoming (e.g., TCP) connec tions. IP | is made available for serving incoming (e.g., TCP) connec tions. IP | |||
| address reachability is essential for mobile hosts to use | address reachability is essential for mobile hosts to use | |||
| specific/published IP addresses.</t> | specific/published IP addresses.</dd> | |||
| </dl> | ||||
| <t>Mobile IP is designed to provide both session continuity and IP | <t>Mobile IP is designed to provide both session continuity and IP | |||
| address reachability to mobile hosts. Architectures utili | address reachability to mobile hosts. Architectures using | |||
| zing these | these | |||
| protocols (e.g., 3GPP, 3GPP2, WIMAX) ensure that any mobi | protocols (e.g., 3GPP, 3GPP2, WiMAX) ensure that any mobi | |||
| le host | le host | |||
| attached to the compliant networks can enjoy these benefi | attached to a compliant network can enjoy these benefits. | |||
| ts. Any | Any | |||
| application running on these mobile hosts is subjected to the same | application running on these mobile hosts is subjected to the same | |||
| treatment with respect to session continuity and IP addre ss | treatment with respect to session continuity and IP addre ss | |||
| reachability.</t> | reachability.</t> | |||
| <t>Achieving session continuity and IP address reachability with | ||||
| <t>Achieving session continuity and IP address reachability with | Mobile IP incurs some cost. Mobile IP forces the mobile h | |||
| Mobile IP incurs some cost. Mobile IP protocol forces the | ost's | |||
| mobile host's | IP traffic to traverse a centrally located router (Home A | |||
| IP traffic to traverse a centrally-located router (Home A | gent, HA), | |||
| gent, HA), | ||||
| which incurs additional transmission latency and use of a dditional | which incurs additional transmission latency and use of a dditional | |||
| network resources, adds to the network CAPEX and OPEX, an d decreases the | network resources, adds to the network's operating and ca pital expenditures, and decreases the | |||
| reliability of the network due to the introduction of a s ingle point of | reliability of the network due to the introduction of a s ingle point of | |||
| failure <xref target="RFC7333"></xref>. Therefore, sessio | failure <xref target="RFC7333" format="default"/>. Theref | |||
| n continuity | ore, session continuity | |||
| and IP address reachability SHOULD be provided only when | and IP address reachability <bcp14>SHOULD</bcp14> be prov | |||
| necessary.</t> | ided only when necessary.</t> | |||
| <t>In reality, not every application may need | ||||
| <t>In reality not every application may need | ||||
| these benefits. IP address reachability is required for a pplications | these benefits. IP address reachability is required for a pplications | |||
| running as servers (e.g., a web server running on the mob ile host). But, | running as servers (e.g., a web server running on the mob ile host), but | |||
| a typical client application (e.g., web browser) does not necessarily | a typical client application (e.g., web browser) does not necessarily | |||
| require IP address reachability. Similarly, session conti nuity is not | require IP address reachability. Similarly, session conti nuity is not | |||
| required for all types of applications either. Applicatio ns performing | required for all types of applications either. Applicatio ns performing | |||
| brief communication (e.g., text messaging) can survive wi thout having session | brief communication (e.g., text messaging) can survive wi thout having session | |||
| continuity support.</t> | continuity support.</t> | |||
| <t>Furthermore, when an application needs session continuity, it may be | <t>Furthermore, when an application needs session continuity, it may be | |||
| able to satisfy that need by using a solution above the I P layer, such | able to satisfy that need by using a solution above the I P layer, such | |||
| as MPTCP <xref target="RFC6824"></xref>, SIP mobility <xr | as Multipath TCP <xref target="RFC6824" format="default"/ | |||
| ef | >, SIP mobility <xref target="RFC3261" format="default"/>, or an application-lay | |||
| target="RFC3261"></xref>, or an application-layer mobilit | er mobility solution. These | |||
| y solution. These | ||||
| higher-layer solutions are not subject to the same issues that arise | higher-layer solutions are not subject to the same issues that arise | |||
| with the use of Mobile IP since they can utilize the most | with the use of Mobile IP since they can use the most dir | |||
| direct data | ect data | |||
| path between the end-points. But, if Mobile IP is being a | path between the endpoints. But, if Mobile IP is being ap | |||
| pplied to the | plied to the | |||
| mobile host, the higher-layer protocols are rendered usel ess because | mobile host, the higher-layer protocols are rendered usel ess because | |||
| their operation is inhibited by Mobile IP. Since Mobile I P ensures | their operation is inhibited by Mobile IP. Since Mobile I P ensures | |||
| that the IP address of the mobile host remains fixed (des pite the location | that the IP address of the mobile host remains fixed (des pite the location | |||
| and movement of the mobile host), the higher-layer protoc ols never | and movement of the mobile host), the higher-layer protoc ols never | |||
| detect the IP-layer change and never engage in mobility m anagement.</t> | detect the IP-layer change and never engage in mobility m anagement.</t> | |||
| <t>This document proposes a solution for applications running on | ||||
| <t>This document proposes a solution for applications running on | ||||
| mobile hosts to indicate when establishing the network co nnection ('on | mobile hosts to indicate when establishing the network co nnection ('on | |||
| demand') whether they need session continuity or IP | demand') whether they need session continuity or IP | |||
| address reachability. The network protocol stack on the m obile host, in | address reachability. The network protocol stack on the m obile host, in | |||
| conjunction with the network infrastructure, provides the required | conjunction with the network infrastructure, provides the required | |||
| type of service. It is for the benefit of both the users and the | type of service. It is for the benefit of both the users and the | |||
| network operators not to engage an extra level of service unless it is | network operators not to engage an extra level of service unless it is | |||
| absolutely necessary. It is expected that applications an d networks | absolutely necessary. It is expected that applications an d networks | |||
| compliant with this specification will utilize this solut ion to use | compliant with this specification will utilize this solut ion to use | |||
| network resources more efficiently.</t> | network resources more efficiently.</t> | |||
| </section> | ||||
| </section> <!-- Introduction --> | <!-- Introduction --> | |||
| <section anchor="notation" numbered="true" toc="default"> | ||||
| <section anchor="notation" title="Notational Conventions"> | <name>Notational Conventions</name> | |||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | <t> | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTI | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
| ONAL" in this | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp | |||
| document are to be interpreted as described in BCP 14 , <xref | 14>", | |||
| target="RFC2119"></xref> <xref target="RFC8174"></xref> when, they appear | "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
| in all capitals, | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| as shown here.</t> | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are | |||
| to be | ||||
| </section> <!-- Notational Conventions --> | interpreted as described in BCP 14 <xref target="RFC2119"/> <xref | |||
| target="RFC8174"/> when, and only when, they appear in all capitals, as | ||||
| <section anchor="solution" title="Solution"> | shown here. | |||
| </t> | ||||
| <section anchor="hldescription" title="High-level Description"> | </section> | |||
| <!-- Notational Conventions --> | ||||
| <section anchor="solution" numbered="true" toc="default"> | ||||
| <name>Solution</name> | ||||
| <section anchor="hldescription" numbered="true" toc="default"> | ||||
| <name>High-Level Description</name> | ||||
| <t> Enabling applications to indicate their mobility service requirement s | <t> Enabling applications to indicate their mobility service requirement s | |||
| e.g. session continuity and/or IP address reachability, comprises the | (e.g., session continuity and/or IP address reachability) compris es the | |||
| following steps:</t> | following steps:</t> | |||
| <ol> | ||||
| <t>- The application indicates to the network stack (local to the | <li>The application indicates to the network stack (local to the | |||
| mobile host) the desired mobility service.</t> | mobile host) the desired mobility service.</li> | |||
| <li>The network stack assigns a source IP address based on an IP prefix | ||||
| <t>- The network stack assigns a source IP address based on an IP prefix | ||||
| with the desired services that was previously provided by the net work. | with the desired services that was previously provided by the net work. | |||
| If such an IP prefix is not available, the network stack performs the | If such an IP prefix is not available, the network stack performs the | |||
| additional steps below.</t> | additional steps below.</li> | |||
| <li>The network stack sends a request to the network for a new source | ||||
| <t>- The network stack sends a request to the network for a new source | IP prefix that is associated with the desired mobility service.</ | |||
| IP prefix that is associated with the desired mobility service.</ | li> | |||
| t> | <li>The network responds with the suitable allocated source IP prefix | |||
| (or responds with a failure indication).</li> | ||||
| <t>- The network responds with the suitable allocated source IP prefix | <li>If the suitable source IP prefix was allocated, the network stack | |||
| (or responds with a failure indication).</t> | constructs a source IP address and provides it to the application | |||
| .</li> | ||||
| <t>- If the suitable source IP prefix was allocates, the network stack | </ol> | |||
| constructs a source IP address and provides it to the application | ||||
| .</t> | ||||
| <t> This document specifies the new address types associated with | <t> This document specifies the new address types associated with | |||
| mobility services and details the interaction between the applica tions | mobility services and details the interaction between the applica tions | |||
| and the network stack steps. It uses the Socket interface as an e xample | and the network stack steps. It uses the socket interface as an e xample | |||
| for an API between applications and the network stack. Other step s are | for an API between applications and the network stack. Other step s are | |||
| outside the scope of this document.</t> | outside the scope of this document.</t> | |||
| </section> <!-- High-level Description --> | </section> | |||
| <!-- High-level Description --> | ||||
| <section anchor="addresstypes" title="Types of IP Addresses"> | <section anchor="addresstypes" numbered="true" toc="default"> | |||
| <name>Types of IP Addresses</name> | ||||
| <t> Four types of IP addresses are defined with respect to mobility | <t> Four types of IP addresses are defined with respect to mobility | |||
| management.</t> | management:</t> | |||
| <dl newline="true"> | ||||
| <t>- Fixed IP Address</t> | <dt>Fixed IP address</dt> | |||
| <dd> | ||||
| <t> A Fixed IP address is an address with a guarantee to be valid for a | <t> A Fixed IP address is an address guaranteed to be valid for a | |||
| very long time, regardless of whether it is being used in any pac ket | very long time, regardless of whether it is being used in any pac ket | |||
| to/from the mobile host, or whether or not the mobile host is | to/from the mobile host, or whether or not the mobile host is | |||
| connected to the network, or whether it moves from one | connected to the network, or whether it moves from one | |||
| point-of-attachment to another (with a different IP prefix) while it is | point of attachment to another (with a different IP prefix) while it is | |||
| connected.</t> | connected.</t> | |||
| <t>Fixed IP addresses are required by applications that need both sessio | ||||
| <t>Fixed IP addresses are required by applications that need both | n | |||
| session | ||||
| continuity and IP address reachability.</t> | continuity and IP address reachability.</t> | |||
| </dd> | ||||
| <t>- Session-lasting IP Address</t> | <dt>Session-Lasting IP address</dt> | |||
| <dd> | ||||
| <t>A session-lasting IP address is an address with a guarantee to be | <t>A Session-Lasting IP address is an address guaranteed to be | |||
| valid throughout the life-time of the socket(s) for which it was | valid for the lifetime of the socket(s) for which it was requeste | |||
| requested. | d. | |||
| It is guaranteed to be valid even after the mobile host had moved | It is guaranteed to be valid even after the mobile host has moved | |||
| from one | from one | |||
| point-of-attachment to another (with a different IP prefix).</t> | point of attachment to another (with a different IP prefix).</t> | |||
| <t>Session-Lasting IP addresses are required by applications that need | ||||
| <t>Session-lasting IP addresses are required by applications that need | ||||
| session continuity but do not need IP address reachability.</t> | session continuity but do not need IP address reachability.</t> | |||
| </dd> | ||||
| <t>- Non-persistent IP Address</t> | <dt>Nonpersistent IP address</dt> | |||
| <dd> | ||||
| <t>This type of IP address has no guarantee to exist after a mobile host | <t>This type of IP address is not guaranteed to exist after a mobile hos | |||
| moves from one point-of-attachment to another, and therefore, no | t | |||
| session | moves from one point of attachment to another; therefore, no sess | |||
| ion | ||||
| continuity nor IP address reachability are provided. The IP addre ss is created | continuity nor IP address reachability are provided. The IP addre ss is created | |||
| from an IP prefix that is obtained from the serving IP gateway an d is not | from an IP prefix that is obtained from the serving IP gateway an d is not | |||
| maintained across gateway changes. In other words, the IP prefix may be released | maintained across gateway changes. In other words, the IP prefix may be released | |||
| and replaced by a new one when the IP gateway changes due to the movement of the | and replaced by a new one when the IP gateway changes due to the movement of the | |||
| mobile host forcing the creation of a new source IP address with the updated | mobile host forcing the creation of a new source IP address with the updated | |||
| allocated IP prefix.</t> | allocated IP prefix.</t> | |||
| </dd> | ||||
| <t>- Graceful Replacement IP Address</t> | <dt>Graceful-Replacement IP address</dt> | |||
| <t>In some cases, the network cannot guarantee the validity of th | <dd> | |||
| e provided | <t>In some cases, the network cannot guarantee the validity of the provi | |||
| ded | ||||
| IP prefix throughout the duration of the opened socket, but can p rovide a limited | IP prefix throughout the duration of the opened socket, but can p rovide a limited | |||
| graceful period of time in which both the original IP prefix and a new one are | graceful period of time in which both the original IP prefix and a new one are | |||
| valid. This enables the application some flexibility in the trans ition from the | valid. This enables the application some flexibility in the trans ition from the | |||
| existing source IP address to the new one.</t> | existing source IP address to the new one.</t> | |||
| <t>This gracefulness is still better than the nonpersistence type of add | ||||
| <t>This gracefulness is still better than the non-persistence type of ad | ress | |||
| dress | ||||
| for applications that can handle a change in their source IP addr ess but require | for applications that can handle a change in their source IP addr ess but require | |||
| that extra flexibility.</t> | that extra flexibility.</t> | |||
| </dd> | ||||
| <t>Applications running as servers at a published IP address requ | </dl> | |||
| ire a | <t>Applications running as servers at a published IP address require a | |||
| Fixed IP Address. Long-standing applications (e.g., an SSH sessi | Fixed IP address. Long-standing applications (e.g., an SSH sessi | |||
| on) | on) | |||
| may also require this type of address. Enterprise applications th at | may also require this type of address. Enterprise applications th at | |||
| connect to an enterprise network via virtual LAN require a Fixed IP | connect to an enterprise network via virtual LAN require a Fixed IP | |||
| Address.</t> | address.</t> | |||
| <t>Applications with short-lived transient sessions (e.g., web browsers) | ||||
| <t>Applications with short-lived transient sessions can use | can use | |||
| Session-lasting IP Addresses. For example: Web browsers.</t> | Session-Lasting IP addresses.</t> | |||
| <t>Applications with very short sessions, such as DNS clients and | <t>Applications with very short sessions, such as DNS clients and | |||
| instant messengers, can utilize Non-persistent IP Addresses. Even | instant messengers, can use Nonpersistent IP addresses. Even | |||
| though they could very well use Fixed or Session-lasting IP | though they could very well use Fixed or Session-Lasting IP | |||
| Addresses, the transmission latency would be minimized when a | addresses, the transmission latency would be minimized when a | |||
| Non-persistent IP Addresses are used.</t> | Nonpersistent IP address is used.</t> | |||
| <t>Applications that can tolerate a short interruption in connectivity | <t>Applications that can tolerate a short interruption in connectivity | |||
| can use the Graceful-replacement IP addresses. For example, a str eaming | can use the Graceful-Replacement IP addresses, for example, a str eaming | |||
| client that has buffering capabilities.</t> | client that has buffering capabilities.</t> | |||
| </section> | ||||
| </section> <!-- Types of IP Addresses --> | <!-- Types of IP Addresses --> | |||
| <section anchor="granularity" numbered="true" toc="default"> | ||||
| <section anchor="granularity" title="Granularity of Selection"> | <name>Granularity of Selection</name> | |||
| <t>IP address type selection is made on a per-socket granularity. | <t>IP address type selection is made on a per-socket granularity. | |||
| Different parts of the same application may have different needs. For | Different parts of the same application may have different needs. For | |||
| example, the control-plane of an application may require a Fixed | example, the control plane of an application may require a Fixed | |||
| IP | IP | |||
| Address in order to stay reachable, whereas the data-plane of the | address in order to stay reachable, whereas the data plane of the | |||
| same | same | |||
| application may be satisfied with a Session-lasting IP Address.</ | application may be satisfied with a Session-Lasting IP address.</ | |||
| t> | t> | |||
| </section> <!-- Granularity of Selection --> | </section> | |||
| <!-- Granularity of Selection --> | ||||
| <section anchor="ondemand" title="On Demand Nature"> | <section anchor="ondemand" numbered="true" toc="default"> | |||
| <name>On-Demand Nature</name> | ||||
| <t>At any point in time, a mobile host may have a combination of IP | <t>At any point in time, a mobile host may have a combination of IP | |||
| addresses configured. Zero or more Fixed, zero or more Session-la | addresses configured. Zero or more Fixed, zero or more Session-La | |||
| sting, | sting, | |||
| zero or more Non-persistent and zero or more Graceful-Replacement | zero or more Nonpersistent, and zero or more Graceful-Replacement | |||
| IP addresses may be configured by the IP stack of the host. The | IP addresses may be configured by the IP stack of the host. The | |||
| combination may be as a result of the host policy, application de mand, | combination may be a result of the host policy, application deman d, | |||
| or a mix of the two.</t> | or a mix of the two.</t> | |||
| <t>When an application requires a specific type of IP address, and such | ||||
| <t>When an application requires a specific type of IP address and such | an address is not already configured on the host, the IP stack <b | |||
| an address is not already configured on the host, the IP stack SH | cp14>SHALL</bcp14> | |||
| ALL | ||||
| attempt to configure one. For example, a host may not always have a | attempt to configure one. For example, a host may not always have a | |||
| Session-lasting IP address available. When an application request | Session-Lasting IP address available. When an application request | |||
| s | s | |||
| one, the IP stack SHALL make an attempt to configure one by issui | one, the IP stack <bcp14>SHALL</bcp14> make an attempt to configu | |||
| ng a | re one by issuing a | |||
| request to the network. If the operation fails, the IP stack SHAL | request to the network. If the operation fails, the IP stack <bcp | |||
| L | 14>SHALL</bcp14> | |||
| fail the associated socket request and return an error. If succes sful, | fail the associated socket request and return an error. If succes sful, | |||
| a Session-lasting IP Address gets configured on the mobile host. | a Session-Lasting IP address is configured on the mobile host. If | |||
| If | another socket requests a Session-Lasting IP address at a later t | |||
| another socket requests a Session-lasting IP address at a later t | ime, | |||
| ime, | the same IP address may be served to that socket as well. When t | |||
| the same IP address may be served to that socket as well. When th | he last | |||
| e last | ||||
| socket using the same configured IP address is closed, the IP add ress | socket using the same configured IP address is closed, the IP add ress | |||
| may be released or kept for future applications that may be launc | may be released, or it may be kept for applications requiring a S | |||
| hed | ession-Lasting | |||
| and require a Session-lasting IP address.</t> | IP address that may be launched in the future.</t> | |||
| <t>In some cases, it might be preferable for the mobile host to request | ||||
| <t>In some cases it might be preferable for the mobile host to re | a new Session-Lasting IP address for a new opening of an IP socke | |||
| quest | t | |||
| a new Session-lasting IP address for a new opening of an IP socke | ||||
| t | ||||
| (even though one was already assigned to the mobile host by the | (even though one was already assigned to the mobile host by the | |||
| network and might be in use in a different, already active IP | network and might be in use in a different, already active IP | |||
| sockets). It is outside the scope of this specification to defin e | socket). It is outside the scope of this specification to define | |||
| criteria for choosing to use available addresses or choosing to r equest | criteria for choosing to use available addresses or choosing to r equest | |||
| new ones. It supports both alternatives (and any combination).</t > | new ones. It supports both alternatives (and any combination).</t > | |||
| <t>It is outside the scope of this specification to define how the | ||||
| <t>It is outside the scope of this specification to define how th | ||||
| e | ||||
| host requests a specific type of prefix and how the network indic ates | host requests a specific type of prefix and how the network indic ates | |||
| the type of prefix in its advertisement or in its reply to a requ est.</t> | the type of prefix in its advertisement or in its reply to a requ est.</t> | |||
| <t>The following are matters of policy, which may be dictated by the | ||||
| <t>The following are matters of policy, which may be dictated by | ||||
| the | ||||
| host itself, the network operator, or the system architecture | host itself, the network operator, or the system architecture | |||
| standard:</t> | standard:</t> | |||
| <ul> | ||||
| <li>The initial set of IP addresses configured on the host at boot | ||||
| time</li> | ||||
| <li>Permission to grant various types of IP addresses to a requesting | ||||
| application</li> | ||||
| <t> - The initial set of IP addresses configured on the host at boot | <li>Determination of a default address type when an application does | |||
| time.</t> | not explicitly indicate whether it supports the required API or is a | |||
| <t>- Permission to grant various types of IP addresses to a requesting | legacy application </li> | |||
| application.</t> | </ul> | |||
| <t>- Determination of a default address type when an application does | </section> | |||
| not make any explicit indication, whether it already supports the | <!-- On-Demand Nature --> | |||
| required API or it is just a legacy application.</t> | </section> | |||
| <!-- Solution --> | ||||
| </section> <!-- On Demand Nature --> | <section anchor="compatibility" numbered="true" toc="default"> | |||
| <name>Backwards Compatibility Considerations</name> | ||||
| </section> <!-- Solution --> | <t> Backwards compatibility support is <bcp14>REQUIRED</bcp14> by the foll | |||
| owing three types | ||||
| <section anchor="compatibility" title="Backwards Compatibility Consideration | ||||
| s"> | ||||
| <t> Backwards compatibility support is REQUIRED by the following 3 types | ||||
| of entities: </t> | of entities: </t> | |||
| <t>- The Applications on the mobile host</t> | <ul> | |||
| <t>- The IP stack in the mobile host</t> | <li>The applications on the mobile host</li> | |||
| <t>- The network infrastructure </t> | <li>The IP stack in the mobile host</li> | |||
| <li>The network infrastructure </li> | ||||
| <section anchor="applications" title="Applications"> | </ul> | |||
| <t>Legacy applications that do not support the On-Demand functionality wi | <section anchor="applications" numbered="true" toc="default"> | |||
| ll use | <name>Applications</name> | |||
| <t>Legacy applications that do not support the On-Demand functionality w | ||||
| ill use | ||||
| the legacy API and will not be able to take advantage of the On-Demand | the legacy API and will not be able to take advantage of the On-Demand | |||
| Mobility feature. </t> | Mobility feature. </t> | |||
| <t> Applications using the new On-Demand functionality should be aware t | ||||
| <t> Applications using the new On-Demand functionality should be aware th | hat | |||
| at | they may be executed in legacy environments that do not support it. Such | |||
| they may be executed in legacy environments that do not support it. S | ||||
| uch | ||||
| environments may include a legacy IP stack on the mobile host, legacy net work | environments may include a legacy IP stack on the mobile host, legacy net work | |||
| infrastructure, or both. In either case, the API will return an error cod | infrastructure, or both. In either case, the API will return an error cod | |||
| e and | e, and | |||
| the invoking applications may just give up and use legacy calls. </t> | the invoking application may just give up and use legacy calls. </t> | |||
| </section> <!-- Applications --> | </section> | |||
| <!-- Applications --> | ||||
| <section anchor="stack" title="IP Stack in the Mobile Host"> | <section anchor="stack" numbered="true" toc="default"> | |||
| <t>New IP stacks (that implement On Demand functionality) MUST continue t | <name>IP Stack in the Mobile Host</name> | |||
| o support | <t>New IP stacks (that implement On-Demand functionality) <bcp14>MUST</b | |||
| cp14> continue to support | ||||
| all legacy operations. If an application does not use On-Demand functiona lity, the | all legacy operations. If an application does not use On-Demand functiona lity, the | |||
| IP stack MUST respond in a legacy manner.</t> | IP stack <bcp14>MUST</bcp14> respond in a legacy manner.</t> | |||
| <t> If the network infrastructure supports On-Demand functionality, | ||||
| <t> If the network infrastructure supports On-Demand functionality, | the IP stack <bcp14>SHOULD</bcp14> follow the application request: If the | |||
| the IP stack SHOULD follow the application request: If the application | application | |||
| requests a specific address type, the stack SHOULD forward this | requests a specific address type, the stack <bcp14>SHOULD</bcp14> forward | |||
| request to the network. If the application does not request an address | this | |||
| type, the IP stack MUST NOT request an address type and leave it to | request to the network. | |||
| the network's default behavior to choose the type of the allocated IP | If the application does not request an address type, the IP stack <bcp14>MUST NO | |||
| prefix. If an IP prefix was already allocated to the host, the IP | T</bcp14> | |||
| request an address type. Instead, the network will choose the type of | ||||
| allocated IP prefix. How the network selects the type of allocated IP prefix | ||||
| is outside the scope of this document. If an IP prefix was already allocated to | ||||
| the host, the IP | ||||
| stack uses it and may not request a new one from the network.</t> | stack uses it and may not request a new one from the network.</t> | |||
| </section> | ||||
| </section> <!-- IP Stack in the Mobile Host --> | <!-- IP Stack in the Mobile Host --> | |||
| <section anchor="network" numbered="true" toc="default"> | ||||
| <section anchor="network" title="Network Infrastructure"> | <name>Network Infrastructure</name> | |||
| <t> The network infrastructure may or may not support the On-Demand | ||||
| <t> The network infrastructure may or may not support the On-Demand | ||||
| functionality. How the IP stack on the host and the network | functionality. How the IP stack on the host and the network | |||
| infrastructure behave in case of a compatibility issue is outside the | infrastructure behave in case of a compatibility issue is outside the | |||
| scope of this API specification. </t> | scope of this API specification. </t> | |||
| </section> | ||||
| </section> <!-- Network Infrastructure --> | <!-- Network Infrastructure --> | |||
| <section anchor="RFC5014ref" numbered="true" toc="default"> | ||||
| <section anchor="RFC5014ref" title="Merging this work with RFC5014"> | <name>Merging this work with RFC 5014</name> | |||
| <t><xref target="RFC5014"></xref> defines new flags that may be used with | <t><xref target="RFC5014" format="default"/> defines new flags that may | |||
| be used with | ||||
| setsockopt() to influence source IP address selection for a socket. The l ist of | setsockopt() to influence source IP address selection for a socket. The l ist of | |||
| flags include: source home address, care-of address, temporary address, p | flags include the following: source home address, care-of address, tempor | |||
| ublic | ary address, public | |||
| address CGA (Cryptographically Created Address) and non-CGA. When applica | address CGA (Cryptographically Created Address), and non-CGA. When applic | |||
| tions | ations | |||
| require session continuity service, they SHOULD NOT set the flags specifi | require session continuity service, they <bcp14>SHOULD NOT</bcp14> set th | |||
| ed | e flags specified | |||
| in <xref target="RFC5014"></xref>.</t> | in <xref target="RFC5014" format="default"/>.</t> | |||
| <t>However, if an application erroneously performs a combination of (1) | ||||
| <t>However, if an application erroneously performs a combination of (1) U | using | |||
| se | ||||
| setsockopt() to set a specific option (using one of the flags specified i n | setsockopt() to set a specific option (using one of the flags specified i n | |||
| <xref target="RFC5014"></xref>) and (2) Selects a source IP address type, the | <xref target="RFC5014" format="default"/>) and (2) selecting a source IP address type, the | |||
| IP stack will fulfill the request specified by (2) and ignore the flags s et | IP stack will fulfill the request specified by (2) and ignore the flags s et | |||
| by (1).</t> | by (1).</t> | |||
| </section> | ||||
| </section> <!-- Merging this work with RFC5014 --> | <!-- Merging This Work with RFC5014 --> | |||
| </section> | ||||
| </section> <!-- Backwards Compatibility Considerations --> | <!-- Backwards Compatibility Considerations --> | |||
| <section anchor="security" numbered="true" toc="default"> | ||||
| <section anchor="security" title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t> The different service types (session continuity types and address rea | <t> The different service types (session continuity types and address reac | |||
| chability) associated | hability) associated | |||
| with the allocated IP address types, may be associated with different cos | with the allocated IP address types may be associated with different cost | |||
| ts. The cost | s: the cost | |||
| to the operator for enabling a type of service, and the cost to applicati ons using a | to the operator for enabling a type of service, and the cost to applicati ons using a | |||
| selected service. A malicious application may use these to generate extra | selected service. A malicious application may use these to indirectly | |||
| billing of a | generate extra billing of a mobile subscriber, and/or impose costly | |||
| mobile subscriber, and/or impose costly services on the mobile operator. | services on the mobile operator. When expensive | |||
| When costly | ||||
| services are limited, malicious applications may exhaust them, preventing other | services are limited, malicious applications may exhaust them, preventing other | |||
| applications on the same mobile host from being able to use them.</t> | applications on the same mobile host from being able to use them.</t> | |||
| <t> Mobile hosts that enable such service options should provide capabilit | ||||
| <t> Mobile hosts that enables such service options, should provide capabi | ies for | |||
| lities for | ensuring that only authorized applications can use the expensive (or limi | |||
| ensuring that only authorized applications can use the costly (or limited | ted) service | |||
| ) service | ||||
| types.</t> | types.</t> | |||
| <t> The ability to select service types requires the exchange of the assoc | ||||
| <t> The ability to select service types requires the exchange of the asso | iation of | |||
| ciation of | ||||
| source IP prefixes and their corresponding service types, between the mob ile host and | source IP prefixes and their corresponding service types, between the mob ile host and | |||
| mobile network. Exposing these associations may provide information to pa ssive | mobile network. Exposing these associations may provide information to pa ssive | |||
| attackers even if the traffic that is used with these addressed is encryp | attackers even if the traffic that is used with these addresses is encryp | |||
| ted.</t> | ted.</t> | |||
| <t>To avoid profiling an application according to the type of IP address, | ||||
| <t> To avoid profiling an application according to the type of IP add | it is expected that prefixes provided by the mobile operator are associat | |||
| resses, | ed with | |||
| it is expected that prefixes provided by the mobile operator are associat | various types of addresses over time. As a result, the type of address | |||
| ed to | cannot be associated with the prefix, making application profiling based | |||
| various type of addresses over time. As a result, the type of address | on the | |||
| could not be associated to the prefix, making application profiling based | type of address more difficult. </t> | |||
| on the | <t>The application or the OS should ensure that IP addresses regularly cha | |||
| type of address harder. </t> | nge | |||
| <t> The application or the OS should ensure that IP addresses regular | ||||
| ly change | ||||
| to limit IP tracking by a passive observer. The application should regul arly | to limit IP tracking by a passive observer. The application should regul arly | |||
| set the On Demand flag. The application should be able to ensure that ses | set the On-Demand flag. The application should be able to ensure that Ses | |||
| sion | sion-Lasting | |||
| lasting IP addresses are regularly changed by setting a lifetime for exam | IP addresses are regularly changed by setting a lifetime, for example, | |||
| ple | ||||
| handled by the application. In addition, the application should consider the use | handled by the application. In addition, the application should consider the use | |||
| of graceful replacement IP addresses. </t> | of Graceful-Replacement IP addresses. </t> | |||
| <t> Similarly, the OS may also associate IP addresses with a lifetime. Upo | ||||
| <t> Similarly, the OS may also associated IP addresses with a lifetime. U | n | |||
| pon | ||||
| receiving a request for a given type of IP address, after some time, the | receiving a request for a given type of IP address, after some time, the | |||
| OS should request a new address to the network even if it already has one IP | OS should request a new address to the network even if it already has one IP | |||
| address available with the requested type. This includes any type of IP a ddress. | address available with the requested type. This includes any type of IP a ddress. | |||
| IP addresses of type graceful replacement or non persistent should be | IP addresses of type Graceful-Replacement or nonpersistent should be | |||
| regularly renewed by the OS.</t> | regularly renewed by the OS.</t> | |||
| <t> The lifetime of an IP address may be expressed in number of seconds or | ||||
| <t> The lifetime of an IP address may be expressed in number of seconds o | ||||
| r | ||||
| in number of bytes sent through this IP address. </t> | in number of bytes sent through this IP address. </t> | |||
| </section> | ||||
| </section> <!-- Security Considerations --> | <!-- Security Considerations --> | |||
| <section anchor="iana" numbered="true" toc="default"> | ||||
| <section anchor="iana" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
| <t>This document has no IANA considerations.</t> | <t>This document has no IANA actions.</t> | |||
| </section> <!-- IANA Considerations --> | </section> | |||
| <!-- IANA Considerations --> | ||||
| <section anchor="contributor" title="Contributors"> | ||||
| <t>This document was merged with <xref target="I-D.sijeon-dmm-use-cases | ||||
| -api-source"></xref>. | ||||
| We would like to acknowledge the contribution of the following people t | ||||
| o that document as | ||||
| well:</t> | ||||
| <figure> | ||||
| <artwork><![CDATA[ | ||||
| Sergio Figueiredo | ||||
| Altran Research, France | ||||
| Email: sergio.figueiredo@altran.com | ||||
| Younghan Kim | ||||
| Soongsil University, Korea | ||||
| Email: younghak@ssu.ac.kr | ||||
| John Kaippallimalil | ||||
| Huawei, USA | ||||
| Email: john.kaippallimalil@huawei.com | ||||
| ]]></artwork> | ||||
| </figure> | ||||
| </section> <!-- Contributors --> | ||||
| <section anchor="ack" title="Acknowledgements"> | ||||
| <t>We would like to thank Wu-chi Feng, Alexandru Petrescu, Jouni Korhonen, | ||||
| Sri Gundavelli, Dave Dolson Lorenzo Colitti and Daniel Migault for thei | ||||
| r valuable | ||||
| comments and suggestions on this work.</t> | ||||
| </section> <!-- Acknowledgements --> | ||||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <displayreference target="I-D.sijeon-dmm-use-cases-api-source" to="API-EXT"/> | ||||
| <references title="Normative References"> | <references> | |||
| <?rfc include="reference.RFC.2119"?> | <name>References</name> | |||
| <?rfc include="reference.RFC.8174"?> | <references> | |||
| <name>Normative References</name> | ||||
| <?rfc include='reference.RFC.5014'?> | <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2 | |||
| 119.xml"/> | ||||
| </references> | <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.8 | |||
| 174.xml"/> | ||||
| <references title="Informative References"> | <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.5 | |||
| 014.xml"/> | ||||
| <?rfc include='reference.RFC.6275'?> | </references> | |||
| <references> | ||||
| <?rfc include='reference.RFC.5944'?> | <name>Informative References</name> | |||
| <?rfc include='reference.RFC.7333'?> | <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.6 | |||
| <?rfc include='reference.RFC.5563'?> | 275.xml"/> | |||
| <?rfc include='reference.RFC.5213'?> | <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.5 | |||
| <?rfc include='reference.RFC.6824'?> | 944.xml"/> | |||
| <?rfc include='reference.RFC.3261'?> | <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.7 | |||
| <?rfc include='reference.I-D.sijeon-dmm-use-cases-api-source'?> | 333.xml"/> | |||
| <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.5 | ||||
| <!----> | 563.xml"/> | |||
| <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.5 | ||||
| 213.xml"/> | ||||
| <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.6 | ||||
| 824.xml"/> | ||||
| <xi:include href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.3 | ||||
| 261.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference. | ||||
| I-D.draft-sijeon-dmm-use-cases-api-source-07.xml"/> | ||||
| <!----> | ||||
| </references> | ||||
| </references> | </references> | |||
| <section anchor="appendix" numbered="true" toc="default"> | ||||
| <section anchor="appendix" title="Conveying the Desired Address Type"> | <name>Conveying the Desired Address Type</name> | |||
| <t>The following are some suggestions of possible extensions to the socket | ||||
| <t>Following are some suggestions of possible extensions to the S | API | |||
| ocket API | ||||
| for enabling applications to convey their session continuity and address | for enabling applications to convey their session continuity and address | |||
| reachability requirements.</t> | reachability requirements.</t> | |||
| <t><xref target="RFC5014" format="default"/> introduced the ability of app | ||||
| <t><xref target="RFC5014"></xref> introduced the ability of appli | lications | |||
| cations | ||||
| to influence the source address selection with the IPV6_ADDR_PREF ERENCE | to influence the source address selection with the IPV6_ADDR_PREF ERENCE | |||
| option at the IPPROTO_IPV6 level. This option is used with setsoc kopt() | option at the IPPROTO_IPV6 level. This option is used with setsoc kopt() | |||
| and getsockopt() calls to set/get address selection preferences.< /t> | and getsockopt() calls to set/get address selection preferences.< /t> | |||
| <t>One alternative is to extend the definition of the IPV6_ADDR_REFERENCE | ||||
| <t>One alternative is to extend the defintion of the IPV6_ADDR_RE | option with flags that express the invoker's desire. An "OnDemand | |||
| FERENCE | " field could | |||
| opion with flags that express the invoker's desire. An "OnDeman" | contain one of the following values: FIXED_IP_ADDRESS, SESSION_LA | |||
| field could | STING_IP_ADDRESS, | |||
| contains one of the values: FIXED_IP_ADDRESS, SESSION_LASTING_IP_ | NON_PERSISTENT_IP_ADDRESS, or GRACEFUL_REPLACEMENT_IP_ADDRESS.</t | |||
| ADDRESS, | > | |||
| NON_PERSISTENT_IP_ADDRESS or GRACEFUL_REPLACEMENT_IP_ADDRESS.</t> | <t>Another alternative is to define a new socket function used by the invo | |||
| ker | ||||
| <t>Another alternative is to define a new Socket function used by | ||||
| the invoker | ||||
| to convey its desire. This enables the implementation of two beha viors of | to convey its desire. This enables the implementation of two beha viors of | |||
| Socket functions: The existing "setsockotp()" is a function that | socket functions: the existing setsockopt() is a function that re | |||
| returns after | turns after | |||
| executing, and the new "setsc()" (Set Service Contionuity) functi | executing, and the new setsc() (Set Service Continuity) is a func | |||
| on that may | tion that may | |||
| initaite a request for the desired service, and wait until the ne | initiate a request for the desired service, and wait until the ne | |||
| twork responds | twork responds | |||
| with the allocated resources, before returning to the invoker.</t > | with the allocated resources, before returning to the invoker.</t > | |||
| <t>After obtaining an IP address with the desired behavior, the applicatio | ||||
| <t>After obtaining an IP address with the desired behavior the ap | n can | |||
| plication can | call the bind() socket function to associate that received IP add | |||
| call the bind() Socket function to associate that received IP add | ress with the | |||
| ress with the | ||||
| socket.</t> | socket.</t> | |||
| </section> | ||||
| </section> <!-- Conveying the Desired Address Type --> | <!-- Conveying the Desired Address Type --> | |||
| <section anchor="ack" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t>We would like to thank Wu-chi Feng, Alexandru Petrescu, Jouni Korhonen, | ||||
| Sri Gundavelli, Dave Dolson, Lorenzo Colitti, and Daniel Migault for th | ||||
| eir valuable | ||||
| comments and suggestions on this work.</t> | ||||
| </section> | ||||
| <!-- Acknowledgements --> | ||||
| <section anchor="contributor" numbered="false" toc="default"> | ||||
| <name>Contributors</name> | ||||
| <t>This document was merged with "Use Cases and API Extension for Source I | ||||
| P Address | ||||
| Selection" <xref target="I-D.sijeon-dmm-use-cases-api-source" format="d | ||||
| efault"/>. | ||||
| We would like to acknowledge the contribution of the following people t | ||||
| o that document as | ||||
| well:</t> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| Sergio Figueiredo | ||||
| Altran Research | ||||
| France | ||||
| Email: sergio.figueiredo@altran.com | ||||
| ]]></artwork> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| Younghan Kim | ||||
| Soongsil University | ||||
| Republic of Korea | ||||
| Email: younghak@ssu.ac.kr | ||||
| ]]></artwork> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| John Kaippallimalil | ||||
| Huawei | ||||
| United States of America | ||||
| Email: john.kaippallimalil@huawei.com | ||||
| ]]></artwork> | ||||
| </section> | ||||
| <!-- Contributors --> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 83 change blocks. | ||||
| 437 lines changed or deleted | 419 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||