Internet Engineering Task Force (IETF)                C. Villamizar, Ed.
Request for Comments: 7325                                         OCCNC
Category: Informational                                      K. Kompella
ISSN: 2070-1721                                         Juniper Networks
                                                               S. Amante
                                                              Apple Inc.
                                                                A. Malis
                                                            C. Pignataro
                                                             August 2014
Internet Engineering Task Force (IETF)                C. Villamizar, Ed.
Request for Comments: 7325                                         OCCNC
Category: Informational                                      K. Kompella
ISSN: 2070-1721                                         Juniper Networks
                                                               S. Amante
                                                              Apple Inc.
                                                                A. Malis
                                                            C. Pignataro
                                                             August 2014

MPLS Forwarding Compliance and Performance Requirements




This document provides guidelines for implementers regarding MPLS forwarding and a basis for evaluations of forwarding implementations. Guidelines cover many aspects of MPLS forwarding. Topics are highlighted where implementers might otherwise overlook practical requirements that are unstated or underemphasized, or that are optional for conformance to RFCs but often considered mandatory by providers.


Status of This Memo


This document is not an Internet Standards Track specification; it is published for informational purposes.


This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741.

本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。并非IESG批准的所有文件都适用于任何级别的互联网标准;见RFC 5741第2节。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at


Copyright Notice


Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.

版权所有(c)2014 IETF信托基金和确定为文件作者的人员。版权所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents

本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束

( in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents


   1.  Introduction and Document Scope . . . . . . . . . . . . . . .   4
     1.1.  Abbreviations . . . . . . . . . . . . . . . . . . . . . .   4
     1.2.  Use of Requirements Language  . . . . . . . . . . . . . .   8
     1.3.  Apparent Misconceptions . . . . . . . . . . . . . . . . .   9
     1.4.  Target Audience . . . . . . . . . . . . . . . . . . . . .  10
   2.  Forwarding Issues . . . . . . . . . . . . . . . . . . . . . .  11
     2.1.  Forwarding Basics . . . . . . . . . . . . . . . . . . . .  11
       2.1.1.  MPLS Special-Purpose Labels . . . . . . . . . . . . .  12
       2.1.2.  MPLS Differentiated Services  . . . . . . . . . . . .  13
       2.1.3.  Time Synchronization  . . . . . . . . . . . . . . . .  14
       2.1.4.  Uses of Multiple Label Stack Entries  . . . . . . . .  14
       2.1.5.  MPLS Link Bundling  . . . . . . . . . . . . . . . . .  15
       2.1.6.  MPLS Hierarchy  . . . . . . . . . . . . . . . . . . .  16
       2.1.7.  MPLS Fast Reroute (FRR) . . . . . . . . . . . . . . .  16
       2.1.8.  Pseudowire Encapsulation  . . . . . . . . . . . . . .  17  Pseudowire Sequence Number  . . . . . . . . . . .  17
       2.1.9.  Layer 2 and Layer 3 VPN . . . . . . . . . . . . . . .  19
     2.2.  MPLS Multicast  . . . . . . . . . . . . . . . . . . . . .  20
     2.3.  Packet Rates  . . . . . . . . . . . . . . . . . . . . . .  21
     2.4.  MPLS Multipath Techniques . . . . . . . . . . . . . . . .  23
       2.4.1.  Pseudowire Control Word . . . . . . . . . . . . . . .  24
       2.4.2.  Large Microflows  . . . . . . . . . . . . . . . . . .  24
       2.4.3.  Pseudowire Flow Label . . . . . . . . . . . . . . . .  25
       2.4.4.  MPLS Entropy Label  . . . . . . . . . . . . . . . . .  25
       2.4.5.  Fields Used for Multipath Load Balance  . . . . . . .  25  MPLS Fields in Multipath  . . . . . . . . . . . .  26  IP Fields in Multipath  . . . . . . . . . . . . .  27  Fields Used in Flow Label . . . . . . . . . . . .  29  Fields Used in Entropy Label  . . . . . . . . . .  29
     2.5.  MPLS-TP and UHP . . . . . . . . . . . . . . . . . . . . .  30
   1.  Introduction and Document Scope . . . . . . . . . . . . . . .   4
     1.1.  Abbreviations . . . . . . . . . . . . . . . . . . . . . .   4
     1.2.  Use of Requirements Language  . . . . . . . . . . . . . .   8
     1.3.  Apparent Misconceptions . . . . . . . . . . . . . . . . .   9
     1.4.  Target Audience . . . . . . . . . . . . . . . . . . . . .  10
   2.  Forwarding Issues . . . . . . . . . . . . . . . . . . . . . .  11
     2.1.  Forwarding Basics . . . . . . . . . . . . . . . . . . . .  11
       2.1.1.  MPLS Special-Purpose Labels . . . . . . . . . . . . .  12
       2.1.2.  MPLS Differentiated Services  . . . . . . . . . . . .  13
       2.1.3.  Time Synchronization  . . . . . . . . . . . . . . . .  14
       2.1.4.  Uses of Multiple Label Stack Entries  . . . . . . . .  14
       2.1.5.  MPLS Link Bundling  . . . . . . . . . . . . . . . . .  15
       2.1.6.  MPLS Hierarchy  . . . . . . . . . . . . . . . . . . .  16
       2.1.7.  MPLS Fast Reroute (FRR) . . . . . . . . . . . . . . .  16
       2.1.8.  Pseudowire Encapsulation  . . . . . . . . . . . . . .  17  Pseudowire Sequence Number  . . . . . . . . . . .  17
       2.1.9.  Layer 2 and Layer 3 VPN . . . . . . . . . . . . . . .  19
     2.2.  MPLS Multicast  . . . . . . . . . . . . . . . . . . . . .  20
     2.3.  Packet Rates  . . . . . . . . . . . . . . . . . . . . . .  21
     2.4.  MPLS Multipath Techniques . . . . . . . . . . . . . . . .  23
       2.4.1.  Pseudowire Control Word . . . . . . . . . . . . . . .  24
       2.4.2.  Large Microflows  . . . . . . . . . . . . . . . . . .  24
       2.4.3.  Pseudowire Flow Label . . . . . . . . . . . . . . . .  25
       2.4.4.  MPLS Entropy Label  . . . . . . . . . . . . . . . . .  25
       2.4.5.  Fields Used for Multipath Load Balance  . . . . . . .  25  MPLS Fields in Multipath  . . . . . . . . . . . .  26  IP Fields in Multipath  . . . . . . . . . . . . .  27  Fields Used in Flow Label . . . . . . . . . . . .  29  Fields Used in Entropy Label  . . . . . . . . . .  29
     2.5.  MPLS-TP and UHP . . . . . . . . . . . . . . . . . . . . .  30
     2.6.  Local Delivery of Packets . . . . . . . . . . . . . . . .  30
       2.6.1.  DoS Protection  . . . . . . . . . . . . . . . . . . .  31
       2.6.2.  MPLS OAM  . . . . . . . . . . . . . . . . . . . . . .  33
       2.6.3.  Pseudowire OAM  . . . . . . . . . . . . . . . . . . .  34
       2.6.4.  MPLS-TP OAM . . . . . . . . . . . . . . . . . . . . .  34
       2.6.5.  MPLS OAM and Layer 2 OAM Interworking . . . . . . . .  35
       2.6.6.  Extent of OAM Support by Hardware . . . . . . . . . .  36
       2.6.7.  Support for IPFIX in Hardware . . . . . . . . . . . .  37
     2.7.  Number and Size of Flows  . . . . . . . . . . . . . . . .  37
   3.  Questions for Suppliers . . . . . . . . . . . . . . . . . . .  38
     3.1.  Basic Compliance  . . . . . . . . . . . . . . . . . . . .  38
     3.2.  Basic Performance . . . . . . . . . . . . . . . . . . . .  40
     3.3.  Multipath Capabilities and Performance  . . . . . . . . .  41
     3.4.  Pseudowire Capabilities and Performance . . . . . . . . .  41
     3.5.  Entropy Label Support and Performance . . . . . . . . . .  42
     3.6.  DoS Protection  . . . . . . . . . . . . . . . . . . . . .  42
     3.7.  OAM Capabilities and Performance  . . . . . . . . . . . .  42
   4.  Forwarding Compliance and Performance Testing . . . . . . . .  43
     4.1.  Basic Compliance  . . . . . . . . . . . . . . . . . . . .  43
     4.2.  Basic Performance . . . . . . . . . . . . . . . . . . . .  44
     4.3.  Multipath Capabilities and Performance  . . . . . . . . .  45
     4.4.  Pseudowire Capabilities and Performance . . . . . . . . .  46
     4.5.  Entropy Label Support and Performance . . . . . . . . . .  46
     4.6.  DoS Protection  . . . . . . . . . . . . . . . . . . . . .  47
     4.7.  OAM Capabilities and Performance  . . . . . . . . . . . .  47
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  48
   6.  Organization of References Section  . . . . . . . . . . . . .  50
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  50
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  50
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  53
   Appendix A.  Acknowledgements . . . . . . . . . . . . . . . . . .  59
     2.6.  Local Delivery of Packets . . . . . . . . . . . . . . . .  30
       2.6.1.  DoS Protection  . . . . . . . . . . . . . . . . . . .  31
       2.6.2.  MPLS OAM  . . . . . . . . . . . . . . . . . . . . . .  33
       2.6.3.  Pseudowire OAM  . . . . . . . . . . . . . . . . . . .  34
       2.6.4.  MPLS-TP OAM . . . . . . . . . . . . . . . . . . . . .  34
       2.6.5.  MPLS OAM and Layer 2 OAM Interworking . . . . . . . .  35
       2.6.6.  Extent of OAM Support by Hardware . . . . . . . . . .  36
       2.6.7.  Support for IPFIX in Hardware . . . . . . . . . . . .  37
     2.7.  Number and Size of Flows  . . . . . . . . . . . . . . . .  37
   3.  Questions for Suppliers . . . . . . . . . . . . . . . . . . .  38
     3.1.  Basic Compliance  . . . . . . . . . . . . . . . . . . . .  38
     3.2.  Basic Performance . . . . . . . . . . . . . . . . . . . .  40
     3.3.  Multipath Capabilities and Performance  . . . . . . . . .  41
     3.4.  Pseudowire Capabilities and Performance . . . . . . . . .  41
     3.5.  Entropy Label Support and Performance . . . . . . . . . .  42
     3.6.  DoS Protection  . . . . . . . . . . . . . . . . . . . . .  42
     3.7.  OAM Capabilities and Performance  . . . . . . . . . . . .  42
   4.  Forwarding Compliance and Performance Testing . . . . . . . .  43
     4.1.  Basic Compliance  . . . . . . . . . . . . . . . . . . . .  43
     4.2.  Basic Performance . . . . . . . . . . . . . . . . . . . .  44
     4.3.  Multipath Capabilities and Performance  . . . . . . . . .  45
     4.4.  Pseudowire Capabilities and Performance . . . . . . . . .  46
     4.5.  Entropy Label Support and Performance . . . . . . . . . .  46
     4.6.  DoS Protection  . . . . . . . . . . . . . . . . . . . . .  47
     4.7.  OAM Capabilities and Performance  . . . . . . . . . . . .  47
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  48
   6.  Organization of References Section  . . . . . . . . . . . . .  50
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  50
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  50
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  53
   Appendix A.  Acknowledgements . . . . . . . . . . . . . . . . . .  59
1. Introduction and Document Scope
1. 导言和文件范围

The initial purpose of this document was to address concerns raised on the MPLS WG mailing list about shortcomings in implementations of MPLS forwarding. Documenting existing misconceptions and potential pitfalls might potentially avoid repeating past mistakes. The document has grown to address a broad set of forwarding requirements.

本文档的最初目的是解决在MPLS WG邮件列表中提出的有关MPLS转发实现中的缺陷的问题。记录现有的误解和潜在的陷阱可能会避免重复过去的错误。该文件已发展到满足一系列广泛的转发要求。

The focus of this document is MPLS forwarding, base pseudowire forwarding, and MPLS Operations, Administration, and Maintenance (OAM). The use of pseudowire Control Word and the use of pseudowire Sequence Number are discussed. Specific pseudowire Attachment Circuit (AC) and Native Service Processing (NSP) are out of scope. Specific pseudowire applications, such as various forms of Virtual Private Network (VPN), are out of scope.


MPLS support for multipath techniques is considered essential by many service providers and is useful for other high-capacity networks. In order to obtain sufficient entropy from MPLS, traffic service providers and others find it essential for the MPLS implementation to interpret the MPLS payload as IPv4 or IPv6 based on the contents of the first nibble of payload. The use of IP addresses, the IP protocol field, and UDP and TCP port number fields in multipath load balancing are considered within scope. The use of any other IP protocol fields, such as tunneling protocols carried within IP, are out of scope.


Implementation details are a local matter and are out of scope. Most interfaces today operate at 1 Gb/s or greater. It is assumed that all forwarding operations are implemented in specialized forwarding hardware rather than on a general-purpose processor. This is often referred to as "fast path" and "slow path" processing. Some recommendations are made regarding implementing control or management-plane functionality in specialized hardware or with limited assistance from specialized hardware. This advice is based on expected control or management protocol loads and on the need for denial of service (DoS) protection.

实施细节是本地事务,超出范围。目前,大多数接口的运行速度为1 Gb/s或更高。假设所有转发操作都在专用转发硬件中实现,而不是在通用处理器上实现。这通常被称为“快速路径”和“慢速路径”处理。针对在专用硬件中实现控制或管理平面功能或在专用硬件的有限协助下实现控制或管理平面功能,提出了一些建议。此建议基于预期的控制或管理协议负载以及拒绝服务(DoS)保护的需要。

1.1. Abbreviations
1.1. 缩写

The following abbreviations are used.


AC Attachment Circuit ([RFC3985])


ACH Associated Channel Header (pseudowires)


ACK Acknowledgement (TCP flag and type of TCP packet)


AIS Alarm Indication Signal (MPLS-TP OAM)


ATM Asynchronous Transfer Mode (legacy switched circuits)


BFD Bidirectional Forwarding Detection


BGP Border Gateway Protocol


CC-CV Continuity Check and Connectivity Verification


CE Customer Edge ([RFC4364])


CPU Central Processing Unit (computer or microprocessor)


CT Class Type ([RFC4124])


CW Control Word ([RFC4385])


DCCP Datagram Congestion Control Protocol


DDoS Distributed Denial of Service


DM Delay Measurement (MPLS-TP OAM)


DSCP Differentiated Services Code Point ([RFC2474])


DWDM Dense Wave Division Multiplexing


DoS Denial of Service


E-LSP Explicitly TC-encoded-PSC LSP ([RFC5462])

E-LSP显式TC编码的PSC LSP([RFC5462])

EBGP External BGP


ECMP Equal-Cost Multipath


ECN Explicit Congestion Notification ([RFC3168] and [RFC5129])


EL Entropy Label ([RFC6790])


ELI Entropy Label Indicator ([RFC6790])


EXP Experimental (field in MPLS renamed to "TC" in [RFC5462])


FEC Forwarding Equivalence Classes ([RFC3031]); also Forward Error Correction in other context


FR Frame Relay (legacy switched circuits)


FRR Fast Reroute ([RFC4090])


G-ACh Generic Associated Channel ([RFC5586])


GAL Generic Associated Channel Label ([RFC5586])


GFP Generic Framing Procedure (used in OTN)


GMPLS Generalized MPLS ([RFC3471])


GTSM Generalized TTL Security Mechanism ([RFC5082])


Gb/s Gigabits per second (billion bits per second)


IANA Internet Assigned Numbers Authority


ILM Incoming Label Map ([RFC3031])


IP Internet Protocol


IPVPN Internet Protocol VPN


IPv4 Internet Protocol version 4


IPv6 Internet Protocol version 6


L-LSP Label-Only-Inferred-PSC LSP ([RFC3270])

仅L-LSP标签推断的PSC LSP([RFC3270])

L2VPN Layer 2 VPN


LDP Label Distribution Protocol ([RFC5036])


LER Label Edge Router ([RFC3031])


LM Loss Measurement (MPLS-TP OAM)


LSP Label Switched Path ([RFC3031])


LSR Label Switching Router ([RFC3031])


MP2MP Multipoint to Multipoint


MPLS Multiprotocol Label Switching ([RFC3031])


MPLS-TP MPLS Transport Profile ([RFC5317])

MPLS-TP MPLS传输配置文件([RFC5317])

Mb/s Megabits per second (million bits per second)


NSP Native Service Processing ([RFC3985])


NTP Network Time Protocol


OAM Operations, Administration, and Maintenance ([RFC6291])


OOB Out-of-band (not carried within a data channel)


OTN Optical Transport Network


P Provider router ([RFC4364])


P2MP Point to Multipoint


PE Provider Edge router ([RFC4364])


PHB Per-Hop Behavior ([RFC2475])


PHP Penultimate Hop Popping ([RFC3443])




PSC This abbreviation has multiple interpretations.


1. Packet Switch Capable ([RFC3471]

1. 支持分组交换([RFC3471]

2. PHB Scheduling Class ([RFC3270])

2. PHB调度类([RFC3270])

3. Protection State Coordination ([RFC6378])

3. 保护状态协调([RFC6378])

PTP Precision Time Protocol


PW Pseudowire


QoS Quality of Service


RA Router Alert ([RFC3032])


RDI Remote Defect Indication (MPLS-TP OAM)


RSVP-TE RSVP Traffic Engineering


RTP Real-time Transport Protocol


SCTP Stream Control Transmission Protocol


SDH Synchronous Data Hierarchy (European SONET, a form of TDM)


SONET Synchronous Optical Network (US SDH, a form of TDM)

SONET同步光网络(US SDH,TDM的一种形式)

T-LDP Targeted LDP (LDP sessions over more than one hop)


TC Traffic Class ([RFC5462])


TCP Transmission Control Protocol


TDM Time-Division Multiplexing (legacy encapsulations)


TOS Type of Service (see [RFC2474])


TTL Time-to-live (a field in IP and MPLS headers)


UDP User Datagram Protocol


UHP Ultimate Hop Popping (opposite of PHP)


VCCV Virtual Circuit Connectivity Verification ([RFC5085])


VLAN Virtual Local Area Network (Ethernet)


VOQ Virtual Output Queuing (switch fabric design)


VPN Virtual Private Network


WG Working Group


1.2. Use of Requirements Language
1.2. 需求语言的使用

This document is Informational. The uppercase [RFC2119] key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" are used in this document in the following cases.


1. RFC 2119 keywords are used where requirements stated in this document are called for in referenced RFCs. In most cases, the RFC containing the requirement is cited within the statement using an RFC 2119 keyword.

1. RFC 2119关键字用于参考RFC中要求本文件中所述要求的地方。在大多数情况下,包含要求的RFC在声明中使用RFC 2119关键字引用。

2. RFC 2119 keywords are used where explicitly noted that the keywords indicate that operator experiences indicate a requirement, but there are no existing RFC requirements.

2. RFC 2119关键字用于明确指出关键字表示操作员经验表示要求,但不存在现有RFC要求的情况。

Advice provided by this document may be ignored by implementations. Similarly, implementations not claiming conformance to specific RFCs may ignore the requirements of those RFCs. In both cases, implementers should consider the risk of doing so.


1.3. Apparent Misconceptions
1.3. 明显的误解

In early generations of forwarding silicon (which might now be behind us), there apparently were some misconceptions about MPLS. The following statements provide clarifications.


1. There are practical reasons to have more than one or two labels in an MPLS label stack. Under some circumstances, the label stack can become quite deep. See Section 2.1.

1. MPLS标签堆栈中有一个或两个以上标签的实际原因。在某些情况下,标签堆栈可能变得相当深。见第2.1节。

2. The label stack MUST be considered to be arbitrarily deep. Section 3.27.4 ("Hierarchy: LSP Tunnels within LSPs") of RFC 3031 states "The label stack mechanism allows LSP tunneling to nest to any depth" [RFC3031]. If a bottom of the label stack cannot be found, but sufficient number of labels exist to forward, an LSR MUST forward the packet. An LSR MUST NOT assume the packet is malformed unless the end of packet is found before the bottom of the stack. See Section 2.1.

2. 必须将标签堆栈视为任意深度。RFC 3031第3.27.4节(“层次结构:LSP中的LSP隧道”)规定“标签堆栈机制允许LSP隧道嵌套到任何深度”[RFC3031]。如果找不到标签堆栈的底部,但存在足够数量的标签进行转发,则LSR必须转发数据包。LSR不得假设数据包格式不正确,除非在堆栈底部之前找到数据包的结尾。见第2.1节。

3. In networks where deep label stacks are encountered, they are not rare. Full packet rate performance is required regardless of label stack depth, except where multiple pop operations are required. See Section 2.1.

3. 在遇到深标签堆栈的网络中,它们并不罕见。除非需要多个pop操作,否则无论标签堆栈深度如何,都需要全包速率性能。见第2.1节。

4. Research has shown that long bursts of short packets with 40-byte or 44-byte IP payload sizes in these bursts are quite common. This is due to TCP ACK compression [ACK-compression]. The following two sub-bullets constitute advice that reflects very common nonnegotiable requirements of providers. Implementers may ignore this advice but should consider the risk of doing so.

4. 研究表明,具有40字节或44字节IP有效负载大小的短数据包的长突发在这些突发中非常常见。这是由于TCP ACK压缩[ACK压缩]。以下两个子项目符号构成了反映提供者非常常见的不可协商要求的建议。实施者可能忽略这个建议,但应该考虑这样做的风险。

A. A forwarding engine SHOULD, if practical, be able to sustain an arbitrarily long sequence of small packets arriving at full interface rate.


B. If indefinitely sustained full packet rate for small packets is not practical, a forwarding engine MUST be able to buffer a long sequence of small packets inbound to the on-chip decision engine and sustain full interface rate for some reasonable average packet rate. Absent this small on-chip buffering, QoS-agnostic packet drops can occur.


See Section 2.3.


5. The implementations and system designs MUST support pseudowire Control Word (CW) if MPLS-TP is supported or if ACH [RFC5586] is being used on a pseudowire. The implementation and system designs SHOULD support pseudowire CW even if MPLS-TP and ACH

5. 如果支持MPLS-TP或ACH[RFC5586]正在伪线上使用,则实现和系统设计必须支持伪线控制字(CW)。实现和系统设计应支持伪线CW,即使MPLS-TP和ACH

[RFC5586] are not used, using instead CW and VCCV Type 1 [RFC5085] to allow the use of multipath in the underlying network topology without impacting the PW traffic. [RFC7079] does note that there are still some deployments where the CW is not always used. It also notes that many service providers do enable the CW. See Section 2.4.1 for more discussion on why deployments SHOULD enable the pseudowire CW.


The following statements provide clarification regarding more recent requirements that are often missed.


1. The implementer and system designer SHOULD support adding a pseudowire Flow Label [RFC6391]. Deployments MAY enable this feature for appropriate pseudowire types. See Section 2.4.3.

1. 实现者和系统设计者应该支持添加伪线流标签[RFC6391]。部署可能会为适当的伪导线类型启用此功能。见第2.4.3节。

2. The implementer and system designer SHOULD support adding an MPLS Entropy Label [RFC6790]. Deployments MAY enable this feature. See Section 2.4.4.

2. 实现者和系统设计者应该支持添加MPLS熵标签[RFC6790]。部署可能会启用此功能。见第2.4.4节。

Non-IETF definitions of MPLS exist, and these should not be used as normative texts in place of the relevant IETF RFCs. [RFC5704] documents incompatibilities between the IETF definition of MPLS and one such alternative MPLS definition, which led to significant issues in the resulting non-IETF specification.

存在MPLS的非IETF定义,这些定义不应作为规范性文本代替相关的IETF RFC。[RFC5704]记录了MPLS的IETF定义与一个此类替代MPLS定义之间的不兼容,这导致了产生的非IETF规范中的重大问题。

1.4. Target Audience
1.4. 目标受众

This document is intended for multiple audiences: implementer (implementing MPLS forwarding in silicon or in software); systems designer (putting together a MPLS forwarding systems); deployer (running an MPLS network). These guidelines are intended to serve the following purposes:


1. Explain what to do and what not to do when a deep label stack is encountered. (audience: implementer)

1. 解释遇到深标签堆栈时应执行的操作和不应执行的操作。(受众:实施者)

2. Highlight pitfalls to look for when implementing an MPLS forwarding chip. (audience: implementer)

2. 强调在实施MPLS转发芯片时要寻找的陷阱。(受众:实施者)

3. Provide a checklist of features and performance specifications to request. (audience: systems designer, deployer)

3. 根据要求提供功能和性能规格清单。(受众:系统设计师、部署人员)

4. Provide a set of tests to perform. (audience: systems designer, deployer).

4. 提供一组要执行的测试。(受众:系统设计师、部署人员)。

The implementer, systems designer, and deployer have a transitive supplier-customer relationship. It is in the best interest of the supplier to review their product against their customer's checklist and secondary customer's checklist if applicable.


This document identifies and explains many details and potential pitfalls of MPLS forwarding. It is likely that the identified set of potential pitfalls will later prove to be an incomplete set.


2. Forwarding Issues
2. 转发问题

A brief review of forwarding issues is provided in the subsections that follow. This section provides some background on why some of these requirements exist. The questions to ask of suppliers is covered in Section 3. Some guidelines for testing are provided in Section 4.


2.1. Forwarding Basics
2.1. 转发基础

Basic MPLS architecture and MPLS encapsulation, and therefore packet forwarding, are defined in [RFC3031] and [RFC3032]. RFC 3031 and RFC 3032 are somewhat LDP centric. RSVP-TE supports traffic engineering (TE) and fast reroute, features that LDP lacks. The base document for MPLS RSVP-TE is [RFC3209].

[RFC3031]和[RFC3032]中定义了基本MPLS体系结构和MPLS封装,并因此定义了数据包转发。RFC 3031和RFC 3032在某种程度上以LDP为中心。RSVP-TE支持流量工程(TE)和快速重路由,这是LDP所缺乏的特性。MPLS RSVP-TE的基本文档为[RFC3209]。

A few RFCs update RFC 3032. Those with impact on forwarding include the following.

一些RFC更新了RFC 3032。影响转发的因素包括以下几点。

1. TTL processing is clarified in [RFC3443].

1. TTL处理在[RFC3443]中进行了说明。

2. The use of MPLS Explicit NULL is modified in [RFC4182].

2. [RFC4182]中修改了MPLS显式NULL的使用。

3. Differentiated Services is supported by [RFC3270] and [RFC4124]. The "EXP" field is renamed to "Traffic Class" in [RFC5462], removing any misconception that it was available for experimentation or could be ignored.

3. [RFC3270]和[RFC4124]支持区分服务。[RFC5462]中的“EXP”字段被重命名为“Traffic Class”,消除了任何关于该字段可用于实验或可忽略的误解。

4. ECN is supported by [RFC5129].

4. [RFC5129]支持ECN。

5. The MPLS G-ACh and GAL are defined in [RFC5586].

5. MPLS G-ACh和GAL在[RFC5586]中定义。

6. [RFC5332] redefines the two data link layer codepoints for MPLS packets.

6. [RFC5332]重新定义MPLS数据包的两个数据链路层代码点。

Tunneling encapsulations carrying MPLS, such as MPLS in IP [RFC4023], MPLS in GRE [RFC4023], MPLS in L2TPv3 [RFC4817], or MPLS in UDP [MPLS-IN-UDP], are out of scope.


Other RFCs have implications to MPLS Forwarding and do not update RFC 3032 or RFC 3209, including:

其他RFC对MPLS转发有影响,不更新RFC 3032或RFC 3209,包括:

1. The pseudowire (PW) Associated Channel Header (ACH) is defined by [RFC5085] and was later generalized by the MPLS G-ACh [RFC5586].

1. 伪线(PW)相关信道报头(ACH)由[RFC5085]定义,随后由MPLS G-ACH[RFC5586]推广。

2. The Entropy Label Indicator (ELI) and Entropy Label (EL) are defined by [RFC6790].

2. 熵标签指示器(ELI)和熵标签(EL)由[RFC6790]定义。

A few RFCs update RFC 3209. Those that are listed as updating RFC 3209 generally impact only RSVP-TE signaling. Forwarding is modified by major extensions built upon RFC 3209.

一些RFC更新了RFC3209。被列为更新RFC 3209的那些通常只影响RSVP-TE信令。转发由基于RFC3209的主要扩展修改。

RFCs that impact forwarding are discussed in the following subsections.


2.1.1. MPLS Special-Purpose Labels
2.1.1. MPLS专用标签

[RFC3032] specifies that label values 0-15 are special-purpose labels with special meanings. [RFC7274] renamed these from the term "reserved labels" used in [RFC3032] to "special-purpose labels". Three values of NULL label are defined (two of which are later updated by [RFC4182]) and a Router Alert Label is defined. The original intent was that special-purpose labels, except the NULL labels, could be sent to the routing engine CPU rather than be processed in forwarding hardware. Hardware support is required by new RFCs such as those defining Entropy Label and OAM processed as a result of receiving a GAL. For new special-purpose labels, some accommodation is needed for LSRs that will send the labels to a general-purpose CPU or other highly programmable hardware. For example, ELI will only be sent to LSRs that have signaled support for [RFC6790], and a high OAM packet rate must be negotiated among endpoints.


[RFC3429] reserves a label for ITU-T Y.1711; however, Y.1711 does not work with multipath and its use is strongly discouraged.

[RFC3429]为ITU-T Y.1711保留一个标签;但是,Y.1711不适用于多路径,因此强烈建议不要使用它。

The current list of special-purpose labels can be found on the "Multiprotocol Label Switching Architecture (MPLS) Label Values" registry reachable at IANA's pages at <>.


[RFC7274] introduces an IANA "Extended Special-Purpose MPLS Label Values" registry and makes use of the "extension" label, label 15, to indicate that the next label is an extended special-purpose label and requires special handling. The range of only 16 values for special-purpose labels allows a table to be used. The range of extended special-purpose labels with 20 bits available for use may have to be handled in some other way in the unlikely event that in the future


the range of currently reserved values 256-1048575 is used. If only the Standards Action range, 16-239, and the Experimental range, 240-255, are used, then a table of 256 entries can be used.


Unknown special-purpose labels and unknown extended special-purpose labels are handled the same. When an unknown special-purpose label is encountered or a special purpose label not directly handled in forwarding hardware is encountered, the packet should be sent to a general-purpose CPU by default. If this capability is supported, there must be an option to either drop or rate limit such packets based on the value of each special-purpose label.


2.1.2. MPLS Differentiated Services
2.1.2. 区分服务

[RFC2474] deprecates the IP Type of Service (TOS) and IP Precedence (Prec) fields and replaces them with the Differentiated Services Field more commonly known as the Differentiated Services Code Point (DSCP) field. [RFC2475] defines the Differentiated Services architecture, which in other forums, is often called a Quality of Service (QoS) architecture.


MPLS uses the Traffic Class (TC) field to support Differentiated Services [RFC5462]. There are two primary documents describing how DSCP is mapped into TC.


1. [RFC3270] defines E-LSP and L-LSP. E-LSP uses a static mapping of DSCP into TC. L-LSP uses a per-LSP mapping of DSCP into TC, with one PHB Scheduling Class (PSC) per L-LSP. Each PSC can use multiple Per-Hop Behavior (PHB) values. For example, the Assured Forwarding service defines three PSCs, each with three PHB [RFC2597].

1. [RFC3270]定义了E-LSP和L-LSP。E-LSP使用DSCP到TC的静态映射。L-LSP使用DSCP到TC的每LSP映射,每个L-LSP有一个PHB调度类(PSC)。每个PSC可以使用多个每跳行为(PHB)值。例如,保证转发服务定义了三个PSC,每个PSC有三个PHB[RFC2597]。

2. [RFC4124] defines assignment of a class-type (CT) to an LSP, where a per-CT static mapping of TC to PHB is used. [RFC4124] provides a means to support up to eight E-LSP-like mappings of DSCP to TC.

2. [RFC4124]定义类类型(CT)到LSP的分配,其中使用TC到PHB的每CT静态映射。[RFC4124]提供了一种支持多达八个DSCP到TC的E-LSP类映射的方法。

To meet Differentiated Services requirements specified in [RFC3270], the following forwarding requirements must be met. An ingress LER MUST be able to select an LSP and then apply a per-LSP map of DSCP into TC. A midpoint LSR MUST be able to apply a per-LSP map of TC to PHB. The number of mappings supported will be far less than the number of LSPs supported.


To meet Differentiated Services requirements specified in [RFC4124], the following forwarding requirements must be met. An ingress LER MUST be able to select an LSP and then apply a per-LSP map of DSCP into TC. A midpoint LSR MUST be able to map LSP number to Class Type


(CT), then use a per-CT map to map TC to PHB. Since there are only eight allowed values of CT, only eight maps of TC to PHB need to be supported. The LSP label can be used directly to find the TC-to-PHB mapping, as is needed to support L-LSPs as defined by [RFC3270].


While support for [RFC4124] and not [RFC3270] would allow support for only eight mappings of TC to PHB, it is common to support both and simply state a limit on the number of unique TC-to-PHB mappings that can be supported.


2.1.3. Time Synchronization
2.1.3. 时间同步

PTP or NTP may be carried over MPLS [TIMING-OVER-MPLS]. Generally, NTP will be carried within IP, and IP will be carried in MPLS [RFC5905]. Both PTP and NTP benefit from accurate timestamping of incoming packets and the ability to insert accurate timestamps in outgoing packets. PTP correction that occurs when forwarding requires updating a timestamp compensation field based on the difference between packet arrival at an LSR and packet transmit time at that same LSR.


Since the label stack depth may vary, hardware should allow a timestamp to be placed in an outgoing packet at any specified byte position. It may be necessary to modify Layer 2 checksums or frame check sequences after insertion. PTP and NTP timestamp formats differ in such a way as to require different implementations of the timestamp correction. If NTP or PTP is carried over UDP/IP or UDP/IP/MPLS, the UDP checksum will also have to be updated.


Accurate time synchronization, in addition to being generally useful, is required for MPLS-TP Delay Measurement (DM) OAM. See Section 2.6.4.


2.1.4. Uses of Multiple Label Stack Entries
2.1.4. 使用多个标签堆栈项

MPLS deployments in the early part of the prior decade (circa 2000) tended to support either LDP or RSVP-TE. LDP was favored by some for its ability to scale to a very large number of PE devices at the edge of the network, without adding deployment complexity. RSVP-TE was favored, generally in the network core, where traffic engineering and/or fast reroute were considered important.


Both LDP and RSVP-TE are used simultaneously within major service provider networks using a technique known as "LDP over RSVP-TE Tunneling". This technique allows service providers to carry LDP tunnels inside RSVP-TE tunnels. This makes it possible to take advantage of the traffic engineering and fast reroute on more expensive intercity and intercontinental transport paths. The

LDP和RSVP-TE都使用一种称为“LDP over RSVP-TE隧道”的技术在主要服务提供商网络中同时使用。该技术允许服务提供商在RSVP-TE隧道内承载LDP隧道。这使得在更昂贵的城际和洲际运输路径上利用交通工程和快速改道成为可能。这个

ingress RSVP-TE PE places many LDP tunnels on a single RSVP-TE LSP and carries it to the egress RSVP-TE PE. The LDP PEs are situated further from the core, for example, within a metro network. LDP over RSVP-TE tunneling requires a minimum of two MPLS labels: one each for LDP and RSVP-TE.

入口RSVP-TE PE在单个RSVP-TE LSP上放置多个LDP隧道,并将其输送至出口RSVP-TE PE。LDP-PEs位于远离核心的位置,例如,在城域网内。RSVP-TE隧道上的LDP至少需要两个MPLS标签:LDP和RSVP-TE各一个。

The use of MPLS FRR [RFC4090] might add one more label to MPLS traffic but only when FRR protection is in use (active). If LDP over RSVP-TE is in use, and FRR protection is in use, then at least three MPLS labels are present on the label stack on the links through which the Bypass LSP traverses. FRR is covered in Section 2.1.7.

MPLS FRR[RFC4090]的使用可能会为MPLS流量添加一个以上的标签,但仅当FRR保护正在使用时(活动)。如果使用RSVP-TE上的LDP,并且使用FRR保护,则旁路LSP通过的链路上的标签堆栈上至少存在三个MPLS标签。FRR见第2.1.7节。

LDP L2VPN, LDP IPVPN, BGP L2VPN, and BGP IPVPN added support for VPN services that are deployed by the vast majority of service providers. These VPN services added yet another label, bringing the label stack depth (when FRR is active) to four.

LDP L2VPN、LDP IPVPN、BGP L2VPN和BGP IPVPN增加了对绝大多数服务提供商部署的VPN服务的支持。这些VPN服务又添加了一个标签,使标签堆栈深度(当FRR处于活动状态时)增加到四个。

Pseudowires and VPN are discussed in further detail in Sections 2.1.8 and 2.1.9.


MPLS hierarchy as described in [RFC4206] and updated by [RFC7074] can in principle add at least one additional label. MPLS hierarchy is discussed in Section 2.1.6.


Other features such as Entropy Label (discussed in Section 2.4.4) and Flow Label (discussed in Section 2.4.3) can add additional labels to the label stack.


Although theoretical scenarios can easily result in eight or more labels, such cases are rare if they occur at all today. For the purpose of forwarding, only the top label needs to be examined if PHP is used, and a few more if UHP is used (see Section 2.5). For deep label stacks, quite a few labels may have to be examined for the purpose of load balancing across parallel links (see Section 2.4); however, this depth can be bounded by a provider through use of Entropy Label.


Other creative uses of MPLS within the IETF, such as the use of MPLS label stack in source routing, may result in label stacks that are considerably deeper than those encountered today.


2.1.5. MPLS Link Bundling
2.1.5. MPLS链路捆绑

MPLS Link Bundling was the first RFC to address the need for multiple parallel links between nodes [RFC4201]. MPLS Link Bundling is notable in that it tried not to change MPLS forwarding, except in


specifying the "all-ones" component link. MPLS Link Bundling is seldom if ever deployed. Instead, multipath techniques described in Section 2.4 are used.


2.1.6. MPLS Hierarchy
2.1.6. MPLS层次结构

MPLS hierarchy is defined in [RFC4206] and updated by [RFC7074]. Although RFC 4206 is considered part of GMPLS, the Packet Switching Capable (PSC) portion of the MPLS hierarchy is applicable to MPLS and may be supported in an otherwise GMPLS-free implementation. The MPLS PSC hierarchy remains the most likely means of providing further scaling in an RSVP-TE MPLS network, particularly where the network is designed to provide RSVP-TE connectivity to the edges. This is the case for envisioned MPLS-TP networks. The use of the MPLS PSC hierarchy can add at least one additional label to a label stack, though it is likely that only one layer of PSC will be used in the near future.

MPLS层次结构在[RFC4206]中定义,并由[RFC7074]更新。尽管RFC 4206被认为是GMPLS的一部分,但是MPLS层次结构的分组交换能力(PSC)部分适用于MPLS,并且可以在不使用GMPLS的其他实现中得到支持。MPLS PSC层次结构仍然是在RSVP-TE MPLS网络中提供进一步扩展的最有可能的方法,特别是在网络设计为提供到边缘的RSVP-TE连接的情况下。设想中的MPLS-TP网络就是这样。使用MPLS PSC层次结构可以向标签堆栈添加至少一个附加标签,尽管在不久的将来可能只使用一层PSC。

2.1.7. MPLS Fast Reroute (FRR)
2.1.7. MPLS快速重路由(FRR)

Fast reroute is defined by [RFC4090]. Two significantly different methods are defined in RFC 4090: the "One-to-One Backup" method, which uses the "Detour LSP", and the "Facility Backup", which uses a "bypass tunnel". These are commonly referred to as the detour and bypass methods, respectively.

快速重路由由[RFC4090]定义。RFC 4090中定义了两种截然不同的方法:使用“绕道LSP”的“一对一备份”方法和使用“旁路隧道”的“设施备份”。这些方法通常分别称为迂回法和旁路法。

The detour method makes use of a presignaled LSP. Hardware assistance may be needed for detour FRR in order to accomplish local repair of a large number of LSPs within the target of tens of milliseconds. For each affected LSP, a swap operation must be reprogrammed or otherwise switched over. The use of detour FRR doubles the number of LSPs terminating at any given hop and will increase the number of LSPs within a network by a factor dependent on the average detour path length.


The bypass method makes use of a tunnel that is unused when no fault exists but may carry many LSPs when a local repair is required. There is no presignaling indicating which working LSP will be diverted into any specific bypass LSP. If interface label space is used, the bypass LSP MUST extend one hop beyond the merge point, except if the merge point is the egress and PHP is used. If the bypass LSPs are not extended in this way, then the merge LSR (egress LSR of the bypass LSP) MUST use platform label space (as defined in [RFC3031]) so that an LSP working path on any given interface can be backed up using a bypass LSP terminating on any other interface. Hardware assistance may be needed to accomplish local repair of a large number of LSPs within the target of tens of milliseconds. For each affected LSP a swap operation must be reprogrammed or otherwise


switched over with an additional push of the bypass LSP label. The use of platform label space impacts the size of the LSR ILM for an LSR with a very large number of interfaces.

通过额外按下旁路LSP标签切换。对于具有大量接口的LSR,平台标签空间的使用会影响LSR ILM的大小。

IP/LDP Fast Reroute (IP/LDP FRR) [RFC5714] is also applicable in MPLS networks. ECMP and Loop-Free Alternates (LFAs) [RFC5286] are well-established IP/LDP FRR techniques and were the first methods to be widely deployed. Work on IP/LDP FRR is ongoing within the IETF RTGWG. Two topics actively discussed in RTGWG are microloops and partial coverage of the established techniques in some network topologies. [RFC5715] covers the topic of IP/LDP Fast Reroute microloops and microloop prevention. RTGWG has developed additional IP/LDP FRR techniques to handle coverage concerns. RTGWG is extending LFA through the use of remote LFA [REMOTE-LFA]. Other techniques that require new forwarding paths to be established are also under consideration, including the IPFRR "not-via" technique defined in [RFC6981] and maximally redundant trees (MRT) [MRT]. ECMP, LFA (but not remote LFA), and MRT swap the top label to an alternate MPLS label. The other methods operate in a similar manner to the facility backup described in RFC 4090 and push an additional label. IP/LDP FRR methods that push more than one label have been suggested but are in early discussion.

IP/LDP快速重路由(IP/LDP FRR)[RFC5714]也适用于MPLS网络。ECMP和无环替代(LFA)[RFC5286]是成熟的IP/LDP FRR技术,是最先被广泛部署的方法。IETF RTGWG正在进行IP/LDP FRR的工作。RTGWG中积极讨论的两个主题是微环和某些网络拓扑中已建立技术的部分覆盖。[RFC5715]涵盖了IP/LDP快速重路由微环和微环预防的主题。RTGWG开发了额外的IP/LDP FRR技术来处理覆盖问题。RTGWG通过使用远程LFA[remote-LFA]扩展LFA。其他需要建立新转发路径的技术也在考虑之中,包括[RFC6981]中定义的IPFRR“非通过”技术和最大冗余树(MRT)[MRT]。ECMP、LFA(但不是远程LFA)和MRT将顶部标签交换为备用MPLS标签。其他方法的操作方式与RFC 4090中描述的设施备份类似,并添加一个附加标签。已经提出了推送多个标签的IP/LDP FRR方法,但仍在早期讨论中。

2.1.8. Pseudowire Encapsulation
2.1.8. 假丝封装

The pseudowire (PW) architecture is defined in [RFC3985]. A pseudowire, when carried over MPLS, adds one or more additional label entries to the MPLS label stack. A PW Control Word is defined in [RFC4385] with motivation for defining the Control Word in [RFC4928]. The PW Associated Channel defined in [RFC4385] is used for OAM in [RFC5085]. The PW Flow Label is defined in [RFC6391] and is discussed further in this document in Section 2.4.3.


There are numerous pseudowire encapsulations, supporting emulation of services such as Frame Relay, ATM, Ethernet, TDM, and SONET/SDH over packet switched networks (PSNs) using IP or MPLS.


The pseudowire encapsulation is out of scope for this document. Pseudowire impact on MPLS forwarding at the midpoint LSR is within scope. The impact on ingress MPLS push and egress MPLS UHP pop are within scope. While pseudowire encapsulation is out of scope, some advice is given on Sequence Number support.

伪导线封装超出了本文档的范围。伪线对中点LSR处MPLS转发的影响在范围内。对入口MPLS推送和出口MPLS UHP pop的影响在范围之内。虽然伪线封装超出了范围,但在序列号支持方面给出了一些建议。 Pseudowire Sequence Number 伪线序列号

Pseudowire (PW) Sequence Number support is most important for PW payload types with a high expectation of lossless and/or in-order delivery. Identifying lost PW packets and the exact amount of lost


payload is critical for PW services that maintain bit timing, such as Time Division Multiplexing (TDM) services since these services MUST compensate lost payload on a bit-for-bit basis.


With PW services that maintain bit timing, packets that have been received out of order also MUST be identified and MAY be either reordered or dropped. Resequencing requires, in addition to sequence numbering, a "reorder buffer" in the egress PE, and the ability to reorder is limited by the depth of this buffer. The down side of maintaining a large reorder buffer is added end-to-end service delay.


For PW services that maintain bit timing or any other service where jitter must be bounded, a jitter buffer is always necessary. The jitter buffer is needed regardless of whether reordering is done. In order to be effective, a reorder buffer must often be larger than a jitter buffer needs to be, thus creating a tradeoff between reducing loss and minimizing delay.


PW services that are not timing critical bit streams in nature are cell oriented or frame oriented. Though resequencing support may be beneficial to PW cell- and frame-oriented payloads such as ATM, FR, and Ethernet, this support is desirable but not required. Requirements to handle out-of-order packets at all vary among services and deployments. For example, for Ethernet PW, occasional (very rare) reordering is usually acceptable. If the Ethernet PW is carrying MPLS-TP, then this reordering may be acceptable.


Reducing jitter is best done by an end-system, given that the tradeoff of loss vs. delay varies among services. For example, with interactive real-time services, low delay is preferred, while with non-interactive (one-way) real-time services, low loss is preferred. The same end-site may be receiving both types of traffic. Regardless of this, bounded jitter is sometimes a requirement for specific deployments.


Packet reordering should be rare except in a small number of circumstances, most of which are due to network design or equipment design errors:


1. The most common case is where reordering is rare, occurring only when a network or equipment fault forces traffic on a new path with different delay. The packet loss that accompanies a network or equipment fault is generally more disruptive than any reordering that may occur.

1. 最常见的情况是很少发生重新排序,仅当网络或设备故障迫使流量以不同延迟在新路径上时才会发生。伴随网络或设备故障的数据包丢失通常比可能发生的任何重新排序更具破坏性。

2. A path change can be caused by reasons other than a network or equipment fault, such as an administrative routing change. This may result in packet reordering but generally without any packet loss.

2. 路径更改可能由网络或设备故障以外的原因引起,例如管理路由更改。这可能导致数据包重新排序,但通常不会造成任何数据包丢失。

3. If the edge is not using pseudowire Control Word (CW) and the core is using multipath, reordering will be far more common. If this is occurring, using CW on the edge will solve the problem. Without CW, resequencing is not possible since the Sequence Number is contained in the CW.

3. 如果边缘不使用伪线控制字(CW),而核心使用多路径,则重新排序将更为常见。如果出现这种情况,在边缘使用CW将解决问题。如果没有CW,则无法重新排序,因为序列号包含在CW中。

4. Another avoidable case is where some core equipment has multipath and for some reason insists on periodically installing a new random number as the multipath hash seed. If supporting MPLS-TP, equipment MUST provide a means to disable periodic hash reseeding, and deployments MUST disable periodic hash reseeding. Operator experience dictates that even if not supporting MPLS-TP, equipment SHOULD provide a means to disable periodic hash reseeding, and deployments SHOULD disable periodic hash reseeding.

4. 另一个可以避免的情况是,一些核心设备具有多路径,并且出于某种原因坚持定期安装一个新的随机数作为多路径散列种子。如果支持MPLS-TP,则设备必须提供禁用定期散列重播的方法,部署必须禁用定期散列重播。运营商的经验表明,即使不支持MPLS-TP,设备也应提供一种禁用定期散列重播的方法,部署应禁用定期散列重播。

In provider networks that use multipath techniques and that may occasionally rebalance traffic or that may change PW paths occasionally for other reasons, reordering may be far more common than loss. Where reordering is more common than loss, resequencing packets is beneficial, rather than dropping packets at egress when out-of-order arrival occurs. Resequencing is most important for PW payload types with a high expectation of lossless delivery since in such cases out-of-order delivery within the network results in PW loss.


2.1.9. Layer 2 and Layer 3 VPN
2.1.9. 第2层和第3层VPN

Layer 2 VPN [RFC4664] and Layer 3 VPN [RFC4110] add one or more label entry to the MPLS label stack. VPN encapsulations are out of scope for this document. Their impact on forwarding at the midpoint LSR are within scope.


Any of these services may be used on an ingress and egress that are MPLS Entropy Label enabled (see Section 2.4.4 for discussion of Entropy Label); this would add an additional two labels to the MPLS label stack. The need to provide a useful Entropy Label value impacts the requirements of the VPN ingress LER but is out of scope for this document.


2.2. MPLS Multicast
2.2. 多播

MPLS Multicast encapsulation is clarified in [RFC5332]. MPLS Multicast may be signaled using RSVP-TE [RFC4875] or LDP [RFC6388].


[RFC4875] defines a root-initiated RSVP-TE LSP setup rather than the leaf-initiated join used in IP multicast. [RFC6388] defines a leaf-initiated LDP setup. Both [RFC4875] and [RFC6388] define point-to-multipoint (P2MP) LSP setup. [RFC6388] also defined multipoint-to-multipoint (MP2MP) LSP setup.

[RFC4875]定义根启动的RSVP-TE LSP设置,而不是IP多播中使用的叶启动的连接。[RFC6388]定义叶启动的LDP设置。[RFC4875]和[RFC6388]都定义了点对多点(P2MP)LSP设置。[RFC6388]还定义了多点对多点(MP2MP)LSP设置。

The P2MP LSPs have a single source. An LSR may be a leaf node, an intermediate node, or a "bud" node. A bud serves as both a leaf and intermediate. At a leaf, an MPLS pop is performed. The payload may be an IP multicast packet that requires further replication. At an intermediate node, an MPLS swap operation is performed. The bud requires that both a pop operation and a swap operation be performed for the same incoming packet.

P2MP LSP只有一个源。LSR可以是叶节点、中间节点或“芽”节点。芽既是叶子又是中间物。在叶上,执行MPLS pop。有效载荷可以是需要进一步复制的IP多播分组。在中间节点,执行MPLS交换操作。bud要求对同一传入数据包执行pop操作和交换操作。

One strategy to support P2MP functionality is to pop at the LSR interface serving as ingress to the P2MP traffic and then optionally push labels at each LSR interface serving as egress to the P2MP traffic at that same LSR. A given LSR egress chip may support multiple egress interfaces, each of which requires a copy, but each with a different set of added labels and Layer 2 encapsulation. Some physical interfaces may have multiple sub-interfaces (such as Ethernet VLAN or channelized interfaces), each requiring a copy.


If packet replication is performed at LSR ingress, then the ingress interface performance may suffer. If the packet replication is performed within a LSR switching fabric and at LSR egress, congestion of egress interfaces cannot make use of backpressure to ingress interfaces using techniques such as virtual output queuing (VOQ). If buffering is primarily supported at egress, then the need for backpressure is minimized. There may be no good solution for high volumes of multicast traffic if VOQ is used.


Careful consideration should be given to the performance characteristics of high-fanout multicast for equipment that is intended to be used in such a role.


MP2MP LSPs differ in that any branch may provide an input, including a leaf. Packets must be replicated onto all other branches. This forwarding is often implemented as multiple P2MP forwarding trees, one for each potential input interface at a given LSR.

MP2MP LSP的不同之处在于,任何分支都可以提供输入,包括叶。数据包必须复制到所有其他分支上。这种转发通常被实现为多个P2MP转发树,一个用于给定LSR的每个潜在输入接口。

2.3. Packet Rates
2.3. 包速率

While average packet size of Internet traffic may be large, long sequences of small packets have both been predicted in theory and observed in practice. Traffic compression and TCP ACK compression can conspire to create long sequences of packets of 40-44 bytes in payload length. If carried over Ethernet, the 64-byte minimum payload applies, yielding a packet rate of approximately 150 Mpps (million packets per second) for the duration of the burst on a nominal 100 Gb/s link. The peak rate for other encapsulations can be as high as 250 Mpps (for example, when IP or MPLS is encapsulated using GFP over OTN ODU4).

虽然互联网流量的平均数据包大小可能很大,但理论上和实践中都预测到了小数据包的长序列。流量压缩和TCP ACK压缩可以共同创建有效负载长度为40-44字节的长数据包序列。如果通过以太网传输,则应用64字节的最小有效负载,在标称100 Gb/s链路上的突发持续时间内,产生约150 Mpps(百万数据包/秒)的数据包速率。其他封装的峰值速率可高达250 Mpps(例如,当使用OTN ODU4上的GFP封装IP或MPLS时)。

It is possible that the packet rates achieved by a specific implementation are acceptable for a minimum payload size, such as a 64-byte (64B) payload for Ethernet, but the achieved rate declines to an unacceptable level for other packet sizes, such as a 65B payload. There are other packet rates of interest besides TCP ACK. For example, a TCP ACK carried over an Ethernet PW over MPLS over Ethernet may occupy 82B or 82B plus an increment of 4B if additional MPLS labels are present.

对于最小有效负载大小(例如以太网的64字节(64B)有效负载),通过特定实现实现的分组速率可能是可接受的,但是对于其他分组大小(例如65B有效负载),实现的速率下降到不可接受的水平。除了TCP ACK,还有其他数据包利率。例如,如果存在额外的MPLS标签,则通过以太网PW通过MPLS通过以太网携带的TCP ACK可能占用82B或82B加上4B的增量。

A graph of packet rate vs. packet size often displays a sawtooth. The sawtooth is commonly due to a memory bottleneck and memory widths, sometimes an internal cache, but often a very wide external buffer memory interface. In some cases, it may be due to a fabric transfer width. A fine packing, rounding up to the nearest 8B or 16B will result in a fine sawtooth with small degradation for 65B, and even less for 82B packets. A coarse packing, rounding up to 64B can yield a sharper drop in performance for 65B packets, or perhaps more important, a larger drop for 82B packets.


The loss of some TCP ACK packets are not the primary concern when such a burst occurs. When a burst occurs, any other packets, regardless of packet length and packet QoS are dropped once on-chip input buffers prior to the decision engine are exceeded. Buffers in front of the packet decision engine are often very small or nonexistent (less than one packet of buffer) causing significant QoS-agnostic packet drop.

发生这种突发时,一些TCP ACK数据包的丢失不是主要问题。当突发发生时,一旦超过决策引擎之前的片上输入缓冲区,则丢弃任何其他数据包,无论数据包长度和数据包QoS如何。数据包决策引擎前面的缓冲区通常非常小或不存在(少于一个缓冲区数据包),从而导致严重的QoS不可知数据包丢失。

Internet service providers and content providers at one time specified full rate forwarding with 40-byte payload packets as a requirement. Today, this requirement often can be waived if the provider can be convinced that when long sequences of short packets occur no packets will be dropped.


Many equipment suppliers have pointed out that the extra cost in designing hardware capable of processing the minimum size packets at full line rate is significant for very-high-speed interfaces. If hardware is not capable of processing the minimum size packets at full line rate, then that hardware MUST be capable of handling large bursts of small packets, a condition that is often observed. This level of performance is necessary to meet Differentiated Services [RFC2475] requirements; without it, packets are lost prior to inspection of the IP DSCP field [RFC2474] or MPLS TC field [RFC5462].

许多设备供应商已经指出,对于非常高速的接口,设计能够以全线路速率处理最小大小数据包的硬件的额外成本是非常重要的。如果硬件不能以全行速率处理最小大小的数据包,那么该硬件必须能够处理小数据包的大突发,这是经常观察到的情况。此性能级别是满足差异化服务[RFC2475]要求所必需的;没有它,数据包在检查IP DSCP字段[RFC2474]或MPLS TC字段[RFC5462]之前丢失。

With adequate on-chip buffers before the packet decision engine, an LSR can absorb a long sequence of short packets. Even if the output is slowed to the point where light congestion occurs, the packets, having cleared the decision process, can make use of larger VOQ or output side buffers and be dealt with according to configured QoS treatment, rather than dropped completely at random.


The buffering before the packet decision engine should be arranged such that 1) it can hold a relatively large number of small packets, 2) it can hold a small number of large packets, and 3) it can hold a mix of packets of different sizes.


These on-chip buffers need not contribute significant delay since they are only used when the packet decision engine is unable to keep up, not in response to congestion, plus these buffers are quite small. For example, an on-chip buffer capable of handling 4K packets of 64 bytes in length, or 256KB, corresponds to 200 microseconds on a 10 Gb/s link and 20 microseconds on a 100 Gb/s link. If the packet decision engine is capable of handling packets at 90% of the full rate for small packets, then the maximum added delay is 20 microseconds and 2 microseconds, respectively, and this delay only applies if a 4K burst of short packets occurs. When no burst of short packets was being processed, no delay is added. These buffers are only needed on high-speed interfaces where it is difficult to process small packets at full line rate.

这些片上缓冲区不需要造成显著的延迟,因为它们仅在数据包决策引擎无法跟上时使用,而不是响应拥塞,加上这些缓冲区非常小。例如,能够处理长度为64字节(256KB)的4K数据包的片上缓冲区在10 Gb/s链路上对应200微秒,在100 Gb/s链路上对应20微秒。如果数据包决策引擎能够以小数据包的90%全速率处理数据包,则最大附加延迟分别为20微秒和2微秒,并且该延迟仅适用于4K短数据包突发。当未处理短数据包突发时,不会增加延迟。这些缓冲区仅在高速接口上需要,在高速接口上很难以全行速率处理小数据包。

Packet rate requirements apply regardless of which network tier the equipment is deployed in. Whether deployed in the network core or near the network edges, one of the two conditions MUST be met if Differentiated Services requirements are to be met:


1. Packets must be processed at full line rate with minimum-sized packets. -OR-

1. 必须使用最小大小的数据包以全行速率处理数据包-或-

2. Packets must be processed at a rate well under generally accepted average packet sizes, with sufficient buffering prior to the packet decision engine to accommodate long bursts of small packets.

2. 数据包必须以低于普遍接受的平均数据包大小的速率进行处理,在数据包决策引擎之前有足够的缓冲以适应小数据包的长突发。

2.4. MPLS Multipath Techniques
2.4. 多路径传输技术

In any large provider, service providers, and content providers, hash-based multipath techniques are used in the core and in the edge. In many of these providers, hash-based multipath is also used in the larger metro networks.


For good reason, the Differentiated Services requirements dictate that packets within a common microflow SHOULD NOT be reordered [RFC2474]. Service providers generally impose stronger requirements, commonly requiring that packets within a microflow MUST NOT be reordered except in rare circumstances such as load balancing across multiple links, path change for load balancing, or path change for other reason.


The most common multipath techniques are ECMP applied at the IP forwarding level, Ethernet Link Aggregation Group (LAG) with inspection of the IP payload, and multipath on links carrying both IP and MPLS, where the IP header is inspected below the MPLS label stack. In most core networks, the vast majority of traffic is MPLS encapsulated.


In order to support an adequately balanced load distribution across multiple links, IP header information must be used. Common practice today is to reinspect the IP headers at each LSR and use the label stack and IP header information in a hash performed at each LSR. Further details are provided in Section 2.4.5.


The use of this technique is so ubiquitous in provider networks that lack of support for multipath makes any product unsuitable for use in large core networks. This will continue to be the case in the near future, even as deployment of the MPLS Entropy Label begins to relax the core LSR multipath performance requirements given the existing deployed base of edge equipment without the ability to add an Entropy Label.


A generation of edge equipment supporting the ability to add an MPLS Entropy Label is needed before the performance requirements for core LSRs can be relaxed. However, it is likely that two generations of deployment in the future will allow core LSRs to support full packet rate only when a relatively small number of MPLS labels need to be inspected before hashing. For now, don't count on it.


Common practice today is to reinspect the packet at each LSR and use information from the packet combined with a hash seed that is selected by each LSR. Where Flow Labels or Entropy Labels are used, a hash seed must be used when creating these labels.


2.4.1. Pseudowire Control Word
2.4.1. 伪线控制字

Within the core of a network, some form of multipath is almost certain to be used. Multipath techniques deployed today are likely to be looking beneath the label stack for an opportunity to hash on IP addresses.


A pseudowire encapsulated at a network edge must have a means to prevent reordering within the core if the pseudowire will be crossing a network core, or any part of a network topology where multipath is used (see [RFC4385] and [RFC4928]).


Not supporting the ability to encapsulate a pseudowire with a Control Word may lock a product out from consideration. A pseudowire capability without Control Word support might be sufficient for applications that are strictly both intra-metro and low bandwidth. However, a provider with other applications will very likely not tolerate having equipment that can only support a subset of their pseudowire needs.


2.4.2. Large Microflows
2.4.2. 大型微流

Where multipath makes use of a simple hash and simple load balance such as modulo or other fixed allocation (see Section 2.4), there can be the presence of large microflows that each consume 10% of the capacity of a component link of a potentially congested composite link. One such microflow can upset the traffic balance, and more than one can reduce the effective capacity of the entire composite link by more than 10%.


When even a very small number of large microflows are present, there is a significant probability that more than one of these large microflows could fall on the same component link. If the traffic contribution from large microflows is small, the probability for three or more large microflows on the same component link drops significantly. Therefore, in a network where a significant number of parallel 10 Gb/s links exists, even a 1 Gb/s pseudowire or other large microflow that could not otherwise be subdivided into smaller flows should carry a Flow Label or Entropy Label if possible.

即使存在极少量的大型微流,这些大型微流中有一个以上可能落在同一组分链路上的可能性也很大。如果来自大微流的流量贡献很小,则在同一组件链路上出现三个或更多大微流的概率会显著降低。因此,在存在大量并行10 Gb/s链路的网络中,如果可能,即使1 Gb/s伪线或其他无法细分为较小流的大型微流也应带有流标签或熵标签。

Active management of the hash space to better accommodate large microflows has been implemented and deployed in the past; however, such techniques are out of scope for this document.


2.4.3. Pseudowire Flow Label
2.4.3. 伪线流标签

Unlike a pseudowire Control Word, a pseudowire Flow Label [RFC6391] is required only for pseudowires that have a relatively large capacity. There are many cases where a pseudowire Flow Label makes sense. Any service such as a VPN that carries IP traffic within a pseudowire can make use of a pseudowire Flow Label.


Any pseudowire carried over MPLS that makes use of the pseudowire Control Word and does not carry a Flow Label is in effect a single microflow (in the terms defined in [RFC2475]) and may result in the types of problems described in Section 2.4.2.


2.4.4. MPLS Entropy Label
2.4.4. 熵标签

The MPLS Entropy Label simplifies flow group identification [RFC6790] at midpoint LSRs. Prior to the MPLS Entropy Label, midpoint LSRs needed to inspect the entire label stack and often the IP headers to provide an adequate distribution of traffic when using multipath techniques (see Section 2.4.5). With the use of the MPLS Entropy Label, a hash can be performed closer to network edges, placed in the label stack, and used by midpoint LSRs without fully reinspecting the label stack and inspecting the payload.


The MPLS Entropy Label is capable of avoiding full label stack and payload inspection within the core where performance levels are most difficult to achieve (see Section 2.3). The label stack inspection can be terminated as soon as the first Entropy Label is encountered, which is generally after a small number of labels are inspected.


In order to provide these benefits in the core, an LSR closer to the edge must be capable of adding an Entropy Label. This support may not be required in the access tier, the tier closest to the customer, but is likely to be required in the edge or the border to the network core. An LSR peering with external networks will also need to be able to add an Entropy Label on incoming traffic.


2.4.5. Fields Used for Multipath Load Balance
2.4.5. 用于多路径负载平衡的字段

The most common multipath techniques are based on a hash over a set of fields. Regardless of whether a hash is used or some other method is used, there is a limited set of fields that can safely be used for multipath.

最常见的多路径技术基于一组字段上的散列。无论是使用散列还是使用其他方法,都有一组有限的字段可以安全地用于多路径。 MPLS Fields in Multipath 多路径中的MPLS字段

If the "outer" or "first" layer of encapsulation is MPLS, then label stack entries are used in the hash. Within a finite amount of time (and for small packets arriving at high speed, that time can be quite limited), only a finite number of label entries can be inspected. Pipelined or parallel architectures improve this, but the limit is still finite.


The following guidelines are provided for use of MPLS fields in multipath load balancing.


1. Only the 20-bit label field SHOULD be used. The TTL field SHOULD NOT be used. The S bit MUST NOT be used. The TC field (formerly EXP) MUST NOT be used. See text following this list for reasons.

1. 只能使用20位标签字段。不应使用TTL字段。不得使用S位。不得使用TC字段(以前称为EXP)。有关原因,请参阅此列表后面的文本。

2. If an ELI label is found, then if the LSR supports Entropy Labels, the EL label field in the next label entry (the EL) SHOULD be used, label entries below that label SHOULD NOT be used, and the MPLS payload SHOULD NOT be used. See below this list for reasons.

2. 如果找到ELI标签,则如果LSR支持熵标签,则应使用下一标签条目(EL)中的EL标签字段,不应使用该标签下方的标签条目,并且不应使用MPLS有效负载。有关原因,请参见下面的列表。

3. Special-purpose labels (label values 0-15) MUST NOT be used. Extended special-purpose labels (any label following label 15) MUST NOT be used. In particular, GAL and RA MUST NOT be used so that OAM traffic follows the same path as payload packets with the same label stack.

3. 不得使用特殊用途标签(标签值0-15)。不得使用扩展专用标签(标签15后的任何标签)。特别是,不能使用GAL和RA,以使OAM通信遵循与具有相同标签堆栈的有效负载数据包相同的路径。

4. If a new special-purpose label or extended special-purpose label is defined that requires special load-balance processing, then, as is the case for the ELI label, a special action may be needed rather than skipping the special-purpose label or extended special-purpose label.

4. 如果定义了需要特殊负载平衡处理的新专用标签或扩展专用标签,则与ELI标签一样,可能需要采取特殊措施,而不是跳过专用标签或扩展专用标签。

5. The most entropy is generally found in the label stack entries near the bottom of the label stack (innermost label, closest to S=1 bit). If the entire label stack cannot be used (or entire stack up to an EL), then it is better to use as many labels as possible closest to the bottom of stack.

5. 最大熵通常出现在标签堆栈底部附近的标签堆栈条目中(最里面的标签,最接近S=1位)。如果无法使用整个标签堆栈(或整个堆栈直至EL),则最好使用尽可能多的最靠近堆栈底部的标签。

6. If no ELI is encountered, and the first nibble of payload contains a 4 (IPv4) or 6 (IPv6), an implementation SHOULD support the ability to interpret the payload as IPv4 or IPv6 and extract and use appropriate fields from the IP headers. This feature is considered a nonnegotiable requirement by many service providers. If supported, there MUST be a way to disable it (if, for example, PW without CW are used). This ability to disable this feature is considered a nonnegotiable requirement by many service providers.

6. 如果未遇到ELI,并且负载的第一个半字节包含4(IPv4)或6(IPv6),则实现应支持将负载解释为IPv4或IPv6,并从IP头中提取和使用适当的字段。许多服务提供商认为此功能是不可协商的要求。如果支持,必须有一种方法来禁用它(例如,如果使用不带CW的PW)。许多服务提供商认为禁用此功能的能力是不可协商的要求。

Therefore, an implementation has a very strong incentive to support both options.


7. A label that is popped at egress (UHP pop) SHOULD NOT be used. A label that is popped at the penultimate hop (PHP pop) SHOULD be used.

7. 不应使用在出口处弹出的标签(UHP pop)。应该使用倒数第二个跃点处弹出的标签(PHP pop)。

Apparently, some chips have made use of the TC (formerly EXP) bits as a source of entropy. This is very harmful since it will reorder Assured Forwarding (AF) traffic [RFC2597] when a subset does not conform to the configured rates and is remarked but not dropped at a prior LSR. Traffic that uses MPLS ECN [RFC5129] can also be reordered if TC is used for entropy. Therefore, as stated in the guidelines above, the TC field (formerly EXP) MUST NOT be used in multipath load balancing as it violates Differentiated Services Ordered Aggregate (OA) requirements in these two instances.

显然,一些芯片利用了TC(以前是EXP)位作为熵源。这是非常有害的,因为当子集不符合配置的速率并且在先前的LSR中被注意到但没有丢弃时,它将重新排序保证转发(AF)通信量[RFC2597]。如果TC用于熵,则使用MPLS ECN[RFC5129]的流量也可以重新排序。因此,如上指南所述,TC字段(以前称为EXP)不得用于多路径负载平衡,因为它在这两种情况下违反了区分服务有序聚合(OA)要求。

Use of the MPLS label entry S bit would result in putting OAM traffic on a different path if the addition of a GAL at the bottom of stack removed the S bit from the prior label.


If an ELI label is found, then if the LSR supports Entropy Labels, the EL label field in the next label entry (the EL) SHOULD be used, and the search for additional entropy within the packet SHOULD be terminated. Failure to terminate the search will impact client MPLS-TP LSPs carried within server MPLS LSPs. A network operator has the option to use administrative attributes as a means to identify LSRs that do not terminate the entropy search at the first EL. Administrative attributes are defined in [RFC3209]. Some configuration is required to support this.

如果找到ELI标签,则如果LSR支持熵标签,则应使用下一个标签条目(EL)中的EL标签字段,并且应终止对数据包内附加熵的搜索。未能终止搜索将影响服务器MPLS LSP中携带的客户端MPLS-TP LSP。网络运营商可以选择使用管理属性作为识别在第一个EL时不终止熵搜索的LSR的方法。管理属性在[RFC3209]中定义。需要一些配置来支持这一点。

If the label removed by a PHP pop is not used, then for any PW for which CW is used, there is no basis for multipath load split. In some networks, it is infeasible to put all PW traffic on one component link. Any PW that does not use CW will be improperly split, regardless of whether the label removed by a PHP pop is used. Therefore, the PHP pop label SHOULD be used as recommended above.

如果没有使用PHP pop移除的标签,那么对于使用CW的任何PW,没有多路径负载分割的基础。在某些网络中,将所有PW流量放在一个组件链路上是不可行的。任何不使用CW的PW都将被不正确地分割,无论是否使用PHP pop移除的标签。因此,应按照上述建议使用PHP pop标签。 IP Fields in Multipath 多路径中的IP域

Inspecting the IP payload provides the most entropy in provider networks. The practice of looking past the bottom of stack label for an IP payload is well accepted and documented in [RFC4928] and in other RFCs.


Where IP is mentioned in the document, both IPv4 and IPv6 apply. All LSRs MUST fully support IPv6.


When information in the IP header is used, the following guidelines apply:


1. Both the IP source address and IP destination address SHOULD be used. There MAY be an option to reverse the order of these addresses, improving the ability to provide symmetric paths in some cases. Many service providers require that both addresses be used.

1. 应同时使用IP源地址和IP目标地址。可以选择反转这些地址的顺序,从而在某些情况下提高提供对称路径的能力。许多服务提供商要求使用这两个地址。

2. Implementations SHOULD allow inspection of the IP protocol field and use of the UDP or TCP port numbers. For many service providers, this feature is considered mandatory, particularly for enterprise, data center, or edge equipment. If this feature is provided, it SHOULD be possible to disable use of TCP and UDP ports. Many service providers consider it a nonnegotiable requirement that use of UDP and TCP ports can be disabled. Therefore, there is a strong incentive for implementations to provide both options.

2. 实现应该允许检查IP协议字段和使用UDP或TCP端口号。对于许多服务提供商,此功能被认为是强制性的,尤其是对于企业、数据中心或边缘设备。如果提供了此功能,则应该可以禁用TCP和UDP端口的使用。许多服务提供商认为,禁用UDP和TCP端口是不可协商的要求。因此,有一种强烈的动机促使实现提供这两种选择。

3. Equipment suppliers MUST NOT make assumptions that because the IP version field is equal to 4 (an IPv4 packet) that the IP protocol will either be TCP (IP protocol 6) or UDP (IP protocol 17) and blindly fetch the data at the offset where the TCP or UDP ports would be found. With IPv6, TCP and UDP port numbers are not at fixed offsets. With IPv4 packets carrying IP options, TCP and UDP port numbers are not at fixed offsets.

3. 设备供应商不得假设由于IP版本字段等于4(IPv4数据包),因此IP协议将是TCP(IP协议6)或UDP(IP协议17),并盲目获取TCP或UDP端口所在偏移量处的数据。在IPv6中,TCP和UDP端口号不是固定偏移量。对于携带IP选项的IPv4数据包,TCP和UDP端口号不是固定偏移量。

4. The IPv6 header flow field SHOULD be used. This is the explicit purpose of the IPv6 flow field; however, observed flow fields rarely contain a non-zero value. Some uses of the flow field have been defined, such as [RFC6438]. In the absence of MPLS encapsulation, the IPv6 flow field can serve a role equivalent to the Entropy Label.

4. 应使用IPv6标头流字段。这是IPv6流场的明确目的;然而,观测到的流场很少包含非零值。已经定义了流场的一些用途,如[RFC6438]。在没有MPLS封装的情况下,IPv6流场可以起到相当于熵标签的作用。

5. Support for other protocols that share a common Layer 4 header such as RTP [RFC3550], UDP-Lite [RFC3828], SCTP [RFC4960], and DCCP [RFC4340] SHOULD be provided, particularly for edge or access equipment where additional entropy may be needed. Equipment SHOULD also use RTP, UDP-lite, SCTP, and DCCP headers when creating an Entropy Label.

5. 应提供对共享公共第4层报头的其他协议的支持,例如RTP[RFC3550]、UDP Lite[RFC3828]、SCTP[RFC4960]和DCCP[RFC4340],特别是对于可能需要额外熵的边缘或接入设备。创建熵标签时,设备还应使用RTP、UDP lite、SCTP和DCCP头。

6. The following IP header fields should not or must not be used:

6. 不应或不得使用以下IP标头字段:

A. Similar to avoiding TC in MPLS, the IP DSCP, and ECN bits MUST NOT be used.

A.与在MPLS中避免TC类似,不得使用IP DSCP和ECN位。

B. The IPv4 TTL or IPv6 Hop Count SHOULD NOT be used.

B.不应使用IPv4 TTL或IPv6跃点计数。

C. Note that the IP TOS field was deprecated. ([RFC0791] was updated by [RFC2474].) No part of the IP DSCP field can be used (formerly IP PREC and IP TOS bits).

请注意,IP TOS字段已弃用。([RFC0791]已由[RFC2474]更新。)不能使用IP DSCP字段的任何部分(以前是IP PREC和IP TOS位)。

7. Some IP encapsulations support tunneling, such as IP-in-IP, GRE, L2TPv3, and IPsec. These provide a greater source of entropy that some provider networks carrying large amounts of tunneled traffic may need, for example, as used in [RFC5640] for GRE and L2TPv3. The use of tunneling header information is out of scope for this document.

7. 一些IP封装支持隧道,例如IP中的IP、GRE、L2TPv3和IPsec。这些提供了一些承载大量隧道流量的提供商网络可能需要的更大的熵源,例如,在[RFC5640]中用于GRE和L2TPv3。隧道标题信息的使用超出了本文档的范围。

This document makes the following recommendations. These recommendations are not required to claim compliance to any existing RFC; therefore, implementers are free to ignore them, but due to service provider requirements should consider the risk of doing so. The use of IP addresses MUST be supported, and TCP and UDP ports (conditional on the protocol field and properly located) MUST be supported. The ability to disable use of UDP and TCP ports MUST be available.


Though potentially very useful in some networks, it is uncommon to support using payloads of tunneling protocols carried over IP. Though the use of tunneling protocol header information is out of scope for this document, it is not discouraged.

虽然在某些网络中可能非常有用,但支持使用通过IP承载的隧道协议的有效负载是不常见的。尽管隧道协议头信息的使用超出了本文档的范围,但不鼓励这样做。 Fields Used in Flow Label 流标签中使用的字段

The ingress to a pseudowire (PW) can extract information from the payload being encapsulated to create a Flow Label. [RFC6391] references IP carried in Ethernet as an example. The Native Service Processing (NSP) function defined in [RFC3985] differs with pseudowire type. It is in the NSP function where information for a specific type of PW can be extracted for use in a Flow Label. Determining which fields to use for any given PW NSP is out of scope for this document.

进入伪线(PW)可以从封装的有效负载中提取信息,以创建流标签。[RFC6391]以以太网中承载的IP为例。[RFC3985]中定义的本机服务处理(NSP)功能与伪线类型不同。在NSP功能中,可以提取特定类型PW的信息,以便在流量标签中使用。确定用于任何给定PW NSP的字段超出了本文档的范围。 Fields Used in Entropy Label 熵标签中的字段

An Entropy Label is added at the ingress to an LSP. The payload being encapsulated is most often MPLS, a PW, or IP. The payload type is identified by the Layer 2 encapsulation (Ethernet, GFP, POS, etc.).


If the payload is MPLS, then the information used to create an Entropy Label is the same information used for local load balancing (see Section This information MUST be extracted for use in generating an Entropy Label even if the LSR local egress interface is not a multipath.


Of the non-MPLS payload types, only payloads that are forwarded are of interest. For example, payloads using the Address Resolution Protocol (ARP) are not forwarded, and payloads using the Connectionless-mode Network Protocol (CLNP), which is used only for IS-IS, are not forwarded.


The non-MPLS payload types of greatest interest are IPv4 and IPv6. The guidelines in Section apply to fields used to create an Entropy Label.


The IP tunneling protocols mentioned in Section may be more applicable to generation of an Entropy Label at the edge or access where deep packet inspection is practical due to lower interface speeds than in the core where deep packet inspection may be impractical.


2.5. MPLS-TP and UHP

MPLS-TP introduces forwarding demands that will be extremely difficult to meet in a core network. Most troublesome is the requirement for Ultimate Hop Popping (UHP), the opposite of Penultimate Hop Popping (PHP). Using UHP opens the possibility of one or more MPLS pop operations plus an MPLS swap operation for each packet. The potential for multiple lookups and multiple counter instances per packet exists.

MPLS-TP引入了在核心网络中极难满足的转发需求。最麻烦的是对终极跳跃弹出(UHP)的要求,它与倒数第二跳跃弹出(PHP)相反。使用UHP可以为每个数据包提供一个或多个MPLS pop操作以及一个MPLS交换操作。每个数据包可能存在多个查找和多个计数器实例。

As networks grow and tunneling of LDP LSPs into RSVP-TE LSPs is used, and/or RSVP-TE hierarchy is used, the requirement to perform one or more MPLS pop operations plus an MPLS swap operation (and possibly a push or two) increases. If MPLS-TP LM (link monitoring) OAM is enabled at each layer, then a packet and byte count MUST be maintained for each pop and swap operation so as to offer OAM for each layer.

随着网络的增长,使用LDP LSP到RSVP-TE LSP的隧道,和/或使用RSVP-TE层次结构,执行一个或多个MPLS pop操作加上一个MPLS交换操作(以及可能的推送或推送)的要求增加。如果在每一层启用MPLS-TP LM(链路监控)OAM,则必须为每个pop和交换操作维护数据包和字节计数,以便为每一层提供OAM。

2.6. Local Delivery of Packets
2.6. 本地传送数据包

There are a number of situations in which packets are destined to a local address or where a return packet must be generated. There is a need to mitigate the potential for outage as a result of either attacks on network infrastructure, or in some cases unintentional misconfiguration resulting in processor overload. Some hardware assistance is needed for all traffic destined to the general-purpose CPU that is used in processing of the MPLS control protocol or the network management protocol and in most cases to other general-purpose CPUs residing on an LSR. This is due to the ease of overwhelming such a processor with traffic arriving on LSR high-speed interfaces, whether the traffic is malicious or not.


Denial of service (DoS) protection is an area requiring hardware support that is often overlooked or inadequately considered. Hardware assists are also needed for OAM, particularly the more demanding MPLS-TP OAM.

拒绝服务(DoS)保护是一个需要硬件支持的领域,经常被忽视或考虑不足。OAM也需要硬件协助,特别是要求更高的MPLS-TP OAM。

2.6.1. DoS Protection
2.6.1. DoS保护

Modern equipment supports a number of control-plane and management-plane protocols. Generally, no single means of protecting network equipment from DoS attacks is sufficient, particularly for high-speed interfaces. This problem is not specific to MPLS but is a topic that cannot be ignored when implementing or evaluating MPLS implementations.


Two types of protections are often cited as the primary means of protecting against attacks of all kinds.


Isolated Control/Management Traffic Control and management traffic can be carried out-of-band (OOB), meaning not intermixed with payload. For MPLS, use of G-ACh and GAL to carry control and management traffic provides a means of isolation from potentially malicious payloads. Used alone, the compromise of a single node, including a small computer at a network operations center, could compromise an entire network. Implementations that send all G-ACh/GAL traffic directly to a routing engine CPU are subject to DoS attack as a result of such a compromise.


Cryptographic Authentication Cryptographic authentication can very effectively prevent malicious injection of control or management traffic. Cryptographic authentication can in some circumstances be subject to DoS attack by overwhelming the capacity of the decryption with a high volume of malicious traffic. For very-low-speed interfaces, cryptographic authentication can be performed by the general-purpose CPU used as a routing engine. For all other cases, cryptographic hardware may be needed. For very-high-speed interfaces, even cryptographic hardware can be overwhelmed.


Some control and management protocols are often carried with payload traffic. This is commonly the case with BGP, T-LDP, and SNMP. It is often the case with RSVP-TE. Even when carried over G-ACh/GAL, additional measures can reduce the potential for a minor breach to be leveraged to a full network attack.


Some of the additional protections are supported by hardware packet filtering.


GTSM [RFC5082] defines a mechanism that uses the IPv4 TTL or IPv6 Hop Limit fields to ensure control traffic that can only originate from an immediate neighbor is not forged and is not originating from a distant source. GTSM can be applied to many control protocols that are routable, for example, LDP [RFC6720].

GTSM[RFC5082]定义了一种机制,该机制使用IPv4 TTL或IPv6跃点限制字段来确保只能来自近邻的控制流量不被伪造,也不来自远程源。GTSM可以应用于许多可路由的控制协议,例如LDP[RFC6720]。

IP Filtering At the very minimum, packet filtering plus classification and use of multiple queues supporting rate limiting is needed for traffic that could potentially be sent to a general-purpose CPU used as a routing engine. The first level of filtering only allows connections to be initiated from specific IP prefixes to specific destination ports and then preferably passes traffic directly to a cryptographic engine and/or rate limits. The second level of filtering passes connected traffic, such as TCP connections having received at least one authenticated SYN or having been locally initiated. The second level of filtering only passes traffic to specific address and port pairs to be checked for cryptographic authentication.


The cryptographic authentication is generally the last resort in DoS attack mitigation. If a packet must be first sent to a general-purpose CPU, then sent to a cryptographic engine, a DoS attack is possible on high-speed interfaces. Only where hardware can fully process a cryptographic authentication without intervention from a general-purpose CPU (to find the authentication field and to identify the portion of packet to run the cryptographic algorithm over) is cryptographic authentication beneficial in protecting against DoS attacks.


For chips supporting multiple 100 Gb/s interfaces, only a very large number of parallel cryptographic engines can provide the processing capacity to handle a large-scale DoS or distributed DoS (DDoS) attack. For many forwarding chips, this much processing power requires significant chip real estate and power, and therefore reduces system space and power density. For this reason, cryptographic authentication is not considered a viable first line of defense.

对于支持多个100 Gb/s接口的芯片,只有大量并行加密引擎能够提供处理大规模DoS或分布式DoS(DDoS)攻击的处理能力。对于许多转发芯片,如此高的处理能力需要大量的芯片空间和功率,因此降低了系统空间和功率密度。因此,加密身份验证不被视为可行的第一道防线。

For some networks, the first line of defense is some means of supporting OOB control and management traffic. In the past, this OOB channel might make use of overhead bits in SONET or OTN or a dedicated DWDM wavelength. G-ACh and GAL provide an alternative OOB mechanism that is independent of underlying layers. In other networks, including most IP/MPLS networks, perimeter filtering serves a similar purpose, though it is less effective without extreme vigilance.


A second line of defense is filtering, including GTSM. For protocols such as EBGP, GTSM and other filtering are often the first line of defense. Cryptographic authentication is usually the last line of defense and insufficient by itself to mitigate DoS or DDoS attacks.


2.6.2. MPLS OAM
2.6.2. MPLS OAM
   [RFC4377] defines requirements for MPLS OAM that predate MPLS-TP.
   [RFC4379] defines what is commonly referred to as LSP Ping and LSP
   Traceroute.  [RFC4379] is updated by [RFC6424], which supports MPLS
   tunnels and stitched LSP and P2MP LSP.  [RFC4379] is updated by
   [RFC6425], which supports P2MP LSP.  [RFC4379] is updated by
   [RFC6426] to support MPLS-TP connectivity verification (CV) and route
   [RFC4377] defines requirements for MPLS OAM that predate MPLS-TP.
   [RFC4379] defines what is commonly referred to as LSP Ping and LSP
   Traceroute.  [RFC4379] is updated by [RFC6424], which supports MPLS
   tunnels and stitched LSP and P2MP LSP.  [RFC4379] is updated by
   [RFC6425], which supports P2MP LSP.  [RFC4379] is updated by
   [RFC6426] to support MPLS-TP connectivity verification (CV) and route

[RFC4950] extends the ICMP format to support TTL expiration that may occur when using IP Traceroute within an MPLS tunnel. The ICMP message generation can be implemented in forwarding hardware, but if the ICMP packets are sent to a general-purpose CPU, this packet flow must be rate limited to avoid a potential DoS attack.


[RFC5880] defines Bidirectional Forwarding Detection (BFD), a protocol intended to detect faults in the bidirectional path between two forwarding engines. [RFC5884] and [RFC5885] define BFD for MPLS. BFD can provide failure detection on any kind of path between systems, including direct physical links, virtual circuits, tunnels, MPLS Label Switched Paths (LSPs), multihop routed paths, and unidirectional links as long as there is some return path.


The processing requirements for BFD are less than for LSP Ping, making BFD somewhat better suited for relatively high-rate proactive monitoring. BFD does not verify that the data plane matches the control plane, where LSP Ping does. LSP Ping is somewhat better suited for on-demand monitoring including relatively low-rate periodic verification of the data plane and as a diagnostic tool.

BFD的处理要求低于LSP Ping,这使得BFD在某种程度上更适合于相对高速率的主动监控。BFD不会验证数据平面是否与控制平面匹配,而LSP Ping会验证。LSP Ping在某种程度上更适合于按需监控,包括数据平面的相对低速率定期验证,以及作为诊断工具。

Hardware assistance is often provided for BFD response where BFD setup or parameter change is not involved and may be necessary for relatively high-rate proactive monitoring. If both BFD and LSP Ping are recognized in filtering prior to passing traffic to a general-purpose CPU, appropriate DoS protection can be applied (see Section 2.6.1). Failure to recognize BFD and LSP Ping and at least to rate limit creates the potential for misconfiguration to cause outages rather than cause errors in the misconfigured OAM.

在不涉及BFD设置或参数更改的情况下,通常会为BFD响应提供硬件帮助,这对于相对高速率的主动监测可能是必要的。如果在将流量传递给通用CPU之前,在过滤过程中识别出BFD和LSP Ping,则可以应用适当的DoS保护(参见第2.6.1节)。未能识别BFD和LSP Ping,并且至少未达到速率限制,可能会导致错误配置,从而导致停机,而不是在错误配置的OAM中导致错误。

2.6.3. Pseudowire OAM
2.6.3. 伪线OAM

Pseudowire OAM makes use of the control channel provided by Virtual Circuit Connectivity Verification (VCCV) [RFC5085]. VCCV makes use of the pseudowire Control Word. BFD support over VCCV is defined by [RFC5885]. [RFC5885] is updated by [RFC6478] in support of static pseudowires. [RFC4379] is updated by [RFC6829] to support LSP Ping for Pseudowire FEC advertised over IPv6.

伪线OAM利用虚拟电路连接验证(VCCV)[RFC5085]提供的控制通道。VCCV使用伪线控制字。VCCV上的BFD支持由[RFC5885]定义。[RFC5885]由[RFC6478]更新,以支持静态伪线。[RFC4379]由[RFC6829]更新,以支持通过IPv6播发的伪线FEC的LSP Ping。

G-ACh/GAL (defined in [RFC5586]) is the preferred MPLS-TP OAM control channel and applies to any MPLS-TP endpoints, including pseudowire. See Section 2.6.4 for an overview of MPLS-TP OAM.

G-ACh/GAL(在[RFC5586]中定义)是首选MPLS-TP OAM控制信道,适用于任何MPLS-TP端点,包括伪线。有关MPLS-TP OAM的概述,请参见第2.6.4节。

2.6.4. MPLS-TP OAM
2.6.4. MPLS-TP OAM

[RFC6669] summarizes the MPLS-TP OAM toolset, the set of protocols supporting the MPLS-TP OAM requirements specified in [RFC5860] and supported by the MPLS-TP OAM framework defined in [RFC6371].

[RFC6669]总结了MPLS-TP OAM工具集,该工具集支持[RFC5860]中规定的MPLS-TP OAM要求,并由[RFC6371]中定义的MPLS-TP OAM框架支持。

The MPLS-TP OAM toolset includes:


CC-CV [RFC6428] defines BFD extensions to support proactive Continuity Check and Connectivity Verification (CC-CV) applications. [RFC6426] provides LSP Ping extensions that are used to implement on-demand connectivity verification.

CC-CV[RFC6428]定义了BFD扩展,以支持主动连续性检查和连接验证(CC-CV)应用。[RFC6426]提供用于实现按需连接验证的LSP Ping扩展。

RDI Remote Defect Indication (RDI) is triggered by failure of proactive CC-CV, which is BFD based. For fast RDI, RDI SHOULD be initiated and handled by hardware if BFD is handled in forwarding hardware. [RFC6428] provides an extension for BFD that includes the RDI in the BFD format and a specification of how this indication is to be used.


Route Tracing [RFC6426] specifies that the LSP Ping enhancements for MPLS-TP on-demand connectivity verification include information on the use of LSP Ping for route tracing of an MPLS-TP path.

路由跟踪[RFC6426]指定用于MPLS-TP按需连接验证的LSP Ping增强包括有关使用LSP Ping进行MPLS-TP路径路由跟踪的信息。

Alarm Reporting [RFC6427] describes the details of a new protocol supporting Alarm Indication Signal (AIS), Link Down Indication (LDI), and fault management. Failure to support this functionality in forwarding hardware can potentially result in failure to meet protection recovery time requirements; therefore, support of this functionality is strongly recommended.


Lock Instruct Lock instruct is initiated on demand and therefore need not be implemented in forwarding hardware. [RFC6435] defines a lock instruct protocol.


Lock Reporting [RFC6427] covers lock reporting. Lock reporting need not be implemented in forwarding hardware.


Diagnostic [RFC6435] defines protocol support for loopback. Loopback initiation is on demand and therefore need not be implemented in forwarding hardware. Loopback of packet traffic SHOULD be implemented in forwarding hardware on high-speed interfaces.


Packet Loss and Delay Measurement [RFC6374] and [RFC6375] define a protocol and profile for Packet Loss Measurement (LM) and Delay Measurement (DM). LM requires a very accurate capture and insertion of packet and byte counters when a packet is transmitted and capture of packet and byte counters when a packet is received. This capture and insertion MUST be implemented in forwarding hardware for LM OAM if high accuracy is needed. DM requires very accurate capture and insertion of a timestamp on transmission and capture of timestamp when a packet is received. This timestamp capture and insertion MUST be implemented in forwarding hardware for DM OAM if high accuracy is needed.

分组丢失和延迟测量[RFC6374]和[RFC6375]定义了分组丢失测量(LM)和延迟测量(DM)的协议和配置文件。LM要求在传输数据包时非常准确地捕获和插入数据包和字节计数器,在接收数据包时捕获数据包和字节计数器。如果需要高精度,则必须在LM OAM的转发硬件中实现此捕获和插入。DM要求在传输时非常准确地捕获和插入时间戳,并在接收到数据包时捕获时间戳。如果需要高精度,则必须在DM OAM的转发硬件中实现时间戳捕获和插入。

See Section 2.6.2 for discussion of hardware support necessary for BFD and LSP Ping.

有关BFD和LSP Ping所需的硬件支持的讨论,请参见第2.6.2节。

CC-CV and alarm reporting is tied to protection and therefore SHOULD be supported in forwarding hardware in order to provide protection for a large number of affected LSPs within target response intervals. When using MPLS-TP, since CC-CV is supported by BFD, providing hardware assistance for BFD processing helps ensure that protection recovery time requirements can be met even for faults affecting a large number of LSPs.


MPLS-TP Protection State Coordination (PSC) is defined by [RFC6378] and updated by [RFC7324], which corrects some errors in [RFC6378].


2.6.5. MPLS OAM and Layer 2 OAM Interworking
2.6.5. MPLS OAM与第二层OAM互通

[RFC6670] provides the reasons for selecting a single MPLS-TP OAM solution and examines the consequences were ITU-T to develop a second OAM solution that is based on Ethernet encodings and mechanisms.

[RFC6670]提供了选择单个MPLS-TP OAM解决方案的原因,并分析了ITU-T开发基于以太网编码和机制的第二个OAM解决方案的后果。

[RFC6310] and [RFC7023] specify the mapping of defect states between many types of hardware Attachment Circuits (ACs) and associated pseudowires (PWs). This functionality SHOULD be supported in forwarding hardware.


It is beneficial if an MPLS OAM implementation can interwork with the underlying server layer and provide a means to interwork with a client layer. For example, [RFC6427] specifies an inter-layer propagation of AIS and LDI from MPLS server layer to client MPLS layers. Where the server layer uses a Layer 2 mechanism, such as Ethernet, PPP over SONET/SDH, or GFP over OTN, interwork among layers is also beneficial. For high-speed interfaces, supporting this interworking in forwarding hardware helps ensure that protection based on this interworking can meet recovery time requirements even for faults affecting a large number of LSPs.

如果MPLS OAM实现可以与底层服务器层交互,并提供与客户机层交互的方法,这将是有益的。例如,[RFC6427]指定AIS和LDI从MPLS服务器层到客户端MPLS层的层间传播。当服务器层使用第2层机制时,例如以太网、SONET/SDH上的PPP或OTN上的GFP,层间的互通也是有益的。对于高速接口,在转发硬件中支持这种互通有助于确保基于这种互通的保护能够满足恢复时间要求,即使是对于影响大量LSP的故障。

2.6.6. Extent of OAM Support by Hardware
2.6.6. 按硬件划分的OAM支持范围

Where certain requirements must be met, such as relatively high CC-CV rates and a large number of interfaces, or strict protection recovery time requirements and a moderate number of affected LSPs, some OAM functionality must be supported by forwarding hardware. In other cases, such as highly accurate LM and DM OAM or strict protection recovery time requirements with a large number of affected LSPs, OAM functionality must be entirely implemented in forwarding hardware.

如果必须满足某些要求,如较高的CC-CV速率和大量接口,或严格的保护恢复时间要求和中等数量的受影响LSP,则转发硬件必须支持某些OAM功能。在其他情况下,例如高度精确的LM和DM OAM,或者对大量受影响的LSP有严格的保护恢复时间要求,OAM功能必须完全在转发硬件中实现。

Where possible, implementation in forwarding hardware should be in programmable hardware such that if standards are later changed or extended these changes are likely to be accommodated with hardware reprogramming rather than replacement.


For some functionality, there is a strong case for an implementation in dedicated forwarding hardware. Examples include packet and byte counters needed for LM OAM as well as needed for management protocols. Similarly, the capture and insertion of packet and byte counts or timestamps needed for transmitted LM or DM or time synchronization packets MUST be implemented in forwarding hardware if high accuracy is required.

对于某些功能,在专用转发硬件中实现是很有必要的。示例包括LM OAM以及管理协议所需的数据包和字节计数器。类似地,如果需要高精度,则必须在转发硬件中实现传输的LM或DM或时间同步数据包所需的数据包和字节计数或时间戳的捕获和插入。

For some functions, there is a strong case to provide limited support in forwarding hardware, but an external general-purpose processor may be used if performance criteria can be met. For example, origination of RDI triggered by CC-CV, response to RDI, and Protection State Coordination (PSC) functionality may be supported by hardware, but expansion to a large number of client LSPs and transmission of AIS or RDI to the client LSPs may occur in a general-purpose processor. Some forwarding hardware supports one or more on-chip general-purpose processors that may be well suited for such a role. [RFC7324], being


a very recent document that affects a protection state machine that requires hardware support, underscores the importance of having a degree of programmability in forwarding hardware.


The customer (system supplier or provider) should not dictate design, but should independently validate target functionality and performance. However, it is not uncommon for service providers and system implementers to insist on reviewing design details (under a non-disclosure agreement) due to past experiences with suppliers and to reject suppliers who are unwilling to provide details.


2.6.7. Support for IPFIX in Hardware
2.6.7. 在硬件中支持IPFIX

The IPFIX architecture is defined by [RFC5470]. IPFIX supports per-flow statistics. IPFIX information elements (IEs) are defined in [RFC7012] and include IEs for MPLS.


The forwarding chips used in core routers are not optimized for high-touch applications like IPFIX. Often, support for IPFIX in core routers is limited to optional IPFIX metering, which involves a 1-in-N packet sampling, limited filtering support, and redirection to either an internal CPU or an external interface. The CPU or device at the other end of the external interface then implements the full IPFIX filtering and IPFIX collector functionality.


LSRs that are intended to be deployed further from the core may support lower-capacity interfaces but support higher-touch applications on the forwarding hardware and may provide dedicated hardware to support a greater subset of IPFIX functionality before handing off to a general-purpose CPU. In some cases, far from the core the entire IPFIX functionality up to and including the collector may be implemented in hardware and firmware in the forwarding silicon. It is also worth noting that at lower speeds a general-purpose CPU may become adequate to implement IPFIX, particularly if metering is used.


2.7. Number and Size of Flows
2.7. 流量的数量和大小

Service provider networks may carry up to hundreds of millions of flows on 10 Gb/s links. Most flows are very short lived, many under a second. A subset of the flows are low capacity and somewhat long lived. When Internet traffic dominates capacity, a very small subset of flows are high capacity and/or very long lived.

服务提供商网络可能在10 Gb/s链路上承载数亿个流量。大多数流的寿命都很短,很多不到一秒钟。流量的一个子集是低容量的,并且有点长寿命。当互联网流量主导容量时,流量的一小部分是高容量和/或非常长寿命的。

Two types of limitations with regard to number and size of flows have been observed.


1. Some hardware cannot handle some high-capacity flows because of internal paths that are limited, such as per-packet backplane paths or paths internal or external to chips such as buffer memory paths. Such designs can handle aggregates of smaller flows. Some hardware with acknowledged limitations has been successfully deployed but may be increasingly problematic if the capacity of large microflows in deployed networks continues to grow.

1. 某些硬件无法处理某些高容量流,因为内部路径受到限制,例如每包背板路径或芯片内部或外部路径,例如缓冲存储器路径。这种设计可以处理较小流量的集合。一些具有公认局限性的硬件已成功部署,但如果部署网络中的大型微流容量继续增长,问题可能会越来越严重。

2. Some hardware approaches cannot handle a large number of flows, or a large number of large flows, due to attempting to count per flow, rather than deal with aggregates of flows. Hash techniques scale with regard to number of flows due to a fixed hash size with many flows falling into the same hash bucket. Techniques that identify individual flows have been implemented but have never successfully deployed for Internet traffic.

2. 一些硬件方法无法处理大量流,或大量大型流,因为它们试图对每个流进行计数,而不是处理流的聚合。由于固定的散列大小,许多流落在同一个散列桶中,因此散列技术根据流的数量进行缩放。识别单个流的技术已经实现,但从未成功地部署到Internet流量中。

3. Questions for Suppliers
3. 向供应商提出的问题

The following questions should be asked of a supplier. These questions are grouped into broad categories and are intended to be open-ended questions to the supplier. The tests in Section 4 are intended to verify whether the supplier disclosed any compliance or performance limitations completely and accurately.


3.1. Basic Compliance
3.1. 基本合规性

Q#1 Can the implementation forward packets with an arbitrarily large stack depth? What limitations exist, and under what circumstances do further limitations come into play (such as high packet rate or specific features enabled or specific types of packet processing)? See Section 2.1.


Q#2 Is the entire set of basic MPLS functionality described in Section 2.1 supported?


Q#3 Is the set of MPLS special-purpose labels handled correctly and with adequate performance? Are extended special-purpose labels handled correctly and with adequate performance? See Section 2.1.1.


Q#4 Are mappings of label value and TC to PHB handled correctly, including L-LSP mappings (RFC 3270) and CT mappings (RFC 4124) to PHB? See Section 2.1.2.

问题4:标签值和TC到PHB的映射是否正确处理,包括L-LSP映射(RFC 3270)和CT映射(RFC 4124)到PHB?见第2.1.2节。

Q#5 Is time synchronization adequately supported in forwarding hardware?


A. Are both PTP and NTP formats supported?


B. Is the accuracy of timestamp insertion and incoming stamping sufficient?


See Section 2.1.3.


Q#6 Is link bundling supported?


A. Can an LSP be pinned to specific components?


B. Is the "all-ones" component link supported?


See Section 2.1.5.


Q#7 Is MPLS hierarchy supported?


A. Are both PHP and UHP supported? What limitations exist on the number of pop operations with UHP?


B. Are the pipe, short-pipe, and uniform models supported? Are TTL and TC values updated correctly at egress where applicable?


See Section 2.1.6 regarding MPLS hierarchy. See [RFC3443] regarding PHP, UHP, and pipe, short-pipe, and uniform models.


Q#8 Is FRR supported?


A. Are both "One-to-One Backup" and "Facility Backup" supported?


B. What forms of IP/LDP FRR are supported?

B.支持何种形式的IP/LDP FRR?

C. How quickly does protection recovery occur?


D. Does protection recovery speed increase when a fault affects a large number of protected LSPs? And if so, by how much?


See Section 2.1.7.


Q#9 Are pseudowire Sequence Numbers handled correctly? See Section


Q#10 Is VPN LER functionality handled correctly and without performance issues? See Section 2.1.9.

问题10:VPN LER功能是否正确处理且没有性能问题?见第2.1.9节。

Q#11 Is MPLS multicast (P2MP and MP2MP) handled correctly?


A. Are packets dropped on uncongested outputs if some outputs are congested?


B. Is performance limited in high-fanout situations?


See Section 2.2.


3.2. Basic Performance
3.2. 基本性能

Q#12 Can very small packets be forwarded at full line rate on all interfaces indefinitely? What limitations exist? And under what circumstances do further limitations come into play (such as specific features enabled or specific types of packet processing)?


Q#13 Customers must decide whether to relax the prior requirement and to what extent. If the answer to the prior question indicates that limitations exist, then:


A. What is the smallest packet size where full line rate forwarding can be supported?


B. What is the longest burst of full-rate small packets that can be supported?


Specify circumstances (such as specific features enabled or specific types of packet processing) that often impact these rates and burst sizes.


Q#14 How many pop operations can be supported along with a swap operation at full line rate while maintaining per-LSP packet and byte counts for each pop and swap? This requirement is particularly relevant for MPLS-TP.


Q#15 How many label push operations can be supported. While this limitation is rarely an issue, it applies to both PHP and UHP, unlike the pop limit that applies to UHP.


Q#16 For a worst case where all packets arrive on one LSP, what is the counter overflow time? Are any means provided to avoid polling all counters at short intervals? This applies to both MPLS and MPLS-TP.


3.3. Multipath Capabilities and Performance
3.3. 多路径能力和性能

Multipath capabilities and performance do not apply to MPLS-TP, but they apply to MPLS and apply if MPLS-TP is carried in MPLS.


Q#17 How are large microflows accommodated? Is there active management of the hash space mapping to output ports? See Section 2.4.2.


Q#18 How many MPLS labels can be included in a hash based on the MPLS label stack?


Q#19 Is packet rate performance decreased beyond some number of labels?


Q#20 Can the IP header and payload information below the MPLS stack be used in the hash? If so, which IP fields, payload types, and payload fields are supported?

Q#20 MPLS堆栈下的IP头和有效负载信息能否用于哈希?如果是,支持哪些IP字段、有效负载类型和有效负载字段?

Q#21 At what maximum MPLS label stack depth can Bottom of Stack and an IP header appear without impacting packet rate performance?


Q#22 Are special-purpose labels excluded from the label stack hash? Are extended special-purpose labels excluded from the label stack hash? See Section


Q#23 How is multipath performance affected by high-capacity flows, an extremely large number of flows, or very short-lived flows? See Section 2.7.


3.4. Pseudowire Capabilities and Performance
3.4. 伪线功能和性能

Q#24 Is the pseudowire Control Word supported?


Q#25 What is the maximum rate of pseudowire encapsulation and decapsulation? Apply the same questions as in Section 3.2 ("Basic Performance") for any packet-based pseudowire, such as IP VPN or Ethernet.

Q#25伪导线封装和去封装的最大速率是多少?对任何基于数据包的伪线(如IP VPN或以太网)应用与第3.2节(“基本性能”)中相同的问题。

Q#26 Does inclusion of a pseudowire Control Word impact performance?


Q#27 Are Flow Labels supported?


Q#28 If so, what fields are hashed on for the Flow Label for different types of pseudowires?


Q#29 Does inclusion of a Flow Label impact performance?


3.5. Entropy Label Support and Performance
3.5. 熵标签支持与性能

Q#30 Can an Entropy Label be added when acting as an ingress LER, and can it be removed when acting as an egress LER?


Q#31 If an Entropy Label can be added, what fields are hashed on for the Entropy Label?


Q#32 Does adding or removing an Entropy Label impact packet rate performance?


Q#33 Can an Entropy Label be detected in the label stack, used in the hash, and properly terminate the search for further information to hash on?


Q#34 Does using an Entropy Label have any negative impact on performance? It should have no impact or a positive impact.


3.6. DoS Protection
3.6. DoS保护

Q#35 For each control- and management-plane protocol in use, what measures are taken to provide DoS attack hardening?


Q#36 Have DoS attack tests been performed?


Q#37 Can compromise of an internal computer on a management subnet be leveraged for any form of attack including DoS attack?


3.7. OAM Capabilities and Performance
3.7. OAM功能和性能

Q#38 What OAM proactive and on-demand mechanisms are supported?


Q#39 What performance limits exist under high proactive monitoring rates?


Q#40 Can excessively high proactive monitoring rates impact control-plane performance or cause control-plane instability?


Q#41 Ask the prior questions for each of the following.




B. Pseudowire OAM




D. Layer 2 OAM Interworking


See Section 2.6.


4. Forwarding Compliance and Performance Testing
4. 转发符合性和性能测试

Packet rate performance of equipment supporting a large number of 10 Gb/s or 100 Gb/s links is not possible using desktop computers or workstations. The use of high-end workstations as a source of test traffic was barely viable 20 years ago but is no longer at all viable. Though custom microcode has been used on specialized router forwarding cards to serve the purpose of generating test traffic and measuring it, for the most part, performance testing will require specialized test equipment. There are multiple sources of suitable equipment.

支持大量10 Gb/s或100 Gb/s链路的设备的数据包速率性能不可能使用台式计算机或工作站。使用高端工作站作为测试流量的来源在20年前几乎不可行,但现在根本不可行。尽管专用路由器转发卡上已使用自定义微码来生成测试流量并对其进行测量,但在大多数情况下,性能测试将需要专用测试设备。合适的设备有多种来源。

The set of tests listed here do not correspond one-to-one to the set of questions in Section 3. The same categorization is used, and these tests largely serve to validate answers provided to the prior questions. They can also provide answers where a supplier is unwilling to disclose compliance or performance.


Performance testing is the domain of the IETF Benchmark Methodology Working Group (BMWG). Below are brief descriptions of conformance and performance tests. Some very basic tests, specified in [RFC5695], partially cover only the basic performance test T#3.


The following tests should be performed by the systems designer or deployer; or, if it is not practical for the potential customer to perform the tests directly, they may be performed by the supplier on their behalf. These tests are grouped into broad categories.


The tests in Section 4.1 should be repeated under various conditions to retest basic performance when critical capabilities are enabled. Complete repetition of the performance tests enabling each capability and combinations of capabilities would be very time intensive; therefore, a reduced set of performance tests can be used to gauge the impact of enabling specific capabilities.


4.1. Basic Compliance
4.1. 基本合规性

T#1 Test forwarding at a high rate for packets with varying number of label entries. While packets with more than a dozen label entries are unlikely to be used in any practical scenario today, it is useful to know if limitations exists.


T#2 For each of the questions listed under "Basic Compliance" in Section 3, verify the claimed compliance. For any functionality considered critical to a deployment, the applicable performance using each capability under load should be verified in addition to basic compliance.


4.2. Basic Performance
4.2. 基本性能

T#3 Test packet forwarding at full line rate with small packets. See [RFC5695]. The most likely case to fail is the smallest packet size. Also, test with packet sizes in 4-byte increments ranging from payload sizes of 40 to 128 bytes.


T#4 If the prior tests did not succeed for all packet sizes, then perform the following tests.


A. Increase the packet size by 4 bytes until a size is found that can be forwarded at full rate.


B. Inject bursts of consecutive small packets into a stream of larger packets. Allow some time for recovery between bursts. Increase the number of packets in the burst until packets are dropped.


T#5 Send test traffic where a swap operation is required. Also set up multiple LSPs carried over other LSPs where the device under test (DUT) is the egress of these LSPs. Create test packets such that the swap operation is performed after pop operations, increasing the number of pop operations until forwarding of small packets at full line rate can no longer be supported. Also, check to see how many pop operations can be supported before the full set of counters can no longer be maintained. This requirement is particularly relevant for MPLS-TP.


T#6 Send all traffic on one LSP and see if the counters become inaccurate. Often, counters on silicon are much smaller than the 64-bit packet and byte counters in various IETF MIBs. System developers should consider what counter polling rate is necessary to maintain accurate counters and whether those polling rates are practical. Relevant MIBs for MPLS are discussed in [RFC4221] and [RFC6639].

T#6在一个LSP上发送所有流量,并查看计数器是否变得不准确。通常,硅上的计数器比各种IETF MIB中的64位数据包和字节计数器小得多。系统开发人员应该考虑什么是反投票率,以保持精确的计数器和这些轮询率是否实用。[RFC4221]和[RFC6639]中讨论了MPLS的相关MIB。

T#7 [RFC6894] provides a good basis for MPLS FRR testing. Similar testing should be performed to determine restoration times; however, this testing is far more difficult to perform due to the need for a simulated test topology that is capable of simulating the signaling used in restoration. The simulated topology should be comparable with the target deployment in the

T#7[RFC6894]为MPLS FRR测试提供了良好的基础。应进行类似测试,以确定恢复时间;然而,由于需要能够模拟恢复中使用的信令的模拟测试拓扑,因此该测试更难执行。模拟的拓扑应与中的目标部署相比较

number of nodes and links and in resource usage flooding and setup delays. Some commercial test equipment can support this type of testing.


4.3. Multipath Capabilities and Performance
4.3. 多路径能力和性能

Multipath capabilities do not apply to MPLS-TP but apply to MPLS and apply if MPLS-TP is carried in MPLS.


T#8 Send traffic at a rate well exceeding the capacity of a single multipath component link, and where entropy exists only below the top of stack. If only the top label is used, this test will fail immediately.


T#9 Move the labels with entropy down in the stack until either the full forwarding rate can no longer be supported or most or all packets try to use the same component link.


T#10 Repeat the two tests above with the entropy contained in IP headers or IP payload fields below the label stack rather than in the label stack. Test with the set of IP headers or IP payload fields considered relevant to the deployment or to the target market.


T#11 Determine whether traffic that contains a pseudowire Control Word is interpreted as IP traffic. Information in the payload MUST NOT be used in the load balancing if the first nibble of the packet is not 4 or 6 (IPv4 or IPv6).


T#12 Determine whether special-purpose labels and extended special-purpose labels are excluded from the label stack hash. They MUST be excluded.


T#13 Perform testing in the presence of combinations of:


A. Very large microflows.


B. Relatively short-lived high-capacity flows.


C. Extremely large numbers of flows.


D. Very short-lived small flows.


4.4. Pseudowire Capabilities and Performance
4.4. 伪线功能和性能

T#14 Ensure that pseudowire can be set up with a pseudowire label and pseudowire Control Word added at ingress and the pseudowire label and pseudowire Control Word removed at egress.


T#15 For pseudowire that contains variable-length payload packets, repeat performance tests listed under "Basic Performance" for pseudowire ingress and egress functions.


T#16 Repeat pseudowire performance tests with and without a pseudowire Control Word.


T#17 Determine whether pseudowire can be set up with a pseudowire label, Flow Label, and pseudowire Control Word added at ingress and the pseudowire label, Flow Label, and pseudowire Control Word removed at egress.


T#18 Determine which payload fields are used to create the Flow Label and whether the set of fields and algorithm provide sufficient entropy for load balancing.


T#19 Repeat pseudowire performance tests with Flow Labels included.


4.5. Entropy Label Support and Performance
4.5. 熵标签支持与性能

T#20 Determine whether Entropy Labels can be added at ingress and removed at egress.


T#21 Determine which fields are used to create an Entropy Label. Labels further down in the stack, including Entropy Labels further down and IP headers or IP payload fields where applicable, should be used. Determine whether the set of fields and algorithm provide sufficient entropy for load balancing.


T#22 Repeat performance tests under "Basic Performance" when Entropy Labels are used, where ingress or egress is the device under test (DUT).


T#23 Determine whether an ELI is detected when acting as a midpoint LSR and whether the search for further information on which to base the load balancing is used. Information below the Entropy Label SHOULD NOT be used.


T#24 Ensure that the Entropy Label indicator and Entropy Label (ELI and EL) are removed from the label stack during UHP and PHP operations.


T#25 Ensure that operations on the TC field when adding and removing Entropy Label are correctly carried out. If TC is changed during a swap operation, the ability to transfer that change MUST be provided. The ability to suppress the transfer of TC MUST also be provided. See the pipe, short-pipe, and uniform models in [RFC3443].


T#26 Repeat performance tests for a midpoint LSR with Entropy Labels found at various label stack depths.


4.6. DoS Protection
4.6. DoS保护

T#27 Actively attack LSRs under high protocol churn load and determine control-plane performance impact or successful DoS under test conditions. Specifically, test for the following.


A. TCP SYN attack against control-plane and management-plane protocols using TCP, including CLI access (typically SSH-protected login), NETCONF, etc.

A.使用TCP攻击控制平面和管理平面协议的TCP SYN攻击,包括CLI访问(通常是SSH保护的登录)、NETCONF等。

B. High traffic volume attack against control-plane and management-plane protocols not using TCP.


C. Attacks that can be performed from a compromised management subnet computer, but not one with authentication keys.


D. Attacks that can be performed from a compromised peer within the control plane (internal domain and external domain). Assume that keys that are per peering and keys that are per router ID, rather than network-wide keys, are in use.


See Section 2.6.1.


4.7. OAM Capabilities and Performance
4.7. OAM功能和性能

T#28 Determine maximum sustainable rates of BFD traffic. If BFD requires CPU intervention, determine both maximum rates and CPU loading when multiple interfaces are active.


T#29 Verify LSP Ping and LSP Traceroute capability.

T#29验证LSP Ping和LSP跟踪路由能力。

T#30 Determine maximum rates of MPLS-TP CC-CV traffic. If CC-CV requires CPU intervention, determine both maximum rates and CPU loading when multiple interfaces are active.

T#30确定MPLS-TP CC-CV流量的最大速率。如果CC-CV需要CPU干预,则确定多个接口处于活动状态时的最大速率和CPU负载。

T#31 Determine MPLS-TP DM precision.

T#31确定MPLS-TP DM精度。

T#32 Determine MPLS-TP LM accuracy.

T#32确定MPLS-TP LM精度。

T#33 Verify MPLS-TP AIS/RDI and Protection State Coordination (PSC) functionality, protection speed, and AIS/RDI notification speed when a large number of Maintenance Entities (MEs) must be notified with AIS/RDI.

T#33当大量维修实体(MEs)必须通过AIS/RDI通知时,验证MPLS-TP AIS/RDI和保护状态协调(PSC)功能、保护速度和AIS/RDI通知速度。

5. Security Considerations
5. 安全考虑

This document reviews forwarding behavior specified elsewhere and points out compliance and performance requirements. As such, it introduces no new security requirements or concerns.


Discussion of hardware support and other equipment hardening against DoS attack can be found in Section 2.6.1. Section 3.6 provides a list of questions regarding DoS to be asked of suppliers. Section 4.6 suggests types of testing that can provide some assurance of the effectiveness of a supplier's claims about DoS hardening.


Knowledge of potential performance shortcomings may serve to help new implementations avoid pitfalls. It is unlikely that such knowledge could be the basis of new denial of service, as these pitfalls are already widely known in the service provider community and among leading equipment suppliers. In practice, extreme data and packet rates are needed to affect existing equipment and to affect networks that may be still vulnerable due to failure to implement adequate protection. The extreme data and packet rates make this type of denial of service unlikely and make undetectable denial of service of this type impossible.


Each normative reference contains security considerations. A brief summarization of MPLS security considerations applicable to forwarding follows:


1. MPLS encapsulation does not support an authentication extension. This is reflected in the security section of [RFC3032]. Documents that clarify MPLS header fields such as TTL [RFC3443], the explicit null label [RFC4182], renaming EXP to TC [RFC5462], ECN for MPLS [RFC5129], and MPLS Ethernet encapsulation [RFC5332] make no changes to security considerations in [RFC3032].

1. MPLS封装不支持身份验证扩展。这反映在[RFC3032]的安全部分中。澄清MPLS报头字段的文档,如TTL[RFC3443]、显式空标签[RFC4182]、将EXP重命名为TC[RFC5462]、MPLS的ECN[RFC5129]和MPLS以太网封装[RFC5332]对[RFC3032]中的安全注意事项没有任何更改。

2. Some cited RFCs are related to Diffserv forwarding. [RFC3270] refers to MPLS and Diffserv security. [RFC2474] mentions theft of service and denial of service due to mismarking. [RFC2474] mentions IPsec interaction, but with MPLS, not being carried by IP, the type of interaction in [RFC2474] is not relevant.

2. 一些引用的RFC与Diffserv转发相关。[RFC3270]指MPLS和区分服务安全。[RFC2474]提到了由于错误标记导致的服务盗窃和拒绝服务。[RFC2474]提到IPsec交互,但对于不由IP承载的MPLS,[RFC2474]中的交互类型不相关。

3. [RFC3209] is cited here due only to make-before-break forwarding requirements. This is related to resource sharing and the theft-of-service and denial-of-service concerns in [RFC2474] apply.

3. 此处引用[RFC3209]仅是为了满足先通后断的转发要求。这与[RFC2474]中的资源共享、服务盗窃和拒绝服务相关。

4. [RFC4090] defines FRR, which provides protection but does not add security concerns. RFC 4201 defines link bundling but raises no additional security concerns.

4. [RFC4090]定义了FRR,它提供保护,但不增加安全问题。RFC 4201定义了链接绑定,但没有引起额外的安全问题。

5. Various OAM control channels are defined in [RFC4385] (PW CW), [RFC5085] (VCCV), and [RFC5586] (G-Ach and GAL). These documents describe potential abuse of these OAM control channels.

5. [RFC4385](PW CW)、[RFC5085](VCCV)和[RFC5586](G-Ach和GAL)中定义了各种OAM控制信道。这些文档描述了这些OAM控制通道的潜在滥用。

6. [RFC4950] defines ICMP extensions when MPLS TTL expires and the payload is IP. This provides MPLS header information that is of no use to an IP attacker, but sending this information can be suppressed through configuration.

6. [RFC4950]定义MPLS TTL到期且有效负载为IP时的ICMP扩展。这会提供对IP攻击者没有用处的MPLS头信息,但通过配置可以抑制发送此信息。

7. GTSM [RFC5082] provides a means to improve protection against high traffic volume spoofing as a form of DoS attack.

7. GTSM[RFC5082]提供了一种方法来提高对作为DoS攻击形式的高流量欺骗的保护。

8. BFD [RFC5880] [RFC5884] [RFC5885] provides a form of OAM used in MPLS and MPLS-TP. The security considerations related to the OAM control channel are relevant. The BFD payload supports authentication. The MPLS encapsulation, the MPLS control channel, or the PW control channel, which BFD may be carried in, do not support authentication. Where an IP return OAM path is used, IPsec is suggested as a means of securing the return path.

8. BFD[RFC5880][RFC5884][RFC5885]提供了一种用于MPLS和MPLS-TP的OAM形式。与OAM控制通道相关的安全注意事项是相关的。BFD有效负载支持身份验证。可以携带BFD的MPLS封装、MPLS控制通道或PW控制通道不支持身份验证。在使用IP返回OAM路径的情况下,建议使用IPsec作为保护返回路径的方法。

9. Other forms of OAM are supported by [RFC6374] [RFC6375] (Loss and Delay Measurement), [RFC6428] (Continuity Check/Verification based on BFD), and [RFC6427] (Fault Management). The security considerations related to the OAM control channel are relevant. IP return paths, where used, can be secured with IPsec.

9. [RFC6374][RFC6375](损耗和延迟测量)、[RFC6428](基于BFD的连续性检查/验证)和[RFC6427](故障管理)支持其他形式的OAM。与OAM控制通道相关的安全注意事项是相关的。使用IP返回路径时,可以使用IPsec进行保护。

10. Linear protection is defined by [RFC6378] and updated by [RFC7324]. Security concerns related to MPLS encapsulation and OAM control channels apply. Security concerns reiterate [RFC5920] as applied to protection switching.

10. 线性保护由[RFC6378]定义,并由[RFC7324]更新。与MPLS封装和OAM控制通道相关的安全问题也适用。安全问题重申[RFC5920]适用于保护切换。

11. The PW Flow Label [RFC6391] and MPLS Entropy Label [RFC6790] affect multipath load balancing. Security concerns reiterate [RFC5920]. Security impacts would be limited to load distribution.

11. PW流标签[RFC6391]和MPLS熵标签[RFC6790]影响多路径负载平衡。安全问题重申[RFC5920]。安全影响仅限于负载分布。

MPLS security including data-plane security is discussed in greater detail in [RFC5920] (MPLS/GMPLS Security Framework). The MPLS-TP security framework [RFC6941] builds upon this, focusing largely on the MPLS-TP OAM additions and OAM channels with some attention given to using network management in place of control-plane setup. In both security framework documents, MPLS is assumed to run within a "trusted zone", defined as being where a single service provider has total operational control over that part of the network.

[RFC5920](MPLS/GMPLS安全框架)更详细地讨论了包括数据平面安全在内的MPLS安全。MPLS-TP安全框架[RFC6941]以此为基础,主要关注MPLS-TP OAM添加和OAM通道,并注意使用网络管理代替控制平面设置。在这两份安全框架文件中,MPLS都假定在“受信任区域”内运行,该区域定义为单个服务提供商对网络的该部分拥有完全的操作控制权。

If control-plane security and management-plane security are sufficiently robust, compromise of a single network element may result in chaos in the data plane anywhere in the network through denial-of-service attacks, but not a Byzantine security failure in which other network elements are fully compromised.


MPLS security, or lack thereof, can affect whether traffic can be misrouted and lost, or intercepted, or intercepted and reinserted (a man-in-the-middle attack), or spoofed. End-user applications, including control-plane and management-plane protocols used by the service provider, are expected to make use of appropriate end-to-end authentication and, where appropriate, end-to-end encryption.


6. Organization of References Section
6. 参考资料组

The References section is split into Normative and Informative subsections. References that directly specify forwarding encapsulations or behaviors are listed as normative. References that describe signaling only, though normative with respect to signaling, are listed as informative. They are informative with respect to MPLS forwarding.


7. References
7. 工具书类
7.1. Normative References
7.1. 规范性引用文件

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Encoding", RFC 3032, January 2001.

[RFC3032]Rosen,E.,Tappan,D.,Fedorkow,G.,Rekhter,Y.,Farinaci,D.,Li,T.,和A.Conta,“MPLS标签堆栈编码”,RFC 3032,2001年1月。

[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, December 2001.

[RFC3209]Awduche,D.,Berger,L.,Gan,D.,Li,T.,Srinivasan,V.,和G.Swallow,“RSVP-TE:LSP隧道RSVP的扩展”,RFC 3209,2001年12月。

[RFC3270] Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen, P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi-Protocol Label Switching (MPLS) Support of Differentiated Services", RFC 3270, May 2002.

[RFC3270]Le Faucheur,F.,Wu,L.,Davie,B.,Davari,S.,Vaananen,P.,Krishnan,R.,Cheval,P.,和J.Heinanen,“区分服务的多协议标签交换(MPLS)支持”,RFC 32702002年5月。

[RFC3443] Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing in Multi-Protocol Label Switching (MPLS) Networks", RFC 3443, January 2003.

[RFC3443]Agarwal,P.和B.Akyol,“多协议标签交换(MPLS)网络中的生存时间(TTL)处理”,RFC 3443,2003年1月。

[RFC4090] Pan, P., Swallow, G., and A. Atlas, "Fast Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, May 2005.

[RFC4090]Pan,P.,Swallow,G.,和A.Atlas,“LSP隧道RSVP-TE快速重路由扩展”,RFC 40902005年5月。

[RFC4182] Rosen, E., "Removing a Restriction on the use of MPLS Explicit NULL", RFC 4182, September 2005.

[RFC4182]Rosen,E.,“消除对MPLS显式NULL使用的限制”,RFC 41822005年9月。

[RFC4201] Kompella, K., Rekhter, Y., and L. Berger, "Link Bundling in MPLS Traffic Engineering (TE)", RFC 4201, October 2005.

[RFC4201]Kompella,K.,Rekhter,Y.,和L.Berger,“MPLS流量工程(TE)中的链路捆绑”,RFC 42012005年10月。

[RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson, "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over an MPLS PSN", RFC 4385, February 2006.

[RFC4385]Bryant,S.,Swallow,G.,Martini,L.,和D.McPherson,“用于MPLS PSN的伪线仿真边到边(PWE3)控制字”,RFC 43852006年2月。

[RFC4950] Bonica, R., Gan, D., Tappan, D., and C. Pignataro, "ICMP Extensions for Multiprotocol Label Switching", RFC 4950, August 2007.

[RFC4950]Bonica,R.,Gan,D.,Tappan,D.,和C.Pignataro,“多协议标签交换的ICMP扩展”,RFC 49502007年8月。

[RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., and C. Pignataro, "The Generalized TTL Security Mechanism (GTSM)", RFC 5082, October 2007.

[RFC5082]Gill,V.,Heasley,J.,Meyer,D.,Savola,P.,和C.Pignataro,“广义TTL安全机制(GTSM)”,RFC 5082,2007年10月。

[RFC5085] Nadeau, T. and C. Pignataro, "Pseudowire Virtual Circuit Connectivity Verification (VCCV): A Control Channel for Pseudowires", RFC 5085, December 2007.

[RFC5085]Nadeau,T.和C.Pignataro,“伪线虚拟电路连接验证(VCCV):伪线的控制通道”,RFC 5085,2007年12月。

[RFC5129] Davie, B., Briscoe, B., and J. Tay, "Explicit Congestion Marking in MPLS", RFC 5129, January 2008.

[RFC5129]Davie,B.,Briscoe,B.,和J.Tay,“MPLS中的显式拥塞标记”,RFC 5129,2008年1月。

[RFC5332] Eckert, T., Rosen, E., Aggarwal, R., and Y. Rekhter, "MPLS Multicast Encapsulations", RFC 5332, August 2008.

[RFC5332]Eckert,T.,Rosen,E.,Aggarwal,R.,和Y.Rekhter,“MPLS多播封装”,RFC 5332,2008年8月。

[RFC5586] Bocci, M., Vigoureux, M., and S. Bryant, "MPLS Generic Associated Channel", RFC 5586, June 2009.

[RFC5586]Bocci,M.,Vigoureux,M.,和S.Bryant,“MPLS通用关联信道”,RFC 55862009年6月。

[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, June 2010.

[RFC5880]Katz,D.和D.Ward,“双向转发检测(BFD)”,RFC 58802010年6月。

[RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, "Bidirectional Forwarding Detection (BFD) for MPLS Label Switched Paths (LSPs)", RFC 5884, June 2010.

[RFC5884]Aggarwal,R.,Kompella,K.,Nadeau,T.,和G.Swallow,“MPLS标签交换路径(LSP)的双向转发检测(BFD)”,RFC 58842010年6月。

[RFC5885] Nadeau, T. and C. Pignataro, "Bidirectional Forwarding Detection (BFD) for the Pseudowire Virtual Circuit Connectivity Verification (VCCV)", RFC 5885, June 2010.

[RFC5885]Nadeau,T.和C.Pignataro,“伪线虚拟电路连接验证(VCCV)的双向转发检测(BFD)”,RFC 58852010年6月。

[RFC6374] Frost, D. and S. Bryant, "Packet Loss and Delay Measurement for MPLS Networks", RFC 6374, September 2011.

[RFC6374]Frost,D.和S.Bryant,“MPLS网络的数据包丢失和延迟测量”,RFC 63742011年9月。

[RFC6375] Frost, D. and S. Bryant, "A Packet Loss and Delay Measurement Profile for MPLS-Based Transport Networks", RFC 6375, September 2011.

[RFC6375]Frost,D.和S.Bryant,“基于MPLS的传输网络的数据包丢失和延迟测量模式”,RFC 63752011年9月。

[RFC6378] Weingarten, Y., Bryant, S., Osborne, E., Sprecher, N., and A. Fulignoli, "MPLS Transport Profile (MPLS-TP) Linear Protection", RFC 6378, October 2011.

[RFC6378]Y.Weingarten、S.Bryant、E.Osborne、N.Sprecher和A.Fulignoli,“MPLS传输模式(MPLS-TP)线性保护”,RFC 6378,2011年10月。

[RFC6391] Bryant, S., Filsfils, C., Drafz, U., Kompella, V., Regan, J., and S. Amante, "Flow-Aware Transport of Pseudowires over an MPLS Packet Switched Network", RFC 6391, November 2011.

[RFC6391]Bryant,S.,Filsfils,C.,Drafz,U.,Kompella,V.,Regan,J.,和S.Amante,“MPLS分组交换网络上伪线的流感知传输”,RFC 63912011年11月。

[RFC6427] Swallow, G., Fulignoli, A., Vigoureux, M., Boutros, S., and D. Ward, "MPLS Fault Management Operations, Administration, and Maintenance (OAM)", RFC 6427, November 2011.

[RFC6427]Swallow,G.,Fulignoli,A.,Vigoureux,M.,Boutros,S.,和D.Ward,“MPLS故障管理操作、管理和维护(OAM)”,RFC 64272011年11月。

[RFC6428] Allan, D., Swallow Ed. , G., and J. Drake Ed. , "Proactive Connectivity Verification, Continuity Check, and Remote Defect Indication for the MPLS Transport Profile", RFC 6428, November 2011.

[RFC6428]Allan,D.,Swallow Ed.,G.,和J.Drake Ed.,“MPLS传输配置文件的主动连接验证、连续性检查和远程缺陷指示”,RFC 6428,2011年11月。

[RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and L. Yong, "The Use of Entropy Labels in MPLS Forwarding", RFC 6790, November 2012.

[RFC6790]Kompella,K.,Drake,J.,Amante,S.,Henderickx,W.,和L.Yong,“MPLS转发中熵标签的使用”,RFC 67902012年11月。

[RFC7324] Osborne, E., "Updates to MPLS Transport Profile Linear Protection", RFC 7324, July 2014.

[RFC7324]Osborne,E.“MPLS传输配置文件线性保护的更新”,RFC 73242014年7月。

7.2. Informative References
7.2. 资料性引用

[ACK-compression] Zhang, L., Shenker, S., and D. Clark, "Observations and Dynamics of a Congestion Control Algorithm: The Effects of Two-Way Traffic", Proc. ACM SIGCOMM, ACM Computer Communications Review (CCR) Vol. 21, No. 4, pp. 133-147., 1991.

[ACK压缩]Zhang,L.,Shenker,S.,和D.Clark,“拥塞控制算法的观察和动力学:双向流量的影响”,Proc。ACM SIGCOMM,《ACM计算机通信评论》(CCR)第21卷,第4期,第133-147页,1991年。

[MPLS-IN-UDP] Xu, X., Sheth, N., Yong, L., Pignataro, C., and F. Yongbing, "Encapsulating MPLS in UDP", Work in Progress, January 2014.


[MRT] Atlas, A., Kebler, R., Bowers, C., Envedi, G., Csaszar, A., Tantsura, J., Konstantynowicz, M., and R. White, "An Architecture for IP/LDP Fast-Reroute Using Maximally Redundant Trees", Work in Progress, July 2014.


[REMOTE-LFA] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and S. Ning, "Remote LFA FRR", Work in Progress, May 2014.

【远程LFA】Bryant,S.,Filsfils,C.,Previdi,S.,Shand,M.,和S.Ning,“远程LFA FRR”,正在进行的工作,2014年5月。

[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981.

[RFC0791]Postel,J.,“互联网协议”,STD 5,RFC 7911981年9月。

[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998.

[RFC2474]Nichols,K.,Blake,S.,Baker,F.,和D.Black,“IPv4和IPv6头中区分服务字段(DS字段)的定义”,RFC 2474,1998年12月。

[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., and W. Weiss, "An Architecture for Differentiated Services", RFC 2475, December 1998.

[RFC2475]Blake,S.,Black,D.,Carlson,M.,Davies,E.,Wang,Z.,和W.Weiss,“差异化服务架构”,RFC 24751998年12月。

[RFC2597] Heinanen, J., Baker, F., Weiss, W., and J. Wroclawski, "Assured Forwarding PHB Group", RFC 2597, June 1999.

[RFC2597]Heinanen,J.,Baker,F.,Weiss,W.,和J.Wroclawski,“保付PHB集团”,RFC 25971999年6月。

[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001.

[RFC3031]Rosen,E.,Viswanathan,A.,和R.Callon,“多协议标签交换体系结构”,RFC 30312001年1月。

[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition of Explicit Congestion Notification (ECN) to IP", RFC 3168, September 2001.

[RFC3168]Ramakrishnan,K.,Floyd,S.,和D.Black,“向IP添加显式拥塞通知(ECN)”,RFC 3168,2001年9月。

[RFC3429] Ohta, H., "Assignment of the 'OAM Alert Label' for Multiprotocol Label Switching Architecture (MPLS) Operation and Maintenance (OAM) Functions", RFC 3429, November 2002.

[RFC3429]Ohta,H.,“多协议标签交换体系结构(MPLS)操作和维护(OAM)功能的‘OAM警报标签’分配”,RFC 34292002年11月。

[RFC3471] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description", RFC 3471, January 2003.

[RFC3471]Berger,L.“通用多协议标签交换(GMPLS)信令功能描述”,RFC 3471,2003年1月。

[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003.

[RFC3550]Schulzrinne,H.,Casner,S.,Frederick,R.,和V.Jacobson,“RTP:实时应用的传输协议”,STD 64,RFC 35502003年7月。

[RFC3828] Larzon, L-A., Degermark, M., Pink, S., Jonsson, L-E., and G. Fairhurst, "The Lightweight User Datagram Protocol (UDP-Lite)", RFC 3828, July 2004.

[RFC3828]Larzon,L-A.,Degermark,M.,Pink,S.,Jonsson,L-E.,和G.Fairhurst,“轻量级用户数据报协议(UDP Lite)”,RFC 38282004年7月。

[RFC3985] Bryant, S. and P. Pate, "Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture", RFC 3985, March 2005.

[RFC3985]Bryant,S.和P.Pate,“伪线仿真边到边(PWE3)架构”,RFC 39852005年3月。

[RFC4023] Worster, T., Rekhter, Y., and E. Rosen, "Encapsulating MPLS in IP or Generic Routing Encapsulation (GRE)", RFC 4023, March 2005.

[RFC4023]Worster,T.,Rekhter,Y.,和E.Rosen,“在IP或通用路由封装(GRE)中封装MPLS”,RFC 4023,2005年3月。

[RFC4110] Callon, R. and M. Suzuki, "A Framework for Layer 3 Provider-Provisioned Virtual Private Networks (PPVPNs)", RFC 4110, July 2005.

[RFC4110]Callon,R.和M.Suzuki,“第3层提供商提供的虚拟专用网络(PPVPN)框架”,RFC 4110,2005年7月。

[RFC4124] Le Faucheur, F., "Protocol Extensions for Support of Diffserv-aware MPLS Traffic Engineering", RFC 4124, June 2005.

[RFC4124]Le Faucheur,F.“支持区分服务的MPLS流量工程的协议扩展”,RFC 41242005年6月。

[RFC4206] Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP) Hierarchy with Generalized Multi-Protocol Label Switching (GMPLS) Traffic Engineering (TE)", RFC 4206, October 2005.

[RFC4206]Kompella,K.和Y.Rekhter,“具有通用多协议标签交换(GMPLS)流量工程(TE)的标签交换路径(LSP)层次结构”,RFC 4206,2005年10月。

[RFC4221] Nadeau, T., Srinivasan, C., and A. Farrel, "Multiprotocol Label Switching (MPLS) Management Overview", RFC 4221, November 2005.

[RFC4221]Nadeau,T.,Srinivasan,C.,和A.Farrel,“多协议标签交换(MPLS)管理概述”,RFC 42212005年11月。

[RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram Congestion Control Protocol (DCCP)", RFC 4340, March 2006.

[RFC4340]Kohler,E.,Handley,M.和S.Floyd,“数据报拥塞控制协议(DCCP)”,RFC 43402006年3月。

[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 4364, February 2006.

[RFC4364]Rosen,E.和Y.Rekhter,“BGP/MPLS IP虚拟专用网络(VPN)”,RFC 4364,2006年2月。

[RFC4377] Nadeau, T., Morrow, M., Swallow, G., Allan, D., and S. Matsushima, "Operations and Management (OAM) Requirements for Multi-Protocol Label Switched (MPLS) Networks", RFC 4377, February 2006.

[RFC4377]Nadeau,T.,Morrow,M.,Swallow,G.,Allan,D.,和S.Matsushima,“多协议标签交换(MPLS)网络的运营和管理(OAM)要求”,RFC 4377,2006年2月。

[RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures", RFC 4379, February 2006.

[RFC4379]Kompella,K.和G.Swallow,“检测多协议标签交换(MPLS)数据平面故障”,RFC 4379,2006年2月。

[RFC4664] Andersson, L. and E. Rosen, "Framework for Layer 2 Virtual Private Networks (L2VPNs)", RFC 4664, September 2006.

[RFC4664]Andersson,L.和E.Rosen,“第二层虚拟专用网络(L2VPN)框架”,RFC 4664,2006年9月。

[RFC4817] Townsley, M., Pignataro, C., Wainner, S., Seely, T., and J. Young, "Encapsulation of MPLS over Layer 2 Tunneling Protocol Version 3", RFC 4817, March 2007.

[RFC4817]Townsley,M.,Pignataro,C.,Wainner,S.,Seely,T.,和J.Young,“第2层隧道协议版本3上的MPLS封装”,RFC 48172007年3月。

[RFC4875] Aggarwal, R., Papadimitriou, D., and S. Yasukawa, "Extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE Label Switched Paths (LSPs)", RFC 4875, May 2007.

[RFC4875]Aggarwal,R.,Papadimitriou,D.,和S.Yasukawa,“资源预留协议的扩展-点对多点TE标签交换路径(LSP)的流量工程(RSVP-TE)”,RFC 4875,2007年5月。

[RFC4928] Swallow, G., Bryant, S., and L. Andersson, "Avoiding Equal Cost Multipath Treatment in MPLS Networks", BCP 128, RFC 4928, June 2007.

[RFC4928]Swallow,G.,Bryant,S.和L.Andersson,“避免MPLS网络中的等成本多路径处理”,BCP 128,RFC 4928,2007年6月。

[RFC4960] Stewart, R., "Stream Control Transmission Protocol", RFC 4960, September 2007.

[RFC4960]Stewart,R.,“流控制传输协议”,RFC 49602007年9月。

[RFC5036] Andersson, L., Minei, I., and B. Thomas, "LDP Specification", RFC 5036, October 2007.

[RFC5036]Andersson,L.,Minei,I.,和B.Thomas,“LDP规范”,RFC 5036,2007年10月。

[RFC5286] Atlas, A. and A. Zinin, "Basic Specification for IP Fast Reroute: Loop-Free Alternates", RFC 5286, September 2008.

[RFC5286]Atlas,A.和A.Zinin,“IP快速重路由的基本规范:无环路交替”,RFC 5286,2008年9月。

[RFC5317] Bryant, S. and L. Andersson, "Joint Working Team (JWT) Report on MPLS Architectural Considerations for a Transport Profile", RFC 5317, February 2009.

[RFC5317]Bryant,S.和L.Andersson,“联合工作组(JWT)关于传输配置文件的MPLS体系结构考虑的报告”,RFC 53172009年2月。

[RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field", RFC 5462, February 2009.

[RFC5462]Andersson,L.和R.Asati,“多协议标签交换(MPLS)标签堆栈条目:“EXP”字段重命名为“流量类”字段”,RFC 5462,2009年2月。

[RFC5470] Sadasivan, G., Brownlee, N., Claise, B., and J. Quittek, "Architecture for IP Flow Information Export", RFC 5470, March 2009.

[RFC5470]Sadasivan,G.,Brownlee,N.,Claise,B.,和J.Quitek,“IP流信息导出架构”,RFC 54702009年3月。

[RFC5640] Filsfils, C., Mohapatra, P., and C. Pignataro, "Load-Balancing for Mesh Softwires", RFC 5640, August 2009.

[RFC5640]Filsfils,C.,Mohapatra,P.,和C.Pignataro,“网状软电线的负载平衡”,RFC 56402009年8月。

[RFC5695] Akhter, A., Asati, R., and C. Pignataro, "MPLS Forwarding Benchmarking Methodology for IP Flows", RFC 5695, November 2009.

[RFC5695]Akhter,A.,Asati,R.,和C.Pignataro,“IP流的MPLS转发基准测试方法”,RFC 56952009年11月。

[RFC5704] Bryant, S., Morrow, M., and IAB, "Uncoordinated Protocol Development Considered Harmful", RFC 5704, November 2009.

[RFC5704]Bryant,S.,Morrow,M.,和IAB,“认为不协调的方案制定有害”,RFC 57042009年11月。

[RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", RFC 5714, January 2010.

[RFC5714]Shand,M.和S.Bryant,“IP快速重路由框架”,RFC 5714,2010年1月。

[RFC5715] Shand, M. and S. Bryant, "A Framework for Loop-Free Convergence", RFC 5715, January 2010.

[RFC5715]Shand,M.和S.Bryant,“无环收敛框架”,RFC 5715,2010年1月。

[RFC5860] Vigoureux, M., Ward, D., and M. Betts, "Requirements for Operations, Administration, and Maintenance (OAM) in MPLS Transport Networks", RFC 5860, May 2010.

[RFC5860]Vigoureux,M.,Ward,D.,和M.Betts,“MPLS传输网络中的操作、管理和维护(OAM)要求”,RFC 5860,2010年5月。

[RFC5905] Mills, D., Martin, J., Burbank, J., and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", RFC 5905, June 2010.

[RFC5905]Mills,D.,Martin,J.,Burbank,J.,和W.Kasch,“网络时间协议版本4:协议和算法规范”,RFC 59052010年6月。

[RFC5920] Fang, L., "Security Framework for MPLS and GMPLS Networks", RFC 5920, July 2010.

[RFC5920]方,L,“MPLS和GMPLS网络的安全框架”,RFC 5920,2010年7月。

[RFC6291] Andersson, L., van Helvoort, H., Bonica, R., Romascanu, D., and S. Mansfield, "Guidelines for the Use of the "OAM" Acronym in the IETF", BCP 161, RFC 6291, June 2011.

[RFC6291]Andersson,L.,van Helvoort,H.,Bonica,R.,Romascanu,D.,和S.Mansfield,“IETF中“OAM”首字母缩写词的使用指南”,BCP 161,RFC 62912011年6月。

[RFC6310] Aissaoui, M., Busschbach, P., Martini, L., Morrow, M., Nadeau, T., and Y(J). Stein, "Pseudowire (PW) Operations, Administration, and Maintenance (OAM) Message Mapping", RFC 6310, July 2011.


[RFC6371] Busi, I. and D. Allan, "Operations, Administration, and Maintenance Framework for MPLS-Based Transport Networks", RFC 6371, September 2011.

[RFC6371]Busi,I.和D.Allan,“基于MPLS的传输网络的运营、管理和维护框架”,RFC 6371,2011年9月。

[RFC6388] Wijnands, IJ., Minei, I., Kompella, K., and B. Thomas, "Label Distribution Protocol Extensions for Point-to-Multipoint and Multipoint-to-Multipoint Label Switched Paths", RFC 6388, November 2011.

[RFC6388]Wijnands,IJ.,Minei,I.,Kompella,K.,和B.Thomas,“点对多点和多点对多点标签交换路径的标签分发协议扩展”,RFC 6388,2011年11月。

[RFC6424] Bahadur, N., Kompella, K., and G. Swallow, "Mechanism for Performing Label Switched Path Ping (LSP Ping) over MPLS Tunnels", RFC 6424, November 2011.

[RFC6424]Bahadur,N.,Kompella,K.,和G.Swallow,“在MPLS隧道上执行标签交换路径Ping(LSP Ping)的机制”,RFC 64242011年11月。

[RFC6425] Saxena, S., Swallow, G., Ali, Z., Farrel, A., Yasukawa, S., and T. Nadeau, "Detecting Data-Plane Failures in Point-to-Multipoint MPLS - Extensions to LSP Ping", RFC 6425, November 2011.

[RFC6425]Saxena,S.,Swallow,G.,Ali,Z.,Farrel,A.,Yasukawa,S.,和T.Nadeau,“检测点对多点MPLS中的数据平面故障-LSP Ping扩展”,RFC 64252011年11月。

[RFC6426] Gray, E., Bahadur, N., Boutros, S., and R. Aggarwal, "MPLS On-Demand Connectivity Verification and Route Tracing", RFC 6426, November 2011.

[RFC6426]Gray,E.,Bahadur,N.,Boutros,S.,和R.Aggarwal,“MPLS按需连接验证和路由跟踪”,RFC 6426,2011年11月。

[RFC6435] Boutros, S., Sivabalan, S., Aggarwal, R., Vigoureux, M., and X. Dai, "MPLS Transport Profile Lock Instruct and Loopback Functions", RFC 6435, November 2011.

[RFC6435]Boutros,S.,Sivabalan,S.,Aggarwal,R.,Vigoureux,M.,和X.Dai,“MPLS传输配置文件锁定指令和环回功能”,RFC 64352011年11月。

[RFC6438] Carpenter, B. and S. Amante, "Using the IPv6 Flow Label for Equal Cost Multipath Routing and Link Aggregation in Tunnels", RFC 6438, November 2011.

[RFC6438]Carpenter,B.和S.Amante,“在隧道中使用IPv6流标签进行等成本多路径路由和链路聚合”,RFC 6438,2011年11月。

[RFC6478] Martini, L., Swallow, G., Heron, G., and M. Bocci, "Pseudowire Status for Static Pseudowires", RFC 6478, May 2012.

[RFC6478]Martini,L.,Swallow,G.,Heron,G.,和M.Bocci,“静态伪线的伪线状态”,RFC 6478,2012年5月。

[RFC6639] King, D. and M. Venkatesan, "Multiprotocol Label Switching Transport Profile (MPLS-TP) MIB-Based Management Overview", RFC 6639, June 2012.

[RFC6639]King,D.和M.Venkatesan,“多协议标签交换传输配置文件(MPLS-TP)基于MIB的管理概述”,RFC 66392012年6月。

[RFC6669] Sprecher, N. and L. Fang, "An Overview of the Operations, Administration, and Maintenance (OAM) Toolset for MPLS-Based Transport Networks", RFC 6669, July 2012.

[RFC6669]Sprecher,N.和L.Fang,“基于MPLS的传输网络的操作、管理和维护(OAM)工具集概述”,RFC 6669,2012年7月。

[RFC6670] Sprecher, N. and KY. Hong, "The Reasons for Selecting a Single Solution for MPLS Transport Profile (MPLS-TP) Operations, Administration, and Maintenance (OAM)", RFC 6670, July 2012.

[RFC6670]Sprecher,N.和KY.Hong,“为MPLS传输配置文件(MPLS-TP)操作、管理和维护(OAM)选择单一解决方案的原因”,RFC 66702012年7月。

[RFC6720] Pignataro, C. and R. Asati, "The Generalized TTL Security Mechanism (GTSM) for the Label Distribution Protocol (LDP)", RFC 6720, August 2012.

[RFC6720]Pignataro,C.和R.Asati,“标签分发协议(LDP)的通用TTL安全机制(GTSM)”,RFC 6720,2012年8月。

[RFC6829] Chen, M., Pan, P., Pignataro, C., and R. Asati, "Label Switched Path (LSP) Ping for Pseudowire Forwarding Equivalence Classes (FECs) Advertised over IPv6", RFC 6829, January 2013.

[RFC6829]Chen,M.,Pan,P.,Pignataro,C.,和R.Asati,“IPv6上广告的伪线转发等价类(FEC)的标签交换路径(LSP)Ping”,RFC 68292013年1月。

[RFC6894] Papneja, R., Vapiwala, S., Karthik, J., Poretsky, S., Rao, S., and JL. Le Roux, "Methodology for Benchmarking MPLS Traffic Engineered (MPLS-TE) Fast Reroute Protection", RFC 6894, March 2013.

[RFC6894]Papneja,R.,Vapiwala,S.,Karthik,J.,Poretsky,S.,Rao,S.,和JL。Le Roux,“MPLS流量工程(MPLS-TE)快速重路由保护基准测试方法”,RFC 68942013年3月。

[RFC6941] Fang, L., Niven-Jenkins, B., Mansfield, S., and R. Graveman, "MPLS Transport Profile (MPLS-TP) Security Framework", RFC 6941, April 2013.

[RFC6941]Fang,L.,Niven Jenkins,B.,Mansfield,S.,和R.Graveman,“MPLS传输配置文件(MPLS-TP)安全框架”,RFC 69412013年4月。

[RFC6981] Bryant, S., Previdi, S., and M. Shand, "A Framework for IP and MPLS Fast Reroute Using Not-Via Addresses", RFC 6981, August 2013.

[RFC6981]Bryant,S.,Previdi,S.,和M.Shand,“使用非经由地址的IP和MPLS快速重路由框架”,RFC 6981,2013年8月。

[RFC7012] Claise, B. and B. Trammell, "Information Model for IP Flow Information Export (IPFIX)", RFC 7012, September 2013.

[RFC7012]Claise,B.和B.Trammell,“IP流信息导出(IPFIX)的信息模型”,RFC 7012,2013年9月。

[RFC7023] Mohan, D., Bitar, N., Sajassi, A., DeLord, S., Niger, P., and R. Qiu, "MPLS and Ethernet Operations, Administration, and Maintenance (OAM) Interworking", RFC 7023, October 2013.

[RFC7023]Mohan,D.,Bitar,N.,Sajassi,A.,DeLord,S.,Niger,P.,和R.Qiu,“MPLS和以太网操作、管理和维护(OAM)互通”,RFC 70232013年10月。

[RFC7074] Berger, L. and J. Meuric, "Revised Definition of the GMPLS Switching Capability and Type Fields", RFC 7074, November 2013.

[RFC7074]Berger,L.和J.Meuria,“GMPLS交换能力和类型字段的修订定义”,RFC 7074,2013年11月。

[RFC7079] Del Regno, N. and A. Malis, "The Pseudowire (PW) and Virtual Circuit Connectivity Verification (VCCV) Implementation Survey Results", RFC 7079, November 2013.

[RFC7079]Del Regno,N.和A.Malis,“伪线(PW)和虚拟电路连接验证(VCCV)实施调查结果”,RFC 7079,2013年11月。

[RFC7274] Kompella, K., Andersson, L., and A. Farrel, "Allocating and Retiring Special-Purpose MPLS Labels", RFC 7274, June 2014.

[RFC7274]Kompella,K.,Andersson,L.,和A.Farrel,“特殊用途MPLS标签的分配和退役”,RFC 7274,2014年6月。

[TIMING-OVER-MPLS] Davari, S., Oren, A., Bhatia, M., Roberts, P., and L. Montini, "Transporting Timing messages over MPLS Networks", Work in Progress, April 2014.


Appendix A. Acknowledgements

Numerous very useful comments have been received in private email. Some of these contributions are acknowledged here, approximately in chronologic order.


Paul Doolan provided a brief review resulting in a number of clarifications, most notably regarding on-chip vs. system buffering, 100 Gb/s link speed assumptions in the 150 Mpps figure, and handling of large microflows. Pablo Frank reminded us of the sawtooth effect in PPS vs. packet-size graphs, prompting the addition of a few paragraphs on this. Comments from Lou Berger at IETF 85 prompted the addition of Section 2.7.

Paul Doolan提供了一个简短的回顾,随后进行了大量澄清,最显著的是关于片上缓冲与系统缓冲、150 Mpps图中的100 Gb/s链路速度假设以及大微流量的处理。Pablo Frank提醒我们PPS与数据包大小图中的锯齿效应,这促使我们在这方面增加了一些段落。Lou Berger在IETF 85上的评论促使增加了第2.7节。

Valuable comments were received on the BMWG mailing list. Jay Karthik pointed out testing methodology hints that after discussion were deemed out of scope and were removed but may benefit later work in BMWG.

BMWG邮件列表上收到了宝贵的意见。Jay Karthik指出,测试方法暗示,经过讨论后,被视为超出范围,被删除,但可能有利于BMWG的后续工作。

Nabil Bitar pointed out the need to cover QoS (Differentiated Services), MPLS multicast (P2MP and MP2MP), and MPLS-TP OAM. Nabil also provided a number of clarifications to the questions and tests in Sections 3 and 4.

Nabil Bitar指出需要涵盖QoS(区分服务)、MPLS多播(P2MP和MP2MP)和MPLS-TP OAM。Nabil还对第3节和第4节中的问题和测试进行了一些澄清。

Mark Szczesniak provided a thorough review and a number of useful comments and suggestions that improved the document.

Mark Szczesniak对该文件进行了全面审查,并提出了许多有用的意见和建议,以改进该文件。

Gregory Mirsky and Thomas Beckhaus provided useful comments during the review by the MPLS Review Team.

Gregory Mirsky和Thomas Beckhaus在MPLS审查小组审查期间提供了有用的意见。

Tal Mizrahi provided comments that prompted clarifications regarding timestamp processing, local delivery of packets, and the need for hardware assistance in processing OAM traffic.

Tal Mizrahi提供了一些意见,这些意见促使澄清了时间戳处理、数据包的本地交付以及处理OAM流量时需要硬件协助的问题。

Alexander (Sasha) Vainshtein pointed out errors in Section and suggested new text that, after lengthy discussion, resulted in restating the summarization of requirements from PWE3 RFCs and more clearly stating the benefits and drawbacks of packet resequencing based on PW Sequence Number.

Alexander(Sasha)Vainstein指出了第2.1.8.1节中的错误,并提出了新的文本,经过长时间的讨论,重新阐述了PWE3 RFC的要求摘要,并更清楚地说明了基于PW序列号的数据包重新排序的优缺点。

Loa Anderson provided useful comments and corrections prior to WGLC. Adrian Farrel provided useful comments and corrections prior as part of the AD review.

Loa Anderson在WGLC之前提供了有用的意见和更正。阿德里安·法雷尔(Adrian Farrel)在广告审查之前提供了有用的评论和更正。

Discussion with Steve Kent during SecDir review resulted in expansion of Section 5, briefly summarizing security considerations related to forwarding in normative references. Tom Petch pointed out some editorial errors in private email plus an important math error. Al

在SecDir审查期间与Steve Kent的讨论导致第5节的扩展,简要总结了规范性引用中与转发相关的安全注意事项。Tom Petch指出了私人电子邮件中的一些编辑错误,以及一个重要的数学错误。艾尔

Morton during OpsDir review prompted clarification in the section about the target audience, suggested more clear wording in places, and found numerous editorial errors.


Discussion with Stewart Bryant and Alia Atlas as part of IESG review resulted in coverage of IPFIX and improvements to document coverage of MPLS FRR, and IP/LDP FRR, plus some corrections to the text elsewhere.

作为IESG审查的一部分,与Stewart Bryant和Alia Atlas的讨论导致了IPFIX的覆盖范围,改进了MPLS FRR和IP/LDP FRR的文件覆盖范围,并对其他地方的文本进行了一些更正。

Authors' Addresses


Curtis Villamizar (editor) Outer Cape Cod Network Consulting, LLC

Curtis Villamizar(编辑)外科德角网络咨询有限责任公司


Kireeti Kompella Juniper Networks

Kireeti Kompella Juniper网络


Shane Amante Apple Inc. 1 Infinite Loop Cupertino, California 95014

Shane Amante苹果公司加利福尼亚州库比蒂诺市无限环路1号95014


Andrew Malis Huawei Technologies



Carlos Pignataro Cisco Systems 7200-12 Kit Creek Road Research Triangle Park, NC 27709 US