Network Working Group                                    C. Bestler, Ed.
Request for Comments: 5043                                      Neterion
Category: Standards Track                                R. Stewart, Ed.
                                                     Cisco Systems, Inc.
                                                            October 2007
        
Network Working Group                                    C. Bestler, Ed.
Request for Comments: 5043                                      Neterion
Category: Standards Track                                R. Stewart, Ed.
                                                     Cisco Systems, Inc.
                                                            October 2007
        

Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation

流控制传输协议(SCTP)直接数据放置(DDP)自适应

Status of This Memo

关于下段备忘

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。

Abstract

摘要

This document specifies an adaptation layer to provide a Lower Layer Protocol (LLP) service for Direct Data Placement (DDP) using the Stream Control Transmission Protocol (SCTP).

本文档指定了一个适配层,以使用流控制传输协议(SCTP)为直接数据放置(DDP)提供低层协议(LLP)服务。

Table of Contents

目录

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Conventions  . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Motivation . . . . . . . . . . . . . . . . . . . . . . . . . .  5
   4.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
   5.  Data Formats . . . . . . . . . . . . . . . . . . . . . . . . .  5
     5.1.  Adaptation Layer Indicator . . . . . . . . . . . . . . . .  5
     5.2.  Payload Data Chunks  . . . . . . . . . . . . . . . . . . .  6
       5.2.1.  DDP Source Sequence Number (DDP-SSN) . . . . . . . . .  6
       5.2.2.  DDP Segment Chunk  . . . . . . . . . . . . . . . . . .  7
       5.2.3.  DDP Stream Session Control . . . . . . . . . . . . . .  7
   6.  DDP Stream Sessions  . . . . . . . . . . . . . . . . . . . . .  8
     6.1.  Sequencing . . . . . . . . . . . . . . . . . . . . . . . .  9
     6.2.  Legal Sequence: Active/Passive Session Accepted  . . . . .  9
     6.3.  Legal Sequence: Active/Passive Session Rejected  . . . . .  9
     6.4.  Legal Sequence: Active/Passive Session Non-ULP Rejected  . 10
     6.5.  ULP-Specific Sequencing  . . . . . . . . . . . . . . . . . 10
     6.6.  Other Sequencing Rules . . . . . . . . . . . . . . . . . . 10
   7.  SCTP Endpoints . . . . . . . . . . . . . . . . . . . . . . . . 11
     7.1.  Adaptation Layer Indication Restriction  . . . . . . . . . 11
     7.2.  Multihoming Implications . . . . . . . . . . . . . . . . . 11
   8.  Number of Streams  . . . . . . . . . . . . . . . . . . . . . . 12
   9.  Fragmentation  . . . . . . . . . . . . . . . . . . . . . . . . 12
   10. Sequenced Unordered Operation  . . . . . . . . . . . . . . . . 13
   11. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 13
     11.1. Association Initialization . . . . . . . . . . . . . . . . 13
     11.2. Chunk Bundling . . . . . . . . . . . . . . . . . . . . . . 14
     11.3. Association Termination  . . . . . . . . . . . . . . . . . 14
   12. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 15
   13. Security Considerations  . . . . . . . . . . . . . . . . . . . 15
   14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 16
   15. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 16
   16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
     16.1. Normative References . . . . . . . . . . . . . . . . . . . 16
     16.2. Informative References . . . . . . . . . . . . . . . . . . 16
        
   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Conventions  . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Motivation . . . . . . . . . . . . . . . . . . . . . . . . . .  5
   4.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
   5.  Data Formats . . . . . . . . . . . . . . . . . . . . . . . . .  5
     5.1.  Adaptation Layer Indicator . . . . . . . . . . . . . . . .  5
     5.2.  Payload Data Chunks  . . . . . . . . . . . . . . . . . . .  6
       5.2.1.  DDP Source Sequence Number (DDP-SSN) . . . . . . . . .  6
       5.2.2.  DDP Segment Chunk  . . . . . . . . . . . . . . . . . .  7
       5.2.3.  DDP Stream Session Control . . . . . . . . . . . . . .  7
   6.  DDP Stream Sessions  . . . . . . . . . . . . . . . . . . . . .  8
     6.1.  Sequencing . . . . . . . . . . . . . . . . . . . . . . . .  9
     6.2.  Legal Sequence: Active/Passive Session Accepted  . . . . .  9
     6.3.  Legal Sequence: Active/Passive Session Rejected  . . . . .  9
     6.4.  Legal Sequence: Active/Passive Session Non-ULP Rejected  . 10
     6.5.  ULP-Specific Sequencing  . . . . . . . . . . . . . . . . . 10
     6.6.  Other Sequencing Rules . . . . . . . . . . . . . . . . . . 10
   7.  SCTP Endpoints . . . . . . . . . . . . . . . . . . . . . . . . 11
     7.1.  Adaptation Layer Indication Restriction  . . . . . . . . . 11
     7.2.  Multihoming Implications . . . . . . . . . . . . . . . . . 11
   8.  Number of Streams  . . . . . . . . . . . . . . . . . . . . . . 12
   9.  Fragmentation  . . . . . . . . . . . . . . . . . . . . . . . . 12
   10. Sequenced Unordered Operation  . . . . . . . . . . . . . . . . 13
   11. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 13
     11.1. Association Initialization . . . . . . . . . . . . . . . . 13
     11.2. Chunk Bundling . . . . . . . . . . . . . . . . . . . . . . 14
     11.3. Association Termination  . . . . . . . . . . . . . . . . . 14
   12. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 15
   13. Security Considerations  . . . . . . . . . . . . . . . . . . . 15
   14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 16
   15. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 16
   16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
     16.1. Normative References . . . . . . . . . . . . . . . . . . . 16
     16.2. Informative References . . . . . . . . . . . . . . . . . . 16
        
1. Introduction
1. 介绍

This document describes a method to adapt Direct Data Placement [RFC5041] to Stream Control Transmission Protocol (SCTP) [RFC4960].

本文档描述了一种将直接数据放置[RFC5041]适应流控制传输协议(SCTP)[RFC4960]的方法。

Some implementations may include this adaptation layer within their SCTP implementations to obtain maximum performance, but the behavior of SCTP will be unaffected. An SCTP layer used solely by this adaptation layer is able to take certain optimizations based on the limited subset of SCTP capabilities used. In order to allow optimization for these implementations, we specify the use of the new adaptation layer indication as defined in [RFC5061]

一些实现可能在其SCTP实现中包括该适配层以获得最大性能,但SCTP的行为不会受到影响。仅由该适配层使用的SCTP层能够基于所使用的有限SCTP功能子集进行某些优化。为了优化这些实现,我们指定使用[RFC5061]中定义的新适配层指示

1.1. Conventions
1.1. 习俗

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]中所述进行解释。

2. Definitions
2. 定义

DDP - See Direct Data Placement Protocol.

DDP-参见直接数据放置协议。

DDP Endpoint - The logical sender/receiver of DDP Segments. An SCTP stream pair is not assumed to have a DDP Endpoint. DDP Segments may only be sent once a DDP Endpoint has been assigned to an SCTP stream pair by a local interface.

DDP端点—DDP段的逻辑发送方/接收方。不假定SCTP流对具有DDP端点。只有在本地接口将DDP端点分配给SCTP流对后,才能发送DDP段。

DDP Source Stream Sequence Number (DDP-SSN) - A stream-specific sequence number assigned by the adaptation layer for each SCTP Data Chunk sent. This is the order that chunks were submitted to SCTP, no matter in what order they are actually sent or received.

DDP源流序列号(DDP-SSN)-由适配层为发送的每个SCTP数据块分配的特定于流的序列号。这是块提交给SCTP的顺序,无论它们实际发送或接收的顺序如何。

DDP Segment - The smallest unit of data transfer for the DDP protocol. It includes a DDP Header and ULP Payload (if present). A DDP Segment should be sized to fit within the Lower Layer Protocol MULPDU (Marker PDU Aligned (MPA) Upper Layer PDU).

DDP段-DDP协议的最小数据传输单元。它包括DDP标头和ULP有效负载(如果存在)。DDP段的大小应适合下层协议MULPDU(标记PDU对齐(MPA)上层PDU)。

DDP Segment Chunk - An SCTP Payload Data Chunk that encapsulates the DDP-SSN and a DDP Segment.

DDP段块-封装DDP-SSN和DDP段的SCTP有效负载数据块。

DDP Stream - A sequence of DDP Segments whose ordering is defined by the LLP. For SCTP, a DDP stream maps directly to a bidirectional pair of SCTP streams with the same Stream IDs. Note that DDP has no ordering guarantees between DDP streams.

DDP流-DDP段序列,其顺序由LLP定义。对于SCTP,DDP流直接映射到具有相同流ID的双向SCTP流对。请注意,DDP在DDP流之间没有订购保证。

DDP Stream Session - A single pairing of DDP Endpoints over a DDP stream that lasts from an Initiation message through the Termination message(s).

DDP流会话-DDP流上DDP端点的单个配对,从启动消息持续到终止消息。

DDP Stream Session Control Message - A message that is used to control the association of the DDP Endpoint with the DDP stream.

DDP流会话控制消息-用于控制DDP端点与DDP流的关联的消息。

Direct Data Placement Protocol (DDP) - A wire protocol that supports Direct Data Placement by associating explicit memory buffer placement information with the LLP payload units.

直接数据放置协议(DDP)-通过将显式内存缓冲区放置信息与LLP有效负载单元关联,支持直接数据放置的有线协议。

Lower Layer Protocol (LLP) - In the context of DDP, the protocol layer beneath RDMA that provides a reliable transport service. The SCTP DDP adaption is one of the initially defined LLPs for DDP.

低层协议(LLP)-在DDP上下文中,RDMA下的协议层,提供可靠的传输服务。SCTP DDP自适应是DDP最初定义的LLP之一。

Protection Domain - A common local interface convention to control which Steering Tags (STags) are valid with which DDP Endpoints. Under this convention, both the Steering Tag and DDP Endpoint are created within the context of a Protection Domain, and the Steering Tag may only be enabled for DDP Endpoints created under the same Protection Domain.

保护域-一种通用的本地接口约定,用于控制哪些导向标记(STAG)对哪些DDP端点有效。根据此约定,转向标记和DDP端点都是在保护域的上下文中创建的,并且转向标记只能为在同一保护域下创建的DDP端点启用。

RDMA - Remote Direct Memory Access.

RDMA-远程直接内存访问。

RNIC - RDMA Network Interface Card.

RNIC-RDMA网络接口卡。

SCTP association - A protocol relationship between two SCTP endpoints. An SCTP association supports multiple SCTP streams.

SCTP关联-两个SCTP端点之间的协议关系。SCTP关联支持多个SCTP流。

SCTP Data Chunk - An SCTP Chunk used to convey Payload Data. There can be multiple Chunks within each SCTP packet. Other Chunks are used to control the SCTP Association.

SCTP数据块-用于传输有效负载数据的SCTP块。每个SCTP数据包中可以有多个数据块。其他块用于控制SCTP关联。

SCTP endpoint - The logical sender/receiver of SCTP packets. On a multihomed host, an SCTP endpoint is represented to its peers as a combination of an SCTP port number and a set of eligible destination transport addresses to which SCTP packets can be sent.

SCTP端点—SCTP数据包的逻辑发送方/接收方。在多宿主主机上,SCTP端点向其对等方表示为SCTP端口号和一组可向其发送SCTP数据包的合格目标传输地址的组合。

SCTP Stream - A unidirectional logical channel established from one to another associated SCTP endpoint. There can be multiple SCTP streams within each SCTP association. An SCTP stream is used to form one direction of a DDP stream.

SCTP流-从一个关联SCTP端点建立到另一个关联SCTP端点的单向逻辑通道。在每个SCTP关联中可以有多个SCTP流。SCTP流用于形成DDP流的一个方向。

Transmission Sequence Number (TSN) - A 32-bit sequence number used internally by SCTP. One TSN is attached to each chunk containing user data to permit the receiving SCTP endpoint to acknowledge its receipt and detect duplicate deliveries.

传输序列号(TSN)-SCTP内部使用的32位序列号。将一个TSN附加到包含用户数据的每个区块,以允许接收SCTP端点确认其接收并检测重复交付。

Upper Layer Protocol (ULP) - In the context of RDMA protocol specifications, this is the layer using RDMA services. Typically, this is an application or middleware. A primary goal of RDMA protocols is to enable direct transfer of payload to/from ULP Buffers.

上层协议(ULP)-在RDMA协议规范的上下文中,这是使用RDMA服务的层。通常,这是一个应用程序或中间件。RDMA协议的一个主要目标是实现有效负载与ULP缓冲区之间的直接传输。

3. Motivation
3. 动机

This document specifies an adaptation layer which fulfills the requirements of a Lower Layer Protocol (LLP) for DDP using a specific subset of SCTP capabilities.

本文件规定了一个适配层,该适配层使用特定的SCTP功能子集满足DDP低层协议(LLP)的要求。

The defined protocol is intended to be implementable over existing SCTP stacks, while clearly defining what portions of SCTP are required to enable an implementation to be optimized specifically to support DDP.

定义的协议旨在可在现有SCTP堆栈上实现,同时明确定义需要SCTP的哪些部分以使实现能够专门优化以支持DDP。

4. Overview
4. 概述

The adaptation layer uses a pair of like-numbered SCTP streams within an SCTP Association to provide a reliable DDP stream between two DDP Endpoints. Except as specifically noted, each DDP Segment submitted by the DDP layer is encoded as a single unordered SCTP Data Chunk. In addition to the DDP Segment, the Data Chunk also contains a sequence number (DDP-SSN) that reflects the order in which DDP submitted the segments for that stream.

适配层在SCTP关联内使用一对编号相同的SCTP流,以在两个DDP端点之间提供可靠的DDP流。除非特别指出,DDP层提交的每个DDP段都编码为单个无序SCTP数据块。除了DDP段之外,数据块还包含一个序列号(DDP-SSN),该序列号反映了DDP提交该流段的顺序。

A DDP Stream Session is defined by DDP Stream Session Control Chunks that manage the state of the DDP Stream Session. These Chunks dynamically bind DDP Endpoints to the DDP Stream Session, and DDP Segment Chunks are used to reliably deliver DDP Segments with the session.

DDP流会话由管理DDP流会话状态的DDP流会话控制块定义。这些区块将DDP端点动态绑定到DDP流会话,DDP段区块用于可靠地在会话中交付DDP段。

5. Data Formats
5. 数据格式
5.1. Adaptation Layer Indicator
5.1. 适应层指示器

The DDP/SCTP adaptation layer uses all streams within an SCTP association. An SCTP Association that has had the DDP Adaptation Indication negotiated will carry only SCTP Data Chunks as defined in this document.

DDP/SCTP适配层使用SCTP关联中的所有流。已协商DDP适配指示的SCTP关联将仅携带本文档中定义的SCTP数据块。

It is presumed that the handling of incoming data chunks for DDP-enabled associations is sufficiently different than for routine SCTP associations that it is undesirable to require support for mixing DDP and non-DDP streams in a single association. More than a single association is required if an application desires to utilize both DDP and non-DDP traffic with the same remote host.

假定启用DDP的关联对传入数据块的处理与常规SCTP关联的处理完全不同,因此不希望在单个关联中要求支持混合DDP和非DDP流。如果应用程序希望利用同一远程主机的DDP和非DDP通信,则需要多个关联。

We define an Adaptation Indication that MUST appear in the INIT or INIT-ACK with the following format as defined in [RFC5061].

我们定义了必须以[RFC5061]中定义的以下格式出现在INIT或INIT-ACK中的自适应指示。

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Type =0xC006           |    Length = Variable          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Adaptation Indication                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Type =0xC006           |    Length = Variable          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Adaptation Indication                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Adaptation Indication:

适应症:

The following value has been assigned for DDP.

已为DDP分配以下值。

DDP - 0x00000001

DDP-0x00000001

5.2. Payload Data Chunks
5.2. 有效负载数据块

The DDP SCTP adaptation uses two types of SCTP Payload Data Chunks, differentiated by the Payload Protocol Identifier:

DDP SCTP自适应使用两种类型的SCTP有效负载数据块,由有效负载协议标识符区分:

DDP Segment Chunks are used to reliably deliver DDP Segments sent between DDP Endpoints.

DDP段块用于可靠地传递DDP端点之间发送的DDP段。

DDP Stream Session Control Messages are used to establish and tear down DDP Stream Sessions, specifically by controlling the binding of DDP Endpoints with SCTP streams.

DDP流会话控制消息用于建立和中断DDP流会话,特别是通过控制DDP端点与SCTP流的绑定。

Payload Protocol Identifier:

有效负载协议标识符:

The following value are defined for DDP in this document and have been assigned by IANA:

本文件为DDP定义了以下值,并由IANA分配:

DDP Segment Chunk - 16 DDP Stream Session Control - 17

DDP段块-16 DDP流会话控制-17

5.2.1. DDP Source Sequence Number (DDP-SSN)
5.2.1. DDP源序列号(DDP-SSN)

All SCTP Payload Data Chunks used by this adaptation layer include a DDP Source Sequence Number (DDP-SSN). The DDP-SSN tracks the sequence in which the messages were submitted to the SCTP layer for the SCTP stream in use. The DDP-SSN MUST have the same value that the SCTP Stream Sequence Number (SSN) would have been assigned had ordered SCTP Payload Data Chunks been used rather than unordered.

该适配层使用的所有SCTP有效负载数据块包括DDP源序列号(DDP-SSN)。DDP-SSN跟踪正在使用的SCTP流的消息提交到SCTP层的顺序。DDP-SSN必须具有与SCTP流序列号(SSN)相同的值,如果使用了有序的SCTP有效负载数据块,而不是无序的,则SCTP流序列号(SSN)将被分配。

The rationale for specifying the DDP-SSN is as follows:

指定DDP-SSN的理由如下:

o The SCTP Stream Sequence Number (SSN) is not suitable for this purpose because all messages defined by this document use unordered Payload Data Chunks to ensure prompt delivery from the receiving SCTP layer.

o SCTP流序列号(SSN)不适用于此目的,因为本文档定义的所有消息都使用无序的有效负载数据块,以确保从接收SCTP层及时传递。

o The SCTP Transmission Sequence Number (TSN) is not suitable for determining the original order of Data Chunks within a stream. The sending SCTP layer is allowed to optimize the transmission sequence of unordered Data Chunks to encourage Chunk Bundling, or for other purposes.

o SCTP传输序列号(TSN)不适合确定流中数据块的原始顺序。允许发送SCTP层优化无序数据块的传输顺序,以鼓励数据块绑定,或用于其他目的。

5.2.2. DDP Segment Chunk
5.2.2. DDP段块
   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          DDP-SSN              |         DDP Segment           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
   |                                                               |
   |                         ...                                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          DDP-SSN              |         DDP Segment           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
   |                                                               |
   |                         ...                                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

DDP Segments are as defined in [RFC5041]. The DDP Segment Chunk serves the same purpose as the MPA [RFC5044] Upper Layer PDU (MULPDU) in that it carries DDP Segments over a reliable protocol with added sequencing information.

DDP段的定义见[RFC5041]。DDP段块的用途与MPA[RFC5044]上层PDU(MULPDU)相同,因为它通过可靠的协议携带DDP段,并添加了序列信息。

5.2.3. DDP Stream Session Control
5.2.3. 流会话控制
   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          DDP-SSN              |    Function Code              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Private Data (Dependent on Function Code)          |
   |                         ...                                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          DDP-SSN              |    Function Code              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Private Data (Dependent on Function Code)          |
   |                         ...                                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

The following function code values are defined for DDP in this document:

本文件中为DDP定义了以下功能代码值:

DDP Stream Session Initiate - 0x001 DDP Stream Session Accept - 0x002 DDP Stream Session Reject - 0x003 DDP Stream Session Terminate - 0x004

DDP流会话启动-0x001 DDP流会话接受-0x002 DDP流会话拒绝-0x003 DDP流会话终止-0x004

ULP-supplied Private Data MUST be included for DDP Stream Session Initiate, DDP Stream Session Accept, and DDP Stream Session Reject messages. However, the ULP supplied Private DATA MAY be of zero length.

对于DDP流会话启动、DDP流会话接受和DDP流会话拒绝消息,必须包含ULP提供的专用数据。然而,ULP提供的私有数据可能是零长度的。

Private Data length MUST NOT exceed 512 bytes in any message.

任何消息中的专用数据长度不得超过512字节。

Private Data MUST NOT be included in the DDP Stream Session Terminate message.

专用数据不得包含在DDP流会话终止消息中。

Received DDP Stream Session Control messages SHOULD be reported to the ULP. If reported, any supplied Private Data MUST be available for the ULP to examine.

收到的DDP流会话控制消息应报告给ULP。如果报告,任何提供的私有数据必须可供ULP检查。

The DDP/SCTP adaptation layer MAY limit the number of Session Initiate requests that it has submitted to the ULP. When a DDP Stream Session Initiate cannot be forwarded to the ULP due to such a limit, the adaptation layer MUST respond with a DDP Stream Session Terminate message.

DDP/SCTP适配层可以限制其提交给ULP的会话发起请求的数量。当由于这样的限制而无法将DDP流会话发起转发到ULP时,适配层必须使用DDP流会话终止消息进行响应。

6. DDP Stream Sessions
6. DDP流会话

A DDP Endpoint is the logical sender/receiver of DDP Segments. A DDP stream connects two DDP Endpoints using a matched pair of SCTP streams having the same SCTP Stream Identifiers.

DDP端点是DDP段的逻辑发送方/接收方。DDP流使用具有相同SCTP流标识符的匹配SCTP流对连接两个DDP端点。

A DDP Stream Session defines the sequence of Data Chunks exchanged between two DDP Endpoints over a DDP stream that has a distinct beginning and end as defined in the following section. Data Chunks from one DDP Stream Session are never carried over to the next session. Each Data Chunk unambiguously belongs to exactly one session. The DDP-SSNs assigned to the Data Chunks for a session MUST NOT have any gaps.

DDP流会话定义了DDP流上两个DDP端点之间交换的数据块序列,该DDP流具有下一节中定义的不同的开始和结束。来自一个DDP流会话的数据块永远不会转移到下一个会话。每个数据块明确地只属于一个会话。分配给会话数据块的DDP SSN不得有任何间隙。

The local interface MAY dynamically associate a DDP Endpoint with the DDP stream based upon the initial exchanges of a DDP Session, and dynamically terminate that association at the session's end. Alternately, a specialized local interface could simply statically map DDP Endpoints to DDP streams.

本地接口可以基于DDP会话的初始交换动态地将DDP端点与DDP流相关联,并且在会话结束时动态地终止该关联。或者,专门的本地接口可以简单地静态地将DDP端点映射到DDP流。

Conventionally, local interfaces for RDMA have deferred the selection of the DDP Endpoint until after the ULP decides to accept an RDMA connection request. But that is a local interface choice and not a wire protocol requirement.

通常,RDMA的本地接口将DDP端点的选择推迟到ULP决定接受RDMA连接请求之后。但这是一种本地接口选择,而不是有线协议要求。

A DDP stream is associated with at most one Protection Domain during a single DDP Stream Session. On the passive side, the association is typically deferred until the DDP Stream Session Accept message.

在单个DDP流会话期间,DDP流最多与一个保护域关联。在被动端,关联通常延迟到DDP流会话接受消息。

6.1. Sequencing
6.1. 排序

The DDP-SSN is reset to zero at the beginning of each DDP Stream Session.

DDP-SSN在每个DDP流会话开始时重置为零。

The normative sequence for considering Payload Data Chunks within a given session is based upon each Data Chunk's DDP-SSN. When considered in this normative sequence, all sessions MUST conform to one of the patterns defined in this section.

在给定会话中考虑有效负载数据块的标准顺序基于每个数据块的DDP-SSN。在本规范顺序中考虑时,所有会话必须符合本节中定义的模式之一。

If the adaptation layer receives a Payload Data Chunk that conforms to none of the enumerated legal patterns, the DDP Stream Session MUST be terminated.

如果适配层接收到的有效负载数据块不符合任何列举的合法模式,则必须终止DDP流会话。

6.2. Legal Sequence: Active/Passive Session Accepted
6.2. 法律顺序:接受主动/被动会话

In this DDP Stream Session sequence, one DDP Endpoint assumes the active role in requesting a DDP Stream Session, which the other side accepts.

在这个DDP流会话序列中,一个DDP端点在请求DDP流会话时扮演主动角色,另一方接受该会话。

Active side sends a DDP Stream Session Initiate message.

主动端发送DDP流会话启动消息。

Passive side sends a DDP Stream Session Accept message.

被动端发送DDP流会话接受消息。

Each side may then send zero or more DDP Segments with increasing DDP-SSNs, subject to any flow control imposed by other protocol layers.

然后,每一方可以发送零个或多个DDP段,同时增加DDP SSN,这取决于其他协议层施加的任何流控制。

The final User Data Chunk for each side MAY be a DDP Stream Terminate. At least one side MUST send a DDP Stream Terminate. Note that this would follow any RDMAP Terminate message, which to the adaptation layer is simply another DDP Segment.

每侧的最终用户数据块可以是DDP流终止。至少有一方必须发送DDP流终止。注意,这将跟随任何RDMAP终止消息,对于适配层来说,这只是另一个DDP段。

6.3. Legal Sequence: Active/Passive Session Rejected
6.3. 法律顺序:主动/被动会话被拒绝

DDP Stream Sessions allow each party to send a single non-payload message before the other end commits specific resources to the session. This allows each end to determine which resources are to be used, and how they are to be configured, or even if the session should be granted.

DDP流会话允许各方在另一端向会话提交特定资源之前发送单个非有效负载消息。这允许每个终端确定要使用哪些资源,以及如何配置这些资源,甚至是是否应该授予会话。

These decisions MAY be influenced by the need to assign a specific Protection Domain, to determine how many RDMA Read Credits are required, or to determine how many receive operations the ULP should enable.

这些决定可能会受到分配特定保护域、确定需要多少RDMA读取信用或确定ULP应启用多少接收操作的需要的影响。

Because of these or other factors, the passive side MAY choose to reject a DDP Stream Session Request. This results in the following legal sequence:

由于这些或其他因素,被动方可以选择拒绝DDP流会话请求。这将导致以下法律顺序:

Active side sends a DDP Stream Session Initiate message.

主动端发送DDP流会话启动消息。

Passive side sends a DDP Stream Session Reject message.

被动端发送DDP流会话拒绝消息。

A DDP Stream Session Reject message MUST NOT be sent unless the rejection is at the direction of the ULP.

DDP流会话拒绝消息不得发送,除非拒绝是在ULP的方向。

6.4. Legal Sequence: Active/Passive Session Non-ULP Rejected
6.4. 法律顺序:主动/被动会话非ULP被拒绝

Acceptance or rejection of DDP Stream Session Initiate messages SHOULD be under the control of the ULP. This MAY require passing an event to the ULP. There MUST be a finite limit on the number of such requests that are pending a ULP decision. When more session requests are received, the passive side MUST respond to the Initiate message with a DDP Stream Terminate Message.

DDP流会话启动消息的接受或拒绝应由ULP控制。这可能需要将事件传递给ULP。对于等待ULP决定的此类请求的数量必须有一个有限的限制。当接收到更多会话请求时,被动端必须使用DDP Stream Terminate消息响应Initiate消息。

6.5. ULP-Specific Sequencing
6.5. ULP特异性测序

An implementation MAY choose to support additional ULP-specific sequences, but MUST NOT do so unless requested to do so by the ULP.

一个实现可以选择支持额外的ULP特定序列,但除非ULP要求,否则不能这样做。

A defined ULP MUST be able to operate using only the defined mandatory session sequences. Any additional sequences must be used only for optional optimizations.

定义的ULP必须能够仅使用定义的强制会话序列进行操作。任何附加序列只能用于可选优化。

6.6. Other Sequencing Rules
6.6. 其他排序规则

A DDP Stream Session Control message MUST NOT be sent if it may be received before a prior DDP Stream Session Control message within the same DDP Stream Session.

如果DDP流会话控制消息可能在同一DDP流会话中先前的DDP流会话控制消息之前收到,则不得发送该消息。

An active side of a DDP Stream Session MUST NOT send a DDP Segment that might be received before the DDP Stream Session Initiate message.

DDP流会话的活动端不得发送DDP流会话启动消息之前可能接收到的DDP段。

This MAY be determined by SCTP acking of the Data Chunk used to carry the DDP Stream Session Initiate message, or by receipt of a responsive DDP Stream Session Control message.

这可以通过用于承载DDP流会话发起消息的数据块的SCTP ack或通过接收响应的DDP流会话控制消息来确定。

A DDP Stream Identifier MUST NOT be reused for another DDP Stream Session while any Data Chunk from a prior session might be outstanding.

当来自上一个会话的任何数据块可能未完成时,DDP流标识符不得重新用于另一个DDP流会话。

7. SCTP Endpoints
7. SCTP端点
7.1. Adaptation Layer Indication Restriction
7.1. 适应层指示限制

The local interface MUST allow the ULP to specify an SCTP endpoint to use a specific Adaptation Indication. It MAY require the ULP to do so.

本地接口必须允许ULP指定SCTP端点以使用特定的自适应指示。这可能需要ULP这样做。

Once an endpoint decides on its acceptable Adaptation Indication(s), it SHOULD terminate all requests to establish an association with any different Adaptation Indication.

一旦端点决定其可接受的适应指示,它应该终止所有请求,以建立与任何不同适应指示的关联。

An SCTP implementation MAY choose to accept association requests for a given SCTP endpoint only until one association for the endpoint has been established. At that point, it MAY choose to restrict all further associations for the same endpoint to use the same Adaptation Indication.

SCTP实现可以选择只接受给定SCTP端点的关联请求,直到为该端点建立了一个关联。此时,它可以选择限制同一端点的所有进一步关联,以使用相同的适应指示。

7.2. Multihoming Implications
7.2. 多归宿含义

SCTP allows an SCTP endpoint to be associated with multiple IP addresses, potentially representing different interface devices. Distribution of the logic for a single DDP stream across multiple input devices can be very undesirable, resulting in complex cache coherency challenges. Therefore, the local interface MAY restrict DDP-enabled SCTP endpoints to a single IP address, or to a set of IP addresses that are all assigned to the same input device ("RNIC").

SCTP允许SCTP端点与多个IP地址关联,可能代表不同的接口设备。单个DDP流的逻辑在多个输入设备之间的分布可能非常不理想,导致复杂的缓存一致性挑战。因此,本地接口可将启用DDP的SCTP端点限制为单个IP地址,或限制为分配给同一输入设备(“RNIC”)的一组IP地址。

The default binding of a DDP-enabled SCTP endpoint SHOULD NOT cover more than a single IP address unless doing so results in neither additional bus traffic nor duplication of memory registration resources. This will frequently result in a different default than for SCTP endpoints that are not DDP enabled.

启用DDP的SCTP端点的默认绑定不应覆盖多个IP地址,除非这样做既不会导致额外的总线通信量,也不会导致内存注册资源的重复。这通常会导致与未启用DDP的SCTP端点不同的默认值。

Applications MAY choose to avoid using out-of-band methods for communicating the set of IP addresses used by an SCTP endpoint when there is potential confusion as to the intended scope of the SCTP endpoint. For example, assuming the SCTP endpoint consists of all IP addresses Advertised by DNS may work for a general purpose SCTP endpoint but not a DDP-enabled one.

当SCTP端点的预期范围存在潜在混淆时,应用程序可以选择避免使用带外方法来通信SCTP端点使用的IP地址集。例如,假设SCTP端点由DNS公布的所有IP地址组成,则可能适用于通用SCTP端点,但不适用于启用DDP的端点。

Even when multihoming is supported, ULPs are cautioned that they SHOULD NOT use ULP control of the source address in an attempt to load-balance a stream across multiple paths. A receiving DDP/SCTP implementation that chooses to support multihoming SHOULD optimize its design on the assumption that multihoming will be used for network fault tolerance, and not to load-balance between paths. This is consistent with recommended SCTP practices.

即使在支持多宿主的情况下,ULP也应注意,它们不应使用源地址的ULP控制来尝试跨多条路径对流进行负载平衡。选择支持多宿的接收DDP/SCTP实现应优化其设计,前提是多宿将用于网络容错,而不是路径之间的负载平衡。这与推荐的SCTP实践是一致的。

8. Number of Streams
8. 流数

DDP streams are bidirectional. They are always composed by pairing the inbound and outbound SCTP streams with the same SCTP Stream Identifier.

DDP流是双向的。它们总是通过将入站和出站SCTP流与相同的SCTP流标识符配对来组成。

The adaptation layer should request the maximum number of SCTP streams it will wish to use over the lifetime of the association. SCTP streams must still be bound to DDP Endpoints, and a DDP-enabled SCTP association does not support ordered Data Chunks. Therefore, the mere existence of an SCTP stream is unlikely to require significant supporting resources.

适配层应请求其希望在关联的生存期内使用的最大SCTP流数。SCTP流仍必须绑定到DDP端点,并且启用DDP的SCTP关联不支持有序数据块。因此,仅仅存在SCTP流不太可能需要大量的支持资源。

This mapping uses an SCTP association to carry one or more DDP streams. Each DDP stream will be mapped to a pair of SCTP streams with the same SCTP stream number. The adaptation MUST initialize all of its SCTP associations with the same number of inbound and outbound streams.

此映射使用SCTP关联来承载一个或多个DDP流。每个DDP流将映射到具有相同SCTP流编号的一对SCTP流。自适应必须使用相同数量的入站和出站流初始化其所有SCTP关联。

9. Fragmentation
9. 碎裂

A DDP/SCTP Receiver already deals with fragmentation at both the IP and DDP layers. Therefore, use of SCTP layer segmenting will be avoided for most cases.

DDP/SCTP接收器已经在IP和DDP层处理碎片。因此,在大多数情况下,将避免使用SCTP层分段。

As a Lower Layer Protocol (LLP) for DDP, the SCTP adaptation layer MUST inform the DDP layer of the maximum DDP Segment size that will be supported. This should be the largest value that can be supported without use of IP or SCTP fragmentation, or 516 bytes, whichever is larger.

作为DDP的低层协议(LLP),SCTP适配层必须通知DDP层将支持的最大DDP段大小。这应该是在不使用IP或SCTP碎片或516字节(以较大者为准)的情况下可以支持的最大值。

A minimum of 516 bytes is required to allow a DDP Stream Session Control Message with 512 bytes of Private Data.

至少需要516字节才能允许DDP流会话控制消息包含512字节的私有数据。

SCTP data chunk fragmentation MUST NOT be used unless the alternative is IP fragmentation.

SCTP数据块碎片不能使用,除非是IP碎片。

The SCTP adaptation layer SHOULD set the maximum DDP Segment size below the theoretical maximum in order to allow bundling of Control Chunks in the same SCTP packet.

SCTP适配层应将最大DDP段大小设置为低于理论最大值,以便允许在同一SCTP数据包中捆绑控制块。

The SCTP adaptation layer MUST reject DDP Segments that are larger than the maximum size specified.

SCTP适配层必须拒绝大于指定最大大小的DDP段。

10. Sequenced Unordered Operation
10. 顺序无序操作

The adaptation layer MUST use the Unordered option on all Data Chunks (U Flag set to one). The SCTP layer is expected to deliver unordered Data Chunks without delay.

适配层必须在所有数据块上使用无序选项(U标志设置为1)。SCTP层有望毫不延迟地交付无序数据块。

Because DDP employs unordered SCTP delivery, the receiver MUST NOT rely upon the SCTP Transmission Sequence Number (TSN) to imply ordering of DDP Segments. The fact that the SCTP Data Chunk for a DDP Segment is prior to the cumulative ack point does not guarantee that all prior DDP segments have been placed. The SCTP sender is not obligated to transmit unordered Data Chunks in the order presented.

由于DDP采用无序SCTP交付,因此接收器不得依赖SCTP传输序列号(TSN)来暗示DDP段的顺序。DDP段的SCTP数据块在累积ack点之前的事实并不保证所有先前的DDP段都已放置。SCTP发送方没有义务按照呈现的顺序传输无序数据块。

The DDP-SSN can be used without special logic to determine the submission sequence when the maximum number of in-flight messages is less than 32768. This also applies if the sending SCTP accepts no more than 32767 Data Chunks for a single stream without assigning TSNs.

当最大机内消息数小于32768时,DDP-SSN可在无特殊逻辑的情况下用于确定提交顺序。如果发送SCTP在不分配TSN的情况下接受单个流不超过32767个数据块,则这也适用。

If SCTP does accept more than 32768 Data chunks for a single stream without assigning TSNs, the sending DDP must simply refrain from sending more than 32767 Data Chunks for a single stream without acknowledgment. Note that it MUST NOT rely upon ULP flow control for this purpose. Typical ULP flow control will deal exclusively with untagged messages, not with DDP segments.

如果SCTP在未分配TSN的情况下接受单个流超过32768个数据块,则发送DDP必须避免在未确认的情况下发送单个流超过32767个数据块。注意,不得为此目的依赖ULP流量控制。典型的ULP流控制将专门处理未标记的消息,而不是DDP段。

The receiver MAY perform a validity check on received DDP-SSNs to ensure that any gap could be accounted for by unreceived Data Chunks. Implementations SHOULD NOT allocate resources on the assumption that DDP-SSNs are valid without first performing such a validity check. An invalid DDP-SSN MAY result in termination of the DDP stream.

接收机可以对接收到的DDP ssn执行有效性检查,以确保未接收的数据块可以解释任何间隙。实现不应该在假设DDP SSN有效的情况下分配资源,而不首先执行这种有效性检查。无效的DDP-SSN可能导致DDP流终止。

11. Procedures
11. 程序
11.1. Association Initialization
11.1. 关联初始化

At the startup of an association, a DDP/SCTP adaptation layer MUST include an adaptation layer indication in its INIT or INIT-ACK (as defined in Section 5.1). After the exchange of the initial first two SCTP chunks (INIT and INIT-ACK), an endpoint MUST verify and inspect the Adaptation Indication and compare it to the following table to determine proper action.

在关联启动时,DDP/SCTP适配层必须在其INIT或INIT-ACK(定义见第5.1节)中包含适配层指示。在交换最初的两个SCTP块(INIT和INIT-ACK)后,端点必须验证和检查自适应指示,并将其与下表进行比较,以确定正确的操作。

          Indication |           Action
            type     |
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                     | This indicates that the peer DOES NOT
         NONE        | support ANY DDP or RDMA adaptation, and thus
                     | RDMA and DDP procedures MUST NOT be
                     | performed upon this association.
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                     | This indicates that the peer DOES support
         DDP         | the DDP/SCTP adaptation layer defined here.
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                     | This indicates that the peer DOES NOT
       ANY-OTHER     | support the DDP adaptation, and thus
       Indication    | DDP procedures MUST NOT be performed
                     | upon this association.
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        
          Indication |           Action
            type     |
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                     | This indicates that the peer DOES NOT
         NONE        | support ANY DDP or RDMA adaptation, and thus
                     | RDMA and DDP procedures MUST NOT be
                     | performed upon this association.
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                     | This indicates that the peer DOES support
         DDP         | the DDP/SCTP adaptation layer defined here.
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                     | This indicates that the peer DOES NOT
       ANY-OTHER     | support the DDP adaptation, and thus
       Indication    | DDP procedures MUST NOT be performed
                     | upon this association.
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        

An implementation MAY require that all associations for a given SCTP endpoint be placed in the same mode.

实现可能需要将给定SCTP端点的所有关联置于相同的模式中。

The local interface MAY allow the ULP to accept only requests to establish an association in a specified mode.

本地接口可允许ULP仅接受在指定模式下建立关联的请求。

11.2. Chunk Bundling
11.2. 块绑定

SCTP allows multiple Data Chunks to be bundled in a single SCTP packet. Data chunks containing DDP Segments with untagged messages SHOULD NOT be delayed to facilitate bundling. Data chunks containing DDP Segments with tagged messages will generally be full sized, and hence not subject to bundling. However, partial-size tagged messages MAY be delayed, as they are frequently followed by a short untagged message.

SCTP允许在单个SCTP数据包中捆绑多个数据块。包含未标记消息的DDP段的数据块不应延迟以便于捆绑。包含带有标记消息的DDP段的数据块通常是全尺寸的,因此不需要捆绑。但是,部分大小标记的消息可能会延迟,因为它们后面经常跟着一条未标记的短消息。

11.3. Association Termination
11.3. 结社终止

Termination of an SCTP Association due to errors should be handled at the SCTP layer. The RDMAP-defined RDMAP Terminate Message SHOULD NOT be sent on each DDP stream when a determination has been made to terminate an SCTP association. Sending that message on each SCTP stream could severely delay the termination of the association.

由于错误导致的SCTP关联终止应在SCTP层处理。当确定终止SCTP关联时,不应在每个DDP流上发送RDMAP定义的RDMAP Terminate消息。在每个SCTP流上发送该消息可能会严重延迟关联的终止。

The local interface SHOULD notify all consumers of DDP streams when the underlying SCTP stream has been terminated.

当底层SCTP流终止时,本地接口应通知DDP流的所有使用者。

Other RDMAP-defined Terminate Messages MUST be generated as specified when a DDP stream is terminated. Note that with the SCTP mapping, termination of a DDP Stream does not mandate termination of the Association.

当DDP流终止时,必须按照指定生成其他RDMAP定义的终止消息。注意,对于SCTP映射,DDP流的终止并不要求终止关联。

12. IANA Considerations
12. IANA考虑

This document defines a new SCTP Adaptation Layer Indication codepoint for DDP (0x00000001). [RFC5061] creates the registry from which this codepoint has been assigned.

本文档为DDP(0x00000001)定义了一个新的SCTP适配层指示码点。[RFC5061]创建分配此代码点的注册表。

This document also defines two new SCTP Payload Protocol Identifiers (PPIDs). RFC 4960 [RFC4960] creates the registry from which these identifiers have been assigned. The following values have been assigned:

本文档还定义了两个新的SCTP有效负载协议标识符(PPID)。RFC 4960[RFC4960]创建从中分配这些标识符的注册表。已指定以下值:

DDP Segment Chunk - 16 DDP Stream Session Control - 17

DDP段块-16 DDP流会话控制-17

13. Security Considerations
13. 安全考虑

Any direct placement of memory could pose a significant security risk if adequate local controls are not provided. These threats are addressed in the appropriate DDP [RFC5041], RDMA [RFC5040], or Security [RFC5042] documents. This document does not add any additional security risks over those found in RFC 4960 [RFC4960].

如果没有提供足够的本地控制,任何直接放置内存都可能造成重大的安全风险。这些威胁在相应的DDP[RFC5041]、RDMA[RFC5040]或安全[RFC5042]文档中进行了说明。与RFC 4960[RFC4960]中的安全风险相比,本文件并未增加任何额外的安全风险。

The IPsec requirements for Remote Direct Data Placement (RDDP) are based on the version of IPsec specified in RFC 2401 [RFC2401] and related RFCs, as profiled by RFC 3723 [RFC3723], despite the existence of a newer version of IPsec specified in RFC 4301 [RFC4301] and related RFCs. One of the important early applications of the RDDP protocols is their use with iSCSI iSER [RFC5046]; RDDP's IPsec requirements follow those of IPsec in order to facilitate that usage by allowing a common profile of IPsec to be used with iSCSI and the RDDP protocols. In the future, RFC 3723 may be updated to the newer version of IPsec; the IPsec security requirements of any such update should apply uniformly to iSCSI and the RDDP protocols.

远程直接数据放置(RDDP)的IPsec要求基于RFC 2401[RFC2401]和相关RFC中规定的IPsec版本,如RFC 3723[RFC3723]所述,尽管存在RFC 4301[RFC4301]和相关RFC中规定的较新版本的IPsec。RDDP协议的一个重要早期应用是与iSCSI iSER一起使用[RFC5046];RDDP的IPsec要求遵循IPsec的要求,以便通过允许将IPsec的公共配置文件与iSCSI和RDDP协议一起使用来促进这种使用。将来,RFC 3723可能会更新到IPsec的较新版本;任何此类更新的IPsec安全要求都应统一适用于iSCSI和RDDP协议。

Additional requirements apply to security for RDDP over SCTP, due to the use of SCTP as the transport protocol. An implementation of IPsec for RDDP over SCTP:

由于使用SCTP作为传输协议,附加要求适用于通过SCTP的RDDP的安全性。通过SCTP实现RDDP的IPsec:

1) MUST support IPsec functionality for SCTP equivalent to the IPsec functionality for TCP that is required by RFC 3723,

1) 必须支持SCTP的IPsec功能,相当于RFC 3723要求的TCP的IPsec功能,

2) SHOULD support the same level of IPsec functionality for SCTP and TCP unless there is no support for TCP, and

2) 应为SCTP和TCP支持相同级别的IPsec功能,除非不支持TCP,以及

3) MUST support at least the level of protocol and port selector functionality for SCTP that is supported for TCP.

3) 必须至少支持TCP支持的SCTP协议和端口选择器功能级别。

14. Contributors
14. 贡献者

Many thanks to our contributors who have spent many hours reading and reviewing keeping us straight: Sukanta Ganguly an independent consultant, Vivek Kashyap of IBM, Jim Pinkerton of Microsoft, and Hemal Shah of Broadcom. Thanks for all your hard work.

非常感谢我们的贡献者,他们花了很多时间阅读和评论保持我们的直白:独立顾问Sukanta Ganguly、IBM的Vivek Kashyap、微软的Jim Pinkerton和Broadcom的Hemal Shah。谢谢你的辛勤工作。

15. Acknowledgments
15. 致谢

The authors would like to thank the following people that have provided comments and input: Stephen Bailey, David Black, Douglas Otis, Allyn Romanow, and Jim Williams.

作者要感谢以下提供评论和意见的人:斯蒂芬·贝利、大卫·布莱克、道格拉斯·奥蒂斯、艾琳·罗曼诺和吉姆·威廉姆斯。

16. References
16. 工具书类
16.1. Normative References
16.1. 规范性引用文件

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

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

[RFC3723] Aboba, B., Tseng, J., Walker, J., Rangan, V., and F. Travostino, "Securing Block Storage Protocols over IP", RFC 3723, April 2004.

[RFC3723]Aboba,B.,Tseng,J.,Walker,J.,Rangan,V.,和F.Travostino,“通过IP保护块存储协议”,RFC 37232004年4月。

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

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

[RFC5040] Recio, R., Metzler, B., Culley, P., Hilland, J., and D. Garcia, "A Remote Direct Memory Access Protocol Specification", RFC 5040, October 2007.

[RFC5040]Recio,R.,Metzler,B.,Culley,P.,Hilland,J.,和D.Garcia,“远程直接内存访问协议规范”,RFC 50402007年10月。

[RFC5041] Shah, H., Pinkerton, J., Recio, R., and P. Culley, "Direct Data Placement over Reliable Transports", RFC 5041, October 2007.

[RFC5041]Shah,H.,Pinkerton,J.,Recio,R.,和P.Culley,“可靠传输上的直接数据放置”,RFC 50412007年10月。

[RFC5042] Pinkerton, J. and E. Deleganes, "Direct Data Placement Protocol (DDP) / Remote Direct Memory Access Protocol (RDMAP) Security", RFC 5042, October 2007.

[RFC5042]Pinkerton,J.和E.Deleganes,“直接数据放置协议(DDP)/远程直接内存访问协议(RDMAP)安全”,RFC 50422007年10月。

[RFC5061] Stewart, R., Xie, Q., Tuexen, M., Maruyama, S., and M. Kozuka, "Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration", RFC 5061, September 2007.

[RFC5061]Stewart,R.,Xie,Q.,Tuexen,M.,Maruyama,S.,和M.Kozuka,“流控制传输协议(SCTP)动态地址重新配置”,RFC 50612007年9月。

16.2. Informative References
16.2. 资料性引用

[RFC2401] Kent, S. and R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998.

[RFC2401]Kent,S.和R.Atkinson,“互联网协议的安全架构”,RFC 2401,1998年11月。

[RFC4301] Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, December 2005.

[RFC4301]Kent,S.和K.Seo,“互联网协议的安全架构”,RFC 43012005年12月。

[RFC5044] Culley, P., Elzur, U., Recio, R., Bailey, S., and J. Carrier, "Marker PDU Aligned Framing for TCP Specification", RFC 5044, October 2007.

[RFC5044]Culley,P.,Elzur,U.,Recio,R.,Bailey,S.,和J.Carrier,“TCP规范的标记PDU对齐帧”,RFC 5044,2007年10月。

[RFC5046] Ko, M., Chadalapaka, M., Elzur, U., Shah, H., and P. Thaler, "Internet Small Computer System Interface (iSCSI) Extensions for Remote Direct Memory Access (RDMA)", RFC 5046, October 2007.

[RFC5046]Ko,M.,Chadalapaka,M.,Elzur,U.,Shah,H.,和P.Thaler,“用于远程直接内存访问(RDMA)的互联网小型计算机系统接口(iSCSI)扩展”,RFC 50462007年10月。

Authors' Addresses

作者地址

Caitlin Bestler (editor) Neterion 20230 Stevens Creek Blvd. Suite C Cupertino, CA 95014 USA

Caitlin Bestler(编辑)Neterion 20230 Stevens Creek大道。美国加利福尼亚州库珀蒂诺C套房95014

Phone: 408-366-4639 EMail: caitlin.bestler@neterion.com

电话:408-366-4639电子邮件:凯特琳。bestler@neterion.com

Randall R. Stewart (editor) Cisco Systems, Inc. Forest Drive Columbia, SC 29036 USA

Randall R.Stewart(编辑)思科系统公司,哥伦比亚森林大道,SC 29036美国

   Phone: +1-815-342-5222
   EMail: rrs@cisco.com
        
   Phone: +1-815-342-5222
   EMail: rrs@cisco.com
        

Full Copyright Statement

完整版权声明

Copyright (C) The IETF Trust (2007).

版权所有(C)IETF信托基金(2007年)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件及其包含的信息以“原样”为基础提供,贡献者、他/她所代表或赞助的组织(如有)、互联网协会、IETF信托基金和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Intellectual Property

知识产权

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.