Independent Submission                                          M. Chiba
Request for Comments: 6812                                      A. Clemm
Category: Informational                                        S. Medley
ISSN: 2070-1721                                               J. Salowey
                                                             S. Thombare
                                                            E. Yedavalli
                                                           Cisco Systems
                                                            January 2013
        
Independent Submission                                          M. Chiba
Request for Comments: 6812                                      A. Clemm
Category: Informational                                        S. Medley
ISSN: 2070-1721                                               J. Salowey
                                                             S. Thombare
                                                            E. Yedavalli
                                                           Cisco Systems
                                                            January 2013
        

Cisco Service-Level Assurance Protocol

Cisco服务级别保证协议

Abstract

摘要

Cisco's Service-Level Assurance Protocol (Cisco's SLA Protocol) is a Performance Measurement protocol that has been widely deployed. The protocol is used to measure service-level parameters such as network latency, delay variation, and packet/frame loss. This document describes the Cisco SLA Protocol Measurement-Type UDP-Measurement, to enable vendor interoperability.

Cisco的服务级别保证协议(Cisco的SLA协议)是一种广泛部署的性能测量协议。该协议用于测量服务级别参数,如网络延迟、延迟变化和数据包/帧丢失。本文档介绍Cisco SLA协议测量类型UDP测量,以实现供应商互操作性。

Status of This Memo

关于下段备忘

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

本文件不是互联网标准跟踪规范;它是为了提供信息而发布的。

This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not a candidate for any level of Internet Standard; see Section 2 of RFC 5741.

这是对RFC系列的贡献,独立于任何其他RFC流。RFC编辑器已选择自行发布此文档,并且未声明其对实现或部署的价值。RFC编辑批准发布的文件不适用于任何级别的互联网标准;见RFC 5741第2节。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6812.

有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc6812.

Copyright Notice

版权公告

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

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

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) 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.

本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。

Table of Contents

目录

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.1.  Control Phase  . . . . . . . . . . . . . . . . . . . . . .  6
       3.1.1.  Control-Request Message  . . . . . . . . . . . . . . .  7
         3.1.1.1.  Command-Header . . . . . . . . . . . . . . . . . .  8
         3.1.1.2.  CSLDs  . . . . . . . . . . . . . . . . . . . . . .  9
       3.1.2.  Control-Response Message . . . . . . . . . . . . . . . 15
     3.2.  Measurement Phase  . . . . . . . . . . . . . . . . . . . . 16
   4.  Implementation Notes . . . . . . . . . . . . . . . . . . . . . 19
   5.  Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 20
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 21
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 24
     7.1.  Message Authentication . . . . . . . . . . . . . . . . . . 24
     7.2.  IPsec Considerations . . . . . . . . . . . . . . . . . . . 24
       7.2.1.  Control Traffic  . . . . . . . . . . . . . . . . . . . 24
       7.2.2.  Measurement Traffic  . . . . . . . . . . . . . . . . . 24
     7.3.  Replay Protection  . . . . . . . . . . . . . . . . . . . . 25
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 25
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 25
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 26
        
   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.1.  Control Phase  . . . . . . . . . . . . . . . . . . . . . .  6
       3.1.1.  Control-Request Message  . . . . . . . . . . . . . . .  7
         3.1.1.1.  Command-Header . . . . . . . . . . . . . . . . . .  8
         3.1.1.2.  CSLDs  . . . . . . . . . . . . . . . . . . . . . .  9
       3.1.2.  Control-Response Message . . . . . . . . . . . . . . . 15
     3.2.  Measurement Phase  . . . . . . . . . . . . . . . . . . . . 16
   4.  Implementation Notes . . . . . . . . . . . . . . . . . . . . . 19
   5.  Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 20
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 21
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 24
     7.1.  Message Authentication . . . . . . . . . . . . . . . . . . 24
     7.2.  IPsec Considerations . . . . . . . . . . . . . . . . . . . 24
       7.2.1.  Control Traffic  . . . . . . . . . . . . . . . . . . . 24
       7.2.2.  Measurement Traffic  . . . . . . . . . . . . . . . . . 24
     7.3.  Replay Protection  . . . . . . . . . . . . . . . . . . . . 25
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 25
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 25
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 26
        
1. Introduction
1. 介绍

Active network performance measurements are becoming critical data points for administrators monitoring the health of the network. As service providers look to differentiate their offerings, performance measurement is increasingly becoming an important tool to monitor service-level guarantees and, in general, to monitor the health of a network.

主动网络性能测量正成为管理员监控网络健康状况的关键数据点。随着服务提供商寻求使其产品与众不同,性能度量正日益成为监控服务级别保证以及监控网络健康状况的重要工具。

Performance metrics, both one-way and two-way, can be used for pre-deployment validation as well as for measuring in-band live network-performance characteristics. It can be used to measure service levels in L2 and L3 networks as well as for applications running on top of L3. Active performance measurements are gathered by analyzing synthetically generated request and response packets or frames. This is in contrast to passive measurements that analyze live traffic flowing through a particular network element.

性能指标(单向和双向)可用于部署前验证以及测量带内实时网络性能特征。它可用于测量二级和三级网络中的服务级别,以及运行在三级网络之上的应用程序。通过分析综合生成的请求和响应包或帧来收集主动性能度量。这与被动测量形成对比,被动测量分析流经特定网络元件的实时流量。

There is a growing body of work on Performance Measurement standards that enable interoperability between different vendors' network elements by describing common measurement protocols as well as metrics. The IETF has actively developed Standards Track documents on the subject, such as "A One-way Active Measurement Protocol (OWAMP)" [RFC4656] and "Two-Way Active Measurement Protocol (TWAMP)" [RFC5357].

关于性能度量标准的工作越来越多,这些标准通过描述通用度量协议和度量来实现不同供应商网络元素之间的互操作性。IETF积极制定了关于该主题的标准跟踪文件,如“单向主动测量协议(OWAMP)”[RFC4656]和“双向主动测量协议(TWAMP)”[RFC5357]。

Cisco's SLA Protocol is another example of a Performance Measurement protocol that offers a rich set of measurement message types. The measurement types can be classified as those that test connectivity (ping like) by providing round-trip or one-way latency measures, and those that provide a richer set of statistics including network jitter and packet or frame loss. Each type of active measurement exchange mimics an actual protocol exchange.

Cisco的SLA协议是性能度量协议的另一个示例,它提供了一组丰富的度量消息类型。测量类型可分为通过提供往返或单向延迟测量来测试连接性(类似ping)的测量类型,以及提供更丰富的统计数据集(包括网络抖动和分组或帧丢失)的测量类型。每种类型的主动测量交换模拟实际的协议交换。

Cisco's SLA Protocol UDP-Measurement message exchanges, as covered in this document to enable interoperability, simulate a UDP application and can be used to simulate either Voice or Video traffic that is encoded in RTP frames within UDP envelopes. The Measurement-Type UDP-Measurement message exchanges carry information that provide the ability to derive a robust set of statistics.

Cisco的SLA协议UDP测量消息交换,如本文档所述,用于实现互操作性,模拟UDP应用程序,可用于模拟UDP信封内RTP帧中编码的语音或视频流量。测量类型UDP测量消息交换携带的信息能够导出一组可靠的统计数据。

2. Terminology
2. 术语

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照RFC 2119[RFC2119]中所述进行解释。

   +-------------+-----------------------------------------------------+
   | Term        | Description                                         |
   +-------------+-----------------------------------------------------+
   | Control     | A phase during which a Control-Request and Control- |
   | Phase       | Response are exchanged.                             |
   | ---------   | --------------------------                          |
   | L2          | OSI Data-Link Layer                                 |
   | ---------   | --------------------------                          |
   | L3          | OSI Network Layer                                   |
   | ---------   | --------------------------                          |
   | Measurement | Active Measurement Phase that is marked by a        |
   | Phase       | sequence of Measurement-Request and Measurement-    |
   |             | Response exchanges.                                 |
   | ---------   | --------------------------                          |
   | Metric      | A particular characteristic of the network data     |
   |             | traffic, for example, latency, jitter, packet or    |
   |             | frame loss.                                         |
   | ---------   | --------------------------                          |
   | Responder   | A network element that responds to a message.       |
   | ---------   | --------------------------                          |
   | RTP         | Real-time Transport Protocol                        |
   | ---------   | --------------------------                          |
   | Sender      | A network element that is the initiator of a        |
   |             | message exchange.                                   |
   | ---------   | --------------------------                          |
   | Service-    | This is the level of service that is agreed upon    |
   | Level       | between the Provider and the Customer.              |
   | ---------   | --------------------------                          |
   | UDP         | User Datagram Protocol                              |
   +-------------+-----------------------------------------------------+
        
   +-------------+-----------------------------------------------------+
   | Term        | Description                                         |
   +-------------+-----------------------------------------------------+
   | Control     | A phase during which a Control-Request and Control- |
   | Phase       | Response are exchanged.                             |
   | ---------   | --------------------------                          |
   | L2          | OSI Data-Link Layer                                 |
   | ---------   | --------------------------                          |
   | L3          | OSI Network Layer                                   |
   | ---------   | --------------------------                          |
   | Measurement | Active Measurement Phase that is marked by a        |
   | Phase       | sequence of Measurement-Request and Measurement-    |
   |             | Response exchanges.                                 |
   | ---------   | --------------------------                          |
   | Metric      | A particular characteristic of the network data     |
   |             | traffic, for example, latency, jitter, packet or    |
   |             | frame loss.                                         |
   | ---------   | --------------------------                          |
   | Responder   | A network element that responds to a message.       |
   | ---------   | --------------------------                          |
   | RTP         | Real-time Transport Protocol                        |
   | ---------   | --------------------------                          |
   | Sender      | A network element that is the initiator of a        |
   |             | message exchange.                                   |
   | ---------   | --------------------------                          |
   | Service-    | This is the level of service that is agreed upon    |
   | Level       | between the Provider and the Customer.              |
   | ---------   | --------------------------                          |
   | UDP         | User Datagram Protocol                              |
   +-------------+-----------------------------------------------------+
        
3. Protocol
3. 协议

The Cisco SLA Protocol consists of two distinct phases: the Control Phase and the Measurement Phase. Each phase is comprised of information exchanged between a network element acting as the Sender and an element designated as the Responder.

Cisco SLA协议由两个不同的阶段组成:控制阶段和测量阶段。每个阶段都由作为发送方的网元和指定为响应方的网元之间交换的信息组成。

The Control Phase is the first phase of message exchanges and forms the base protocol. This phase establishes the identity of the Sender and provides information for the Measurement Phase. A single message pair of Control-Request and Control-Response marks this phase. The

控制阶段是消息交换的第一阶段,形成基本协议。此阶段确定发送者的身份,并为测量阶段提供信息。控制请求和控制响应的单个消息对标记此阶段。这个

Sender initiates a Control-Request message that is acknowledged by the Responder with a Control-Response message. The Control-Request may be sent multiple times if a Control-Response has not been received; the number of times the message is retried is configurable on the Sender element.

发送方发起控制请求消息,该消息由响应方用控制响应消息确认。如果没有收到控制响应,则可以多次发送控制请求;消息重试的次数可在Sender元素上配置。

The Measurement Phase forms the second phase and is comprised of a sequence of Measurement-Request and Measurement-Response messages. These messages may be exchanged as often as required. Each Measurement-Request message is acknowledged by the Responder with a Measurement-Response message.

测量阶段形成第二阶段,由一系列测量请求和测量响应消息组成。可以根据需要随时交换这些消息。响应者通过测量响应消息确认每个测量请求消息。

The number and frequency with which messages are sent SHOULD be controlled by configuration on the Sender element, along with the waiting time for a Control-Response.

发送消息的数量和频率应通过发送方元素上的配置以及控制响应的等待时间进行控制。

The following sequence diagram depicts the message exchanges:

以下序列图描述了消息交换:

       +-+-+-+-+-+-+-+      Control-Request           +-+-+-+-+-+-+-+
       |             |                                |             |
       |    Sender   |                                |  Responder  |
       |             |                                |             |
       |             |                                |             |
       +-+-+-+-+-+-+-+                                +-+-+-+-+-+-+-+
              |                                              |
              |             Control-Request                  |
              | -------------------------------------------->|
              |                                              |
              |             Control-Response                 |
              |<---------------------------------------------|
              |                                              |
              |                                              |
              |             Measurement-Request(1)           |
              | -------------------------------------------->|
              |                                              |
              |             Measurement-Response(1)          |
              |<---------------------------------------------|
              |                                              |
              .                                              .
              .                                              .
              .                                              .
              .                                              .
              .             Measurement-Request(n)           .
              | -------------------------------------------->|
              |                                              |
              |             Measurement-Response(n)          |
              |<---------------------------------------------|
              |                                              |
        
       +-+-+-+-+-+-+-+      Control-Request           +-+-+-+-+-+-+-+
       |             |                                |             |
       |    Sender   |                                |  Responder  |
       |             |                                |             |
       |             |                                |             |
       +-+-+-+-+-+-+-+                                +-+-+-+-+-+-+-+
              |                                              |
              |             Control-Request                  |
              | -------------------------------------------->|
              |                                              |
              |             Control-Response                 |
              |<---------------------------------------------|
              |                                              |
              |                                              |
              |             Measurement-Request(1)           |
              | -------------------------------------------->|
              |                                              |
              |             Measurement-Response(1)          |
              |<---------------------------------------------|
              |                                              |
              .                                              .
              .                                              .
              .                                              .
              .                                              .
              .             Measurement-Request(n)           .
              | -------------------------------------------->|
              |                                              |
              |             Measurement-Response(n)          |
              |<---------------------------------------------|
              |                                              |
        
3.1. Control Phase
3.1. 控制阶段

The Control Phase begins with the Sender sending a Control-Request message to the Responder. The Control-Request message is sent to UDP port 1167 on the Responder requesting that a Measurement Phase UDP port be opened and, in addition, indicates the duration for which the port needs to remain open. The Responder replies by sending a Control-Response with an appropriate Status indicating Success when the Sender identity is verified and the requested UDP port was successfully opened. In all other cases, a non-zero Status is returned in the Command-Header Status field.

控制阶段从发送方向响应方发送控制请求消息开始。控制请求消息被发送到响应程序上的UDP端口1167,请求打开测量阶段的UDP端口,此外,还指示端口需要保持打开的持续时间。当验证发送方身份并成功打开请求的UDP端口时,响应方通过发送具有适当状态的控制响应进行响应,该状态指示成功。在所有其他情况下,命令头状态字段中返回非零状态。

The sequence of exchanges is as indicated in the following diagram:

交换顺序如下图所示:

       +-+-+-+-+-+-+-+      Control-Request           +-+-+-+-+-+-+-+
       |             |------------------------------->|             |
       |    Sender   |                                |  Responder  |
       |             |      Control-Response          |             |
       |             |<-------------------------------|             |
       +-+-+-+-+-+-+-+                                +-+-+-+-+-+-+-+
        
       +-+-+-+-+-+-+-+      Control-Request           +-+-+-+-+-+-+-+
       |             |------------------------------->|             |
       |    Sender   |                                |  Responder  |
       |             |      Control-Response          |             |
       |             |<-------------------------------|             |
       +-+-+-+-+-+-+-+                                +-+-+-+-+-+-+-+
        
3.1.1. Control-Request Message
3.1.1. 控制请求消息

The Control-Request message consists of a Command-Header followed by one or more Command, Status, Length and Data sections (henceforth known as CSLD). At a minimum, there SHOULD be two CSLD sections, one of which is the authentication CSLD section and the other carries information for the Measurement Phase simulation type.

控制请求消息由一个命令头和一个或多个命令、状态、长度和数据段(以下称为CSLD)组成。至少应有两个CSLD部分,其中一个是认证CSLD部分,另一个携带测量阶段模拟类型的信息。

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       +                                                               +
       |                                                               |
       +                                                               +
       |                      Command-Header                           |
       +                                                               +
       |                                                               |
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Command                   |           Status              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                          Command-Length                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       .                                                               .
       .                          Data                                 .
       .                                                               .
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Command                   |          Status               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Command-Length                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       .                                                               .
       .                          Data                                 .
       .                                                               .
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       +                                                               +
       |                                                               |
       +                                                               +
       |                      Command-Header                           |
       +                                                               +
       |                                                               |
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Command                   |           Status              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                          Command-Length                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       .                                                               .
       .                          Data                                 .
       .                                                               .
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Command                   |          Status               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Command-Length                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       .                                                               .
       .                          Data                                 .
       .                                                               .
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
3.1.1.1. Command-Header
3.1.1.1. 命令头

The Command-Header is the first section of the Control-Request message and is depicted below:

命令头是控制请求消息的第一部分,如下所示:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Version = 2   |     Reserved  |          Status               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Sequence Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Total Length                          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Send Timestamp                         |
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Version = 2   |     Reserved  |          Status               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Sequence Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Total Length                          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Send Timestamp                         |
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The Command-Header fields hold the following meaning:

命令标题字段具有以下含义:

   +-----------+-----------+-------------------------------------------+
   | Field     | Size      | Description                               |
   |           | (bits)    |                                           |
   +-----------+-----------+-------------------------------------------+
   | Version   | 8         | Current version supported and is to be    |
   |           |           | set to 2.                                 |
   | --------- | --------- | --------------------------                |
   | Reserved  | 8         | Reserved field, MUST be set to 0.         |
   | --------- | --------- | --------------------------                |
   | Status    | 16        | Indicates success or failure for the      |
   |           |           | entire message.  In a Control-Request, the|
   |           |           | value of the Status field is ignored by   |
   |           |           | the receiver and SHOULD be set to 0.      |
   | --------- | --------- | --------------------------                |
   | Sequence  | 32        | Used to map requests to responses.  This  |
   | Number    |           | is a monotonically increasing number.     |
   |           |           | Implementations MAY reset the sequence    |
   |           |           | number to 0 after a reboot, and it SHOULD |
   |           |           | wrap around after all bits have been      |
   |           |           | exceeded.                                 |
   | --------- | --------- | --------------------------                |
   | Total     | 32        | Carries the total length of the Control   |
   | Length    |           | message in number of octets.              |
   | --------- | --------- | --------------------------                |
        
   +-----------+-----------+-------------------------------------------+
   | Field     | Size      | Description                               |
   |           | (bits)    |                                           |
   +-----------+-----------+-------------------------------------------+
   | Version   | 8         | Current version supported and is to be    |
   |           |           | set to 2.                                 |
   | --------- | --------- | --------------------------                |
   | Reserved  | 8         | Reserved field, MUST be set to 0.         |
   | --------- | --------- | --------------------------                |
   | Status    | 16        | Indicates success or failure for the      |
   |           |           | entire message.  In a Control-Request, the|
   |           |           | value of the Status field is ignored by   |
   |           |           | the receiver and SHOULD be set to 0.      |
   | --------- | --------- | --------------------------                |
   | Sequence  | 32        | Used to map requests to responses.  This  |
   | Number    |           | is a monotonically increasing number.     |
   |           |           | Implementations MAY reset the sequence    |
   |           |           | number to 0 after a reboot, and it SHOULD |
   |           |           | wrap around after all bits have been      |
   |           |           | exceeded.                                 |
   | --------- | --------- | --------------------------                |
   | Total     | 32        | Carries the total length of the Control   |
   | Length    |           | message in number of octets.              |
   | --------- | --------- | --------------------------                |
        
   | --------- | --------- | --------------------------                |
   | Send      | 64        | This field is set to the time the command |
   | Timestamp |           | was submitted for transmission and is     |
   |           |           | updated for a response.  This field MAY   |
   |           |           | be used when security is of concern in    |
   |           |           | order to prevent replay attacks.  SHOULD  |
   |           |           | be updated when the response is sent.     |
   |           |           | When not being used, it MUST be set to all|
   |           |           | 0's.  The format is as given in RFC 5905. |
   +-----------+-----------+-------------------------------------------+
        
   | --------- | --------- | --------------------------                |
   | Send      | 64        | This field is set to the time the command |
   | Timestamp |           | was submitted for transmission and is     |
   |           |           | updated for a response.  This field MAY   |
   |           |           | be used when security is of concern in    |
   |           |           | order to prevent replay attacks.  SHOULD  |
   |           |           | be updated when the response is sent.     |
   |           |           | When not being used, it MUST be set to all|
   |           |           | 0's.  The format is as given in RFC 5905. |
   +-----------+-----------+-------------------------------------------+
        

The Sequence Number field MUST include a new number for each new request and is monotonically increasing. When the Control-Request is to be retried, the sequence number MUST remain unchanged.

序列号字段必须为每个新请求包含一个新的编号,并且是单调递增的。重试控制请求时,序列号必须保持不变。

3.1.1.2. CSLDs
3.1.1.2. CSLDs

The ordered list of the two CSLDs to be included along with the Command-Header are:

与命令头一起包含的两个CSLD的有序列表如下:

o The Authentication CSLD

o 身份验证CSLD

o A Measurement-Type CSLD

o 一种测量型CSLD

In this revision of the protocol, only a single Measurement-Type CSLD has been defined, the UDP-Measurement CSLD. For future extensions, it is possible to add more Measurement-Type CSLDs. For more details, see Section 5 on extensions.

在本协议修订版中,仅定义了一种测量类型CSLD,即UDP测量CSLD。对于将来的扩展,可以添加更多测量类型的CSLD。有关更多详细信息,请参阅第5节“扩展”。

3.1.1.2.1. Authentication CSLD
3.1.1.2.1. 认证CSLD

The Authentication CSLD provides message authentication and verifies that the requester knows the shared secret. The following is the format for the Authentication CSLD:

身份验证CSLD提供消息身份验证,并验证请求者是否知道共享秘密。以下是身份验证CSLD的格式:

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Command = 1         |            Status             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Command-Length                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Mode      |   Reserved    |          Key Id               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                  Random Number                                +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                                                               |
      .                                                               .
      .                                                               .
      .                  Message Authentication Digest                .
      .                                                               .
      .                                                               .
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Command = 1         |            Status             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Command-Length                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Mode      |   Reserved    |          Key Id               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                  Random Number                                +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                                                               |
      .                                                               .
      .                                                               .
      .                  Message Authentication Digest                .
      .                                                               .
      .                                                               .
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The fields for the Authentication CSLD have the following meaning:

认证CSLD的字段具有以下含义:

   +----------------+-----------+--------------------------------------+
   | Field          | Size      | Description                          |
   |                | (bits)    |                                      |
   +----------------+-----------+--------------------------------------+
   | Command        | 16        | Indicates the CSLD is of type        |
   |                |           | Authentication.                      |
   | ---------      | --------- | --------------------------           |
   | Status         | 16        | Not used for a request and MUST be   |
   |                |           | set to 0.                            |
   | ---------      | --------- | --------------------------           |
   | Command-Length | 32        | Indicates the length of the CSLD in  |
   |                |           | octets.                              |
   | ---------      | --------- | --------------------------           |
   | Mode           | 8         | Indicates the type of authentication |
   |                |           | being used and is set as follows:    |
   |                |           | 0 - No Authentication,               |
   |                |           | 1 - SHA256 Authentication,           |
   |                |           | 2 - HMAC-SHA-256                     |
   | ---------      | --------- | --------------------------           |
   | Reserved       | 8         | This field is reserved for future    |
   |                |           | extensions and MUST be set to 0.     |
   | ---------      | --------- | --------------------------           |
   | Key ID         | 16        | Indicates the index number of the    |
   |                |           | shared secret to be used for         |
   |                |           | authenticating the Control-Request   |
   |                |           | message.                             |
   | ---------      | --------- | --------------------------           |
   | Random Number  | 128       | This field is to be unique over the  |
   |                |           | shared-secret life and is used to    |
   |                |           | make it difficult to predict the     |
   |                |           | shared secret via multiple packet    |
   |                |           | captures.  The value is reflected in |
   |                |           | a response message.  This field MAY  |
   |                |           | be used when security is of concern  |
   |                |           | and is useful to prevent dictionary  |
   |                |           | attacks.  When not being used, it    |
   |                |           | should be set to all 0's             |
   | ---------      | --------- | --------------------------           |
   | Message        | 256       | Contains the message authentication  |
   | Authentication |           | digest and is computed over the      |
   | Digest         |           | entire control packet, including this|
   |                |           | field set to all 0s.                 |
   +----------------+-----------+--------------------------------------+
        
   +----------------+-----------+--------------------------------------+
   | Field          | Size      | Description                          |
   |                | (bits)    |                                      |
   +----------------+-----------+--------------------------------------+
   | Command        | 16        | Indicates the CSLD is of type        |
   |                |           | Authentication.                      |
   | ---------      | --------- | --------------------------           |
   | Status         | 16        | Not used for a request and MUST be   |
   |                |           | set to 0.                            |
   | ---------      | --------- | --------------------------           |
   | Command-Length | 32        | Indicates the length of the CSLD in  |
   |                |           | octets.                              |
   | ---------      | --------- | --------------------------           |
   | Mode           | 8         | Indicates the type of authentication |
   |                |           | being used and is set as follows:    |
   |                |           | 0 - No Authentication,               |
   |                |           | 1 - SHA256 Authentication,           |
   |                |           | 2 - HMAC-SHA-256                     |
   | ---------      | --------- | --------------------------           |
   | Reserved       | 8         | This field is reserved for future    |
   |                |           | extensions and MUST be set to 0.     |
   | ---------      | --------- | --------------------------           |
   | Key ID         | 16        | Indicates the index number of the    |
   |                |           | shared secret to be used for         |
   |                |           | authenticating the Control-Request   |
   |                |           | message.                             |
   | ---------      | --------- | --------------------------           |
   | Random Number  | 128       | This field is to be unique over the  |
   |                |           | shared-secret life and is used to    |
   |                |           | make it difficult to predict the     |
   |                |           | shared secret via multiple packet    |
   |                |           | captures.  The value is reflected in |
   |                |           | a response message.  This field MAY  |
   |                |           | be used when security is of concern  |
   |                |           | and is useful to prevent dictionary  |
   |                |           | attacks.  When not being used, it    |
   |                |           | should be set to all 0's             |
   | ---------      | --------- | --------------------------           |
   | Message        | 256       | Contains the message authentication  |
   | Authentication |           | digest and is computed over the      |
   | Digest         |           | entire control packet, including this|
   |                |           | field set to all 0s.                 |
   +----------------+-----------+--------------------------------------+
        
3.1.1.2.2. UDP-Measurement CSLD
3.1.1.2.2. UDP测量

The UDP-Measurement CSLD indicates the Measurement-Type to be used during the Measurement Phase and specifies the addresses and UDP port to be opened as well as the duration that the port has to be kept open for the Measurement Phase. The format of the CSLD is as follows:

UDP测量CSLD指示测量阶段要使用的测量类型,并指定要打开的地址和UDP端口,以及测量阶段端口必须保持打开的持续时间。CSLD的格式如下:

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Command = 2         |            Status             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       Command-Length                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Address Type  |     Role      |          Reserved             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       Session Identifier                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                  Control Source Address                       |
      +                                                               +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                  Control Destination Address                  |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                  Measurement Source Address                   |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Command = 2         |            Status             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       Command-Length                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Address Type  |     Role      |          Reserved             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       Session Identifier                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                  Control Source Address                       |
      +                                                               +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                  Control Destination Address                  |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                  Measurement Source Address                   |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                  Measurement Destination Address              |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Control Source Port          |          Reserved             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Measurement Source Port      | Measurement Destination Port  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Duration                              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                  Measurement Destination Address              |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Control Source Port          |          Reserved             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Measurement Source Port      | Measurement Destination Port  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Duration                              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Note: Duration is specified in milliseconds.

注意:持续时间以毫秒为单位指定。

The fields in the UDP-Measurement CSLD have the following meaning:

UDP测量CSLD中的字段具有以下含义:

   +-------------+-----------+-----------------------------------------+
   | Field       | Size      | Description                             |
   |             | (bits)    |                                         |
   +-------------+-----------+-----------------------------------------+
   | Command     | 16        | Indicates that the CSLD is to simulate  |
   |             |           | UDP traffic measurements.               |
   | ---------   | --------- | --------------------------              |
   | Status      | 16        | Not used for a request and MUST be set  |
   |             |           | to 0.                                   |
   | ---------   | --------- | --------------------------              |
   | Command-    | 32        | Indicates the length of the CSLD in     |
   | Length      |           | octets.                                 |
   | ---------   | --------- | --------------------------              |
   | Address     | 8         | Indicates the address type and is set to|
   | Type        |           | one of the values in the "Cisco SLA     |
   |             |           | Protocol Address Family Registry":      |
   |             |           | 2 - IPv4 addresses, 3 - IPv6 addresses. |
   | ---------   | --------- | --------------------------              |
   | Role        | 8         | Indicates the role of the endpoint      |
   |             |           | receiving the Control message and is    |
   |             |           | set as follows: 1 - Responder.          |
   | ---------   | --------- | --------------------------              |
   | Reserved    | 16        | Reserved and MUST be set to 0.          |
   | ---------   | --------- | --------------------------              |
        
   +-------------+-----------+-----------------------------------------+
   | Field       | Size      | Description                             |
   |             | (bits)    |                                         |
   +-------------+-----------+-----------------------------------------+
   | Command     | 16        | Indicates that the CSLD is to simulate  |
   |             |           | UDP traffic measurements.               |
   | ---------   | --------- | --------------------------              |
   | Status      | 16        | Not used for a request and MUST be set  |
   |             |           | to 0.                                   |
   | ---------   | --------- | --------------------------              |
   | Command-    | 32        | Indicates the length of the CSLD in     |
   | Length      |           | octets.                                 |
   | ---------   | --------- | --------------------------              |
   | Address     | 8         | Indicates the address type and is set to|
   | Type        |           | one of the values in the "Cisco SLA     |
   |             |           | Protocol Address Family Registry":      |
   |             |           | 2 - IPv4 addresses, 3 - IPv6 addresses. |
   | ---------   | --------- | --------------------------              |
   | Role        | 8         | Indicates the role of the endpoint      |
   |             |           | receiving the Control message and is    |
   |             |           | set as follows: 1 - Responder.          |
   | ---------   | --------- | --------------------------              |
   | Reserved    | 16        | Reserved and MUST be set to 0.          |
   | ---------   | --------- | --------------------------              |
        
   | ---------   | --------- | --------------------------              |
   | Session     | 32        | Carries a session identifier that is a  |
   | Identifier  |           | locally significant unique value to the |
   |             |           | originator of the message.  MUST be 0   |
   |             |           | when not specified.                     |
   | ---------   | --------- | --------------------------              |
   | Control     | 128       | Set to the address from which the       |
   | Source      |           | Sender initiates Control messages.  For |
   | Address     |           | IPv4 addresses, only the first 32 bits  |
   |             |           | are filled and the remaining bits MUST  |
   |             |           | be set to 0.                            |
   | ---------   | --------- | --------------------------              |
   | Control     | 128       | Set to the address on the Responder     |
   | Destination |           | where the Control message will be sent. |
   | Address     |           | For IPv4 addresses, only the first 32   |
   |             |           | bits are filled and the remaining bits  |
   |             |           | MUST be set to 0.                       |
   | ---------   | --------- | --------------------------              |
   | Measurement | 128       | Set to the address of the Sender from   |
   | Source      |           | where the measurement packets will      |
   | Address     |           | originate.  For IPv4 addresses, only the|
   |             |           | first 32 bits are filled and the        |
   |             |           | remaining bits MUST be set to 0.        |
   | ---------   | --------- | --------------------------              |
   | Measurement | 128       | Set to the address on the Responder     |
   | Destination |           | towards which the measurement packets   |
   | Address     |           | will be sent and is a way to identify   |
   |             |           | an ingress interface on the Responder.  |
   |             |           | For IPv4 addresses, only the first 32   |
   |             |           | bits are filled and the remaining bits  |
   |             |           | MUST be set to 0.                       |
   | ---------   | --------- | --------------------------              |
   | Control     | 16        | Indicates the port on the Sender from   |
   | Source Port |           | which the Control message is sent.  If  |
   |             |           | not set, the value should be derived    |
   |             |           | from the incoming packet.               |
   | ---------   | --------- | --------------------------              |
   | Reserved    | 16        | Reserved Field, MUST be set to 0.       |
   | ---------   | --------- | --------------------------              |
   | Measurement | 16        | Indicates the UDP Port on the Sender    |
   | Source Port |           | from which the measurement packets will |
   |             |           | be sent.                                |
   | ---------   | --------- | --------------------------              |
   | Measurement | 16        | Indicates the UDP Port on the Responder |
   | Destination |           | towards which the measurement packets   |
   | Port        |           | will be sent.                           |
   | ---------   | --------- | --------------------------              |
        
   | ---------   | --------- | --------------------------              |
   | Session     | 32        | Carries a session identifier that is a  |
   | Identifier  |           | locally significant unique value to the |
   |             |           | originator of the message.  MUST be 0   |
   |             |           | when not specified.                     |
   | ---------   | --------- | --------------------------              |
   | Control     | 128       | Set to the address from which the       |
   | Source      |           | Sender initiates Control messages.  For |
   | Address     |           | IPv4 addresses, only the first 32 bits  |
   |             |           | are filled and the remaining bits MUST  |
   |             |           | be set to 0.                            |
   | ---------   | --------- | --------------------------              |
   | Control     | 128       | Set to the address on the Responder     |
   | Destination |           | where the Control message will be sent. |
   | Address     |           | For IPv4 addresses, only the first 32   |
   |             |           | bits are filled and the remaining bits  |
   |             |           | MUST be set to 0.                       |
   | ---------   | --------- | --------------------------              |
   | Measurement | 128       | Set to the address of the Sender from   |
   | Source      |           | where the measurement packets will      |
   | Address     |           | originate.  For IPv4 addresses, only the|
   |             |           | first 32 bits are filled and the        |
   |             |           | remaining bits MUST be set to 0.        |
   | ---------   | --------- | --------------------------              |
   | Measurement | 128       | Set to the address on the Responder     |
   | Destination |           | towards which the measurement packets   |
   | Address     |           | will be sent and is a way to identify   |
   |             |           | an ingress interface on the Responder.  |
   |             |           | For IPv4 addresses, only the first 32   |
   |             |           | bits are filled and the remaining bits  |
   |             |           | MUST be set to 0.                       |
   | ---------   | --------- | --------------------------              |
   | Control     | 16        | Indicates the port on the Sender from   |
   | Source Port |           | which the Control message is sent.  If  |
   |             |           | not set, the value should be derived    |
   |             |           | from the incoming packet.               |
   | ---------   | --------- | --------------------------              |
   | Reserved    | 16        | Reserved Field, MUST be set to 0.       |
   | ---------   | --------- | --------------------------              |
   | Measurement | 16        | Indicates the UDP Port on the Sender    |
   | Source Port |           | from which the measurement packets will |
   |             |           | be sent.                                |
   | ---------   | --------- | --------------------------              |
   | Measurement | 16        | Indicates the UDP Port on the Responder |
   | Destination |           | towards which the measurement packets   |
   | Port        |           | will be sent.                           |
   | ---------   | --------- | --------------------------              |
        
   | ---------   | --------- | --------------------------              |
   | Duration    | 32        | This is the duration in milliseconds    |
   |             |           | that the port needs to be kept open for |
   |             |           | accepting Measurement Phase messages.   |
   |             |           | Measurement messages received after the |
   |             |           | duration MUST be ignored.               |
   +-------------+-----------+-----------------------------------------+
        
   | ---------   | --------- | --------------------------              |
   | Duration    | 32        | This is the duration in milliseconds    |
   |             |           | that the port needs to be kept open for |
   |             |           | accepting Measurement Phase messages.   |
   |             |           | Measurement messages received after the |
   |             |           | duration MUST be ignored.               |
   +-------------+-----------+-----------------------------------------+
        

Note: The source addresses are only indicative of identity of the originator and cannot be used as a destination address for responses in a NAT environment.

注意:源地址仅表示发起者的身份,不能用作NAT环境中响应的目标地址。

3.1.2. Control-Response Message
3.1.2. 控制响应消息

In response to the Control-Request message, the network element designated the Responder sends back a Control-Response message that reflects the Command-Header with an updated Status field and includes the two CSLD sections that also carry updated Status fields. Hence, the format is identical to the Control-Request message as described above.

作为对控制请求消息的响应,指定响应者的网元发回控制响应消息,该消息反映了带有更新状态字段的命令头,并包括两个也带有更新状态字段的CSLD部分。因此,格式与如上所述的控制请求消息相同。

The following table shows the supported values of the Status fields:

下表显示了支持的状态字段值:

   +-----------+-------------------------------------------------------+
   | Status    | Description                                           |
   | Value     |                                                       |
   +-----------+-------------------------------------------------------+
   | 0         | Success                                               |
   | --------- | --------------------------                            |
   | 1         | Fail - catch all                                      |
   | --------- | --------------------------                            |
   | 2         | Authentication Failure                                |
   | --------- | --------------------------                            |
   | 3         | Format error - sent when any CSLD type is not         |
   |           | recognized or any part of a CSLD has a value that is  |
   |           | not recognized                                        |
   | --------- | --------------------------                            |
   | 4         | Port in use - the UDP/TCP port is already being used  |
   |           | by some other application and cannot be reserved      |
   | --------- | --------------------------                            |
   | 5+        | Future extension and experimental values; refer to    |
   |           | the "Cisco SLA Protocol Status Types Registry" in the |
   |           | Considerations section (Section 6).                   |
   +-----------+-------------------------------------------------------+
        
   +-----------+-------------------------------------------------------+
   | Status    | Description                                           |
   | Value     |                                                       |
   +-----------+-------------------------------------------------------+
   | 0         | Success                                               |
   | --------- | --------------------------                            |
   | 1         | Fail - catch all                                      |
   | --------- | --------------------------                            |
   | 2         | Authentication Failure                                |
   | --------- | --------------------------                            |
   | 3         | Format error - sent when any CSLD type is not         |
   |           | recognized or any part of a CSLD has a value that is  |
   |           | not recognized                                        |
   | --------- | --------------------------                            |
   | 4         | Port in use - the UDP/TCP port is already being used  |
   |           | by some other application and cannot be reserved      |
   | --------- | --------------------------                            |
   | 5+        | Future extension and experimental values; refer to    |
   |           | the "Cisco SLA Protocol Status Types Registry" in the |
   |           | Considerations section (Section 6).                   |
   +-----------+-------------------------------------------------------+
        

The Status field values are applicable to both Command-Header and CSLD sections. In a Command-Header, the Status field indicates Success only if all the CSLD sections have their Status set to

状态字段值适用于命令头和CSLD部分。在命令头中,仅当所有CSLD节的状态都设置为时,“状态”字段才指示成功

Success. The Command-Header Status field is set to non-zero otherwise. The Status field in a Command-Header SHOULD only make use of status values 0 through 3, whereas CSLDs can also make use of other status values as applicable. Future extensions MAY extend these values as appropriate.

成功否则,命令标题状态字段设置为非零。命令头中的状态字段应仅使用状态值0到3,而CSLD也可以使用其他状态值(如适用)。将来的扩展可能会酌情扩展这些值。

The Control-Response message, aside from updating the Status fields, SHOULD also update the Sent Timestamp (if used) in the Command-Header and the Message Authentication Digest in the Authentication CSLD. The Message Authentication Digest is computed in the same way as the Control-Request message. The Random Number field MUST be reflected without modification. The Session Identifier MAY be updated to reflect a locally significant unique value; it MUST be 0 if not specified.

除了更新状态字段外,控制响应消息还应更新命令头中发送的时间戳(如果使用)和身份验证CSLD中的消息身份验证摘要。消息身份验证摘要的计算方式与控制请求消息相同。随机数字段必须在不修改的情况下反映出来。会话标识符可被更新以反映本地显著的唯一值;如果未指定,则必须为0。

3.2. Measurement Phase
3.2. 测量阶段

Upon receiving the Control-Response message with the Status set to Success, the second phase of the protocol, the Measurement Phase, is initiated. In all other cases when the Status is not set to Success, no measurement traffic is initiated. In the Measurement Phase, the Sender sends a stream of measurement messages. The measurement message stream consists of packets or frames that are spaced a configured number of milliseconds apart.

当接收到状态设置为成功的控制响应消息时,协议的第二阶段,即测量阶段,被启动。在所有其他情况下,当状态未设置为成功时,不会启动测量流量。在测量阶段,发送方发送测量消息流。测量消息流由间隔配置的毫秒数的数据包或帧组成。

      +-+-+-+-+-+-+-+      Measurement-Request(n)    +-+-+-+-+-+-+-+
      |             |------------------------------->|             |
      |    Sender   |                                |  Responder  |
      |             |      Measurement-Response(n)   |             |
      |             |<-------------------------------|             |
      +-+-+-+-+-+-+-+                                +-+-+-+-+-+-+-+
        
      +-+-+-+-+-+-+-+      Measurement-Request(n)    +-+-+-+-+-+-+-+
      |             |------------------------------->|             |
      |    Sender   |                                |  Responder  |
      |             |      Measurement-Response(n)   |             |
      |             |<-------------------------------|             |
      +-+-+-+-+-+-+-+                                +-+-+-+-+-+-+-+
        

The format of the measurement messages as defined by this document for UDP-Measurements is as shown below and is the same for the exchange in both directions. That is, the format is the same when sent from the Sender to the Responder and when sent back from the Responder to the Sender with the only difference being the update of those fields that are designated with the Responder prefix; all other fields MUST remain unchanged.

本文档为UDP测量定义的测量消息格式如下所示,并且在两个方向上的交换都是相同的。也就是说,当从发送方发送到响应方和从响应方发送回发送方时,格式相同,唯一的区别是用响应方前缀指定的那些字段的更新;所有其他字段必须保持不变。

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Measurement-Type = 3        |         Reserved              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Sender Send Time                           |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Responder Receive Time                     |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Responder Send Time                        |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Sender Receive Time                        |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Sender Clock Offset                        |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Responder Clock Offset                     |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Sender Sequence No.                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Responder Sequence No.                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      .                                                               .
      .                          Data                                 .
      .                                                               .
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Measurement-Type = 3        |         Reserved              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Sender Send Time                           |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Responder Receive Time                     |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Responder Send Time                        |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Sender Receive Time                        |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Sender Clock Offset                        |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Responder Clock Offset                     |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Sender Sequence No.                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Responder Sequence No.                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      .                                                               .
      .                          Data                                 .
      .                                                               .
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The fields for the UDP-Measurement Measurement-Request have the following meaning:

UDP测量请求的字段具有以下含义:

   +-------------+-----------+-----------------------------------------+
   | Field       | Size      | Description                             |
   |             | (bits)    |                                         |
   +-------------+-----------+-----------------------------------------+
   | Measurement-| 16        | Carries the type of measurement being   |
   | Type        |           | performed; 1 - Reserved, 2 - Reserved,  |
   |             |           | 3 - UDP-Measurement                     |
   | ---------   | --------- | --------------------------              |
   | Reserved    | 16        | Reserved field and MUST be set to 0.    |
   | ---------   | --------- | --------------------------              |
   | Sender Send | 64        | Carries the timestamp when the          |
   | Time        |           | measurement message was submitted for   |
   |             |           | transmission by the Sender.             |
   | ---------   | --------- | --------------------------              |
   | Responder   | 64        | Carries the timestamp when the          |
   | Receive     |           | measurement message was received by     |
   | Time        |           | the Responder.                          |
   | ---------   | --------- | --------------------------              |
   | Responder   | 64        | Carries the timestamp when the          |
   | Send Time   |           | measurement message was submitted for   |
   |             |           | transmission by the Responder.  It MUST |
   |             |           | be 0 in the Sender-to-Responder         |
   |             |           | direction.                              |
   | ---------   | --------- | --------------------------              |
   | Sender      | 64        | Carries the timestamp when the Sender   |
   | Receive     |           | received the measurement message.  It   |
   | Time        |           | MUST be 0 in both directions on the     |
   |             |           | wire and is filled on the Sender side   |
   |             |           | as soon as the measurement message is   |
   |             |           | received.                               |
   | ---------   | --------- | --------------------------              |
   | Sender      | 64        | Gives an estimate of the Sender clock   |
   | Clock       |           | skew measured in seconds and fractional |
   | Offset      |           | seconds.                                |
   | ---------   | --------- | --------------------------              |
   | Responder   | 64        | Gives an estimate of the Responder      |
   | Clock       |           | clock skew measured in seconds and      |
   | Offset      |           | fractional seconds.                     |
   | ---------   | --------- | --------------------------              |
   | Sender      | 32        | The sequence number of the measurement  |
   | Sequence    |           | message on the Sender side.  This field |
   | Number      |           | is monotonically increasing and MAY     |
   |             |           | wrap around.                            |
   | ---------   | --------- | --------------------------              |
        
   +-------------+-----------+-----------------------------------------+
   | Field       | Size      | Description                             |
   |             | (bits)    |                                         |
   +-------------+-----------+-----------------------------------------+
   | Measurement-| 16        | Carries the type of measurement being   |
   | Type        |           | performed; 1 - Reserved, 2 - Reserved,  |
   |             |           | 3 - UDP-Measurement                     |
   | ---------   | --------- | --------------------------              |
   | Reserved    | 16        | Reserved field and MUST be set to 0.    |
   | ---------   | --------- | --------------------------              |
   | Sender Send | 64        | Carries the timestamp when the          |
   | Time        |           | measurement message was submitted for   |
   |             |           | transmission by the Sender.             |
   | ---------   | --------- | --------------------------              |
   | Responder   | 64        | Carries the timestamp when the          |
   | Receive     |           | measurement message was received by     |
   | Time        |           | the Responder.                          |
   | ---------   | --------- | --------------------------              |
   | Responder   | 64        | Carries the timestamp when the          |
   | Send Time   |           | measurement message was submitted for   |
   |             |           | transmission by the Responder.  It MUST |
   |             |           | be 0 in the Sender-to-Responder         |
   |             |           | direction.                              |
   | ---------   | --------- | --------------------------              |
   | Sender      | 64        | Carries the timestamp when the Sender   |
   | Receive     |           | received the measurement message.  It   |
   | Time        |           | MUST be 0 in both directions on the     |
   |             |           | wire and is filled on the Sender side   |
   |             |           | as soon as the measurement message is   |
   |             |           | received.                               |
   | ---------   | --------- | --------------------------              |
   | Sender      | 64        | Gives an estimate of the Sender clock   |
   | Clock       |           | skew measured in seconds and fractional |
   | Offset      |           | seconds.                                |
   | ---------   | --------- | --------------------------              |
   | Responder   | 64        | Gives an estimate of the Responder      |
   | Clock       |           | clock skew measured in seconds and      |
   | Offset      |           | fractional seconds.                     |
   | ---------   | --------- | --------------------------              |
   | Sender      | 32        | The sequence number of the measurement  |
   | Sequence    |           | message on the Sender side.  This field |
   | Number      |           | is monotonically increasing and MAY     |
   |             |           | wrap around.                            |
   | ---------   | --------- | --------------------------              |
        
   | ---------   | --------- | --------------------------              |
   | Responder   | 32        | The sequence number of the measurement  |
   | Sequence    |           | message on the Responder side.  This    |
   | Number      |           | field is monotonically increasing and   |
   |             |           | MAY wrap around.                        |
   | ---------   | --------- | --------------------------              |
   | Data        | 32 bit    | This field is used to pad up to the     |
   |             | aligned   | configured request data size.  The      |
   |             |           | minimum size for this field SHOULD be   |
   |             |           | 64 octets.                              |
   +-------------+-----------+-----------------------------------------+
        
   | ---------   | --------- | --------------------------              |
   | Responder   | 32        | The sequence number of the measurement  |
   | Sequence    |           | message on the Responder side.  This    |
   | Number      |           | field is monotonically increasing and   |
   |             |           | MAY wrap around.                        |
   | ---------   | --------- | --------------------------              |
   | Data        | 32 bit    | This field is used to pad up to the     |
   |             | aligned   | configured request data size.  The      |
   |             |           | minimum size for this field SHOULD be   |
   |             |           | 64 octets.                              |
   +-------------+-----------+-----------------------------------------+
        

Note: All timestamps have the default format as described in RFC 5905 [RFC5905] and is as follows: the first 32 bits represent the unsigned integer number of seconds elapsed since 0 h on 1 January 1900; the next 32 bits represent the fractional part of a second thereof. The timestamp definition is also similar to that described in RFC 4656 [RFC4656].

注:所有时间戳均采用RFC 5905[RFC5905]中所述的默认格式,如下所示:前32位表示自1900年1月1日0小时起经过的无符号整数秒数;接下来的32位表示第二位的小数部分。时间戳定义也类似于RFC 4656[RFC4656]中描述的定义。

In addition, the timestamp format used can be as described for the low-order 64 bits of the IEEE 1588-2008 (1588v2) Precision Time Protocol timestamp format [IEEE1588]. This truncated format consists of a 32-bit seconds field followed by a 32-bit nanoseconds field, and is the same as the IEEE 1588v1 timestamp format. This timestamp definition is similar to the default timestamp specified in RFC 6374 [RFC6374]

此外,所使用的时间戳格式可如IEEE 1588-2008(1588v2)精密时间协议时间戳格式[IEEE1588]的低阶64位所述。此截断格式由32位秒字段和32位纳秒字段组成,与IEEE 1588v1时间戳格式相同。此时间戳定义类似于RFC 6374[RFC6374]中指定的默认时间戳

Implementations MUST use only one of the two formats. The chosen format is negotiated out-of-band between the endpoints or defaults to the format as defined in RFC 5905. [RFC5905]

实现只能使用这两种格式中的一种。所选格式在端点之间进行带外协商,或默认为RFC 5905中定义的格式。[RFC5905]

4. Implementation Notes
4. 实施说明

Responder implementations SHOULD support simultaneous measurements destined to a single port either from the same or a different Sender. For different measurement instances that originate from the same Sender, there MUST be a clear method for the Responder to distinguish the traffic, for example, per a unique 5-tuple of protocol, source address, source port, destination address, and destination port.

响应器实现应支持从同一个或不同的发送器发送到单个端口的同时测量。对于源自同一发送方的不同测量实例,响应方必须有明确的方法来区分流量,例如,根据协议、源地址、源端口、目标地址和目标端口的唯一5元组。

A Control-Request that is received for the same Measurement-Type request as identified by the 5-tuples, for instance, SHOULD result in the resetting of the duration timer as well as the Responder sequence number.

例如,为5元组标识的相同测量类型请求接收的控制请求应导致重置持续时间计时器以及响应程序序列号。

A Control Phase followed by the Measurement Phase can be repeated in order to have a continuous measurement over the entire lifetime of a device.

可以重复控制阶段和测量阶段,以便在设备的整个寿命期内进行连续测量。

The Authentication CSLD MUST always be included. The Random Number field is used to prevent dictionary attacks and is to be set to a random value in environments where security is a concern.

必须始终包括身份验证CSLD。“随机数”字段用于防止字典攻击,并在涉及安全性的环境中设置为随机值。

An implementation MUST include the Random Number and Message Authentication fields when the mode is non-zero. The fields MAY be included when the mode is set to 'No Authentication'; when present, they MUST be set to 0. For the SHA256 authenticator mode, the shared secret is prepended to the Control message and the authentication algorithm is then run over the complete data including the shared secret. The SHA256 mode is included for ease of implementation, and use of the HMAC variant is strongly recommended for stronger security.

当模式为非零时,实现必须包括随机数和消息身份验证字段。当模式设置为“无身份验证”时,可包括字段;存在时,它们必须设置为0。对于SHA256身份验证程序模式,将共享密钥添加到控制消息之前,然后在包含共享密钥的完整数据上运行身份验证算法。包括SHA256模式以便于实现,强烈建议使用HMAC变体以增强安全性。

If the UDP port indicated in the UDP-Measurement CSLD is busy, the Responder MAY suggest an alternative port, in which case the Status of the UDP-Measurement CSLD MUST be set to Success. The Sender MAY set a value of 0 in the field, in which case the Responder MAY choose to open a port and send that back along with the Status set to Success. It should be noted that this behavior has security ramifications and the port needs to be chosen very carefully by the Responder.

如果UDP测量CSLD中指示的UDP端口正忙,响应者可能会建议另一个端口,在这种情况下,UDP测量CSLD的状态必须设置为成功。发送方可以在字段中设置值0,在这种情况下,响应方可以选择打开一个端口,并将其与设置为成功的状态一起发送回。应该注意的是,这种行为具有安全性影响,响应者需要非常仔细地选择端口。

The measurement stream typically consists of packets or frames with a periodic inter-packet distribution. The Sender need not wait for a Measurement-Response packet to arrive before sending another Measurement-Request packet; in many cases, it will not be possible to wait in order to maintain the desired inter-packet distribution.

测量流通常由具有周期性分组间分布的分组或帧组成。发送方在发送另一个测量请求包之前不需要等待测量响应包到达;在许多情况下,不可能等待以维持所需的包间分布。

The default format for all timestamps is as specified in RFC 5905 [RFC5905].

所有时间戳的默认格式如RFC 5905[RFC5905]所述。

All messages and fields within a message are assumed to be in network order. In addition, all data fields are unsigned unless mentioned otherwise.

假定消息中的所有消息和字段都是按网络顺序排列的。此外,除非另有说明,否则所有数据字段都是无符号的。

5. Extensions
5. 扩展

This section describes how the protocol can be extended to allow for additional functionality, such as new types of measurements.

本节介绍如何扩展协议以允许附加功能,例如新的测量类型。

In order to allow for new types of measurements, additional Measurement-Type CSLDs can be defined to be carried within the Control-Request and Control-Response messages in place of the UDP-Measurement CSLD defined in this document. The meaning and precise format of such a CSLD needs to be defined in a separate specification. Such a specification will also need to describe the appropriate formats for the messages in the Measurement Phase.

为了允许新的测量类型,可以在控制请求和控制响应消息中定义额外的测量类型CSLD,以代替本文档中定义的UDP测量CSLD。此类CSLD的含义和精确格式需要在单独的规范中定义。这种规范还需要描述测量阶段消息的适当格式。

In addition, the protocol can be extended by adding support for new values to registries defined in this document.

此外,可以通过向本文档中定义的注册表添加对新值的支持来扩展该协议。

6. IANA Considerations
6. IANA考虑

The registries defined below are needed for the extensibility of the protocol. In the registries, the terms 'Private Use' and 'Experimental Use' have the same meaning as described in RFC 5226 [RFC5226].

协议的可扩展性需要下面定义的注册表。在登记册中,“私人使用”和“实验使用”的含义与RFC 5226[RFC5226]中所述的含义相同。

Furthermore, for the following registries, the ranges designated "Unassigned" are governed by the policy 'RFC Required' as described in RFC 5226 [RFC5226].

此外,对于以下注册表,指定为“未分配”的范围受RFC 5226[RFC5226]中所述的“需要RFC”策略的管辖。

Cisco SLA Protocol Version Number Registry

Cisco SLA协议版本号注册表

            +-----------+------------------------+
            | Version   | Description            |
            +-----------+------------------------+
            | 0         | Reserved               |
            | 1         | Reserved               |
            | 2         | Version 2              |
            | 3 - 200   | Unassigned             |
            | 201 - 225 | Private Use            |
            | 226 - 255 | Experimental Use       |
            +-----------+------------------------+
        
            +-----------+------------------------+
            | Version   | Description            |
            +-----------+------------------------+
            | 0         | Reserved               |
            | 1         | Reserved               |
            | 2         | Version 2              |
            | 3 - 200   | Unassigned             |
            | 201 - 225 | Private Use            |
            | 226 - 255 | Experimental Use       |
            +-----------+------------------------+
        

The version number should be changed only when the structure of the Command messages is different from the basic Command-Header and CSLD structure described in this document.

只有当命令消息的结构与本文档中描述的基本命令头和CSLD结构不同时,才应更改版本号。

Cisco SLA Protocol CSLD Command Registry

Cisco SLA协议CSLD命令注册表

          +---------------+--------------------------+
          | CSLD Type     | Description              |
          +---------------+--------------------------+
          | 0             | Reserved                 |
          | 1             | Authentication CSLD      |
          | 2             | UDP-Measurement          |
          | 3 - 52        | Reserved                 |
          | 53 - 10239    | Unassigned               |
          | 10240 - 20479 | Private Use              |
          | 20480 - 65535 | Experimental Use         |
          +---------------+--------------------------+
        
          +---------------+--------------------------+
          | CSLD Type     | Description              |
          +---------------+--------------------------+
          | 0             | Reserved                 |
          | 1             | Authentication CSLD      |
          | 2             | UDP-Measurement          |
          | 3 - 52        | Reserved                 |
          | 53 - 10239    | Unassigned               |
          | 10240 - 20479 | Private Use              |
          | 20480 - 65535 | Experimental Use         |
          +---------------+--------------------------+
        

It is envisioned that future documents will provide their own Measurement-Type number and format of the Data portion.

预计未来的文档将提供自己的测量类型、数据部分的编号和格式。

Cisco SLA Protocol Authenticator Modes Registry

Cisco SLA协议验证器模式注册表

            +-----------+--------------------------+
            | Mode      | Description              |
            +-----------+--------------------------+
            | 0         | No Authentication        |
            | 1         | SHA256                   |
            | 2         | HMAC-SHA-256             |
            | 3 - 200   | Unassigned               |
            | 201 - 225 | Private Use              |
            | 226 - 255 | Experimental Use         |
            +-----------+--------------------------+
        
            +-----------+--------------------------+
            | Mode      | Description              |
            +-----------+--------------------------+
            | 0         | No Authentication        |
            | 1         | SHA256                   |
            | 2         | HMAC-SHA-256             |
            | 3 - 200   | Unassigned               |
            | 201 - 225 | Private Use              |
            | 226 - 255 | Experimental Use         |
            +-----------+--------------------------+
        

Cisco SLA Protocol Roles Registry

Cisco SLA协议角色注册表

            +-----------+--------------------------+
            | Role      | Description              |
            +-----------+--------------------------+
            | 0         | Reserved                 |
            | 1         | Sender                   |
            | 2         | Responder                |
            | 3 - 200   | Unassigned               |
            | 201 - 225 | Private Use              |
            | 226 - 255 | Experimental Use         |
            +-----------+--------------------------+
        
            +-----------+--------------------------+
            | Role      | Description              |
            +-----------+--------------------------+
            | 0         | Reserved                 |
            | 1         | Sender                   |
            | 2         | Responder                |
            | 3 - 200   | Unassigned               |
            | 201 - 225 | Private Use              |
            | 226 - 255 | Experimental Use         |
            +-----------+--------------------------+
        

Cisco SLA Protocol Measurement Type Registry

Cisco SLA协议测量类型注册表

         +------------------+------------------------+
         | Measurement Type | Description            |
         +------------------+------------------------+
         | 0                | Reserved               |
         | 1                | Reserved               |
         | 2                | Reserved               |
         | 3                | UDP                    |
         | 4 - 52           | Reserved               |
         | 53-10239         | Unassigned             |
         | 10240 - 20479    | Private Use            |
         | 20480 - 65535    | Experimental Use       |
         +------------------+------------------------+
        
         +------------------+------------------------+
         | Measurement Type | Description            |
         +------------------+------------------------+
         | 0                | Reserved               |
         | 1                | Reserved               |
         | 2                | Reserved               |
         | 3                | UDP                    |
         | 4 - 52           | Reserved               |
         | 53-10239         | Unassigned             |
         | 10240 - 20479    | Private Use            |
         | 20480 - 65535    | Experimental Use       |
         +------------------+------------------------+
        

The following registry is also needed for the extensibility of the protocol. However, the range designated "Unassigned" is governed by the policy 'First Come First Served' as described in RFC 5226 [RFC5226].

为了协议的可扩展性,还需要以下注册表。但是,指定为“未分配”的范围受RFC 5226[RFC5226]中所述的“先到先得”政策管辖。

Cisco SLA Protocol Status Types Registry

Cisco SLA协议状态类型注册表

   +-----------+-------------------------------------------------------+
   | Status    | Description                                           |
   +-----------+-------------------------------------------------------+
   | 0         | Success                                               |
   | --------- | --------------------------                            |
   | 1         | Fail - catch all                                      |
   | --------- | --------------------------                            |
   | 2         | Authentication failure                                |
   | --------- | --------------------------                            |
   | 3         | Format error - sent when any CSLD type is not         |
   |           | recognized or any part of a CSLD has a value that is  |
   |           | not recognized                                        |
   | --------- | --------------------------                            |
   | 4         | Port in use - the UDP/TCP port is already being used  |
   |           | by some other application and cannot be reserved      |
   | --------- | --------------------------                            |
   | 5 - 40959 | Unassigned                                            |
   | --------- | --------------------------                            |
   | 40960 -   | Experimental Use                                      |
   | 65535     |                                                       |
   +-----------+-------------------------------------------------------+
        
   +-----------+-------------------------------------------------------+
   | Status    | Description                                           |
   +-----------+-------------------------------------------------------+
   | 0         | Success                                               |
   | --------- | --------------------------                            |
   | 1         | Fail - catch all                                      |
   | --------- | --------------------------                            |
   | 2         | Authentication failure                                |
   | --------- | --------------------------                            |
   | 3         | Format error - sent when any CSLD type is not         |
   |           | recognized or any part of a CSLD has a value that is  |
   |           | not recognized                                        |
   | --------- | --------------------------                            |
   | 4         | Port in use - the UDP/TCP port is already being used  |
   |           | by some other application and cannot be reserved      |
   | --------- | --------------------------                            |
   | 5 - 40959 | Unassigned                                            |
   | --------- | --------------------------                            |
   | 40960 -   | Experimental Use                                      |
   | 65535     |                                                       |
   +-----------+-------------------------------------------------------+
        

Finally, the following registry is also needed for the extensibility of the protocol. However, the range designated "Unassigned" is governed by the policy 'Specification Required' as described in RFC 5226 [RFC5226].

最后,协议的可扩展性还需要以下注册表。但是,指定为“未分配”的范围受RFC 5226[RFC5226]中所述的“所需规范”政策管辖。

Cisco SLA Protocol Address Family Registry

Cisco SLA协议地址系列注册表

            +--------------+------------------------+
            | Address Type | Description            |
            +--------------+------------------------+
            | 0            | Reserved               |
            | 1            | Reserved               |
            | 2            | IPv4                   |
            | 3            | IPv6                   |
            | 4 - 200      | Unassigned             |
            | 201 - 225    | Private Use            |
            | 226 - 255    | Experimental Use       |
            +--------------+------------------------+
        
            +--------------+------------------------+
            | Address Type | Description            |
            +--------------+------------------------+
            | 0            | Reserved               |
            | 1            | Reserved               |
            | 2            | IPv4                   |
            | 3            | IPv6                   |
            | 4 - 200      | Unassigned             |
            | 201 - 225    | Private Use            |
            | 226 - 255    | Experimental Use       |
            +--------------+------------------------+
        
7. Security Considerations
7. 安全考虑
7.1. Message Authentication
7.1. 消息身份验证

When the mode for the Authentication CSLD is set to 1, the Message Authentication Digest is generated using the SHA256 algorithm and is to be calculated over the entire packet including the Message Authentication Digest field, which MUST be set to all 0s.

当身份验证CSLD的模式设置为1时,将使用SHA256算法生成消息身份验证摘要,并将对整个数据包(包括消息身份验证摘要字段)进行计算,该字段必须设置为所有0。

When the mode for the Authentication CSLD is set to 2, the Message Authentication Digest is generated using the HMAC-SHA-256 algorithm as described in RFC 4868 [RFC4868] and is to be calculated over the entire packet including the Message Authentication Digest field, which MUST be set to all 0s.

当认证CSLD的模式设置为2时,使用RFC 4868[RFC4868]中所述的HMAC-SHA-256算法生成消息认证摘要,并在整个数据包上计算,包括消息认证摘要字段,该字段必须设置为所有0。

When the mode field is set to 0, the Random Number and the Message Authentication Digest fields MAY be included; when present, they MUST be set to all 0s.

当模式字段设置为0时,可以包括随机数和消息认证摘要字段;如果存在,则必须将其设置为所有0。

7.2. IPsec Considerations
7.2. IPsec注意事项

It is RECOMMENDED that IPsec be employed to afford better security. IPsec provides enhanced privacy as well as an automated key-distribution mechanism. The recommendations below are similar to those in Section 2 of RFC 3579 [RFC3579].

建议采用IPsec以提供更好的安全性。IPsec提供了增强的隐私和自动密钥分发机制。以下建议与RFC 3579[RFC3579]第2节中的建议类似。

7.2.1. Control Traffic
7.2.1. 控制交通

For Senders implementing this specification, the IPsec policy would be "Initiate IPsec, from me to any, destination port UDP 1167". This causes the Sender to initiate IPsec when sending control traffic to any Responder. If some Responders contacted by the Sender do not support IPsec, then a more granular policy will be required, such as "Initiate IPsec, from me to IPsec-Capable-Responder, destination port UDP 1167".

对于实现此规范的发送方,IPsec策略将是“启动IPsec,从我到任何目标端口UDP 1167”。这会导致发送方在向任何响应方发送控制流量时启动IPsec。如果发送方联系的某些响应程序不支持IPsec,则需要更精细的策略,例如“启动IPsec,从me到支持IPsec的响应程序,目标端口UDP 1167”。

For Responders implementing this specification, the IPsec policy would be "Require IPsec, from any to me, destination port UDP 1167". This causes the Responder to require use of IPsec. If some Sender does not support IPsec, then a more granular policy will be required: "Require IPsec, from IPsec-Capable-Sender to me".

对于实现此规范的响应程序,IPsec策略将是“需要IPsec,从任何到我,目标端口UDP 1167”。这会导致响应程序要求使用IPsec。如果某些发送方不支持IPsec,则需要更精细的策略:“需要IPsec,从支持IPsec的发送方到我”。

7.2.2. Measurement Traffic
7.2.2. 流量测量

As the Control Phase occurs before the Measurement Phase, it should be possible to build an IPsec Security Association once a successful Control-Response is received.

由于控制阶段发生在测量阶段之前,因此在收到成功的控制响应后,应该可以建立IPsec安全关联。

For Senders implementing this specification, the IPsec policy would be "Initiate IPsec, from me to negotiated address, destination is negotiated port". This causes the Sender to initiate IPsec when sending measurement traffic to the Responder. If some Responders contacted by the Sender do not support IPsec, then a more granular policy will be required, such as "Initiate IPsec, from me to IPsec-Capable-Responder, destination is negotiated port".

对于实现此规范的发送方,IPsec策略将是“启动IPsec,从me到协商地址,目标是协商端口”。这会导致发送方在向响应方发送测量流量时启动IPsec。如果发送方联系的某些响应程序不支持IPsec,则需要更精细的策略,例如“启动IPsec,从me到支持IPsec的响应程序,目标是协商端口”。

For Responders implementing this specification, the IPsec policy would be "Require IPsec, from negotiated address to me, destination is negotiated port". This causes the Responder to require use of IPsec. If some Sender does not support IPsec, then a more granular policy will be required: "Require IPsec, from IPsec-Capable-Sender to me, destination is negotiated port".

对于实现此规范的响应者,IPsec策略将是“需要IPsec,从协商地址到me,目标是协商端口”。这会导致响应程序要求使用IPsec。如果某些发送方不支持IPsec,则需要更精细的策略:“需要IPsec,从支持IPsec的发送方到我,目标是协商端口”。

7.3. Replay Protection
7.3. 重播保护

For the Control messages, the originator of the message MAY choose to include a current value in the Sent Timestamp field indicating the time the message was submitted for transmission; otherwise, it MUST be set to 0. The receiver of the message MAY choose to validate it if the timestamp is within an acceptable range. The measurement traffic described in this document contains a timestamp to indicate the sent time and hence no new field is required.

对于控制消息,消息的发起人可以选择在发送的时间戳字段中包括当前值,该值指示消息被提交以进行传输的时间;否则,必须将其设置为0。如果时间戳在可接受范围内,则消息的接收者可以选择对其进行验证。本文档中描述的测量流量包含一个时间戳,用于指示发送时间,因此不需要新字段。

8. Acknowledgements
8. 致谢

The authors wish to acknowledge the contributions of several key people who contributed to the current form of the document: Hanlin Fang, David Wang, Anantha Ramaiah, Max Pritikin, Malini Vijayamohan, and Susan Boyle.

作者希望感谢几位对当前文件形式做出贡献的关键人物的贡献:方汉林、王大卫、阿南塔·拉迈亚、马克斯·普里蒂金、马利尼·维贾亚莫汉和苏珊·博伊尔。

9. References
9. 工具书类
9.1. Normative References
9.1. 规范性引用文件

[IEEE1588] IEEE, "1588-2008 Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems", March 2008.

[IEEE1588]IEEE,“1588-2008网络测量和控制系统精密时钟同步协议标准”,2008年3月。

[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月。

[RFC4868] Kelly, S. and S. Frankel, "Using HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 with IPsec", RFC 4868, May 2007.

[RFC4868]Kelly,S.和S.Frankel,“在IPsec中使用HMAC-SHA-256、HMAC-SHA-384和HMAC-SHA-512”,RFC 4868,2007年5月。

[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.

[RFC5226]Narten,T.和H.Alvestrand,“在RFCs中编写IANA注意事项部分的指南”,BCP 26,RFC 5226,2008年5月。

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

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

9.2. Informative References
9.2. 资料性引用

[RFC3579] Aboba, B. and P. Calhoun, "RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)", RFC 3579, September 2003.

[RFC3579]Aboba,B.和P.Calhoun,“RADIUS(远程认证拨入用户服务)对可扩展认证协议(EAP)的支持”,RFC 3579,2003年9月。

[RFC4656] Shalunov, S., Teitelbaum, B., Karp, A., Boote, J., and M. Zekauskas, "A One-way Active Measurement Protocol (OWAMP)", RFC 4656, September 2006.

[RFC4656]Shalunov,S.,Teitelbaum,B.,Karp,A.,Boote,J.,和M.Zekauskas,“单向主动测量协议(OWAMP)”,RFC 46562006年9月。

[RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", RFC 5357, October 2008.

[RFC5357]Hedayat,K.,Krzanowski,R.,Morton,A.,Yum,K.,和J.Babiarz,“双向主动测量协议(TWAMP)”,RFC 5357,2008年10月。

[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月。

Authors' Addresses

作者地址

Murtaza S. Chiba Cisco Systems 170 West Tasman Drive San Jose, 95134 USA

Murtaza S.Chiba Cisco Systems 170西塔斯曼大道圣何塞,美国95134

Phone: 1-408-526-4000 EMail: mchiba@cisco.com

电话:1-408-526-4000电子邮件:mchiba@cisco.com

Alexander Clemm Cisco Systems 170 West Tasman Drive San Jose, 95134 USA

Alexander Clemm思科系统公司美国圣何塞西塔斯曼大道170号,邮编95134

Phone: 1-408-526-4000 EMail: alex@cisco.com

电话:1-408-526-4000电子邮件:alex@cisco.com

Steven Medley Cisco Systems 170 West Tasman Drive San Jose, 95134 USA

Steven Medley思科系统公司美国圣何塞西塔斯曼大道170号,邮编95134

Phone: 1-408-526-4000 EMail: stmedley@cisco.com

电话:1-408-526-4000电子邮件:stmedley@cisco.com

Joseph Salowey Cisco Systems 170 West Tasman Drive San Jose, 95134 USA

美国圣何塞西塔斯曼大道170号,邮编95134

Phone: 1-408-526-4000 EMail: jsalowey@cisco.com

电话:1-408-526-4000电子邮件:jsalowey@cisco.com

Sudhir Thombare Cisco Systems 170 West Tasman Drive San Jose, 95134 USA

Sudhir Thombare Cisco Systems 170西塔斯曼大道圣何塞,美国95134

Phone: 1-408-526-4000 EMail: thombare@cisco.com

电话:1-408-526-4000电子邮件:thombare@cisco.com

Eshwar Yedavalli Cisco Systems 170 West Tasman Drive San Jose, 95134 USA

Eshwar Yedavalli Cisco Systems 170西塔斯曼大道圣何塞,美国95134

Phone: 1-408-526-4000 EMail: eshwar@cisco.com

电话:1-408-526-4000电子邮件:eshwar@cisco.com