rfc8957xml2.original.xml | rfc8957.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | ||||
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.13 --> | ||||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
]> | ||||
<?rfc toc="yes"?> | <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.13 --> | |||
<?rfc sortrefs="yes"?> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
<?rfc symrefs="yes"?> | ||||
<?rfc comments="yes"?> | ||||
<rfc docName="draft-ietf-mpls-sfl-framework-11" category="std"> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" | |||
docName="draft-ietf-mpls-sfl-framework-11" number="8957" obsoletes="" | ||||
updates="" submissionType="IETF" category="std" consensus="true" | ||||
xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" | ||||
version="3"> | ||||
<!-- xml2rfc v2v3 conversion 3.3.0 --> | ||||
<front> | <front> | |||
<title abbrev="MPLS FL">Synonymous Flow Label Framework</title> | <title abbrev="MPLS FL">Synonymous Flow Label Framework</title> | |||
<seriesInfo name="RFC" value="8957"/> | ||||
<author initials="S." surname="Bryant" fullname="Stewart Bryant"> | <author initials="S." surname="Bryant" fullname="Stewart Bryant"> | |||
<organization>Futurewei Technologies Inc</organization> | <organization>Futurewei Technologies Inc.</organization> | |||
<address> | <address> | |||
<email>sb@stewartbryant.com</email> | <email>sb@stewartbryant.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="M." surname="Chen" fullname="Mach Chen"> | ||||
<author initials="M." surname="Chen" fullname="Mach(Guoyi) Chen"> | ||||
<organization>Huawei</organization> | <organization>Huawei</organization> | |||
<address> | <address> | |||
<email>mach.chen@huawei.com</email> | <email>mach.chen@huawei.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="G." surname="Swallow" fullname="George Swallow"> | <author initials="G." surname="Swallow" fullname="George Swallow"> | |||
<organization>Southend Technical Center</organization> | <organization>Southend Technical Center</organization> | |||
<address> | <address> | |||
<email>swallow.ietf@gmail.com</email> | <email>swallow.ietf@gmail.com</email> | |||
</address> | </address> | |||
skipping to change at line 48 ¶ | skipping to change at line 47 ¶ | |||
<address> | <address> | |||
<email>ssivabal@ciena.com</email> | <email>ssivabal@ciena.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="G." surname="Mirsky" fullname="Gregory Mirsky"> | <author initials="G." surname="Mirsky" fullname="Gregory Mirsky"> | |||
<organization>ZTE Corp.</organization> | <organization>ZTE Corp.</organization> | |||
<address> | <address> | |||
<email>gregimirsky@gmail.com</email> | <email>gregimirsky@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2021" month="January"/> | ||||
<date year="2020" month="October" day="02"/> | ||||
<workgroup>MPLS Working Group</workgroup> | <workgroup>MPLS Working Group</workgroup> | |||
<abstract> | <abstract> | |||
<t>RFC 8372 ("MPLS Flow Identification Considerations") describes the | ||||
<t>RFC 8372 (MPLS Flow Identification Considerations) describes the requirement | requirement for introducing flow identities within the MPLS | |||
for | architecture. This document describes a method of accomplishing this by | |||
introducing | using a technique called "Synonymous Flow Labels" in which labels that | |||
flow identities within the MPLS architecture. This document | mimic the behavior of other labels provide the identification service. | |||
describes a method of accomplishing this by using a technique called | These identifiers can be used to trigger per-flow operations on the | |||
Synonymous Flow Labels in which labels which mimic the behaviour of | packet at the receiving label switching router.</t> | |||
other labels provide the identification service. These identifiers | ||||
can be used to trigger per-flow operations on the packet at | ||||
the receiving label switching router.</t> | ||||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="introduction" numbered="true" toc="default"> | ||||
<section anchor="introduction" title="Introduction"> | <name>Introduction</name> | |||
<t><xref target="RFC8372" format="default"/> ("MPLS Flow Identification | ||||
<t><xref target="RFC8372"/> (MPLS Flow Identification Considerations) describes | Considerations") describes the requirement for introducing | |||
the requirement for introducing | ||||
flow identities within the MPLS architecture. | flow identities within the MPLS architecture. | |||
This document describes a method of providing the required identification by usi ng a | This document describes a method of providing the required identification by usi ng a | |||
technique called Synonymous Flow Labels (SFL) in | technique called "Synonymous Flow Labels (SFLs)" in | |||
which labels which mimic the behaviour of other MPLS labels provide the | which labels that mimic the behavior of other MPLS labels provide the | |||
identification service. These identifiers can be used to trigger | identification service. These identifiers can be used to trigger | |||
per-flow operations on the packet at the receiving label switching | per-flow operations on the packet at the receiving label switching | |||
router.</t> | router.</t> | |||
</section> | ||||
</section> | <section anchor="requirements-language" numbered="true" toc="default"> | |||
<section anchor="requirements-language" title="Requirements Language"> | <name>Requirements Language</name> | |||
<t> | ||||
<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
“SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
“OPTIONAL” in this document are to be interpreted as described in | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, th | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
ey appear in all | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
capitals, as shown here.</t> | be interpreted as | |||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
</section> | when, and only when, they appear in all capitals, as shown here. | |||
<section anchor="SFL" title="Synonymous Flow Labels"> | </t> | |||
</section> | ||||
<t>An SFL is defined to be a label that causes exactly the same | <section anchor="SFL" numbered="true" toc="default"> | |||
behaviour at the egress Label Edge Router (LER) as the label it | <name>Synonymous Flow Labels</name> | |||
replaces, except that it also causes one or more additional actions that have be | <t>An SFL is defined to be a label that causes exactly the same | |||
en previously agreed between the peer LERs to be executed | behavior at the egress Label Edge Router (LER) as the label it | |||
on the packet. There are many possible additional actions such as | replaces, except that it also causes one or more additional actions that have | |||
the measurement of the number of received packets in a flow, | been previously agreed between the peer LERs to be executed | |||
triggering an IP Flow Information Export (IPFIX) <xref target="RFC7011"/> captur | on the packet. There are many possible additional actions, such as | |||
e, triggering other types of Deep Packet | measuring the number of received packets in a flow, | |||
Inspection, or identification of the packet source. In, for example, | triggering an IP Flow Information Export (IPFIX) <xref target="RFC7011" | |||
format="default"/> capture, triggering other types of deep packet | ||||
inspection, or identifying the packet source. For example, in | ||||
a Performance Monitoring (PM) application, the agreed action could be | a Performance Monitoring (PM) application, the agreed action could be | |||
the recording of the receipt of the packet by incrementing a packet | recording the receipt of the packet by incrementing a packet | |||
counter. This is a natural action in many MPLS implementations, and | counter. This is a natural action in many MPLS implementations, and | |||
where supported this permits the implementation of high quality | where supported, this permits the implementation of high-quality | |||
packet loss measurement without any change to the packet forwarding | packet loss measurement without any change to the packet-forwarding | |||
system.</t> | system.</t> | |||
<t>To illustrate the use of this technology, we start by considering | ||||
<t>To illustrate the use of this technology, we start by considering | the case where there is an <tt>application</tt> label in the MPLS label stack. | |||
the case where there is an “application” label in the MPLS label stack. | ||||
As a first example, let us consider a | As a first example, let us consider a | |||
pseudowire (PW) <xref target="RFC3985"/> on which it is desired to make | pseudowire (PW) <xref target="RFC3985" format="default"/> on which it is desired to make | |||
packet loss measurements. Two labels, synonymous with the PW labels, are obtaine d | packet loss measurements. Two labels, synonymous with the PW labels, are obtaine d | |||
from the egress terminating provider edge (T-PE). By alternating | from the egress terminating provider edge (T-PE). By alternating | |||
between these SFLs and using them in place of the PW label, the PW | between these SFLs and using them in place of the PW label, the PW | |||
packets may be batched for counting without any impact on the PW | packets may be batched for counting without any impact on the PW | |||
forwarding behavior <xref target="RFC8321"/> (note that strictly only one SFL is | forwarding behavior <xref target="RFC8321" format="default"/> (note that | |||
needed in | strictly only one SFL is needed in | |||
this application, but that is an optimization that is a matter for | this application, but that is an optimization that is a matter for | |||
the implementor). The method of obtaining these additional | the implementor). The method of obtaining these additional | |||
labels is outside the scope of this text, however, | labels is outside the scope of this text; however, | |||
one control protocol that provides a method of obtaining SFLs is described in | one control protocol that provides a method of obtaining SFLs is described in | |||
<xref target="I-D.bryant-mpls-sfl-control"/>.</t> | <xref target="I-D.bryant-mpls-sfl-control" format="default"/>.</t> | |||
<t>Next, consider an MPLS application that is multipoint to point, such as | ||||
<t>Now consider an MPLS application that is multi-point to point such as | a VPN. Here, it is necessary to identify a packet batch from a | |||
a VPN. Here it is necessary to identify a packet batch from a | ||||
specific source. This is achieved by making the SFLs source | specific source. This is achieved by making the SFLs source | |||
specific, so that batches from one source are marked differently from | specific, so that batches from one source are marked differently from | |||
batches from another source. The sources all operate independently | batches from another source. The sources all operate independently | |||
and asynchronously from each other, independently coordinating with | and asynchronously from each other, independently coordinating with | |||
the destination. Each ingress LER is thus able to establish its own SFL | the destination. Each ingress LER is thus able to establish its own SFL | |||
to identify the sub-flow and thus enable PM per flow.</t> | to identify the subflow and thus enable PM per flow.</t> | |||
<t>Finally, we need to consider the case where there is no MPLS | ||||
<t>Finally we need to consider the case where there is no MPLS | application label such as occurs when sending IP over a Label Switched Path | |||
application label such as occurs when sending IP over an LSP, i.e. there is a si | (LSP), i.e., there is a single label in the MPLS label stack. In | |||
ngle label in the MPLS label stack. In | this case, introducing an SFL that was synonymous with the LSP label | |||
this case introducing an SFL that was synonymous with the LSP label | ||||
would introduce network-wide forwarding state. This would not be | would introduce network-wide forwarding state. This would not be | |||
acceptable for scaling reasons. We therefore have no choice but to | acceptable for scaling reasons. Therefore, we have no choice but to | |||
introduce an additional label. Where penultimate hop popping (PHP) | introduce an additional label. Where penultimate hop popping (PHP) | |||
is in use, the semantics of this additional label can be similar to | is in use, the semantics of this additional label can be similar to | |||
the LSP label. Where PHP is not in use, the semantics are similar to | the LSP label. Where PHP is not in use, the semantics are similar to | |||
an MPLS explicit NULL <xref target="RFC3032"/>. In both of these cases the labe | an MPLS Explicit NULL <xref target="RFC3032" format="default"/>. In both of | |||
l has the | these cases, the label has the additional semantics of the SFL.</t> | |||
additional semantics of the SFL.</t> | <t>Note that to achieve the goals set out above, SFLs need to be | |||
<t>Note that to achieve the goals set out above, SFLs need to be | ||||
allocated from the platform label table.</t> | allocated from the platform label table.</t> | |||
</section> | ||||
</section> | <section anchor="user-service-traffic-in-the-data-plane" numbered="true" toc | |||
<section anchor="user-service-traffic-in-the-data-plane" title="User Service Tra | ="default"> | |||
ffic in the Data Plane"> | <name>User Service Traffic in the Data Plane</name> | |||
<t>As noted in <xref target="SFL" format="default"/>, it is necessary to | ||||
<t>As noted in <xref target="SFL"/> it is necessary to consider two cases:</t> | consider two cases:</t> | |||
<ol spacing="normal" type="1"> | ||||
<t><list style="numbers"> | <li>Application label is present</li> | |||
<t>Application label is present</t> | <li>Single-label stack</li> | |||
<t>Single label stack</t> | </ol> | |||
</list></t> | <section anchor="ALP" numbered="true" toc="default"> | |||
<name>Application Label Present</name> | ||||
<section anchor="ALP" title="Application Label Present"> | <t><xref target="Figure1" format="default"/> shows the case in which | |||
both an LSP label and an application | ||||
<t><xref target="Figure1"/> shows the case in which both an LSP label and an app | ||||
lication | ||||
label are present in the MPLS label stack. Traffic with no SFL | label are present in the MPLS label stack. Traffic with no SFL | |||
function present runs over the “normal” stack, and SFL-enabled flows | function present runs over the <tt>normal</tt> stack, and SFL-enabled flows | |||
run over the SFL stack with the SFL used to indicate the packet | run over the SFL stack with the SFL used to indicate the packet | |||
batch.</t> | batch.</t> | |||
<figure anchor="Figure1"> | ||||
<figure title="Use of Synonymous Labels In A Two Label MPLS Label Stack" anchor= | <name>Use of Synonymous Labels in a Two-Label MPLS Label Stack</name> | |||
"Figure1"><artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
+-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| LSP | | LSP | | | LSP | | LSP | | |||
| Label | | Label | | | Label | | Label | | |||
| (May be PHPed) | | (May be PHPed) | | | (May be PHPed) | | (May be PHPed) | | |||
+-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| | | | | | | | | | |||
| Application | | Synonymous Flow | | | Application | | Synonymous Flow | | |||
| Label | | Label | | | Label | | Label | | |||
+-----------------+ <= BoS +-----------------+ <= Bottom of stack | +-----------------+ <= BoS +-----------------+ <= Bottom of Stack | |||
| | | | | | | | | | |||
| Payload | | Payload | | | Payload | | Payload | | |||
| | | | | | | | | | |||
+-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
"Normal" Label Stack Label Stack with SFL | "Normal" Label Stack Label Stack with SFL | |||
]]></artwork></figure> | ]]></artwork> | |||
</figure> | ||||
<t>At the egress LER the LSP label is popped (if present). | <t>At the egress LER, the LSP label is popped (if present). Then, the | |||
Then the SFL | SFL is processed executing both the synonymous function and the | |||
is processed executing both the synonymous function and the corresponding applic | corresponding application function.</t> | |||
ation function.</t> | <section anchor="TTLandTC" numbered="true" toc="default"> | |||
<name>Setting TTL and the Traffic Class Bits</name> | ||||
<section anchor="TTLandTC" title="Setting TTL and the Traffic Class Bits"> | <t>The TTL and the Traffic Class bits <xref target="RFC5462" | |||
format="default"/> in the SFL label stack entry (LSE) would | ||||
<t>The TTL and the Traffic Class bits <xref target="RFC5462"/> in the SFL label | ||||
stack entry (LSE) would | ||||
normally be set to the same value as would have been set in the label | normally be set to the same value as would have been set in the label | |||
that the SFL is synonymous with. However, it is recognized that if there | that the SFL is synonymous with. However, it is recognized that, if there | |||
is an application need these fields in the SFL Label Stack Entry (LSE) MAY be se | is an application need, these fields in the SFL LSE | |||
t these to some other value. An | <bcp14>MAY</bcp14> be set to some other value. An | |||
example would be where it was desired to cause the SFL to trigger an | example would be where it was desired to cause the SFL to trigger an | |||
action in the TTL expiry exception path as part of the label action.</t> | action in the TTL expiry exception path as part of the label action.</t> | |||
</section> | ||||
</section> | </section> | |||
</section> | <section anchor="SLS" numbered="true" toc="default"> | |||
<section anchor="SLS" title="Single Label Stack"> | <name>Single-Label Stack</name> | |||
<t><xref target="Figure2" format="default"/> shows the case in which | ||||
<t><xref target="Figure2"/> shows the case in which only an LSP label is present | only an LSP label is present in the | |||
in the | ||||
MPLS label stack. Traffic with no SFL function present runs over the | MPLS label stack. Traffic with no SFL function present runs over the | |||
“normal” stack and SFL-enabled flows run over the SFL stack with the | "normal" stack, and SFL-enabled flows run over the SFL stack with the | |||
SFL used to indicate the packet batch. However in this case it is | SFL used to indicate the packet batch. However, in this case, it is | |||
necessary for the ingress Label Edge Router (LER) to first push the SFL and then | necessary for the ingress Label Edge Router (LER) to first push the SFL and | |||
to push | then to push the LSP label.</t> | |||
the LSP label.</t> | <figure anchor="Figure2"> | |||
<name>Use of Synonymous Labels in a Single-Label MPLS Label Stack</nam | ||||
<figure title="Use of Synonymous Labels In A Single Label MPLS Label Stack" anch | e> | |||
or="Figure2"><artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
+-----------------+ | +-----------------+ | |||
| LSP | | | LSP | | |||
| Label | | | Label | | |||
| (May be PHPed) | | | (May be PHPed) | | |||
+-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| LSP | | | <= Synonymous with | | LSP | | | <= Synonymous with | |||
| Label | | Synonymous Flow | Explicit NULL | | Label | | Synonymous Flow | Explicit NULL | |||
| (May be PHPed) | | Label | | | (May be PHPed) | | Label | | |||
+-----------------+ <= BoS +-----------------+ <= Bottom of stack | +-----------------+ <= BoS +-----------------+ <= Bottom of Stack | |||
| | | | | | | | | | |||
| Payload | | Payload | | | Payload | | Payload | | |||
| | | | | | | | | | |||
+-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
"Normal" Label Stack Label Stack with SFL | "Normal" Label Stack Label Stack with SFL | |||
]]></artwork></figure> | ]]></artwork> | |||
</figure> | ||||
<t>At the receiving Label Switching Router (LSR) it is necessary to consider two | <t>At the receiving Label Switching Router (LSR), it is necessary to | |||
cases:</t> | consider two cases:</t> | |||
<ol spacing="normal" type="1"> | ||||
<t><list style="numbers"> | <li>Where the LSP label is still present</li> | |||
<t>Where the LSP label is still present</t> | <li>Where the LSP label is penultimate hop popped</li> | |||
<t>Where the LSP label is penultimate hop popped</t> | </ol> | |||
</list></t> | <t>If the LSP label is present, it is processed exactly as it would | |||
normally be processed, and then it is popped. This reveals the SFL, | ||||
<t>If the LSP label is present, it is processed exactly as it would | which, in the case of the measurements defined in <xref | |||
normally processed and then it is popped. This reveals the SFL, which, | target="RFC6374" format="default"/>, is simply counted and then | |||
in the case of <xref target="RFC6374"/> measurements, is simply counted and then | discarded. In this respect, the processing of the SFL is synonymous | |||
discarded. In this respect the processing of the SFL is synonymous | with an MPLS Explicit NULL. As the SFL is the bottom of stack, the IP | |||
with an MPLS Explicit NULL. As the SFL is the bottom of stack, the IP | packet that follows is processed as normal.</t> | |||
packet that follows is processed as normal.</t> | <t>If the LSP label is not present due to PHP action in the upstream | |||
LSR, two almost equivalent processing actions can take place. | ||||
<t>If the LSP label is not present due to PHP action in the upstream | The SFL can be treated either 1) as an LSP label that was not PHPed and the | |||
LSR, two almost equivalent processing actions can take place. Either | ||||
the SFL can be treated as an LSP label that was not PHPed and the | ||||
additional associated SFL action is taken when the label is | additional associated SFL action is taken when the label is | |||
processed. Alternatively, it can be treated as an MPLS Explicit NULL with | processed or 2) as an MPLS Explicit NULL with | |||
associated SFL actions. From the perspective of the measurement | associated SFL actions. From the perspective of the measurement | |||
system described in this document the behaviour of the two approaches is | system described in this document, the behavior of the two approaches is | |||
indistinguishable and thus either may be implemented.</t> | indistinguishable; thus, either may be implemented.</t> | |||
<section anchor="setting-ttl-and-the-traffic-class-bits" numbered="true" | ||||
<section anchor="setting-ttl-and-the-traffic-class-bits" title="Setting TTL and | toc="default"> | |||
the Traffic Class Bits"> | <name>Setting TTL and the Traffic Class Bits</name> | |||
<t>The TTL and the Traffic Class considerations described in <xref | ||||
<t>The TTL and the Traffic Class considerations described in | target="TTLandTC" format="default"/> apply.</t> | |||
<xref target="TTLandTC"/> apply.</t> | </section> | |||
</section> | ||||
</section> | <section anchor="aggregation-of-sfl-actions" numbered="true" toc="default" | |||
</section> | > | |||
<section anchor="aggregation-of-sfl-actions" title="Aggregation of SFL Actions"> | <name>Aggregation of SFL Actions</name> | |||
<t>There are cases where it is desirable to aggregate an SFL action | ||||
<t>There are cases where it is desirable to aggregate an SFL action | against a number of labels, for example, where it is desirable to | |||
against a number of labels. For example, where it is desirable to | ||||
have one counter record the number of packets received over a group | have one counter record the number of packets received over a group | |||
of application labels, or where the number of labels used by a single | of application labels or where the number of labels used by a single | |||
application is large, and the resultant increase in the number of | application is large and the resultant increase in the number of | |||
allocated labels needed to support the SFL actions may | allocated labels needed to support the SFL actions may | |||
becomes too large to be viable. In these circumstances it would be | become too large to be viable. In these circumstances, it would be | |||
necessary to introduce an additional label in the stack to act as an | necessary to introduce an additional label in the stack to act as an | |||
aggregate instruction. This is not strictly a synonymous action in | aggregate instruction. This is not strictly a synonymous action in | |||
that the SFL is not replacing an existing label, but is somewhat | that the SFL is not replacing an existing label but is somewhat | |||
similar to the single label case shown in <xref target="SLS"/>, and the same | similar to the single-label case shown in <xref target="SLS" format="default"/>, | |||
signalling, management and configuration tools would be applicable.</t> | and the same | |||
signaling, management, and configuration tools would be applicable.</t> | ||||
<figure title="Aggregate SFL Actions" anchor="Figure3"><artwork><![CDATA[ | <figure anchor="Figure3"> | |||
<name>Aggregate SFL Actions</name> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
+-----------------+ | +-----------------+ | |||
| LSP | | | LSP | | |||
| Label | | | Label | | |||
| (May be PHPed) | | | (May be PHPed) | | |||
+-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| LSP | | | | | LSP | | | | |||
| Label | | Aggregate | | | Label | | Aggregate | | |||
| (May be PHPed) | | SFL | | | (May be PHPed) | | SFL | | |||
+-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| | | | | | | | | | |||
| Application | | Application | | | Application | | Application | | |||
| Label | | Label | | | Label | | Label | | |||
+-----------------+ <=BoS +-----------------+ <= Bottom of stack | +-----------------+ <=BoS +-----------------+ <= Bottom of Stack | |||
| | | | | | | | | | |||
| Payload | | Payload | | | Payload | | Payload | | |||
| | | | | | | | | | |||
+-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
"Normal" Label Stack Label Stack with SFL | "Normal" Label Stack Label Stack with SFL | |||
]]></artwork></figure> | ]]></artwork> | |||
</figure> | ||||
<t>The Aggregate SFL is shown in the label stack depicted in <xref target="Figur | <t>The aggregate SFL is shown in the label stack depicted in <xref | |||
e3"/> as | target="Figure3" format="default"/> as | |||
preceding the application label, however the choice of position | preceding the application label; however, the choice of position | |||
before, or after, the application label will be application specific. | before or after the application label will be application specific. | |||
In the case described in <xref target="ALP"/>, by definition the SFL has the | In the case described in <xref target="ALP" format="default"/>, by definition, t | |||
full application context. In this case the positioning will depend | he SFL has the | |||
full application context. In this case, the positioning will depend | ||||
on whether the SFL action needs the full context of the application | on whether the SFL action needs the full context of the application | |||
to perform its action and whether the complexity of the application | to perform its action and whether the complexity of the application | |||
will be increased by finding an SFL following the application label.</t> | will be increased by finding an SFL following the application label.</t> | |||
</section> | ||||
</section> | </section> | |||
</section> | <section anchor="equal-cost-multipath-considerations" numbered="true" toc="d | |||
<section anchor="equal-cost-multipath-considerations" title="Equal Cost Multipat | efault"> | |||
h Considerations"> | <name>Equal-Cost Multipath Considerations</name> | |||
<t>The introduction of an SFL to an existing flow may cause that flow to t | ||||
<t>The introduction of an SFL to an existing flow may cause that flow to take | ake | |||
a different path through the network under conditions of Equal Cost | a different path through the network under conditions of Equal-Cost | |||
Multi-path (ECMP). This in turn may invalidate certain uses of | Multipath (ECMP). This, in turn, may invalidate certain uses of | |||
the SFL such as performance measurement applications. Where this is | the SFL, such as performance measurement applications. Where this is | |||
a problem there are two solutions worthy of consideration:</t> | a problem, there are two solutions worthy of consideration:</t> | |||
<ol spacing="normal" type="1"> | ||||
<t><list style="numbers"> | <li>The operator <bcp14>MAY</bcp14> elect to always run with the SFL | |||
<t>The operator MAY elect to always run with the SFL in place in the | in place in the MPLS label stack.</li> | |||
MPLS label stack.</t> | <li>The operator can elect to use entropy labels <xref target="RFC6790" | |||
<t>The operator can elect to use <xref target="RFC6790"/> Entropy Labels in | format="default"/> in a network that fully supports | |||
a network that fully supports this type of ECMP. If this | this type of ECMP. If this approach is adopted, the intervening MPLS | |||
approach is adopted, the intervening MPLS network MUST NOT | network <bcp14>MUST NOT</bcp14> load balance on any packet field other | |||
load balance on any packet field other than the entropy label. | than the entropy label. Note that this is stricter than the text in | |||
Note that this is stricter than the text in Section 4.3 of | <xref target="RFC6790" sectionFormat="of" section="4.3"/>.</li> | |||
<xref target="RFC6790"/>.</t> | </ol> | |||
</list></t> | </section> | |||
<section anchor="privacy" numbered="true" toc="default"> | ||||
</section> | <name>Privacy Considerations</name> | |||
<section anchor="privacy" title="Privacy Considerations"> | <t>IETF concerns on pervasive monitoring are described in <xref | |||
target="RFC7258" format="default"/>. The inclusion of originating | ||||
<t>IETF concerns on pervasive monitoring are described in | and/or flow information in a packet provides more identity information | |||
<xref target="RFC7258"/>. The inclusion of originating and/or flow information | and hence potentially degrades the privacy of the communication to an | |||
in a | attacker in a position to observe the added identifier. Whilst the | |||
packet provides more identity information and hence potentially | inclusion of the additional granularity does allow greater insight into | |||
degrades the privacy of the communication to an attacker in a position | the flow characteristics, it does not specifically identify which node | |||
to observe the added identifier. Whilst the inclusion of | originated the packet unless the attacker can inspect the network at the | |||
the additional granularity does allow greater insight into the flow | point of ingress or inspect the control protocol packets. This privacy | |||
characteristics it does not specifically identify which node | threat may be mitigated by encrypting the control protocol packets by | |||
originated the packet unless the attacker can inspect the network at the | regularly changing the synonymous labels or by concurrently using a | |||
point of ingress, or inspection of the control protocol packets. | number of such labels, including the use of a combination of those | |||
This privacy threat may be mitigated by encrypting the control | methods. Minimizing the scope of the identity indication can be useful | |||
protocol packets, by regularly changing the synonymous labels or by | in minimizing the observability of the flow characteristics. Whenever | |||
concurrently using a number of such labels, including the use of a combination o | IPFIX or other deep packet inspection (DPI) technique is used, their | |||
f those methods. Minimizing the scope | relevant privacy considerations apply.</t> | |||
of the identity indication can be useful in minimizing the | </section> | |||
observability of the flow characteristics. Whenever IPFIX or other | <section anchor="security-considerations" numbered="true" toc="default"> | |||
DPI technique is used, their relavent privacy considerations apply.</t> | <name>Security Considerations</name> | |||
<t>There are | ||||
</section> | ||||
<section anchor="security-considerations" title="Security Considerations"> | ||||
<t>There are | ||||
no new security issues associated with the MPLS data plane. Any | no new security issues associated with the MPLS data plane. Any | |||
control protocol used to request SFLs will need to ensure the | control protocol used to request SFLs will need to ensure the | |||
legitimacy of the request, i.e. that the requesting node is authorized | legitimacy of the request, i.e., that the requesting node is authorized | |||
to make that SFL request by the network operator.</t> | to make that SFL request by the network operator.</t> | |||
</section> | ||||
</section> | <section anchor="iana-considerations" numbered="true" toc="default"> | |||
<section anchor="iana-considerations" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
<t>This document has no IANA actions.</t> | ||||
<t>This draft makes no IANA requests.</t> | </section> | |||
</section> | ||||
<section anchor="contributing-authors" title="Contributing Authors"> | ||||
<figure><artwork><![CDATA[ | ||||
Zhenbin Li | ||||
Huawei | ||||
Email: lizhenbin@huawei.com | ||||
]]></artwork></figure> | ||||
</section> | ||||
</middle> | </middle> | |||
<back> | <back> | |||
<references title='Normative References'> | <displayreference target="I-D.bryant-mpls-sfl-control" to="MPLS-SFL-CONTROL"/> | |||
<reference anchor="RFC5462" target='https://www.rfc-editor.org/info/rfc5462'> | ||||
<front> | ||||
<title>Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" F | ||||
ield Renamed to "Traffic Class" Field</title> | ||||
<author initials='L.' surname='Andersson' fullname='L. Andersson'><organization | ||||
/></author> | ||||
<author initials='R.' surname='Asati' fullname='R. Asati'><organization /></auth | ||||
or> | ||||
<date year='2009' month='February' /> | ||||
<abstract><t>The early Multiprotocol Label Switching (MPLS) documents defined th | ||||
e form of the MPLS label stack entry. This includes a three-bit field called th | ||||
e "EXP field". The exact use of this field was not defined by these d | ||||
ocuments, except to state that it was to be "reserved for experimental use& | ||||
quot;.</t><t>Although the intended use of the EXP field was as a "Class of | ||||
Service" (CoS) field, it was not named a CoS field by these early documents | ||||
because the use of such a CoS field was not considered to be sufficiently defin | ||||
ed. Today a number of standards documents define its usage as a CoS field.</t>< | ||||
t>To avoid misunderstanding about how this field may be used, it has become incr | ||||
easingly necessary to rename this field. This document changes the name of the | ||||
field to the "Traffic Class field" ("TC field"). In doing s | ||||
o, it also updates documents that define the current use of the EXP field. [STA | ||||
NDARDS-TRACK]</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='5462'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC5462'/> | ||||
</reference> | ||||
<reference anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'> | ||||
<front> | ||||
<title>Key words for use in RFCs to Indicate Requirement Levels</title> | ||||
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></ | ||||
author> | ||||
<date year='1997' month='March' /> | ||||
<abstract><t>In many standards track documents several words are used to signify | ||||
the requirements in the specification. These words are often capitalized. This | ||||
document defines these words as they should be interpreted in IETF documents. | ||||
This document specifies an Internet Best Current Practices for the Internet Comm | ||||
unity, and requests discussion and suggestions for improvements.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='BCP' value='14'/> | ||||
<seriesInfo name='RFC' value='2119'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC2119'/> | ||||
</reference> | ||||
<reference anchor="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'> | ||||
<front> | ||||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title> | ||||
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></auth | ||||
or> | ||||
<date year='2017' month='May' /> | ||||
<abstract><t>RFC 2119 specifies common key words that may be used in protocol s | ||||
pecifications. This document aims to reduce the ambiguity by clarifying that on | ||||
ly UPPERCASE usage of the key words have the defined special meanings.</t></abs | ||||
tract> | ||||
</front> | ||||
<seriesInfo name='BCP' value='14'/> | ||||
<seriesInfo name='RFC' value='8174'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8174'/> | ||||
</reference> | ||||
<reference anchor="RFC3032" target='https://www.rfc-editor.org/info/rfc3032'> | ||||
<front> | ||||
<title>MPLS Label Stack Encoding</title> | ||||
<author initials='E.' surname='Rosen' fullname='E. Rosen'><organization /></auth | ||||
or> | ||||
<author initials='D.' surname='Tappan' fullname='D. Tappan'><organization /></au | ||||
thor> | ||||
<author initials='G.' surname='Fedorkow' fullname='G. Fedorkow'><organization /> | ||||
</author> | ||||
<author initials='Y.' surname='Rekhter' fullname='Y. Rekhter'><organization /></ | ||||
author> | ||||
<author initials='D.' surname='Farinacci' fullname='D. Farinacci'><organization | ||||
/></author> | ||||
<author initials='T.' surname='Li' fullname='T. Li'><organization /></author> | ||||
<author initials='A.' surname='Conta' fullname='A. Conta'><organization /></auth | ||||
or> | ||||
<date year='2001' month='January' /> | ||||
<abstract><t>This document specifies the encoding to be used by an LSR in order | ||||
to transmit labeled packets on Point-to-Point Protocol (PPP) data links, on LAN | ||||
data links, and possibly on other data links as well. This document also specif | ||||
ies rules and procedures for processing the various fields of the label stack en | ||||
coding. [STANDARDS-TRACK]</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='3032'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC3032'/> | ||||
</reference> | ||||
<reference anchor="RFC6790" target='https://www.rfc-editor.org/info/rfc6790'> | ||||
<front> | ||||
<title>The Use of Entropy Labels in MPLS Forwarding</title> | ||||
<author initials='K.' surname='Kompella' fullname='K. Kompella'><organization /> | ||||
</author> | ||||
<author initials='J.' surname='Drake' fullname='J. Drake'><organization /></auth | ||||
or> | ||||
<author initials='S.' surname='Amante' fullname='S. Amante'><organization /></au | ||||
thor> | ||||
<author initials='W.' surname='Henderickx' fullname='W. Henderickx'><organizatio | ||||
n /></author> | ||||
<author initials='L.' surname='Yong' fullname='L. Yong'><organization /></author | ||||
> | ||||
<date year='2012' month='November' /> | ||||
<abstract><t>Load balancing is a powerful tool for engineering traffic across a | ||||
network. This memo suggests ways of improving load balancing across MPLS networ | ||||
ks using the concept of "entropy labels". It defines the concept, des | ||||
cribes why entropy labels are useful, enumerates properties of entropy labels th | ||||
at allow maximal benefit, and shows how they can be signaled and used for variou | ||||
s applications. This document updates RFCs 3031, 3107, 3209, and 5036. [STANDA | ||||
RDS-TRACK]</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='6790'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC6790'/> | ||||
</reference> | ||||
</references> | ||||
<references title='Informative References'> | ||||
<reference anchor="RFC3985" target='https://www.rfc-editor.org/info/rfc3985'> | ||||
<front> | ||||
<title>Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture</title> | ||||
<author initials='S.' surname='Bryant' fullname='S. Bryant' role='editor'><organ | ||||
ization /></author> | ||||
<author initials='P.' surname='Pate' fullname='P. Pate' role='editor'><organizat | ||||
ion /></author> | ||||
<date year='2005' month='March' /> | ||||
<abstract><t>This document describes an architecture for Pseudo Wire Emulation E | ||||
dge-to-Edge (PWE3). It discusses the emulation of services such as Frame Relay, | ||||
ATM, Ethernet, TDM, and SONET/SDH over packet switched networks (PSNs) using IP | ||||
or MPLS. It presents the architectural framework for pseudo wires (PWs), defin | ||||
es terminology, and specifies the various protocol elements and their functions. | ||||
This memo provides information for the Internet community.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='3985'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC3985'/> | ||||
</reference> | ||||
<reference anchor="RFC8372" target='https://www.rfc-editor.org/info/rfc8372'> | ||||
<front> | ||||
<title>MPLS Flow Identification Considerations</title> | ||||
<author initials='S.' surname='Bryant' fullname='S. Bryant'><organization /></au | ||||
thor> | ||||
<author initials='C.' surname='Pignataro' fullname='C. Pignataro'><organization | ||||
/></author> | ||||
<author initials='M.' surname='Chen' fullname='M. Chen'><organization /></author | ||||
> | ||||
<author initials='Z.' surname='Li' fullname='Z. Li'><organization /></author> | ||||
<author initials='G.' surname='Mirsky' fullname='G. Mirsky'><organization /></au | ||||
thor> | ||||
<date year='2018' month='May' /> | ||||
<abstract><t>This document discusses aspects to consider when developing a solut | ||||
ion for MPLS flow identification. The key application that needs this solution | ||||
is in-band performance monitoring of MPLS flows when MPLS is used to encapsulate | ||||
user data packets.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='8372'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8372'/> | ||||
</reference> | ||||
<reference anchor="RFC6374" target='https://www.rfc-editor.org/info/rfc6374'> | ||||
<front> | ||||
<title>Packet Loss and Delay Measurement for MPLS Networks</title> | ||||
<author initials='D.' surname='Frost' fullname='D. Frost'><organization /></auth | ||||
or> | ||||
<author initials='S.' surname='Bryant' fullname='S. Bryant'><organization /></au | ||||
thor> | ||||
<date year='2011' month='September' /> | ||||
<abstract><t>Many service provider service level agreements (SLAs) depend on the | ||||
ability to measure and monitor performance metrics for packet loss and one-way | ||||
and two-way delay, as well as related metrics such as delay variation and channe | ||||
l throughput. This measurement capability also provides operators with greater | ||||
visibility into the performance characteristics of their networks, thereby facil | ||||
itating planning, troubleshooting, and network performance evaluation. This doc | ||||
ument specifies protocol mechanisms to enable the efficient and accurate measure | ||||
ment of these performance metrics in MPLS networks. [STANDARDS-TRACK]</t></abst | ||||
ract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='6374'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC6374'/> | ||||
</reference> | ||||
<reference anchor="RFC7258" target='https://www.rfc-editor.org/info/rfc7258'> | ||||
<front> | ||||
<title>Pervasive Monitoring Is an Attack</title> | ||||
<author initials='S.' surname='Farrell' fullname='S. Farrell'><organization /></ | ||||
author> | ||||
<author initials='H.' surname='Tschofenig' fullname='H. Tschofenig'><organizatio | ||||
n /></author> | ||||
<date year='2014' month='May' /> | ||||
<abstract><t>Pervasive monitoring is a technical attack that should be mitigated | ||||
in the design of IETF protocols, where possible.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='BCP' value='188'/> | ||||
<seriesInfo name='RFC' value='7258'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC7258'/> | ||||
</reference> | ||||
<reference anchor="RFC8321" target='https://www.rfc-editor.org/info/rfc8321'> | ||||
<front> | ||||
<title>Alternate-Marking Method for Passive and Hybrid Performance Monitoring</t | ||||
itle> | ||||
<author initials='G.' surname='Fioccola' fullname='G. Fioccola' role='editor'><o | ||||
rganization /></author> | ||||
<author initials='A.' surname='Capello' fullname='A. Capello'><organization /></ | ||||
author> | ||||
<author initials='M.' surname='Cociglio' fullname='M. Cociglio'><organization /> | ||||
</author> | ||||
<author initials='L.' surname='Castaldelli' fullname='L. Castaldelli'><organizat | ||||
ion /></author> | ||||
<author initials='M.' surname='Chen' fullname='M. Chen'><organization /></author | ||||
> | ||||
<author initials='L.' surname='Zheng' fullname='L. Zheng'><organization /></auth | ||||
or> | ||||
<author initials='G.' surname='Mirsky' fullname='G. Mirsky'><organization /></au | ||||
thor> | ||||
<author initials='T.' surname='Mizrahi' fullname='T. Mizrahi'><organization /></ | ||||
author> | ||||
<date year='2018' month='January' /> | ||||
<abstract><t>This document describes a method to perform packet loss, delay, and | ||||
jitter measurements on live traffic. This method is based on an Alternate-Mark | ||||
ing (coloring) technique. A report is provided in order to explain an example a | ||||
nd show the method applicability. This technology can be applied in various sit | ||||
uations, as detailed in this document, and could be considered Passive or Hybrid | ||||
depending on the application.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='RFC' value='8321'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC8321'/> | ||||
</reference> | ||||
<reference anchor="RFC7011" target='https://www.rfc-editor.org/info/rfc7011'> | ||||
<front> | ||||
<title>Specification of the IP Flow Information Export (IPFIX) Protocol for the | ||||
Exchange of Flow Information</title> | ||||
<author initials='B.' surname='Claise' fullname='B. Claise' role='editor'><organ | ||||
ization /></author> | ||||
<author initials='B.' surname='Trammell' fullname='B. Trammell' role='editor'><o | ||||
rganization /></author> | ||||
<author initials='P.' surname='Aitken' fullname='P. Aitken'><organization /></au | ||||
thor> | ||||
<date year='2013' month='September' /> | ||||
<abstract><t>This document specifies the IP Flow Information Export (IPFIX) prot | ||||
ocol, which serves as a means for transmitting Traffic Flow information over the | ||||
network. In order to transmit Traffic Flow information from an Exporting Proce | ||||
ss to a Collecting Process, a common representation of flow data and a standard | ||||
means of communicating them are required. This document describes how the IPFIX | ||||
Data and Template Records are carried over a number of transport protocols from | ||||
an IPFIX Exporting Process to an IPFIX Collecting Process. This document obsol | ||||
etes RFC 5101.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='STD' value='77'/> | ||||
<seriesInfo name='RFC' value='7011'/> | ||||
<seriesInfo name='DOI' value='10.17487/RFC7011'/> | ||||
</reference> | ||||
<reference anchor="I-D.bryant-mpls-sfl-control"> | ||||
<front> | ||||
<title>A Simple Control Protocol for MPLS SFLs</title> | ||||
<author initials='S' surname='Bryant' fullname='Stewart Bryant'> | ||||
<organization /> | ||||
</author> | ||||
<author initials='G' surname='Swallow' fullname='George Swallow'> | ||||
<organization /> | ||||
</author> | ||||
<author initials='S' surname='Sivabalan' fullname='Siva Sivabalan'> | ||||
<organization /> | ||||
</author> | ||||
<date month='June' day='8' year='2020' /> | ||||
<abstract><t>In draft-ietf-mpls-sfl-framework the concept of MPLS synonymous flo | ||||
w labels (SFL) was introduced. This document describes a simple control protoco | ||||
l that runs over an associated control header to request, withdraw, and extend t | ||||
he lifetime of such labels. It is not the only control protocol that moght be u | ||||
sed to support SFL, but it has the benefit of being able to be used without modi | ||||
fying of the existing MPLS control prodocols. The existance of this design is n | ||||
ot intended to restrict the ability to enhance an existing MPLS control protocol | ||||
to add a similar capability. A Querier MUST wait a configured time (suggested | ||||
wait of 60 seconds) before re-attempting a Withdraw request. No more than three | ||||
Withdraw requests SHOULD be made. These restricctions are to prevent overloadi | ||||
ng the control plane of the actioning router.</t></abstract> | ||||
</front> | ||||
<seriesInfo name='Internet-Draft' value='draft-bryant-mpls-sfl-control-08' /> | <references> | |||
<format type='TXT' | <name>References</name> | |||
target='http://www.ietf.org/internet-drafts/draft-bryant-mpls-sfl-contro | <references> | |||
l-08.txt' /> | <name>Normative References</name> | |||
</reference> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
FC.5462.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.2119.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8174.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3032.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6790.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3985.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8372.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6374.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7258.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8321.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7011.xml"/> | ||||
<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | ||||
.bryant-mpls-sfl-control.xml"/> | ||||
</references> | ||||
</references> | </references> | |||
<section anchor="contributing-authors" numbered="false" toc="default"> | ||||
<name>Contributors</name> | ||||
<contact fullname="Zhenbin Li"> | ||||
<organization>Huawei</organization> | ||||
<address> | ||||
<postal/> | ||||
<email>lizhenbin@huawei.com</email> | ||||
</address> | ||||
</contact> | ||||
</section> | ||||
</back> | </back> | |||
<!-- ##markdown-source: | ||||
H4sIACJ6d18AA+1bW28bx5J+71/RkF8kHEnrS3KcCHuAKLKUCJBsrimv95zF | ||||
YtGcaZIND2cm0z2iGR399/2qqnsuFCU7myywDyGQmJrpS3Vdvrp08ejoSGVV | ||||
7srFiW7D/Og7pYILhT3R001ZlZtV1Xp9UVRrfWVmttAXjVnZddV8UmY2a+zt | ||||
ib6eXE31xZXKq6zEuxOdN2YejpzFaqu68Ed+XhzN07SjFy/UehFnfcQD7Kx/ | ||||
aqq2VpkJdlE1mxPtQ66UD6bM/9sUVYk1N9ar2p3o/wxVdqh91YTGzj2+bVby | ||||
JatWK1sG/19KmTYsq+ZEaX2E//jjSo8DHesfm40pQ3oq5E6DXZsmbL2rGhB5 | ||||
0Ya2sWvr9I3NlmVVVAtnvb4sszTMrowrQPDsBy/LzHiVY5DzYP/rY322tOV4 | ||||
92uTLfmxHu38c2uw7dYuK4w9zjD2hyW/3rnLT8d6ujYFJDbe6CeLhe32O95s | ||||
WoFjtszllC4zhT4DL22zfUqZe0yi/WFBz3ZSAD5P3a2ZmcL0p4q8xvP+5YiI | ||||
M2dLo8+qpq4aE1xVbm/uZdoPGQ187OjXrvGfNlsnb1ittt7xpv+4Oectj7c2 | ||||
W2CKW/H4wUGVKqtmBeJuLWnX+4uzb7/568v49eWLF9/Hr9+9eP1N/Prq+as0 | ||||
4K+vv39+opQr51uLvPr+u2/TzFevu+GvukVev/z2u27Ayxfp6fMX/PXy6M2x | ||||
aF1vbllVhqYqsN3R0ZE2Mx8akwWlME3THnpfrJbs+jKHrN0cYieugx2ld7kV | ||||
GfgDnVufNW4GtYeO6Mb+0rrGkqlpnAOnwT55m8GK1ZxWc7xaIDNZu7B0JU/j | ||||
3UyTLV2wGdnUsdY3S+c1QKOlxVS/jdErCwPOdTXXJgPf68L5JcFEoBmzjW49 | ||||
/WV0YHX9pbUaKlvYXO2ELA/l0Oulg50V8rf8sYKAM6ZuZpfm1lVtgy1VhSdN | ||||
Glk31S1OxKPcmE/eNrcuk4NY37+2jQeSlVgUdNpch0qHxi0WWLS2zREzqaoT | ||||
f3UlDKpN9skGbYISLmfW3dIhmQ4YngsZswBACbs8ViLYlcvzwir1DJAkcmDD | ||||
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 | ||||
c/nhWeF+lSHDn/j9D+FmqmikOQAA | ||||
</rfc> | </rfc> | |||
End of changes. 50 change blocks. | ||||
663 lines changed or deleted | 265 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |