RFC4340 日本語訳

4340 Datagram Congestion Control Protocol (DCCP). E. Kohler, M.Handley, S. Floyd. March 2006. (Format: TXT=318830 bytes) (Status: PROPOSED STANDARD)
プログラムでの自動翻訳です。
RFC一覧
英語原文

Network Working Group                                          E. Kohler
Request for Comments: 4340                                          UCLA
Category: Standards Track                                     M. Handley
                                                                     UCL
                                                                S. Floyd
                                                                    ICIR
                                                              March 2006

コメントを求めるワーキンググループE.コーラーの要求をネットワークでつないでください: 4340年のUCLAカテゴリ: 2006年の標準化過程M.ハンドレーUCL S.フロイドICIR行進

              Datagram Congestion Control Protocol (DCCP)

データグラム混雑制御プロトコル(DCCP)

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.

このドキュメントは、インターネットコミュニティにインターネット標準化過程プロトコルを指定して、改良のために議論と提案を要求します。 このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD1)の現行版を参照してください。 このメモの分配は無制限です。

Copyright Notice

版権情報

   Copyright (C) The Internet Society (2006).

Copyright(C)インターネット協会(2006)。

Abstract

要約

   The Datagram Congestion Control Protocol (DCCP) is a transport
   protocol that provides bidirectional unicast connections of
   congestion-controlled unreliable datagrams.  DCCP is suitable for
   applications that transfer fairly large amounts of data and that can
   benefit from control over the tradeoff between timeliness and
   reliability.

データグラムCongestion Controlプロトコル(DCCP)は混雑で制御された頼り無いデータグラムの双方向のユニキャスト接続を提供するトランスポート・プロトコルです。DCCPはデータのかなりの量を移して、タイムリーと信頼性の間の見返りのコントロールの利益を得ることができるアプリケーションに、適しています。

Table of Contents

目次

   1. Introduction ....................................................5
   2. Design Rationale ................................................6
   3. Conventions and Terminology .....................................7
      3.1. Numbers and Fields .........................................7
      3.2. Parts of a Connection ......................................8
      3.3. Features ...................................................9
      3.4. Round-Trip Times ...........................................9
      3.5. Security Limitation ........................................9
      3.6. Robustness Principle ......................................10
   4. Overview .......................................................10
      4.1. Packet Types ..............................................10
      4.2. Packet Sequencing .........................................11
      4.3. States ....................................................12
      4.4. Congestion Control Mechanisms .............................14

1. 序論…5 2. 原理を設計してください…6 3. コンベンションと用語…7 3.1. 数と分野…7 3.2. 接続の部分…8 3.3. 特徴…9 3.4. 往復の回…9 3.5. セキュリティ制限…9 3.6. 丈夫さ原則…10 4. 概要…10 4.1. パケットはタイプされます…10 4.2. パケット配列…11 4.3. 述べます。12 4.4. 輻輳制御メカニズム…14

Kohler, et al.              Standards Track                     [Page 1]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[1ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

      4.5. Feature Negotiation Options ...............................15
      4.6. Differences from TCP ......................................16
      4.7. Example Connection ........................................17
   5. Packet Formats .................................................18
      5.1. Generic Header ............................................19
      5.2. DCCP-Request Packets ......................................22
      5.3. DCCP-Response Packets .....................................23
      5.4. DCCP-Data, DCCP-Ack, and DCCP-DataAck Packets .............23
      5.5. DCCP-CloseReq and DCCP-Close Packets ......................25
      5.6. DCCP-Reset Packets ........................................25
      5.7. DCCP-Sync and DCCP-SyncAck Packets ........................28
      5.8. Options ...................................................29
           5.8.1. Padding Option .....................................31
           5.8.2. Mandatory Option ...................................31
   6. Feature Negotiation ............................................32
      6.1. Change Options ............................................32
      6.2. Confirm Options ...........................................33
      6.3. Reconciliation Rules ......................................33
           6.3.1. Server-Priority ....................................34
           6.3.2. Non-Negotiable .....................................34
      6.4. Feature Numbers ...........................................35
      6.5. Feature Negotiation Examples ..............................36
      6.6. Option Exchange ...........................................37
           6.6.1. Normal Exchange ....................................38
           6.6.2. Processing Received Options ........................38
           6.6.3. Loss and Retransmission ............................40
           6.6.4. Reordering .........................................41
           6.6.5. Preference Changes .................................42
           6.6.6. Simultaneous Negotiation ...........................42
           6.6.7. Unknown Features ...................................43
           6.6.8. Invalid Options ....................................43
           6.6.9. Mandatory Feature Negotiation ......................44
   7. Sequence Numbers ...............................................44
      7.1. Variables .................................................45
      7.2. Initial Sequence Numbers ..................................45
      7.3. Quiet Time ................................................46
      7.4. Acknowledgement Numbers ...................................47
      7.5. Validity and Synchronization ..............................47
           7.5.1. Sequence and Acknowledgement Number Windows ........48
           7.5.2. Sequence Window Feature ............................49
           7.5.3. Sequence-Validity Rules ............................49
           7.5.4. Handling Sequence-Invalid Packets ..................51
           7.5.5. Sequence Number Attacks ............................52
           7.5.6. Sequence Number Handling Examples ..................54
      7.6. Short Sequence Numbers ....................................55
           7.6.1. Allow Short Sequence Numbers Feature ...............55
           7.6.2. When to Avoid Short Sequence Numbers ...............56
      7.7. NDP Count and Detecting Application Loss ..................56

4.5. 交渉オプションを特徴としてください…15 4.6. TCPからの違い…16 4.7. 例の接続…17 5. パケット形式…18 5.1. ジェネリックヘッダー…19 5.2. パケットをDCCP要求してください…22 5.3. DCCP-応答パケット…23 5.4. DCCP-データ、DCCP-Ack、およびDCCP-DataAckパケット…23 5.5. DCCP-CloseReqとDCCP-閉鎖パケット…25 5.6. DCCP-リセットパケット…25 5.7. DCCP-同時性とDCCP-SyncAckパケット…28 5.8. オプション…29 5.8.1. オプションを水増しします…31 5.8.2. 義務的なオプション…31 6. 交渉を特徴としてください…32 6.1. オプションを変更してください…32 6.2. オプションを確認してください…33 6.3. 和解は統治されます…33 6.3.1. サーバ優先権…34 6.3.2. 譲渡禁止…34 6.4. 数を特徴としてください…35 6.5. 交渉の例を特徴としてください…36 6.6. オプション交換…37 6.6.1. 通常の交換…38 6.6.2. 処理はオプションを受け取りました…38 6.6.3. 損失とRetransmission…40 6.6.4. Reorderingします…41 6.6.5. 好みは変化します…42 6.6.6. 同時の交渉…42 6.6.7. 未知の特徴…43 6.6.8. 無効のオプション…43 6.6.9. 義務的な特徴交渉…44 7. 一連番号…44 7.1. 変数…45 7.2. 一連番号に頭文字をつけてください…45 7.3. 静かな時間…46 7.4. 承認番号…47 7.5. 正当性と同期…47 7.5.1. 系列と承認数のWindows…48 7.5.2. 系列窓の機能…49 7.5.3. 系列正当性は統治されます…49 7.5.4. 系列無効のパケットを扱います…51 7.5.5. 一連番号は攻撃されます…52 7.5.6. 一連番号取り扱いの例…54 7.6. 短い一連番号…55 7.6.1. 短い一連番号機能を許容してください…55 7.6.2. いつ、短い一連番号を避けるために…56 7.7. NDPカウントとアプリケーションの損失を検出します…56

Kohler, et al.              Standards Track                     [Page 2]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[2ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

           7.7.1. NDP Count Usage Notes ..............................57
           7.7.2. Send NDP Count Feature .............................57
   8. Event Processing ...............................................58
      8.1. Connection Establishment ..................................58
           8.1.1. Client Request .....................................58
           8.1.2. Service Codes ......................................59
           8.1.3. Server Response ....................................61
           8.1.4. Init Cookie Option .................................62
           8.1.5. Handshake Completion ...............................63
      8.2. Data Transfer .............................................63
      8.3. Termination ...............................................64
           8.3.1. Abnormal Termination ...............................66
      8.4. DCCP State Diagram ........................................66
      8.5. Pseudocode ................................................67
   9. Checksums ......................................................72
      9.1. Header Checksum Field .....................................73
      9.2. Header Checksum Coverage Field ............................73
           9.2.1. Minimum Checksum Coverage Feature ..................74
      9.3. Data Checksum Option ......................................75
           9.3.1. Check Data Checksum Feature ........................76
           9.3.2. Checksum Usage Notes ...............................76
   10. Congestion Control ............................................76
      10.1. TCP-like Congestion Control ..............................77
      10.2. TFRC Congestion Control ..................................78
      10.3. CCID-Specific Options, Features, and Reset Codes .........78
      10.4. CCID Profile Requirements ................................80
      10.5. Congestion State .........................................81
   11. Acknowledgements ..............................................81
      11.1. Acks of Acks and Unidirectional Connections ..............82
      11.2. Ack Piggybacking .........................................83
      11.3. Ack Ratio Feature ........................................84
      11.4. Ack Vector Options .......................................85
           11.4.1. Ack Vector Consistency ............................88
           11.4.2. Ack Vector Coverage ...............................89
      11.5. Send Ack Vector Feature ..................................90
      11.6. Slow Receiver Option .....................................90
      11.7. Data Dropped Option ......................................91
           11.7.1. Data Dropped and Normal Congestion Response .......94
           11.7.2. Particular Drop Codes .............................95
   12. Explicit Congestion Notification ..............................96
      12.1. ECN Incapable Feature ....................................96
      12.2. ECN Nonces ...............................................97
      12.3. Aggression Penalties .....................................98
   13. Timing Options ................................................99
      13.1. Timestamp Option .........................................99
      13.2. Elapsed Time Option ......................................99
      13.3. Timestamp Echo Option ...................................100
   14. Maximum Packet Size ..........................................101

7.7.1. NDPは使用上の注意を数えます…57 7.7.2. NDPカウント機能を送ってください…57 8. イベント処理…58 8.1. 接続設立…58 8.1.1. クライアント要求…58 8.1.2. コードを修理してください…59 8.1.3. サーバ応答…61 8.1.4. イニットクッキーオプション…62 8.1.5. 握手完成…63 8.2. データ転送…63 8.3. 終了…64 8.3.1. 異常終了…66 8.4. DCCPはダイヤグラムを述べます…66 8.5. 擬似コード…67 9. チェックサム…72 9.1. ヘッダーチェックサム分野…73 9.2. ヘッダーチェックサム適用範囲分野…73 9.2.1. 最小のチェックサム適用範囲機能…74 9.3. データチェックサムオプション…75 9.3.1. データチェックサム機能をチェックしてください…76 9.3.2. チェックサム使用上の注意…76 10. 混雑コントロール…76 10.1. TCPのような輻輳制御…77 10.2. TFRC輻輳制御…78 10.3. CCID特有のオプション、特徴、およびリセットコード…78 10.4. CCIDは要件の輪郭を描きます…80 10.5. 混雑状態…81 11. 承認…81 11.1. Acksと単方向のコネクションズのAcks…82 11.2. Ack便乗…83 11.3. Ack比率機能…84 11.4. Ackベクトルオプション…85 11.4.1. Ackベクトルの一貫性…88 11.4.2. Ackベクトル適用範囲…89 11.5. ベクトル機能をAckに送ってください…90 11.6. 受信機オプションを遅くしてください…90 11.7. データはオプションを下げました…91 11.7.1. データの下げられて通常の混雑応答…94 11.7.2. 特定の低下コード…95 12. 明白な混雑通知…96 12.1. 電子証券取引ネットワークの不可能な特徴…96 12.2. 電子証券取引ネットワーク一回だけ…97 12.3. 攻撃性刑罰…98 13. タイミングオプション…99 13.1. タイムスタンプオプション…99 13.2. 経過時間オプション…99 13.3. タイムスタンプエコーオプション…100 14. 最大のパケットサイズ…101

Kohler, et al.              Standards Track                     [Page 3]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[3ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

      14.1. Measuring PMTU ..........................................102
      14.2. Sender Behavior .........................................103
   15. Forward Compatibility ........................................104
   16. Middlebox Considerations .....................................105
   17. Relations to Other Specifications ............................106
      17.1. RTP .....................................................106
      17.2. Congestion Manager and Multiplexing .....................108
   18. Security Considerations ......................................108
      18.1. Security Considerations for Partial Checksums ...........109
   19. IANA Considerations ..........................................110
      19.1. Packet Types Registry ...................................110
      19.2. Reset Codes Registry ....................................110
      19.3. Option Types Registry ...................................110
      19.4. Feature Numbers Registry ................................111
      19.5. Congestion Control Identifiers Registry .................111
      19.6. Ack Vector States Registry ..............................111
      19.7. Drop Codes Registry .....................................112
      19.8. Service Codes Registry ..................................112
      19.9. Port Numbers Registry ...................................112
   20. Thanks .......................................................114
   A.  Appendix: Ack Vector Implementation Notes ....................116
       A.1. Packet Arrival ..........................................118
            A.1.1. New Packets ......................................118
            A.1.2. Old Packets ......................................119
       A.2. Sending Acknowledgements ................................120
       A.3. Clearing State ..........................................120
       A.4. Processing Acknowledgements .............................122
   B.  Appendix: Partial Checksumming Design Motivation .............123
   Normative References .............................................124
   Informative References ...........................................125

14.1. PMTUを測定します…102 14.2. 送付者の振舞い…103 15. 互換性を進めてください…104 16. Middlebox問題…105 17. 他の仕様との関係…106 17.1. RTP…106 17.2. 混雑マネージャとマルチプレクシング…108 18. セキュリティ問題…108 18.1. 部分的なチェックサムのためのセキュリティ問題…109 19. IANA問題…110 19.1. パケットは登録をタイプします…110 19.2. リセットは登録をコード化します…110 19.3. オプションは登録をタイプします…110 19.4. 数の登録を特集してください…111 19.5. 輻輳制御識別子登録…111 19.6. Ackベクトルは登録を述べます…111 19.7. 低下は登録をコード化します…112 19.8. サービスは登録をコード化します…112 19.9. 数の登録を移植してください…112 20. ありがとうございます…114A.付録: Ackベクトル実装注意…116 A.1。 パケット到着…118 A.1.1。 新しいパケット…118 A.1.2。 古いパケット…119 A.2。 承認を送ります…120 A.3。 状態をきれいにします…120 A.4。 処理承認…122B.付録: 部分的なChecksummingは動機を設計します…123 標準の参照…124 有益な参照…125

List of Tables

テーブルのリスト

   Table 1: DCCP Packet Types .......................................21
   Table 2: DCCP Reset Codes ........................................28
   Table 3: DCCP Options ............................................30
   Table 4: DCCP Feature Numbers.....................................35
   Table 5: DCCP Congestion Control Identifiers .....................77
   Table 6: DCCP Ack Vector States ..................................86
   Table 7: DCCP Drop Codes .........................................92

テーブル1: DCCPパケットはタイプされます…21 テーブル2: DCCPはコードをリセットしました…28 テーブル3: DCCPオプション…30 テーブル4: DCCPは数を特徴とします…35 テーブル5: DCCP輻輳制御識別子…77 テーブル6: DCCP Ackベクトル州…86 テーブル7: DCCPはコードを下げます…92

Kohler, et al.              Standards Track                     [Page 4]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[4ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

1.  Introduction

1. 序論

   The Datagram Congestion Control Protocol (DCCP) is a transport
   protocol that implements bidirectional, unicast connections of
   congestion-controlled, unreliable datagrams.  Specifically, DCCP
   provides the following:

データグラムCongestion Controlプロトコル(DCCP)は混雑で制御されて、頼り無いデータグラムの双方向のユニキャスト接続を実装するトランスポート・プロトコルです。明確に、DCCPは以下を提供します:

   o  Unreliable flows of datagrams.

o データグラムの頼り無い流れ。

   o  Reliable handshakes for connection setup and teardown.

o 接続設定と分解のための信頼できる握手。

   o  Reliable negotiation of options, including negotiation of a
      suitable congestion control mechanism.

o 適当な混雑制御機構の交渉を含むオプションの信頼できる交渉。

   o  Mechanisms allowing servers to avoid holding state for
      unacknowledged connection attempts and already-finished
      connections.

o サーバが成立するのを避けることができるメカニズムは不承認の接続のために試みと既に終わっている接続を述べます。

   o  Congestion control incorporating Explicit Congestion Notification
      (ECN) [RFC3168] and the ECN Nonce [RFC3540].

o Explicit Congestion Notification(電子証券取引ネットワーク)[RFC3168]と電子証券取引ネットワークNonce[RFC3540]を組み込む輻輳制御。

   o  Acknowledgement mechanisms communicating packet loss and ECN
      information.  Acks are transmitted as reliably as the relevant
      congestion control mechanism requires, possibly completely
      reliably.

o パケット損失を伝える承認メカニズムと電子証券取引ネットワーク情報。 Acksは関連混雑制御機構が確かにことによると完全に必要とするのと同じくらい確かに伝えられます。

   o  Optional mechanisms that tell the sending application, with high
      reliability, which data packets reached the receiver, and whether
      those packets were ECN marked, corrupted, or dropped in the
      receive buffer.

o 高信頼性によるどのデータ・パケットが受信機に達したか、そして、それらのパケットが電子証券取引ネットワークであったかどうか送付アプリケーションに言う任意のメカニズムが、受信バッファをマークしたか、崩壊したか、またはちょっと立ち寄らせました。

   o  Path Maximum Transmission Unit (PMTU) discovery [RFC1191].

o 経路Maximum Transmission Unit(PMTU)発見[RFC1191]。

   o  A choice of modular congestion control mechanisms.  Two mechanisms
      are currently specified: TCP-like Congestion Control [RFC4341] and
      TCP-Friendly Rate Control (TFRC) [RFC4342].  DCCP is easily
      extensible to further forms of unicast congestion control.

o モジュールの混雑制御機構2つのメカニズムの選択は現在、指定されます: TCPのような輻輳制御[RFC4341]とTCPに優しいレートは(TFRC)[RFC4342]を制御します。 DCCPはユニキャスト輻輳制御のフォームを促進するのにおいて容易に広げることができます。

   DCCP is intended for applications such as streaming media that can
   benefit from control over the tradeoffs between delay and reliable
   in-order delivery.  TCP is not well suited for these applications,
   since reliable in-order delivery and congestion control can cause
   arbitrarily long delays.  UDP avoids long delays, but UDP
   applications that implement congestion control must do so on their
   own.  DCCP provides built-in congestion control, including ECN

DCCPは遅れとオーダーにおける信頼できる配送の間の見返りのコントロールの利益を得ることができるストリーミング・メディアなどのアプリケーションのために意図します。 オーダーにおける信頼できる配送と輻輳制御が任意に長い遅れを引き起こす場合があるので、TCPはこれらのアプリケーションによく合っていません。 UDPは長時間の遅延を避けますが、混雑がコントロールであると実装するUDPアプリケーションはなどにそれら自身のをしなければなりません。 DCCPは電子証券取引ネットワークを含む内蔵の輻輳制御を提供します。

Kohler, et al.              Standards Track                     [Page 5]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[5ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   support, for unreliable datagram flows, avoiding the arbitrary delays
   associated with TCP.  It also implements reliable connection setup,
   teardown, and feature negotiation.

頼り無いデータグラムには、TCPに関連している任意の遅れを避けて、流れをサポートしてください。 また、それは信頼できる接続設定、分解、および特徴交渉を実装します。

2.  Design Rationale

2. デザイン原理

   One DCCP design goal was to give most streaming UDP applications
   little reason not to switch to DCCP, once it is deployed.  To
   facilitate this, DCCP was designed to have as little overhead as
   possible, both in terms of the packet header size and in terms of the
   state and CPU overhead required at end hosts.  Only the minimal
   necessary functionality was included in DCCP, leaving other
   functionality, such as forward error correction (FEC), semi-
   reliability, and multiple streams, to be layered on top of DCCP as
   desired.

1つのDCCPデザイン目標はほとんどほとんどのストリーミングのUDPアプリケーションにDCCPに切り替わらない理由をあげないことでした、それがいったん配布されると。 これを容易にするなら、DCCPはできるだけほとんどオーバーヘッドを持たないように設計されました、とパケットのヘッダー規模と状態とCPUオーバーヘッドに関する両方が終わりのホストで必要としました。 前進型誤信号訂正などの他の機能性(FEC)、準の信頼性、および複数のストリームを残して、最小量の必要な機能性だけが、望まれているようにDCCPの上で層にされるためにDCCPに含まれていました。

   Different forms of conformant congestion control are appropriate for
   different applications.  For example, on-line games might want to
   make quick use of any available bandwidth, while streaming media
   might trade off this responsiveness for a steadier, less bursty rate.
   (Sudden rate changes can cause unacceptable UI glitches such as
   audible pauses or clicks in the playout stream.)  DCCP thus allows
   applications to choose from a set of congestion control mechanisms.
   One alternative, TCP-like Congestion Control, halves the congestion
   window in response to a packet drop or mark, as in TCP.  Applications
   using this congestion control mechanism will respond quickly to
   changes in available bandwidth, but must tolerate the abrupt changes
   in congestion window typical of TCP.  A second alternative, TCP-
   Friendly Rate Control (TFRC) [RFC3448], a form of equation-based
   congestion control, minimizes abrupt changes in the sending rate
   while maintaining longer-term fairness with TCP.  Other alternatives
   can be added as future congestion control mechanisms are
   standardized.

異なったアプリケーションに、conformant輻輳制御の異なったフォームは適切です。 例えば、オンラインゲームはどんな利用可能な帯域幅の迅速な使用もしたがっているかもしれません、ストリーミング・メディアが、より一定の、そして、より少ないburstyレートのためにこの反応性を交換するかもしれませんが。 (突然のレート変化は再生ストリームにおける聞きとれるくぎりかクリックなどの容認できないUI不調を引き起こす場合があります。) その結果、DCCPは1セットの混雑制御機構からアプリケーションを選ばせます。1つの選択肢(TCPのようなCongestion Control)がパケット滴かマークに対応して混雑ウィンドウを半分にします、TCPのように。 この混雑制御機構を使用するアプリケーションは、利用可能な帯域幅ですばやく変化に応じますが、TCPの典型の混雑ウィンドウに突然の変化を許容しなければなりません。 2番目の代替手段、TCPの好意的なRate Control(TFRC)[RFC3448](方程式ベースの輻輳制御のフォーム)はTCPがある、より長い期間公正を維持している間、送付レートにおける突然の変化を最小にします。 将来の混雑制御機構が標準化されるとき、他の代替手段を加えることができます。

   DCCP also lets unreliable traffic safely use ECN.  A UDP kernel
   Application Programming Interface (API) might not allow applications
   to set UDP packets as ECN capable, since the API could not guarantee
   that the application would properly detect or respond to congestion.
   DCCP kernel APIs will have no such issues, since DCCP implements
   congestion control itself.

また、DCCPは頼り無いトラフィックに電子証券取引ネットワークを安全に使用させます。 API以来できる電子証券取引ネットワークが、アプリケーションが適切に混雑に検出するか、または反応するのを保証できなかったようにアプリケーションはUDPカーネルApplication Programming Interface(API)でUDPパケットを設定できないかもしれません。 DCCPが、混雑がコントロール自体であると実装するので、DCCPカーネルAPIには、どんなそのような問題もないでしょう。

   We chose not to require the use of the Congestion Manager [RFC3124],
   which allows multiple concurrent streams between the same sender and
   receiver to share congestion control.  The current Congestion Manager
   can only be used by applications that have their own end-to-end
   feedback about packet losses, but this is not the case for many of
   the applications currently using UDP.  In addition, the current
   Congestion Manager does not easily support multiple congestion

私たちは、同じ送付者と受信機の間の複数の同時発生のストリームに輻輳制御を共有させるCongestionマネージャ[RFC3124]の使用を必要としないのを選びました。 終わりから終わりへのパケット損失に関するそれら自身のフィードバックを持っているアプリケーションで現在のCongestionマネージャを使用できるだけですが、これは現在UDPを使用するアプリケーションの多くのそうではありません。 さらに、現在のCongestionマネージャは容易に複数の混雑をサポートしません。

Kohler, et al.              Standards Track                     [Page 6]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[6ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   control mechanisms or mechanisms where the state about past packet
   drops or marks is maintained at the receiver rather than the sender.
   DCCP should be able to make use of CM where desired by the
   application, but we do not see any benefit in making the deployment
   of DCCP contingent on the deployment of CM itself.

過去のパケット滴かマークに関する状態が送付者よりむしろ受信機で維持されるメカニズムかメカニズムを制御してください。 DCCPはアプリケーションで必要であるところでCMを利用するはずであることができますが、私たちはCM自体の展開次第でDCCPの展開をする際に少しの利益も見ません。

   We intend for DCCP's protocol mechanisms, which are described in this
   document, to suit any application desiring unicast congestion-
   controlled streams of unreliable datagrams.  However, the congestion
   control mechanisms currently approved for use with DCCP, which are
   described in separate Congestion Control ID Profiles [RFC4341,
   RFC4342], may cause problems for some applications, including high-
   bandwidth interactive video.  These applications should be able to
   use DCCP once suitable Congestion Control ID Profiles are
   standardized.

(メカニズムはしかしながら、現在別々のCongestion Control ID Profiles[RFC4341、RFC4342]で説明されるDCCPとの使用のために承認されている輻輳制御メカニズムがいくつかのアプリケーションのために問題を起こすかもしれないということです)。高い帯域幅双方向テレビを含んでいて、私たちはDCCPのプロトコルメカニズムのために意図します。このドキュメントで説明されていて、ユニキャスト混雑を望んでいるどんなアプリケーションにも合うのは頼り無いデータグラムのストリームを制御しました。 適当なCongestion Control ID Profilesがいったん標準化されると、これらのアプリケーションはDCCPを使用できるべきです。

3.  Conventions and Terminology

3. コンベンションと用語

   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 [RFC2119].

キーワード“MUST"、「必須NOT」が「必要です」、“SHALL"、「」、“SHOULD"、「「推薦され」て、「5月」の、そして、「任意」のNOTは[RFC2119]で説明されるように本書では解釈されることであるべきですか?

3.1.  Numbers and Fields

3.1. 数と分野

   All multi-byte numerical quantities in DCCP, such as port numbers,
   Sequence Numbers, and arguments to options, are transmitted in
   network byte order (most significant byte first).

DCCPのポートナンバーなどのすべてのマルチバイト数量(Sequence民数記、およびオプションへの議論)がネットワークバイトオーダーで伝えられる、(最も重要なバイト、1番目)

   We occasionally refer to the "left" and "right" sides of a bit field.
   "Left" means towards the most significant bit, and "right" means
   towards the least significant bit.

私たちは時折しばらく分野の「左」で「正しい」端を参照します。 最も重要なビットに向かった「左」の手段、および最下位ビットに向かった「正しい」手段。

   Random numbers in DCCP are used for their security properties and
   SHOULD be chosen according to the guidelines in [RFC4086].

DCCPの乱数はそれらのセキュリティの特性とSHOULDに使用されます。[RFC4086]のガイドラインによると、選ばれています。

   All operations on DCCP sequence numbers use circular arithmetic
   modulo 2^48, as do comparisons such as "greater" and "greatest".
   This form of arithmetic preserves the relationships between sequence
   numbers as they roll over from 2^48 - 1 to 0.  Implementation
   strategies for DCCP sequence numbers will resemble those for other
   circular arithmetic spaces, including TCP's sequence numbers [RFC793]
   and DNS's serial numbers [RFC1982].  It may make sense to store DCCP
   sequence numbers in the most significant 48 bits of 64-bit integers
   and set the least significant 16 bits to zero, since this supports a
   common technique that implements circular comparison A < B by testing
   whether (A - B) < 0 using conventional two's-complement arithmetic.

DCCP一連番号におけるすべての操作が「よりすばらしいこと」や「最もすばらしい」ように比較のような円形の算数の法2^48を使用します。 2^48--1から0にひっくり返るとき、このフォームの演算は一連番号の間の関係を保存します。 DCCP一連番号のための実装戦略は他の円形の算数の空間へのそれらに類似するでしょう、TCPの一連番号[RFC793]とDNSの通し番号[RFC1982]を含んでいて。 それは、64ビットの整数の最も重要な48ビットの店DCCP一連番号に理解できて、最も重要でない16ビットをゼロに設定するかもしれません、これが円形の比較Aが<Bであると(A--B)<0使用従来であるか否かに関係なく、テストすることによって実装する一般的なテクニックに2補数の演算をサポートするので。

Kohler, et al.              Standards Track                     [Page 7]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[7ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Reserved bitfields in DCCP packet headers MUST be set to zero by
   senders and MUST be ignored by receivers, unless otherwise specified.
   This allows for future protocol extensions.  In particular, DCCP
   processors MUST NOT reset a DCCP connection simply because a Reserved
   field has non-zero value [RFC3360].

DCCPパケットのヘッダーの予約されたbitfieldsを送付者がゼロに用意ができなければならなくて、受信機で無視しなければなりません、別の方法で指定されない場合。 これは今後のプロトコル拡大を考慮します。 単にReserved分野には非ゼロ値[RFC3360]があるので、特に、DCCPプロセッサがDCCP接続をリセットしてはいけません。

3.2.  Parts of a Connection

3.2. 接続の部分

   Each DCCP connection runs between two hosts, which we often name DCCP
   A and DCCP B.  Each connection is actively initiated by one of the
   hosts, which we call the client; the other, initially passive host is
   called the server.  The term "DCCP endpoint" is used to refer to
   either of the two hosts explicitly named by the connection (the
   client and the server).  The term "DCCP processor" refers more
   generally to any host that might need to process a DCCP header; this
   includes the endpoints and any middleboxes on the path, such as
   firewalls and network address translators.

私たちはしばしばそのホストをDCCP Aに任命します。それぞれのDCCP接続は2人のホストを間を走ります、そして、DCCP B.Each接続はホストのひとりによって活発に開始されます。そのホストに私たちはクライアントと呼びます。 他の、そして、初めは受け身のホストはサーバと呼ばれます。「DCCP終点」という用語は、接続(クライアントとサーバ)によって明らかに指定された2人のホストのどちらかについて言及するのに使用されます。 より一般に、「DCCPプロセッサ」という用語はDCCPヘッダーを処理する必要があるかもしれないどんなホストについても言及します。 これは経路のファイアウォールやネットワークアドレス変換機構などの終点とどんなmiddleboxesも含んでいます。

   DCCP connections are bidirectional: data may pass from either
   endpoint to the other.  This means that data and acknowledgements may
   flow in both directions simultaneously.  Logically, however, a DCCP
   connection consists of two separate unidirectional connections,
   called half-connections.  Each half-connection consists of the
   application data sent by one endpoint and the corresponding
   acknowledgements sent by the other endpoint.  We can illustrate this
   as follows:

DCCP接続は双方向です: データはどちらかの終点からもう片方まで終わるかもしれません。 これは、データと承認が同時に両方の方向に流れるかもしれないことを意味します。 半分接続は、しかしながら、論理的に、DCCP接続が2つの別々の単方向の接続から成ると呼びました。 それぞれの半分接続は1つの終点によって送られたアプリケーションデータともう片方の終点によって送られた対応する承認から成ります。 私たちは以下の通りこれを例証できます:

      +--------+  A-to-B half-connection:         +--------+
      |        |    -->  application data  -->    |        |
      |        |    <--  acknowledgements  <--    |        |
      | DCCP A |                                  | DCCP B |
      |        |  B-to-A half-connection:         |        |
      |        |    <--  application data  <--    |        |
      +--------+    -->  acknowledgements  -->    +--------+

+--------+ AからBとの半分接続: +--------+ | | -->アプリケーションデータ-->。| | | | <-- 承認<--| | | DCCP A| | DCCP B| | | BからAとの半分接続: | | | | <-- アプリケーションデータ<--| | +--------+-->承認-->+--------+

   Although they are logically distinct, in practice the half-
   connections overlap; a DCCP-DataAck packet, for example, contains
   application data relevant to one half-connection and acknowledgement
   information relevant to the other.

それらは論理的に異なっていますが、実際には、半分接続は重なります。 例えば、DCCP-DataAckパケットは半分接続に関連しているアプリケーションデータともう片方に関連している承認情報を含んでいます。

   In the context of a single half-connection, the terms "HC-Sender" and
   "HC-Receiver" denote the endpoints sending application data and
   acknowledgements, respectively.  For example, DCCP A is the
   HC-Sender and DCCP B is the HC-Receiver in the A-to-B
   half-connection.

単独の半分接続の文脈では、用語「HC-送付者」と「HC-受信機」はそれぞれアプリケーションデータと承認を送る終点を指示します。 例えば、DCCP AはHC-送付者です、そして、DCCP BはAからBとの半分接続でHC-受信機です。

Kohler, et al.              Standards Track                     [Page 8]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[8ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

3.3.  Features

3.3. 特徴

   A DCCP feature is a connection attribute on whose value the two
   endpoints agree.  Many properties of a DCCP connection are controlled
   by features, including the congestion control mechanisms in use on
   the two half-connections.  The endpoints achieve agreement through
   the exchange of feature negotiation options in DCCP headers.

DCCPの特徴は2つの終点がだれの値に同意するかの接続属性です。 DCCP接続の多くの特性が特徴によって制御されます、2つの半分接続のときに使用中の混雑制御機構を含んでいて。 終点はDCCPヘッダーの特徴交渉オプションの交換を通して協定を達成します。

   DCCP features are identified by a feature number and an endpoint.
   The notation "F/X" represents the feature with feature number F
   located at DCCP endpoint X.  Each valid feature number thus
   corresponds to two features, which are negotiated separately and need
   not have the same value.  The two endpoints know, and agree on, the
   value of every valid feature.  DCCP A is the "feature location" for
   all features F/A, and the "feature remote" for all features F/B.

DCCPの特徴は特徴番号と終点によって特定されます。 特徴番号FがDCCP終点X.に位置している状態で、記法「F/X」は特徴を表します。(特徴は別々に交渉されます)。それぞれの有効な特徴番号には、その結果、2つの特徴に対応している、同じ値がある必要はありません。 2つの終点が、あらゆる有効な特徴の値を知って、同意します。 そして、DCCP Aがすべての特徴F/Aのための「特徴位置」である、すべての特徴F/Bのために「特徴リモートです」。

3.4.  Round-Trip Times

3.4. 往復の回

   DCCP round-trip time measurements are performed by congestion control
   mechanisms; different mechanisms may measure round-trip time in
   different ways, or not measure it at all.  However, the main DCCP
   protocol does use round-trip times occasionally, such as in the
   initial values for certain timers.  Each DCCP implementation thus
   defines a default round-trip time for use when no estimate is
   available.  This parameter should default to not less than 0.2
   seconds, a reasonably conservative round-trip time for Internet TCP
   connections.  Protocol behavior specified in terms of "round-trip
   time" values actually refers to "a current round-trip time estimate
   taken by some CCID, or, if no estimate is available, the default
   round-trip time parameter".

DCCPの往復の時間測定は混雑制御機構によって実行されます。 異なったメカニズムは、異なった方法で往復の時間を測定しないか、それを全く測定しないかもしれません。 しかしながら、主なDCCPプロトコルはあるタイマに初期の値などのように時折往復の回を使用します。 その結果、それぞれのDCCP実装は使用のための見積りがないのが有効であるデフォルトの往復の時を定義します。 このパラメタは少なくとも0.2秒、インターネットTCP接続には、合理的に保守的な往復の時間をデフォルトとするべきです。 「往復の時間」値で指定されたプロトコルの振舞いは実際に「または見積りでないならいくらかのCCIDが取られた現在の往復の時間見積りが有効であり、デフォルトは往復の時間パラメタです」を参照します。

   The maximum segment lifetime, or MSL, is the maximum length of time a
   packet can survive in the network.  The DCCP MSL should equal that of
   TCP, which is normally two minutes.

最大のセグメント生涯、またはMSLがパケットがネットワークで乗り切ることができる時間の最大の長さです。 DCCP MSLは2分間のTCPのものと等しいはずです。(通常、TCPはそうです)。

3.5.  Security Limitation

3.5. セキュリティ制限

   DCCP provides no protection against attackers who can snoop on a
   connection in progress, or who can guess valid sequence numbers in
   other ways.  Applications desiring stronger security should use IPsec
   [RFC2401]; depending on the level of security required, application-
   level cryptography may also suffice.  These issues are discussed
   further in Sections 7.5.5 and 18.

DCCPは進行中の接続のときに詮索できるか、または他の方法で有効な一連番号を推測できる攻撃者に対してノー・プロテクションを提供します。 より強いセキュリティを望んでいるアプリケーションはIPsec[RFC2401]を使用するべきです。 セキュリティのレベルに依存するのが必要であり、また、アプリケーションレベル暗号は十分であるかもしれません。 セクション7.5.5と18で、より詳しくこれらの問題について議論します。

Kohler, et al.              Standards Track                     [Page 9]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[9ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

3.6.  Robustness Principle

3.6. 堅牢性の原則

   DCCP implementations will follow TCP's "general principle of
   robustness": "be conservative in what you do, be liberal in what you
   accept from others" [RFC793].

DCCP実装はTCPの「丈夫さの一般的な原則」に続くでしょう: 「あなたがすることで保守的であってください、そして、あなたが他のものから受け入れるもので寛容であってください。」[RFC793]

4.  Overview

4. 概要

   DCCP's high-level connection dynamics echo those of TCP.  Connections
   progress through three phases: initiation, including a three-way
   handshake; data transfer; and termination.  Data can flow both ways
   over the connection.  An acknowledgement framework lets senders
   discover how much data has been lost and thus avoid unfairly
   congesting the network.  Of course, DCCP provides unreliable datagram
   semantics, not TCP's reliable bytestream semantics.  The application
   must package its data into explicit frames and must retransmit its
   own data as necessary.  It may be useful to think of DCCP as TCP
   minus bytestream semantics and reliability, or as UDP plus congestion
   control, handshakes, and acknowledgements.

DCCPのハイレベルの接続力学はTCPのものを反響します。 コネクションズは三相を通して進歩をします: 3方向ハンドシェイクを含んでいる開始 データ転送。 そして、終了。 データは流れることができます。接続の上の両方の道。 承認フレームワークで、送付者は、どのくらいのデータが失われたかを発見して、その結果、ネットワークを不公平に充血させるのを避けることができます。 もちろん、DCCPはTCPの信頼できるbytestream意味論ではなく、頼り無いデータグラム意味論を提供します。 アプリケーションは、明白なフレームにデータをパッケージしなければならなくて、必要に応じてそれ自身のデータを再送しなければなりません。 bytestream意味論を引いたTCPと信頼性として、または、UDPと、輻輳制御と、握手と、承認としてDCCPを考えるのは役に立つかもしれません。

4.1.  Packet Types

4.1. パケットタイプ

   Ten packet types implement DCCP's protocol functions.  For example,
   every new connection attempt begins with a DCCP-Request packet sent
   by the client.  In this way a DCCP-Request packet resembles a TCP
   SYN, but since DCCP-Request is a packet type there is no way to send
   an unexpected flag combination, such as TCP's SYN+FIN+ACK+RST.

10のパケットタイプが、DCCPのプロトコルが機能であると実装します。 例えば、あらゆる新しい接続試みがクライアントによって送られたDCCP-リクエスト・パケットと共に始まります。 このように、DCCP-リクエスト・パケットはTCP SYNに類似していますが、予期していなかった旗の組み合わせを送る方法が全くDCCP-要求がパケットタイプであることでありません、TCPのSYN+FIN+ACK+RSTなどのように。

   Eight packet types occur during the progress of a typical connection,
   shown here.  Note the three-way handshakes during initiation and
   termination.

8つのパケットタイプがここに示された典型的な接続の進歩の間、起こります。 開始と終了の間、3方向ハンドシェイクに注意してください。

      Client                                      Server
      ------                                      ------
                       (1) Initiation
      DCCP-Request -->
                                       <-- DCCP-Response
      DCCP-Ack -->
                       (2) Data transfer
      DCCP-Data, DCCP-Ack, DCCP-DataAck -->
                   <-- DCCP-Data, DCCP-Ack, DCCP-DataAck
                       (3) Termination
                                       <-- DCCP-CloseReq
      DCCP-Close -->
                                          <-- DCCP-Reset

クライアントサーバ------ ------ (1) 開始DCCP-要求--><--DCCP-応答DCCP-Ack-->(2)データ転送DCCP-データ、DCCP-Ack DCCP-DataAck--><--DCCP-データ、DCCP-Ack、DCCP-DataAck(3)終了<--DCCP-CloseReq DCCP-閉鎖--><--DCCP-リセット

   The two remaining packet types are used to resynchronize after bursts
   of loss.

2つの残っているパケットタイプが、損失の炸裂の後に再連動するのに使用されます。

Kohler, et al.              Standards Track                    [Page 10]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[10ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Every DCCP packet starts with a fixed-size generic header.
   Particular packet types include additional fixed-size header data;
   for example, DCCP-Acks include an Acknowledgement Number.  DCCP
   options and any application data follow the fixed-size header.

あらゆるDCCPパケットが固定サイズジェネリックヘッダーから始めます。 特定のパケットタイプは追加固定サイズヘッダー・データを入れます。 例えば、DCCP-AcksはAcknowledgement Numberを含んでいます。 DCCPオプションとどんなアプリケーションデータも固定サイズヘッダーに続きます。

   The packet types are as follows:

パケットタイプは以下の通りです:

   DCCP-Request
      Sent by the client to initiate a connection (the first part of the
      three-way initiation handshake).

接続(3者間の開始握手の最初の部分)を開始するようクライアントによるSentにDCCP要求してください。

   DCCP-Response
      Sent by the server in response to a DCCP-Request (the second part
      of the three-way initiation handshake).

DCCP-要求(3者間の開始握手の第二部)に対応したサーバによるDCCP-応答Sent。

   DCCP-Data
      Used to transmit application data.

アプリケーションデータを伝えるDCCP-データUsed。

   DCCP-Ack
      Used to transmit pure acknowledgements.

純粋な承認を伝えるDCCP-Ack Used。

   DCCP-DataAck
      Used to transmit application data with piggybacked acknowledgement
      information.

便乗している承認情報でアプリケーションデータを伝えるDCCP-DataAck Used。

   DCCP-CloseReq
      Sent by the server to request that the client close the
      connection.

クライアントが接続を終えるよう要求するサーバによるDCCP-CloseReq Sent。

   DCCP-Close
      Used by the client or the server to close the connection; elicits
      a DCCP-Reset in response.

接続を終えるクライアントかサーバによるDCCP近いUsed。 応答におけるDCCP-リセットを引き出します。

   DCCP-Reset
      Used to terminate the connection, either normally or abnormally.

接続を終える通常か異常にDCCP-リセットUsed。

   DCCP-Sync, DCCP-SyncAck
      Used to resynchronize sequence numbers after large bursts of loss.

DCCP-同時性、損失の大きい炸裂の後に一連番号を再連動させるDCCP-SyncAck Used。

4.2.  Packet Sequencing

4.2. パケット順序制御

   Each DCCP packet carries a sequence number so that losses can be
   detected and reported.  Unlike TCP sequence numbers, which are byte-
   based, DCCP sequence numbers increment by one per packet.  For
   example:

それぞれのDCCPパケットが一連番号を運ぶので、損失を検出して、報告できます。 TCP一連番号と異なって。一連番号はベースのDCCP一連番号が1パケットあたり1つ増加するバイトです。 例えば:

Kohler, et al.              Standards Track                    [Page 11]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[11ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

      DCCP A                                      DCCP B
      ------                                      ------
      DCCP-Data(seqno 1) -->
      DCCP-Data(seqno 2) -->
                         <-- DCCP-Ack(seqno 10, ackno 2)
      DCCP-DataAck(seqno 3, ackno 10) -->
                                 <-- DCCP-Data(seqno 11)

DCCPはDCCP Bです。------ ------ DCCP-データ(seqno1)-->DCCP-データ(seqno2)--><--DCCP-Ack(seqno10、ackno2)DCCP-DataAck(seqno3、ackno10)--><--DCCP-データ(seqno11)

   Every DCCP packet increments the sequence number, whether or not it
   contains application data.  DCCP-Ack pure acknowledgements increment
   the sequence number; for instance, DCCP B's second packet above uses
   sequence number 11, since sequence number 10 was used for an
   acknowledgement.  This lets endpoints detect all packet loss,
   including acknowledgement loss.  It also means that endpoints can get
   out of sync after long bursts of loss.  The DCCP-Sync and DCCP-
   SyncAck packet types are used to recover (Section 7.5).

それがアプリケーションデータを含んでいるか否かに関係なく、あらゆるDCCPパケットが一連番号を増加します。 DCCP-Ackの純粋な承認は一連番号を増加します。 例えば、一連番号10が承認に使用されたので、上のDCCPビーズ2番目のパケットは一連番号11を使用します。 これで、終点は承認の損失を含むすべてのパケット損失を検出します。 また、それは、終点が損失の長い炸裂の後に同期するようにならないことができないことを意味します。 DCCP-同時性とDCCP- SyncAckパケットタイプは、(セクション7.5)を回復するのに使用されます。

   Since DCCP provides unreliable semantics, there are no
   retransmissions, and having a TCP-style cumulative acknowledgement
   field doesn't make sense.  DCCP's Acknowledgement Number field equals
   the greatest sequence number received, rather than the smallest
   sequence number not received.  Separate options indicate any
   intermediate sequence numbers that weren't received.

DCCPが頼り無い意味論を提供するので、「再-トランスミッション」が全くありません、そして、TCP-スタイルの累積している承認分野を持っているのは理解できません。 DCCPのAcknowledgement Number分野は最も小さいというよりむしろ容認された一連番号が受けなかった最大級の一連番号と等しいです。 別々のオプションは受け取られなかったどんな中間的一連番号も示します。

4.3.  States

4.3. 状態

   DCCP endpoints progress through different states during the course of
   a connection, corresponding roughly to the three phases of
   initiation, data transfer, and termination.  The figure below shows
   the typical progress through these states for a client and server.

DCCP終点は接続のコースの間、異なった州を通って進歩をします、およそ開始、データ転送、および終了の三相に対応している。 これらを通した典型的な進歩がクライアントとサーバのために述べるショーの下における図。

Kohler, et al.              Standards Track                    [Page 12]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[12ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

      Client                                             Server
      ------                                             ------
                        (0) No connection
      CLOSED                                             LISTEN

クライアントサーバ------ ------ (0) 接続CLOSED LISTENがありません。

                        (1) Initiation
      REQUEST      DCCP-Request -->
                                   <-- DCCP-Response     RESPOND
      PARTOPEN     DCCP-Ack or DCCP-DataAck -->

(1) DCCP-応答がPARTOPEN DCCP-AckかDCCP-DataAckを反応させるという開始要求DCCP-要求(><)-->。

                        (2) Data transfer
      OPEN          <-- DCCP-Data, Ack, DataAck -->      OPEN

(2) データ転送オープン<--DCCP-データ、Ack、DataAck-->オープン

                        (3) Termination
                                   <-- DCCP-CloseReq     CLOSEREQ
      CLOSING      DCCP-Close -->
                                      <-- DCCP-Reset     CLOSED
      TIMEWAIT
      CLOSED

(3)終了<--DCCP-閉鎖を閉じるDCCP-CloseReq CLOSEREQ--><--DCCP-リセットの閉じているTIMEWAITは閉じました。

   The nine possible states are as follows.  They are listed in
   increasing order, so that "state >= CLOSEREQ" means the same as
   "state = CLOSEREQ or state = CLOSING or state = TIMEWAIT".  Section 8
   describes the states in more detail.

9つの可能な州は以下の通りです。 それらは増加するオーダーに記載されています、「状態がCLOSEREQと等しいです、状態がCLOSINGと等しいです、または状態はTIMEWAITと等しい」ときに「州の>はCLOSEREQと等しいこと」が同じであることを意味するように。 セクション8はさらに詳細に州について説明します。

   CLOSED
      Represents nonexistent connections.

CLOSED Representsの実在しない接続。

   LISTEN
      Represents server sockets in the passive listening state.  LISTEN
      and CLOSED are not associated with any particular DCCP connection.

状態を聴く受動態のLISTEN Representsサーバソケット。 LISTENとCLOSEDはどんな特定のDCCP接続にも関連づけられません。

   REQUEST
      A client socket enters this state, from CLOSED, after sending a
      DCCP-Request packet to try to initiate a connection.

接続を開始しようとするためにDCCP-リクエスト・パケットを送った後に、REQUEST AクライアントソケットはCLOSEDからこの状態に入ります。

   RESPOND
      A server socket enters this state, from LISTEN, after receiving a
      DCCP-Request from a client.

クライアントからDCCP-要求を受け取った後に、RESPOND AサーバソケットはLISTENからこの状態に入ります。

   PARTOPEN
      A client socket enters this state, from REQUEST, after receiving a
      DCCP-Response from the server.  This state represents the third
      phase of the three-way handshake.  The client may send application
      data in this state, but it MUST include an Acknowledgement Number
      on all of its packets.

PARTOPEN Aクライアントソケットはこの状態に入ります、REQUESTから、サーバからDCCP-応答を受けた後に。この州は3方向ハンドシェイクの3番目のフェーズを表します。 クライアントはこの状態でアプリケーションデータを送るかもしれませんが、それはパケットのすべてのAcknowledgement Numberを含まなければなりません。

Kohler, et al.              Standards Track                    [Page 13]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[13ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   OPEN
      The central data transfer portion of a DCCP connection.  Client
      and server sockets enter this state from PARTOPEN and RESPOND,
      respectively.  Sometimes we speak of SERVER-OPEN and CLIENT-OPEN
      states, corresponding to the server's OPEN state and the client's
      OPEN state.

主要なデータ転送が分配するDCCP接続のオープン。 クライアントとサーバソケットはPARTOPENとRESPONDからこの状態にそれぞれ入ります。 サーバのオープン州とクライアントのオープン状態に対応する、時々、私たちはSERVER-オープンとCLIENT-オープン州について話します。

   CLOSEREQ
      A server socket enters this state, from SERVER-OPEN, to order the
      client to close the connection and to hold TIMEWAIT state.

CLOSEREQ Aサーバソケットは、接続を終えて、TIMEWAIT状態を保持するようクライアントに命令するためにSERVER-オープンからこの状態に入ります。

   CLOSING
      Server and client sockets can both enter this state to close the
      connection.

CLOSING Serverとクライアントソケットは、接続を終えるためにともにこの状態に入ることができます。

   TIMEWAIT
      A server or client socket remains in this state for 2MSL (4
      minutes) after the connection has been torn down, to prevent
      mistakes due to the delivery of old packets.  Only one of the
      endpoints has to enter TIMEWAIT state (the other can enter CLOSED
      state immediately), and a server can request its client to hold
      TIMEWAIT state using the DCCP-CloseReq packet type.

古いパケットの配送による誤りを防ぐために接続を取りこわした(4分)後にTIMEWAIT Aサーバかクライアントソケットが2MSLのためのこの州に残っています。 終点の1つだけがTIMEWAIT状態に入らなければなりません、そして、(もう片方がすぐに、CLOSED状態に入ることができます)サーバはDCCP-CloseReqパケットタイプを使用することでTIMEWAIT状態を保持するようクライアントに要求できます。

4.4.  Congestion Control Mechanisms

4.4. 輻輳制御メカニズム

   DCCP connections are congestion controlled, but unlike in TCP, DCCP
   applications have a choice of congestion control mechanism.  In fact,
   the two half-connections can be governed by different mechanisms.
   Mechanisms are denoted by one-byte congestion control identifiers, or
   CCIDs.  The endpoints negotiate their CCIDs during connection
   initiation.  Each CCID describes how the HC-Sender limits data packet
   rates, how the HC-Receiver sends congestion feedback via
   acknowledgements, and so forth.  CCIDs 2 and 3 are currently defined;
   CCIDs 0, 1, and 4-255 are reserved.  Other CCIDs may be defined in
   the future.

DCCP接続は、制御された混雑ですが、TCP、DCCPアプリケーションなどと異なって混雑制御機構の選択を持っています。 事実上、異なったメカニズムは2つの半分接続を管理できます。メカニズムは1バイトの輻輳制御の識別子、またはCCIDsによって指示されます。 終点は接続開始の間、それらのCCIDsを交渉します。 各CCIDはHC-送付者がどうデータ・パケットレートを制限するかを説明します、HC-受信機が承認などでどう混雑フィードバックを送るか。 CCIDs2と3は現在、定義されます。 CCIDs0、1、および4-255は予約されています。 他のCCIDsは将来、定義されるかもしれません。

   CCID 2 provides TCP-like Congestion Control, which is similar to that
   of TCP.  The sender maintains a congestion window and sends packets
   until that window is full.  Packets are acknowledged by the receiver.
   Dropped packets and ECN [RFC3168] indicate congestion; the response
   to congestion is to halve the congestion window.  Acknowledgements in
   CCID 2 contain the sequence numbers of all received packets within
   some window, similar to a selective acknowledgement (SACK) [RFC2018].

CCID2はTCPのようなCongestion Controlを提供します。(Congestion ControlはTCPのものと同様です)。 送付者は、混雑ウィンドウを維持して、その窓が完全になるまで、パケットを送ります。 パケットは受信機によって承認されます。下げられたパケットと電子証券取引ネットワーク[RFC3168]は混雑を示します。 混雑への応答は混雑ウィンドウを半分にすることです。 CCID2での承認はある窓選択している承認と同様(SACK)の[RFC2018]の中にすべての容認されたパケットの一連番号を含んでいます。

   CCID 3 provides TCP-Friendly Rate Control (TFRC), an equation-based
   form of congestion control intended to respond to congestion more
   smoothly than CCID 2.  The sender maintains a transmit rate, which it
   updates using the receiver's estimate of the packet loss and mark

CCID3はTCP好意的なRate Control(TFRC)(CCID2よりスムーズに混雑に応じることを意図する方程式ベースの形式の輻輳制御)を提供します。 送付者は、aがレートを伝えると主張します。(それは、受信機のパケット損失とマークの見積りを使用することでレートをアップデートします)。

Kohler, et al.              Standards Track                    [Page 14]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[14ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   rate.  CCID 3 behaves somewhat differently than TCP in the short
   term, but is designed to operate fairly with TCP over the long term.

評価してください。 CCID3は、短期でいくらかTCPと異なって振る舞いますが、長期的に見るとTCPと共に公正に作動するように設計されています。

   Section 10 describes DCCP's CCIDs in more detail.  The behaviors of
   CCIDs 2 and 3 are fully defined in separate profile documents
   [RFC4341, RFC4342].

セクション10はさらに詳細にDCCPのCCIDsについて説明します。 CCIDs2と3の振舞いは別々のプロフィールドキュメント[RFC4341、RFC4342]で完全に定義されます。

4.5.  Feature Negotiation Options

4.5. 特徴交渉オプション

   DCCP endpoints use Change and Confirm options to negotiate and agree
   on feature values.  Feature negotiation will almost always happen on
   the connection initiation handshake, but it can begin at any time.

DCCP終点は、特徴値を交渉して、同意するのにChangeとConfirmオプションを使用します。 特徴交渉は接続開始握手のときにほとんどいつも起こるでしょうが、それはいつでも、始まることができます。

   There are four feature negotiation options in all: Change L, Confirm
   L, Change R, and Confirm R.  The "L" options are sent by the feature
   location and the "R" options are sent by the feature remote.  A
   Change R option says to the feature location, "change this feature
   value as follows".  The feature location responds with Confirm L,
   meaning, "I've changed it".  Some features allow Change R options to
   contain multiple values sorted in preference order.  For example:

全部で4つの特徴交渉オプションがあります: 特徴位置でConfirm L、Change R、およびConfirm R.「L」オプションを送ります、そして、Lを変えてください、そして、特徴でリモートな状態で「R」オプションを送ります。 「以下のこの特徴値を変えてください。」と、Change Rオプションは特徴位置に言います。 「私はそれを変えました」と意味して、特徴位置はConfirm Lと共に応じます。 いくつかの特徴で、Change Rオプションは好みの命令で分類された複数の値を含むことができます。 例えば:

      Client                                        Server
      ------                                        ------
      Change R(CCID, 2) -->
                                    <-- Confirm L(CCID, 2)
                 * agreement that CCID/Server = 2 *

クライアントサーバ------ ------ 変化R(CCID、2)(><)はCCID/サーバが2*と等しいというL(CCID、2)*協定を確認します。

      Change R(CCID, 3 4) -->
                               <-- Confirm L(CCID, 4, 4 2)
                 * agreement that CCID/Server = 4 *

変化R(CCID、3 4)(><)はCCID/サーバが4*と等しいというL(CCID、4、4 2)*協定を確認します。

   Both exchanges negotiate the CCID/Server feature's value, which is
   the CCID in use on the server-to-client half-connection.  In the
   second exchange, the client requests that the server use either CCID
   3 or CCID 4, with 3 preferred; the server chooses 4 and supplies its
   preference list, "4 2".

両方の交換はCCID/サーバフィーチャーの値を交渉します。(それは、サーバからクライアントとの半分接続のときに使用中のCCIDです)。 2番目の交換、サーバが使用するクライアント要求、CCID3かCCID4のどちらか3が都合のよい状態で。 サーバが4を選んで、好みのリストを提供する、「4 2インチ」

   The Change L and Confirm R options are used for feature negotiations
   initiated by the feature location.  In the following example, the
   server requests that CCID/Server be set to 3 or 2, with 3 preferred,
   and the client agrees.

Change LとConfirm Rオプションは特徴位置によって開始された特徴交渉に使用されます。 以下の例では、サーバは、CCID/サーバが3か2に設定されるよう3が都合のよい状態で要求します、そして、クライアントは同意します。

Kohler, et al.              Standards Track                    [Page 15]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[15ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

      Client                                       Server
      ------                                       ------
                                  <-- Change L(CCID, 3 2)
      Confirm R(CCID, 3, 3 2)  -->
                 * agreement that CCID/Server = 3 *

クライアントサーバ------ ------ <-- 変化L(CCID、3 2)はR(CCID、3、3 2)を確認します-->*、CCID/サーバが3*と等しいという協定

   Section 6 describes the feature negotiation options further,
   including the retransmission strategies that make negotiation
   reliable.

交渉を信頼できるようにする「再-トランスミッション」戦略を含んでいて、セクション6はさらに特徴交渉オプションについて説明します。

4.6.  Differences from TCP

4.6. TCPからの違い

   DCCP's differences from TCP apart from those discussed so far include
   the following:

今までのところ議論しているものは別としてTCPからのDCCPの違いは以下を含んでいます:

   o  Copious space for options (up to 1008 bytes or the PMTU).

o オプション(最大1008バイトかPMTU)のための豊富なスペース。

   o  Different acknowledgement formats.  The CCID for a connection
      determines how much acknowledgement information needs to be
      transmitted.  For example, in CCID 2 (TCP-like), this is about one
      ack per 2 packets, and each ack must declare exactly which packets
      were received.  In CCID 3 (TFRC), it is about one ack per round-
      trip time, and acks must declare at minimum just the lengths of
      recent loss intervals.

o 異なった承認形式。 接続のためのCCIDは、どのくらいの承認情報が、伝えられる必要であるかを決定します。 例えば、2つのパケットあたりこれはCCID2(TCPのような)では、およそ1ackです、そして、ackがどのパケットであるかとまさに宣言しなければならないそれぞれを受け取りました。 CCID3(TFRC)では、それは丸い旅行時間あたりおよそ1ackです、そして、acksは最近の損失間隔の最小の長さで宣言しなければなりません。

   o  Denial of Service (DoS) protection.  Several mechanisms help limit
      the amount of state that possibly-misbehaving clients can force
      DCCP servers to maintain.  An Init Cookie option analogous to
      TCP's SYN Cookies [SYNCOOKIES] avoids SYN-flood-like attacks.
      Only one connection endpoint has to hold TIMEWAIT state; the
      DCCP-CloseReq packet, which may only be sent by the server, passes
      that state to the client.  Various rate limits let servers avoid
      attacks that might force extensive computation or packet
      generation.

o サービス妨害(DoS)保護。 数個のメカニズムが、ことによるとふらちな事ををしているクライアントがDCCPサーバに強制的に維持させることができる状態の量を制限するのを助けます。 TCPのSYN Cookies[SYNCOOKIES]への類似のInit CookieオプションはSYN洪水のような攻撃を避けます。 1つの接続終点だけがTIMEWAIT状態を保持しなければなりません。 DCCP-CloseReqパケット(サーバによって送られるだけであるかもしれない)はその状態をクライアントに渡します。 様々なレート限界で、サーバは大規模な計算かパケット世代を強制するかもしれない攻撃を避けます。

   o  Distinguishing different kinds of loss.  A Data Dropped option
      (Section 11.7) lets an endpoint declare that a packet was dropped
      because of corruption, because of receive buffer overflow, and so
      on.  This facilitates research into more appropriate rate-control
      responses for these non-network-congestion losses (although
      currently such losses will cause a congestion response).

o 異種の損失を区別します。 Data Droppedオプション(セクション11.7)で終点は、パケットが不正のために下げられたと宣言します、受信バッファオーバーフローなどのために。 これはこれらの非ネットワークの混雑の損失のための、より適切な速度制御応答の研究を容易にします(現在のそのような損失が混雑応答を引き起こすでしょうが)。

   o  Acknowledgeability.  In TCP, a packet may be acknowledged only
      once the data is reliably queued for application delivery.  This
      does not make sense in DCCP, where an application might, for
      example, request a drop-from-front receive buffer.  A DCCP packet
      may be acknowledged as soon as its header has been successfully
      processed.  Concretely, a packet becomes acknowledgeable at Step 8

o Acknowledgeability。 TCPでは、データがアプリケーションの配布のためにいったん確かに列に並ばせられるとだけ、パケットは承認されるかもしれません。 これはDCCPで理解できません。例えば、アプリケーションはそこで前部からの低下受信バッファを要求するかもしれません。 ヘッダーが首尾よく処理されるとすぐに、DCCPパケットは承認されるかもしれません。 具体的に、パケットはStep8で承認可能になります。

Kohler, et al.              Standards Track                    [Page 16]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[16ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

      of Section 8.5's packet processing pseudocode.  Acknowledgeability
      does not guarantee data delivery, however: the Data Dropped option
      may later report that the packet's application data was discarded.

セクション8.5のパケット処理擬似コードについて。 しかしながら、Acknowledgeabilityはデータ配送を保証しません: Data Droppedオプションは、後でパケットのアプリケーションデータが捨てられたと報告するかもしれません。

   o  No receive window.  DCCP is a congestion control protocol, not a
      flow control protocol.

o いいえは窓を受けます。 DCCPはフロー制御プロトコルではなく、輻輳制御プロトコルです。

   o  No simultaneous open.  Every connection has one client and one
      server.

o 同時の戸外がありません。 すべての接続には、1人のクライアントと1つのサーバがあります。

   o  No half-closed states.  DCCP has no states corresponding to TCP's
      FINWAIT and CLOSEWAIT, where one half-connection is explicitly
      closed while the other is still active.  The Data Dropped option's
      Drop Code 1, Application Not Listening (Section 11.7), can achieve
      a similar effect, however.

o 半開きな州がありません。 DCCPは州を全くTCPのFINWAITとCLOSEWAITに対応するようにしません。(そこでは、もう片方がまだアクティブである間、半分接続が明らかに閉店します)。 しかしながら、Data DroppedオプションのDrop Code1(Application Not Listening(セクション11.7))は同様の効果を達成できます。

4.7.  Example Connection

4.7. 例の接続

   The progress of a typical DCCP connection is as follows.  (This
   description is informative, not normative.)

典型的なDCCP接続の進歩は以下の通りです。 (この記述は規範的であるのではなく、有益です。)

          Client                                  Server
          ------                                  ------
      0.  [CLOSED]                              [LISTEN]
      1.  DCCP-Request -->
      2.                               <-- DCCP-Response
      3.  DCCP-Ack -->
      4.  DCCP-Data, DCCP-Ack, DCCP-DataAck -->
                   <-- DCCP-Data, DCCP-Ack, DCCP-DataAck
      5.                               <-- DCCP-CloseReq
      6.  DCCP-Close -->
      7.                                  <-- DCCP-Reset
      8.  [TIMEWAIT]

クライアントサーバ------ ------ 0. [閉じられます] [聴きます] 1。 DCCP-要求-->2。 <-- DCCP-応答3。 DCCP-Ack-->4。 DCCP-データ、DCCP-Ack DCCP-DataAck--><--DCCP-データ、DCCP-Ack、DCCP-DataAck5。 <-- DCCP-CloseReq6。 DCCP閉じてください-->7。 <-- DCCP-リセット8。 [TIMEWAIT]

   1. The client sends the server a DCCP-Request packet specifying the
      client and server ports, the service being requested, and any
      features being negotiated, including the CCID that the client
      would like the server to use.  The client may optionally piggyback
      an application request on the DCCP-Request packet.  The server may
      ignore this application request.

1. クライアントはクライアントとサーバポートを指定するDCCP-リクエスト・パケット、要求されているサービス、および交渉されるどんな特徴もサーバに送ります、クライアントが、サーバに使用して欲しいCCIDを含んでいて。 クライアントは任意にDCCP-リクエスト・パケットに関するアプリケーション要求を背負うかもしれません。 サーバはこのアプリケーション要求を無視するかもしれません。

   2. The server sends the client a DCCP-Response packet indicating that
      it is willing to communicate with the client.  This response
      indicates any features and options that the server agrees to,
      begins other feature negotiations as desired, and optionally
      includes Init Cookies that wrap up all this information and that
      must be returned by the client for the connection to complete.

2. サーバはクライアントとコミュニケートしても構わないと思っているのを示すDCCP-応答パケットをクライアントに送ります。 この応答は、サーバが同意するどんな特徴とオプションも示して、望まれるように他の特徴交渉を始めて、任意に、このすべての情報を包んで、接続が完成するクライアントが返さなければならないInit Cookiesを含んでいます。

Kohler, et al.              Standards Track                    [Page 17]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[17ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   3. The client sends the server a DCCP-Ack packet that acknowledges
      the DCCP-Response packet.  This acknowledges the server's initial
      sequence number and returns any Init Cookies in the DCCP-Response.
      It may also continue feature negotiation.  The client may
      piggyback an application-level request on this ack, producing a
      DCCP-DataAck packet.

3. クライアントはDCCP-応答パケットを承認するDCCP-Ackパケットをサーバに送ります。 これは、サーバの初期シーケンス番号を承認して、DCCP-応答でどんなInit Cookiesも返します。 また、それは特徴交渉を続けるかもしれません。 DCCP-DataAckパケットを作り出して、クライアントはこのackに関するアプリケーションレベル要求を背負うかもしれません。

   4. The server and client then exchange DCCP-Data packets, DCCP-Ack
      packets acknowledging that data, and, optionally, DCCP-DataAck
      packets containing data with piggybacked acknowledgements.  If the
      client has no data to send, then the server will send DCCP-Data
      and DCCP-DataAck packets, while the client will send DCCP-Acks
      exclusively.  (However, the client may not send DCCP-Data packets
      before receiving at least one non-DCCP-Response packet from the
      server.)

4. そして、サーバとクライアントはDCCP-データ・パケット、そのデータを承認するDCCP-Ackパケット、および任意に便乗している承認があるデータを含むDCCP-DataAckパケットを交換します。 クライアントに送らないデータが全くあると、サーバはDCCP-データとDCCP-DataAckパケットを送るでしょう、クライアントは排他的にDCCP-Acksを送るでしょうが。 (しかしながら、サーバから少なくとも1つの非DCCPの応答パケットを受ける前に、クライアントはDCCP-データ・パケットを送らないかもしれません。)

   5. The server sends a DCCP-CloseReq packet requesting a close.

5. サーバで、DCCP-CloseReqパケットは閉鎖を要求します。

   6. The client sends a DCCP-Close packet acknowledging the close.

6. クライアントはDCCP近いパケット承認に閉鎖を送ります。

   7. The server sends a DCCP-Reset packet with Reset Code 1, "Closed",
      and clears its connection state.  DCCP-Resets are part of normal
      connection termination; see Section 5.6.

7. サーバは、「閉じられた」Reset Code1があるDCCP-リセットパケットを送って、接続状態をきれいにします。 DCCP-リセットは通常の接続終了の一部です。 セクション5.6を見てください。

   8. The client receives the DCCP-Reset packet and holds state for two
      maximum segment lifetimes, or 2MSL, to allow any remaining packets
      to clear the network.

8. クライアントは、どんな残っているパケットもネットワークをきれいにするのを許容するためにDCCP-リセットパケットを受けて、2つの最大のセグメント生涯、または2MSLのための状態を保持します。

   An alternative connection closedown sequence is initiated by the
   client:

代表結合操業停止系列はクライアントによって開始されます:

   5b. The client sends a DCCP-Close packet closing the connection.

5b。 クライアントはDCCP近いパケットに接続を終えさせます。

   6b. The server sends a DCCP-Reset packet with Reset Code 1, "Closed",
       and clears its connection state.

6b。 サーバは、「閉じられた」Reset Code1があるDCCP-リセットパケットを送って、接続状態をきれいにします。

   7b. The client receives the DCCP-Reset packet and holds state for
       2MSL to allow any remaining packets to clear the network.

7b。 クライアントは、DCCP-リセットパケットを受けて、2MSLがどんな残っているパケットにもネットワークをきれいにさせるように、状態を保持します。

5.  Packet Formats

5. パケット・フォーマット

   The DCCP header can be from 12 to 1020 bytes long.  The initial part
   of the header has the same semantics for all currently defined packet
   types.  Following this comes any additional fixed-length fields
   required by the packet type, and then a variable-length list of
   options.  The application data area follows the header.  In some
   packet types, this area contains data for the application; in other
   packet types, its contents are ignored.

DCCPヘッダーは12〜1020バイト長から来ることができます。 ヘッダーの初期の一部には、すべての現在定義されたパケットタイプのための同じ意味論があります。 これに続くのは、パケットタイプによって必要とされた追加固定長フィールドを来させて、次に、オプションの可変長のリストを来させます。 アプリケーションデータ領域はヘッダーに続きます。 何人かのパケットタイプで、この領域はアプリケーションのためのデータを含んでいます。 他のパケットタイプで、内容は無視されます。

Kohler, et al.              Standards Track                    [Page 18]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[18ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

      +---------------------------------------+  -.
      |            Generic Header             |   |
      +---------------------------------------+   |
      | Additional Fields (depending on type) |   +- DCCP Header
      +---------------------------------------+   |
      |          Options (optional)           |   |
      +=======================================+  -'
      |         Application Data Area         |
      +---------------------------------------+

+---------------------------------------+ -. | ジェネリックヘッダー| | +---------------------------------------+ | | 追加フィールズ(タイプに頼っています)| +DCCPヘッダー+---------------------------------------+ | | オプション(任意の)| | +=======================================+ -' | アプリケーションデータ領域| +---------------------------------------+

5.1.  Generic Header

5.1. ジェネリックヘッダー

   The DCCP generic header takes different forms depending on the value
   of X, the Extended Sequence Numbers bit.  If X is one, the Sequence
   Number field is 48 bits long, and the generic header takes 16 bytes,
   as follows.

DCCPジェネリックヘッダーはXの値に依存する異なったフォーム、Extended Sequence民数記ビット取ります。 Xが1であるなら、Sequence Number分野は長さ48ビットです、そして、ジェネリックヘッダーは16バイト取ります、以下の通りです。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Source Port          |           Dest Port           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Data Offset  | CCVal | CsCov |           Checksum            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     |       |X|               |                               .
      | Res | Type  |=|   Reserved    |  Sequence Number (high bits)  .
      |     |       |1|               |                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .                  Sequence Number (low bits)                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ソースポート| Destポート| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | データは相殺されます。| CCVal| CsCov| チェックサム| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |X| | . | Res| タイプ|=| 予約されます。| 系列Number(高いビット)。| | |1| | . +++++++++++++++++++++++++++++++++ 系列Number(低ビット)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   If X is zero, only the low 24 bits of the Sequence Number are
   transmitted, and the generic header is 12 bytes long.

Xがゼロであるなら、Sequence Numberの低24ビットだけが伝えられます、そして、ジェネリックヘッダーは12バイト長です。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Source Port          |           Dest Port           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Data Offset  | CCVal | CsCov |           Checksum            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     |       |X|                                               |
      | Res | Type  |=|          Sequence Number (low bits)           |
      |     |       |0|                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ソースポート| Destポート| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | データは相殺されます。| CCVal| CsCov| チェックサム| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |X| | | Res| タイプ|=| 系列Number(低ビット)| | | |0| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Kohler, et al.              Standards Track                    [Page 19]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[19ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   The generic header fields are defined as follows.

ジェネリックヘッダーフィールドは以下の通り定義されます。

   Source and Destination Ports: 16 bits each
      These fields identify the connection, similar to the corresponding
      fields in TCP and UDP.  The Source Port represents the relevant
      port on the endpoint that sent this packet, and the Destination
      Port represents the relevant port on the other endpoint.  When
      initiating a connection, the client SHOULD choose its Source Port
      randomly to reduce the likelihood of attack.

ソースと仕向港: 各Theseがさばく16ビットはTCPとUDPの対応する分野と同様の接続を特定します。 Source Portはこのパケットを送った終点の関連ポートを表します、そして、Destination Portはもう片方の終点の関連ポートを表します。 接続を開始するとき、クライアントSHOULDは、攻撃の見込みを減少させるために手当たりしだいにSource Portを選びます。

      DCCP APIs should treat port numbers similarly to TCP and UDP port
      numbers.  For example, machines that distinguish between
      "privileged" and "unprivileged" ports for TCP and UDP should do
      the same for DCCP.

DCCP APIは同様にTCPとUDPポートナンバーにポートナンバーを扱うはずです。 例えば、TCPとUDPのために「特権があっ」て"「非-特権を与え」る"のポートを見分けるマシンはDCCPのために同じようにするはずです。

   Data Offset: 8 bits
      The offset from the start of the packet's DCCP header to the start
      of its application data area, in 32-bit words.  The receiver MUST
      ignore packets whose Data Offset is smaller than the minimum-sized
      header for the given Type or larger than the DCCP packet itself.

データは相殺されます: 8ビットはアプリケーションデータ領域(32ビットが言い表すコネ)の始まりへのパケットのDCCPヘッダーの始まりからのオフセットです。 受信機はData Offsetが最小限サイズのヘッダーより与えられたTypeには小さいか、またはDCCPパケット自体より大きいパケットを無視しなければなりません。

   CCVal: 4 bits
      Used by the HC-Sender CCID.  For example, the A-to-B CCID's
      sender, which is active at DCCP A, MAY send 4 bits of information
      per packet to its receiver by encoding that information in CCVal.
      The sender MUST set CCVal to zero unless its HC-Sender CCID
      specifies otherwise, and the receiver MUST ignore the CCVal field
      unless its HC-Receiver CCID specifies otherwise.

CCVal: HC-送付者CCIDによる4ビットのUsed。 例えば、AからBへのCCIDの送付者(DCCP Aで活発である)は、CCValのその情報をコード化することによって、1パケットあたりの4ビットの情報を受信機に送るかもしれません。 HC-送付者CCIDが別の方法で指定しない場合、送付者はゼロにCCValを設定しなければなりません、そして、HC-受信機CCIDが別の方法で指定しない場合、受信機はCCVal分野を無視しなければなりません。

   Checksum Coverage (CsCov): 4 bits
      Checksum Coverage determines the parts of the packet that are
      covered by the Checksum field.  This always includes the DCCP
      header and options, but some or all of the application data may be
      excluded.  This can improve performance on noisy links for
      applications that can tolerate corruption.  See Section 9.

チェックサム適用範囲(CsCov): 4ビットのChecksum CoverageはChecksum分野でカバーされているパケットの一部を決定します。 これはいつもDCCPヘッダーとオプションを含んでいますが、アプリケーションデータのいくつかかすべてが除かれるかもしれません。 これは不正を許容できるアプリケーションのために騒がしいリンクに関する性能を向上させることができます。 セクション9を見てください。

   Checksum: 16 bits
      The Internet checksum of the packet's DCCP header (including
      options), a network-layer pseudoheader, and, depending on Checksum
      Coverage, all, some, or none of the application data.  See Section
      9.

チェックサム: 16ビット、アプリケーションデータのパケットのDCCPヘッダー(オプションを含んでいる)のインターネットチェックサムか、ネットワーク層pseudoheaderと、すべてか、いくつかか、いずれもChecksum Coverageによって。 セクション9を見てください。

   Reserved (Res): 3 bits
      Senders MUST set this field to all zeroes on generated packets,
      and receivers MUST ignore its value.

予約された(Res): 3ビットのSendersは発生しているパケットのすべてのゼロにこの分野を設定しなければなりません、そして、受信機は値を無視しなければなりません。

Kohler, et al.              Standards Track                    [Page 20]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[20ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Type: 4 bits
      The Type field specifies the type of the packet.  The following
      values are defined:

以下をタイプしてください。 Typeがさばく4ビットはパケットのタイプを指定します。 以下の値は定義されます:

                         Type   Meaning
                         ----   -------
                           0    DCCP-Request
                           1    DCCP-Response
                           2    DCCP-Data
                           3    DCCP-Ack
                           4    DCCP-DataAck
                           5    DCCP-CloseReq
                           6    DCCP-Close
                           7    DCCP-Reset
                           8    DCCP-Sync
                           9    DCCP-SyncAck
                         10-15  Reserved

意味をタイプしてください。---- ------- 0 DCCP近い2DCCP-データ3DCCP-Ack4DCCP-DataAck5DCCP-CloseReq6の7DCCP-リセット8DCCP-同時性9DCCP-SyncAck10-15が控えたDCCP-要求の1つのDCCP-応答

                     Table 1: DCCP Packet Types

テーブル1: DCCPパケットタイプ

      Receivers MUST ignore any packets with reserved type.  That is,
      packets with reserved type MUST NOT be processed, and they MUST
      NOT be acknowledged as received.

受信機は控え目なタイプがあるどんなパケットも無視しなければなりません。 すなわち、控え目なタイプがあるパケットを処理してはいけません、そして、受け取るように承認されていなくて、それらは処理されなければなりません。

   Extended Sequence Numbers (X): 1 bit
      Set to one to indicate the use of an extended generic header with
      48-bit Sequence and Acknowledgement Numbers.  DCCP-Data, DCCP-
      DataAck, and DCCP-Ack packets MAY set X to zero or one.  All
      DCCP-Request, DCCP-Response, DCCP-CloseReq, DCCP-Close, DCCP-
      Reset, DCCP-Sync, and DCCP-SyncAck packets MUST set X to one;
      endpoints MUST ignore any such packets with X set to zero.  High-
      rate connections SHOULD set X to one on all packets to gain
      increased protection against wrapped sequence numbers and attacks.
      See Section 7.6.

拡張配列番号(X): 1 48ビットのSequenceとAcknowledgement民数記との拡張ジェネリックヘッダーの使用を示すためにSetに1まで噛み付きました。 DCCP-データ、DCCP- DataAck、およびDCCP-Ackパケットはゼロか1つにXを設定するかもしれません。 すべてのDCCP-要求、DCCP-応答、DCCP-CloseReq、DCCP-閉鎖、DCCPリセット、DCCP-同時性、およびDCCP-SyncAckパケットは1つにXを設定しなければなりません。 終点はゼロに設定されたXがあるどんなそのようなパケットも無視しなければなりません。 獲得するすべてのパケットの上の1つへの高いレート接続SHOULDセットXは包装された一連番号と攻撃に対する保護を増強しました。 セクション7.6を見てください。

   Sequence Number: 48 or 24 bits
      Identifies the packet uniquely in the sequence of all packets the
      source sent on this connection.  Sequence Number increases by one
      with every packet sent, including packets such as DCCP-Ack that
      carry no application data.  See Section 7.

一連番号: 48、24ビットのIdentifiesがパケットを転送する、唯一、すべてのパケットの系列では、ソースはこの接続を転送しました。 系列Numberはアプリケーションデータを全く運ばないDCCP-Ackなどのパケットを含んでいて、送られたあらゆるパケットで1つ増加します。 セクション7を見てください。

   All currently defined packet types except DCCP-Request and DCCP-Data
   carry an Acknowledgement Number Subheader in the four or eight bytes
   immediately following the generic header.  When X=1, its format is:

DCCP-要求を除いて、すべての現在定義されたパケットがタイプされます、そして、すぐにジェネリックヘッダーに続いて、DCCP-データは4バイトか8バイトでAcknowledgement Number Subheaderを運びます。 X=1であるときに、形式は以下の通りです。

Kohler, et al.              Standards Track                    [Page 21]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[21ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Reserved            |    Acknowledgement Number     .
      |                               |          (high bits)          .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      .               Acknowledgement Number (low bits)               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 予約されます。| 承認番号。| | (高いビット) . +++++++++++++++++++++++++++++++++ 承認Number(低ビット)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   When X=0, only the low 24 bits of the Acknowledgement Number are
   transmitted, giving the Acknowledgement Number Subheader this format:

X=0であるときに、この書式をAcknowledgement Number Subheaderに与えて、Acknowledgement Numberの低24ビットだけが伝えられます:

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Reserved    |       Acknowledgement Number (low bits)       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 予約されます。| 承認Number(低ビット)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Reserved: 16 or 8 bits
      Senders MUST set this field to all zeroes on generated packets,
      and receivers MUST ignore its value.

予約される: 16ビットか8ビットのSendersは発生しているパケットのすべてのゼロにこの分野を設定しなければなりません、そして、受信機は値を無視しなければなりません。

   Acknowledgement Number: 48 or 24 bits
      Generally contains GSR, the Greatest Sequence Number Received on
      any acknowledgeable packet so far.  A packet is acknowledgeable
      if and only if its header was successfully processed by the
      receiver; Section 7.4 describes this further.  Options such as
      Ack Vector (Section 11.4) combine with the Acknowledgement
      Number to provide precise information about which packets have
      arrived.

承認番号: 48ビットか24ビットの一般は今までのところ、GSR、どんな承認可能パケットでも最もすばらしいSequence Number Receivedを含みます。 そして、パケットが承認可能である、ヘッダーが受信機によって首尾よく処理された場合にだけ。 セクション7.4はさらにこれについて説明します。 Ack Vector(セクション11.4)などのオプションはAcknowledgement Numberに結合して、パケットが到着した正確な情報を提供します。

      Acknowledgement Numbers on DCCP-Sync and DCCP-SyncAck packets
      need not equal GSR.  See Section 5.7.

DCCP-同時性に関する承認民数記とDCCP-SyncAckパケットはGSRと等しい必要はありません。 セクション5.7を見てください。

5.2.  DCCP-Request Packets

5.2. DCCP-リクエスト・パケット

   A client initiates a DCCP connection by sending a DCCP-Request
   packet.  These packets MAY contain application data and MUST use
   48-bit sequence numbers (X=1).

クライアントは、DCCP-リクエスト・パケットを送ることによって、DCCP接続を開始します。 これらのパケットは、アプリケーションデータを含むかもしれなくて、48ビットの一連番号(X=1)を使用しなければなりません。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /            Generic DCCP Header with X=1 (16 bytes)            /
      /                   with Type=0 (DCCP-Request)                  /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Service Code                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                      Options and Padding                      /
      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
      /                       Application Data                        /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ジェネリック..バイト..要求| 接客規範| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Options and Padding / +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ / Application Data / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Kohler, et al.              Standards Track                    [Page 22]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[22ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Service Code: 32 bits
      Describes the application-level service to which the client
      application wants to connect.  Service Codes are intended to
      provide information about which application protocol a connection
      intends to use, thus aiding middleboxes and reducing reliance on
      globally well-known ports.  See Section 8.1.2.

コードを修理してください: クライアントアプリケーションが接続したがっているアプリケーション平らな32ビットのDescribesサービス。 接続がどのアプリケーション・プロトコルでmiddleboxesと減少を使用して、その結果、支援するのに信用を意図するかに関してサービスCodesは情報をグローバルに提供するつもりです。ウェルノウンポート。 セクション8.1.2を見てください。

5.3.  DCCP-Response Packets

5.3. DCCP-応答パケット

   The server responds to valid DCCP-Request packets with DCCP-Response
   packets.  This is the second phase of the three-way handshake.
   DCCP-Response packets MAY contain application data and MUST use
   48-bit sequence numbers (X=1).

サーバはDCCP-応答パケットで有効なDCCP-リクエスト・パケットに反応します。 これは3方向ハンドシェイクの2番目のフェーズです。 DCCP-応答パケットは、アプリケーションデータを含むかもしれなくて、48ビットの一連番号(X=1)を使用しなければなりません。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /            Generic DCCP Header with X=1 (16 bytes)            /
      /                  with Type=1 (DCCP-Response)                  /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /          Acknowledgement Number Subheader (8 bytes)           /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Service Code                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                      Options and Padding                      /
      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
      /                       Application Data                        /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ジェネリック..バイト..応答..承認..バイト| 接客規範| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Options and Padding / +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ / Application Data / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Acknowledgement Number: 48 bits
      Contains GSR.  Since DCCP-Responses are only sent during
      connection initiation, this will always equal the Sequence Number
      on a received DCCP-Request.

承認番号: 48ビットのContains GSR。 接続開始の間、DCCP-応答を送るだけであるので、これは受信されたDCCP-要求のときにいつもSequence Numberと等しいでしょう。

   Service Code: 32 bits
      MUST equal the Service Code on the corresponding DCCP-Request.

コードを修理してください: 32ビットは対応するDCCP-要求のときにService Codeと等しくなければなりません。

5.4.  DCCP-Data, DCCP-Ack, and DCCP-DataAck Packets

5.4. DCCP-データ、DCCP-Ack、およびDCCP-DataAckパケット

   The central data transfer portion of every DCCP connection uses
   DCCP-Data, DCCP-Ack, and DCCP-DataAck packets.  These packets MAY use
   24-bit sequence numbers, depending on the value of the Allow Short
   Sequence Numbers feature (Section 7.6.1).  DCCP-Data packets carry
   application data without acknowledgements.

すべてのDCCP接続の中央のデータ転送部分はDCCP-データ、DCCP-Ack、およびDCCP-DataAckパケットを使用します。 Allow Short Sequence民数記機能(セクション7.6.1)の値によって、これらのパケットは24ビットの一連番号を使用するかもしれません。 DCCP-データ・パケットは承認なしでアプリケーションデータを運びます。

Kohler, et al.              Standards Track                    [Page 23]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[23ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /              Generic DCCP Header (16 or 12 bytes)             /
      /                    with Type=2 (DCCP-Data)                    /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                      Options and Padding                      /
      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
      /                       Application 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Generic DCCP Header (16 or 12 bytes) / / with Type=2 (DCCP-Data) / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Options and Padding / +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ / Application Data / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   DCCP-Ack packets dispense with the data but contain an
   Acknowledgement Number.  They are used for pure acknowledgements.

DCCP-Ackパケットは、データを省きますが、Acknowledgement Numberを含んでいます。 それらは純粋な承認に使用されます。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /              Generic DCCP Header (16 or 12 bytes)             /
      /                    with Type=3 (DCCP-Ack)                     /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /        Acknowledgement Number Subheader (8 or 4 bytes)        /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                      Options and Padding                      /
      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
      /                Application Data Area (Ignored)                /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ジェネリック..バイト..承認;

   DCCP-DataAck packets carry both application data and an
   Acknowledgement Number.  This piggybacks acknowledgement information
   on a data packet.

DCCP-DataAckパケットはアプリケーションデータとAcknowledgement Numberの両方を運びます。 これはデータ・パケットの承認情報を背負います。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /              Generic DCCP Header (16 or 12 bytes)             /
      /                  with Type=4 (DCCP-DataAck)                   /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /        Acknowledgement Number Subheader (8 or 4 bytes)        /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                      Options and Padding                      /
      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
      /                       Application Data                        /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ジェネリック..バイト;

   A DCCP-Data or DCCP-DataAck packet may have a zero-length application
   data area, which indicates that the application sent a zero-length
   datagram.  This differs from DCCP-Request and DCCP-Response packets,
   where an empty application data area indicates the absence of

DCCP-データかDCCP-DataAckパケットには、ゼロ・レングスアプリケーションデータ領域があるかもしれません。(それは、アプリケーションがゼロ・レングスデータグラムを送ったのを示します)。 これはDCCP-要求とDCCP-応答パケットと異なっています。(そこでは、空のアプリケーションデータ領域が不在を示します)。

Kohler, et al.              Standards Track                    [Page 24]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[24ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   application data (not the presence of zero-length application data).
   The API SHOULD report any received zero-length datagrams to the
   receiving application.

アプリケーションデータ(ゼロ・レングスアプリケーションデータの存在でない)。 API SHOULDはどんな容認されたゼロ・レングスデータグラムも受信アプリケーションに報告します。

   A DCCP-Ack packet MAY have a non-zero-length application data area,
   which essentially pads the DCCP-Ack to a desired length.  Receivers
   MUST ignore the content of the application data area in DCCP-Ack
   packets.

DCCP-Ackパケットには、非ゼロ・レングスアプリケーションデータ領域があるかもしれません。(本質的には、それは、必要な長さにDCCP-Ackを水増しします)。 受信機はDCCP-Ackパケットでアプリケーションデータ領域の内容を無視しなければなりません。

   DCCP-Ack and DCCP-DataAck packets often include additional
   acknowledgement options, such as Ack Vector, as required by the
   congestion control mechanism in use.

DCCP-AckとDCCP-DataAckパケットは必要に応じてしばしば使用中の混雑制御機構でAck Vectorなどの追加承認オプションを含んでいます。

5.5.  DCCP-CloseReq and DCCP-Close Packets

5.5. DCCP-CloseReqとDCCP近いパケット

   DCCP-CloseReq and DCCP-Close packets begin the handshake that
   normally terminates a connection.  Either client or server may send a
   DCCP-Close packet, which will elicit a DCCP-Reset packet.  Only the
   server can send a DCCP-CloseReq packet, which indicates that the
   server wants to close the connection but does not want to hold its
   TIMEWAIT state.  Both packet types MUST use 48-bit sequence numbers
   (X=1).

DCCP-CloseReqとDCCP近いパケットは通常、接続を終える握手を始めます。 クライアントかサーバのどちらかがDCCP近いパケットを送るかもしれません。(それは、DCCP-リセットパケットを引き出すでしょう)。 サーバだけがDCCP-CloseReqパケットを送ることができます。(それは、サーバが接続を終えたいのですが、TIMEWAIT状態を保持したがっていないのを示します)。 両方のパケットタイプは48ビットの一連番号(X=1)を使用しなければなりません。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /            Generic DCCP Header with X=1 (16 bytes)            /
      /         with Type=5 (DCCP-CloseReq) or 6 (DCCP-Close)         /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /          Acknowledgement Number Subheader (8 bytes)           /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                      Options and Padding                      /
      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
      /                Application Data Area (Ignored)                /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ジェネリック..バイト..近い;

   As with DCCP-Ack packets, DCCP-CloseReq and DCCP-Close packets MAY
   have non-zero-length application data areas, whose contents receivers
   MUST ignore.

DCCP-Ackパケットなら、DCCP-CloseReqとDCCP近いパケットには、受信機がコンテンツを無視しなければならない非ゼロ・レングスアプリケーションデータ領域があるかもしれません。

5.6.  DCCP-Reset Packets

5.6. DCCP-リセットパケット

   DCCP-Reset packets unconditionally shut down a connection.
   Connections normally terminate with a DCCP-Reset, but resets may be
   sent for other reasons, including bad port numbers, bad option
   behavior, incorrect ECN Nonce Echoes, and so forth.  DCCP-Resets MUST
   use 48-bit sequence numbers (X=1).

DCCP-リセットパケットは無条件に接続を止めます。 コネクションズはDCCP-リセットで通常終わりますが、他の理由でリセットを送るかもしれません、悪いポートナンバー、悪いオプションの振舞い、不正確な電子証券取引ネットワークNonceエコーズなどを含んでいて。 DCCP-リセットは48ビットの一連番号(X=1)を使用しなければなりません。

Kohler, et al.              Standards Track                    [Page 25]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[25ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /            Generic DCCP Header with X=1 (16 bytes)            /
      /                   with Type=7 (DCCP-Reset)                    /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /          Acknowledgement Number Subheader (8 bytes)           /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Reset Code   |    Data 1     |    Data 2     |    Data 3     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                      Options and Padding                      /
      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
      /              Application Data Area (Error Text)               /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ジェネリック..バイト..リセット..承認..バイト| リセットコード| データ1| データ2| データ3| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Options and Padding / +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ / Application Data Area (Error Text) / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Reset Code: 8 bits
      Represents the reason that the sender reset the DCCP connection.

コードをリセットしてください: 8ビットのRepresents、送付者がDCCP接続をリセットした理由。

   Data 1, Data 2, and Data 3: 8 bits each
      The Data fields provide additional information about why the
      sender reset the DCCP connection.  The meanings of these fields
      depend on the value of Reset Code.

データ1、データ2、およびデータ3: 8ビット、Dataがさばくそれぞれが送付者がDCCP接続をリセットした理由に関する追加情報を提供します。 これらの分野の意味はReset Codeの値に依存します。

   Application Data Area: Error Text
      If present, Error Text is a human-readable text string encoded in
      Unicode UTF-8, and preferably in English, that describes the error
      in more detail.  For example, a DCCP-Reset with Reset Code 11,
      "Aggression Penalty", might contain Error Text such as "Aggression
      Penalty: Received 3 bad ECN Nonce Echoes, assuming misbehavior".

アプリケーションデータ領域: Text Ifが提示する誤り、Error Textはさらに詳細に誤りについて説明するユニコードUTF-8、および望ましくは、英語でコード化された人間読み込み可能なテキスト文字列です。 例えば、「攻撃性刑罰」というReset Code11とのDCCP-リセットがError Textを含むかもしれない、「攻撃性刑罰:」 「不正行為を仮定して、3の悪い電子証券取引ネットワークNonceエコーズを受けます。」だった

   The following Reset Codes are currently defined.  Unless otherwise
   specified, the Data 1, 2, and 3 fields MUST be set to 0 by the sender
   of the DCCP-Reset and ignored by its receiver.  Section references
   describe concrete situations that will cause each Reset Code to be
   generated; they are not meant to be exhaustive.

以下のReset Codesは現在、定義されます。 別の方法で指定されない場合、Data1、2、および3分野をDCCP-リセットの送付者によって0に設定されて、受信機で無視しなければなりません。セクション参照は各Reset Codeを生成する具体的な状況について説明します。 それらが徹底的であることが意味されません。

   0, "Unspecified"
      Indicates the absence of a meaningful Reset Code.  Use of Reset
      Code 0 is NOT RECOMMENDED: the sender should choose a Reset Code
      that more clearly defines why the connection is being reset.

0、「不特定」のIndicates、重要なReset Codeの不在。 Reset Code0の使用はNOT RECOMMENDEDです: 送付者は接続がなぜリセットされているかをより明確に定義するReset Codeを選ぶべきです。

   1, "Closed"
      Normal connection close.  See Section 8.3.

1 Normal接続を近くに「閉じました」。 セクション8.3を見てください。

   2, "Aborted"
      The sending endpoint gave up on the connection because of lack of
      progress.  See Sections 8.1.1 and 8.1.5.

2 「中止され」て、送付終点は進歩の不足のために接続に見切りをつけました。 .5にセクション8.1 .1と8.1を見てください。

Kohler, et al.              Standards Track                    [Page 26]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[26ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   3, "No Connection"
      No connection exists.  See Section 8.3.1.

3 「いいえ接続」いいえ接続は存在しています。 セクション8.3.1を見てください。

   4, "Packet Error"
      A valid packet arrived with unexpected type.  For example, a
      DCCP-Data packet with valid header checksum and sequence numbers
      arrived at a connection in the REQUEST state.  See Section 8.3.1.
      The Data 1 field equals the offending packet type as an eight-bit
      number; thus, an offending packet with Type 2 will result in a
      Data 1 value of 2.

4 「パケット誤り」A有効なパケットは予期していなかったタイプで到着しました。 例えば、有効なヘッダーチェックサムと一連番号があるDCCP-データ・パケットはREQUEST状態での接続に到達しました。 セクション8.3.1を見てください。 Data1分野は8ビットの数として怒っているパケットタイプと等しいです。 したがって、Type2がある怒っているパケットは2のData1値をもたらすでしょう。

   5, "Option Error"
      An option was erroneous, and the error was serious enough to
      warrant resetting the connection.  See Sections 6.6.7, 6.6.8, and
      11.4.  The Data 1 field equals the offending option type; Data 2
      and Data 3 equal the first two bytes of option data (or zero if
      the option had less than two bytes of data).

5 「オプション誤り」Anオプションは誤って、誤りは接続をリセットするのを保証できるくらい重大でした。 セクション6.6.7、6.6.8、および11.4を見てください。 Data1分野は怒っているオプションタイプと等しいです。 データ2とData3は最初の2バイトのオプションデータと等しいです(ゼロには、2バイト未満のデータがオプションであるならありました)。

   6, "Mandatory Error"
      The sending endpoint could not process an option O that was
      immediately preceded by Mandatory.  The Data fields report the
      option type and data of option O, using the format of Reset Code
      5, "Option Error".  See Section 5.8.2.

6 送付終点がすぐに先行されたオプションOを処理できないだろう「義務的な誤り」Mandatory。 Data分野はオプションOに関するオプションタイプとデータを報告します、Reset Code5の形式、「オプション誤り」を使用して。 セクション5.8.2を見てください。

   7, "Connection Refused"
      The Destination Port didn't correspond to a port open for
      listening.  Sent only in response to DCCP-Requests.  See Section
      8.1.3.

7 「接続は拒否した」Destination Portがポート戸外に対応しなかった聴取。 単にDCCP-要求に対応して、発信しました。 セクション8.1.3を見てください。

   8, "Bad Service Code"
      The Service Code didn't equal the service code attached to the
      Destination Port.  Sent only in response to DCCP-Requests.  See
      Section 8.1.3.

8、Service Codeがそうしない「悪い接客規範」はDestination Portへの添付の接客規範と等しいです。 単にDCCP-要求に対応して、発信しました。 セクション8.1.3を見てください。

   9, "Too Busy"
      The server is too busy to accept new connections.  Sent only in
      response to DCCP-Requests.  See Section 8.1.3.

9、「忙し過ぎる、」 サーバは新しい接続を受け入れることができないくらい忙しいです。 単にDCCP-要求に対応して、発信しました。 セクション8.1.3を見てください。

   10, "Bad Init Cookie"
      The Init Cookie echoed by the client was incorrect or missing.
      See Section 8.1.4.

10 Init Cookieがクライアントで反響した「腐っているイニットクッキー」は、不正確であるか、またはなくなっていました。 セクション8.1.4を見てください。

   11, "Aggression Penalty"
      This endpoint has detected congestion control-related misbehavior
      on the part of the other endpoint.  See Section 12.3.

11 「攻撃性刑罰」This終点はもう片方の終点側で混雑のコントロール関連の不正行為を検出しました。 セクション12.3を見てください。

Kohler, et al.              Standards Track                    [Page 27]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[27ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   12-127, Reserved
      Receivers should treat these codes as they do Reset Code 0,
      "Unspecified".

12-127 「不特定」の状態でReset Code0をするとき、Reserved Receiversはこれらのコードを扱うはずです。

   128-255, CCID-specific codes
      Semantics depend on the connection's CCIDs.  See Section 10.3.
      Receivers should treat unknown CCID-specific Reset Codes as they
      do Reset Code 0, "Unspecified".

128-255 CCID特有のコードSemanticsは接続のCCIDsによります。 セクション10.3を見てください。 彼らが「不特定」の状態でReset Code0をするとき、受信機は未知のCCID特有のReset Codesを扱うはずです。

   The following table summarizes this information.

以下のテーブルはこの情報をまとめます。

          Reset
          Code   Name                    Data 1     Data 2 & 3
          -----  ----                    ------     ----------
            0    Unspecified               0            0
            1    Closed                    0            0
            2    Aborted                   0            0
            3    No Connection             0            0
            4    Packet Error           pkt type        0
            5    Option Error           option #   option data
            6    Mandatory Error        option #   option data
            7    Connection Refused        0            0
            8    Bad Service Code          0            0
            9    Too Busy                  0            0
           10    Bad Init Cookie           0            0
           11    Aggression Penalty        0            0
          12-127 Reserved
         128-255 CCID-specific codes

リセットコードネームのデータ1データ2と3----- ---- ------ ---------- 0 6つの不特定の0 0 1Closed0 0 2Aborted0 0 3いいえConnection0 0 4Packet Error pktタイプ0 5Option Errorオプション#オプションデータMandatory Errorオプション#オプションデータ7Connection Refused0 0 8Bad Service Code0 0 9Too Busy0 0 10Bad Init Cookie0 0 11Aggression Penalty0 0 12-127Reserved128-255のCCID特有のコード

                        Table 2: DCCP Reset Codes

テーブル2: DCCPリセットコード

   Options on DCCP-Reset packets are processed before the connection is
   shut down.  This means that certain combinations of options,
   particularly involving Mandatory, may cause an endpoint to respond to
   a valid DCCP-Reset with another DCCP-Reset.  This cannot lead to a
   reset storm; since the first endpoint has already reset the
   connection, the second DCCP-Reset will be ignored.

接続が止められる前にDCCP-リセットパケットにおけるオプションは処理されます。 これは、特にMandatoryにかかわって、オプションのある組み合わせが別のDCCP-リセットとの有効なDCCP-リセットに終点を応じさせるかもしれないことを意味します。 これはリセット嵐に通じることができません。 最初の終点が既に接続をリセットしたので、第2DCCP-リセットは無視されるでしょう。

5.7.  DCCP-Sync and DCCP-SyncAck Packets

5.7. DCCP-同時性とDCCP-SyncAckパケット

   DCCP-Sync packets help DCCP endpoints recover synchronization after
   bursts of loss and recover from half-open connections.  Each valid
   received DCCP-Sync immediately elicits a DCCP-SyncAck.  Both packet
   types MUST use 48-bit sequence numbers (X=1).

DCCP-同時性パケットは、DCCP終点が損失の炸裂の後に同期を回復して、半開きな接続から回復するのを助けます。 それぞれの有効な容認されたDCCP-同時性はすぐに、DCCP-SyncAckを引き出します。 両方のパケットタイプは48ビットの一連番号(X=1)を使用しなければなりません。

Kohler, et al.              Standards Track                    [Page 28]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[28ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /            Generic DCCP Header with X=1 (16 bytes)            /
      /          with Type=8 (DCCP-Sync) or 9 (DCCP-SyncAck)          /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /          Acknowledgement Number Subheader (8 bytes)           /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                      Options and Padding                      /
      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
      /                Application Data Area (Ignored)                /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ジェネリック..バイト..同時性;

   The Acknowledgement Number field has special semantics for DCCP-Sync
   and DCCP-SyncAck packets.  First, the packet corresponding to a
   DCCP-Sync's Acknowledgement Number need not have been
   acknowledgeable.  Thus, receivers MUST NOT assume that a packet was
   processed simply because it appears in the Acknowledgement Number
   field of a DCCP-Sync packet.  This differs from all other packet
   types, where the Acknowledgement Number by definition corresponds to
   an acknowledgeable packet.  Second, the Acknowledgement Number on any
   DCCP-SyncAck packet MUST correspond to the Sequence Number on an
   acknowledgeable DCCP-Sync packet.  In the presence of reordering,
   this might not equal GSR.

Acknowledgement Number分野には、DCCP-同時性とDCCP-SyncAckパケットのための特別な意味論があります。 まず最初に、DCCP-シンクのAcknowledgement Numberに対応するパケットは承認可能である必要はありませんでした。 したがって、受信機は、パケットが単にDCCP-同時性パケットのAcknowledgement Number分野に現れるので処理されたと仮定してはいけません。 これは他のすべてのパケットタイプと異なっています。そこでは、Acknowledgement Numberが定義上承認可能パケットに対応します。 2番目に、どんなDCCP-SyncAckパケットの上のAcknowledgement Numberはacknowledgeable DCCP-同時性パケットの上のSequence Numberに対応しなければなりません。 再命令の面前で、これはGSRと等しくないかもしれません。

   As with DCCP-Ack packets, DCCP-Sync and DCCP-SyncAck packets MAY have
   non-zero-length application data areas, whose contents receivers MUST
   ignore.  Padded DCCP-Sync packets may be useful when performing Path
   MTU discovery; see Section 14.

DCCP-Ackパケットなら、DCCP-同時性とDCCP-SyncAckパケットには、受信機がコンテンツを無視しなければならない非ゼロ・レングスアプリケーションデータ領域があるかもしれません。 Path MTU発見を実行するとき、そっと歩いているDCCP-同時性パケットは役に立つかもしれません。 セクション14を見てください。

5.8.  Options

5.8. オプション

   Any DCCP packet may contain options, which occupy space at the end of
   the DCCP header.  Each option is a multiple of 8 bits in length.
   Individual options are not padded to multiples of 32 bits, and any
   option may begin on any byte boundary.  However, the combination of
   all options MUST add up to a multiple of 32 bits; Padding options
   MUST be added as necessary to fill out option space to a word
   boundary.  Any options present are included in the header checksum.

どんなDCCPパケットもオプションを含むかもしれません。(オプションはDCCPヘッダーの端で場所を塞ぎます)。 各オプションは長さが8ビットの倍数です。 個人の選択は32ビットの倍数に水増しされません、そして、どんなオプションもどんなバイト境界でも始まるかもしれません。 しかしながら、すべてのオプションの組み合わせは32ビットの倍数を意味しなければなりません。 オプションスペースに語境界に書き込むために必要に応じてオプションを水増しするのを加えなければなりません。 どんなオプションプレゼントもヘッダーチェックサムに含まれています。

   The first byte of an option is the option type.  Options with types 0
   through 31 are single-byte options.  Other options are followed by a
   byte indicating the option's length.  This length value includes the
   two bytes of option-type and option-length as well as any option-data
   bytes; it must therefore be greater than or equal to two.

オプションの最初のバイトはオプションタイプです。 タイプ0〜31とのオプションは単一のバイトオプションです。 オプションの長さを示す1バイトが別の選択肢のあとに続いています。 この長さの値はどんなオプションデータ・バイトと同様に2バイトのオプションタイプとオプション長さを含んでいます。 したがって、それは2以上であるに違いありません。

   Options MUST be processed sequentially, starting with the first
   option in the packet header.  Options with unknown types MUST be

パケットのヘッダーで第1の選択から始まって、オプションを連続して処理しなければなりません。 未知のタイプとのオプションはそうであるに違いありません。

Kohler, et al.              Standards Track                    [Page 29]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[29ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   ignored.  Also, options with nonsensical lengths (length byte less
   than two or more than the remaining space in the options portion of
   the header) MUST be ignored, and any option space following an option
   with nonsensical length MUST likewise be ignored.  Unless otherwise
   specified, multiple occurrences of the same option MUST be processed
   independently; for some options, this will mean in practice that the
   last valid occurrence of an option takes precedence.

無視にされる。 また、無意味な長さ(2未満の長さのバイトかヘッダーのオプション一部の残っているスペース以上)があるオプションを無視しなければなりません、そして、同様に無意味な長さでオプションに続くどんなオプションスペースも無視しなければなりません。 別の方法で指定されない場合、独自に同じオプションの複数の発生を処理しなければなりません。 いくつかのオプションのために、これは、実際にはオプションの最後の有効な発生が優先することを意味するでしょう。

   The following options are currently defined:

以下のオプションは現在、定義されます:

               Option                           DCCP-  Section
       Type    Length     Meaning               Data?  Reference
       ----    ------     -------               -----  ---------
         0        1       Padding                 Y      5.8.1
         1        1       Mandatory               N      5.8.2
         2        1       Slow Receiver           Y      11.6
       3-31       1       Reserved
        32     variable   Change L                N      6.1
        33     variable   Confirm L               N      6.2
        34     variable   Change R                N      6.1
        35     variable   Confirm R               N      6.2
        36     variable   Init Cookie             N      8.1.4
        37       3-8      NDP Count               Y      7.7
        38     variable   Ack Vector [Nonce 0]    N      11.4
        39     variable   Ack Vector [Nonce 1]    N      11.4
        40     variable   Data Dropped            N      11.7
        41        6       Timestamp               Y      13.1
        42      6/8/10    Timestamp Echo          Y      13.3
        43       4/6      Elapsed Time            N      13.2
        44        6       Data Checksum           Y      9.3
       45-127  variable   Reserved
      128-255  variable   CCID-specific options   -      10.3

DCCP輪切り形長さの意味データをゆだねますか? 参照---- ------ ------- ----- --------- 38の可変0N0 1詰め物Y5.8.1 1 1Mandatory N5.8.2 2 1Slow Receiver Y11.6 3-31 1Reserved32の可変Change L N6.1 33の可変Confirm L N6.2 34の可変Change R N6.1 35の可変Confirm R N6.2 36の可変Init Cookie N8.1.4 37 3-8NDP Count Y7.7Ack Vector Nonce11; 4の39の可変Ack Vector Nonce1N11.4 40可変Data Dropped N11.7 41 6Timestamp Y13.1 42 6/8/10のTimestamp Echo Y13.3 43 4/6Elapsed Time N13.2 44 6Data Checksum Y9.3 45-127可変なReserved128-255可変CCID特有のオプション--10.3

                        Table 3: DCCP Options

テーブル3: DCCPオプション

   Not all options are suitable for all packet types.  For example,
   since the Ack Vector option is interpreted relative to the
   Acknowledgement Number, it isn't suitable on DCCP-Request and DCCP-
   Data packets, which have no Acknowledgement Number.  If an option
   occurs on an unexpected packet type, it MUST generally be ignored;
   any such restrictions are mentioned in each option's description.
   The table summarizes the most common restriction: when the DCCP-
   Data? column value is N, the corresponding option MUST be ignored
   when received on a DCCP-Data packet.  (Section 7.5.5 describes why
   such options are ignored as opposed to, say, causing a reset.)

すべてのオプションがどんなすべてのパケットタイプに適しているというわけではありません。 例えば、Ack VectorオプションがAcknowledgement Numberに比例して解釈されるので、それはDCCP-要求とDCCPデータ・パケットで適当ではありません。(データ・パケットには、Acknowledgement Numberが全くありません)。 オプションが予期していなかったパケットタイプの上に起こるなら、一般に、それを無視しなければなりません。 各オプションの記述でどんなそのような制限についても言及します。 テーブルは最も一般的な制限をまとめます: DCCPデータ?コラム価値がNであるときに、DCCP-データ・パケットの上に受け取ると、対応するオプションを無視しなければなりません。 (セクション7.5 .5 たとえば、リセットを引き起こすことと対照的にそのようなオプションがなぜ無視されるかを説明します。)

   Options with invalid values MUST be ignored unless otherwise
   specified.  For example, any Data Checksum option with option length

別の方法で指定されない場合、無効の値があるオプションを無視しなければなりません。 例えば、オプションの長さがあるどんなData Checksumオプション

Kohler, et al.              Standards Track                    [Page 30]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[30ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   4 MUST be ignored, since all valid Data Checksum options have option
   length 6.

すべての有効なData Checksumオプションにはオプション長さ6があるので、4を無視しなければなりません。

   This section describes two generic options, Padding and Mandatory.
   Other options are described later.

このセクションは2ジェネリックのオプション、Padding、およびMandatoryについて説明します。 別の選択肢は後で説明されます。

5.8.1.  Padding Option

5.8.1. オプションを水増しします。

   +--------+
   |00000000|
   +--------+
     Type=0

+--------+ |00000000| +--------+ タイプ=0

   Padding is a single-byte "no-operation" option used to pad between or
   after options.  If the length of a packet's other options is not a
   multiple of 32 bits, then Padding options are REQUIRED to pad out the
   options area to the length implied by Data Offset.  Padding may also
   be used between options; for example, to align the beginning of a
   subsequent option on a 32-bit boundary.  There is no guarantee that
   senders will use this option, so receivers must be prepared to
   process options even if they do not begin on a word boundary.

詰め物はオプションの間かオプションの後にそっと歩くのに使用される単一のバイト「操作がありません」オプションです。 パケットの別の選択肢の長さが32ビットの倍数でないなら、当時のPaddingオプションはData Offsetによって含意された長さにオプション部門を広げるREQUIREDです。 また、詰め物はオプションの間で使用されるかもしれません。 例えばその後のオプションの始まりを32ビットの境界に並べるために。 送付者がこのオプションを使用するという保証が全くないので、語境界で始まらないでも、オプションを処理するように受信機を準備しなければなりません。

5.8.2.  Mandatory Option

5.8.2. 義務的なオプション

   +--------+
   |00000001|
   +--------+
     Type=1

+--------+ |00000001| +--------+ タイプ=1

   Mandatory is a single-byte option that marks the immediately
   following option as mandatory.  Say that the immediately following
   option is O.  Then the Mandatory option has no effect if the
   receiving DCCP endpoint understands and processes O.  If the endpoint
   does not understand or process O, however, then it MUST reset the
   connection using Reset Code 6, "Mandatory Failure".  For instance,
   the endpoint would reset the connection if it did not understand O's
   type; if it understood O's type, but not O's data; if O's data was
   invalid for O's type; if O was a feature negotiation option, and the
   endpoint did not understand the enclosed feature number; or if the
   endpoint understood O, but chose not to perform the action O implies.
   This list is not exhaustive and, in particular, individual option
   specifications may describe additional situations in which the
   endpoint should reset the connection and situations in which it
   should not.

義務的であるのは、義務的であるとしてすぐに次のオプションをマークする単一のバイトオプションです。 受信DCCP終点が終点が理解していないO.IfかプロセスOを理解して、処理するなら、たとえば、すぐに次のオプションがMandatoryがゆだねるO.Thenであることは効き目がなくて、Reset Code6、「義務的な失敗」を使用して、しかしながら、次に、それは接続をリセットしなければなりません。 例えば、オリオールズタイプを理解していないなら、終点は接続をリセットするでしょうに。 オリオールズデータではなく、オリオールズタイプを理解していたなら。 オリオールズに、オリオールズデータが無効であったなら、タイプしてください。 Oが特徴交渉オプションであり、終点が同封の特徴番号を理解していなかったなら。 または、終点が、Oを理解していましたが、Oが含意する動作を実行しないのを選んだなら。 このリストは徹底的ではありません、そして、特定の、そして、独特のオプション仕様では、終点が接続をリセットするべきである追加状況とそれがそうするべきでない状況について説明するかもしれません。

   Mandatory options MUST NOT be sent on DCCP-Data packets, and any
   Mandatory options received on DCCP-Data packets MUST be ignored.

DCCP-データ・パケットで義務的なオプションを送ってはいけません、そして、DCCP-データ・パケットの上に受け取られたどんなMandatoryオプションも無視しなければなりません。

Kohler, et al.              Standards Track                    [Page 31]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[31ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   The connection is in error and should be reset with Reset Code 5,
   "Option Error", if option O is absent (Mandatory was the last byte of
   the option list), or if option O equals Mandatory.  However, the
   combination "Mandatory Padding" is valid, and MUST behave like two
   bytes of Padding.

接続は間違っています、そして、Reset Code5とのリセット、「オプション誤り」であるべきです、オプションOが欠けるか(義務的であるのは、オプションリストの最後のバイトでした)、またはオプションOがMandatoryと等しいなら。 しかしながら、組み合わせ「義務的な詰め物」は、有効であり、2バイトのPaddingのように振る舞わなければなりません。

   Section 6.6.9 describes the behavior of Mandatory feature negotiation
   options in more detail.

セクション6.6 .9 さらに詳細にMandatory特徴交渉オプションの振舞いについて説明します。

6.  Feature Negotiation

6. 特徴交渉

   Four DCCP options, Change L, Confirm L, Change R, and Confirm R, are
   used to negotiate feature values.  Change options initiate a
   negotiation; Confirm options complete that negotiation.  The "L"
   options are sent by the feature location, and the "R" options are
   sent by the feature remote.  Change options are retransmitted to
   ensure reliability.

4つのDCCPオプション(Change L、Confirm L、Change R、およびConfirm R)が、特徴値を交渉するのに使用されます。 変化オプションは交渉を開始します。 オプションがその交渉を終了すると確認してください。 特徴位置で「L」オプションを送ります、そして、特徴でリモートな状態で「R」オプションを送ります。 変化オプションは、信頼性を確実にするために再送されます。

   All these options have the same format.  The first byte of option
   data is the feature number, and the second and subsequent data bytes
   hold one or more feature values.  The exact format of the feature
   value area depends on the feature type; see Section 6.3.

これらのすべてのオプションには、同じ形式があります。 オプションデータの最初のバイトは特徴番号です、そして、2番目と順次データバイトは1つ以上の特徴値を保持します。 特徴値の領域の正確な形式を特徴タイプに頼っています。 セクション6.3を見てください。

   +--------+--------+--------+--------+--------
   |  Type  | Length |Feature#| Value(s) ...
   +--------+--------+--------+--------+--------

+--------+--------+--------+--------+-------- | タイプ| 長さ|特徴#| 値… +--------+--------+--------+--------+--------

   Together, the feature number and the option type ("L" or "R")
   uniquely identify the feature to which an option applies.  The exact
   format of the Value(s) area depends on the feature number.

特徴番号とオプションタイプ(「L」か「R」)はオプションが適用される特徴を一緒に、唯一、特定します。 Value(s)領域の正確な形式は特徴番号に依存します。

   Feature negotiation options MUST NOT be sent on DCCP-Data packets,
   and any feature negotiation options received on DCCP-Data packets
   MUST be ignored.

DCCP-データ・パケットで特徴交渉オプションを送ってはいけません、そして、DCCP-データ・パケットの上に受け取られたどんな特徴交渉オプションも無視しなければなりません。

6.1.  Change Options

6.1. オプションを変更してください。

   Change L and Change R options initiate feature negotiation.  The
   option to use depends on the relevant feature's location: To start a
   negotiation for feature F/A, DCCP A will send a Change L option; to
   start a negotiation for F/B, it will send a Change R option.  Change
   options are retransmitted until some response is received.  They
   contain at least one Value, and thus have a length of at least 4.

変化LとChange Rオプションは特徴交渉を開始します。 使用するオプションは関連フィーチャーの位置によります: 特徴F/Aのための交渉を始めるために、DCCP AはChange Lオプションを送るでしょう。 F/Bのための交渉を始めるために、それはChange Rオプションを送るでしょう。 何らかの応答が受け取られているまで、変化オプションは再送されます。 彼らは、少なくとも1Valueを含んでいて、その結果、少なくとも4の長さを持っています。

Kohler, et al.              Standards Track                    [Page 32]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[32ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

              +--------+--------+--------+--------+--------
   Change L:  |00100000| Length |Feature#| Value(s) ...
              +--------+--------+--------+--------+--------
               Type=32

+--------+--------+--------+--------+-------- 変化L: |00100000| 長さ|特徴#| 値… +--------+--------+--------+--------+-------- =32をタイプしてください。

              +--------+--------+--------+--------+--------
   Change R:  |00100010| Length |Feature#| Value(s) ...
              +--------+--------+--------+--------+--------
               Type=34

+--------+--------+--------+--------+-------- 変化R: |00100010| 長さ|特徴#| 値… +--------+--------+--------+--------+-------- =34をタイプしてください。

6.2.  Confirm Options

6.2. オプションを確認してください。

   Confirm L and Confirm R options complete feature negotiation and are
   sent in response to Change R and Change L options, respectively.
   Confirm options MUST NOT be generated except in response to Change
   options.  Confirm options need not be retransmitted, since Change
   options are retransmitted as necessary.  The first byte of the
   Confirm option contains the feature number from the corresponding
   Change.  Following this is the selected Value, and then possibly the
   sender's preference list.

LとConfirm Rオプションが特徴交渉を終了して、それぞれChange RとChange Lオプションに対応して送られると確認してください。 Changeオプションを除いて、オプションを生成してはいけないと確認してください。 Changeオプションが必要に応じて再送されるので、オプションが再送される必要はないと確認してください。 Confirmオプションの最初のバイトは対応するChangeからの特徴番号を含んでいます。 これに続くのは、選択されたValueと、そして、ことによると送付者の好みのリストです。

              +--------+--------+--------+--------+--------
   Confirm L: |00100001| Length |Feature#| Value(s) ...
              +--------+--------+--------+--------+--------
               Type=33

+--------+--------+--------+--------+-------- Lを確認してください: |00100001| 長さ|特徴#| 値… +--------+--------+--------+--------+-------- =33をタイプしてください。

              +--------+--------+--------+--------+--------
   Confirm R: |00100011| Length |Feature#| Value(s) ...
              +--------+--------+--------+--------+--------
               Type=35

+--------+--------+--------+--------+-------- Rを確認してください: |00100011| 長さ|特徴#| 値… +--------+--------+--------+--------+-------- =35をタイプしてください。

   If an endpoint receives an invalid Change option -- with an unknown
   feature number, or an invalid value -- it will respond with an empty
   Confirm option containing the problematic feature number, but no
   value.  Such options have length 3.

--終点が未知の特徴番号、または無効の値で無効のChangeオプションを受け取るなら問題の多い特徴番号を含んでいますが、空のConfirmオプションがどんな値も含んでいなく、それが応じるでしょう。 そのようなオプションには、長さ3があります。

6.3.  Reconciliation Rules

6.3. 和解規則

   Reconciliation rules determine how the two sets of preferences for a
   given feature are resolved into a unique result.  The reconciliation
   rule depends only on the feature number.  Each reconciliation rule
   must have the property that the result is uniquely determined given
   the contents of Change options sent by the two endpoints.

和解規則は、与えられた特徴のための2セットの好みがどのようにユニークな結果に変えられるかを決定します。 和解規則は特徴番号だけに依存します。 それぞれの和解規則には、Changeのコンテンツを考えて、オプションが2つの終点のそばで発信したと決心していた状態で、結果が唯一そうである特性がなければなりません。

   All current DCCP features use one of two reconciliation rules:
   server-priority ("SP") and non-negotiable ("NN").

すべての現在のDCCPの特徴が2つの和解規則の1つを使用します: サーバ優先権("SP")と譲渡禁止の("NN"。)

Kohler, et al.              Standards Track                    [Page 33]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[33ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

6.3.1.  Server-Priority

6.3.1. サーバ優先権

   The feature value is a fixed-length byte string (length determined by
   the feature number).  Each Change option contains a list of values
   ordered by preference, with the most preferred value coming first.
   Each Confirm option contains the confirmed value, followed by the
   confirmer's preference list.  Thus, the feature's current value will
   generally appear twice in Confirm options' data, once as the current
   value and once in the confirmer's preference list.

特徴値は固定長バイトストリング(特徴番号に従って決定している長さ)です。 それぞれのChangeオプションは最も都合のよい値が一番になっている好みで注文された値のリストを含んでいます。 それぞれのConfirmオプションは確認された値を含んでいます、続いて、confirmerの好みのリストを含みます。 したがって、一般に、フィーチャーの現行価値はConfirmオプションのデータ、かつての電流として値、およびconfirmerの好みでかつてのリストに二度現れるでしょう。

   To reconcile the preference lists, select the first entry in the
   server's list that also occurs in the client's list.  If there is no
   shared entry, the feature's value MUST NOT change, and the Confirm
   option will confirm the feature's previous value (unless the Change
   option was Mandatory; see Section 6.6.9).

好みのリストを和解させるには、また、クライアントのリストに現れるサーバのリストにおける初記入を選択してください。 共有されたエントリーが全くなければ、フィーチャーの値は変化してはいけません、そして、Confirmオプションはフィーチャーの前の値を確認するでしょう(Mandatory; Changeオプションがセクション6.6.9を見なかったなら)。

6.3.2.  Non-Negotiable

6.3.2. 譲渡禁止

   The feature value is a byte string.  Each option contains exactly one
   feature value.  The feature location signals a new value by sending a
   Change L option.  The feature remote MUST accept any valid value,
   responding with a Confirm R option containing the new value, and it
   MUST send empty Confirm R options in response to invalid values
   (unless the Change L option was Mandatory; see Section 6.6.9).
   Change R and Confirm L options MUST NOT be sent for non-negotiable
   features; see Section 6.6.8.  Non-negotiable features use the feature
   negotiation mechanism to achieve reliability.

特徴値はバイトストリングです。 各オプションはまさに1つの特徴値を含んでいます。 Change Lオプションを送ることによって、特徴位置は新しい値に合図します。 特徴リモートである、どんな有効値も受け入れなければならなくて、a Confirm Rオプションが新しい値、およびそれを含んでいて応じるのは無効の値に対応して空のConfirm Rにオプションを送らなければなりません(Mandatory; Change Lオプションがセクション6.6.9を見なかったなら)。 譲渡禁止の特徴のために変化RとConfirm Lオプションを送ってはいけません。 セクション6.6.8を見てください。 譲渡禁止の特徴は、信頼性を獲得するのに特徴交渉メカニズムを使用します。

Kohler, et al.              Standards Track                    [Page 34]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[34ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

6.4.  Feature Numbers

6.4. 特徴番号

   This document defines the following feature numbers.

このドキュメントは以下の特徴番号を定義します。

                                          Rec'n Initial        Section
   Number   Meaning                       Rule   Value  Req'd Reference
   ------   -------                       -----  -----  ----- ---------
      0     Reserved
      1     Congestion Control ID (CCID)   SP      2      Y     10
      2     Allow Short Seqnos             SP      0      Y     7.6.1
      3     Sequence Window                NN     100     Y     7.5.2
      4     ECN Incapable                  SP      0      N     12.1
      5     Ack Ratio                      NN      2      N     11.3
      6     Send Ack Vector                SP      0      N     11.5
      7     Send NDP Count                 SP      0      N     7.7.2
      8     Minimum Checksum Coverage      SP      0      N     9.2.1
      9     Check Data Checksum            SP      0      N     9.3.1
    10-127  Reserved
   128-255  CCID-specific features                              10.3

意味規則値のReqが参照をつけるRec'nの初期のセクション番号------ ------- ----- ----- ----- --------- 0が予約した、1Congestion Control ID(CCID)SP2Y10 2Allow Short Seqnos SP0Y7.6.1 3Sequence Window NN100Y7.5.2 4電子証券取引ネットワークIncapable SP0N12.1 5Ack Ratio NN2N11.3 6Send Ack Vector SP0N11.5 7Send NDP Count SP0N7.7.2 8Minimum Checksum Coverage SP0N9.2.1 9Check Data Checksum SP0N9.3.1 10-127Reserved128-255、CCID特有の特徴10.3

                      Table 4: DCCP Feature Numbers

テーブル4: DCCP特徴番号

   Rec'n Rule     The reconciliation rule used for the feature.  SP
                  means server-priority, NN means non-negotiable.

和解が特徴において使用されていると裁決するRec'n Rule。 SPはサーバ優先権を意味して、NNは、譲渡禁止であることを意味します。

   Initial Value  The initial value for the feature.  Every feature has
                  a known initial value.

初期の初期のValueは特徴のために評価します。 あらゆる特徴に、知られている初期の値があります。

   Req'd          This column is "Y" if and only if every DCCP
                  implementation MUST understand the feature.  If it is
                  "N", then the feature behaves like an extension (see
                  Section 15), and it is safe to respond to Change
                  options for the feature with empty Confirm options.
                  Of course, a CCID might require the feature; a DCCP
                  that implements CCID 2 MUST support Ack Ratio and
                  Send Ack Vector, for example.

そして、Reqがそうするだろう、Thisコラムが「Y」である、あらゆるDCCP実装が特徴を理解しなければならない場合にだけ。 特徴のためにオプションを変更する特徴が拡大(セクション15を見る)のように振る舞って、反応するのが安全であるその時はそれが「N」であるなら、空になります。オプションを確認してください。 もちろん、CCIDは特徴を必要とするかもしれません。 CCID2を実装するDCCPは例えばAck RatioとSend Ack Vectorをサポートしなければなりません。

Kohler, et al.              Standards Track                    [Page 35]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[35ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

6.5.  Feature Negotiation Examples

6.5. 特徴交渉の例

   Here are three example feature negotiations for features located at
   the server, the first two for the Congestion Control ID feature, the
   last for the Ack Ratio.

ここに、サーバで位置する特徴のための3つの例の特徴交渉があります、Congestion Control IDの特徴のための最初の2、Ack Ratioのための最終。

                 Client                     Server
                 ------                     ------
      1. Change R(CCID, 2 3 1)  -->
         ("2 3 1" is client's preference list)
      2.                        <--  Confirm L(CCID, 3, 3 2 1)
                               (3 is the negotiated value;
                               "3 2 1" is server's pref list)
                  * agreement that CCID/Server = 3 *

クライアントサーバ------ ------ 1. 1インチはそうです。変化R(CCID、2 3 1)--、>、(「2 3、クライアントの好みのリスト) 2インチ。 <-- L(CCID、3、3 2 1)を確認してください。(3は交渉された値です;、「3 2、1インチ、サーバのprefリスト) *協定がそのCCID/サーバ=3*である、」

      1.                   XXX  <--  Change L(CCID, 3 2 1)
      2.                             Retransmission:
                                <--  Change L(CCID, 3 2 1)
      3. Confirm R(CCID, 3, 2 3 1)  -->
                  * agreement that CCID/Server = 3 *

1. XXX<--L(CCID、3 2 1)2を変えてください。 Retransmission: <-- L(CCID、3 2 1)3を変えてください。 R(CCID、3、2 3 1)を確認してください-->*、CCID/サーバが3*と等しいという協定

      1.                        <--  Change L(Ack Ratio, 3)
      2. Confirm R(Ack Ratio, 3)  -->
               * agreement that Ack Ratio/Server = 3 *

1. <-- L(Ack比、3)2を変えてください。 R(Ack Ratio、3)を確認してください--、Ack Ratio/サーバが3*と等しいという>*協定

   This example shows a simultaneous negotiation.

この例は同時の交渉を示しています。

                  Client                     Server
                  ------                     ------
      1a. Change R(CCID, 2 3 1)  -->
       b.                        <--  Change L(CCID, 3 2 1)
      2a.                        <--  Confirm L(CCID, 3, 3 2 1)
       b. Confirm R(CCID, 3, 2 3 1)  -->
                   * agreement that CCID/Server = 3 *

クライアントサーバ------ ------ 1a。 R(CCID、2 3 1)を変えてください-->b。 <-- L(CCID、3 2 1)2aを変えてください。 <-- L(CCID、3、3 2 1)bを確認してください。 R(CCID、3、2 3 1)を確認してください-->*、CCID/サーバが3*と等しいという協定

   Here are the byte encodings of several Change and Confirm options.
   Each option is sent by DCCP A.

ここに、いくつかのChangeとConfirmオプションのバイトencodingsがあります。 各オプションはDCCP Aによって送られます。

   Change L(CCID, 2 3) = 32,5,1,2,3
      DCCP B should change CCID/A's value (feature number 1, a server-
      priority feature); DCCP A's preferred values are 2 and 3, in that
      preference order.

変化L(CCID、2 3)=32、5、1、2、3DCCP BはCCID/Aの値(特徴No.1、サーバ優先権機能)を変えるはずです。 DCCP Aの都合のよい値は、その好みの命令で2と3です。

Kohler, et al.              Standards Track                    [Page 36]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[36ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Change L(Sequence Window, 1024) = 32,9,3,0,0,0,0,4,0
      DCCP B should change Sequence Window/A's value (feature number 3,
      a non-negotiable feature) to the 6-byte string 0,0,0,0,4,0 (the
      value 1024).

32、9、3、0、0、0、0、変化L(系列Window、1024)=4、0DCCP BはSequence Window/Aの値(No.3を特徴としてください、譲渡禁止の特徴)を6バイトのストリング0、0、0、0、4、0(値1024)に変えるはずです。

   Confirm L(CCID, 2, 2 3) = 33,6,1,2,2,3
      DCCP A has changed CCID/A's value to 2; its preferred values are 2
      and 3, in that preference order.

L(CCID、2、2 3)=33、6、1、2、2、3DCCP AがCCID/Aの値を2に変えたと確認してください。 都合のよい値は、その好みの命令で2と3です。

   Empty Confirm L(126) = 33,3,126
      DCCP A doesn't implement feature number 126, or DCCP B's proposed
      value for feature 126/A was invalid.

空のConfirm L(126)=33、DCCP Aが実行しない3,126がNo.126を特徴とするか、または特徴126/Aが無効であったので、DCCPビーズは値を提案しました。

   Change R(CCID, 3 2) = 34,5,1,3,2
      DCCP B should change CCID/B's value; DCCP A's preferred values are
      3 and 2, in that preference order.

変化R(CCID、3 2)=34、5、1、3、2DCCP BはCCID/ビーズ値を変えるはずです。 DCCP Aの都合のよい値は、その好みの命令で3と2です。

   Confirm R(CCID, 2, 3 2) = 35,6,1,2,3,2
      DCCP A has changed CCID/B's value to 2; its preferred values were
      3 and 2, in that preference order.

R(CCID、2、3 2)=35、6、1、2、3、2DCCP AがCCID/ビーズ値を2に変えたと確認してください。 都合のよい値は、その好みの命令で3と2でした。

   Confirm R(Sequence Window, 1024) = 35,9,3,0,0,0,0,4,0
      DCCP A has changed Sequence Window/B's value to the 6-byte string
      0,0,0,0,4,0 (the value 1024).

R(系列Window、1024)=35、9、3、0、0、0、0、4、DCCP Aが変えられたSequence Window/ビーズに6バイトのストリング0、0、0、0、4、0(値1024)に評価させる0を確認してください。

   Empty Confirm R(126) = 35,3,126
      DCCP A doesn't implement feature number 126, or DCCP B's proposed
      value for feature 126/B was invalid.

空のConfirm R(126)=35、DCCP Aが実行しない3,126がNo.126を特徴とするか、または特徴126/Bが無効であったので、DCCPビーズは値を提案しました。

6.6.  Option Exchange

6.6. オプション取引

   A few basic rules govern feature negotiation option exchange.

いくつかの基本的なルールが特徴交渉オプション取引を治めます。

   1. Every non-reordered Change option gets a Confirm option in
      response.

1. あらゆる非reordered Changeオプションが応答におけるConfirmオプションを得ます。

   2. Change options are retransmitted until a response for the latest
      Change is received.

2. 最新のChangeのための応答が受け取られているまで、変化オプションは再送されます。

   3. Feature negotiation options are processed in strictly-increasing
      order by Sequence Number.

3. 特徴交渉オプションはSequence Numberによるオーダーを厳密に増加させる際に処理されます。

   The rest of this section describes the consequences of these rules in
   more detail.

このセクションの残りはさらに詳細にこれらの規則の結果について説明します。

Kohler, et al.              Standards Track                    [Page 37]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[37ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

6.6.1.  Normal Exchange

6.6.1. 通常の交換

   Change options are generated when a DCCP endpoint wants to change the
   value of some feature.  Generally, this will happen at the beginning
   of a connection, although it may happen at any time.  We say the
   endpoint "generates" or "sends" a Change L or Change R option, but of
   course the option must be attached to a packet.  The endpoint may
   attach the option to a packet it would have generated anyway (such as
   a DCCP-Request), or it may create a "feature negotiation packet",
   often a DCCP-Ack or DCCP-Sync, just to carry the option.  Feature
   negotiation packets are controlled by the relevant congestion control
   mechanism.  For example, DCCP A may send a DCCP-Ack or DCCP-Sync for
   feature negotiation only if the B-to-A CCID would allow sending a
   DCCP-Ack.  In addition, an endpoint SHOULD generate at most one
   feature negotiation packet per round-trip time.

何らかの特徴の値を変えるDCCP終点必需品であるときに、変化オプションは発生します。 一般に、いつでも、起こるかもしれませんが、これは接続の始めに起こるでしょう。 私たちは、終点がChange LかChange Rオプションを「発生する」か、または「送る」と言いますが、もちろん、オプションをパケットに付けなければなりません。 終点がそれがとにかく発生させたパケット(DCCP-要求などの)にオプションを付けるかもしれませんか、またはそれは、ただオプションを運ぶためにしばしば「特徴交渉パケット」、DCCP-AckまたはDCCP-同時性を作成するかもしれません。 特徴交渉パケットは関連混雑制御機構によって制御されます。 例えば、BからAへのCCIDがDCCP-Ackを送らせる場合にだけ、DCCP Aは特徴交渉のためにDCCP-AckかDCCP-同時性を送るかもしれません。 添加、SHOULDが最も1つで発生させる終点では、往復の時間あたりの交渉パケットを特集してください。

   On receiving a Change L or Change R option, a DCCP endpoint examines
   the included preference list, reconciles that with its own preference
   list, calculates the new value, and sends back a Confirm R or Confirm
   L option, respectively, informing its peer of the new value or that
   the feature was not understood.  Every non-reordered Change option
   MUST result in a corresponding Confirm option, and any packet
   including a Confirm option MUST carry an Acknowledgement Number.
   (Section 6.6.4 describes how Change reordering is detected and
   handled.)  Generated Confirm options may be attached to packets that
   would have been sent anyway (such as DCCP-Response or DCCP-SyncAck)
   or to new feature negotiation packets, as described above.

Change LかChange Rオプションを受け取る場合、DCCP終点は、含まれている好みのリストを調べて、それ自身の好みのリストとそれを仲直りさせて、新しい値について計算して、Confirm RかConfirm Lオプションを返送して、同輩への新しい値かその案内であり、それぞれ、特徴は理解されていませんでした。 あらゆる非reordered Changeオプションが対応するConfirmオプションをもたらさなければなりません、そして、Confirmオプションを含むどんなパケットもAcknowledgement Numberを運ばなければなりません。 (セクション6.6 .4 Change reorderingがどう検出されて、扱われるかを説明します。) 発生しているConfirmオプションはとにかく送られたパケット(DCCP-応答かDCCP-SyncAckなどの)、または、新機能交渉パケットに付けられるかもしれません、上で説明されるように。

   The Change-sending endpoint MUST wait to receive a corresponding
   Confirm option before changing its stored feature value.  The
   Confirm-sending endpoint changes its stored feature value as soon as
   it sends the Confirm.

Change-発信終点は、格納された特徴値を変える前に対応するConfirmオプションを受け取るのを待たなければなりません。 Confirmを送るとすぐに、Confirm-発信終点は格納された特徴値を変えます。

   A packet MAY contain more than one feature negotiation option,
   possibly including two options that refer to the same feature; as
   usual, the options are processed sequentially.

パケットはことによると同じ特徴について言及する2つのオプションを含む1つ以上の特徴交渉オプションを含むかもしれません。 いつものように、オプションは連続して処理されます。

6.6.2.  Processing Received Options

6.6.2. 処理はオプションを受け取りました。

   DCCP endpoints exist in one of three states relative to each feature.
   STABLE is the normal state, where the endpoint knows the feature's
   value and thinks the other endpoint agrees.  An endpoint enters the
   CHANGING state when it first sends a Change for the feature and
   returns to STABLE once it receives a corresponding Confirm.  The
   final state, UNSTABLE, indicates that an endpoint in CHANGING state
   changed its preference list but has not yet transmitted a Change
   option with the new preference list.

DCCP終点は3つの州の1つに各特徴に比例して存在しています。 STABLEは正常な状態です。(そこでは、終点は、フィーチャーの値を知って、もう片方の終点が同意すると考えます)。 終点は、最初に特徴のためにChangeを送るとき、CHANGING状態に入って、いったん対応するConfirmを受けると、STABLEに戻ります。 最終的な州(UNSTABLE)は、CHANGING状態の終点が好みのリストを変えたのを示しますが、新しい好みのリストでまだChangeオプションを伝えていません。

Kohler, et al.              Standards Track                    [Page 38]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[38ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Feature state transitions at a feature location are implemented
   according to this diagram.  The diagram ignores sequence number and
   option validity issues; these are handled explicitly in the
   pseudocode that follows.

このダイヤグラムによると、特徴位置での特徴状態遷移は実行されます。 ダイヤグラムは一連番号とオプション正当性問題を無視します。 これらは従う擬似コードで明らかに扱われます。

                                                          timeout/
 rcv Confirm R      app/protocol evt : snd Change L       rcv non-ack
 : ignore      +---------------------------------------+  : snd Change L
      +----+   |                                       |  +----+
      |    v   |                   rcv Change R        v  |    v
   +------------+  rcv Confirm R   : calc new value, +------------+
   |            |  : accept value    snd Confirm L   |            |
   |   STABLE   |<-----------------------------------|  CHANGING  |
   |            |        rcv empty Confirm R         |            |
   +------------+        : revert to old value       +------------+
       |    ^                                            |    ^
       +----+                                  pref list |    | snd
 rcv Change R                                  changes   |    | Change L
 : calc new value, snd Confirm L                         v    |
                                                     +------------+
                                                 +---|            |
                            rcv Confirm/Change R |   |  UNSTABLE  |
                            : ignore             +-->|            |
                                                     +------------+

タイムアウト/rcv Confirm R装置/プロトコルevt: snd Change L rcv非ack: +を無視してください。---------------------------------------+ : snd Change L+----+ | | +----+ | v| rcv Change R v| +に対して------------+ rcv Confirm R: 電卓の新しい値、+------------+ | | : 値のsnd Confirm Lを受け入れてください。| | | うまや|<-----------------------------------| 変化します。| | | rcvの空のConfirm R| | +------------+ : 古い値+に戻ってください。------------+ | ^ | ^ +----+ prefリスト| | snd rcv Change R変化| | 変化L: 電卓の新しい値、snd Confirm L v| +------------+ +---| | rcv Confirm/変化R| | 不安定| : +を無視してください-->|、| +------------+

   Feature locations SHOULD use the following pseudocode, which
   corresponds to the state diagram, to react to each feature
   negotiation option on each valid non-Data packet received.  The
   pseudocode refers to "P.seqno" and "P.ackno", which are properties of
   the packet; "O.type" and "O.len", which are properties of the option;
   "FGSR" and "FGSS", which are properties of the connection and handle
   reordering as described in Section 6.6.4; "F.state", which is the
   feature's state (STABLE, CHANGING, or UNSTABLE); and "F.value", which
   is the feature's value.

特徴位置のSHOULDは以下の擬似コードを使用します。(それは、それぞれの有効な非データ・パケットにおける交渉オプションが受け取った各特徴に反応するために州のダイヤグラムに対応します)。 擬似コードはパケットの特性である「P.seqno」と「P.ackno」について言及します。 「O.タイプ」と「O.len」(それは、オプションの特性です)。 "FGSR"と「FGSS」(それは、接続の特性であり、セクション6.6.4で説明されるように再命令を扱います)。 「F.状態」(それは、フィーチャーの状態(STABLE、CHANGING、またはUNSTABLE)です)。 そして、フィーチャーの値である「F.値。」

   First, check for unknown features (Section 6.6.7);
      If F is unknown,
         If the option was Mandatory,   /* Section 6.6.9 */
            Reset connection and return
         Otherwise, if O.type == Change R,
            Send Empty Confirm L on a future packet

まず最初に、未知の特徴(セクション6.6.7)がないかどうかチェックしてください。 Fが未知、Ifである、オプションは、/*セクション6.6.9のMandatoryと、*/リセット接続とリターンOtherwiseでした、O.タイプ=Change Rであるなら、将来のパケットの上のSend Empty Confirm L

         Return

リターン

   Second, check for reordering (Section 6.6.4);
      If F.state == UNSTABLE or P.seqno <= FGSR
              or (O.type == Confirm R and P.ackno < FGSS),
         Ignore option and return

2番目に、(セクション6.6.4)を再命令するのがないかどうかチェックしてください。 F.州=のUNSTABLEかP.seqno<がFGSRか(O.タイプ=Confirm RとP.ackno<FGSS)と等しいか、そして、Ignoreオプションとリターン

Kohler, et al.              Standards Track                    [Page 39]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[39ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Third, process Change R options;
      If O.type == Change R,
         If the option's value is valid,   /* Section 6.6.8 */
            Calculate new value
            Send Confirm L on a future packet
            Set F.state := STABLE
         Otherwise, if the option was Mandatory,
            Reset connection and return
         Otherwise,
            Send Empty Confirm L on a future packet
            /* Remain in existing state.  If that's CHANGING, this
               endpoint will retransmit its Change L option later. */

3番目に、Change Rオプションを処理してください。 IfがO.タイプ=Change Rであるなら、有効である、オプションのものが、評価する/*セクション6.6.8*/は将来のパケットSet F.の新しい値のSend Confirm Lが:=STABLE Otherwiseを述べると見込みます、オプションがMandatoryと、Reset接続とリターンOtherwiseであったなら、未来パケット/*のSend Empty Confirm L。現状に残ってください。 それがCHANGINGであるなら、この終点は後でChange Lオプションを再送するでしょう。 */

   Fourth, process Confirm R options (but only in CHANGING state).
      If F.state == CHANGING and O.type == Confirm R,
         If O.len > 3,   /* nonempty */
            If the option's value is valid,
               Set F.value := new value
            Otherwise,
               Reset connection and return
         Set F.state := STABLE

4番目に、Confirm Rオプション(しかしCHANGING状態だけで)を処理してください。 CHANGINGとF.状態=O.が=Confirm R、If O.len>3をタイプするなら、/*nonempty*/のSet F.価値のオプションの値は有効であるか、そして、:=の新しい価値のOtherwiseと、Reset接続とリターンSet F.州の:=STABLEです。

   Versions of this diagram and pseudocode are also used by feature
   remotes; simply switch the "L"s and "R"s, so that the relevant
   options are Change R and Confirm L.

また、このダイヤグラムと擬似コードのバージョンは特徴「再-ちり」が使用されます。 関連オプションが変化Rであり、Lを確認するように、単に「L」sと「R」sを切り換えてください。

6.6.3.  Loss and Retransmission

6.6.3. 損失とRetransmission

   Packets containing Change and Confirm options might be lost or
   delayed by the network.  Therefore, Change options are repeatedly
   transmitted to achieve reliability.  We refer to this as
   "retransmission", although of course there are no packet-level
   retransmissions in DCCP: a Change option that is sent again will be
   sent on a new packet with a new sequence number.

Changeを含むパケットとConfirmオプションは、ネットワークで失われているか、または遅れるかもしれません。 したがって、Changeオプションは、信頼性を獲得するために繰り返して伝えられます。 パケット・レベル「再-トランスミッション」が全くもちろんDCCPにありませんが、私たちは"「再-トランスミッション」"にこれについて言及します: 新しい一連番号と共に新しいパケットで再び送られるChangeオプションを送るでしょう。

   A CHANGING endpoint transmits another Change option once it realizes
   that it has not heard back from the other endpoint.  The new Change
   option need not contain the same payload as the original; reordering
   protection will ensure that agreement is reached based on the most
   recently transmitted option.

もう片方の終点から連絡をいただいていないのがいったん換金されると、CHANGING終点は別のChangeオプションを伝えます。 新しいChangeオプションはオリジナルと同じペイロードを含む必要はありません。 保護を再命令するのは、最も最近伝えられたオプションに基づいて合意に達しているのを確実にするでしょう。

   A CHANGING endpoint MUST continue retransmitting Change options until
   it gets some response or the connection terminates.

CHANGING終点は、何らかの応答を得るか、または接続が終わるまでChangeオプションを再送し続けなければなりません。

   Endpoints SHOULD use an exponential-backoff timer to decide when to
   retransmit Change options.  (Packets generated specifically for
   feature negotiation MUST use such a timer.)  The timer interval is
   initially set to not less than one round-trip time, and should back

終点SHOULDは、いつChangeオプションを再送するかを決めるのに指数のbackoffタイマを使用します。 (特に特徴交渉のために発生するパケットはそのようなタイマを使用しなければなりません。) タイマ間隔は初めは少なくとも往復の1回に設定されて、逆に設定されるべきです。

Kohler, et al.              Standards Track                    [Page 40]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[40ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   off to not less than 64 seconds.  The backoff protects against
   delayed agreement due to the reordering protection algorithms
   described in the next section.  Again, endpoints may piggyback Change
   options on packets they would have sent anyway or create new packets
   to carry the options.  Any new packets are controlled by the relevant
   congestion-control mechanism.

下に少なくとも64秒まで。 backoffは保護アルゴリズムが次のセクションで説明した再命令による遅れた協定から守ります。 一方、終点は、それらがとにかく送ったパケットの上でChangeオプションを背負うか、またはオプションを運ぶために新しいパケットを作成するかもしれません。 どんな新しいパケットも関連輻輳制御メカニズムによって制御されます。

   Confirm options are never retransmitted, but the Confirm-sending
   endpoint MUST generate a Confirm option after every non-reordered
   Change.

オプションが決して再送されないと確認しなさい、ただし、Confirm-発信終点はあらゆる非reordered Changeの後にConfirmオプションを発生させなければなりません。

6.6.4.  Reordering

6.6.4. Reorderingします。

   Reordering might cause packets containing Change and Confirm options
   to arrive in an unexpected order.  Endpoints MUST ignore feature
   negotiation options that do not arrive in strictly-increasing order
   by Sequence Number.  The rest of this section presents two algorithms
   that fulfill this requirement.

ReorderingはChangeを含むパケットとConfirmオプションを予期していなかったオーダーに到達させるかもしれません。 終点はSequence Numberによるオーダーを厳密に増加させるのに到着しない特徴交渉オプションを無視しなければなりません。 このセクションの残りはこの要件を実現させる2つのアルゴリズムを提示します。

   The first algorithm introduces two sequence number variables that
   each endpoint maintains for the connection.

最初のアルゴリズムは各終点が接続のために維持する2つの一連番号変数を紹介します。

   FGSR      Feature Greatest Sequence Number Received: The greatest
             sequence number received, considering only valid packets
             that contained one or more feature negotiation options
             (Change and/or Confirm).  This value is initialized to
             ISR - 1.

FGSRの特徴の最も大きい一連番号は受けました: 有効な唯一のパケットがその含まれた1つ以上の特徴の交渉オプション(変化、そして/または、Confirm)であると考える場合受け取られた最大級の一連番号。 この値はISRに初期化されます--1。

   FGSS      Feature Greatest Sequence Number Sent: The greatest
             sequence number sent, considering only packets that
             contained one or more new Change options.  A Change option
             is new if and only if it was generated during a transition
             from the STABLE or UNSTABLE state to the CHANGING state;
             Change options generated within the CHANGING state are
             retransmissions and MUST have exactly the same contents as
             previously transmitted options, allowing tolerance for
             reordering.  FGSS is initialized to ISS.

FGSSの特徴の最も大きい一連番号は発信しました: 1つ以上の新しいChangeオプションを含んだパケットだけを考える場合、最大級の一連番号は発信しました。 そして、Changeオプションが新しい、変遷の間、STABLEから発生しただけであるか、そして、CHANGING状態へのUNSTABLE状態。 CHANGING州の中で発生した変化オプションは、「再-トランスミッション」であり、まさに以前に伝えられたオプションと同じコンテンツを持たなければなりません、再命令するための寛容を許容して。 FGSSはISSに初期化されます。

   Each endpoint checks two conditions on sequence numbers to decide
   whether to process received feature negotiation options.

各終点は容認された特徴交渉オプションを処理するかどうか決める一連番号に関する2つの状態をチェックします。

   1. If a packet's Sequence Number is less than or equal to FGSR, then
      its Change options MUST be ignored.

1. パケットのSequence Numberが、よりFGSR以下であるなら、Changeオプションを無視しなければなりません。

   2. If a packet's Sequence Number is less than or equal to FGSR, if it
      has no Acknowledgement Number, OR if its Acknowledgement Number is
      less than FGSS, then its Confirm options MUST be ignored.

2. それにAcknowledgement Numberがない、ORがAcknowledgement NumberがFGSS以下であるならあるならパケットのSequence Numberが、よりFGSR以下であるなら、Confirmオプションを無視しなければなりません。

Kohler, et al.              Standards Track                    [Page 41]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[41ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Alternatively, an endpoint MAY maintain separate FGSR and FGSS values
   for every feature.  FGSR(F/X) would equal the greatest sequence
   number received, considering only packets that contained Change or
   Confirm options applying to feature F/X; FGSS(F/X) would be defined
   similarly.  This algorithm requires more state, but is slightly more
   forgiving to multiple overlapped feature negotiations.  Either
   algorithm MAY be used; the first algorithm, with connection-wide FGSR
   and FGSS variables, is RECOMMENDED.

あるいはまた、終点はあらゆる特徴のために別々のFGSRとFGSS値を維持するかもしれません。 FGSR(F/X)は唯一のパケットがその含まれたChangeであると考える場合受け取られた最大級の一連番号かF/Xを特集するのに当てはまるConfirmオプションと等しいでしょう。 FGSS(F/X)は同様に定義されるでしょう。 このアルゴリズムは、より多くの状態を必要としますが、複数の重ね合わせられた特徴交渉にわずかに寛大です。 どちらのアルゴリズムも使用されるかもしれません。 最初のアルゴリズムは接続全体のFGSRとFGSS変数があるRECOMMENDEDです。

   One consequence of these rules is that a CHANGING endpoint will
   ignore any Confirm option that does not acknowledge the latest Change
   option sent.  This ensures that agreement, once achieved, used the
   most recent available information about the endpoints' preferences.

これらの規則の1つの結果はCHANGING終点が最新のChangeオプションが発信したと認めないどんなConfirmオプションも無視するということです。 これは、一度達成された協定が終点の好みに関する最新の入手可能な情報を使用したのを確実にします。

6.6.5.  Preference Changes

6.6.5. 好みの変化

   Endpoints are allowed to change their preference lists at any time.
   However, an endpoint that changes its preference list while in the
   CHANGING state MUST transition to the UNSTABLE state.  It will
   transition back to CHANGING once it has transmitted a Change option
   with the new preference list.  This ensures that agreement is based
   on active preference lists.  Without the UNSTABLE state, simultaneous
   negotiation -- where the endpoints began independent negotiations for
   the same feature at the same time -- might lead to the negotiation's
   terminating with the endpoints thinking the feature had different
   values.

終点はいつでも、それらの好みのリストを変えることができます。 しかしながら、CHANGING状態にある間に好みのリストを変える終点はUNSTABLE状態への変遷がそうしなければなりません。 それはCHANGINGへの変遷が新しい好みのリストでいったんChangeオプションを伝えるとそうするでしょう。 これは、協定がアクティブな好みのリストに基づいているのを確実にします。 UNSTABLE状態がなければ、終点が同時に同じ特徴のための独立している交渉を始めたところの同時の交渉は、終点が、異価が特徴にあったと思っていて交渉のものが終わるのに通じるかもしれません。

6.6.6.  Simultaneous Negotiation

6.6.6. 同時の交渉

   The two endpoints might simultaneously open negotiation for the same
   feature, after which an endpoint in the CHANGING state will receive a
   Change option for the same feature.  Such received Change options can
   act as responses to the original Change options.  The CHANGING
   endpoint MUST examine the received Change's preference list,
   reconcile that with its own preference list (as expressed in its
   generated Change options), and generate the corresponding Confirm
   option.  It can then transition to the STABLE state.

2つの終点は同じ特徴のための同時に開いている交渉がそうするかもしれません。(その時、CHANGING状態の終点は同じ特徴のためのChangeオプションを受け取ったでしょう後)。 そのような容認されたChangeオプションはオリジナルのChangeオプションへの応答として機能できます。 CHANGING終点は、容認されたChangeの好みのリストを調べて、それ自身の好みのリスト(発生しているChangeオプションで言い表されるように)とそれを仲直りさせて、対応するConfirmオプションを発生させなければなりません。 それは次に、STABLE状態への変遷をそうすることができます。

Kohler, et al.              Standards Track                    [Page 42]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[42ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

6.6.7.  Unknown Features

6.6.7. 未知の特徴

   Endpoints may receive Change options referring to feature numbers
   they do not understand -- for instance, when an extended DCCP
   converses with a non-extended DCCP.  Endpoints MUST respond to
   unknown Change options with Empty Confirm options (that is, Confirm
   options containing no data), which inform the CHANGING endpoint that
   the feature was not understood.  However, if the Change option was
   Mandatory, the connection MUST be reset; see Section 6.6.9.

終点は彼らが理解していない特徴番号を示しながら、Changeオプションを受け取るかもしれません--、例えば、拡張DCCPが非拡張しているDCCPと話すとき。 終点はEmpty Confirmオプション(すなわち、データを全く含まないConfirmオプション)で未知のChangeオプションに応じなければなりません。(オプションは、特徴が理解されていなかったことをCHANGING終点に知らせます)。 しかしながら、ChangeオプションがMandatoryであったなら、接続をリセットしなければなりません。 セクション6.6.9を見てください。

   On receiving an empty Confirm option for some feature, the CHANGING
   endpoint MUST transition back to the STABLE state, leaving the
   feature's value unchanged.  Section 15 suggests that the default
   value for any extension feature correspond to "extension not
   available".

何らかの特徴のための空のConfirmオプションを受け取ると、CHANGING終点はフィーチャーの値を変わりがないままにするSTABLE州への変遷がそうしなければなりません。 セクション15は、どんな拡大機能のためのデフォルト値も「利用可能でない拡大」に対応するのを示します。

   Some features are required to be understood by all DCCPs (see Section
   6.4).  The CHANGING endpoint SHOULD reset the connection (with Reset
   Code 5, "Option Error") if it receives an empty Confirm option for
   such a feature.

いくつかの特徴が、すべてのDCCPsに解釈されるのに必要です(セクション6.4を見てください)。 そのような特徴のための空のConfirmオプションを受け取るなら、CHANGING終点SHOULDは接続(Reset Code5に伴う「オプション誤り」)をリセットしました。

   Since Confirm options are generated only in response to Change
   options, an endpoint should never receive a Confirm option referring
   to a feature number it does not understand.  Nevertheless, endpoints
   MUST ignore any such options they receive.

Confirmオプションが単にChangeオプションに対応して生成されるので、終点はそれが理解していない特徴番号を示しながら、Confirmオプションを決して受け取るべきではありません。 それにもかかわらず、終点がどんなそのようなオプションも無視しなければならないので、それらは受信します。

6.6.8.  Invalid Options

6.6.8. 無効のオプション

   A DCCP endpoint might receive a Change or Confirm option for a known
   feature that lists one or more values that it does not understand.
   Some, but not all, such options are invalid, depending on the
   relevant reconciliation rule (Section 6.3).  For instance:

DCCP終点が1を記載する知られている特徴のためのChangeかConfirmオプションを受け取るかもしれませんか、またはそれがするより多くの値は分かりません。 しかし、いくつか、どんなそのようなオプションも病人、依存が関連和解のときに統治されるということ(セクション6.3)ではありません。 例えば:

   o  All features have length limitations, and options with invalid
      lengths are invalid.  For example, the Ack Ratio feature takes
      16-bit values, so valid "Confirm R(Ack Ratio)" options have option
      length 5.

o すべての特徴に、長さの制限があります、そして、無効の長さがあるオプションは無効です。 例えば、Ack Ratioの特徴が16ビットの値を取るので、「R(Ack比)を確認してください」という有効なオプションには、オプション長さ5があります。

   o  Some non-negotiable features have value limitations.  The Ack
      Ratio feature takes two-byte, non-zero integer values, so a
      "Change L(Ack Ratio, 0)" option is never valid.  Note that
      server-priority features do not have value limitations, since
      unknown values are handled as a matter of course.

o いくつかの譲渡禁止の特徴に、値の制限があります。 Ack Ratioの特徴が2バイトの非ゼロ整数値を取るので、「変化L(Ack比、0)」オプションは決して有効ではありません。 未知の値が当然のこととして扱われるので、サーバ優先権機能には値の制限がないことに注意してください。

   o  Any Confirm option that selects the wrong value, based on the two
      preference lists and the relevant reconciliation rule, is invalid.

o 2つの好みのリストと関連和解規則に基づく間違った値を選択するどんなConfirmオプションも無効です。

Kohler, et al.              Standards Track                    [Page 43]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[43ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   However, unexpected Confirm options -- that refer to unknown feature
   numbers, or that don't appear to be part of a current negotiation --
   are not invalid, although they are ignored by the receiver.

しかしながら、予期していなかったConfirmオプションは無効ではありません、それらが受信機によって無視されますが。(未知の特徴番号を呼ぶか、またはオプションは現在の交渉の一部であるように見えません)。

   An endpoint receiving an invalid Change option MUST respond with the
   corresponding empty Confirm option.  An endpoint receiving an invalid
   Confirm option MUST reset the connection, with Reset Code 5, "Option
   Error".

無効のChangeオプションを受け取る終点は対応する空のConfirmオプションで応じなければなりません。 無効のConfirmオプションを受け取る終点はReset Code5、「オプション誤り」との接続をリセットしなければなりません。

6.6.9.  Mandatory Feature Negotiation

6.6.9. 義務的な特徴交渉

   Change options may be preceded by Mandatory options (Section 5.8.2).
   Mandatory Change options are processed like normal Change options
   except that the following failure cases will cause the receiver to
   reset the connection with Reset Code 6, "Mandatory Failure", rather
   than send a Confirm option.  The connection MUST be reset if:

Mandatoryオプション(セクション5.8.2)で変化オプションは先行されるかもしれません。 受信機がConfirmオプションを送るより以下の失敗事件でむしろReset Code6との接続、「義務的な失敗」をリセットするのを除いて、義務的なChangeオプションは通常のChangeオプションのように処理されます。 接続をリセットしなければならない、:

   o  the Change option's feature number was not understood;

o Changeオプションの特徴番号は理解されていませんでした。

   o  the Change option's value was invalid, and the receiver would
      normally have sent an empty Confirm option in response; or

o Changeオプションの値は無効でした、そして、通常、受信機は応答における空のConfirmオプションを送ったでしょう。 または

   o  for server-priority features, there was no shared entry in the two
      endpoints' preference lists.

o サーバ優先権機能のために、2つの終点の好みのリストには共有されたエントリーが全くありませんでした。

   Other failure cases do not cause connection reset; in particular,
   reordering protection may cause a Mandatory Change option to be
   ignored without resetting the connection.

他の失敗事件は接続にリセットを引き起こしません。 接続をリセットしないで、特に、保護を再命令するのはMandatory Changeオプションを無視するかもしれません。

   Confirm options behave identically and have the same reset conditions
   whether or not they are Mandatory.

オプションがそれらがMandatoryであるか否かに関係なく、同様に振る舞って、同じリセット条件を持っていると確認してください。

7.  Sequence Numbers

7. 一連番号

   DCCP uses sequence numbers to arrange packets into sequence, to
   detect losses and network duplicates, and to protect against
   attackers, half-open connections, and the delivery of very old
   packets.  Every packet carries a Sequence Number; most packet types
   carry an Acknowledgement Number as well.

DCCPは、系列にパケットをアレンジして、損失とネットワーク写しを検出して、非常に古いパケットの攻撃者、半開きな接続、および配送から守るのに一連番号を使用します。 あらゆるパケットがSequence Numberを運びます。 ほとんどのパケットタイプがまた、Acknowledgement Numberを運びます。

   DCCP sequence numbers are packet based.  That is, Sequence Numbers
   generated by each endpoint increase by one, modulo 2^48, per packet.
   Even DCCP-Ack and DCCP-Sync packets, and other packets that don't
   carry user data, increment the Sequence Number.  Since DCCP is an
   unreliable protocol, there are no true retransmissions, but effective
   retransmissions, such as retransmissions of DCCP-Request packets,
   also increment the Sequence Number.  This lets DCCP implementations

DCCP一連番号は基づくパケットです。 すなわち、民数記が各終点で生成したSequenceは1、1パケットあたりの法2^48で増加します。 DCCP-AckとDCCP-同時性パケット、および利用者データを運ばない他のパケットさえSequence Numberを増加します。 DCCPが頼り無いプロトコルであるので、どんな本当の「再-トランスミッション」もありませんが、また、DCCP-リクエスト・パケットの「再-トランスミッション」などの有効な「再-トランスミッション」はSequence Numberを増加します。 これはDCCP実装をさせます。

Kohler, et al.              Standards Track                    [Page 44]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[44ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   detect network duplication, retransmissions, and acknowledgement
   loss; it is a significant departure from TCP practice.

ネットワーク複製、「再-トランスミッション」、および承認の損失を検出してください。 それはTCP習慣からの重要な出発です。

7.1.  Variables

7.1. 変数

   DCCP endpoints maintain a set of sequence number variables for each
   connection.

DCCP終点は各接続のために1セットの一連番号変数を維持します。

   ISS     The Initial Sequence Number Sent by this endpoint.  This
           equals the Sequence Number of the first DCCP-Request or
           DCCP-Response sent.

この終点のそばのISS Initial Sequence Number Sent。 これは送られた最初のDCCP-要求かDCCP-応答のSequence Numberと等しいです。

   ISR     The Initial Sequence Number Received from the other endpoint.
           This equals the Sequence Number of the first DCCP-Request or
           DCCP-Response received.

もう片方の終点からのISR Initial Sequence Number Received。 これは受け取られた最初のDCCP-要求かDCCP-応答のSequence Numberと等しいです。

   GSS     The Greatest Sequence Number Sent by this endpoint.  Here,
           and elsewhere, "greatest" is measured in circular sequence
           space.

この終点のそばのGSSの最もすばらしいSequence Number Sent。 ここと、ほかの場所では、「最もすばらしいこと」が円形の系列スペースで測定されます。

   GSR     The Greatest Sequence Number Received from the other endpoint
           on an acknowledgeable packet.  (Section 7.4 defines this
           term.)

承認可能パケットの上のもう片方の終点からのGSRの最もすばらしいSequence Number Received。 (セクション7.4は今期を定義します。)

   GAR     The Greatest Acknowledgement Number Received from the other
           endpoint on an acknowledgeable packet that was not a DCCP-
           Sync.

DCCPでなかった承認可能パケットの上のもう片方の終点からのGARの最もすばらしいAcknowledgement Number Receivedは同期します。

   Some other variables are derived from these primitives.

これらの基関数からある他の変数を得ます。

   SWL and SWH
           (Sequence Number Window Low and High)  The extremes of the
           validity window for received packets' Sequence Numbers.

SWL、SWH(Number Window LowとHighを配列する)は容認されたパケットのSequence民数記のための正当性ウィンドウの極端をそうします。

   AWL and AWH
           (Acknowledgement Number Window Low and High)  The extremes of
           the validity window for received packets' Acknowledgement
           Numbers.

AWL、AWH(承認Number Window LowとHigh)は容認されたパケットのAcknowledgement民数記のための正当性ウィンドウの極端をそうします。

7.2.  Initial Sequence Numbers

7.2. 初期シーケンス番号

   The endpoints' initial sequence numbers are set by the first DCCP-
   Request and DCCP-Response packets sent.  Initial sequence numbers
   MUST be chosen to avoid two problems:

終点の初期シーケンス番号はパケットが送った最初DCCPの要求とDCCP-応答で設定されます。 2つの問題を避けるために初期シーケンス番号を選ばなければなりません:

   o  delivery of old packets, where packets lingering in the network
      from an old connection are delivered to a new connection with the
      same addresses and port numbers; and

o 古いパケット、年取った接続からネットワークで長居するパケットがどこで同じアドレスとの新しい関係に提供されるか、そして、およびポートナンバーの配送。 そして

Kohler, et al.              Standards Track                    [Page 45]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[45ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   o  sequence number attacks, where an attacker can guess the sequence
      numbers that a future connection would use [M85].

o 攻撃者が今後の接続が使用する一連番号[M85]を推測できるところで一連番号は攻撃されます。

   These problems are the same as those faced by TCP, and DCCP
   implementations SHOULD use TCP's strategies to avoid them [RFC793,
   RFC1948].  The rest of this section explains these strategies in more
   detail.

これらの問題はTCPによって面していたものと同じです、そして、DCCP実装SHOULDはそれら[RFC793、RFC1948]を避けるのにTCPの戦略を使用します。 このセクションの残りで、さらに詳細にこれらの戦略がわかります。

   To address the first problem, an implementation MUST ensure that the
   initial sequence number for a given <source address, source port,
   destination address, destination port> 4-tuple doesn't overlap with
   recent sequence numbers on previous connections with the same
   4-tuple.  ("Recent" means sent within 2 maximum segment lifetimes, or
   4 minutes.)  The implementation MUST additionally ensure that the
   lower 24 bits of the initial sequence number don't overlap with the
   lower 24 bits of recent sequence numbers (unless the implementation
   plans to avoid short sequence numbers; see Section 7.6).  An
   implementation that has state for a recent connection with the same
   4-tuple can pick a good initial sequence number explicitly.
   Otherwise, it could tie initial sequence number selection to some
   clock, such as the 4-microsecond clock used by TCP [RFC793].  Two
   separate clocks may be required, one for the upper 24 bits and one
   for the lower 24 bits.

第1の問題を扱うために、実装は、与えられた<ソースアドレス、ソースポート、仕向港>4-tupleがそうしない送付先アドレスの初期シーケンス番号が同じ4-tupleとの前の接続の最近の一連番号に重なるのを確実にしなければなりません。 (「最近」の手段は2つの最大のセグメント生涯以内か4分間間、発信しました。) 実装は、初期シーケンス番号の低級24ビットが最近の一連番号の低級24ビットに重ならないのをさらに、確実にしなければなりません(実装が、計画していない場合、短い一連番号を避けてください; セクション7.6を見てください)。 同じ4-tupleとの最近の接続のための状態を持っている実装は明らかに良い初期シーケンス番号を選ぶことができます。 さもなければ、それはTCP[RFC793]によって使用された4マイクロセカンドの時計などのある時計に初期シーケンス番号選択を結ぶかもしれません。 2個の別々の時計が必要であるかもしれない、上側の24ビットで1と低級24ビットで1。

   To address the second problem, an implementation MUST provide each
   4-tuple with an independent initial sequence number space.  Then,
   opening a connection doesn't provide any information about initial
   sequence numbers on other connections to the same host.  [RFC1948]
   achieves this by adding a cryptographic hash of the 4-tuple and a
   secret to each initial sequence number.  For the secret, [RFC1948]
   recommends a combination of some truly random data [RFC4086], an
   administratively installed passphrase, the endpoint's IP address, and
   the endpoint's boot time, but truly random data is sufficient.  Care
   should be taken when the secret is changed; such a change alters all
   initial sequence number spaces, which might make an initial sequence
   number for some 4-tuple equal a recently sent sequence number for the
   same 4-tuple.  To avoid this problem, the endpoint might remember
   dead connection state for each 4-tuple or stay quiet for 2 maximum
   segment lifetimes around such a change.

その第2問題を訴えるために、実装は独立している初期シーケンス番号スペースを各4-tupleに提供しなければなりません。 そして、接続を開くのは他の接続の初期シーケンス番号の少しの情報も同じホストに提供しません。 [RFC1948]は、4-tupleと秘密の暗号のハッシュを各初期シーケンス番号に加えることによって、これを達成します。 秘密に関しては、[RFC1948]はいくつかの本当に無作為のデータ[RFC4086]、行政上インストールされたパスフレーズ、終点のIPアドレス、および終点のブート時間の組み合わせを推薦しますが、本当に無作為のデータは十分です。 秘密を変えるとき、注意するべきです。 そのような変化はすべての初期シーケンス番号空間を変更します。(空間は同じ4-tupleのために最近送られた一連番号にいくらかの4-tupleの初期シーケンス番号を等しくするかもしれません)。 この問題を避けるために、終点は、各4-tupleのために停止コネクション状態を覚えているか、またはそのような変化の周りの2つの最大のセグメント生涯静かなままであるかもしれません。

7.3.  Quiet Time

7.3. 静かな時間

   DCCP endpoints, like TCP endpoints, must take care before initiating
   connections when they boot.  In particular, they MUST NOT send
   packets whose sequence numbers are close to the sequence numbers of
   packets lingering in the network from before the boot.  The simplest
   way to enforce this rule is for DCCP endpoints to avoid sending any
   packets until one maximum segment lifetime (2 minutes) after boot.

TCP終点のように、DCCP終点は、以前、彼らであることの接続を開始するのがブートすることに注意しなければなりません。 特に、彼らはパケットの一連番号の近くに一連番号が以前からネットワークで長居しながらあるパケットにブーツを送ってはいけません。 この規則を実施する最も簡単な方法はDCCP終点が、ある最大のセグメント生涯までブーツの(2分)後にどんなパケットも送るのを避けることです。

Kohler, et al.              Standards Track                    [Page 46]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[46ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Other enforcement mechanisms include remembering recent sequence
   numbers across boots and reserving the upper 8 or so bits of initial
   sequence numbers for a persistent counter that decrements by two each
   boot.  (The latter mechanism would require disallowing packets with
   short sequence numbers; see Section 7.6.1.)

他の実施メカニズムは、ブーツの向こう側に最近の一連番号を覚えていて、各ブーツを2つ減少させる永続的なカウンタの初期シーケンス番号の上側のおよそ8ビットを予約するのを含んでいます。 (後者のメカニズムは、短い一連番号でパケットを禁じるのを必要とするでしょう; セクション7.6.1を見てください。)

7.4.  Acknowledgement Numbers

7.4. 承認番号

   Cumulative acknowledgements are meaningless in an unreliable
   protocol.  Therefore, DCCP's Acknowledgement Number field has a
   different meaning from TCP's.

累積している承認は頼り無いプロトコルで無意味です。 したがって、DCCPのAcknowledgement Number分野には、TCPのものからの異なった意味があります。

   A received packet is classified as acknowledgeable if and only if its
   header was successfully processed by the receiving DCCP.  In terms of
   the pseudocode in Section 8.5, a received packet becomes
   acknowledgeable when the receiving endpoint reaches Step 8.  This
   means, for example, that all acknowledgeable packets have valid
   header checksums and sequence numbers.  A sent packet's
   Acknowledgement Number MUST equal the sending endpoint's GSR, the
   Greatest Sequence Number Received on an acknowledgeable packet, for
   all packet types except DCCP-Sync and DCCP-SyncAck.

そして、容認されたパケットが承認可能として分類される、ヘッダーが受信DCCPによって首尾よく処理された場合にだけ。 セクション8.5の擬似コードに関して、受信終点がStep8に達すると、容認されたパケットは承認可能になります。 例えば、これは、すべての承認可能パケットには有効なヘッダーチェックサムと一連番号があることを意味します。 送られたパケットのAcknowledgement Numberは送付終点のGSRと等しくなければなりません、承認可能パケットで最もすばらしいSequence Number Received、すべてのパケットのDCCP-同時性以外のタイプとDCCP-SyncAckのために。

   "Acknowledgeable" does not refer to data processing.  Even
   acknowledgeable packets may have their application data dropped, due
   to receive buffer overflow or corruption, for instance.  Data Dropped
   options report these data losses when necessary, letting congestion
   control mechanisms distinguish between network losses and endpoint
   losses.  This issue is discussed further in Sections 11.4 and 11.7.

"Acknowledgeable"はデータ処理を示しません。 承認可能パケットでさえ、例えば、受信バッファオーバーフローか不正のためそれらのアプリケーションデータを下げるかもしれません。 必要であるときに、混雑制御機構にネットワークの損失と終点の損失を見分けさせて、データDroppedオプションはこれらのデータの損失を報告します。 セクション11.4と11.7で、より詳しくこの問題について議論します。

   DCCP-Sync and DCCP-SyncAck packets' Acknowledgement Numbers differ as
   follows: The Acknowledgement Number on a DCCP-Sync packet corresponds
   to a received packet, but not necessarily to an acknowledgeable
   packet; in particular, it might correspond to an out-of-sync packet
   whose options were not processed.  The Acknowledgement Number on a
   DCCP-SyncAck packet always corresponds to an acknowledgeable DCCP-
   Sync packet; it might be less than GSR in the presence of reordering.

DCCP-同時性とDCCP-SyncAckパケットのAcknowledgement民数記は以下の通り異なります: DCCP-同時性パケットの上のAcknowledgement Numberは容認されたパケットに対応していますが、必ず承認可能パケットに対応するというわけではありません。 特に、それはオプションが処理されなかった同期していないパケットに対応するかもしれません。 DCCP-SyncAckパケットの上のAcknowledgement Numberはいつもacknowledgeable DCCP同時性パケットに対応しています。 それは再命令の面前でGSRより少ないかもしれません。

7.5.  Validity and Synchronization

7.5. 正当性と同期

   Any DCCP endpoint might receive packets that are not actually part of
   the current connection.  For instance, the network might deliver an
   old packet, an attacker might attempt to hijack a connection, or the
   other endpoint might crash, causing a half-open connection.

どんなDCCP終点も実際に現在の接続の一部でないパケットを受けるかもしれません。 例えば、ネットワークが古いパケットを提供するかもしれませんか、攻撃者が、接続をハイジャックするのを試みるかもしれませんか、またはもう片方の終点はダウンするかもしれません、半開きな接続を引き起こして。

   DCCP, like TCP, uses sequence number checks to detect these cases.
   Packets whose Sequence and/or Acknowledgement Numbers are out of
   range are called sequence-invalid and are not processed normally.

TCPのように、DCCPは、これらのケースを検出するのに一連番号チェックを使用します。 Sequence、そして/または、Acknowledgement民数記が範囲から脱しているパケットは、系列無効であると呼ばれて、通常、処理されません。

Kohler, et al.              Standards Track                    [Page 47]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[47ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Unlike TCP, DCCP requires a synchronization mechanism to recover from
   large bursts of loss.  One endpoint might send so many packets during
   a burst of loss that when one of its packets finally got through, the
   other endpoint would label its Sequence Number as invalid.  A
   handshake of DCCP-Sync and DCCP-SyncAck packets recovers from this
   case.

TCPと異なって、DCCPは、損失の大きい炸裂から回復するために同期メカニズムを必要とします。 1つの終点が損失の炸裂の間、とても多くのパケットを送るかもしれないので、パケットの1つが最終的に通ったとき、もう片方の終点は無効であるとSequence Numberをラベルするでしょう。 DCCP-同時性とDCCP-SyncAckパケットの握手は本件から回復します。

7.5.1.  Sequence and Acknowledgement Number Windows

7.5.1. 系列と承認数のWindows

   Each DCCP endpoint defines sequence validity windows that are subsets
   of the Sequence and Acknowledgement Number spaces.  These windows
   correspond to packets the endpoint expects to receive in the next few
   round-trip times.  The Sequence and Acknowledgement Number windows
   always contain GSR and GSS, respectively.  The window widths are
   controlled by Sequence Window features for the two half-connections.

それぞれのDCCP終点はSequenceの部分集合である系列正当性ウィンドウとAcknowledgement Number空間を定義します。 これらの窓は終点が次の往復の数回受信すると予想するパケットに対応しています。 SequenceとAcknowledgement Numberの窓はそれぞれいつもGSRとGSSを含んでいます。 ウィンドウ幅は2つの半分接続のためにSequence Windowの特徴によって制御されます。

   The Sequence Number validity window for packets from DCCP B is [SWL,
   SWH].  This window always contains GSR, the Greatest Sequence Number
   Received on a sequence-valid packet from DCCP B.  It is W packets
   wide, where W is the value of the Sequence Window/B feature.  One-
   fourth of the sequence window, rounded down, is less than or equal to
   GSR, and three-fourths is greater than GSR.  (This asymmetric
   placement assumes that bursts of loss are more common in the network
   than significant reorderings.)

DCCP BからのパケットのためのSequence Number正当性ウィンドウは[SWL、SWH]です。 この窓はいつもGSRを含んでいて、DCCP B.Itからの系列有効なパケットで最もすばらしいSequence Number Receivedは広くWパケットです、WがSequence Window/Bの特徴の値であるところで。 概数に切り下げられた系列ウィンドウの1/4が、よりGSR以下であり、3-4はGSRよりすばらしいです。 (この非対称のプレースメントは、ネットワークで損失の炸裂が重要な「再-受注業務」より一般的であると仮定します。)

     invalid  |       valid Sequence Numbers        |  invalid
   <---------*|*===========*=======================*|*--------->
         GSR -|GSR + 1 -   GSR                 GSR +|GSR + 1 +
    floor(W/4)|floor(W/4)                 ceil(3W/4)|ceil(3W/4)
               = SWL                           = SWH

病人| 有効なSequence民数記| 無効の<。---------*|*===========*=======================*|*--------->GSR、-|GSR+1--GSR GSR+|GSR+1+床の(W/4)|床(W/4)のceil(3W/4)|ceil(3W/4)=SWLはSWHと等しいです。

   The Acknowledgement Number validity window for packets from DCCP B is
   [AWL, AWH].  The high end of the window, AWH, equals GSS, the
   Greatest Sequence Number Sent by DCCP A; the window is W' packets
   wide, where W' is the value of the Sequence Window/A feature.

DCCP BからのパケットのためのAcknowledgement Number正当性ウィンドウは[AWL、AWH]です。 窓の上位(AWH)はDCCP AでGSS、最もすばらしいSequence Number Sentと等しいです。 '窓は広くW'がSequence Window/A特徴の値であることのW'パケットです。

     invalid  |    valid Acknowledgement Numbers    |  invalid
   <---------*|*===================================*|*--------->
      GSS - W'|GSS + 1 - W'                      GSS|GSS + 1
               = AWL                           = AWH

病人| 有効なAcknowledgement民数記| 無効の<。---------*|*===================================*|*--------->'GSS--W'|'GSS+1--W'GSS|GSS+1=千枚通し=AWH

   SWL and AWL are initially adjusted so that they are not less than the
   initial Sequence Numbers received and sent, respectively:

SWLとAWLが初めは調整されるので、それらは少なくとも民数記がそれぞれ受けて、送った初期のSequenceです:

         SWL := max(GSR + 1 - floor(W/4), ISR),
         AWL := max(GSS + 1 - W', ISS).

'SWL:=最大(GSR+1--床(W/4)、ISR)、千枚通しの:=は最大限にします(GSS+1--W'、ISS)。

Kohler, et al.              Standards Track                    [Page 48]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[48ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   These adjustments MUST be applied only at the beginning of the
   connection.  (Long-lived connections may wrap sequence numbers so
   that they appear to be less than ISR or ISS; the adjustments MUST NOT
   be applied in that case.)

単に接続の始めにこれらの調整を適用しなければなりません。 (長命の接続はISRかISSより少ないように見えるように一連番号を包装するかもしれません; その場合調整を適用してはいけません。)

7.5.2.  Sequence Window Feature

7.5.2. 系列窓の機能

   The Sequence Window/A feature determines the width of the Sequence
   Number validity window used by DCCP B and the width of the
   Acknowledgement Number validity window used by DCCP A.  DCCP A sends
   a "Change L(Sequence Window, W)" option to notify DCCP B that the
   Sequence Window/A value is W.

Sequence Window/Aの特徴は、DCCP Bによって使用されたSequence Number正当性ウィンドウの幅とDCCP A. DCCP Aによって使用されたAcknowledgement Number正当性ウィンドウの幅がSequence Window/A値がWであるようにDCCP Bに通知するために「変化L(窓を配列してください、W)」オプションを送ることを決定します。

   Sequence Window has feature number 3 and is non-negotiable.  It takes
   48-bit (6-byte) integer values, like DCCP sequence numbers.  Change
   and Confirm options for Sequence Window are therefore 9 bytes long.
   New connections start with Sequence Window 100 for both endpoints.
   The minimum valid Sequence Window value is Wmin = 32.  The maximum
   valid Sequence Window value is Wmax = 2^46 - 1 = 70368744177663.
   Change options suggesting Sequence Window values out of this range
   are invalid and MUST be handled accordingly.

系列Windowは特徴No.3を持って、譲渡禁止です。 それはDCCP一連番号のような48ビット(6バイト)の整数値を取ります。 したがって、Sequence Windowのための変化とConfirmオプションは9バイト長です。 新しい接続は両方の終点にSequence Window100から始まります。 最小の有効なSequence Window値はWmin=32です。 最大の有効なSequence Window値はWmax=2^46です--1 = 70368744177663。 この範囲からのSequence Window値を無効であり、それに従って、扱わなければならないのを示して、オプションを変更してください。

   A proper Sequence Window/A value must reflect the number of packets
   DCCP A expects to be in flight.  Only DCCP A can anticipate this
   number.  Values that are too small increase the risk of the endpoints
   getting out sync after bursts of loss, and values that are much too
   small can prevent productive communication whether or not there is
   loss.  On the other hand, too-large values increase the risk of
   connection hijacking; Section 7.5.5 quantifies this risk.  One good
   guideline is for each endpoint to set Sequence Window to about five
   times the maximum number of packets it expects to send in a round-
   trip time.  Endpoints SHOULD send Change L(Sequence Window) options,
   as necessary, as the connection progresses.  Also, an endpoint MUST
   NOT persistently send more than its Sequence Window number of packets
   per round-trip time; that is, DCCP A MUST NOT persistently send more
   than Sequence Window/A packets per RTT.

値がDCCP Aが予想するパケットの数を飛行で反映しなければならない適切なSequence Window/。 DCCP Aだけがこの数を予期できます。 小さ過ぎる値は終点が損失の炸裂の後に同時性を出すという危険を増加させます、そして、損失があるか否かに関係なく、非常に小さ過ぎる値は生産的なコミュニケーションを防ぐことができます。 他方では、また、大きい値は接続ハイジャックの危険を増加させます。 セクション7.5 .5 この危険を定量化します。 1つの良いガイドラインは各終点がそれが丸い旅行時間の後に送ると予想するパケットの最大数のおよそ5倍にSequence Windowを設定することです。 接続が進歩をするとき、終点SHOULDはChange L(系列Window)に必要に応じてオプションを送ります。 また、終点は往復の時間あたりのパケットのSequence Window番号より持続して発信してはいけません。 すなわち、DCCP AはSequence Window/より持続して1RTTあたり1つのパケットに発信してはいけません。

7.5.3.  Sequence-Validity Rules

7.5.3. 系列正当性規則

   Sequence-validity depends on the received packet's type.  This table
   shows the sequence and acknowledgement number checks applied to each
   packet; a packet is sequence-valid if it passes both tests, and
   sequence-invalid if it does not.  Many of the checks refer to the
   sequence and acknowledgement number validity windows [SWL, SWH] and
   [AWL, AWH] defined in Section 7.5.1.

系列正当性は容認されたパケットのタイプに頼っています。 このテーブルは、数のチェックが各パケットに適用されたのを系列と承認に示します。 テストと系列病人の両方を通過して、有効でないなら、パケットは系列有効です。 チェックの多くが数の正当性ウィンドウの[SWL、SWH]と[AWL、AWH]がセクション7.5.1で定義した系列と承認を示します。

Kohler, et al.              Standards Track                    [Page 49]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[49ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

                                             Acknowledgement Number
   Packet Type      Sequence Number Check    Check
   -----------      ---------------------    ----------------------
   DCCP-Request     SWL <= seqno <= SWH (*)  N/A
   DCCP-Response    SWL <= seqno <= SWH (*)  AWL <= ackno <= AWH
   DCCP-Data        SWL <= seqno <= SWH      N/A
   DCCP-Ack         SWL <= seqno <= SWH      AWL <= ackno <= AWH
   DCCP-DataAck     SWL <= seqno <= SWH      AWL <= ackno <= AWH
   DCCP-CloseReq    GSR <  seqno <= SWH      GAR <= ackno <= AWH
   DCCP-Close       GSR <  seqno <= SWH      GAR <= ackno <= AWH
   DCCP-Reset       GSR <  seqno <= SWH      GAR <= ackno <= AWH
   DCCP-Sync        SWL <= seqno             AWL <= ackno <= AWH
   DCCP-SyncAck     SWL <= seqno             AWL <= ackno <= AWH

承認数のパケットタイプ一連番号チェックチェック----------- --------------------- ---------------------- seqno AWH DCCP-データSWL ackno SWH(*)AWL seqno<DCCP-要求SWL<==SWH(*)N/seqno DCCP-応答SWL<=<=<=<=<=<はackno SWH AWL seqno AWH DCCP-DataAck SWL ackno SWH AWL SWH N/seqno DCCP-Ack SWL<=<=<=<=<=<=<=<=AWH DCCP-CloseReqと等しいです; ackno seqno AWL AWH DCCP-SyncAck SWL ackno seqno AWL AWH DCCP-同時性SWL ackno SWH GAR AWH DCCP-リセットGSR<seqno ackno SWH GAR AWH DCCP近いGSR<seqno ackno SWH GAR GSR<seqno<=<=<=<=<=<=<=<=<=<=<=<=<=<=<はAWHと等しいです。

   (*) Check not applied if connection is in LISTEN or REQUEST state.

接続がLISTENかREQUEST状態にあるなら、(*)チェックは適用されませんでした。

   In general, packets are sequence-valid if their Sequence and
   Acknowledgement Numbers lie within the corresponding valid windows,
   [SWL, SWH] and [AWL, AWH].  The exceptions to this rule are as
   follows:

一般に、それらのSequenceとAcknowledgement民数記が対応する有効な窓、[SWL、SWH]と[AWL、AWH]に属すなら、パケットは系列有効です。 この規則への例外は以下の通りです:

   o  Since DCCP-CloseReq, DCCP-Close, and DCCP-Reset packets end a
      connection, they cannot have Sequence Numbers less than or equal
      to GSR, or Acknowledgement Numbers less than GAR.

o DCCP-CloseReq、DCCP-閉鎖、およびDCCP-リセットパケットが接続を終わらせるので、それらはGARほどSequence民数記よりGSR、またはAcknowledgement民数記を持たないことができません。

   o  DCCP-Sync and DCCP-SyncAck Sequence Numbers are not strongly
      checked.  These packet types exist specifically to get the
      endpoints back into sync; checking their Sequence Numbers would
      eliminate their usefulness.

o DCCP-同時性とDCCP-SyncAck Sequence民数記は強くチェックされません。 これらのパケットタイプは特に終点を同時性に取り戻すために存在しています。 それらのSequence民数記をチェックすると、それらの有用性は排除されるでしょう。

   The lenient checks on DCCP-Sync and DCCP-SyncAck packets allow
   continued operation after unusual events, such as endpoint crashes
   and large bursts of loss, but there's no need for leniency in the
   absence of unusual events -- that is, during ongoing successful
   communication.  Therefore, DCCP implementations SHOULD use the
   following, more stringent checks for active connections, where a
   connection is considered active if it has received valid packets from
   the other endpoint within the last three round-trip times.

DCCP-同時性とDCCP-SyncAckパケットの寛大なチェックは珍しい出来事の後に継続運転を許容します、損失の終点クラッシュや大きい炸裂のように、しかし、寛大さの必要は全くすなわち、珍しい出来事が不在のとき進行中のうまくいっているコミュニケーションの間、ありません。 したがって、DCCP実現SHOULDは以下を使用します、活発な接続のための、より厳しいチェック、もう片方の終点から最後の往復の3回の以内で有効なパケットを受けたなら接続がアクティブであると考えられるところで。

                                             Acknowledgement Number
   Packet Type      Sequence Number Check    Check
   -----------      ---------------------    ----------------------
   DCCP-Sync        SWL <= seqno <= SWH      AWL <= ackno <= AWH
   DCCP-SyncAck     SWL <= seqno <= SWH      AWL <= ackno <= AWH

承認数のパケットタイプ一連番号チェックチェック----------- --------------------- ---------------------- ackno SWH AWL seqno AWH DCCP-SyncAck SWL ackno SWH AWL seqno DCCP-同時性SWL<=<=<=<=<=<=<=<はAWHと等しいです。

   Finally, an endpoint MAY apply the following more stringent checks to
   DCCP-CloseReq, DCCP-Close, and DCCP-Reset packets, further lowering
   the probability of successful blind attacks using those packet types.

最終的に、終点は以下の、より厳しいチェックをDCCP-CloseReqに適用するかもしれません、DCCP近くて、DCCPによってリセットされたパケット、それらのパケットタイプを使用することでうまくいっている盲目の攻撃の確率をさらに下げて。

Kohler, et al.              Standards Track                    [Page 50]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[50ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Since these checks can cause extra synchronization overhead and delay
   connection closing when packets are lost, they should be considered
   experimental.

これらのチェックがパケットが無くなるとき閉じる余分な同期オーバーヘッドと遅れ接続を引き起こす場合があるので、それらは実験的であると考えられるべきです。

                                             Acknowledgement Number
   Packet Type      Sequence Number Check    Check
   -----------      ---------------------    ----------------------
   DCCP-CloseReq    seqno == GSR + 1         GAR <= ackno <= AWH
   DCCP-Close       seqno == GSR + 1         GAR <= ackno <= AWH
   DCCP-Reset       seqno == GSR + 1         GAR <= ackno <= AWH

承認数のパケットタイプ一連番号チェックチェック----------- --------------------- ---------------------- ackno GSR+1GAR AWH DCCP-リセットackno GSR+1GAR AWH DCCP近いackno GSR+1GAR DCCP-CloseReq seqno=<=<=seqno=<=<=seqno=<=<はAWHと等しいです。

   Note that sequence-validity is only one of the validity checks
   applied to received packets.

系列正当性が容認されたパケットに適用されたバリディティチェックの1つにすぎないことに注意してください。

7.5.4.  Handling Sequence-Invalid Packets

7.5.4. 系列無効のパケットを扱います。

   Endpoints respond to received sequence-invalid packets as follows.

終点は以下の容認された系列無効のパケットに応じます。

   o  Any sequence-invalid DCCP-Sync or DCCP-SyncAck packet MUST be
      ignored.

o どんな系列無効のDCCP-同時性やDCCP-SyncAckパケットも無視しなければなりません。

   o  A sequence-invalid DCCP-Reset packet MUST elicit a DCCP-Sync
      packet in response (subject to a possible rate limit).  This
      response packet MUST use a new Sequence Number, and thus will
      increase GSS; GSR will not change, however, since the received
      packet was sequence-invalid.  The response packet's
      Acknowledgement Number MUST equal GSR.

o 系列無効のDCCP-リセットパケットは応答(可能なレート限界を条件とした)でDCCP-同時性パケットを引き出さなければなりません。 この応答パケットは、新しいSequence Numberを使用しなければならなくて、その結果、GSSを増加させるでしょう。 容認されたパケットが系列無効であったので、しかしながら、GSRは変化しないでしょう。 応答パケットのAcknowledgement NumberはGSRと等しくなければなりません。

   o  Any other sequence-invalid packet MUST elicit a similar DCCP-Sync
      packet, except that the response packet's Acknowledgement Number
      MUST equal the sequence-invalid packet's Sequence Number.

o いかなる他の系列無効のパケットも同様のDCCP-同時性パケットを引き出さなければなりません、応答パケットのAcknowledgement Numberが系列無効のパケットのSequence Numberと等しくなければならないのを除いて。

   On receiving a sequence-valid DCCP-Sync packet, the peer endpoint
   (say, DCCP B) MUST update its GSR variable and reply with a DCCP-
   SyncAck packet.  The DCCP-SyncAck packet's Acknowledgement Number
   will equal the DCCP-Sync's Sequence Number, which is not necessarily
   GSR.  Upon receiving this DCCP-SyncAck, which will be sequence-valid
   since it acknowledges the DCCP-Sync, DCCP A will update its GSR
   variable, and the endpoints will be back in sync.  As an exception,
   if the peer endpoint is in the REQUEST state, it MUST respond with a
   DCCP-Reset instead of a DCCP-SyncAck.  This serves to clean up DCCP
   A's half-open connection.

系列有効なDCCP-同時性パケットを受けると、同輩終点(たとえば、DCCP B)はDCCP- SyncAckパケットでそのGSR変数と回答をアップデートしなければなりません。 DCCP-SyncAckパケットのAcknowledgement NumberはDCCP-シンクのSequence Numberと等しいでしょう。(Sequence Numberは必ずGSRであるというわけではありません)。 以来系列有効になるこのDCCP-SyncAckを受ける、それが受け取ったことを知らせるDCCP-同時性、DCCP AはGSR変数をアップデートして、同時性には終点があるでしょう。 例外として、同輩終点がREQUEST状態にあるなら、DCCP-リセットがDCCP-SyncAckの代わりにある状態で、それは応じなければなりません。 これは、DCCP Aの半開きな接続をきれいにするのに役立ちます。

   To protect against denial-of-service attacks, DCCP implementations
   SHOULD impose a rate limit on DCCP-Syncs sent in response to
   sequence-invalid packets, such as not more than eight DCCP-Syncs per
   second.

サービス不能攻撃から守るために、DCCP実現SHOULDは1秒あたりのDCCP-同時性に8以上などでないことなどの系列無効のパケットに対応して送られたDCCP-同時性にレート限界を課します。

Kohler, et al.              Standards Track                    [Page 51]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[51ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   DCCP endpoints MUST NOT process sequence-invalid packets except,
   perhaps, by generating a DCCP-Sync.  For instance, options MUST NOT
   be processed.  An endpoint MAY temporarily preserve sequence-invalid
   packets in case they become valid later, however; this can reduce the
   impact of bursts of loss by delivering more packets to the
   application.  In particular, an endpoint MAY preserve sequence-
   invalid packets for up to 2 round-trip times.  If, within that time,
   the relevant sequence windows change so that the packets become
   sequence-valid, the endpoint MAY process them again.

恐らく発生するのによるDCCP-同時性以外に、DCCP終点は系列無効のパケットを処理してはいけません。 例えば、オプションを処理してはいけません。 終点はしかしながら、後で有効になるといけないので、一時系列無効のパケットを保存するかもしれません。 これは、より多くのパケットをアプリケーションに届けることによって、損失の炸裂の衝撃を減少させることができます。 特に、終点は往復の2回まで系列の無効のパケットを保存するかもしれません。 関連系列ウィンドウが変化するのでパケットがその時中に系列有効になるなら、終点は再びそれらを処理するかもしれません。

   Note that sequence-invalid DCCP-Reset packets cause DCCP-Syncs to be
   generated.  This is because endpoints in an unsynchronized state
   (CLOSED, REQUEST, and LISTEN) might not have enough information to
   generate a proper DCCP-Reset on the first try.  For example, if a
   peer endpoint is in CLOSED state and receives a DCCP-Data packet, it
   cannot guess the right Sequence Number to use on the DCCP-Reset it
   generates (since the DCCP-Data packet has no Acknowledgement Number).
   The DCCP-Sync generated in response to this bad reset serves as a
   challenge, and contains enough information for the peer to generate a
   proper DCCP-Reset.  However, the new DCCP-Reset may carry a different
   Reset Code than the original DCCP-Reset; probably the new Reset Code
   will be 3, "No Connection".  The endpoint SHOULD use information from
   the original DCCP-Reset when possible.

系列無効のDCCP-リセットパケットでDCCP-同時性を発生させることに注意してください。 これは非連動している状態(CLOSED、REQUEST、およびLISTEN)の終点には適切なDCCP-リセットを一度で発生させることができるくらいの情報がないかもしれないからです。 例えば、同輩終点がCLOSED状態にあって、DCCP-データ・パケットを受けるなら、それは発生させるDCCP-リセットのときに使用への右のSequence Numberを推測できません(DCCP-データ・パケットにはAcknowledgement Numberが全くないので)。 この悪いリセットに対応して発生するDCCP-同時性は、挑戦として機能して、同輩が適切なDCCP-リセットを発生させることができるくらいの情報を含んでいます。 しかしながら、新しいDCCP-リセットはオリジナルのDCCP-リセットと異なったReset Codeを運ぶかもしれません。 たぶん、新しいReset Codeは3、「接続がありません」でしょう。 可能であるときに、終点SHOULDはオリジナルのDCCP-リセットから情報を使用します。

7.5.5.  Sequence Number Attacks

7.5.5. 一連番号攻撃

   Sequence and Acknowledgement Numbers form DCCP's main line of defense
   against attackers.  An attacker that cannot guess sequence numbers
   cannot easily manipulate or hijack a DCCP connection, and
   requirements like careful initial sequence number choice eliminate
   the most serious attacks.

系列とAcknowledgement民数記は攻撃者に対してDCCPのディフェンスの本線を形成します。 一連番号を推測できない攻撃者は、容易にDCCP接続を操ることができませんし、ハイジャックできません、そして、慎重な初期シーケンス番号選択のような要件は最も重大な攻撃を排除します。

   An attacker might still send many packets with randomly chosen
   Sequence and Acknowledgement Numbers, however.  If one of those
   probes ends up sequence-valid, it may shut down the connection or
   otherwise cause problems.  The easiest such attacks to execute are as
   follows:

それらの徹底的調査の1つが系列有効な状態で終わるなら、それは、接続を止めるか、またはそうでなければ、原因問題を止めるかもしれません。しかしながら、攻撃者はまだ手当たりしだいに選ばれたSequenceとAcknowledgement民数記がある多くのパケットを送るかもしれません。そのような実行する中で最も簡単な攻撃は以下の通りです:

   o  Send DCCP-Data packets with random Sequence Numbers.  If one of
      these packets hits the valid sequence number window, the attack
      packet's application data may be inserted into the data stream.

o 無作為のSequence民数記があるDCCP-データ・パケットを送ってください。 これらのパケットの1つが有効な一連番号ウィンドウを打つなら、攻撃パケットのアプリケーションデータはデータ・ストリームの中に挿入されるかもしれません。

   o  Send DCCP-Sync packets with random Sequence and Acknowledgement
      Numbers.  If one of these packets hits the valid acknowledgement
      number window, the receiver will shift its sequence number window
      accordingly, getting out of sync with the correct endpoint --
      perhaps permanently.

o 無作為のSequenceとAcknowledgement民数記があるDCCP-同時性パケットを送ってください。 これらのパケットの1つが有効な承認数のウィンドウを打つと、受信機は一連番号ウィンドウをそれに従って、移動させるでしょう、恐らく永久に正しい終点と同期するようにならないで。

Kohler, et al.              Standards Track                    [Page 52]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[52ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   The attacker has to guess both Source and Destination Ports for any
   of these attacks to succeed.  Additionally, the connection would have
   to be inactive for the DCCP-Sync attack to succeed, assuming the
   victim implemented the more stringent checks for active connections
   recommended in Section 7.5.3.

攻撃者は、これらの攻撃のどれかが成功するようにSourceとDestination Portsの両方を推測しなければなりません。 さらに、接続はDCCP-同時性攻撃が成功するように不活発でなければならないでしょう、犠牲者がセクション7.5.3におけるお勧めの活発な接続のために、より厳しいチェックを実行したと仮定して。

   To quantify the probability of success, let N be the number of attack
   packets the attacker is willing to send, W be the relevant sequence
   window width, and L be the length of sequence numbers (24 or 48).
   The attacker's best strategy is to space the attack packets evenly
   over sequence space.  Then the probability of hitting one sequence
   number window is P = WN/2^L.

成功の確率を定量化するには、関連系列が窓幅、およびLであったなら一連番号の長さが(24か48)であったならNが攻撃者が送っても構わないと思っている攻撃パケット、Wの数であることをさせてください。 攻撃者の最も良い戦略は系列スペースの上で均等に攻撃パケットを区切ることです。 そして、1つの一連番号ウィンドウを打つという確率はP=WN/2^Lです。

   The success probability for a DCCP-Data attack using short sequence
   numbers thus equals P = WN/2^24.  For W = 100, then, the attacker
   must send more than 83,000 packets to achieve a 50% chance of
   success.  For reference, the easiest TCP attack -- sending a SYN with
   a random sequence number, which will cause a connection reset if it
   falls within the window -- with W = 8760 (a common default) and
   L = 32 requires more than 245,000 packets to achieve a 50% chance of
   success.

その結果短い一連番号を使用するDCCP-データ攻撃のための成功確率はP=WN/2^24と等しいです。 そして、W=100に関しては、攻撃者は、勝算を50%達成するために8万3000以上のパケットを送らなければなりません。 参照のために、ランダム・シーケンス番号(W=8760(一般的なデフォルト)と共に窓の中で低下して、L=32が24万5000以上のパケットを必要とするならリセットされた接続に勝算を50%実現させる)と共にSYNを送って、最も簡単なTCPは攻撃します。

   A fast connection's W will generally be high, increasing the attack
   success probability for fixed N.  If this probability gets
   uncomfortably high with L = 24, the endpoint SHOULD prevent the use
   of short sequence numbers by manipulating the Allow Short Sequence
   Numbers feature (see Section 7.6.1).  The probability limit depends
   on the application, however.  Some applications, such as those
   already designed to handle corruption, are quite resilient to data
   injection attacks.

一般に、速い接続のWは高くなるでしょう、この確率の固定N.Ifのための確率が高いL=24で不愉快に得る攻撃成功を増加させて、終点SHOULDがAllow Short Sequence民数記機能を操ることによって、短い一連番号の使用を防ぎます(セクション7.6.1を見てください)。 しかしながら、確率限界はアプリケーションに依存します。不正を扱うように既に設計されたものなどのいくつかのアプリケーションがデータ注射攻撃に全く立ち直りが早いです。

   The DCCP-Sync attack has L = 48, since DCCP-Sync packets use long
   sequence numbers exclusively; in addition, the success probability is
   halved, since only half the Sequence Number space is valid.  Attacks
   have a correspondingly smaller probability of success.  For a large W
   of 2000 packets, then, the attacker must send more than 10^11 packets
   to achieve a 50% chance of success.

DCCP-同時性攻撃には、DCCP-同時性パケットが排他的に長いひと続きの出来事番号を使用するので、L=48があります。 さらに、Sequence Numberスペースの半分だけが有効であるので、成功確率は半分にされます。 攻撃には、成功の対応するよりわずかな確率があります。 そして、2000のパケットの大きいWに関しては、攻撃者は、勝算を50%達成するために11のパケットを10以上^に送らなければなりません。

   Attacks involving DCCP-Ack, DCCP-DataAck, DCCP-CloseReq, DCCP-Close,
   and DCCP-Reset packets are more difficult, since Sequence and
   Acknowledgement Numbers must both be guessed.  The probability of
   attack success for these packet types equals P = WXN/2^(2L), where W
   is the Sequence Number window, X is the Acknowledgement Number
   window, and N and L are as before.

DCCP-Ack、DCCP-DataAck、DCCP-CloseReq、DCCP-閉鎖、およびDCCP-リセットパケットにかかわる攻撃は、より難しいです、ともにSequenceとAcknowledgement民数記を推測しなければならなくて。 これらのパケットタイプのための攻撃成功の確率はWXN/2P=^(2L)と等しいです。そこでは、WがSequence Numberの窓であり、XがAcknowledgement Numberの窓であり、NとLは従来と同様窓です。

   Since DCCP-Data attacks with short sequence numbers are relatively
   easy for attackers to execute, DCCP has been engineered to prevent
   these attacks from escalating to connection resets or other serious

攻撃者にとって、短い一連番号があるDCCP-データ攻撃は実行するのが比較的簡単であるので、DCCPは重大な状態でこれらの増大から何らかの接続リセットまでの攻撃を防ぐために設計されました。

Kohler, et al.              Standards Track                    [Page 53]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[53ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   consequences.  In particular, any options whose processing might
   cause the connection to be reset are ignored when they appear on
   DCCP-Data packets.

結果。 DCCP-データ・パケットの上に現れると、特に、処理で接続をリセットするかもしれないどんなオプションも無視されます。

7.5.6.  Sequence Number Handling Examples

7.5.6. 一連番号取り扱いの例

   In the following example, DCCP A and DCCP B recover from a large
   burst of loss that runs DCCP A's sequence numbers out of DCCP B's
   appropriate sequence number window.

以下の例では、DCCP AとDCCP BはDCCPのビーズの適切な一連番号ウィンドウからDCCP Aの一連番号を走らせる損失の大きい炸裂から回復します。

   DCCP A                                           DCCP B
   (GSS=1,GSR=10)                                   (GSS=10,GSR=1)
               -->   DCCP-Data(seq 2)     XXX
                         ...
               -->   DCCP-Data(seq 100)   XXX
               -->   DCCP-Data(seq 101)           -->  ???
                                                    seqno out of range;
                                                    send Sync
      OK       <--   DCCP-Sync(seq 11, ack 101)   <--
                                                    (GSS=11,GSR=1)
               -->   DCCP-SyncAck(seq 102, ack 11)   -->   OK
   (GSS=102,GSR=11)                                 (GSS=11,GSR=102)

DCCPはDCCP Bです(GSS=1、GSR=10)(GSS=10、GSR=1)(>DCCP-データ(seq2)XXX)。 -->DCCP-データ(seq100)XXX-->DCCP-データ(seq101)-->?範囲からのseqno。 (GSS=11、GSR=1)-->DCCP-SyncAck(seq102、ack11)-->OK(GSS=102、GSR=11)をSync OK<(DCCP-同時性(seq11、ack101)<)に送ってください。(GSS=11、GSR=102)

   In the next example, a DCCP connection recovers from a simple blind
   attack.

次の例では、DCCP接続は簡単な盲目の攻撃から回復します。

   DCCP A                                           DCCP B
   (GSS=1,GSR=10)                                   (GSS=10,GSR=1)
                *ATTACKER*  -->  DCCP-Data(seq 10^6)  -->  ???
                                                    seqno out of range;
                                                    send Sync
      ???      <--   DCCP-Sync(seq 11, ack 10^6)  <--
   ackno out of range; ignore
   (GSS=1,GSR=10)                                   (GSS=11,GSR=1)

DCCP A DCCP B(GSS=1、GSR=10)(GSS=10、GSR=1)*ATTACKER*-->DCCP-データ(seq10^6)-->?範囲からのseqno。 Syncを送りますか?<-- <をDCCP同期させてください(seq11、ack10^6)--範囲からのackno (GSS=1、GSR=10)を無視してください。(GSS=11、GSR=1)

   The final example demonstrates recovery from a half-open connection.

最終的な例は半開きな接続からの回復を示します。

   DCCP A                                           DCCP B
   (GSS=1,GSR=10)                                   (GSS=10,GSR=1)
   (Crash)
   CLOSED                                               OPEN
   REQUEST     -->   DCCP-Request(seq 400)        -->   ???
   !!          <--   DCCP-Sync(seq 11, ack 400)   <--   OPEN
   REQUEST     -->   DCCP-Reset(seq 401, ack 11)  -->   (Abort)
   REQUEST                                              CLOSED
   REQUEST     -->   DCCP-Request(seq 402)        -->   ...

DCCP B(GSS=1、GSR=10)(GSS=10、GSR=1)(墜落する)が閉じたDCCPは要求-->DCCP-要求(seq400)-->を開きますか? !! <-- DCCP-同時性(seq11、ack400)<--OPEN REQUEST-->DCCP-リセット(seq401、ack11)-->(中止になる)REQUEST CLOSED REQUEST-->DCCP-要求(seq402)-->…

Kohler, et al.              Standards Track                    [Page 54]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[54ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

7.6.  Short Sequence Numbers

7.6. 短い一連番号

   DCCP sequence numbers are 48 bits long.  This large sequence space
   protects DCCP connections against some blind attacks, such as the
   injection of DCCP-Resets into the connection.  However, DCCP-Data,
   DCCP-Ack, and DCCP-DataAck packets, which make up the body of any
   DCCP connection, may reduce header space by transmitting only the
   lower 24 bits of the relevant Sequence and Acknowledgement Numbers.
   The receiving endpoint will extend these numbers to 48 bits using the
   following pseudocode:

DCCP一連番号は長さ48ビットです。 この大きい系列スペースは接続へのDCCP-リセットの注射などの盲目のいくつかの攻撃に対してDCCP接続を保護します。 しかしながら、DCCP-データ(どんなDCCP接続のボディーも作るDCCP-Ack、およびDCCP-DataAckパケット)は、伝わるのによる関連SequenceとAcknowledgement民数記の低級24ビットだけのヘッダースペースを減少させるかもしれません。 受信終点は以下の擬似コードを使用することでこれらの数を48ビットまで広げるでしょう:

   procedure Extend_Sequence_Number(S, REF)
      /* S is a 24-bit sequence number from the packet header.
         REF is the relevant 48-bit reference sequence number:
         GSS if S is an Acknowledgement Number, and GSR if S is a
         Sequence Number. */
      Set REF_low := low 24 bits of REF
      Set REF_hi := high 24 bits of REF
      If REF_low (<) S           /* circular comparison mod 2^24 */
            and S |<| REF_low,   /* conventional, non-circular
                                    comparison */
         Return (((REF_hi + 1) mod 2^24) << 24) | S
      Otherwise, if S (<) REF_low and REF_low |<| S,
         Return (((REF_hi - 1) mod 2^24) << 24) | S
      Otherwise,
         Return (REF_hi << 24) | S

手順Extend_Sequence_Number(S、REF)/*Sはパケットのヘッダーからの24ビットの一連番号です。 REFは関連48ビットの参照一連番号です: Sであるなら、GSSはAcknowledgement Numberです、そして、Sであるなら、GSRはSequence Numberです。 */がREF Set REFのREFの_の低い:=低24ビットを設定した、_こんにちは、REF If REF_の低い(<)S/*円形の比較モッズ2^24*/とSの:=高い24ビット| <| REF_安値、/*従来の、そして、非円形の比較*/リターン、(REF、_+ 1)モッズ2^24) こんにちは、<<24)| S、別の方法でS(<)審判_安値と審判_安値です。| <| S、Return、(REF、_こんにちは--1)モッズ2^24) <<24)| S、さもなければ、戻ってください、(審判、_こんにちは、<<24)| S

   The two different kinds of comparison in the if statements detect
   when the low-order bits of the sequence space have wrapped.  (The
   circular comparison "REF_low (<) S" returns true if and only if
   (S - REF_low), calculated using two's-complement arithmetic and then
   represented as an unsigned number, is less than or equal to 2^23
   (mod 2^24).)  When this happens, the high-order bits are incremented
   or decremented, as appropriate.

声明であるならいつかを検出してください。中の2つの異種の比較、系列スペースのビットが包装した下位。 (「審判の_の低い(<)S」が本当に返す円形の比較、唯一、2以下^23です(S--REF_安値)(モッズ風の2^24)2補数の演算を使用することで計算されて、次に、符号のない数として表されて。 これが起こるとき、高位のビットは、増加されるか、または適宜減少します。

7.6.1.  Allow Short Sequence Numbers Feature

7.6.1. 短い一連番号機能を許容してください。

   Endpoints can require that all packets use long sequence numbers by
   leaving the Allow Short Sequence Numbers feature value at its default
   of zero.  This can reduce the risk that data will be inappropriately
   injected into the connection.  DCCP A sends a "Change L(Allow Short
   Seqnos, 1)" option to indicate its desire to send packets with short
   sequence numbers.

終点は、すべてのパケットがゼロのデフォルトにおける民数記特徴価値にAllow Short Sequenceを残すことによって長いひと続きの出来事番号を使用するのを必要とすることができます。 これは接続に注入されていた状態で不適当になるデータがそうである危険を減少させることができます。 DCCP Aは、短い一連番号と共にパケットを送る願望を示すために「変化L(短いSeqnos、1を許容します)」オプションを送ります。

   Allow Short Sequence Numbers has feature number 2 and is server-
   priority.  It takes one-byte Boolean values.  When Allow Short
   Seqnos/B is zero, DCCP B MUST NOT send packets with short sequence
   numbers and DCCP A MUST ignore any packets with short sequence

Short Sequenceを許容してください。民数記は、特徴No.2を持って、サーバ優先権です。 それは1バイトのブール値を取ります。 Allow Short Seqnos/Bがゼロであり、DCCP Bが短い一連番号と共にパケットを送ってはいけなくて、DCCP Aが短い系列があるどんなパケットも無視しなければならないとき

Kohler, et al.              Standards Track                    [Page 55]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[55ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   numbers that are received.  Values of two or more are reserved.  New
   connections start with Allow Short Sequence Numbers 0 for both
   endpoints.

受け取られていている数。 2以上の値は予約されています。 新しい接続はAllow Short Sequence民数記0から両方の終点に始まります。

7.6.2.  When to Avoid Short Sequence Numbers

7.6.2. いつ短い一連番号を避けますか。

   Short sequence numbers reduce the rate DCCP connections can safely
   achieve and increase the risks of certain kinds of attacks, including
   blind data injection.  Very-high-rate DCCP connections, and
   connections with large sequence windows (Section 7.5.2), SHOULD NOT
   use short sequence numbers on their data packets.  The attack risk
   issues have been discussed in Section 7.5.5; we discuss the rate
   limitation issue here.

短い一連番号は、DCCP接続が安全に実現できるレートを低下させて、ある種類の攻撃の危険を増強します、盲目のデータ注射を含んでいて。 それらのデータ・パケットのDCCP接続、および大きい系列ウィンドウ(セクション7.5.2)との接続、SHOULD NOTが急に使用するまさしくその高い率一連番号。 セクション7.5.5で攻撃リスク問題について議論しました。 私たちはここでレート制限問題について議論します。

   The sequence-validity mechanism assumes that the network does not
   deliver extremely old data.  In particular, it assumes that the
   network must have dropped any packet by the time the connection wraps
   around and uses its sequence number again.  This constraint limits
   the maximum connection rate that can be safely achieved.  Let MSL
   equal the maximum segment lifetime, P equal the average DCCP packet
   size in bits, and L equal the length of sequence numbers (24 or 48
   bits).  Then the maximum safe rate, in bits per second, is
   R = P*(2^L)/2MSL.

系列正当性メカニズムは、ネットワークが非常に古いデータを提供しないと仮定します。 特に、それは、接続が巻きつけて、再び一連番号を使用する時までにネットワークがどんなパケットも下げたに違いないと仮定します。 この規制は安全に達成できる最大の接続率を制限します。 MSL等しい状態で貸されて、最大のセグメント生涯、Pは一連番号(24ビットか48ビット)の長さのビット、およびL同輩で平均したDCCPパケットサイズと等しいです。 そして、最大の安全なレートはbpsでR=P*(2^L)/2MSLです。

   For the default MSL of 2 minutes, 1500-byte DCCP packets, and short
   sequence numbers, the safe rate is therefore approximately 800 Mb/s.
   Although 2 minutes is a very large MSL for any networks that could
   sustain that rate with such small packets, long sequence numbers
   allow much higher rates under the same constraints: up to 14 petabits
   a second for 1500-byte packets and the default MSL.

2つの数分、1500年のバイトのDCCPパケット、および短い一連番号のデフォルトMSLのために、したがって、安全なレートはおよそ800Mb/sです。 2分はそのような小型小包でそのレートを支えることができたどんなネットワークのための非常に大きいMSLですがも、長いひと続きの出来事番号は同じ規制ではるかに高いレートを許容します: 1500年のバイトのパケットのための1秒あたりの最大14petabitsとデフォルトMSL。

7.7.  NDP Count and Detecting Application Loss

7.7. NDPカウントとアプリケーションの損失を検出すること。

   DCCP's sequence numbers increment by one on every packet, including
   non-data packets (packets that don't carry application data).  This
   makes DCCP sequence numbers suitable for detecting any network loss,
   but not for detecting the loss of application data.  The NDP Count
   option reports the length of each burst of non-data packets.  This
   lets the receiving DCCP reliably determine when a burst of loss
   included application data.

非データ・パケット(アプリケーションデータを運ばないパケット)を含むあらゆるパケットの1によるDCCPの一連番号増分。 これは、DCCP一連番号をどんなネットワークの損失も検出するのに適当にしますが、アプリケーションデータの損失を検出するためにするというわけではありません。 NDP Countオプションは非データ・パケットのそれぞれの炸裂の長さを報告します。 これは損失の炸裂がアプリケーションデータを含んでいたときDCCPが確かに決定する受信をさせます。

   +--------+--------+-------- ... --------+
   |00100101| Length |      NDP Count      |
   +--------+--------+-------- ... --------+
    Type=37  Len=3-8       (1-6 bytes)

+--------+--------+-------- ... --------+ |00100101| 長さ| NDPは数えられます。| +--------+--------+-------- ... --------37レン=+ タイプ=3-8(1-6バイト)

   If a DCCP endpoint's Send NDP Count feature is one (see below), then
   that endpoint MUST send an NDP Count option on every packet whose

DCCP終点のSend NDP Countの特徴が1(以下を見る)であるなら、終点が発信しなければならないことについてその時、NDP Countはあらゆるパケットの上でだれのものをゆだねます。

Kohler, et al.              Standards Track                    [Page 56]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[56ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   immediate predecessor was a non-data packet.  Non-data packets
   consist of DCCP packet types DCCP-Ack, DCCP-Close, DCCP-CloseReq,
   DCCP-Reset, DCCP-Sync, and DCCP-SyncAck.  The other packet types,
   namely DCCP-Request, DCCP-Response, DCCP-Data, and DCCP-DataAck, are
   considered data packets, although not all DCCP-Request and DCCP-
   Response packets will actually carry application data.

直前の前任者は非データ・パケットでした。 非データ・パケットはDCCPパケットタイプのDCCP-Ack、DCCP-閉鎖、DCCP-CloseReq、DCCP-リセット、DCCP-同時性、およびDCCP-SyncAckから成ります。 もう片方のパケットはタイプされます、すなわち、DCCP-要求、DCCP-応答、DCCP-データ、およびDCCP-DataAckはデータ・パケットであると考えられます、すべてのDCCP-要求とDCCP応答パケットが実際にアプリケーションデータを運ぶというわけではないでしょうが。

   The value stored in NDP Count equals the number of consecutive non-
   data packets in the run immediately previous to the current packet.
   Packets with no NDP Count option are considered to have NDP Count
   zero.

NDP Countに保存された値はすぐに現在のパケットに前の走行における、連続した非データ・パケットの数と等しいです。 NDP CountオプションのないパケットにはNDP Countゼロがあると考えられます。

   The NDP Count option can carry one to six bytes of data.  The
   smallest option format that can hold the NDP Count SHOULD be used.

NDP Countオプションは1〜6バイトのデータを運ぶことができます。 最も小さいのはNDP Count SHOULDを持つことができる形式をゆだねます。使用されます。

   With NDP Count, the receiver can reliably tell only whether a burst
   of loss contained at least one data packet.  For example, the
   receiver cannot always tell whether a burst of loss contained a non-
   data packet.

NDP Countと共に、受信機は、損失の炸裂が少なくとも1つのデータ・パケットしか含まなかったかどうか確かに言うことができます。 例えば、受信機は、損失の炸裂が非データ・パケットを含んだかどうかいつも言うことができるというわけではありません。

7.7.1.  NDP Count Usage Notes

7.7.1. NDPは使用上の注意を数えます。

   Say that K consecutive sequence numbers are missing in some burst of
   loss, and that the Send NDP Count feature is on.  Then some
   application data was lost within those sequence numbers unless the
   packet following the hole contains an NDP Count option whose value is
   greater than or equal to K.

K連続した一連番号が損失のいくつかの炸裂でなくなって、Send NDP Countの特徴がオンであると言ってください。 次に、穴に続くパケットが値がこと以上であるNDP Countオプションを含んでいない場合、いくつかのアプリケーションデータがそれらの一連番号の中で失われました。K。

   For example, say that an endpoint sent the following sequence of
   non-data packets (Nx) and data packets (Dx).

例えば、終点が非データ・パケット(Nx)とデータ・パケット(Dx)の以下の系列を送ったと言ってください。

      N0  N1  D2  N3  D4  D5  N6  D7  D8  D9  D10 N11 N12 D13

N0 N1 D2 N3 D4 D5 N6 D7 D8 D9 D10 N11 N12 D13

   Those packets would have NDP Counts as follows.

それらのパケットで、NDPのカウンツは以下の通りになるでしょう。

      N0  N1  D2  N3  D4  D5  N6  D7  D8  D9  D10 N11 N12 D13
      -   1   2   -   1   -   -   1   -   -   -   -   1   2

N0 N1 D2 N3 D4 D5 N6 D7 D8 D9 D10 N11 N12 D13(1 2(1)(1))----1 2

   NDP Count is not useful for applications that include their own
   sequence numbers with their packet headers.

彼らのパケットのヘッダーにとって、NDP Countはそれら自身の一連番号を含んでいるアプリケーションの役に立ちません。

7.7.2.  Send NDP Count Feature

7.7.2. NDPカウント機能を送ってください。

   The Send NDP Count feature lets DCCP endpoints negotiate whether they
   should send NDP Count options on their packets.  DCCP A sends a
   "Change R(Send NDP Count, 1)" option to ask DCCP B to send NDP Count
   options.

Send NDP Countの特徴で、それらがNDP Countオプションを自己のパケットに送るべきであるか否かに関係なく、DCCP終点は交渉します。 DCCP Aは、NDP Countオプションを送るようにDCCP Bに頼むために「変化R(NDPカウント、1を送ります)」オプションを送ります。

Kohler, et al.              Standards Track                    [Page 57]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[57ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Send NDP Count has feature number 7 and is server-priority.  It takes
   one-byte Boolean values.  DCCP B MUST send NDP Count options as
   described above when Send NDP Count/B is one, although it MAY send
   NDP Count options even when Send NDP Count/B is zero.  Values of two
   or more are reserved.  New connections start with Send NDP Count 0
   for both endpoints.

特徴No.7をCountが持っているNDPに送ってください、そして、サーバ優先権は送りますか? それは1バイトのブール値を取ります。 DCCP BはSend NDP Count/Bが1であるときに、上で説明されるようにNDP Countオプションを送らなければなりません、Send NDP Count/Bがゼロでさえあるときに、NDP Countオプションを送るかもしれませんが。 2以上の値は予約されています。 新しい接続はSend NDP Count0から両方の終点に始まります。

8.  Event Processing

8. イベント処理

   This section describes how DCCP connections move between states and
   which packets are sent when.  Note that feature negotiation takes
   place in parallel with the connection-wide state transitions
   described here.

このセクションは、DCCP接続が州の間でどのように移行するか、そして、どのパケットがいつ送られるかを説明します。 特徴交渉がここで説明された接続全体の状態遷移と平行して行われることに注意してください。

8.1.  Connection Establishment

8.1. コネクション確立

   DCCP connections' initiation phase consists of a three-way handshake:
   an initial DCCP-Request packet sent by the client, a DCCP-Response
   sent by the server in reply, and finally an acknowledgement from the
   client, usually via a DCCP-Ack or DCCP-DataAck packet.  The client
   moves from the REQUEST state to PARTOPEN, and finally to OPEN; the
   server moves from LISTEN to RESPOND, and finally to OPEN.

DCCP接続の起因過程は3方向ハンドシェイクから成ります: 通常DCCP-AckかDCCP-DataAckパケットを通してクライアントからクライアント、回答におけるサーバによって送られたDCCP-応答、および最終的に承認で送られた初期のDCCP-リクエスト・パケット。 クライアントはREQUEST状態からPARTOPENまで最終的なオープンに移行します。 サーバはLISTENからRESPONDまで最終的なオープンに移行します。

     Client State                             Server State
        CLOSED                                   LISTEN
   1.   REQUEST   -->       Request        -->
   2.             <--       Response       <--   RESPOND
   3.   PARTOPEN  -->     Ack, DataAck     -->
   4.             <--  Data, Ack, DataAck  <--   OPEN
   5.   OPEN      <->  Data, Ack, DataAck  <->   OPEN

休業した属国サーバ州は1を聴きます。 要求-->要求-->2。 <-- 応答<--3を反応させてください。 PARTOPEN-->Ack、DataAck-->4。 <-- データ、Ack、DataAck<--5を開いてください。 開いている<->データ、Ack、DataAck<->戸外

8.1.1.  Client Request

8.1.1. クライアント要求

   When a client decides to initiate a connection, it enters the REQUEST
   state, chooses an initial sequence number (Section 7.2), and sends a
   DCCP-Request packet using that sequence number to the intended
   server.

クライアントが、接続を開始すると決めると、それは、REQUEST状態に入れて、初期シーケンス番号(セクション7.2)を選んで、意図しているサーバにその一連番号を使用することでDCCP-リクエスト・パケットを送ります。

   DCCP-Request packets will commonly carry feature negotiation options
   that open negotiations for various connection parameters, such as
   preferred congestion control IDs for each half-connection.  They may
   also carry application data, but the client should be aware that the
   server may not accept such data.

DCCP-リクエスト・パケットは一般的に様々な接続パラメタのために交渉を開始する特徴交渉オプションを運ぶでしょう、それぞれの半分接続に、都合のよい輻輳制御IDなどのように。 また、彼らはアプリケーションデータを運ぶかもしれませんが、クライアントはサーバがそのようなデータを受け入れないかもしれないのを意識しているべきです。

   A client in the REQUEST state SHOULD use an exponential-backoff timer
   to send new DCCP-Request packets if no response is received.  The
   first retransmission should occur after approximately one second,
   backing off to not less than one packet every 64 seconds; or the

SHOULDが応答でないなら新しいDCCP-リクエスト・パケットを送るのに指数のbackoffタイマを使用するREQUEST状態のクライアントは受け取られています。 少なくとも64秒毎の1つのパケットに引き返して、最初の「再-トランスミッション」はおよそ1秒後に現れるはずです。 または

Kohler, et al.              Standards Track                    [Page 58]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[58ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   endpoint can use whatever retransmission strategy is followed for
   retransmitting TCP SYNs.  Each new DCCP-Request MUST increment the
   Sequence Number by one and MUST contain the same Service Code and
   application data as the original DCCP-Request.

終点はTCP SYNsを再送するために従われているどんな「再-トランスミッション」戦略も使用できます。 それぞれの新しいDCCP-要求は、Sequence Numberを1つ増加しなければならなくて、オリジナルのDCCP-要求として同じService Codeとアプリケーションデータを含まなければなりません。

   A client MAY give up on its DCCP-Requests after some time (3 minutes,
   for example).  When it does, it SHOULD send a DCCP-Reset packet to
   the server with Reset Code 2, "Aborted", to clean up state in case
   one or more of the Requests actually arrived.  A client in REQUEST
   state has never received an initial sequence number from its peer, so
   the DCCP-Reset's Acknowledgement Number MUST be set to zero.

クライアントはいつか(3分、例えば)の後にDCCP-要求に見切りをつけるかもしれません。 そうします、それ。いつ、SHOULDは、Requestsの1つ以上が実際に到着するといけなかったので状態をきれいにするために「中止された」Reset Code2とのサーバにDCCP-リセットパケットを送るか。 REQUEST状態のクライアントが初期の一連番号に同輩を一度も受け取ったことがないので、DCCP-リセットのAcknowledgement Numberはゼロに用意ができなければなりません。

   The client leaves the REQUEST state for PARTOPEN when it receives a
   DCCP-Response from the server.

それがサーバからDCCP-応答を受けるとき、クライアントはPARTOPENのためにREQUESTを状態に残します。

8.1.2.  Service Codes

8.1.2. 接客規範

   Each DCCP-Request contains a 32-bit Service Code, which identifies
   the application-level service to which the client application is
   trying to connect.  Service Codes should correspond to application
   services and protocols.  For example, there might be a Service Code
   for SIP control connections and one for RTP audio connections.
   Middleboxes, such as firewalls, can use the Service Code to identify
   the application running on a nonstandard port (assuming the DCCP
   header has not been encrypted).

各DCCP-要求は32ビットのService Codeを含んでいます。(Service Codeはクライアントアプリケーションが接続しようとしているアプリケーションレベルサービスを特定します)。 サービスCodesはアプリケーション・サービスとプロトコルに対応するはずです。 例えば、SIPコントロール接続のためのService CodeとRTPオーディオ接続のための1つがあるかもしれません。 ファイアウォールなどのMiddleboxesは、アプリケーションを特定するのに標準的でないポートで走りながら、Service Codeを使用できます(DCCPヘッダーを仮定するのは暗号化されていません)。

   Endpoints MUST associate a Service Code with every DCCP socket, both
   actively and passively opened.  The application will generally supply
   this Service Code.  Each active socket MUST have exactly one Service
   Code.  Passive sockets MAY, at the implementation's discretion, be
   associated with more than one Service Code; this might let multiple
   applications, or multiple versions of the same application, listen on
   the same port, differentiated by Service Code.  If the DCCP-Request's
   Service Code doesn't equal any of the server's Service Codes for the
   given port, the server MUST reject the request by sending a DCCP-
   Reset packet with Reset Code 8, "Bad Service Code".  A middlebox MAY
   also send such a DCCP-Reset in response to packets whose Service Code
   is considered unsuitable.

終点は活発に、そして受け身に開けられたあらゆるDCCPソケットにService Codeを関連づけなければなりません。 一般に、アプリケーションはこのService Codeを供給するでしょう。 それぞれのアクティブなソケットには、ちょうど1Service Codeがなければなりません。 実装の裁量では、受け身のソケットは1Service Codeに関連しているかもしれません。 これは複数のアプリケーション、または同じアプリケーションの複数のバージョンをさせるかもしれなくて、Service Codeによって差別化された同じポートの上で聴いてください。 DCCP-要求のService Codeが与えられたポートのためにサーバのService Codesのいずれとも等しくないなら、Reset Code8、「悪い接客規範」でサーバは、DCCPリセットパケットを送ることによって、要求を拒絶しなければなりません。 また、middleboxはService Codeが不適当であると考えられるパケットに対応してそのようなDCCP-リセットを送るかもしれません。

   Service Codes are not intended to be DCCP-specific and are allocated
   by IANA.  Following the policies outlined in [RFC2434], most Service
   Codes are allocated First Come First Served, subject to the following
   guidelines.

サービスCodesはDCCP特有であることを意図しないで、IANAによって割り当てられます。 [RFC2434]に概説された方針に従って、ほとんどのService Codesは以下のガイドラインを条件としてFirst Come First Servedを割り当てます。

   o  Service Codes are allocated one at a time, or in small blocks.  A
      short English description of the intended service is REQUIRED to
      obtain a Service Code assignment, but no specification, standards

o サービスCodesが一度に一つ割り当てるか、またはわずかなブロックにあります。 意図しているサービスの短いイギリスの記述はService Code課題、仕様がない、規格だけを得るREQUIREDです。

Kohler, et al.              Standards Track                    [Page 59]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[59ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

      track or otherwise, is necessary.  IANA maintains an association
      of Service Codes to the corresponding phrases.

そうでなければ、追跡して、必要です。 IANAは対応する句にService Codesの協会を維持します。

   o  Users request specific Service Code values.  We suggest that users
      request Service Codes that can be represented using the "SC:"
      formatting convention described below.  Thus, the "Frobodyne Plotz
      Protocol" might correspond to Service Code 17178548426 or,
      equivalently, "SC:fdpz".  The canonical interpretation of a
      Service Code field is numeric.

o ユーザは特定のService Code値を要求します。 私たちが、ユーザが表された使用であることができるService Codesを要求することを提案する、「サウスカロライナ:」 以下で説明されたコンベンションをフォーマットします。 したがって、「Frobodyne Plotzプロトコル」はService Code17178548426か同等に「サウスカロライナ: fdpz」に対応するかもしれません。 Service Code分野の正準な解釈は数値です。

   o  Service Codes whose bytes each have values in the set {32, 45-57,
      65-90} use a Specification Required allocation policy.  That is,
      these Service Codes are used for international standard or
      standards-track specifications, IETF or otherwise.  (This set
      consists of the ASCII digits, uppercase letters, and characters
      space, '-', '.', and '/'.)

o それぞれにはあるバイトがセットで32、45-57、65-90を評価するサービスCodesはSpecification Required配分方針を使用します。 すなわち、これらのService Codesは世界規格か標準化過程仕様、IETFに中古であるか、またはそうではありません。 '(このセットはASCIIケタ、大文字、およびキャラクタスペース'--'、'. ''/'から成ります。)

   o  Service Codes whose high-order byte equals 63 (ASCII '?') are
      reserved for Private Use.

o 高位バイトが63(ASCII'?')と等しいサービスCodesは兵士のUseのために予約されます。

   o  Service Code 0 represents the absence of a meaningful Service Code
      and MUST NOT be allocated.

o サービスCode0を重要なService Codeの不在を表して、割り当ててはいけません。

   o  The value 4294967295 is an invalid Service Code.  Servers MUST
      reject any DCCP-Request with this Service Code value by sending a
      DCCP-Reset packet with Reset Code 8, "Bad Service Code".

o 値4294967295は無効のService Codeです。 サーバは、このService Code値でReset Code8があるDCCP-リセットパケット、「悪い接客規範」を送ることによって、どんなDCCP-要求も拒絶しなければなりません。

   This design for Service Code allocation is based on the allocation of
   4-byte identifiers for Macintosh resources, PNG chunks, and TrueType
   and OpenType tables.

Service Code配分のためのこのデザインはマッキントッシュリソース、PNG塊、TrueType、およびOpenTypeテーブルのための4バイトの識別子の配分に基づいています。

   In text settings, we recommend that Service Codes be written in one
   of three forms, prefixed by the ASCII letters SC and either a colon
   ":" or equals sign "=".  These forms are interpreted as follows.

「テキスト設定では、私たちは、Service CodesがASCII手紙サウスカロライナとコロンによって前に置かれた3つのフォームの1つで書かれることを勧める」:、」 または、同輩は「=」に署名します。 これらのフォームは以下の通り解釈されます。

   SC:     Indicates a Service Code representable using a subset of the
           ASCII characters.  The colon is followed by one to four
           characters taken from the following set: letters, digits, and
           the characters in "-_+.*/?@" (not including quotes).
           Numerically, these characters have values in {42-43, 45-57,
           63-90, 95, 97-122}.  The Service Code is calculated by
           padding the string on the right with spaces (value 32) and
           intepreting the four-character result as a 32-bit big-endian
           number.

サウスカロライナ: ASCII文字の部分集合を使用することでService Code representableを示します。 コロンは以下のセットから取られた1〜4つのキャラクタによって従われています: 「-_+*/?@」(引用文を含んでいない)の手紙、ケタ、およびキャラクタ。 数の上で、これらのキャラクタは42-43、45-57、63-90、95、97-122に値を持っています。 Service Codeは、空間(値32)で右のストリングを水増しして、32ビットのビッグエンディアン番号として4キャラクタの結果をintepretingすることによって、計算されます。

   SC=     Indicates a decimal Service Code.  The equals sign is
           followed by any number of decimal digits, which specify the
           Service Code.  Values above 4294967294 are illegal.

サウスカロライナ=は10進Service Codeを示します。 いろいろな10進数字が等号のあとに続いています。(10進数字はService Codeを指定します)。 4294967294を超えた値は不法です。

Kohler, et al.              Standards Track                    [Page 60]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[60ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   SC=x or SC=X
           Indicates a hexadecimal Service Code.  The "x" or "X" is
           followed by any number of hexadecimal digits (upper or lower
           case), which specify the Service Code.  Values above
           4294967294 are illegal.

サウスカロライナがxと等しいです、またはXサウスカロライナ=Indicatesは16進Service Codeと等しいです。 いろいろな16進数字(上側の、または、低いケース)が「x」か「X」のあとに続いています。(16進数字は接客規範を指定します)。 4294967294を超えた値は不法です。

   Thus, the Service Code 1717858426 might be represented in text as
   either SC:fdpz, SC=1717858426, or SC=x6664707A.

したがって、Service Code1717858426はサウスカロライナとしてテキストに表されるかもしれません: fdpz、1717858426、またはサウスカロライナ=サウスカロライナがx6664707Aと等しいです。

8.1.3.  Server Response

8.1.3. サーバ応答

   In the second phase of the three-way handshake, the server moves from
   the LISTEN state to RESPOND and sends a DCCP-Response message to the
   client.  In this phase, a server will often specify the features it
   would like to use, either from among those the client requested or in
   addition to those.  Among these options is the congestion control
   mechanism the server expects to use.

3方向ハンドシェイクの2番目のフェーズでは、サーバは、LISTEN状態からRESPONDまで移行して、DCCP-応答メッセージをクライアントに送ります。 このフェーズでは、サーバはそれがクライアントが要求したものの中かそれらに加えて使用したがっている特徴をしばしば指定するでしょう。 これらのオプションの中に、サーバが使用すると予想する混雑制御機構があります。

   The server MAY respond to a DCCP-Request packet with a DCCP-Reset
   packet to refuse the connection.  Relevant Reset Codes for refusing a
   connection include 7, "Connection Refused", when the DCCP-Request's
   Destination Port did not correspond to a DCCP port open for
   listening; 8, "Bad Service Code", when the DCCP-Request's Service
   Code did not correspond to the service code registered with the
   Destination Port; and 9, "Too Busy", when the server is currently too
   busy to respond to requests.  The server SHOULD limit the rate at
   which it generates these resets; for example, to not more than 1024
   per second.

サーバは、接続を拒否するためにDCCP-リセットパケットでDCCP-リクエスト・パケットに反応するかもしれません。 接続を拒否するための関連Reset Codesは7を含んでいます、「接続は拒否しました」、DCCP-要求のDestination PortがDCCPに対応しなかったとき聴取において、開いているポート。 8 DCCP-要求のService CodeがDestination Portに示された接客規範に対応しなかったときの「悪い接客規範」 そして、現在サーバであるときに、「忙し過ぎる」9は要求に反応できないくらい忙しいです。 サーバSHOULDはそれがこれらのリセットを生成するレートを制限します。 例えば1秒あたり1024だけに。

   The server SHOULD NOT retransmit DCCP-Response packets; the client
   will retransmit the DCCP-Request if necessary.  (Note that the
   "retransmitted" DCCP-Request will have, at least, a different
   sequence number from the "original" DCCP-Request.  The server can
   thus distinguish true retransmissions from network duplicates.)  The
   server will detect that the retransmitted DCCP-Request applies to an
   existing connection because of its Source and Destination Ports.
   Every valid DCCP-Request received while the server is in the RESPOND
   state MUST elicit a new DCCP-Response.  Each new DCCP-Response MUST
   increment the server's Sequence Number by one and MUST include the
   same application data, if any, as the original DCCP-Response.

サーバSHOULD NOTはDCCP-応答パケットを再送します。 必要なら、クライアントはDCCP-要求を再送するでしょう。 (「再送された」DCCP-要求には「オリジナル」のDCCP-要求からの少なくとも異なった一連番号があることに注意してください。 その結果、サーバはネットワーク写しと本当の「再-トランスミッション」を区別できます。) 意志が検出する再送されたDCCP-要求がそのSourceとDestination Portsのために既存の接続に適用するサーバ。 サーバがRESPOND状態にある間に受け取られたあらゆる有効なDCCP-要求が新しいDCCP-応答を引き出さなければなりません。 それぞれの新しいDCCP-応答は、サーバのSequence Numberを1つ増加しなければならなくて、同じアプリケーションデータを含まなければなりません、もしあれば、オリジナルのDCCP-応答として。

   The server MUST NOT accept more than one piece of DCCP-Request
   application data per connection.  In particular, the DCCP-Response
   sent in reply to a retransmitted DCCP-Request with application data
   SHOULD contain a Data Dropped option, in which the retransmitted
   DCCP-Request data is reported with Drop Code 0, Protocol Constraints.
   The original DCCP-Request SHOULD also be reported in the Data Dropped
   option, either in a Normal Block (if the server accepted the data or

サーバはDCCP-要求1接続あたり1つ以上のアプリケーションデータを受け入れてはいけません。 特に、アプリケーションデータSHOULDとの再送されたDCCP-要求に対して送られたDCCP-応答はData Droppedオプションを含んでいます、プロトコルConstraints。(再送されたDCCP-要求データはDrop Code0と共にオプションで報告されます)。 またはオリジナルは、また、SHOULDがData Droppedオプションで報告されるようDCCP要求します、どちらかa Normal Blockで(サーバがデータを受け入れた。

Kohler, et al.              Standards Track                    [Page 61]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[61ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   there was no data) or in a Drop Code 0 Drop Block (if the server
   refused the data the first time as well).

データが全くなかった、)、Drop Code0Drop Block(サーバがまた、1回目にデータを拒否したなら)で。

   The Data Dropped and Init Cookie options are particularly useful for
   DCCP-Response packets (Sections 11.7 and 8.1.4).

Data DroppedとInit Cookieオプションは特にDCCP-応答パケット(セクション11.7と8.1.4)の役に立ちます。

   The server leaves the RESPOND state for OPEN when it receives a valid
   DCCP-Ack from the client, completing the three-way handshake.  It MAY
   also leave the RESPOND state for CLOSED after a timeout of not less
   than 4MSL (8 minutes); when doing so, it SHOULD send a DCCP-Reset
   with Reset Code 2, "Aborted", to clean up state at the client.

クライアントから有効なDCCP-Ackを受けるとき、サーバはオープンのためにRESPONDを状態に発ちます、3方向ハンドシェイクを終了して。 また、それは(8分)の間の少なくとも4MSLのタイムアウトの後にCLOSEDのためにRESPONDを状態に発つかもしれません。 そのように、それをするとき、SHOULDは、クライアントで状態をきれいにするために「中止された」Reset Code2とのDCCP-リセットを送ります。

8.1.4.  Init Cookie Option

8.1.4. イニットクッキーオプション

   +--------+--------+--------+--------+--------+--------
   |00100100| Length |         Init Cookie Value   ...
   +--------+--------+--------+--------+--------+--------
    Type=36

+--------+--------+--------+--------+--------+-------- |00100100| 長さ| イニットクッキー価値… +--------+--------+--------+--------+--------+-------- =36をタイプしてください。

   The Init Cookie option lets a DCCP server avoid having to hold any
   state until the three-way connection setup handshake has completed,
   in a similar fashion as for TCP SYN cookies [SYNCOOKIES].  The server
   wraps up the Service Code, server port, and any options it cares
   about from both the DCCP-Request and DCCP-Response in an opaque
   cookie.  Typically the cookie will be encrypted using a secret known
   only to the server and will include a cryptographic checksum or magic
   value so that correct decryption can be verified.  When the server
   receives the cookie back in the response, it can decrypt the cookie
   and instantiate all the state it avoided keeping.  In the meantime,
   it need not move from the LISTEN state.

Init Cookieオプションで、DCCPサーバは、3者間の接続設定握手が同様にTCP SYNのようにクッキー[SYNCOOKIES]を完成するまでどんな状態も保持しなければならないのを避けます。 それがDCCP-要求と不透明なクッキーにおけるDCCP-応答の両方から心配するService Codeへのサーバ機密、サーバポート、およびどんなオプション。 クッキーは、通常、サーバだけに知られている秘密を使用することで暗号化されて、その正しい復号化について確かめることができるように暗号のチェックサムか魔法の値を含むでしょう。 サーバが応答でクッキーを受けるとき、それは、クッキーを解読して、保つのを避けたすべての状態を例示できます。 差し当たり、それはLISTEN状態から移行する必要はありません。

   The Init Cookie option MUST NOT be sent on DCCP-Request or DCCP-Data
   packets.  Any Init Cookie options received on DCCP-Request or DCCP-
   Data packets, or after the connection has been established (when the
   connection's state is >= OPEN), MUST be ignored.  The server MAY
   include Init Cookie options in its DCCP-Response.  If so, then the
   client MUST echo the same Init Cookie options, in the same order, in
   each succeeding DCCP packet until one of those packets is
   acknowledged (showing that the three-way handshake has completed) or
   the connection is reset.  As a result, the client MUST NOT use DCCP-
   Data packets until the three-way handshake completes or the
   connection is reset.  The Init Cookie options on a client packet MUST
   equal those received on the DCCP-Request indicated by the client
   packet's Acknowledgement Number.  The server SHOULD design its Init
   Cookie format so that Init Cookies can be checked for tampering; it
   SHOULD respond to a tampered Init Cookie option by resetting the
   connection with Reset Code 10, "Bad Init Cookie".

DCCP-要求かDCCP-データ・パケットでInit Cookieオプションを送ってはいけません。 どんなInit CookieオプションもDCCP-要求かDCCPデータ・パケットの上で受信されたか、または接続が確立された(接続の状態が>=オープンであるときに)後に無視しなければなりません。 サーバはDCCP-応答におけるInit Cookieオプションを含むかもしれません。 そうだとすれば、次に、クライアントは同じInit Cookieオプションを反映しなければなりません、続くそれぞれのDCCPパケットの同じそれらのパケットの1つが承認されるか(それを示しています3方向ハンドシェイクが完成した)、または接続がリセットされるまでのオーダーで。 その結果、クライアントが3方向ハンドシェイクまでのパケットが完成するDCCPデータを使用してはいけない、さもなければ、接続はリセットされます。 クライアントパケットにおけるInit CookieオプションはクライアントパケットのAcknowledgement Numberによって示されたDCCP-要求のときに受け取られたものと等しくなければなりません。 サーバSHOULDは改ざんがないかどうかInit CookiesをチェックできるようにInit Cookie形式を設計します。 それ、SHOULDは、Reset Code10との接続、「腐っているイニットクッキー」をリセットすることによって、いじられたInit Cookieオプションに応じます。

Kohler, et al.              Standards Track                    [Page 62]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[62ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Init Cookie's precise implementation need not be specified here;
   since Init Cookies are opaque to the client, there are no
   interoperability concerns.  An example cookie format might encrypt
   (using a secret key) the connection's initial sequence and
   acknowledgement numbers, ports, Service Code, any options included on
   the DCCP-Request packet and the corresponding DCCP-Response, a random
   salt, and a magic number.  On receiving a reflected Init Cookie, the
   server would decrypt the cookie, validate it by checking its magic
   number, sequence numbers, and ports, and, if valid, create a
   corresponding socket using the options.

イニットCookieの正確な実装はここで指定される必要はありません。 クライアントにとって、Init Cookiesが不透明であるので、相互運用性関心が全くありません。 例のクッキー形式は接続の初期の系列と承認番号を暗号化するかもしれません(秘密鍵を使用します)、ポート、Service Code、DCCP-リクエスト・パケット、対応するDCCP-応答、無作為の塩、およびマジックナンバーにどんなオプションも含んでいて。 反射したInit Cookieを受けると、サーバは、オプションを使用することでクッキーを解読して、マジックナンバー、一連番号、およびポートをチェックすることによってそれを有効にして、有効であるなら、対応するソケットを作成するでしょう。

   Each individual Init Cookie option can hold at most 253 bytes of
   data, but a server can send multiple Init Cookie options to gain more
   space.

それぞれの個々のInit Cookieオプションは253バイトのデータを高々保持できますが、サーバは、より多くのスペースを獲得するために複数のInit Cookieオプションを送ることができます。

8.1.5.  Handshake Completion

8.1.5. 握手完成

   When the client receives a DCCP-Response from the server, it moves
   from the REQUEST state to PARTOPEN and completes the three-way
   handshake by sending a DCCP-Ack packet to the server.  The client
   remains in PARTOPEN until it can be sure that the server has received
   some packet the client sent from PARTOPEN (either the initial DCCP-
   Ack or a later packet).  Clients in the PARTOPEN state that want to
   send data MUST do so using DCCP-DataAck packets, not DCCP-Data
   packets.  This is because DCCP-Data packets lack Acknowledgement
   Numbers, so the server can't tell from a DCCP-Data packet whether the
   client saw its DCCP-Response.  Furthermore, if the DCCP-Response
   included an Init Cookie, that Init Cookie MUST be included on every
   packet sent in PARTOPEN.

クライアントがサーバからDCCP-応答を受けるとき、それは、REQUEST状態からPARTOPENまで移行して、DCCP-Ackパケットをサーバに送ることによって、3方向ハンドシェイクを終了します。サーバがクライアントがPARTOPEN(初期のDCCP- Ackか、より遅いパケットのどちらか)から送ったあるパケットを受けたのが、確かになる場合があるまで、クライアントはPARTOPENに留まります。 PARTOPEN状態のデータを送りたがっているクライアントはそうDCCP-データ・パケットではなく、DCCP-DataAckパケットを使用にしなければなりません。 これはDCCP-データ・パケットがAcknowledgement民数記を欠いているからサーバが、DCCP-データ・パケットからクライアントがDCCP-応答を見たかどうかわからないです。 その上、DCCP-応答がInit Cookieを含んでいたなら、PARTOPENで送られたあらゆるパケットの上にそのInit Cookieを含まなければなりません。

   The single DCCP-Ack sent when entering the PARTOPEN state might, of
   course, be dropped by the network.  The client SHOULD ensure that
   some packet gets through eventually.  The preferred mechanism would
   be a roughly 200-millisecond timer, set every time a packet is
   transmitted in PARTOPEN.  If this timer goes off and the client is
   still in PARTOPEN, the client generates another DCCP-Ack and backs
   off the timer.  If the client remains in PARTOPEN for more than 4MSL
   (8 minutes), it SHOULD reset the connection with Reset Code 2,
   "Aborted".

PARTOPEN状態に入るとき送られた独身のDCCP-Ackはもちろんネットワークによって下げられるかもしれません。 クライアントSHOULDは、あるパケットが結局通るのを確実にします。 都合のよいメカニズムはパケットがPARTOPENで伝えられるときはいつも、設定されたおよそ200ミリセカンドのタイマでしょう。 このタイマが発射されて、クライアントがまだPARTOPENにいるなら、クライアントはタイマで別のDCCP-Ackと後部を生成します。 クライアントは4MSLより多くの(8分)の間、PARTOPENに留まります、それ。SHOULDはReset Code2との接続をリセットしました、「中止され」て。

   The client leaves the PARTOPEN state for OPEN when it receives a
   valid packet other than DCCP-Response, DCCP-Reset, or DCCP-Sync from
   the server.

それがサーバからDCCP-応答、DCCP-リセット、またはDCCP-同時性以外の有効なパケットを受けるとき、クライアントはオープンのためにPARTOPENを状態に残します。

8.2.  Data Transfer

8.2. データ転送

   In the central data transfer phase of the connection, both server and
   client are in the OPEN state.

接続の中央のデータ転送段階に、サーバとクライアントの両方がオープン状態にあります。

Kohler, et al.              Standards Track                    [Page 63]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[63ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   DCCP A sends DCCP-Data and DCCP-DataAck packets to DCCP B due to
   application events on host A.  These packets are congestion-
   controlled by the CCID for the A-to-B half-connection.  In contrast,
   DCCP-Ack packets sent by DCCP A are controlled by the CCID for the
   B-to-A half-connection.  Generally, DCCP A will piggyback
   acknowledgement information on DCCP-Data packets when acceptable,
   creating DCCP-DataAck packets.  DCCP-Ack packets are used when there
   is no data to send from DCCP A to DCCP B, or when the congestion
   state of the A-to-B CCID will not allow data to be sent.

DCCP AはDCCP-データを送ります、そして、ホストA.TheseパケットにおけるアプリケーションイベントによるDCCP BへのDCCP-DataAckパケットはAからBとの半分接続のためにCCIDによって制御された混雑です。 対照的に、DCCP Aによって送られたDCCP-AckパケットはBからAとの半分接続のためにCCIDによって制御されます。 許容できるとき、一般に、DCCP-DataAckパケットを作成して、DCCP AはDCCP-データ・パケットの承認情報を背負うでしょう。 DCCP AからDCCP Bまで発信するためにデータが全くないか、またはAからBへのCCIDの混雑州が、データが送られるのを許容しないとき、DCCP-Ackパケットは使用されています。

   DCCP-Sync and DCCP-SyncAck packets may also occur in the data
   transfer phase.  Some cases causing DCCP-Sync generation are
   discussed in Section 7.5.  One important distinction between DCCP-
   Sync packets and other packet types is that DCCP-Sync elicits an
   immediate acknowledgement.  On receiving a valid DCCP-Sync packet, a
   DCCP endpoint MUST immediately generate and send a DCCP-SyncAck
   response (subject to any implementation rate limits); the
   Acknowledgement Number on that DCCP-SyncAck MUST equal the Sequence
   Number of the DCCP-Sync.

また、DCCP-同時性とDCCP-SyncAckパケットはデータ転送段階で起こるかもしれません。 セクション7.5でDCCP-同時性世代を引き起こすいくつかのケースについて議論します。 DCCP同時性パケットと他のパケットタイプの1つの大切な区別はDCCP-同時性が即座の承認を引き出すということです。 有効なDCCP-同時性パケットを受けると、DCCP終点は、すぐに、DCCP-SyncAck応答(どんな実装レート限界を条件とした)を生成して、送らなければなりません。 そのDCCP-SyncAckの上のAcknowledgement NumberはDCCP-同時性のSequence Numberと等しくなければなりません。

   A particular DCCP implementation might decide to initiate feature
   negotiation only once the OPEN state was reached, in which case it
   might not allow data transfer until some time later.  Data received
   during that time SHOULD be rejected and reported using a Data Dropped
   Drop Block with Drop Code 0, Protocol Constraints (see Section 11.7).

特定のDCCP実装は、オープン状態にいったん達するとだけ特徴交渉を開始すると決めるかもしれません、その場合、それはその後までデータ転送を許容しないかもしれません。 データは拒絶されて、Data Dropped Drop Blockを使用することで報告されたその時間SHOULDの間、Drop Code0と共に受信されました、プロトコルConstraints(セクション11.7を見てください)。

8.3.  Termination

8.3. 終了

   DCCP connection termination uses a handshake consisting of an
   optional DCCP-CloseReq packet, a DCCP-Close packet, and a DCCP-Reset
   packet.  The server moves from the OPEN state, possibly through the
   CLOSEREQ state, to CLOSED; the client moves from OPEN through CLOSING
   to TIMEWAIT, and after 2MSL wait time (4 minutes) to CLOSED.

DCCP接続終了は任意のDCCP-CloseReqパケット、DCCP近いパケット、およびDCCP-リセットパケットから成る握手を使用します。 サーバはオープン状態からことによるとCLOSEREQ状態、CLOSEDに移行します。 クライアントはCLOSINGを通したオープンからTIMEWAITまで、2MSL待ち時間の後に(4分)の間、CLOSEDに移行します。

   The sequence DCCP-CloseReq, DCCP-Close, DCCP-Reset is used when the
   server decides to close the connection but doesn't want to hold
   TIMEWAIT state:

系列DCCP-CloseReq、DCCP-閉鎖、DCCP-リセットはサーバが、接続を終えると決めるとき、使用されていますが、TIMEWAIT状態を保持したがっていません:

     Client State                             Server State
        OPEN                                     OPEN
   1.             <--       CloseReq       <--   CLOSEREQ
   2.   CLOSING   -->        Close         -->
   3.             <--        Reset         <--   CLOSED (LISTEN)
   4.   TIMEWAIT
   5.   CLOSED

属国サーバ状態開いている開いている1。 <-- CloseReq<--CLOSEREQ2。 閉鎖-->閉鎖-->3。 <-- <--4を閉じる(聴く)とリセットしてください。 TIMEWAIT5。 閉じられます。

Kohler, et al.              Standards Track                    [Page 64]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[64ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   A shorter sequence occurs when the client decides to close the
   connection.

クライアントが、接続を終えると決めると、より短い系列は起こります。

     Client State                             Server State
        OPEN                                     OPEN
   1.   CLOSING   -->        Close         -->
   2.             <--        Reset         <--   CLOSED (LISTEN)
   3.   TIMEWAIT
   4.   CLOSED

属国サーバ状態開いている開いている1。 閉鎖-->閉鎖-->2。 <-- <--3を閉じる(聴く)とリセットしてください。 TIMEWAIT4。 閉じられます。

   Finally, the server can decide to hold TIMEWAIT state:

最終的に、サーバは、TIMEWAIT状態を保持すると決めることができます:

     Client State                             Server State
        OPEN                                     OPEN
   1.             <--        Close         <--   CLOSING
   2.   CLOSED    -->        Reset         -->
   3.                                            TIMEWAIT
   4.                                            CLOSED (LISTEN)

属国サーバ状態開いている開いている1。 <-- <を閉じてください--閉鎖2。 閉じている(>リセット)>3。 TIMEWAIT4。 閉じられます。(聴きます)

   In all cases, the receiver of the DCCP-Reset packet holds TIMEWAIT
   state for the connection.  As in TCP, TIMEWAIT state, where an
   endpoint quietly preserves a socket for 2MSL (4 minutes) after its
   connection has closed, ensures that no connection duplicating the
   current connection's source and destination addresses and ports can
   start up while old packets might remain in the network.

すべての場合では、DCCP-リセットパケットの受信機は接続のためのTIMEWAIT状態を保持します。 TCPのように、TIMEWAIT州(接続が閉じた(4分)後に終点は2MSLのために静かにソケットを保存する)は、古いパケットがネットワークに残るかもしれませんが、現在の接続のソース、送付先アドレス、およびポートをコピーしているどんな接続も始動できないのを確実にします。

   The termination handshake proceeds as follows.  The receiver of a
   valid DCCP-CloseReq packet MUST respond with a DCCP-Close packet.
   The receiver of a valid DCCP-Close packet MUST respond with a DCCP-
   Reset packet with Reset Code 1, "Closed".  The receiver of a valid
   DCCP-Reset packet -- which is also the sender of the DCCP-Close
   packet (and possibly the receiver of the DCCP-CloseReq packet) --
   will hold TIMEWAIT state for the connection.

The termination handshake proceeds as follows. The receiver of a valid DCCP-CloseReq packet MUST respond with a DCCP-Close packet. The receiver of a valid DCCP-Close packet MUST respond with a DCCP- Reset packet with Reset Code 1, "Closed". The receiver of a valid DCCP-Reset packet -- which is also the sender of the DCCP-Close packet (and possibly the receiver of the DCCP-CloseReq packet) -- will hold TIMEWAIT state for the connection.

   A DCCP-Reset packet completes every DCCP connection, whether the
   termination is clean (due to application close; Reset Code 1,
   "Closed") or unclean.  Unlike TCP, which has two distinct termination
   mechanisms (FIN and RST), DCCP ends all connections in a uniform
   manner.  This is justified because some aspects of connection
   termination are the same independent of whether termination was
   clean.  For instance, the endpoint that receives a valid DCCP-Reset
   SHOULD hold TIMEWAIT state for the connection.  Processors that must
   distinguish between clean and unclean termination can examine the
   Reset Code.  DCCP implementations generally transition to the CLOSED
   state after sending a DCCP-Reset packet.

A DCCP-Reset packet completes every DCCP connection, whether the termination is clean (due to application close; Reset Code 1, "Closed") or unclean. Unlike TCP, which has two distinct termination mechanisms (FIN and RST), DCCP ends all connections in a uniform manner. This is justified because some aspects of connection termination are the same independent of whether termination was clean. For instance, the endpoint that receives a valid DCCP-Reset SHOULD hold TIMEWAIT state for the connection. Processors that must distinguish between clean and unclean termination can examine the Reset Code. DCCP implementations generally transition to the CLOSED state after sending a DCCP-Reset packet.

   Endpoints in the CLOSEREQ and CLOSING states MUST retransmit DCCP-
   CloseReq and DCCP-Close packets, respectively, until leaving those

Endpoints in the CLOSEREQ and CLOSING states MUST retransmit DCCP- CloseReq and DCCP-Close packets, respectively, until leaving those

Kohler, et al.              Standards Track                    [Page 65]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

Kohler, et al. Standards Track [Page 65] RFC 4340 Datagram Congestion Control Protocol (DCCP) March 2006

   states.  The retransmission timer should initially be set to go off
   in two round-trip times and should back off to not less than once
   every 64 seconds if no relevant response is received.

states. The retransmission timer should initially be set to go off in two round-trip times and should back off to not less than once every 64 seconds if no relevant response is received.

   Only the server can send a DCCP-CloseReq packet or enter the CLOSEREQ
   state.  A server receiving a sequence-valid DCCP-CloseReq packet MUST
   respond with a DCCP-Sync packet and otherwise ignore the DCCP-
   CloseReq.

Only the server can send a DCCP-CloseReq packet or enter the CLOSEREQ state. A server receiving a sequence-valid DCCP-CloseReq packet MUST respond with a DCCP-Sync packet and otherwise ignore the DCCP- CloseReq.

   DCCP-Data, DCCP-DataAck, and DCCP-Ack packets received in CLOSEREQ or
   CLOSING states MAY be either processed or ignored.

DCCP-Data, DCCP-DataAck, and DCCP-Ack packets received in CLOSEREQ or CLOSING states MAY be either processed or ignored.

8.3.1.  Abnormal Termination

8.3.1. Abnormal Termination

   DCCP endpoints generate DCCP-Reset packets to terminate connections
   abnormally; a DCCP-Reset packet may be generated from any state.
   Resets sent in the CLOSED, LISTEN, and TIMEWAIT states use Reset Code
   3, "No Connection", unless otherwise specified.  Resets sent in the
   REQUEST or RESPOND states use Reset Code 4, "Packet Error", unless
   otherwise specified.

DCCP endpoints generate DCCP-Reset packets to terminate connections abnormally; a DCCP-Reset packet may be generated from any state. Resets sent in the CLOSED, LISTEN, and TIMEWAIT states use Reset Code 3, "No Connection", unless otherwise specified. Resets sent in the REQUEST or RESPOND states use Reset Code 4, "Packet Error", unless otherwise specified.

   DCCP endpoints in CLOSED, LISTEN, or TIMEWAIT state may need to
   generate a DCCP-Reset packet in response to a packet received from a
   peer.  Since these states have no associated sequence number
   variables, the Sequence and Acknowledgement Numbers on the DCCP-Reset
   packet R are taken from the received packet P, as follows.

DCCP endpoints in CLOSED, LISTEN, or TIMEWAIT state may need to generate a DCCP-Reset packet in response to a packet received from a peer. Since these states have no associated sequence number variables, the Sequence and Acknowledgement Numbers on the DCCP-Reset packet R are taken from the received packet P, as follows.

   1. If P.ackno exists, then set R.seqno := P.ackno + 1.  Otherwise,
      set R.seqno := 0.

1. If P.ackno exists, then set R.seqno := P.ackno + 1. Otherwise, set R.seqno := 0.

   2. Set R.ackno := P.seqno.

2. Set R.ackno := P.seqno.

   3. If the packet used short sequence numbers (P.X == 0), then set the
      upper 24 bits of R.seqno and R.ackno to 0.

3. If the packet used short sequence numbers (P.X == 0), then set the upper 24 bits of R.seqno and R.ackno to 0.

8.4.  DCCP State Diagram

8.4. DCCP State Diagram

   The most common state transitions discussed above can be summarized
   in the following state diagram.  The diagram is illustrative; the
   text in Section 8.5 and elsewhere should be considered definitive.
   For example, there are arcs (not shown) from every state except
   CLOSED to TIMEWAIT, contingent on the receipt of a valid DCCP-Reset.

The most common state transitions discussed above can be summarized in the following state diagram. The diagram is illustrative; the text in Section 8.5 and elsewhere should be considered definitive. For example, there are arcs (not shown) from every state except CLOSED to TIMEWAIT, contingent on the receipt of a valid DCCP-Reset.

Kohler, et al.              Standards Track                    [Page 66]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

Kohler, et al. Standards Track [Page 66] RFC 4340 Datagram Congestion Control Protocol (DCCP) March 2006

   +---------------------------+    +---------------------------+
   |                           v    v                           |
   |                        +----------+                        |
   |          +-------------+  CLOSED  +------------+           |
   |          | passive     +----------+  active    |           |
   |          |  open                      open     |           |
   |          |                         snd Request |           |
   |          v                                     v           |
   |     +----------+                          +----------+     |
   |     |  LISTEN  |                          | REQUEST  |     |
   |     +----+-----+                          +----+-----+     |
   |          | rcv Request            rcv Response |           |
   |          | snd Response             snd Ack    |           |
   |          v                                     v           |
   |     +----------+                          +----------+     |
   |     | RESPOND  |                          | PARTOPEN |     |
   |     +----+-----+                          +----+-----+     |
   |          | rcv Ack/DataAck         rcv packet  |           |
   |          |                                     |           |
   |          |             +----------+            |           |
   |          +------------>|   OPEN   |<-----------+           |
   |                        +--+-+--+--+                        |
   |       server active close | |  |   active close            |
   |           snd CloseReq    | |  | or rcv CloseReq           |
   |                           | |  |    snd Close              |
   |                           | |  |                           |
   |     +----------+          | |  |          +----------+     |
   |     | CLOSEREQ |<---------+ |  +--------->| CLOSING  |     |
   |     +----+-----+            |             +----+-----+     |
   |          | rcv Close        |        rcv Reset |           |
   |          | snd Reset        |                  |           |
   |<---------+                  |                  v           |
   |                             |             +----+-----+     |
   |                   rcv Close |             | TIMEWAIT |     |
   |                   snd Reset |             +----+-----+     |
   +-----------------------------+                  |           |
                                                    +-----------+
                                                 2MSL timer expires

+---------------------------+ +---------------------------+ | v v | | +----------+ | | +-------------+ CLOSED +------------+ | | | passive +----------+ active | | | | open open | | | | snd Request | | | v v | | +----------+ +----------+ | | | LISTEN | | REQUEST | | | +----+-----+ +----+-----+ | | | rcv Request rcv Response | | | | snd Response snd Ack | | | v v | | +----------+ +----------+ | | | RESPOND | | PARTOPEN | | | +----+-----+ +----+-----+ | | | rcv Ack/DataAck rcv packet | | | | | | | | +----------+ | | | +------------>| OPEN |<-----------+ | | +--+-+--+--+ | | server active close | | | active close | | snd CloseReq | | | or rcv CloseReq | | | | | snd Close | | | | | | | +----------+ | | | +----------+ | | | CLOSEREQ |<---------+ | +--------->| CLOSING | | | +----+-----+ | +----+-----+ | | | rcv Close | rcv Reset | | | | snd Reset | | | |<---------+ | v | | | +----+-----+ | | rcv Close | | TIMEWAIT | | | snd Reset | +----+-----+ | +-----------------------------+ | | +-----------+ 2MSL timer expires

8.5.  Pseudocode

8.5. Pseudocode

   This section presents an algorithm describing the processing steps a
   DCCP endpoint must go through when it receives a packet.  A DCCP
   implementation need not implement the algorithm as it is described
   here, but any implementation MUST generate observable effects exactly
   as indicated by this pseudocode, except where allowed otherwise by
   another part of this document.

This section presents an algorithm describing the processing steps a DCCP endpoint must go through when it receives a packet. A DCCP implementation need not implement the algorithm as it is described here, but any implementation MUST generate observable effects exactly as indicated by this pseudocode, except where allowed otherwise by another part of this document.

Kohler, et al.              Standards Track                    [Page 67]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

Kohler, et al. Standards Track [Page 67] RFC 4340 Datagram Congestion Control Protocol (DCCP) March 2006

   The received packet is written as P, the socket as S.  Socket
   variables are:

The received packet is written as P, the socket as S. Socket variables are:

   S.SWL - sequence number window low
   S.SWH - sequence number window high
   S.AWL - acknowledgement number window low
   S.AWH - acknowledgement number window high
   S.ISS - initial sequence number sent
   S.ISR - initial sequence number received
   S.OSR - first OPEN sequence number received
   S.GSS - greatest sequence number sent
   S.GSR - greatest valid sequence number received
   S.GAR - greatest valid acknowledgement number received on a
           non-Sync; initialized to S.ISS
   "Send packet" actions always use, and increment, S.GSS.

S.SWL - sequence number window low S.SWH - sequence number window high S.AWL - acknowledgement number window low S.AWH - acknowledgement number window high S.ISS - initial sequence number sent S.ISR - initial sequence number received S.OSR - first OPEN sequence number received S.GSS - greatest sequence number sent S.GSR - greatest valid sequence number received S.GAR - greatest valid acknowledgement number received on a non-Sync; initialized to S.ISS "Send packet" actions always use, and increment, S.GSS.

   Step 1: Check header basics
      /* This step checks for malformed packets.  Packets that fail
         these checks are ignored -- they do not receive Resets in
         response */
      If the packet is shorter than 12 bytes, drop packet and return
      If P.type is not understood, drop packet and return
      If P.Data Offset is smaller than the given packet type's
            fixed header length or larger than the packet's length,
            drop packet and return
      If P.type is not Data, Ack, or DataAck and P.X == 0 (the packet
            has short sequence numbers), drop packet and return
      If the header checksum is incorrect, drop packet and return
      If P.CsCov is too large for the packet size, drop packet and
            return

Step 1: Check header basics /* This step checks for malformed packets. Packets that fail these checks are ignored -- they do not receive Resets in response */ If the packet is shorter than 12 bytes, drop packet and return If P.type is not understood, drop packet and return If P.Data Offset is smaller than the given packet type's fixed header length or larger than the packet's length, drop packet and return If P.type is not Data, Ack, or DataAck and P.X == 0 (the packet has short sequence numbers), drop packet and return If the header checksum is incorrect, drop packet and return If P.CsCov is too large for the packet size, drop packet and return

   Step 2: Check ports and process TIMEWAIT state
      /* Flow ID is <src addr, src port, dst addr, dst port> 4-tuple */
      Look up flow ID in table and get corresponding socket
      If no socket, or S.state == TIMEWAIT,
         /* The following Reset's Sequence and Acknowledgement Numbers
            are taken from the input packet; see Section 8.3.1. */
         Generate Reset(No Connection) unless P.type == Reset
         Drop packet and return

Step 2: Check ports and process TIMEWAIT state /* Flow ID is <src addr, src port, dst addr, dst port> 4-tuple */ Look up flow ID in table and get corresponding socket If no socket, or S.state == TIMEWAIT, /* The following Reset's Sequence and Acknowledgement Numbers are taken from the input packet; see Section 8.3.1. */ Generate Reset(No Connection) unless P.type == Reset Drop packet and return

Kohler, et al.              Standards Track                    [Page 68]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

Kohler, et al. Standards Track [Page 68] RFC 4340 Datagram Congestion Control Protocol (DCCP) March 2006

   Step 3: Process LISTEN state
      If S.state == LISTEN,
         If P.type == Request or P contains a valid Init Cookie option,
            /* Must scan the packet's options to check for Init
               Cookies.  Only Init Cookies are processed here,
               however; other options are processed in Step 8.  This
               scan need only be performed if the endpoint uses Init
               Cookies */
            /* Generate a new socket and switch to that socket */
            Set S := new socket for this port pair
            S.state = RESPOND
            Choose S.ISS (initial seqno) or set from Init Cookies
            Initialize S.GAR := S.ISS
            Set S.ISR, S.GSR, S.SWL, S.SWH from packet or Init Cookies
            Continue with S.state == RESPOND
            /* A Response packet will be generated in Step 11 */
         Otherwise,
            Generate Reset(No Connection) unless P.type == Reset
            Drop packet and return

Step 3: Process LISTEN state If S.state == LISTEN, If P.type == Request or P contains a valid Init Cookie option, /* Must scan the packet's options to check for Init Cookies. Only Init Cookies are processed here, however; other options are processed in Step 8. This scan need only be performed if the endpoint uses Init Cookies */ /* Generate a new socket and switch to that socket */ Set S := new socket for this port pair S.state = RESPOND Choose S.ISS (initial seqno) or set from Init Cookies Initialize S.GAR := S.ISS Set S.ISR, S.GSR, S.SWL, S.SWH from packet or Init Cookies Continue with S.state == RESPOND /* A Response packet will be generated in Step 11 */ Otherwise, Generate Reset(No Connection) unless P.type == Reset Drop packet and return

   Step 4: Prepare sequence numbers in REQUEST
      If S.state == REQUEST,
         If (P.type == Response or P.type == Reset)
               and S.AWL <= P.ackno <= S.AWH,
            /* Set sequence number variables corresponding to the
               other endpoint, so P will pass the tests in Step 6 */
            Set S.GSR, S.ISR, S.SWL, S.SWH
            /* Response processing continues in Step 10; Reset
               processing continues in Step 9 */
         Otherwise,
            /* Only Response and Reset are valid in REQUEST state */
            Generate Reset(Packet Error)
            Drop packet and return

Step 4: Prepare sequence numbers in REQUEST If S.state == REQUEST, If (P.type == Response or P.type == Reset) and S.AWL <= P.ackno <= S.AWH, /* Set sequence number variables corresponding to the other endpoint, so P will pass the tests in Step 6 */ Set S.GSR, S.ISR, S.SWL, S.SWH /* Response processing continues in Step 10; Reset processing continues in Step 9 */ Otherwise, /* Only Response and Reset are valid in REQUEST state */ Generate Reset(Packet Error) Drop packet and return

   Step 5: Prepare sequence numbers for Sync
      If P.type == Sync or P.type == SyncAck,
         If S.AWL <= P.ackno <= S.AWH and P.seqno >= S.SWL,
            /* P is valid, so update sequence number variables
               accordingly.  After this update, P will pass the tests
               in Step 6.  A SyncAck is generated if necessary in
               Step 15 */
            Update S.GSR, S.SWL, S.SWH
         Otherwise,
            Drop packet and return

Step 5: Prepare sequence numbers for Sync If P.type == Sync or P.type == SyncAck, If S.AWL <= P.ackno <= S.AWH and P.seqno >= S.SWL, /* P is valid, so update sequence number variables accordingly. After this update, P will pass the tests in Step 6. A SyncAck is generated if necessary in Step 15 */ Update S.GSR, S.SWL, S.SWH Otherwise, Drop packet and return

Kohler, et al.              Standards Track                    [Page 69]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

Kohler, et al. Standards Track [Page 69] RFC 4340 Datagram Congestion Control Protocol (DCCP) March 2006

   Step 6: Check sequence numbers
      If P.X == 0 and the relevant Allow Short Seqnos feature is 0,
         /* Packet has short seqnos, but short seqnos not allowed */
         Drop packet and return
      Otherwise, if P.X == 0,
         Extend P.seqno and P.ackno to 48 bits using the procedure
         in Section 7.6
      Let LSWL = S.SWL and LAWL = S.AWL
      If P.type == CloseReq or P.type == Close or P.type == Reset,
         LSWL := S.GSR + 1, LAWL := S.GAR
      If LSWL <= P.seqno <= S.SWH
            and (P.ackno does not exist or LAWL <= P.ackno <= S.AWH),
         Update S.GSR, S.SWL, S.SWH
         If P.type != Sync,
            Update S.GAR
      Otherwise,
         If P.type == Reset,
            Send Sync packet acknowledging S.GSR
         Otherwise,
            Send Sync packet acknowledging P.seqno
         Drop packet and return

Step 6: Check sequence numbers If P.X == 0 and the relevant Allow Short Seqnos feature is 0, /* Packet has short seqnos, but short seqnos not allowed */ Drop packet and return Otherwise, if P.X == 0, Extend P.seqno and P.ackno to 48 bits using the procedure in Section 7.6 Let LSWL = S.SWL and LAWL = S.AWL If P.type == CloseReq or P.type == Close or P.type == Reset, LSWL := S.GSR + 1, LAWL := S.GAR If LSWL <= P.seqno <= S.SWH and (P.ackno does not exist or LAWL <= P.ackno <= S.AWH), Update S.GSR, S.SWL, S.SWH If P.type != Sync, Update S.GAR Otherwise, If P.type == Reset, Send Sync packet acknowledging S.GSR Otherwise, Send Sync packet acknowledging P.seqno Drop packet and return

   Step 7: Check for unexpected packet types
      If (S.is_server and P.type == CloseReq)
           or (S.is_server and P.type == Response)
           or (S.is_client and P.type == Request)
           or (S.state >= OPEN and P.type == Request
               and P.seqno >= S.OSR)
           or (S.state >= OPEN and P.type == Response
               and P.seqno >= S.OSR)
           or (S.state == RESPOND and P.type == Data),
         Send Sync packet acknowledging P.seqno
         Drop packet and return

Step 7: Check for unexpected packet types If (S.is_server and P.type == CloseReq) or (S.is_server and P.type == Response) or (S.is_client and P.type == Request) or (S.state >= OPEN and P.type == Request and P.seqno >= S.OSR) or (S.state >= OPEN and P.type == Response and P.seqno >= S.OSR) or (S.state == RESPOND and P.type == Data), Send Sync packet acknowledging P.seqno Drop packet and return

   Step 8: Process options and mark acknowledgeable
      /* Option processing is not specifically described here.
         Certain options, such as Mandatory, may cause the connection
         to be reset, in which case Steps 9 and on are not executed */
      Mark packet as acknowledgeable (in Ack Vector terms, Received
           or Received ECN Marked)

Step 8: Process options and mark acknowledgeable /* Option processing is not specifically described here. Certain options, such as Mandatory, may cause the connection to be reset, in which case Steps 9 and on are not executed */ Mark packet as acknowledgeable (in Ack Vector terms, Received or Received ECN Marked)

   Step 9: Process Reset
      If P.type == Reset,
         Tear down connection
         S.state := TIMEWAIT
         Set TIMEWAIT timer
         Drop packet and return

Step 9: Process Reset If P.type == Reset, Tear down connection S.state := TIMEWAIT Set TIMEWAIT timer Drop packet and return

Kohler, et al.              Standards Track                    [Page 70]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

Kohler, et al. Standards Track [Page 70] RFC 4340 Datagram Congestion Control Protocol (DCCP) March 2006

   Step 10: Process REQUEST state (second part)
      If S.state == REQUEST,
         /* If we get here, P is a valid Response from the server (see
            Step 4), and we should move to PARTOPEN state.  PARTOPEN
            means send an Ack, don't send Data packets, retransmit
            Acks periodically, and always include any Init Cookie from
            the Response */
         S.state := PARTOPEN
         Set PARTOPEN timer
         Continue with S.state == PARTOPEN
         /* Step 12 will send the Ack completing the three-way
            handshake */

Step 10: Process REQUEST state (second part) If S.state == REQUEST, /* If we get here, P is a valid Response from the server (see Step 4), and we should move to PARTOPEN state. PARTOPEN means send an Ack, don't send Data packets, retransmit Acks periodically, and always include any Init Cookie from the Response */ S.state := PARTOPEN Set PARTOPEN timer Continue with S.state == PARTOPEN /* Step 12 will send the Ack completing the three-way handshake */

   Step 11: Process RESPOND state
      If S.state == RESPOND,
         If P.type == Request,
            Send Response, possibly containing Init Cookie
            If Init Cookie was sent,
               Destroy S and return
               /* Step 3 will create another socket when the client
                  completes the three-way handshake */
         Otherwise,
            S.OSR := P.seqno
            S.state := OPEN

Step 11: Process RESPOND state If S.state == RESPOND, If P.type == Request, Send Response, possibly containing Init Cookie If Init Cookie was sent, Destroy S and return /* Step 3 will create another socket when the client completes the three-way handshake */ Otherwise, S.OSR := P.seqno S.state := OPEN

   Step 12: Process PARTOPEN state
      If S.state == PARTOPEN,
         If P.type == Response,
            Send Ack
         Otherwise, if P.type != Sync,
            S.OSR := P.seqno
            S.state := OPEN

Step 12: Process PARTOPEN state If S.state == PARTOPEN, If P.type == Response, Send Ack Otherwise, if P.type != Sync, S.OSR := P.seqno S.state := OPEN

   Step 13: Process CloseReq
      If P.type == CloseReq and S.state < CLOSEREQ,
         Generate Close
         S.state := CLOSING
         Set CLOSING timer

Step 13: Process CloseReq If P.type == CloseReq and S.state < CLOSEREQ, Generate Close S.state := CLOSING Set CLOSING timer

   Step 14: Process Close
      If P.type == Close,
         Generate Reset(Closed)
         Tear down connection
         Drop packet and return

Step 14: Process Close If P.type == Close, Generate Reset(Closed) Tear down connection Drop packet and return

Kohler, et al.              Standards Track                    [Page 71]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

Kohler, et al. Standards Track [Page 71] RFC 4340 Datagram Congestion Control Protocol (DCCP) March 2006

   Step 15: Process Sync
      If P.type == Sync,
         Generate SyncAck

Step 15: Process Sync If P.type == Sync, Generate SyncAck

   Step 16: Process data
      /* At this point any application data on P can be passed to the
         application, except that the application MUST NOT receive
         data from more than one Request or Response */

ステップ16: 1RequestかResponse*/からの受信データではなく、ここのPに関するどんなアプリケーションデータもアプリケーションに通過できて、アプリケーションがそうしなければならないプロセスデータ/*

9.  Checksums

9. チェックサム

   DCCP uses a header checksum to protect its header against corruption.
   Generally, this checksum also covers any application data.  DCCP
   applications can, however, request that the header checksum cover
   only part of the application data, or perhaps no application data at
   all.  Link layers may then reduce their protection on unprotected
   parts of DCCP packets.  For some noisy links, and for applications
   that can tolerate corruption, this can greatly improve delivery rates
   and perceived performance.

DCCPは、不正に対してヘッダーを保護するのにヘッダーチェックサムを使用します。 一般に、また、このチェックサムはどんなアプリケーションデータもカバーしています。 しかしながら、DCCPアプリケーションは、ヘッダーチェックサムが全くアプリケーションデータにもかかわらず、恐らくアプリケーションデータがない一部だけをカバーするよう要求できます。 そして、リンクレイヤはDCCPパケットの保護のない一部で彼らの保護を抑えるかもしれません。 いくつかの騒がしいリンク、および不正を許容できるアプリケーションのために、これは配送率と知覚された性能を大いに向上させることができます。

   Checksum coverage may eventually impact congestion control mechanisms
   as well.  A packet with corrupt application data and complete
   checksum coverage is treated as lost.  This incurs a heavy-duty loss
   response from the sender's congestion control mechanism, which can
   unfairly penalize connections on links with high background
   corruption.  The combination of reduced checksum coverage and Data
   Checksum options may let endpoints report packets as corrupt rather
   than dropped, using Data Dropped options and Drop Code 3 (see Section
   11.7).  This may eventually benefit applications.  However, further
   research is required to determine an appropriate response to
   corruption, which can sometimes correlate with congestion.  Corrupt
   packets currently incur a loss response.

チェックサム適用範囲は結局、また、混雑制御機構に影響を与えるかもしれません。 間違ったアプリケーションデータと完全なチェックサム適用範囲があるパケットは失われているように扱われます。 これは送付者の混雑制御機構から強力損失応答を被ります。(不公平に、それは、高いバックグラウンド不正とのリンクの上に接続を罰することができます)。 減少しているチェックサム適用範囲とData Checksumオプションの組み合わせは終点に低下するよりパケットが不正であるとむしろ報告させるかもしれません、Data DroppedオプションとDrop Code3を使用して(セクション11.7を見てください)。 これは結局、アプリケーションのためになるかもしれません。 しかしながら、さらなる研究が、時々混雑と互いに関連することができる不正への適切な応答を決定するのに必要です。 不正なパケットは現在、損失応答を被ります。

   The Data Checksum option, which contains a strong CRC, lets endpoints
   detect application data corruption.  An API can then be used to avoid
   delivering corrupt data to the application, even if links deliver
   corrupt data to the endpoint due to reduced checksum coverage.
   However, the use of reduced checksum coverage for applications that
   demand correct data is currently considered experimental.  This is
   because the combined loss-plus-corruption rate for packets with
   reduced checksum coverage may be significantly higher than that for
   packets with full checksum coverage, although the loss rate will
   generally be lower.  Actual behavior will depend on link design;
   further research and experience is required.

Data Checksumオプション(強いCRCを含む)で、終点はアプリケーションデータの汚染を検出します。 次に、間違ったデータをアプリケーションに提供するのを避けるのにAPIを使用できます、リンクが減少しているチェックサム適用範囲のため間違ったデータを終点に提供しても。 しかしながら、減少しているチェックサム適用範囲の正しいデータを要求するアプリケーションの使用は現在、実験的であると考えられます。 これは減少しているチェックサム適用範囲があるパケットの結合した損失と不正率が完全なチェックサム適用範囲があるパケットのためのそれよりかなり高いかもしれないからです、損失率は一般に低いでしょうが。 実際の振舞いはリンクデザインによるでしょう。 さらなる研究と経験が必要です。

   Reduced checksum coverage introduces some security considerations;
   see Section 18.1.  See Appendix B for further motivation and

減少しているチェックサム適用範囲はいくつかのセキュリティ問題を紹介します。 セクション18.1を見てください。 そしてさらなる動機に関してAppendix Bを見てください。

Kohler, et al.              Standards Track                    [Page 72]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[72ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   discussion.  DCCP's implementation of reduced checksum coverage was
   inspired by UDP-Lite [RFC3828].

議論。 DCCPの減少しているチェックサム適用範囲の実装はUDP-Lite[RFC3828]によって奮い立たせられました。

9.1.  Header Checksum Field

9.1. ヘッダーチェックサム分野

   DCCP uses the TCP/IP checksum algorithm.  The Checksum field in the
   DCCP generic header (see Section 5.1) equals the 16-bit one's
   complement of the one's complement sum of all 16-bit words in the
   DCCP header, DCCP options, a pseudoheader taken from the network-
   layer header, and, depending on the value of the Checksum Coverage
   field, some or all of the application data.  When calculating the
   checksum, the Checksum field itself is treated as 0.  If a packet
   contains an odd number of header and payload bytes to be checksummed,
   8 zero bits are added on the right to form a 16-bit word for checksum
   purposes.  The pad byte is not transmitted as part of the packet.

DCCPはTCP/IPチェックサムアルゴリズムを使用します。 DCCPジェネリックヘッダー(セクション5.1を見る)のChecksum分野はDCCPヘッダーでのすべての16ビットの単語の1の補数合計の16ビットの1の補数と等しいです、DCCPオプション、そしてアプリケーションデータのChecksum Coverage分野の値、いくつかまたはすべてによって、ネットワーク層のヘッダーから取られたpseudoheader。 チェックサムについて計算するとき、Checksum分野自体は0として扱われます。 パケットがchecksummedされるべきヘッダーとペイロードバイトの奇数を含んでいるなら、8ゼロ・ビットがチェックサム目的に対する16ビットの単語を形成する権利で加えられます。 パッドバイトはパケットの一部として伝えられません。

   The pseudoheader is calculated as for TCP.  For IPv4, it is 96 bits
   long and consists of the IPv4 source and destination addresses, the
   IP protocol number for DCCP (padded on the left with 8 zero bits),
   and the DCCP length as a 16-bit quantity (the length of the DCCP
   header with options, plus the length of any data); see [RFC793],
   Section 3.1.  For IPv6, it is 320 bits long, and consists of the IPv6
   source and destination addresses, the DCCP length as a 32-bit
   quantity, and the IP protocol number for DCCP (padded on the left
   with 24 zero bits); see [RFC2460], Section 8.1.

pseudoheaderはTCPのように計算されます。 IPv4に関しては、長さ96ビットであり、IPv4ソースと送付先アドレス、DCCP(左では、8ゼロ・ビットで、そっと歩く)のIPプロトコル番号、および16ビットの量としてのDCCPの長さから成ります(オプションがあるDCCPヘッダーの長さ、およびどんなデータの長さも)。 [RFC793]、セクション3.1を見てください。 IPv6に関しては、長さ320ビットであり、IPv6ソースと送付先アドレス、32ビットの量としてのDCCPの長さ、およびDCCP(左では、24ゼロ・ビットで、そっと歩く)のIPプロトコル番号から成ります。 [RFC2460]、セクション8.1を見てください。

   Packets with invalid header checksums MUST be ignored.  In
   particular, their options MUST NOT be processed.

無効のヘッダーチェックサムがあるパケットを無視しなければなりません。 特に、彼らのオプションを処理してはいけません。

9.2.  Header Checksum Coverage Field

9.2. ヘッダーチェックサム適用範囲分野

   The Checksum Coverage field in the DCCP generic header (see Section
   5.1) specifies what parts of the packet are covered by the Checksum
   field, as follows:

DCCPジェネリックヘッダー(セクション5.1を見る)のChecksum Coverage分野は、パケットのどんな一部がChecksum分野でカバーされているかを指定します、以下の通りです:

   CsCov = 0      The Checksum field covers the DCCP header, DCCP
                  options, network-layer pseudoheader, and all
                  application data in the packet, possibly padded on the
                  right with zeros to an even number of bytes.

ChecksumがさばくCsCov=0はパケットのDCCPヘッダー、DCCPオプション、ネットワーク層pseudoheader、およびすべてのアプリケーションデータを含んでいます、ことによると右でバイトの偶数へのゼロでそっと歩きます。

   CsCov = 1-15   The Checksum field covers the DCCP header, DCCP
                  options, network-layer pseudoheader, and the initial
                  (CsCov-1)*4 bytes of the packet's application data.

ChecksumがさばくCsCov=1-15はDCCPヘッダー(パケットのDCCPオプション、ネットワーク層pseudoheader、および初期の(CsCov-1)*4バイトのアプリケーションデータ)をカバーしています。

   Thus, if CsCov is 1, none of the application data is protected by the
   header checksum.  The value (CsCov-1)*4 MUST be less than or equal to
   the length of the application data.  Packets with invalid CsCov
   values MUST be ignored; in particular, their options MUST NOT be

したがって、CsCovが1歳であるなら、アプリケーションデータのいずれもヘッダーチェックサムによって保護されません。 値(CsCov-1)の*4はアプリケーションデータの、より長さ以下であるに違いありません。 無効のCsCov値があるパケットを無視しなければなりません。 彼らのオプションは特に、そうであるはずがありません。

Kohler, et al.              Standards Track                    [Page 73]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[73ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   processed.  The meanings of values other than 0 and 1 should be
   considered experimental.

処理にされる。 0と1以外の値の意味は実験的であると考えられるべきです。

   Values other than 0 specify that corruption is acceptable in some or
   all of the DCCP packet's application data.  In fact, DCCP cannot even
   detect corruption in areas not covered by the header checksum, unless
   the Data Checksum option is used.  Applications should not make any
   assumptions about the correctness of received data not covered by the
   checksum and should, if necessary, introduce their own validity
   checks.

0以外の値は、不正がDCCPパケットのアプリケーションデータのいくつかかすべてで許容できると指定します。 事実上、DCCPはヘッダーチェックサムでカバーされなかった領域に不正を検出さえできません、Data Checksumオプションが使用されていない場合。 アプリケーションは、チェックサムでカバーされなかった受信データの正当性に関する少しの仮定もするべきでなくて、必要なら、それら自身のバリディティチェックを導入するべきです。

   A DCCP application interface should let sending applications suggest
   a value for CsCov for sent packets, defaulting to 0 (full coverage).
   The Minimum Checksum Coverage feature, described below, lets an
   endpoint refuse delivery of application data on packets with partial
   checksum coverage; by default, only fully covered application data is
   accepted.  Lower layers that support partial error detection MAY use
   the Checksum Coverage field as a hint of where errors do not need to
   be detected.  Lower layers MUST use a strong error detection
   mechanism to detect at least errors that occur in the sensitive part
   of the packet, and to discard damaged packets.  The sensitive part
   consists of the bytes between the first byte of the IP header and the
   last byte identified by Checksum Coverage.

送付アプリケーションはCsCovのために送られたパケットのためにDCCPアプリケーション・インターフェースで値を示すべきです、0(完全適用範囲)をデフォルトとして。 以下で説明されたMinimum Checksum Coverageの特徴は部分的なチェックサム適用範囲でパケットにおけるアプリケーションデータの終点廃物配送をさせます。 デフォルトで、そして、完全だけにカバーされたアプリケーションデータを受け入れます。 部分誤差が検出であるとサポートする下層は誤りが検出される必要はないところに関するヒントとしてChecksum Coverage分野を使用するかもしれません。 下層は、少なくともパケットの敏感な一部に発生する誤りを検出して、破損しているパケットを捨てるのに強い誤り検出メカニズムを使用しなければなりません。 敏感な部分はIPヘッダーの最初のバイトとChecksum Coverageによって特定された最後のバイトの間のバイトから成ります。

   For more details on application and lower-layer interface issues
   relating to partial checksumming, see [RFC3828].

アプリケーションに関するその他の詳細と部分的なchecksummingに関連する下層インタフェース問題に関しては、[RFC3828]を見てください。

9.2.1.  Minimum Checksum Coverage Feature

9.2.1. 最小のチェックサム適用範囲機能

   The Minimum Checksum Coverage feature lets a DCCP endpoint determine
   whether its peer is willing to accept packets with reduced Checksum
   Coverage.  For example, DCCP A sends a "Change R(Minimum Checksum
   Coverage, 1)" option to DCCP B to check whether B is willing to
   accept packets with Checksum Coverage set to 1.

Minimum Checksum Coverageの特徴で、DCCP終点は、同輩が、減少しているChecksum Coverageと共にパケットを受け入れても構わないと思っているかどうか決定します。 例えば、DCCP Aは、Bが、1に用意ができているChecksum Coverageと共にパケットを受け入れても構わないと思っているかどうかチェックするために「変化R(最小のチェックサム適用範囲、1)」オプションをDCCP Bに送ります。

   Minimum Checksum Coverage has feature number 8 and is server-
   priority.  It takes one-byte integer values between 0 and 15; values
   of 16 or more are reserved.  Minimum Checksum Coverage/B reflects
   values of Checksum Coverage that DCCP B finds unacceptable.  Say that
   the value of Minimum Checksum Coverage/B is MinCsCov.  Then:

最小のChecksum Coverageは特徴No.8を持って、サーバ優先権です。 それは1バイトの整数値を0と15の間に取ります。 16以上の値は予約されています。 最小限Checksum Coverage/BはDCCP Bが容認できないのがわかるChecksum Coverageの値を反映します。 Minimum Checksum Coverage/Bの値がMinCsCovであると言ってください。 その時:

   o  If MinCsCov = 0, then DCCP B only finds packets with CsCov = 0
      acceptable.

o MinCsCov=0であるなら、CsCov=0が許容できていた状態で、DCCP Bはパケットを見つけるだけです。

   o  If MinCsCov > 0, then DCCP B additionally finds packets with
      CsCov >= MinCsCov acceptable.

o MinCsCov>0であるなら、CsCov>=MinCsCovが許容できていた状態で、DCCP Bはさらに、パケットを見つけます。

Kohler, et al.              Standards Track                    [Page 74]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[74ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   DCCP B MAY refuse to process application data from packets with
   unacceptable Checksum Coverage.  Such packets SHOULD be reported
   using Data Dropped options (Section 11.7) with Drop Code 0, Protocol
   Constraints.  New connections start with Minimum Checksum Coverage 0
   for both endpoints.

DCCP Bは、容認できないChecksum Coverageと共にパケットでアプリケーションデータを処理するのを拒否するかもしれません。 そのようなパケットSHOULD、プロトコルConstraints、Drop Code0とのData Droppedオプション(セクション11.7)を使用することで、報告されてください。 新しい接続は両方の終点にMinimum Checksum Coverage0から始まります。

9.3.  Data Checksum Option

9.3. データチェックサムオプション

   The Data Checksum option holds a 32-bit CRC-32c cyclic redundancy-
   check code of a DCCP packet's application data.

Data ChecksumオプションはDCCPパケットのアプリケーションデータの32ビットのCRC-32c周期的な冗長検査符号を保持します。

   +--------+--------+--------+--------+--------+--------+
   |00101100|00000110|              CRC-32c              |
   +--------+--------+--------+--------+--------+--------+
    Type=44  Length=6

+--------+--------+--------+--------+--------+--------+ |00101100|00000110| CRC-32c| +--------+--------+--------+--------+--------+--------+ タイプ=44長さ=の6

   The sending DCCP computes the CRC of the bytes comprising the
   application data area and stores it in the option data.  The CRC-32c
   algorithm used for Data Checksum is the same as that used for SCTP
   [RFC3309]; note that the CRC-32c of zero bytes of data equals zero.
   The DCCP header checksum will cover the Data Checksum option, so the
   data checksum must be computed before the header checksum.

発信しているDCCPはアプリケーションデータ領域を包括するバイトのCRCを計算して、オプションデータにそれを保存します。 Data Checksumに使用されるCRC-32cアルゴリズムはSCTP[RFC3309]に使用されるそれと同じです。 データのバイトがないCRC-32cがゼロと等しいことに注意してください。 DCCPヘッダーチェックサムがData Checksumオプションをカバーするので、ヘッダーチェックサムの前にデータチェックサムを計算しなければなりません。

   A DCCP endpoint receiving a packet with a Data Checksum option either
   MUST or MAY check the Data Checksum; the choice depends on the value
   of the Check Data Checksum feature described below.  If it checks the
   checksum, it computes the received application data's CRC-32c using
   the same algorithm as the sender and compares the result with the
   Data Checksum value.  If the CRCs differ, the endpoint reacts in one
   of two ways:

Data Checksumオプションでパケットを受けるDCCP終点は、チェックしなければならないか、またはData Checksumをチェックするかもしれません。 この選択は以下で説明されたCheck Data Checksumの特徴の値の次第です。 チェックサムをチェックするなら、それは、送付者と同じアルゴリズムを使用することで受信されたアプリケーションデータのCRC-32cを計算して、Data Checksum値と結果を比べます。 CRCsが異なるなら、終点は2つの方法の1つで反応します:

   o  The receiving application may have requested delivery of known-
      corrupt data via some optional API.  In this case, the packet's
      data MUST be delivered to the application, with a note that it is
      known to be corrupt.  Furthermore, the receiving endpoint MUST
      report the packet as delivered corrupt using a Data Dropped option
      (Drop Code 7, Delivered Corrupt).

o 受信アプリケーションはいくつかの任意のAPIを通して知られている間違ったデータの配送を要求したかもしれません。 この場合、パケットのデータをアプリケーションに提供しなければなりません、不正であることが知られているというメモで。 その上、Data Droppedオプションを使用して、受信終点は、提供されるとしてのパケットが不正であると報告しなければなりません(Code7を下げてください、Delivered Corrupt)。

   o  Otherwise, the receiving endpoint MUST drop the application data
      and report that data as dropped due to corruption using a Data
      Dropped option (Drop Code 3, Corrupt).

o さもなければ、受信終点は、不正のためData Droppedオプションを使用することで下げられるようにアプリケーションデータを下げて、そのデータを報告しなければなりません(Code3を下げてください、Corrupt)。

   In either case, the packet is considered acknowledgeable (since its
   header was processed) and will therefore be acknowledged using the
   equivalent of Ack Vector's Received or Received ECN Marked states.

どちらの場合ではも、パケットは、承認可能であると考えられて(ヘッダーが処理されたので)、したがって、電子証券取引ネットワークMarkedが述べるAck VectorのReceivedかReceivedの同等物を使用することで認められるでしょう。

   Although Data Checksum is intended for packets containing application
   data, it may be included on other packets, such as DCCP-Ack, DCCP-

Data Checksumはアプリケーションデータを含むパケットのために意図しますが、それは他のパケットの上に含まれるかもしれません、DCCP-Ackなどのように、DCCP

Kohler, et al.              Standards Track                    [Page 75]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[75ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Sync, and DCCP-SyncAck.  The receiver SHOULD calculate the
   application data area's CRC-32c on such packets, just as it does for
   DCCP-Data and similar packets.  If the CRCs differ, the packets
   similarly MUST be reported using Data Dropped options (Drop Code 3),
   although their application data areas would not be delivered to the
   application in any case.

同時性、およびDCCP-SyncAck。 受信機SHOULDはそのようなパケットの上でアプリケーションデータ領域のCRC-32cについて計算します、ちょうどDCCP-データと同様のパケットのためにするように。 CRCsが異なるなら、Data Droppedオプションを使用して、同様にパケットを報告しなければなりません(Code3を下げてください)、それらのアプリケーションデータ領域はどのような場合でもアプリケーションに提供されないでしょうが。

9.3.1.  Check Data Checksum Feature

9.3.1. チェックデータチェックサム機能

   The Check Data Checksum feature lets a DCCP endpoint determine
   whether its peer will definitely check Data Checksum options.  DCCP A
   sends a Mandatory "Change R(Check Data Checksum, 1)" option to DCCP B
   to require it to check Data Checksum options (the connection will be
   reset if it cannot).

Check Data Checksumの特徴で、DCCP終点は、同輩が確実にData Checksumオプションをチェックするかどうか決定します。 DCCP Aは、Data Checksumオプションをチェックするためにそれを必要とするようにMandatory「変化R(データチェックサム、1をチェックします)」オプションをDCCP Bに送ります(リセットできないと、接続はリセットされるでしょう)。

   Check Data Checksum has feature number 9 and is server-priority.  It
   takes one-byte Boolean values.  DCCP B MUST check any received Data
   Checksum options when Check Data Checksum/B is one, although it MAY
   check them even when Check Data Checksum/B is zero.  Values of two or
   more are reserved.  New connections start with Check Data Checksum 0
   for both endpoints.

チェックData Checksumは特徴No.9を持って、サーバ優先権です。 それは1バイトのブール値を取ります。 Check Data Checksum/Bが1であるときに、DCCP Bはどんな容認されたData Checksumオプションもチェックしなければなりません、Check Data Checksum/Bがゼロでさえあるときに、それらをチェックするかもしれませんが。 2以上の値は予約されています。 新しい接続は両方の終点にCheck Data Checksum0から始まります。

9.3.2.  Checksum Usage Notes

9.3.2. チェックサム使用上の注意

   Internet links must normally apply strong integrity checks to the
   packets they transmit [RFC3828, RFC3819].  This is the default case
   when the DCCP header's Checksum Coverage value equals zero (full
   coverage).  However, the DCCP Checksum Coverage value might not be
   zero.  By setting partial Checksum Coverage, the application
   indicates that it can tolerate corruption in the unprotected part of
   the application data.  Recognizing this, link layers may reduce error
   detection and/or correction strength when transmitting this
   unprotected part.  This, in turn, can significantly increase the
   likelihood of the endpoint's receiving corrupt data; Data Checksum
   lets the receiver detect that corruption with very high probability.

通常、インターネットリンクは彼らが伝えるパケット[RFC3828、RFC3819]に強い保全チェックを適用しなければなりません。 DCCPヘッダーのChecksum Coverage値がゼロ(完全適用範囲)と等しいときに、これは不履行格です。 しかしながら、DCCP Checksum Coverage値はゼロでないかもしれません。 部分的なChecksum Coverageを設定することによって、アプリケーションは、アプリケーションデータの保護のない部分に不正を許容できるのを示します。 この保護のない部分を伝えるとき、これを認識する場合、リンクレイヤは誤り検出、そして/または、修正の強さを減少させるかもしれません。 これは順番に、終点が間違ったデータを受け取る可能性をかなり広げることができます。 データChecksumは受信機に非常に高い確率でその不正を検出させます。

10.  Congestion Control

10. 輻輳制御

   Each congestion control mechanism supported by DCCP is assigned a
   congestion control identifier, or CCID: a number from 0 to 255.
   During connection setup, and optionally thereafter, the endpoints
   negotiate their congestion control mechanisms by negotiating the
   values for their Congestion Control ID features.  Congestion Control
   ID has feature number 1.  The CCID/A value equals the CCID in use for
   the A-to-B half-connection.  DCCP B sends a "Change R(CCID, K)"
   option to ask DCCP A to use CCID K for its data packets.

輻輳制御識別子、またはCCIDがDCCPによってサポートされたそれぞれの混雑制御機構に割り当てられます: 0〜255までの数。 接続の間、セットアップしてください。そうすれば、その後、任意に、終点は、それらのCongestion Control IDの特徴のために値を交渉することによって、それらの混雑制御機構を交渉します。 混雑Control IDには、特徴No.1があります。 値がCCIDと等しいCCID/はAからBに半分接続を使用します。 DCCP Bは、データ・パケットにCCID Kを使用するようにDCCP Aに頼むために「変化R(CCID、K)」オプションを送ります。

Kohler, et al.              Standards Track                    [Page 76]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[76ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   CCID is a server-priority feature, so CCID negotiation options can
   list multiple acceptable CCIDs, sorted in descending order of
   priority.  For example, the option "Change R(CCID, 2 3 4)" asks the
   receiver to use CCID 2 for its packets, although CCIDs 3 and 4 are
   also acceptable.  (This corresponds to the bytes "35, 6, 1, 2, 3, 4":
   Change R option (35), option length (6), feature ID (1), CCIDs (2, 3,
   4).)  Similarly, "Confirm L(CCID, 2, 2 3 4)" tells the receiver that
   the sender is using CCID 2 for its packets, but that CCIDs 3 and 4
   might also be acceptable.

CCIDがサーバ優先権機能であるので、CCID交渉オプションは優先権の降順で分類された複数の許容できるCCIDsを記載できます。 例えば、オプション「変化R(CCID、2 3 4)」は、パケットにCCID2を使用するように受信機に頼みます、また、CCIDs3と4も許容できますが。 (これはバイト「35、6、1、2、3(4インチ: 変化Rオプション(35)、オプションの長さ(6))はID(1)を特集します、CCIDs(2、3、4)」に対応しています。 同様に、「L(CCID、2、2 3 4)を確認してください」は、送付者がパケットにCCID2を使用していますが、また、CCIDs3と4が許容できるかもしれないと受信機に言います。

   Currently allocated CCIDs are as follows:

現在割り当てられたCCIDsは以下の通りです:

           CCID   Meaning                      Reference
           ----   -------                      ---------
            0-1   Reserved
             2    TCP-like Congestion Control  [RFC4341]
             3    TCP-Friendly Rate Control    [RFC4342]
           4-255  Reserved

CCID意味参照---- ------- --------- 0-1 [RFC4341]3TCPに優しい速度制御[RFC4342]4-255が控えた予約された2TCPのような輻輳制御

           Table 5: DCCP Congestion Control Identifiers

テーブル5: DCCP輻輳制御識別子

   New connections start with CCID 2 for both endpoints.  If this is
   unacceptable for a DCCP endpoint, that endpoint MUST send Mandatory
   Change(CCID) options on its first packets.

新しい接続は両方の終点にCCID2から始まります。 DCCP終点に、これが容認できないなら、その終点は最初のパケットでMandatory Change(CCID)にオプションを送らなければなりません。

   All CCIDs standardized for use with DCCP will correspond to
   congestion control mechanisms previously standardized by the IETF.
   We expect that for quite some time, all such mechanisms will be TCP
   friendly, but TCP-friendliness is not an explicit DCCP requirement.

DCCPとの使用のために標準化されたすべてのCCIDsが以前にIETFによって標準化された混雑制御機構に対応するでしょう。 私たちは、長い間そのようなすべてのメカニズムがTCP好意的になると予想しますが、TCP-友情は明白なDCCP要件ではありません。

   A DCCP implementation intended for general use, such as an
   implementation in a general-purpose operating system kernel, SHOULD
   implement at least CCID 2.  The intent is to make CCID 2 broadly
   available for interoperability, although particular applications
   might disallow its use.

汎用オペレーティングシステムカーネルにおける実装などの一般的使用のために意図するDCCP実装、SHOULDは少なくともCCID2を実装します。 特定用途は使用を禁じるかもしれませんが、意図はCCID2を相互運用性に広く利用可能にすることです。

10.1.  TCP-like Congestion Control

10.1. TCPのような輻輳制御

   CCID 2, TCP-like Congestion Control, denotes Additive Increase,
   Multiplicative Decrease (AIMD) congestion control with behavior
   modelled directly on TCP, including congestion window, slow start,
   timeouts, and so forth [RFC2581].  CCID 2 achieves maximum bandwidth
   over the long term, consistent with the use of end-to-end congestion
   control, but halves its congestion window in response to each
   congestion event.  This leads to the abrupt rate changes typical of
   TCP.  Applications should use CCID 2 if they prefer maximum bandwidth
   utilization to steadiness of rate.  This is often the case for
   applications that are not playing their data directly to the user.

CCID2(TCPのようなCongestion Control)はAdditive Increaseを指示します、振舞いが直接TCPでモデル化されているMultiplicative Decrease(AIMD)輻輳制御、混雑ウィンドウ、遅れた出発、タイムアウトなど[RFC2581]を含んでいて。 CCID2は終わりからエンドへの輻輳制御の使用と一致した長期の間最大の帯域幅を達成しますが、それぞれの混雑出来事に対応して混雑ウィンドウを半分にします。 これはTCPの典型の突然のレート変化に通じます。 彼らがレートの一定性より最大の帯域幅利用を好むなら、アプリケーションはCCID2を使用するべきです。 しばしばこれは直接ユーザにそれらのデータをプレーしていないアプリケーションのためのそうです。

Kohler, et al.              Standards Track                    [Page 77]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[77ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   For example, a hypothetical application that transferred files over
   DCCP, using application-level retransmissions for lost packets, would
   prefer CCID 2 to CCID 3.  On-line games may also prefer CCID 2.

例えば、無くなっているパケットにアプリケーションレベル「再-トランスミッション」を使用して、DCCPの上にファイルを移した仮定しているアプリケーションはCCID3よりCCID2を好むでしょう。 また、オンラインゲームはCCID2を好むかもしれません。

   CCID 2 is further described in [RFC4341].

CCID2は[RFC4341]でさらに説明されます。

10.2.  TFRC Congestion Control

10.2. TFRC輻輳制御

   CCID 3 denotes TCP-Friendly Rate Control (TFRC), an equation-based
   rate-controlled congestion control mechanism.  TFRC is designed to be
   reasonably fair when competing for bandwidth with TCP-like flows,
   where a flow is "reasonably fair" if its sending rate is generally
   within a factor of two of the sending rate of a TCP flow under the
   same conditions.  However, TFRC has a much lower variation of
   throughput over time compared with TCP, which makes CCID 3 more
   suitable than CCID 2 for applications such as streaming media where a
   relatively smooth sending rate is important.

CCID3はTCP好意的なRate Control(TFRC)、方程式ベースのレートで制御された混雑制御機構を指示します。 TCPのような流れを伴う帯域幅(一般にTCP流動の2つの送付速度の要素の中に送付レートが同じ状態であるなら、流れは「合理的に公正である」)を競争するとき、TFRCは、合理的に公正になるように設計されます。 しかしながら、TFRCは時間がたつにつれて、スループットのはるかに低い変化をTCPと比較させます。(TCPはCCID3をCCID2より比較的滑らかな送付レートが重要であるストリーミング・メディアなどのアプリケーションに適するようにします)。

   CCID 3 is further described in [RFC4342].  The TFRC congestion
   control algorithms were initially described in [RFC3448].

CCID3は[RFC4342]でさらに説明されます。 TFRC輻輳制御アルゴリズムは初めは、[RFC3448]で説明されました。

10.3.  CCID-Specific Options, Features, and Reset Codes

10.3. CCID特有のオプション、特徴、およびリセットコード

   Half of the option types, feature numbers, and Reset Codes are
   reserved for CCID-specific use.  CCIDs may often need new options,
   for communicating acknowledgement or rate information, for example;
   reserved option spaces let CCIDs create options at will without
   polluting the global option space.  Option 128 might have different
   meanings on a half-connection using CCID 4 and a half-connection
   using CCID 8.  CCID-specific options and features will never conflict
   with global options and features introduced by later versions of this
   specification.

オプションタイプ、特徴番号、および半分のReset CodesはCCID-特定的用法のために予約されます。 CCIDsはしばしば承認を伝えるための新しいオプションか例えばレート情報を必要とするかもしれません。 予約されたオプション空間で、グローバルなオプションスペースを汚染しないで、CCIDsはオプションを自由自在に作成します。 オプション128は、CCID8を使用することでCCID4と半分接続を使用することで半分接続に異なった意味を持っているかもしれません。 CCID特有のオプションと特徴はこの仕様の後のバージョンによって紹介されるグローバルなオプションと特徴と決して闘争しないでしょう。

   Any packet may contain information meant for either half-connection,
   so CCID-specific option types, feature numbers, and Reset Codes
   explicitly signal the half-connection to which they apply.

どんなパケットも半分接続のために意味された情報を含むかもしれません、ととてもCCID特有のオプションはタイプします、特徴番号、そして、Reset Codesが明らかに、彼らが適用する半分接続に合図します。

   o  Option numbers 128 through 191 are for options sent from the
      HC-Sender to the HC-Receiver; option numbers 192 through 255 are
      for options sent from the HC-Receiver to the HC-Sender.

o オプションNo.128〜191はHC-送付者からHC-受信機に送られたオプションのためのものです。 オプションNo.192〜255はHC-受信機からHC-送付者に送られたオプションのためのものです。

   o  Reset Codes 128 through 191 indicate that the HC-Sender reset the
      connection (most likely because of some problem with
      acknowledgements sent by the HC-Receiver).  Reset Codes 192
      through 255 indicate that the HC-Receiver reset the connection
      (most likely because of some problem with data packets sent by the
      HC-Sender).

o リセットCodes128〜191は、HC-送付者が接続(たぶんHC-受信機で送る承認に関する何らかの問題による)をリセットしたのを示します。 リセットCodes192〜255は、HC-受信機が接続(たぶんHC-送付者によって送られるデータ・パケットに関する何らかの問題による)をリセットしたのを示します。

Kohler, et al.              Standards Track                    [Page 78]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[78ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   o  Finally, feature numbers 128 through 191 are used for features
      located at the HC-Sender; feature numbers 192 through 255 are for
      features located at the HC-Receiver.  Since Change L and Confirm L
      options for a feature are sent by the feature location, we know
      that any Change L(128) option was sent by the HC-Sender, while any
      Change L(192) option was sent by the HC-Receiver.  Similarly,
      Change R(128) options are sent by the HC-Receiver, while Change
      R(192) options are sent by the HC-Sender.

o 最終的に、特徴No.128〜191はHC-送付者に位置する特徴に使用されます。 私たちは、特徴位置で特徴のためのChange LとConfirm Lオプションを送るので、どんなChange L(128)オプションもHC-送付者によって送られたのを知っています、どんなChange L(192)オプションもHC-Receiverによって送られましたが。同様に、HC-受信機でChange R(128)オプションを送ります、Change R(192)オプションはHC-送付者によって送られますが。特徴No.192〜255はHC-Receiverに位置する特徴のためのものです。

   For example, consider a DCCP connection where the A-to-B half-
   connection uses CCID 4 and the B-to-A half-connection uses CCID 5.
   Here is how a sampling of CCID-specific options are assigned to
   half-connections.

例えば、半分接続が使用するAからBへのCCID4とBからAとの半分接続がCCID5を使用するところでDCCP接続を考えてください。 ここに、CCID特有のオプションの標本抽出がどう半分接続に割り当てられるかがあります。

                                   Relevant    Relevant
        Packet  Option             Half-conn.  CCID
        ------  ------             ----------  ----
        A > B   128                  A-to-B     4
        A > B   192                  B-to-A     5
        A > B   Change L(128, ...)   A-to-B     4
        A > B   Change R(192, ...)   A-to-B     4
        A > B   Confirm L(128, ...)  A-to-B     4
        A > B   Confirm R(192, ...)  A-to-B     4
        A > B   Change R(128, ...)   B-to-A     5
        A > B   Change L(192, ...)   B-to-A     5
        A > B   Confirm R(128, ...)  B-to-A     5
        A > B   Confirm L(192, ...)  B-to-A     5
        B > A   128                  B-to-A     5
        B > A   192                  A-to-B     4
        B > A   Change L(128, ...)   B-to-A     5
        B > A   Change R(192, ...)   B-to-A     5
        B > A   Confirm L(128, ...)  B-to-A     5
        B > A   Confirm R(192, ...)  B-to-A     5
        B > A   Change R(128, ...)   A-to-B     4
        B > A   Change L(192, ...)   A-to-B     4
        B > A   Confirm R(128, ...)  A-to-B     4
        B > A   Confirm L(192, ...)  A-to-B     4

関連関連パケットオプションHalfコン。 CCID------ ------ ---------- ---- >B128AからBへの4A>B192BからAへの5A>B変化L(128、…) AからBへの4A>B変化R(192、…) AからBへの4A>BはL(128、…)を確認します。 AからBへの4A>BはR(192、…)を確認します。 AからBへの4A>B変化R(128、…) BからAへの5A>B変化L(192、…) BからAへの5A>BはR(128、…)を確認します。 BからAへの5A>BはL(192、…)を確認します。 BからAへの5B>A128BからAへの5B>A192AからBへの4B>A変化L(128、…) BからAへの5B>A変化R(192、…) BからAへの5B>AはL(128、…)を確認します。 BからAへの5B>AはR(192、…)を確認します。 BからAへの5B>A変化R(128、…) AからBへの4B>A変化L(192、…) AからBへの4B>AはR(128、…)を確認します。 AからBへの4B>AはL(192、…)を確認します。 AからBへの4

   Using CCID-specific options and feature options during a negotiation
   for the corresponding CCID feature is NOT RECOMMENDED, since it is
   difficult to predict which CCID will be in force when the option is
   processed.  For example, if a DCCP-Request contains the option
   sequence "Change L(CCID, 3), 128", the CCID-specific option "128" may
   be processed either by CCID 3 (if the server supports CCID 3) or by
   the default CCID 2 (if it does not).  However, it is safe to include
   CCID-specific options following certain Mandatory Change(CCID)

対応するCCIDの特徴に交渉の間、CCID特有のオプションと特徴オプションを使用するのは、NOT RECOMMENDEDです、オプションが処理されるとき、どのCCIDが有効になるかを予測するのが難しいので。 例えば、DCCP-要求がオプション系列を含んでいるなら、CCID特有のオプション「128」は「変化L(CCID、3)、128」とそうします。CCID3(サーバがCCID3を支持するなら)かデフォルトCCID2によって処理されてください(そうしないなら)。 しかしながら、あるMandatory Changeに続くCCID特有のオプションを含んでいるのは安全です。(CCID)

Kohler, et al.              Standards Track                    [Page 79]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[79ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   options.  For example, if a DCCP-Request contains the option sequence
   "Mandatory, Change L(CCID, 3), 128", then either the "128" option
   will be processed by CCID 3 or the connection will be reset.

オプション。 例えば、DCCP-要求がオプション系列を含んでいると、「義務的です、L(CCID、3)、128を変えてください」、そして「128」オプションがCCID3が処理されるだろうか、または接続はリセットされるでしょう。

   Servers that do not implement the default CCID 2 might nevertheless
   receive CCID 2-specific options on a DCCP-Request packet.  (Such a
   server MUST send Mandatory Change(CCID) options on its DCCP-Response,
   so CCID-specific options on any other packet won't refer to CCID 2.)
   The server MUST treat such options as non-understood.  Thus, it will
   reset the connection on encountering a Mandatory CCID-specific option
   or feature negotiation request, send an empty Confirm for a non-
   Mandatory Change option for a CCID-specific feature, and ignore other
   CCID-specific options.

それにもかかわらずCCID2がそうするかもしれないデフォルトを実行しないサーバがDCCP-リクエスト・パケットの上にCCIDの2特有のオプションを受け取ります。 (そのようなサーバはDCCP-応答のときにMandatory Change(CCID)にオプションを送らなければなりません、いかなる他のパケットにおけるオプションがCCID2について言及しないように、CCIDとても特有です。) サーバは非理解されるようなオプションを扱わなければなりません。 したがって、それは、Mandatory CCID特有のオプションか特徴交渉要求に遭遇するとき接続をリセットして、CCID特有の特徴のための非義務的なChangeオプションのために空のConfirmを送って、他のCCID特有のオプションを無視するでしょう。

10.4.  CCID Profile Requirements

10.4. CCIDプロフィール要件

   Each CCID Profile document MUST address at least the following
   requirements:

それぞれのCCID Profileドキュメントは少なくとも以下の要件を記述しなければなりません:

   o  The profile MUST include the name and number of the CCID being
      described.

o プロフィールは説明されるCCIDの名前と数を含まなければなりません。

   o  The profile MUST describe the conditions in which it is likely to
      be useful.  Often the best way to do this is by comparison to
      existing CCIDs.

o プロフィールは状態についてそれが役に立つ傾向がある説明しなければなりません。 これをするしばしば最も良い方法は既存のCCIDsと比較します。

   o  The profile MUST list and describe any CCID-specific options,
      features, and Reset Codes and SHOULD list those general options
      and features described in this document that are especially
      relevant to the CCID.

o プロフィールは、どんなCCID特有のオプション、特徴、およびReset Codesもリストアップして、説明しなければなりません、そして、SHOULDは本書では説明されたCCIDに特に関連しているそれらの一般的なオプションと特徴をリストアップします。

   o  Any newly defined acknowledgement mechanism MUST include a way to
      transmit ECN Nonce Echoes back to the sender.

o どんな新たに定義された承認メカニズムも電子証券取引ネットワークNonceエコーズを送付者に伝えて戻す方法を含まなければなりません。

   o  The profile MUST describe the format of data packets, including
      any options that should be included and the setting of the CCval
      header field.

o プロフィールはデータ・パケットの形式について説明しなければなりません、含まれるべきであるどんなオプションとCCvalヘッダーフィールドの設定も含んでいて。

   o  The profile MUST describe the format of acknowledgement packets,
      including any options that should be included.

o プロフィールは含まれるべきであるどんなオプションも含む確認応答パケットの形式について説明しなければなりません。

   o  The profile MUST define how data packets are congestion
      controlled.  This includes responses to congestion events, to idle
      and application-limited periods, and to the DCCP Data Dropped and
      Slow Receiver options.  CCIDs that implement per-packet congestion
      control SHOULD discuss how packet size is factored in to
      congestion control decisions.

o プロフィールはデータ・パケットがどう制御された混雑であるかを定義しなければなりません。 これは混雑出来事と、そして、活動していない、そして、アプリケーション限定期間と、そして、DCCP Data DroppedとSlow Receiverオプションへの応答を含んでいます。 パケットサイズがあるSHOULDが議論する1パケットあたりの輻輳制御を実行するCCIDsが輻輳制御決定まで計算に入れました。

Kohler, et al.              Standards Track                    [Page 80]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[80ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   o  The profile MUST specify when acknowledgement packets are
      generated and how they are congestion controlled.

o プロフィールは、確認応答パケットがいつ発生するかを指定しなければなりません、そして、それらがどう混雑であるかは制御されました。

   o  The profile MUST define when a sender using the CCID is considered
      quiescent.

o プロフィールは、CCIDを使用している送付者がいつ静かであると考えられるかを定義しなければなりません。

   o  The profile MUST say whether its CCID's acknowledgements ever need
      to be acknowledged and, if so, how often.

o そうだとすれば、そして、プロフィールにはCCIDの承認が、承認される必要であるかどうか書かなければならない、何との頻度で。

10.5.  Congestion State

10.5. 混雑状態

   Most congestion control algorithms depend on past history to
   determine the current allowed sending rate.  In CCID 2, this
   congestion state includes a congestion window and a measurement of
   the number of packets outstanding in the network; in CCID 3, it
   includes the lengths of recent loss intervals.  Both CCIDs use an
   estimate of the round-trip time.  Congestion state depends on the
   network path and is invalidated by path changes.  Therefore, DCCP
   senders and receivers SHOULD reset their congestion state --
   essentially restarting congestion control from "slow start" or
   equivalent -- on significant changes in the end-to-end path.  For
   example, an endpoint that sends or receives a Mobile IPv6 Binding
   Update message [RFC3775] SHOULD reset its congestion state for any
   corresponding DCCP connections.

ほとんどの輻輳制御アルゴリズムが、現在の許容送付レートを測定するために過去の歴史によります。 CCID2では、この混雑州はネットワークへの未払いのパケットの数の混雑ウィンドウと測定を含めます。 CCID3では、それは最近の損失間隔の長さを含んでいます。 両方のCCIDsは往復の現代の見積りを使用します。 混雑状態は、ネットワーク経路によって、経路変化によって無効にされます。 したがって、「遅れた出発」か同等物から輻輳制御を本質的には再開して、DCCP送付者と受信機SHOULDはそれらの混雑状態をリセットしました--重要では、終わらせる終わりの経路を変えます。 例えば、モバイルIPv6 Binding Updateメッセージ[RFC3775]SHOULDを送るか、または受ける終点はどんな対応するDCCP接続のためにも混雑状態をリセットしました。

   A DCCP implementation MAY also reset its congestion state when a CCID
   changes (that is, when a negotiation for the CCID feature completes
   successfully and the new feature value differs from the old value).
   Thus, a connection in a heavily congested environment might evade
   end-to-end congestion control by frequently renegotiating a CCID,
   just as it could evade end-to-end congestion control by opening new
   connections for the same session.  This behavior is prohibited.  To
   prevent it, DCCP implementations MAY limit the rate at which CCID can
   be changed -- for instance, by refusing to change a CCID feature
   value more than once per minute.

また、CCIDが変化すると(すなわち、特徴が首尾よく完成するCCIDのための交渉と新機能値はいつ古い値と異なっていますか)、DCCP実現は混雑状態をリセットするかもしれません。 したがって、頻繁にCCIDを再交渉することによって、ずっしりと充血している環境における接続は終わりからエンドへの輻輳制御には分からないものであるかもしれません、ちょうど同じセッションのために新しい接続を開くことによって終わりからエンドへの輻輳制御を回避するかもしれないように。 この振舞いは禁止されています。 それを防ぐには、DCCP実現はCCIDを変えることができる速度を制限するかもしれません--例えば、CCIDを変えるのを拒否することによって、一度より多くの1分あたりの値を特徴としてください。

11.  Acknowledgements

11. 承認

   Congestion control requires that receivers transmit information about
   packet losses and ECN marks to senders.  DCCP receivers MUST report
   all congestion they see, as defined by the relevant CCID profile.
   Each CCID says when acknowledgements should be sent, what options
   they must use, and so on.  DCCP acknowledgements are congestion
   controlled, although it is not required that the acknowledgement
   stream be more than very roughly TCP friendly; each CCID defines how
   acknowledgements are congestion controlled.

輻輳制御は、受信機がパケット損失と電子証券取引ネットワークのマークの情報を送付者に伝えるのを必要とします。 DCCP受信機は関連CCIDプロフィールによって定義されるようにそれらが見るすべての混雑を報告しなければなりません。 各CCIDはいつ承認を送るべきであるかそれらがどんなオプションを使用しなければならないか、そして、などを言います。 DCCP承認は承認の流れがTCP非常におよそ十二分に好意的であることが必要ではありませんが、制御された混雑です。 各CCIDは承認がどう制御された混雑であるかを定義します。

Kohler, et al.              Standards Track                    [Page 81]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[81ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Most acknowledgements use DCCP options.  For example, on a half-
   connection with CCID 2 (TCP-like), the receiver reports
   acknowledgement information using the Ack Vector option.  This
   section describes common acknowledgement options and shows how acks
   using those options will commonly work.  Full descriptions of the ack
   mechanisms used for each CCID are laid out in the CCID profile
   specifications.

ほとんどの承認がDCCPオプションを使用します。 例えば、(TCPのよう)であるCCID2との半分接続に関して、受信機は、Ack Vectorオプションを使用することで承認情報を報告します。 このセクションは、一般的な承認オプションについて説明して、それらのオプションを使用するacksがどう一般的に働くかを示しています。 各CCIDに使用されるackメカニズムの余すところのない解説はCCIDプロフィール仕様で広げられます。

   Acknowledgement options, such as Ack Vector, depend on the DCCP
   Acknowledgement Number and are thus only allowed on packet types that
   carry that number.  Acknowledgement options received on other packet
   types, namely DCCP-Request and DCCP-Data, MUST be ignored.  Detailed
   acknowledgement options are not necessarily required on every packet
   that carries an Acknowledgement Number, however.

Ack Vectorなどの承認オプションは、DCCP Acknowledgement Numberによって、その数を運ぶパケットタイプの上にこのようにして許容されているだけです。 他のパケットタイプで受け取られた承認オプション(すなわち、DCCP-要求とDCCP-データ)を、無視しなければなりません。 詳細な承認オプションが必ずしかしながら、Acknowledgement Numberを運ぶあらゆるパケットの上で必要であるというわけではありません。

11.1.  Acks of Acks and Unidirectional Connections

11.1. Acksと単方向のコネクションズのAcks

   DCCP was designed to work well for both bidirectional and
   unidirectional flows of data, and for connections that transition
   between these states.  However, acknowledgements required for a
   unidirectional connection are very different from those required for
   a bidirectional connection.  In particular, unidirectional
   connections need to worry about acks of acks.

DCCPは、データのともに双方向と単方向の流れ、および接続のためにこれらの州の間のその変遷をよく扱うように設計されました。 しかしながら、単方向の接続に必要である承認は双方向の接続に必要であるものと非常に異なっています。 特に、単方向の接続は、acksのacksを心配する必要があります。

   The ack-of-acks problem arises because some acknowledgement
   mechanisms are reliable.  For example, an HC-Receiver using CCID 2,
   TCP-like Congestion Control, sends Ack Vectors containing completely
   reliable acknowledgement information.  The HC-Sender should
   occasionally inform the HC-Receiver that it has received an ack.  If
   it did not, the HC-Receiver might resend complete Ack Vector
   information, going back to the start of the connection, with every
   DCCP-Ack packet!  However, note that acks-of-acks need not be
   reliable themselves: when an ack-of-acks is lost, the HC-Receiver
   will simply maintain, and periodically retransmit, old
   acknowledgement-related state for a little longer.  Therefore, there
   is no need for acks-of-acks-of-acks.

いくつかの承認メカニズムが信頼できるので、acksのack問題は起こります。 例えば、CCID2を使用するHC-受信機(TCPのようなCongestion Control)は完全に信頼できる承認情報を含むAck Vectorsを送ります。 HC-送付者は、時折ackを受けたことをHC-受信機に知らせるべきです。 それがそうしないなら、HC-受信機は完全なAck Vector情報を再送するでしょうに、接続の始まりに戻って、あらゆるDCCP-Ackパケットで! しかしながら、acksのacksが自分たちで信頼できる必要はないことに注意してください: acksのackが無くなるとき、HC-受信機は、少し長い間、単に古い承認関連の状態を維持して、定期的に再送するでしょう。 したがって、acksのacksのacksの必要は全くありません。

   When communication is bidirectional, any required acks-of-acks are
   automatically contained in normal acknowledgements for data packets.
   On a unidirectional connection, however, the receiver DCCP sends no
   data, so the sender would not normally send acknowledgements.
   Therefore, the CCID in force on that half-connection must explicitly
   say whether, when, and how the HC-Sender should generate acks-of-
   acks.

コミュニケーションが双方向であるときに、acksのどんな必要なacksもデータ・パケットのための通常の承認に自動的に含まれています。 しかしながら、単方向の接続のときに受信機DCCPがデータを全く送らないので、通常、送付者は承認を送らないでしょう。 したがって、CCID、必須が明らかに言うその半分接続に有効である、いつ、HC-送付者がacksをどう発生させるべきであるか、-、acksについて。

   For example, consider a bidirectional connection where both half-
   connections use the same CCID (either 2 or 3), and where DCCP B goes
   "quiescent".  This means that the connection becomes unidirectional:

例えば、両方の半分接続が同じCCID(2か3)を使用して、DCCP Bが「静かに」行くところで双方向の接続を考えてください。 これは、接続が単方向になることを意味します:

Kohler, et al.              Standards Track                    [Page 82]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[82ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   DCCP B stops sending data and sends only DCCP-Ack packets to DCCP A.
   In CCID 2, TCP-like Congestion Control, DCCP B uses Ack Vector to
   reliably communicate which packets it has received.  As described
   above, DCCP A must occasionally acknowledge a pure acknowledgement
   from DCCP B so that B can free old Ack Vector state.  For instance, A
   might send a DCCP-DataAck packet instead of DCCP-Data every now and
   then.  In CCID 3, however, acknowledgement state is generally
   bounded, so A does not need to acknowledge B's acknowledgements.

DCCP Bはデータを送るのを止めて、DCCP-AckパケットだけをDCCP A.に送ります。In CCID2、TCPのようなCongestion Control、DCCP Bはそれがどのパケットを受けたかを確かに伝えるのにAck Vectorを使用します。 上で説明されるように、DCCP Aは、Bが古いAck Vector状態を解放できるように、DCCP Bから純粋な承認を時折承諾しなければなりません。 例えば、Aは時々、DCCP-データの代わりにDCCP-DataAckパケットを送るかもしれません。 CCID3では、しかしながら、承認状態は一般に境界があるので、Aはビーズの承認を承諾する必要はありません。

   When communication is unidirectional, a single CCID -- in the
   example, the A-to-B CCID -- controls both DCCPs' acknowledgements, in
   terms of their content, their frequency, and so forth.  For
   bidirectional connections, the A-to-B CCID governs DCCP B's
   acknowledgements (including its acks of DCCP A's acks) and the B-to-A
   CCID governs DCCP A's acknowledgements.

コミュニケーションが単方向ときに、例、AからBへのCCIDの独身のCCIDは両方のDCCPsの承認を制御します、それらの内容、それらの頻度などに関して。 双方向の接続のために、AからBへのCCIDはDCCPビーズの承認を治めます、そして、(DCCP Aのacksに関するacksを含んでいて)BからAへのCCIDはDCCP Aの承認を治めます。

   DCCP A switches its ack pattern from bidirectional to unidirectional
   when it notices that DCCP B has gone quiescent.  It switches from
   unidirectional to bidirectional when it must acknowledge even a
   single DCCP-Data or DCCP-DataAck packet from DCCP B.

DCCP Aは双方向からDCCP Bが静かになったのに気付く単方向にackパターンを切り換えます。 DCCP Bからただ一つのDCCP-データかDCCP-DataAckパケットさえ承認しなければならないとき、それは単方向から双方向に切り替わります。

   Each CCID defines how to detect quiescence on that CCID, and how that
   CCID handles acks-of-acks on unidirectional connections.  The B-to-A
   CCID defines when DCCP B has gone quiescent.  Usually, this happens
   when a period has passed without B sending any data packets; in CCID
   2, for example, this period is the maximum of 0.2 seconds and two
   round-trip times.  The A-to-B CCID defines how DCCP A handles
   acks-of-acks once DCCP B has gone quiescent.

各CCIDは、そのCCIDにどのように静止を検出するか、そして、そのCCIDが単方向の接続のときにどのようにacksのacksを扱うかを定義します。 BからAへのCCIDは、DCCP Bがいつ静かになったかを定義します。 期間がどんなデータ・パケットも送りながらBなしで経過したとき、通常、これは起こります。 CCID2では、例えば、この期間は0.2秒と往復の2回の最大です。 AからBへのCCIDはDCCP Bがいったん静かになるとDCCP Aがどうacksのacksを扱うかを定義します。

11.2.  Ack Piggybacking

11.2. Ack便乗

   Acknowledgements of A-to-B data MAY be piggybacked on data sent by
   DCCP B, as long as that does not delay the acknowledgement longer
   than the A-to-B CCID would find acceptable.  However, data
   acknowledgements often require more than 4 bytes to express.  A large
   set of acknowledgements prepended to a large data packet might exceed
   the allowed maximum packet size.  In this case, DCCP B SHOULD send
   separate DCCP-Data and DCCP-Ack packets, or wait, but not too long,
   for a smaller datagram.

AからBへのデータの承認はDCCP Bによって送られたデータで背負われるかもしれません、それがCCIDが許容できるのがわかるAからBより長い間承認を遅らせない限り。 しかしながら、データ承認はしばしば急行への4バイト以上を必要とします。 大きいデータ・パケットにprependedされた大きい承認は許容最大のパケットサイズを超えるかもしれません。 この場合、DCCP B SHOULDは別々のDCCP-データとDCCP-Ackパケットを送るというわけではありませんし、待っていますが、またあまりに長い間待つというわけではありません、より小さいデータグラムのために。

   Piggybacking is particularly common at DCCP A when the B-to-A
   half-connection is quiescent -- that is, when DCCP A is just
   acknowledging DCCP B's acknowledgements.  There are three reasons to
   acknowledge DCCP B's acknowledgements: to allow DCCP B to free up
   information about previously acknowledged data packets from A; to
   shrink the size of future acknowledgements; and to manipulate the
   rate at which future acknowledgements are sent.  Since these are

BからAとの半分接続が静かであるときに、すなわち、DCCP AがただDCCPビーズの承認を承諾しているとき、便乗はDCCP Aで特に一般的です。 DCCPビーズの承認を承諾する3つの理由があります: DCCPを許容するために、以前に頃に情報を開けるBはAからデータ・パケットを承認しました。 今後の承認のサイズを縮めるために。 そして、どの未来にレートを操るかために、承認を送ります。 これらがそうであるので

Kohler, et al.              Standards Track                    [Page 83]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[83ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   secondary concerns, DCCP A can generally afford to wait indefinitely
   for a data packet to piggyback its acknowledgement onto; if DCCP B
   wants to elicit an acknowledgement, it can send a DCCP-Sync.

一般に、あまり重要でない関心事、DCCP Aには承認を背負うデータ・パケットが無期限に待つ余裕があります。 DCCP Bが承認を引き出したいなら、それはDCCP-同時性を送ることができます。

   Any restrictions on ack piggybacking are described in the relevant
   CCID's profile.

ack便乗のどんな制限も関連CCIDのプロフィールで説明されます。

11.3.  Ack Ratio Feature

11.3. Ack比率機能

   The Ack Ratio feature lets HC-Senders influence the rate at which
   HC-Receivers generate DCCP-Ack packets, thus controlling reverse-path
   congestion.  This differs from TCP, which presently has no congestion
   control for pure acknowledgement traffic.  Ack Ratio reverse-path
   congestion control does not try to be TCP friendly.  It just tries to
   avoid congestion collapse, and to be somewhat better than TCP in the
   presence of a high packet loss or mark rate on the reverse path.

Ack Ratioの特徴で、HC-SendersはHC-受信機がDCCP-Ackパケットを発生させる、その結果、逆経路混雑を制御する速度に影響を及ぼすことができます。 これはTCPと異なっています。(TCPは現在、純粋な承認交通のための輻輳制御を全く持っていません)。 Ack Ratio逆経路輻輳制御はTCP好意的になろうとしません。 それはただ混雑崩壊を避けて、高いパケット損失の面前でTCPか逆の経路のマルク相場よりいくらか良いことになろうとします。

   Ack Ratio applies to CCIDs whose HC-Receivers clock acknowledgements
   off the receipt of data packets.  The value of Ack Ratio/A equals the
   rough ratio of data packets sent by DCCP A to DCCP-Ack packets sent
   by DCCP B.  Higher Ack Ratios correspond to lower DCCP-Ack rates; the
   sender raises Ack Ratio when the reverse path is congested and lowers
   Ack Ratio when it is not.  Each CCID profile defines how it controls
   congestion on the acknowledgement path, and, particularly, whether
   Ack Ratio is used.  CCID 2, for example, uses Ack Ratio for
   acknowledgement congestion control, but CCID 3 does not.  However,
   each Ack Ratio feature has a value whether or not that value is used
   by the relevant CCID.

Ack RatioはHC-受信機がデータ・パケットの領収書から承認の時間を計るCCIDsに適用します。 DCCP Aによって送られたデータ・パケット対DCCP-Ackパケットの荒い比率の同輩がDCCP B.Higher Ack Ratiosで送ったAck Ratio/の値はDCCP-Ackレートを下げるために対応しています。 送付者は、逆の経路が混雑しているとき、Ack Ratioを上げて、それが下ろさないとき、Ack Ratioを下ろします。 それぞれのCCIDプロフィールはそして、Ack Ratioが使用されているか否かに関係なく、それが承認経路でどう特に混雑を制御するかを定義します。 例えば、CCID2は承認輻輳制御にAck Ratioを使用しますが、CCID3は使用するというわけではありません。 しかしながら、それぞれのAck Ratioの特徴に、その値が関連CCIDによって使用されるか否かに関係なく、値があります。

   Ack Ratio has feature number 5 and is non-negotiable.  It takes two-
   byte integer values.  An Ack Ratio/A value of four means that DCCP B
   will send at least one acknowledgement packet for every four data
   packets sent by DCCP A.  DCCP A sends a "Change L(Ack Ratio)" option
   to notify DCCP B of its ack ratio.  An Ack Ratio value of zero
   indicates that the relevant half-connection does not use an Ack Ratio
   to control its acknowledgement rate.  New connections start with Ack
   Ratio 2 for both endpoints; this Ack Ratio results in acknowledgement
   behavior analogous to TCP's delayed acks.

Ack Ratioは特徴No.5を持って、譲渡禁止です。 それは整数が評価する2バイト取ります。 そのDCCP Bが送る4の値がDCCP A. DCCP Aによって送られた4つのデータ・パケットあたり少なくとも1つの確認応答パケットを意味するAck Ratio/は、ack比についてDCCP Bに通知するために「変化L(Ack比)」オプションを送ります。 ゼロのAck Ratio値は、関連半分接続が承認率を制御するのにAck Ratioを使用しないのを示します。 新しい接続は両方の終点にAck Ratio2から始まります。 このAck RatioはTCPの遅れたacksへの類似の承認の振舞いをもたらします。

   Ack Ratio should be treated as a guideline rather than a strict
   requirement.  We intend Ack Ratio-controlled acknowledgement behavior
   to resemble TCP's acknowledgement behavior when there is no reverse-
   path congestion, and to be somewhat more conservative when there is
   reverse-path congestion.  Following this intent is more important
   than implementing Ack Ratio precisely.  In particular:

Ack Ratioは厳しい要件よりむしろガイドラインとして扱われるべきです。 逆経路混雑が全くないとき、Ack Ratioによって制御された承認の振舞いは私たちがTCPの承認の振舞いに類似するつもりです、そして、そこであるのに、いくらか保守的であるのは、逆経路混雑です。 この意図に続くのは正確にAck Ratioを実行するより重要です。 特に:

Kohler, et al.              Standards Track                    [Page 84]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[84ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   o  Receivers MAY piggyback acknowledgement information on data
      packets, creating DCCP-DataAck packets.  The Ack Ratio does not
      apply to piggybacked acknowledgements.  However, if the data
      packets are too big to carry acknowledgement information, or if
      the data sending rate is lower than Ack Ratio would suggest, then
      DCCP B SHOULD send enough pure DCCP-Ack packets to maintain the
      rate of one acknowledgement per Ack Ratio received data packets.

o DCCP-DataAckパケットを作成して、受信機はデータ・パケットの承認情報を背負うかもしれません。 Ack Ratioは便乗している承認に適用しません。 しかしながら、データ・パケットが承認情報を運ぶことができないくらい大きいか、またはデータ送付速度がAck Ratioが示すだろうより低いなら、DCCP B SHOULDはAck Ratio受信データパケットあたり1つの承認の速度を維持できるくらいの純粋なDCCP-Ackパケットを送ります。

   o  Receivers MAY rate-pace their acknowledgements rather than send
      acknowledgements immediately upon the receipt of data packets.
      Receivers that rate-pace acknowledgements SHOULD pick a rate that
      approximates the effect of Ack Ratio and SHOULD include Elapsed
      Time options (Section 13.2) to help the sender calculate round-
      trip times.

o 受信機はすぐデータ・パケットの領収書に承認を送るよりむしろ彼らの承認にレートで歩調を合わせるかもしれません。 そのレート-ペース承認SHOULDの受信機はAck Ratioの効果に近似するレートを選びます、そして、SHOULDは送付者が丸い旅行時間について計算するのを助けるために、Elapsed Timeオプション(セクション13.2)を含んでいます。

   o  Receivers SHOULD implement delayed acknowledgement timers like
      TCP's, whereby any packet's acknowledgement is delayed by at most
      T seconds.  This delay lets the receiver collect additional
      packets to acknowledge and thus reduce the per-packet overhead of
      acknowledgements; but if T seconds have passed by and the ack is
      still around, it is sent out right away.  The default value of T
      should be 0.2 seconds, as is common in TCP implementations.  This
      may lead to sending more acknowledgement packets than Ack Ratio
      would suggest.

o SHOULDが実行する受信機はTCPのもののような承認タイマを遅らせました。(どんなパケットの承認ももので高々T秒までに遅れます)。 この遅れで、受信機は承認の1パケットあたりのオーバーヘッドを承認して、その結果、下げるために追加パケットを集めます。 しかし、T秒が通り過ぎて、ackが周囲にまだあるなら、すぐ、それを出します。 Tのデフォルト値は一般的であるようにTCP実現で0.2秒であるべきです。 これは、Ack Ratioが勧めるだろうより多くの確認応答パケットを送るのに通じるかもしれません。

   o  Receivers SHOULD send acknowledgements immediately on receiving
      packets marked ECN Congestion Experienced or packets whose out-
      of-order sequence numbers potentially indicate loss.  However,
      there is no need to send such immediate acknowledgements for
      marked packets more than once per round-trip time.

o 受信機SHOULDはすぐ電子証券取引ネットワークCongestion Experiencedであるとマークされたパケットかオーダーの出ている一連番号が潜在的に損失を示すパケットを受けるときの承認を送ります。 しかしながら、著しいパケットのためのそのような即座の承認をさらに送る必要は全く往復の時間あたりの一度よりありません。

   o  Receivers MAY ignore Ack Ratio if they perform their own
      congestion control on acknowledgements.  For example, a receiver
      that knows the loss and mark rate for its DCCP-Ack packets might
      maintain a TCP-friendly acknowledgement rate on its own.  Such a
      receiver MUST either ensure that it always obtains sufficient
      acknowledgement loss and mark information or fall back to Ack
      Ratio when sufficient information is not available, as might
      happen during periods when the receiver is quiescent.

o 承認にそれら自身の輻輳制御を実行するなら、受信機はAck Ratioを無視するかもしれません。 例えば、DCCP-Ackパケットの損失とマルク相場を知っている受信機はそれ自身のところでTCPに優しい承認率を維持するかもしれません。 そのような受信機は、いつもAck Ratioへの十分な情報が利用可能でない十分な承認の損失とマーク情報か落下を得るのを確実にしなければなりません、受信機が静かである期間起こるかもしれないとき。

11.4.  Ack Vector Options

11.4. Ackベクトルオプション

   The Ack Vector gives a run-length encoded history of data packets
   received at the client.  Each byte of the vector gives the state of
   that data packet in the loss history, and the number of preceding
   packets with the same state.  The option's data looks like this:

Ack Vectorはクライアントに受け取られたデータ・パケットのランレングスのコード化された歴史を与えます。 ベクトルの各バイトは損失歴史のそのデータ・パケットの状態、および同じ状態がある前のパケットの数を与えます。 オプションのデータはこれに似ています:

Kohler, et al.              Standards Track                    [Page 85]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[85ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   +--------+--------+--------+--------+--------+--------
   |0010011?| Length |SSLLLLLL|SSLLLLLL|SSLLLLLL|  ...
   +--------+--------+--------+--------+--------+--------
   Type=38/39         \___________ Vector ___________...

+--------+--------+--------+--------+--------+-------- |0010011 | 長さ|SSLLLLLL|SSLLLLLL|SSLLLLLL| ... +--------+--------+--------+--------+--------+-------- = 38/39円タイプしてください。___________ ベクトル___________...

   The two Ack Vector options (option types 38 and 39) differ only in
   the values they imply for ECN Nonce Echo.  Section 12.2 describes
   this further.

2つのAck Vectorオプション(オプションは38と39をタイプする)が彼らが電子証券取引ネットワークNonce Echoのために含意する値だけにおいて異なります。 セクション12.2はさらにこれについて説明します。

   The vector itself consists of a series of bytes, each of whose
   encoding is:

ベクトル自体はコード化のそれぞれはことです:一連のバイトから成ります。

    0 1 2 3 4 5 6 7
   +-+-+-+-+-+-+-+-+
   |Sta| Run Length|
   +-+-+-+-+-+-+-+-+

0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |Sta| ランレングス| +-+-+-+-+-+-+-+-+

   Sta[te] occupies the most significant two bits of each byte and can
   have one of four values, as follows:

Sta[Te]はそれぞれのバイトの最も重要な2ビットを占領して、以下の通り4つの値の1つを持つことができます:

                    State  Meaning
                    -----  -------
                      0    Received
                      1    Received ECN Marked
                      2    Reserved
                      3    Not Yet Received

州の意味----- ------- 0 容認された電子証券取引ネットワークが予約された3がまだ受け取っていなかった2であるとマークした容認された1

                  Table 6: DCCP Ack Vector States

テーブル6: DCCP Ackベクトル州

   The term "ECN marked" refers to packets with ECN code point 11, CE
   (Congestion Experienced); packets received with this ECN code point
   MUST be reported using State 1, Received ECN Marked.  Packets
   received with ECN code points 00, 01, or 10 (Non-ECT, ECT(0), or
   ECT(1), respectively) MUST be reported using State 0, Received.

「マークされた電子証券取引ネットワーク」という用語は電子証券取引ネットワークコード・ポイント11、CE(混雑Experienced)と共にパケットについて言及します。 Received電子証券取引ネットワークMarked、州1を使用して、この電子証券取引ネットワークコード・ポイントで受け取られたパケットを報告しなければなりません。 州0を使用して、電子証券取引ネットワークコード・ポイント00、01、または10(それぞれ非ECT、ECT(0)、またはECT(1))で受け取られたパケットを報告しなければなりません、Received。

   Run Length, the least significant six bits of each byte, specifies
   how many consecutive packets have the given State.  Run Length zero
   says the corresponding State applies to one packet only; Run Length
   63 says it applies to 64 consecutive packets.  Run lengths of 65 or
   more must be encoded in multiple bytes.

走行Length(それぞれのバイトの最も重要でない6ビット)は、いくつの連続したパケットに与えられた州があるかを指定します。 走行Lengthゼロは、対応する州が1つのパケットだけに適用されると言います。 走行Length63は、それが64の連続したパケットに適用されると言います。 複数のバイトで65以上のランレングスをコード化しなければなりません。

   The first byte in the first Ack Vector option refers to the packet
   indicated in the Acknowledgement Number; subsequent bytes refer to
   older packets.  Ack Vector MUST NOT be sent on DCCP-Data and DCCP-
   Request packets, which lack an Acknowledgement Number, and any Ack
   Vector options encountered on such packets MUST be ignored.

最初のAck Vectorオプションにおける最初のバイトはAcknowledgement Numberで示されたパケットについて言及します。 その後のバイトは、より古いパケットについて言及します。 DCCP-データでAck Vectorを送ってはいけません、そして、DCCPリクエスト・パケットとそのようなパケットの上で遭遇するどんなAck Vectorオプションも無視しなければなりません。(リクエスト・パケットはAcknowledgement Numberを欠いています)。

Kohler, et al.              Standards Track                    [Page 86]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[86ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   An Ack Vector containing the decimal values 0,192,3,64,5 and for
   which the Acknowledgement Number is decimal 100 indicates that:

0,192、3、64、5が評価して、Acknowledgement Numberが10進100である小数を含むAck Vectorは、以下のことを示します。

      Packet 100 was received (Acknowledgement Number 100, State 0, Run
      Length 0);

パケット100を受け取りました(承認Number100、州0、Run Length0)。

      Packet 99 was lost (State 3, Run Length 0);

パケット99は失われました(状態3、Run Length0)。

      Packets 98, 97, 96 and 95 were received (State 0, Run Length 3);

パケット98、97、96、および95を受け取りました(状態0、Run Length3)。

      Packet 94 was ECN marked (State 1, Run Length 0); and

パケット94は(状態1、Run Length0)であるとマークされた電子証券取引ネットワークでした。 そして

      Packets 93, 92, 91, 90, 89, and 88 were received (State 0, Run
      Length 5).

パケット93、92、91、90、89、および88を受け取りました(状態0、Run Length5)。

   A single Ack Vector option can acknowledge up to 16192 data packets.
   Should more packets need to be acknowledged than can fit in 253 bytes
   of Ack Vector, then multiple Ack Vector options can be sent; the
   second Ack Vector begins where the first left off, and so forth.

ただ一つのAck Vectorオプションは最大16192のデータ・パケットを承認できます。 より多くのパケットが、253バイトのAck Vectorをうまくはめ込むことができるより承認される必要があるはずです、次に、複数のAck Vectorオプションを送ることができます。 第2Ack Vectorは、1番目がやめたところで始まるので、先へ始まります。

   Ack Vector states are subject to two general constraints.  (These
   principles SHOULD also be followed for other acknowledgement
   mechanisms; referring to Ack Vector states simplifies their
   explanation.)

Ack Vector州は2つの一般的な規制を受けることがあります。 (また、他の承認メカニズムには、続かれてください; Ack Vector州について言及すると彼らの説明が簡略化するというこれらの原則SHOULD。)

   1. Packets reported as State 0 or State 1 MUST be acknowledgeable:
      their options have been processed by the receiving DCCP stack.
      Any data on the packet need not have been delivered to the
      receiving application; in fact, the data may have been dropped.

1. 州0か州1が承認可能であるに違いないので、パケットは報告しました: 彼らのオプションは受信DCCPスタックによって処理されました。 パケットに関する少しのデータも受信アプリケーションに送る必要はありませんでした。 事実上、データは落とされたかもしれません。

   2. Packets reported as State 3 MUST NOT be acknowledgeable.  Feature
      negotiations and options on such packets MUST NOT have been
      processed, and the Acknowledgement Number MUST NOT correspond to
      such a packet.

2. 州3が承認可能であるはずがないので、パケットは報告しました。 そのようなパケットにおける特徴交渉とオプションを処理していてはいけません、そして、Acknowledgement Numberはそのようなパケットに対応してはいけません。

   Packets dropped in the application's receive buffer MUST be reported
   as Received or Received ECN Marked (States 0 and 1), depending on
   their ECN state; such packets' ECN Nonces MUST be included in the
   Nonce Echo.  The Data Dropped option informs the sender that some
   packets reported as received actually had their application data
   dropped.

ReceivedかReceived電子証券取引ネットワークMarked(州0と1)としてアプリケーションの受信バッファで落とされたパケットを報告しなければなりません、それらの電子証券取引ネットワーク状態によって。 Nonce Echoにそのようなパケットの電子証券取引ネットワークNoncesを含まなければなりません。 Data Droppedオプションは、受け取るように報告されたいくつかのパケットが実際にそれらのアプリケーションデータを落とされたことを送付者に知らせます。

   One or more Ack Vector options that, together, report the status of a
   packet with a sequence number less than ISN, the initial sequence
   number, SHOULD be considered invalid.  The receiving DCCP SHOULD
   either ignore the options or reset the connection with Reset Code 5,
   "Option Error".  No Ack Vector option can refer to a packet that has
   not yet been sent, as the Acknowledgement Number checks in Section

一連番号がISN、初期シーケンス番号、SHOULDより少ない状態で無効であると考えられたパケットの状態を一緒に報告する1つ以上のAck Vectorオプション。 受信DCCP SHOULDはオプションを無視するか、またはReset Code5との接続、「オプション誤り」をリセットします。 どんなAck Vectorオプションもまだ送られないパケットについて言及できません、Acknowledgement Numberがセクションを預けるとき

Kohler, et al.              Standards Track                    [Page 87]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[87ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   7.5.3 ensure, but because of attack, implementation bug, or
   misbehavior, an Ack Vector option can claim that a packet was
   received before it is actually delivered.  Section 12.2 describes how
   this is detected and how senders should react.  Packets that haven't
   been included in any Ack Vector option SHOULD be treated as "not yet
   received" (State 3) by the sender.

7.5.3 攻撃、実現によるバグ、または不正行為、Ack Vectorオプションだけが、実際にそれを届ける前にパケットを受け取ったと主張できるのを確実にしてください。 セクション12.2は、これがどのように検出されるか、そして、送付者がどのように反応するべきであるかを説明します。 どんなAck Vectorにも含まれていないパケットはSHOULDにゆだねます。送付者によって「まだ受け取られない」ように(状態3)、扱われてください。

   Appendix A provides a non-normative description of the details of
   DCCP acknowledgement handling in the context of an abstract Ack
   Vector implementation.

付録Aは抽象的なAck Vector実現の文脈のDCCP承認取り扱いの詳細の非標準の記述を提供します。

11.4.1.  Ack Vector Consistency

11.4.1. Ackベクトルの一貫性

   A DCCP sender will commonly receive multiple acknowledgements for
   some of its data packets.  For instance, an HC-Sender might receive
   two DCCP-Acks with Ack Vectors, both of which contained information
   about sequence number 24.  (Information about a sequence number is
   generally repeated in every ack until the HC-Sender acknowledges an
   ack.  In this case, perhaps the HC-Receiver is sending acks faster
   than the HC-Sender is acknowledging them.)  In a perfect world, the
   two Ack Vectors would always be consistent.  However, there are many
   reasons why they might not be.  For example:

DCCP送付者はいくつかのデータ・パケットのために一般的に複数の承認を受けるでしょう。 例えば、HC-送付者はAck Vectorsと2DCCP-Acksを受け取るかもしれません。その両方が一連番号24の情報を含みます。 (一般に、HC-送付者がackを承認するまで、一連番号に関する情報はあらゆるackで繰り返されます。 この場合、恐らく、HC-受信機はHC-送付者がそれらを承認しているより速くacksを送ります。) 理想の世界では、2Ack Vectorsがいつも一貫しているでしょう。 しかしながら、それらがである多くの理由があります。 例えば:

   o  The HC-Receiver received packet 24 between sending its acks, so
      the first ack said 24 was not received (State 3) and the second
      said it was received or ECN marked (State 0 or 1).

o したがって、最初のackは、24が受け取られなかった(状態3)と言いました、そして、acksを送ることの間にHC-受信機がパケット24を受けたか、2番目が、それが受け取られたと言ったか、または電子証券取引ネットワークは(状態0か1)をマークしました。

   o  The HC-Receiver received packet 24 between sending its acks, and
      the network reordered the acks.  In this case, the packet will
      appear to transition from State 0 or 1 to State 3.

o acksを送ることの間にHC-受信機はパケット24を受けました、そして、ネットワークはacksを再命令しました。 この場合、パケットは州0か1から州3までの変遷に現れるでしょう。

   o  The network duplicated packet 24, and one of the duplicates was
      ECN marked.  This might show up as a transition between States 0
      and 1.

o ネットワークはパケット24をコピーしました、そして、写しの1つはマークされた電子証券取引ネットワークでした。 これはStates0と1の間の変遷として現れるかもしれません。

   To cope with these situations, HC-Sender DCCP implementations SHOULD
   combine multiple received Ack Vector states according to this table:

これらの状況に対処するために、このテーブルに従って、HC-送付者DCCP実現SHOULDは複数の容認されたAck Vector州を合併します:

                               Received State
                                 0   1   3
                               +---+---+---+
                             0 | 0 |0/1| 0 |
                       Old     +---+---+---+
                             1 | 1 | 1 | 1 |
                      State    +---+---+---+
                             3 | 0 | 1 | 3 |
                               +---+---+---+

容認された州0 1 3の+---+---+---+ 0 | 0 |0/1| 0 | 古い+---+---+---+ 1 | 1 | 1 | 1 | 状態+---+---+---+ 3 | 0 | 1 | 3 | +---+---+---+

Kohler, et al.              Standards Track                    [Page 88]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[88ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   To read the table, choose the row corresponding to the packet's old
   state and the column corresponding to the packet's state in the newly
   received Ack Vector; then read the packet's new state off the table.
   For an old state of 0 (received non-marked) and received state of 1
   (received ECN marked), the packet's new state may be set to either 0
   or 1.  The HC-Sender implementation will be indifferent to ack
   reordering if it chooses new state 1 for that cell.

テーブルを読むには、パケットの古い状態に対応する列と新たに受け取られたAck Vectorのパケットの状態に対応するコラムを選んでください。 そして、テーブルからパケットの新しい状態を読んでください。 0人の古い州(非著しい状態で、受信する)と1人の容認された状態(マークされた電子証券取引ネットワークを受ける)において、パケットの新しい状態は0か1に設定されるかもしれません。 そのセルのための新しい状態1を選ぶなら、HC-送付者実現はack reorderingに無関心になるでしょう。

   The HC-Receiver should collect information about received packets
   according to the following table:

以下のテーブルに従って、HC-受信機は容認されたパケットの情報を集めるはずです:

                              Received Packet
                                 0   1   3
                               +---+---+---+
                             0 | 0 |0/1| 0 |
                     Stored    +---+---+---+
                             1 |0/1| 1 | 1 |
                      State    +---+---+---+
                             3 | 0 | 1 | 3 |
                               +---+---+---+

容認されたパケット0 1 3+---+---+---+ 0 | 0 |0/1| 0 | +を保存します。---+---+---+ 1 |0/1| 1 | 1 | 状態+---+---+---+ 3 | 0 | 1 | 3 | +---+---+---+

   This table equals the sender's table except that, when the stored
   state is 1 and the received state is 0, the receiver is allowed to
   switch its stored state to 0.

保存された状態が1であり、容認された状態が0であるときに、受信機が保存された状態を0に切り換えることができるのを除いて、このテーブルは送付者のテーブルと等しいです。

   An HC-Sender MAY choose to throw away old information gleaned from
   the HC-Receiver's Ack Vectors, in which case it MUST ignore newly
   received acknowledgements from the HC-Receiver for those old packets.
   It is often kinder to save recent Ack Vector information for a while
   so that the HC-Sender can undo its reaction to presumed congestion
   when a "lost" packet unexpectedly shows up (the transition from State
   3 to State 0).

HC-送付者は、HC-受信機のAck Vectorsから収集された旧情報を無駄にするのを選ぶかもしれません、その場合、それがそれらの古いパケットのためにHC-受信機から新たに受け取られた承認を無視しなければなりません。 しばらく最近のAck Vector情報を保存するのは、「無くなっている」パケットが不意に現れるとき(州3から州0までの変遷)、HC-送付者が推定された混雑に反応を元に戻すことができるくらいしばしばより親切です。

11.4.2.  Ack Vector Coverage

11.4.2. Ackベクトル適用範囲

   We can divide the packets that have been sent from an HC-Sender to an
   HC-Receiver into four roughly contiguous groups.  From oldest to
   youngest, these are:

私たちはHC-送付者からHC-受信機に送られたパケットを4つのおよそ隣接のグループに分割できます。 最も古いのから最年少者まで、これらは以下の通りです。

   1. Packets already acknowledged by the HC-Receiver, where the
      HC-Receiver knows that the HC-Sender has definitely received the
      acknowledgements;

1. HC-受信機が、HC-送付者が確実に承認を受けたのを知っているところのHC-受信機によって既に承認されたパケット

   2. Packets already acknowledged by the HC-Receiver, where the
      HC-Receiver cannot be sure that the HC-Sender has received the
      acknowledgements;

2. パケットがHC-受信機によって既に承認されて、HC-受信機がそうすることができないところでHC-送付者が承認を受けたのを確認してください。

   3. Packets not yet acknowledged by the HC-Receiver; and

3. HC-受信機によってまだ承認されていなかったパケット。 そして

Kohler, et al.              Standards Track                    [Page 89]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[89ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   4. Packets not yet received by the HC-Receiver.

4. パケットはHC-受信機のそばでまだ受信されていませんでした。

   The union of groups 2 and 3 is called the Acknowledgement Window.
   Generally, every Ack Vector generated by the HC-Receiver will cover
   the whole Acknowledgement Window: Ack Vector acknowledgements are
   cumulative.  (This simplifies Ack Vector maintenance at the
   HC-Receiver; see Appendix A, below.)  As packets are received, this
   window both grows on the right and shrinks on the left.  It grows
   because there are more packets, and shrinks because the HC-Sender's
   Acknowledgement Numbers will acknowledge previous acknowledgements,
   moving packets from group 2 into group 1.

グループ2と3の組合はAcknowledgement Windowと呼ばれます。 一般に、HC-受信機によって生成されたあらゆるAck Vectorが全体のAcknowledgement Windowをカバーするでしょう: Ack Vector承認は累積しています。 (これはHC-受信機でAck Vectorメインテナンスを簡素化します; 以下のAppendix Aを見てください。) パケットが受け取られているとき、この窓は、右で成長して、左で縮小します。 それは、より多くのパケットがあるので成長して、HC-送付者のAcknowledgement民数記が前の承認を承諾するので、縮小します、パケットをグループ2からグループ1に動かして。

11.5.  Send Ack Vector Feature

11.5. ベクトル機能をAckに送ってください。

   The Send Ack Vector feature lets DCCPs negotiate whether they should
   use Ack Vector options to report congestion.  Ack Vector provides
   detailed loss information and lets senders report back to their
   applications whether particular packets were dropped.  Send Ack
   Vector is mandatory for some CCIDs and optional for others.

Send Ack Vectorの特徴で、彼らが混雑を報告するのにAck Vectorオプションを使用するべきであるか否かに関係なく、DCCPsは交渉します。 特定のパケットが下げられたか否かに関係なく、Ack Vectorは詳細な損失情報を前提として、送付者に彼らのアプリケーションに報告を持ちかえらせることができます。 発信してください。Ack VectorはいくつかのCCIDsに義務的であって、他のものにとって、任意です。

   Send Ack Vector has feature number 6 and is server-priority.  It
   takes one-byte Boolean values.  DCCP A MUST send Ack Vector options
   on its acknowledgements when Send Ack Vector/A has value one,
   although it MAY send Ack Vector options even when Send Ack Vector/A
   is zero.  Values of two or more are reserved.  New connections start
   with Send Ack Vector 0 for both endpoints.  DCCP B sends a "Change
   R(Send Ack Vector, 1)" option to DCCP A to ask A to send Ack Vector
   options as part of its acknowledgement traffic.

発信してください。Ack Vectorは特徴No.6を持って、サーバ優先権です。 それは1バイトのブール値を取ります。 承認のときに、Send Ack Vector/Aに値1があるとき、DCCP AはオプションをAck Vectorに送らなければなりません、Send Ack Vector/Aがゼロでさえあるときに、オプションをAck Vectorに送るかもしれませんが。 2以上の値は予約されています。 新しい接続は両方の終点にSend Ack Vector0から始まります。 DCCP Bは、承認トラフィックの一部としてオプションをAck Vectorに送るようにAに頼むために「変化R(Ackベクトル、1を送ります)」オプションをDCCP Aに送ります。

11.6.  Slow Receiver Option

11.6. 遅い受信機オプション

   An HC-Receiver sends the Slow Receiver option to its sender to
   indicate that it is having trouble keeping up with the sender's data.
   The HC-Sender SHOULD NOT increase its sending rate for approximately
   one round-trip time after seeing a packet with a Slow Receiver
   option.  After one round-trip time, the effect of Slow Receiver
   disappears, allowing the HC-Sender to increase its rate.  Therefore,
   the HC-Receiver SHOULD continue to send Slow Receiver options if it
   needs to prevent the HC-Sender from going faster in the long term.
   The Slow Receiver option does not indicate congestion, and the HC-
   Sender need not reduce its sending rate.  (If necessary, the receiver
   can force the sender to slow down by dropping packets, with or
   without Data Dropped, or by reporting false ECN marks.)  APIs should
   let receiver applications set Slow Receiver and sending applications
   determine whether their receivers are Slow.

HC-受信機は、送付者のデータについて行くのに苦労しているのを示すためにSlow Receiverオプションを送付者に送ります。 Slow Receiverオプションでパケットを見た後に、HC-送付者SHOULD NOTは往復のおよそ1回の送付レートを増強します。 往復の1回の後に、HC-送付者がレートを増強するのを許容して、Slow Receiverの効果は見えなくなります。 したがって、HC-送付者が、より速く長期で行くのを防ぐ必要があるなら、HC-受信機SHOULDは、オプションをSlow Receiverに送り続けています。 Slow Receiverオプションは混雑を示しません、そして、HC送付者は送付レートを低下させる必要はありません。 (必要なら、送付者は受信機によってData Droppedのあるなしにかかわらずパケットを下げるか、または偽の電子証券取引ネットワークのマークを報告することによって、やむを得ず減速できます。) 受信側アプリケーションはAPIでSlow Receiverを設定するはずです、そして、送付アプリケーションはそれらの受信機がSlowであるかどうか決定します。

Kohler, et al.              Standards Track                    [Page 90]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[90ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Slow Receiver is a one-byte option.

遅いReceiverは1バイトのオプションです。

   +--------+
   |00000010|
   +--------+
    Type=2

+--------+ |00000010| +--------+ タイプ=2

   Slow Receiver does not specify why the receiver is having trouble
   keeping up with the sender.  Possible reasons include lack of buffer
   space, CPU overload, and application quotas.  A sending application
   might react to Slow Receiver by reducing its application-level
   sending rate, for example.

遅いReceiverは、受信機がなぜ送付者について行くのに苦労しているかを指定しません。 可能な理由はバッファ領域の不足、CPUオーバーロード、およびアプリケーション割当てを含んでいます。 送付アプリケーションは、例えばアプリケーションレベル送付レートを低下させることによって、Slow Receiverに反応するかもしれません。

   The sending application should not react to Slow Receiver by sending
   more data, however.  Although the optimal response to a CPU-bound
   receiver might be to reduce compression and send more data (a
   highly-compressed data format might overwhelm a slow CPU more
   seriously than would the higher memory requirements of a less-
   compressed data format), this kind of format change should be
   requested at the application level, not via the Slow Receiver option.

送付アプリケーションは、しかしながら、より多くのデータを送ることによって、Slow Receiverに反応するべきではありません。CPU行きの受信機への最適の応答がそうするかもしれませんが、あって、圧縮を抑えて、より多くのデータを送ってください、(非常に圧縮されたデータの形式が、より真剣に遅いCPUを圧倒するかもしれない、それほど圧縮されなかったデータの形式の、より高いメモリ要件)、この種類の形式変化はSlow Receiverオプションを通して要求されているべきであるのではなく、アプリケーションレベルで要求されているべきでしょう。

   Slow Receiver implements a portion of TCP's receive window
   functionality.

TCPの一部が受ける遅いReceiver道具は機能性に窓を付けます。

11.7.  Data Dropped Option

11.7. データはオプションを下げました。

   The Data Dropped option indicates that the application data on one or
   more received packets did not actually reach the application.  Data
   Dropped additionally reports why the data was dropped: perhaps the
   data was corrupt, or perhaps the receiver cannot keep up with the
   sender's current rate and the data was dropped in some receive
   buffer.  Using Data Dropped, DCCP endpoints can discriminate between
   different kinds of loss; this differs from TCP, in which all loss is
   reported the same way.

Data Droppedオプションは、1つ以上の容認されたパケットに関するアプリケーションデータが実際にアプリケーションに達しなかったのを示します。 データDroppedはさらに、データが下げられた理由を報告します: 恐らく、受信機は送付者の成り行き相場について行くことができません、そして、恐らく、データが間違っていたか、またはデータは何らかの受信バッファで下げられました。 Data Droppedを使用して、DCCP終点は異種の損失を区別できます。 これはTCPと異なっています。そこでは、すべての損失が同じ道に報告されます。

   Unless it is explicitly specified otherwise, DCCP congestion control
   mechanisms MUST react as if each Data Dropped packet was marked as
   ECN Congestion Experienced by the network.  We intend for Data
   Dropped to enable research into richer congestion responses to
   corrupt and other endpoint-dropped packets, but DCCP CCIDs MUST react
   conservatively to Data Dropped until this behavior is standardized.
   Section 11.7.2, below, describes congestion responses for all current
   Drop Codes.

それが別の方法で明らかに指定されない場合、まるでそれぞれのData Droppedパケットが電子証券取引ネットワークCongestion ExperiencedとしてネットワークによってマークされるかのようにDCCP混雑制御機構は反応しなければなりません。 Data Droppedは私たちが不正で他の終点で下げられたパケットへの、より豊かな混雑応答の研究を可能にするつもりですが、この振舞いが標準化されるまで、DCCP CCIDsは保守的にData Droppedに反応しなければなりません。 セクション11.7 .2 以下で、すべての現在のDrop Codesのために混雑応答について説明します。

   If a received packet's application data is dropped for one of the
   reasons listed below, this SHOULD be reported using a Data Dropped
   option.  Alternatively, the receiver MAY choose to report as

容認されたパケットのアプリケーションデータは以下にリストアップされた理由の1つによって下げられます、このSHOULD。Data Droppedオプションを使用することで、報告されます。 あるいはまた、報告します受信機が、選ぶかもしれない。

Kohler, et al.              Standards Track                    [Page 91]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[91ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   "received" only those packets whose data were not dropped, subject to
   the constraint that packets not reported as received MUST NOT have
   had their options processed.

データが受け取るように報告されなかったパケットで彼らのオプションを処理していてはいけないという規制を条件として下げられなかったそれらのパケットだけを「受けました」。

   The option's data looks like this:

オプションのデータはこれに似ています:

   +--------+--------+--------+--------+--------+--------
   |00101000| Length | Block  | Block  | Block  |  ...
   +--------+--------+--------+--------+--------+--------
    Type=40          \___________ Vector ___________ ...

+--------+--------+--------+--------+--------+-------- |00101000| 長さ| ブロック| ブロック| ブロック| ... +--------+--------+--------+--------+--------+-------- = 40円タイプしてください。___________ ベクトル___________ ...

   The Vector consists of a series of bytes, called Blocks, each of
   whose encoding corresponds to one of two choices:

VectorはBlocksと呼ばれるコード化のそれぞれが2つの選択の1つに対応する一連のバイトから成ります:

    0 1 2 3 4 5 6 7                  0 1 2 3 4 5 6 7
   +-+-+-+-+-+-+-+-+                +-+-+-+-+-+-+-+-+
   |0| Run Length  |       or       |1|DrpCd|Run Len|
   +-+-+-+-+-+-+-+-+                +-+-+-+-+-+-+-+-+
     Normal Block                      Drop Block

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ |0| ランレングス| または|1|DrpCd|レンを車で送ってください。| ++++++++++++++++++標準のブロック低下ブロック

   The first byte in the first Data Dropped option refers to the packet
   indicated by the Acknowledgement Number; subsequent bytes refer to
   older packets.  Data Dropped MUST NOT be sent on DCCP-Data or DCCP-
   Request packets, which lack an Acknowledgement Number, and any Data
   Dropped options received on such packets MUST be ignored.

最初のData Droppedオプションにおける最初のバイトはAcknowledgement Numberによって示されたパケットについて言及します。 その後のバイトは、より古いパケットについて言及します。 DCCP-データでデータDroppedを送ってはいけませんか、またはDCCPリクエスト・パケットとそのようなパケットの上に受け取られたどんなData Droppedオプションも無視しなければなりません。(リクエスト・パケットはAcknowledgement Numberを欠いています)。

   Normal Blocks, which have high bit 0, indicate that any received
   packets in the Run Length had their data delivered to the
   application.  Drop Blocks, which have high bit 1, indicate that
   received packets in the Run Len[gth] were not delivered as usual.
   The 3-bit Drop Code [DrpCd] field says what happened; generally, no
   data from that packet reached the application.  Packets reported as
   "not yet received" MUST be included in Normal Blocks; packets not
   covered by any Data Dropped option are treated as if they were in a
   Normal Block.  Defined Drop Codes for Drop Blocks are as follows.

正常なBlocks(高いビット0を持っている)は、Run Lengthのどんな容認されたパケットでもそれらのデータをアプリケーションに提供したのを示します。 低下Blocks(高いビット1を持っている)は、Runレン[gth]の容認されたパケットがいつものように提供されなかったのを示します。 3ビットのDrop Code[DrpCd]分野は、何が起こったかを言います。 一般に、そのパケットからのどんなデータもアプリケーションに達しませんでした。 Normal Blocksに「まだ受け取られていません」のように報告されたパケットを含まなければなりません。 まるでそれらがNormal BlockにあるかのようにどんなData Droppedオプションでもカバーされなかったパケットは扱われます。 Drop Blocksのための定義されたDrop Codesは以下の通りです。

                  Drop Code  Meaning
                  ---------  -------
                      0      Protocol Constraints
                      1      Application Not Listening
                      2      Receive Buffer
                      3      Corrupt
                     4-6     Reserved
                      7      Delivered Corrupt

コード意味を下げてください。--------- ------- 0 2受信バッファ3の不正な4-6を聴かないプロトコル規制1アプリケーションが不正な状態で提供された7を予約しました。

                   Table 7: DCCP Drop Codes

テーブル7: DCCPはコードを下げます。

Kohler, et al.              Standards Track                    [Page 92]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[92ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   In more detail:

さらに詳細に:

      0   The packet data was dropped due to protocol constraints.  For
          example, the data was included on a DCCP-Request packet, but
          the receiving application does not allow such piggybacking; or
          the data was included on a packet with inappropriately low
          Checksum Coverage.

0 パケットデータはプロトコル規制のため下げられました。 例えば、データはDCCP-リクエスト・パケットの上に含まれていましたが、受信アプリケーションはそのような便乗を許容しません。 または、データは不適当に低いChecksum Coverageと共にパケットの上に含まれていました。

      1   The packet data was dropped because the application is no
          longer listening.  See Section 11.7.2.

1 アプリケーションがもう聴かれていないので、パケットデータは下げられました。 セクション11.7.2を見てください。

      2   The packet data was dropped in a receive buffer, probably
          because of receive buffer overflow.  See Section 11.7.2.

2 パケットデータは受信バッファオーバーフローためか受信バッファで下げられました。 セクション11.7.2を見てください。

      3   The packet data was dropped due to corruption.  See Section
          9.3.

3 パケットデータは不正のため下げられました。 セクション9.3を見てください。

      7   The packet data was corrupted but was delivered to the
          application anyway.  See Section 9.3.

7 パケットデータは、崩壊しましたが、とにかくアプリケーションに提供されました。 セクション9.3を見てください。

   For example, assume that a packet arrives with Acknowledgement Number
   100, an Ack Vector reporting all packets as received, and a Data
   Dropped option containing the decimal values 0,160,3,162.  Then:

例えば、パケットがAcknowledgement Number100、受け取るようにすべてのパケットを報告するAck Vector、およびデシマル値0,160、3,162を含むData Droppedオプションと共に到着すると仮定してください。 その時:

      Packet 100 was received (Acknowledgement Number 100, Normal Block,
      Run Length 0).

パケット100を受け取りました(承認Number100、Normal Block、Run Length0)。

      Packet 99 was dropped in a receive buffer (Drop Block, Drop Code
      2, Run Length 0).

パケット99は受信バッファで下げられました(Run Length0、Block、Drop Code2を下げてください)。

      Packets 98, 97, 96, and 95 were received (Normal Block, Run Length
      3).

パケット98、97、96、および95を受け取りました(正常なBlock、Run Length3)。

      Packets 95, 94, and 93 were dropped in the receive buffer (Drop
      Block, Drop Code 2, Run Length 2).

パケット95、94、および93は受信バッファで下げられました(Run Length2、Block、Drop Code2を下げてください)。

   Run lengths of more than 128 (for Normal Blocks) or 16 (for Drop
   Blocks) must be encoded in multiple Blocks.  A single Data Dropped
   option can acknowledge up to 32384 Normal Block data packets,
   although the receiver SHOULD NOT send a Data Dropped option when all
   relevant packets fit into Normal Blocks.  Should more packets need to
   be acknowledged than can fit in 253 bytes of Data Dropped, then
   multiple Data Dropped options can be sent.  The second option will
   begin where the first left off, and so forth.

複数のBlocksで128以上のランレングス(Normal Blocksのための)か16(Drop Blocksのための)をコード化しなければなりません。 ただ一つのData Droppedオプションは最大32384のNormal Blockデータ・パケットを承認できます、すべての関連パケットがNormal Blocksに収まると、受信機SHOULD NOTがData Droppedオプションを送りますが。 より多くのパケットが、253バイトのData Droppedをうまくはめ込むことができるより承認される必要があるはずであり、次に、複数のData Droppedオプションを送ることができます。 2番目のオプションは、1番目がやめたところで始まるので、先へ始まるでしょう。

   One or more Data Dropped options that, together, report the status of
   more packets than have been sent, or that change the status of a
   packet, or that disagree with Ack Vector or equivalent options (by

送ったより多くのパケットの状態を一緒に報告するか、パケットの状態を変えるか、またはAck Vectorか同等なオプションと意見を異にする1つ以上のData Droppedオプション、(

Kohler, et al.              Standards Track                    [Page 93]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[93ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   reporting a "not yet received" packet as "dropped in the receive
   buffer", for example) SHOULD be considered invalid.  The receiving
   DCCP SHOULD either ignore such options, or respond by resetting the
   connection with Reset Code 5, "Option Error".

例えば、「受信バッファでは、下げられる」ように「まだ受け取られていていない」パケットを報告する、) SHOULD、無効であると考えられてください。 受信DCCP SHOULDは、そのようなオプションを無視するか、またはReset Code5との接続、「オプション誤り」をリセットすることによって、応じます。

   A DCCP application interface should let receiving applications
   specify the Drop Codes corresponding to received packets.  For
   example, this would let applications calculate their own checksums
   but still report "dropped due to corruption" packets via the Data
   Dropped option.  The interface SHOULD NOT let applications reduce the
   "seriousness" of a packet's Drop Code; for example, the application
   should not be able to upgrade a packet from delivered corrupt (Drop
   Code 7) to delivered normally (no Drop Code).

DCCPアプリケーション・インターフェースで、受信アプリケーションは容認されたパケットに対応するDrop Codesを指定するべきです。 例えば、これで、アプリケーションは、それら自身のチェックサムについて計算しますが、Data Droppedオプションでまだ「不正への下げられた支払われるべきもの」パケットを報告しているでしょう。 インタフェースSHOULD NOTはアプリケーションにパケットのDrop Codeの「重大さ」を減少させます。 例えば、通常(Drop Codeがない)、提供されて、アプリケーションは提供されるのから不正な状態で(Code7を下げます)パケットをアップグレードさせることができないべきです。

   Data Dropped information is transmitted reliably.  That is, endpoints
   SHOULD continue to transmit Data Dropped options until receiving an
   acknowledgement indicating that the relevant options have been
   processed.  In Ack Vector terms, each acknowledgement should contain
   Data Dropped options that cover the whole Acknowledgement Window
   (Section 11.4.2), although when every packet in that window would be
   placed in a Normal Block, no actual option is required.

データDropped情報は確かに伝えられます。 すなわち、終点SHOULDは、関連オプションを処理してあるのを示す承認を受けるまでData Droppedオプションを伝え続けています。 Ack Vector用語で、各承認は全体のAcknowledgement Window(セクション11.4.2)をカバーするData Droppedオプションを含むべきです、その窓のあらゆるパケットがNormal Blockに置かれるだろうというとき、どんな実際のオプションも必要ではありませんが。

11.7.1.  Data Dropped and Normal Congestion Response

11.7.1. データの下げられて通常の混雑応答

   When deciding on a response to a particular acknowledgement or set of
   acknowledgements containing Data Dropped options, a congestion
   control mechanism MUST consider dropped packets, ECN Congestion
   Experienced marks (including marked packets that are included in Data
   Dropped), and packets singled out in Data Dropped.  For window-based
   mechanisms, the valid response space is defined as follows.

Data Droppedオプションを含む特定の承認か1セットの承認への応答を決めるとき、混雑制御機構は下げられたパケット、電子証券取引ネットワークのCongestion Experiencedマーク(Data Droppedに含まれている著しいパケットを含んでいる)、およびData Droppedで選び抜かれたパケットを考えなければなりません。 窓のベースのメカニズムにおいて、有効回答スペースは以下の通り定義されます。

   Assume an old window of W.  Independently calculate a new window
   W_new1 that assumes no packets were Data Dropped (so W_new1 contains
   only the normal congestion response), and a new window W_new2 that
   assumes no packets were lost or marked (so W_new2 contains only the
   Data Dropped response).  We are assuming that Data Dropped
   recommended a reduction in congestion window, so W_new2 < W.

W.の古い窓を仮定してください。無党派はどんなパケットもData Dropped(したがって、W_new1は通常の混雑応答だけを含んでいる)でなかったと仮定する新しいウィンドウW_new1、およびパケットが全く失われもしませんでしたし、マークもされなかった(したがって、W_new2はData Dropped応答だけを含んでいる)と仮定する新しいウィンドウW_new2について計算します。 私たちは、Data Droppedが混雑ウィンドウでの減少を推薦したと思っていて、そうはW_new2<Wです。

   Then the actual new window W_new MUST NOT be larger than the minimum
   of W_new1 and W_new2; and the sender MAY combine the two responses,
   by setting

実際、次に、新しさ、Wの最小限より大きい_がnew1とW_new2であったに違いないならW_に新しい状態で窓を付けてください。 そして、送付者は設定のそばで2つの応答を結合するかもしれません。

         W_new = W + min(W_new1 - W, 0) + min(W_new2 - W, 0).

W_の新しい=W+分(W_new1--W、0)+分(W_new2--W、0)。

   The details of how this is accomplished are specified in CCID profile
   documents.  Non-window-based congestion control mechanisms MUST
   behave analogously; again, CCID profiles define how.

これがどう優れるかに関する詳細はCCIDプロフィールドキュメントで指定されます。 非の窓のベースの混雑制御機構は類似して振る舞わなければなりません。 一方、CCIDプロフィールはその方法を定義します。

Kohler, et al.              Standards Track                    [Page 94]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[94ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

11.7.2.  Particular Drop Codes

11.7.2. 特定の低下コード

   Drop Code 0, Protocol Constraints, does not indicate any kind of
   congestion, so the sender's CCID SHOULD react to packets with Drop
   Code 0 as if they were received (with or without ECN Congestion
   Experienced marks, as appropriate).  However, the sending endpoint
   SHOULD NOT send data until it believes the protocol constraint no
   longer applies.

低下Code0(プロトコルConstraints)がどんな種類の混雑も示さないので、送付者のCCID SHOULDはDrop Code0と共にまるでそれらを受け取るかのように(電子証券取引ネットワークのCongestion Experiencedマークのあるなしにかかわらず適宜)パケットに反応します。 しかしながら、もうプロトコルが規制であると信じないまで、送付終点SHOULD NOT送信データは適用されます。

   Drop Code 1, Application Not Listening, means the application running
   at the endpoint that sent the option is no longer listening for data.
   For example, a server might close its receiving half-connection to
   new data after receiving a complete request from the client.  This
   would limit the amount of state available at the server for incoming
   data and thus reduce the potential damage from certain denial-of-
   service attacks.  A Data Dropped option containing Drop Code 1 SHOULD
   be sent whenever received data is ignored due to a non-listening
   application.  Once an endpoint reports Drop Code 1 for a packet, it
   SHOULD report Drop Code 1 for every succeeding data packet on that
   half-connection; once an endpoint receives a Drop State 1 report, it
   SHOULD expect that no more data will ever be delivered to the other
   endpoint's application, so it SHOULD NOT send more data.

低下Code1(Application Not Listening)は、オプションを送った終点を走るアプリケーションがもうデータの聞こうとしていないことを意味します。 例えば、サーバは、クライアントから完全な要求を受け取った後に半分接続を新しいデータに受けるのを閉じるかもしれません。 これが受信データのためにサーバで利用可能な状態の量を制限して、その結果、ある否定から可能性のあるダメージを下げるだろう、-、サービス攻撃について。 A Data Droppedは1SHOULDを含有Drop Codeにゆだねます。受信データが非聴いているアプリケーションのため無視されるときはいつも、送ってください。 かつて、終点はパケットのためにDrop Code1を報告して、それはその半分接続での続くあらゆるデータ・パケットのためのSHOULDレポートDrop Code1です。 終点がいったん受信されると、Drop州1は報告します、それ。SHOULDが、それ以上のデータが全く今までにもう片方の終点のアプリケーションに送られないと予想する、そのように、それ、SHOULD NOTは、より多くのデータを送ります。

   Drop Code 2, Receive Buffer, indicates congestion inside the
   receiving host.  For instance, if a drop-from-tail kernel socket
   buffer is too full to accept a packet's application data, that packet
   should be reported as Drop Code 2.  For a drop-from-head or more
   complex socket buffer, the dropped packet should be reported as Drop
   Code 2.  DCCP implementations may also provide an API by which
   applications can mark received packets as Drop Code 2, indicating
   that the application ran out of space in its user-level receive
   buffer.  (However, it is not generally useful to report packets as
   dropped due to Drop Code 2 after more than a couple of round-trip
   times have passed.  The HC-Sender may have forgotten its
   acknowledgement state for the packet by that time, so the Data
   Dropped report will have no effect.)  Every packet newly acknowledged
   as Drop Code 2 SHOULD reduce the sender's instantaneous rate by one
   packet per round-trip time, unless the sender is already sending one
   packet per RTT or less.  Each CCID profile defines the CCID-specific
   mechanism by which this is accomplished.

低下Code2(Receive Buffer)は受信ホストの中に混雑を示します。 例えば、テールからの低下カーネルソケットバッファがパケットのアプリケーションデータを受け入れることができないくらい完全であるなら、そのパケットはDrop Code2として報告されるべきです。 ヘッドからの低下か、より複雑なソケットバッファに関しては、低下しているパケットはDrop Code2として報告されるべきです。 また、DCCP実現はアプリケーションがDrop Code2として容認されたパケットをマークできるAPIを提供するかもしれません、アプリケーションがユーザレベル受信バッファのスペースを使い果たしたのを示して。 (しかしながら、一般に、パケットを報告するのはDrop Code2のため、往復の回の1以上カップルが通った後に、落とされるように役に立ちません。 HC-送付者がその時までにパケットのための承認状態を忘れたかもしれないので、Data Droppedレポートは効き目がないでしょう。) 送付者が既に1RTTあたり1つのパケットを送らない場合Drop Code2SHOULDが往復の時間あたり1つのパケットで送付者の瞬時に起こっているレートを低下させるのに従って新たに承認されたあらゆるパケットか以下。 それぞれのCCIDプロフィールはこれが優れているCCID特有のメカニズムを定義します。

   Currently, the other Drop Codes (namely Drop Code 3, Corrupt; Drop
   Code 7, Delivered Corrupt; and reserved Drop Codes 4-6) MUST cause
   the relevant CCID to behave as if the relevant packets were ECN
   marked (ECN Congestion Experienced).

現在、他のDrop Codes(Corrupt; Code7を落としてください、Delivered Corrupt; すなわち、Drop Code3、そして、Drop Codes4-6を予約した)は関連CCIDをまるで関連パケットが(電子証券取引ネットワークCongestion Experienced)であるとマークされた電子証券取引ネットワークであるかのように振る舞わせなければなりません。

Kohler, et al.              Standards Track                    [Page 95]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[95ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

12.  Explicit Congestion Notification

12. 明白な混雑通知

   The DCCP protocol is fully ECN-aware [RFC3168].  Each CCID specifies
   how its endpoints respond to ECN marks.  Furthermore, DCCP, unlike
   TCP, allows senders to control the rate at which acknowledgements are
   generated (with options like Ack Ratio); since acknowledgements are
   congestion controlled, they also qualify as ECN-Capable Transport.

DCCPプロトコルは電子証券取引ネットワークの完全に意識しています[RFC3168]。 各CCIDは終点がどう電子証券取引ネットワークのマークに応じるかを指定します。 その上、DCCPは送付者にTCPと異なって承認が発生する(Ack Ratioのようなオプションで)速度を制御させます。 承認が制御された混雑であるので、また、それらは電子証券取引ネットワークできるTransportの資格を得ます。

   Each CCID profile describes how that CCID interacts with ECN, both
   for data traffic and pure-acknowledgement traffic.  A sender SHOULD
   set ECN-Capable Transport on its packets' IP headers unless the
   receiver's ECN Incapable feature is on or the relevant CCID disallows
   it.

それぞれのCCIDプロフィールはそのCCIDがデータ通信量と純粋な承認交通のためにどう対話するかを電子証券取引ネットワークに説明します。 受信機の電子証券取引ネットワークIncapableの特徴がオンであるか、または関連CCIDがそれを禁じない場合、送付者SHOULDはパケットのIPヘッダーの上の電子証券取引ネットワークできるTransportを設定しました。

   The rest of this section describes the ECN Incapable feature and the
   interaction of the ECN Nonce with acknowledgement options such as Ack
   Vector.

このセクションの残りはAck Vectorなどの承認オプションとの電子証券取引ネットワークIncapableの特徴と電子証券取引ネットワークNonceの相互作用について説明します。

12.1.  ECN Incapable Feature

12.1. 電子証券取引ネットワークの不可能な特徴

   DCCP endpoints are ECN-aware by default, but the ECN Incapable
   feature lets an endpoint reject the use of Explicit Congestion
   Notification.  The use of this feature is NOT RECOMMENDED.  ECN
   incapability both avoids ECN's possible benefits and prevents senders
   from using the ECN Nonce to check for receiver misbehavior.  A DCCP
   stack MAY therefore leave the ECN Incapable feature unimplemented,
   acting as if all connections were ECN capable.  Note that the
   inappropriate firewall interactions that dogged TCP's implementation
   of ECN [RFC3360] involve TCP header bits, not the IP header's ECN
   bits; we know of no middlebox that would block ECN-capable DCCP
   packets but allow ECN-incapable DCCP packets.

DCCP終点はデフォルトで電子証券取引ネットワークの意識していますが、電子証券取引ネットワークIncapableの特徴で、終点はExplicit Congestion Notificationの使用を拒絶します。 この特徴の使用はNOT RECOMMENDEDです。 電子証券取引ネットワーク不能のために、送付者は、電子証券取引ネットワークの可能な利益を避けて、受信機不正行為がないかどうかチェックするのに電子証券取引ネットワークNonceを使用できません。 したがって、DCCPスタックは電子証券取引ネットワークIncapableの特徴をまるですべての接続ができる電子証券取引ネットワークであるかのように行動して、非実行されたままにするかもしれません。 TCPの電子証券取引ネットワーク[RFC3360]の実現に付きまとった不適当なファイアウォール相互作用がIPヘッダーの電子証券取引ネットワークビットではなく、TCPヘッダービットにかかわることに注意してください。 私たちは、電子証券取引ネットワークできるDCCPパケットを妨げるmiddleboxを全く知りませんが、電子証券取引ネットワーク不可能なDCCPパケットを許します。

   ECN Incapable has feature number 4 and is server-priority.  It takes
   one-byte Boolean values.  DCCP A MUST be able to read ECN bits from
   received frames' IP headers when ECN Incapable/A is zero.  (This is
   independent of whether it can set ECN bits on sent frames.)  DCCP A
   thus sends a "Change L(ECN Inapable, 1)" option to DCCP B to inform
   it that A cannot read ECN bits.  If the ECN Incapable/A feature is
   one, then all of DCCP B's packets MUST be sent as ECN incapable.  New
   connections start with ECN Incapable 0 (that is, ECN capable) for
   both endpoints.  Values of two or more are reserved.

電子証券取引ネットワークIncapableは特徴No.4を持って、サーバ優先権です。 それは1バイトのブール値を取ります。 電子証券取引ネットワークIncapable/Aがゼロであるときに、DCCP Aは容認されたフレームのIPヘッダーから電子証券取引ネットワークビットを読むことができなければなりません。 (それが送られたフレームの上に電子証券取引ネットワークビットを設定できるかどうかからこれは独立しています。) その結果、DCCP Aは、Aが電子証券取引ネットワークビットを読むことができないことをそれに知らせるために「変化L(電子証券取引ネットワークInapable、1)」オプションをDCCP Bに送ります。 電子証券取引ネットワークIncapable/であるなら特徴が1である、そして、電子証券取引ネットワークとして不可能な状態でDCCPビーズパケットのすべてを送らなければなりません。 新しい接続は電子証券取引ネットワークIncapable0(すなわち、できる電子証券取引ネットワーク)から両方の終点に始まります。 2以上の値は予約されています。

   If a DCCP is not ECN capable, it MUST send Mandatory "Change L(ECN
   Incapable, 1)" options to the other endpoint until acknowledged (by
   "Confirm R(ECN Incapable, 1)") or the connection closes.
   Furthermore, it MUST NOT accept any data until the other endpoint

DCCPができる電子証券取引ネットワークでないなら、承認されるまで(「R(不可能な電子証券取引ネットワーク、1)を確認してください」で)もう片方の終点への「変化L(不可能な電子証券取引ネットワーク、1)」オプションをMandatoryに送らなければならない、さもなければ、接続は閉じます。 その上、それはもう片方の終点まで少しのデータも受け入れてはいけません。

Kohler, et al.              Standards Track                    [Page 96]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[96ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   sends "Confirm R(ECN Incapable, 1)".  It SHOULD send Data Dropped
   options on its acknowledgements, with Drop Code 0 ("protocol
   constraints"), if the other endpoint does send data inappropriately.

「R(不可能な電子証券取引ネットワーク、1)を確認してください」を送ります。 それ、SHOULDは承認のときにオプションをData Droppedに送ります、Drop Code0(「プロトコル規制」)と共に、もう片方の終点が不適当に送信データをするなら。

12.2.  ECN Nonces

12.2. 電子証券取引ネットワーク一回だけ

   Congestion avoidance will not occur, and the receiver will sometimes
   get its data faster, if the sender isn't told about congestion
   events.  Thus, the receiver has some incentive to falsify
   acknowledgement information, reporting that marked or dropped packets
   were actually received unmarked.  This problem is more serious with
   DCCP than with TCP, since TCP provides reliable transport: it is more
   difficult with TCP to lie about lost packets without breaking the
   application.

輻輳回避は起こらないでしょう、そして、受信機でデータは時々より速くなるでしょう、送付者が混雑出来事に関して話されないなら。 したがって、受信機で、著しいか低下しているパケットが実際に受け取られたと報告する承認情報を改竄する何らかの誘因が無印になります。 DCCPによって、TCPが信頼できる輸送を提供するとき、この問題はTCPより重大です: TCPによって、無くなっているパケットに関してアプリケーションを破らないで嘘をつくのは、より難しいです。

   ECN Nonces are a general mechanism to prevent ECN cheating (or loss
   cheating).  Two values for the two-bit ECN header field indicate
   ECN-Capable Transport, 01 and 10.  The second code point, 10, is the
   ECN Nonce.  In general, a protocol sender chooses between these code
   points randomly on its output packets, remembering the sequence it
   chose.  On every acknowledgement, the protocol receiver reports the
   number of ECN Nonces it has received thus far.  This is called the
   ECN Nonce Echo.  Since ECN marking and packet dropping both destroy
   the ECN Nonce, a receiver that lies about an ECN mark or packet drop
   has a 50% chance of guessing right and avoiding discipline.  The
   sender may react punitively to an ECN Nonce mismatch, possibly up to
   dropping the connection.  The ECN Nonce Echo field need not be an
   integer; one bit is enough to catch 50% of infractions, and the
   probability of success drops exponentially as more packets are sent
   [RFC3540].

電子証券取引ネットワークNoncesは電子証券取引ネットワークが不正行為をするのを防ぐ一般的機構(または、損失の不正行為する)です。 安っぽい電子証券取引ネットワークヘッダーフィールドのための2つの値が電子証券取引ネットワークできるTransport、01、および10を示します。 2番目のコード・ポイント(10)は電子証券取引ネットワークNonceです。 一般に、それが選んだ系列を覚えていて、プロトコル送付者は出力パケットの上で手当たりしだいにこれらのコード・ポイントを選びます。 あらゆる承認に関して、プロトコル受信機はそれがこれまでのところ受けた電子証券取引ネットワークNoncesの数を報告します。 これは電子証券取引ネットワークNonce Echoと呼ばれます。 以来、電子証券取引ネットワークのマークとパケット低下は電子証券取引ネットワークNonceを破壊して、電子証券取引ネットワークのマークかパケット滴に関してある受信機はまさしく推測して、規律を避けるという50%の確率を持っています。 送付者は電子証券取引ネットワークのNonceミスマッチにことによると接続を落とすまで懲罰的に反応するかもしれません。 電子証券取引ネットワークNonce Echo分野は整数である必要はありません。 [RFC3540]をより多くのパケットに送るとき、あるビットは、50%の違反、および成功低下の確率を指数関数的に捕らえるために十分です。

   In DCCP, the ECN Nonce Echo field is encoded in acknowledgement
   options.  For example, the Ack Vector option comes in two forms, Ack
   Vector [Nonce 0] (option 38) and Ack Vector [Nonce 1] (option 39),
   corresponding to the two values for a one-bit ECN Nonce Echo.  The
   Nonce Echo for a given Ack Vector equals the one-bit sum (exclusive-
   or, or parity) of ECN nonces for packets reported by that Ack Vector
   as received and not ECN marked.  Thus, only packets marked as State 0
   matter for this calculation (that is, valid received packets that
   were not ECN marked).  Every Ack Vector option is detailed enough for
   the sender to determine what the Nonce Echo should have been.  It can
   check this calculation against the actual Nonce Echo and complain if
   there is a mismatch.  (The Ack Vector could conceivably report every
   packet's ECN Nonce state, but this would severely limit its
   compressibility without providing much extra protection.)

DCCPでは、電子証券取引ネットワークNonce Echo分野は承認オプションでコード化されます。 例えば、Ack Vectorオプションは2つのフォーム、Ack Vector[一回だけ0](オプション38)、およびAck Vector[一回だけ1](オプション39)に入ります、1ビットの電子証券取引ネットワークNonce Echoにおいて2つの値に対応しています。 または、与えられたAck VectorのためのNonce Echoが1ビットの合計と等しい、(排他的である、同等) 電子証券取引ネットワークでは、パケットのための一回だけはそれでAck Vectorが受け取られていて、どんな電子証券取引ネットワークも著しくないと報告しました。 州0としてマークされたパケットだけがこの計算(すなわち、マークされた電子証券取引ネットワークでなかった有効な容認されたパケット)のために重要です。 あらゆるAck Vectorオプションが送付者が、Nonce Echoが何であるべきであったかを決心しているほど詳細です。 ミスマッチがあれば、それは、実際のNonce Echoに対してこの計算をチェックして、不平を言うことができます。 (Ack Vectorは多分あらゆるパケットの電子証券取引ネットワークNonce状態を報告できましたが、多くの特別な防護措置を提供しないで、これは厳しく圧縮性を制限するでしょう。)

   Each DCCP sender SHOULD set ECN Nonces on its packets and remember
   which packets had nonces.  When a sender detects an ECN Nonce Echo

それぞれのDCCP送付者SHOULDは、電子証券取引ネットワークNoncesをパケットにけしかけて、どのパケットに一回だけがあったかを覚えています。 送付者が電子証券取引ネットワークNonce Echoを検出するとき

Kohler, et al.              Standards Track                    [Page 97]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[97ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   mismatch, it behaves as described in the next section.  Each DCCP
   receiver MUST calculate and use the correct value for ECN Nonce Echo
   when sending acknowledgement options.

ミスマッチ、それは次のセクションで説明されるように反応します。 承認オプションを送るとき、それぞれのDCCP受信機は、電子証券取引ネットワークNonce Echoに正しい値を計算して、使用しなければなりません。

   ECN incapability, as indicated by the ECN Incapable feature, is
   handled as follows: an endpoint sending packets to an ECN-incapable
   receiver MUST send its packets as ECN incapable, and an ECN-
   incapable receiver MUST use the value zero for all ECN Nonce Echoes.

電子証券取引ネットワークIncapableの特徴によって示される電子証券取引ネットワーク不能は以下の通り扱われます: 電子証券取引ネットワーク不可能な受信機にパケットを送る終点は電子証券取引ネットワークとして不可能な状態でパケットを送らなければなりません、そして、電子証券取引ネットワークの不可能な受信機はすべての電子証券取引ネットワークNonceエコーズに値ゼロを使用しなければなりません。

12.3.  Aggression Penalties

12.3. 攻撃性刑罰

   DCCP endpoints have several mechanisms for detecting congestion-
   related misbehavior.  For example:

DCCP終点には、混雑関連する不正行為を検出するための数個のメカニズムがあります。 例えば:

   o  A sender can detect an ECN Nonce Echo mismatch, indicating
      possible receiver misbehavior.

o 可能な受信機不正行為を示して、送付者は電子証券取引ネットワークのNonce Echoミスマッチを検出できます。

   o  A receiver can detect whether the sender is responding to
      congestion feedback or Slow Receiver.

o 受信機は、送付者が混雑フィードバックかSlow Receiverに応じているかどうか検出できます。

   o  An endpoint may be able to detect that its peer is reporting
      inappropriately small Elapsed Time values (Section 13.2).

o 終点はそれを検出できるかもしれません。同輩は不適当に小さいElapsed Time値(セクション13.2)を報告しています。

   An endpoint that detects possible congestion-related misbehavior
   SHOULD try to verify that its peer is truly misbehaving.  For
   example, a sending endpoint might send a packet whose ECN header
   field is set to Congestion Experienced, 11; a receiver that doesn't
   report a corresponding mark is most likely misbehaving.

同輩がSHOULDが確かめようとする可能な混雑関連の不正行為ですが、それが本当に、ふらちな事をしながら検出する終点。 例えば、送付終点は電子証券取引ネットワークヘッダーフィールドがCongestion Experienced、11に設定されるパケットを送るかもしれません。 対応するマークを報告しない受信機はたぶんふらちな事をしています。

   Upon detecting possible misbehavior, a sender SHOULD respond as if
   the receiver had reported one or more recent packets as ECN-marked
   (instead of unmarked), while a receiver SHOULD report one or more
   recent non-marked packets as ECN-marked.  Alternately, a sender might
   act as if the receiver had sent a Slow Receiver option, and a
   receiver might send Slow Receiver options.  Other reactions that
   serve to slow the transfer rate are also acceptable.  An entity that
   detects particularly egregious and ongoing misbehavior MAY also reset
   the connection with Reset Code 11, "Aggression Penalty".

受信機である間、可能な不正行為、まるで受信機が、1つ以上の最近のパケットが電子証券取引ネットワークが同じくらい著しいと(無印の代わりに)報告したかのようにSHOULDが反応させる送付者を検出すると、SHOULDは、1つ以上の最近の非著しいパケットが電子証券取引ネットワークが同じくらい著しいと報告します。 交互に、まるで受信機がSlow Receiverオプションを送ったかのように送付者は行動するかもしれません、そして、受信機はオプションをSlow Receiverに送るかもしれません。 また、転送レートを遅くするのに役立つ他の反応も許容できます。 また、特にとてもひどくて進行中の不正行為を検出する実体はReset Code11との接続、「攻撃性刑罰」をリセットするかもしれません。

   However, ECN Nonce mismatches and other warning signs can result from
   innocent causes, such as implementation bugs or attack.  In
   particular, a successful DCCP-Data attack (Section 7.5.5) can cause
   the receiver to report an incorrect ECN Nonce Echo.  Therefore,
   connection reset and other heavyweight mechanisms SHOULD be used only
   as last resorts, after multiple round-trip times of verified
   aggression.

しかしながら、電子証券取引ネットワークのNonceミスマッチと他の危険信号は実現バグか攻撃などの潔白な原因から生じることができます。 うまくいっているDCCP-データ攻撃(セクション7.5.5)で特に、受信機は不正確な電子証券取引ネットワークNonce Echoを報告できます。 したがって、接続のリセットと他の大物メカニズムSHOULD、単に切り札として使用されてください、確かめられた攻撃性の複数の往復の回の後に。

Kohler, et al.              Standards Track                    [Page 98]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[98ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

13.  Timing Options

13. タイミング・オプション

   The Timestamp, Timestamp Echo, and Elapsed Time options help DCCP
   endpoints explicitly measure round-trip times.

Timestamp、Timestamp Echo、およびElapsed Timeオプションは、DCCP終点が明らかに往復の回を測定するのを助けます。

13.1.  Timestamp Option

13.1. タイムスタンプオプション

   This option is permitted in any DCCP packet.  The length of the
   option is 6 bytes.

このオプションはどんなDCCPパケットでも受入れられます。 オプションの長さは6バイトです。

   +--------+--------+--------+--------+--------+--------+
   |00101001|00000110|          Timestamp Value          |
   +--------+--------+--------+--------+--------+--------+
    Type=41  Length=6

+--------+--------+--------+--------+--------+--------+ |00101001|00000110| タイムスタンプ値| +--------+--------+--------+--------+--------+--------+ タイプ=41長さ=の6

   The four bytes of option data carry the timestamp of this packet.
   The timestamp is a 32-bit integer that increases monotonically with
   time, at a rate of 1 unit per 10 microseconds.  At this rate,
   Timestamp Value will wrap approximately every 11.9 hours.  Endpoints
   need not measure time at this fine granularity; for example, an
   endpoint that preferred to measure time at millisecond granularity
   might send Timestamp Values that were all multiples of 100.  The
   precise time corresponding to Timestamp Value zero is not specified:
   Timestamp Values are only meaningful relative to other Timestamp
   Values sent on the same connection.  A DCCP receiving a Timestamp
   option SHOULD respond with a Timestamp Echo option on the next packet
   it sends.

4バイトのオプションデータはこのパケットに関するタイムスタンプを運びます。 タイムスタンプは時間に従って10マイクロセカンドあたり1ユニットのレートで単調に増加する32ビットの整数です。 このままでいくと、Timestamp Valueは11.9時間毎を包装するでしょう。 終点はこのすばらしい粒状で少しの測定時間も必要としません。 例えば、そんなに都合のよいミリセカンド粒状における測定時間までの終点はすべて100の倍数であったTimestamp Valuesを送るかもしれません。 Timestamp Valueゼロに対応する正確な時間は指定されません: タイムスタンプValuesは同じ接続に送られた他のTimestamp Valuesに比例して重要であるだけです。 それが送る次のパケットの上にTimestamp Echoオプションがある状態でSHOULDが反応させるTimestampオプションを受け取るDCCP。

13.2.  Elapsed Time Option

13.2. 経過時間オプション

   This option is permitted in any DCCP packet that contains an
   Acknowledgement Number; such options received on other packet types
   MUST be ignored.  It indicates how much time has elapsed since the
   packet being acknowledged -- the packet with the given
   Acknowledgement Number -- was received.  The option may take 4 or 6
   bytes, depending on the size of the Elapsed Time value.  Elapsed Time
   helps correct round-trip time estimates when the gap between
   receiving a packet and acknowledging that packet may be long -- in
   CCID 3, for example, where acknowledgements are sent infrequently.

このオプションはAcknowledgement Numberを含むどんなDCCPパケットでも受入れられます。 他のパケットタイプで受け取られたそのようなオプションを無視しなければなりません。 それは、承認されるパケット(与えられたAcknowledgement Numberがあるパケット)を受け取って以来どのくらいの時間が経過しているかを示します。 Elapsed Time価値のサイズによって、オプションは4バイトか6バイト取るかもしれません。 経過したTimeは例えば、パケットを受けて、そのパケットを承認するところのギャップがCCID3で長く承認がまれに送られる適度の往復の時間見積りを助けます。

Kohler, et al.              Standards Track                    [Page 99]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[99ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   +--------+--------+--------+--------+
   |00101011|00000100|   Elapsed Time  |
   +--------+--------+--------+--------+
    Type=43    Len=4

+--------+--------+--------+--------+ |00101011|00000100| 経過時間| +--------+--------+--------+--------+ タイプ=43レン=4

   +--------+--------+--------+--------+--------+--------+
   |00101011|00000110|            Elapsed Time           |
   +--------+--------+--------+--------+--------+--------+
    Type=43    Len=6

+--------+--------+--------+--------+--------+--------+ |00101011|00000110| 経過時間| +--------+--------+--------+--------+--------+--------+ タイプ=43レン=6

   The option data, Elapsed Time, represents an estimated lower bound on
   the amount of time elapsed since the packet being acknowledged was
   received, with units of hundredths of milliseconds.  If Elapsed Time
   is less than a half-second, the first, smaller form of the option
   SHOULD be used.  Elapsed Times of more than 0.65535 seconds MUST be
   sent using the second form of the option.  The special Elapsed Time
   value 4294967295, which corresponds to approximately 11.9 hours, is
   used to represent any Elapsed Time greater than 42949.67294 seconds.
   DCCP endpoints MUST NOT report Elapsed Times that are significantly
   larger than the true elapsed times.  A connection MAY be reset with
   Reset Code 11, "Aggression Penalty", if one endpoint determines that
   the other is reporting a much-too-large Elapsed Time.

オプションデータ(Elapsed Time)は時間に概算のときに下界を表します。ミリセカンドのユニットの100分の1で承認されるパケットを受け取ったので、経過しました。 Elapsed TimeがオプションSHOULDの半分2番目、1番目より少なくて、より小さいフォームであるなら、使用されてください。 0.65535秒以上の経過したタイムズにオプションの2番目のフォームを使用させなければなりません。 特別なElapsed Time値4294967295(およそ11.9時間に対応します)は、どんなElapsed Timeも42949.67294秒以上表すのに使用されます。 DCCP終点は本当の経過時間よりかなり大きいElapsedタイムズを報告してはいけません。 Reset Code11、「攻撃性刑罰」で接続はリセットされるかもしれません、1つの終点が、もう片方が非常に大き過ぎるElapsed Timeを報告していることを決定するなら。

   Elapsed Time is measured in hundredths of milliseconds as a
   compromise between two conflicting goals.  First, it provides enough
   granularity to reduce rounding error when measuring elapsed time over
   fast LANs; second, it allows many reasonable elapsed times to fit
   into two bytes of data.

経過したTimeは2つの闘争目標の間の妥協としてミリセカンドの100分の1で測定されます。 まず最初に、測定経過時間であるとき、丸め誤差を減少させることができるくらいの粒状を速いLANの上に提供します。 2番目に、それで、多くの妥当な経過時間が2バイトのデータに収まることができます。

13.3.  Timestamp Echo Option

13.3. タイムスタンプエコーオプション

   This option is permitted in any DCCP packet, as long as at least one
   packet carrying the Timestamp option has been received.  Generally, a
   DCCP endpoint should send one Timestamp Echo option for each
   Timestamp option it receives, and it should send that option as soon
   as is convenient.  The length of the option is between 6 and 10
   bytes, depending on whether Elapsed Time is included and how large it
   is.

このオプションはどんなDCCPパケットでも受入れられます、Timestampオプションを運ぶ少なくとも1つのパケットを受け取った限り。 一般に、DCCP終点はそれが受け取るそれぞれのTimestampオプションあたり1つのTimestamp Echoオプションを送るべきです、そして、それは同じくらいすぐ、そのままで便利な状態でそのオプションを送るべきです。 オプションの長さは6〜10バイトです、Elapsed Timeが含まれているかどうかと、それがどれくらい大きいかよって。

Kohler, et al.              Standards Track                   [Page 100]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[100ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   +--------+--------+--------+--------+--------+--------+
   |00101010|00000110|           Timestamp Echo          |
   +--------+--------+--------+--------+--------+--------+
    Type=42    Len=6

+--------+--------+--------+--------+--------+--------+ |00101010|00000110| タイムスタンプエコー| +--------+--------+--------+--------+--------+--------+ タイプ=42レン=6

   +--------+--------+------- ... -------+--------+--------+
   |00101010|00001000|  Timestamp Echo   |   Elapsed Time  |
   +--------+--------+------- ... -------+--------+--------+
    Type=42    Len=8       (4 bytes)

+--------+--------+------- ... -------+--------+--------+ |00101010|00001000| タイムスタンプエコー| 経過時間| +--------+--------+------- ... -------+--------+--------+ タイプ=42レン=8(4バイト)

   +--------+--------+------- ... -------+------- ... -------+
   |00101010|00001010|  Timestamp Echo   |    Elapsed Time   |
   +--------+--------+------- ... -------+------- ... -------+
    Type=42   Len=10       (4 bytes)           (4 bytes)

+--------+--------+------- ... -------+------- ... -------+ |00101010|00001010| タイムスタンプエコー| 経過時間| +--------+--------+------- ... -------+------- ... -------+ タイプ=42レン=10(4バイト)(4バイト)

   The first four bytes of option data, Timestamp Echo, carry a
   Timestamp Value taken from a preceding received Timestamp option.
   Usually, this will be the last packet that was received -- the packet
   indicated by the Acknowledgement Number, if any -- but it might be a
   preceding packet.  Each Timestamp received will generally result in
   exactly one Timestamp Echo transmitted.  If an endpoint has received
   multiple Timestamp options since the last time it sent a packet, then
   it MAY ignore all Timestamp options but the one included on the
   packet with the greatest sequence number.  Alternatively, it MAY
   include multiple Timestamp Echo options in its response, each
   corresponding to a different Timestamp option.

最初の4バイトのオプションデータ(Timestamp Echo)は前の容認されたTimestampオプションから取られたTimestamp Valueを運びます。 通常、これは受け取られたパケットになるでしょう最後の--もしあればAcknowledgement Numberによって示されたパケットにもかかわらず、それは前のパケットであるかもしれません。 一般に、Timestampが受けたそれぞれがちょうどTimestamp Echoが伝えたものをもたらすでしょう。 最後の時間パケットを送って以来終点が複数のTimestampオプションを受け取っているなら、パケットの上に最大級の一連番号でオプションにもかかわらず、ものを含んでいる場合、それはすべてのTimestampを無視するかもしれません。 あるいはまた、それぞれ異なったTimestampオプションに対応している、それは応答における複数のTimestamp Echoオプションを含むかもしれません。

   The Elapsed Time value, similar to that in the Elapsed Time option,
   indicates the amount of time elapsed since receiving the packet whose
   timestamp is being echoed.  This time MUST have units of hundredths
   of milliseconds.  Elapsed Time is meant to help the Timestamp sender
   separate the network round-trip time from the Timestamp receiver's
   processing time.  This may be particularly important for CCIDs where
   acknowledgements are sent infrequently, so that there might be
   considerable delay between receiving a Timestamp option and sending
   the corresponding Timestamp Echo.  A missing Elapsed Time field is
   equivalent to an Elapsed Time of zero.  The smallest version of the
   option SHOULD be used that can hold the relevant Elapsed Time value.

Elapsed Timeオプションにおいてそれと同様のElapsed Time値は、タイムスタンプが反映されているパケットを受けて以来時間が経過したのを示します。 今回には、ミリセカンドのユニットの100分の1がなければなりません。 経過したTimeは、Timestamp送付者がTimestamp受信機の処理時間とネットワークの往復の時間を切り離すのを助けることになっています。 承認がまれに送られるCCIDsには、これは特に重要であるかもしれません、Timestampオプションを受け取って、対応するTimestamp Echoを送るとき、かなりの遅延があることができるように。 なくなったElapsed Time分野はゼロのElapsed Timeに同等です。 最も小さいバージョン、使用されて、それが関連Elapsed Time値を保持できるというオプションSHOULDでは、ことになってください。

14.  Maximum Packet Size

14. 最大のパケットサイズ

   A DCCP implementation MUST maintain the maximum packet size (MPS)
   allowed for each active DCCP session.  The MPS is influenced by the
   maximum packet size allowed by the current congestion control
   mechanism (CCMPS), the maximum packet size supported by the path's
   links (PMTU, the Path Maximum Transmission Unit) [RFC1191], and the
   lengths of the IP and DCCP headers.

DCCP実装はそれぞれの活発なDCCPセッションのときに考慮された最大のパケットサイズ(MPS)を維持しなければなりません。 MPSは現在の混雑制御機構によって許容された最大のパケットサイズ(CCMPS)、経路のリンク(PMTU、Path Maximum Transmission Unit)によってサポートされた最大のパケットサイズ[RFC1191]、およびIPとDCCPヘッダーの長さによって影響を及ぼされます。

Kohler, et al.              Standards Track                   [Page 101]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[101ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   A DCCP application interface SHOULD let the application discover
   DCCP's current MPS.  Generally, the DCCP implementation will refuse
   to send any packet bigger than the MPS, returning an appropriate
   error to the application.  A DCCP interface MAY allow applications to
   request fragmentation for packets larger than PMTU, but not larger
   than CCMPS.  (Packets larger than CCMPS MUST be rejected in any
   case.)  Fragmentation SHOULD NOT be the default, since it decreases
   robustness: an entire packet is discarded if even one of its
   fragments is lost.  Applications can usually get better error
   tolerance by producing packets smaller than the PMTU.

DCCPアプリケーション・インターフェースSHOULDはアプリケーションにDCCPの現在のMPSを発見させました。一般に、DCCP実装は、MPSより大きくどんなパケットも送るのを拒否するでしょう、適切な誤りをアプリケーションに返して。 アプリケーションがDCCPインタフェースからPMTUより大きくて、しかし、CCMPSほど大きくないパケットのための断片化を要求できるかもしれない、(パケット、いずれもケースに入れるCCMPS MUSTより大きい拒絶されたコネ)。 断片化SHOULD NOT、丈夫さを減少させるので、デフォルトになってください: 断片の1つさえ無くなるなら、全体のパケットは捨てられます。 アプリケーションで、通常、パケットを作り出すのによる、より良い誤り寛容はPMTUより小さくなる場合があります。

   The MPS reported to the application SHOULD be influenced by the size
   expected to be required for DCCP headers and options.  If the
   application provides data that, when combined with the options the
   DCCP implementation would like to include, would exceed the MPS, the
   implementation should either send the options on a separate packet
   (such as a DCCP-Ack) or lower the MPS, drop the data, and return an
   appropriate error to the application.

MPSは、DCCPヘッダーとオプションに必要であると予想されたサイズによって影響を及ぼされるようにアプリケーションSHOULDに報告しました。 アプリケーションがDCCP実装が含みたがっているオプションに結合されるとMPSを超えているデータを提供するなら、実装は、アプリケーションに別々のパケット(DCCP-Ackなどの)にオプションを送るべきであるか、MPSを下ろして、データを下げて、または適切な誤りを返すべきです。

14.1.  Measuring PMTU

14.1. 測定PMTU

   Each DCCP endpoint MUST keep track of the current PMTU for each
   connection, except that this is not required for IPv4 connections
   whose applications have requested fragmentation.  The PMTU SHOULD be
   initialized from the interface MTU that will be used to send packets.
   The MPS will be initialized with the minimum of the PMTU and the
   CCMPS, if any.

それぞれのDCCP終点は各接続のために現在のPMTUの動向をおさえなければなりません、これがアプリケーションが断片化を要求したIPv4接続に必要でないのを除いて。 PMTU SHOULD、パケットを送るのに使用されるインタフェースMTUから、初期化されてください。 MPSはPMTUとCCMPSの最小限でもしあれば初期化されるでしょう。

   Classical PMTU discovery uses unfragmentable packets.  In IPv4, these
   packets have the IP Don't Fragment (DF) bit set; in IPv6, all packets
   are unfragmentable once emitted by an end host.  As specified in
   [RFC1191], when a router receives a packet with DF set that is larger
   than the next link's MTU, it sends an ICMP Destination Unreachable
   message back to the source whose Code indicates that an
   unfragmentable packet was too large to forward (a "Datagram Too Big"
   message).  When a DCCP implementation receives a Datagram Too Big
   message, it decreases its PMTU to the Next-Hop MTU value given in the
   ICMP message.  If the MTU given in the message is zero, the sender
   chooses a value for PMTU using the algorithm described in [RFC1191],
   Section 7.  If the MTU given in the message is greater than the
   current PMTU, the Datagram Too Big message is ignored, as described
   in [RFC1191].  (We are aware that this may cause problems for DCCP
   endpoints behind certain firewalls.)

古典的なPMTU発見は「非-断片-可能」パケットを使用します。 IPv4に、これらのパケットには、どんなFragment(DF)ビットも設定しなかったIPドンがいます。 IPv6では、終わりのホストによっていったん放たれていると、すべてのパケットが「非-断片-可能」です。 ルータがDFがセットしたことでの次のリンクのMTUより大きいパケットを受けるとき、[RFC1191]で指定されるようにCodeが「非-断片-可能」パケットが進めることができないくらい大きかったのを示すソースにICMP Destination Unreachableメッセージを送り返す、(「データグラム、あまりに大きい」、メッセージ) DCCP実装がデータグラムToo Bigメッセージを受け取るとき、それはICMPメッセージで与えられたNext-ホップMTU価値とPMTUを減少させます。 メッセージで与えられているMTUがゼロであるなら、送付者は[RFC1191](セクション7)で説明されたアルゴリズムを使用するPMTUのための値を選びます。 メッセージで与えられているMTUが現在のPMTUより大きいなら、データグラムToo Bigメッセージは無視されます、[RFC1191]で説明されるように。 (私たちはこれが、あるファイアウォールの後ろのDCCP終点に問題を起こすかもしれないのを意識しています。)

   A DCCP implementation may allow the application occasionally to
   request that PMTU discovery be performed again.  This will reset the
   PMTU to the outgoing interface's MTU.  Such requests SHOULD be rate
   limited, to one per two seconds, for example.

DCCP実装は、PMTU発見が再び実行されるよう要求するために時折アプリケーションを許容するかもしれません。 これは外向的なインタフェースのMTUにPMTUをリセットするでしょう。 そのようなものは、SHOULDが例えば2秒あたり1つに制限されたレートであるよう要求します。

Kohler, et al.              Standards Track                   [Page 102]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[102ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   A DCCP sender MAY treat the reception of an ICMP Datagram Too Big
   message as an indication that the packet being reported was not lost
   due to congestion, and so for the purposes of congestion control it
   MAY ignore the DCCP receiver's indication that this packet did not
   arrive.  However, if this is done, then the DCCP sender MUST check
   the ECN bits of the IP header echoed in the ICMP message and only
   perform this optimization if these ECN bits indicate that the packet
   did not experience congestion prior to reaching the router whose link
   MTU it exceeded.

報告されるパケットが混雑のため失われなかったので混雑の目的がそれを制御するので失われたという指示がこのパケットが到着しなかったというDCCP受信機の指示を無視するとき、DCCP送付者はICMPデータグラムToo Bigメッセージのレセプションを扱うかもしれません。 しかしながら、これが完了しているなら、これらの電子証券取引ネットワークビットが、それがリンクMTUを超えていたルータに達する前にパケットが混雑を経験しなかったのを示すなら、DCCP送付者は、ICMPメッセージで言葉を繰り返されたIPヘッダーの電子証券取引ネットワークビットをチェックして、この最適化を実行するだけでよいです。

   A DCCP implementation SHOULD ensure, as far as possible, that ICMP
   Datagram Too Big messages were actually generated by routers, so that
   attackers cannot drive the PMTU down to a falsely small value.  The
   simplest way to do this is to verify that the Sequence Number on the
   ICMP error's encapsulated header corresponds to a Sequence Number
   that the implementation recently sent.  (According to current
   specifications, routers should return the full DCCP header and
   payload up to a maximum of 576 bytes [RFC1812] or the minimum IPv6
   MTU [RFC2463], although they are not required to return more than 64
   bits [RFC792].  Any amount greater than 128 bits will include the
   Sequence Number.)  ICMP Datagram Too Big messages with incorrect or
   missing Sequence Numbers may be ignored, or the DCCP implementation
   may lower the PMTU only temporarily in response.  If more than three
   odd Datagram Too Big messages are received and the other DCCP
   endpoint reports more than three lost packets, however, the DCCP
   implementation SHOULD assume the presence of a confused router and
   either obey the ICMP messages' PMTU or (on IPv4 networks) switch to
   allowing fragmentation.

SHOULDがメッセージが実際にルータによって生成されたそのICMPデータグラムToo Bigをできるだけ確実にするDCCP実装、攻撃者が運転できないように、PMTUは間違って小さい値にダウンします。 これをする最も簡単な方法はICMP誤りのカプセル化されたヘッダーの上のSequence Numberが実装が最近送ったSequence Numberに対応することを確かめることです。 現在の仕様に従って、ルータは完全なDCCPヘッダーとペイロードを最大576バイト[RFC1812]か最小のIPv6 MTU[RFC2463]まで返すべきです、64ビット[RFC792]以上を返す必要はありませんが、エニィ・アマウント。(128ビットがSequence Numberを含むよりすばらしい、) 不正確であるかなくなったSequence民数記があるICMPデータグラムToo Bigメッセージが無視されるかもしれませんか、またはDCCP実装は応答で一時だけPMTUを下ろすかもしれません。 3つ以上の変なデータグラムToo Bigメッセージが受信されていて、もう片方のDCCP終点が3つ以上の無くなっているパケットを報告するなら、しかしながら、DCCP実装SHOULDは混乱したルータの存在を仮定して、ICMPメッセージのPMTUか(IPv4ネットワークの)スイッチに断片化を許すのに従います。

   DCCP also allows upward probing of the PMTU [PMTUD], where the DCCP
   endpoint begins by sending small packets with DF set and then
   gradually increases the packet size until a packet is lost.  This
   mechanism does not require any ICMP error processing.  DCCP-Sync
   packets are the best choice for upward probing, since DCCP-Sync
   probes do not risk application data loss.  The DCCP implementation
   inserts arbitrary data into the DCCP-Sync application area, padding
   the packet to the right length.  Since every valid DCCP-Sync
   generates an immediate DCCP-SyncAck in response, the endpoint will
   have a pretty good idea of when a probe is lost.

DCCPはまた、DCCP終点が発信することによって始まるDFがある小型小包が設定するPMTU[PMTUD]の上向きの調べを許して、パケットが無くなるまで、次に、徐々にパケットサイズを増強します。 このメカニズムは少しのICMPエラー処理も必要としません。 DCCP-同時性探測装置がアプリケーションデータの損失の危険を冒さないので、DCCP-同時性パケットは上向きの調べのための最も良い選択です。 正しい長さにパケットを水増しして、DCCP実装はDCCP-同時性アプリケーション部に任意のデータを挿入します。 あらゆる有効なDCCP-同時性が応答で即座のDCCP-SyncAckを生成するので、終点には、徹底的調査が無くなる時に関するかなり良い考えがあるでしょう。

14.2.  Sender Behavior

14.2. 送付者の振舞い

   A DCCP sender SHOULD send every packet as unfragmentable, as
   described above, with the following exceptions.

SHOULDが上で説明される以下の例外で同じくらい「非-断片-可能」なあらゆるパケットを送るDCCP送付者。

   o  On IPv4 connections whose applications have requested
      fragmentation, the sender SHOULD send packets with the DF bit not
      set.

o アプリケーションが断片化を要求したIPv4接続のときに、DFビットがセットしていなく、送付者SHOULDはパケットを送ります。

Kohler, et al.              Standards Track                   [Page 103]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[103ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   o  On IPv6 connections whose applications have requested
      fragmentation, the sender SHOULD use fragmentation extension
      headers to fragment packets larger than PMTU into suitably-sized
      chunks.  (Those chunks are, of course, unfragmentable.)

o アプリケーションが断片化を要求したIPv6接続のときに、送付者SHOULDは、PMTUより適当にサイズの塊に大きいパケットを断片化するのに断片化拡張ヘッダーを使用します。 (それらの塊はもちろん「非-断片-可能」です。)

   o  It is undesirable for PMTU discovery to occur on the initial
      connection setup handshake, as the connection setup process may
      not be representative of packet sizes used during the connection,
      and performing MTU discovery on the initial handshake might
      unnecessarily delay connection establishment.  Thus, DCCP-Request
      and DCCP-Response packets SHOULD be sent as fragmentable.  In
      addition, DCCP-Reset packets SHOULD be sent as fragmentable,
      although typically these would be small enough to not be a
      problem.  For IPv4 connections, these packets SHOULD be sent with
      the DF bit not set; for IPv6 connections, they SHOULD be
      preemptively fragmented to a size not larger than the relevant
      interface MTU.

o PMTU発見が初期の接続設定握手のときに起こるのは、望ましくありません、接続設定プロセスが接続の間に使用されるパケットサイズは代表されないかもしれなくて、初期の握手にMTU発見を実行するとコネクション確立が不必要に遅らせられるかもしれないとき。 その結果、DCCP-要求とDCCP-応答パケットSHOULD、「断片-可能」として、送ってください。 通常これらは小さいでしょうが、「断片-可能」としてDCCP-リセットパケットSHOULDを送って、さらに、問題でない小さくいてください。 IPv4接続、これらのパケットSHOULD、DFビットがセットしていなく、送ってください。 IPv6接続のために彼ら、断片化されて、SHOULDは先制的に関連インタフェースMTUほど大きくないサイズへのそうです。

   If the DCCP implementation has decreased the PMTU, the sending
   application has not requested fragmentation, and the sending
   application attempts to send a packet larger than the new MPS, the
   API MUST refuse to send the packet and return an appropriate error to
   the application.  The application should then use the API to query
   the new value of MPS.  The kernel might have some packets buffered
   for transmission that are smaller than the old MPS but larger than
   the new MPS.  It MAY send these packets as fragmentable, or it MAY
   discard these packets; it MUST NOT send them as unfragmentable.

DCCP実装がPMTUを減少させて、送付アプリケーションが断片化を要求していなくて、送付アプリケーションが、新しいMPSより大きいパケットを送るのを試みるなら、APIは、アプリケーションにパケットを送って、適切な誤りを返すのを拒否しなければなりません。 次に、アプリケーションは、MPSの新しい値について質問するのにAPIを使用するべきです。古いMPSより小さい、しかし、新しいMPSより大きいトランスミッションのためにカーネルでいくつかのパケットをバッファリングするかもしれません。「断片-可能」としてこれらのパケットを送るかもしれませんか、またはこれらのパケットを捨てるかもしれません。 それは「非-断片-可能」としてそれらを送ってはいけません。

15.  Forward Compatibility

15. 下位互換

   Future versions of DCCP may add new options and features.  A few
   simple guidelines will let extended DCCPs interoperate with normal
   DCCPs.

DCCPの将来のバージョンは新しいオプションと特徴を加えるかもしれません。 いくつかの簡単なガイドラインで、拡張DCCPsは正常なDCCPsと共に共同利用するでしょう。

   o  DCCP processors MUST NOT act punitively towards options and
      features they do not understand.  For example, DCCP processors
      MUST NOT reset the connection if some field marked Reserved in
      this specification is non-zero; if some unknown option is present;
      or if some feature negotiation option mentions an unknown feature.
      Instead, DCCP processors MUST ignore these events.  The Mandatory
      option is the single exception: if Mandatory precedes some unknown
      option or feature, the connection MUST be reset.

o DCCPプロセッサはオプションに向かって懲罰的に作動してはいけません、そして、それらがする特徴は分かりません。 例えば、DCCPプロセッサはこの仕様によるReservedであることが示される何らかの分野が非ゼロであるなら接続をリセットしてはいけません。 何らかの未知のオプションが存在しているなら。 または、或るものが交渉を特徴とするなら、オプションは未知の特徴について言及します。 代わりに、DCCPプロセッサはこれらのイベントを無視しなければなりません。 Mandatoryオプションはただ一つの例外です: Mandatoryが何らかの未知のオプションか特徴に先行するなら、接続をリセットしなければなりません。

   o  DCCP processors MUST anticipate the possibility of unknown feature
      values, which might occur as part of a negotiation for a known
      feature.  For server-priority features, unknown values are handled
      as a matter of course: since the non-extended DCCP's priority list
      will not contain unknown values, the result of the negotiation

o DCCPプロセッサは未知の特徴値の可能性を予期しなければなりません。(値は知られている特徴のための交渉の一部として起こるかもしれません)。 サーバ優先権機能に関しては、未知の値は当然のこととして扱われます: 非拡張しているDCCPの優先権リストが未知の値、交渉の結果を含まないので

Kohler, et al.              Standards Track                   [Page 104]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[104ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

      cannot be an unknown value.  A DCCP MUST respond with an empty
      Confirm option if it is assigned an unacceptable value for some
      non-negotiable feature.

未知の値であることができません。 容認できない値が何らかの譲渡禁止の特徴のためにそれに割り当てられるなら、DCCP MUSTは空のConfirmオプションで応じます。

   o  Each DCCP extension SHOULD be controlled by some feature.  The
      default value of this feature SHOULD correspond to "extension not
      available".  If an extended DCCP wants to use the extension, it
      SHOULD attempt to change the feature's value using a Change L or
      Change R option.  Any non-extended DCCP will ignore the option,
      thus leaving the feature value at its default, "extension not
      available".

o それぞれのDCCP拡張子SHOULD、何らかの特徴で、制御されてください。 この特徴SHOULDのデフォルト値は「利用可能でない拡大」に対応しています。 拡張DCCPが拡張子を使用したがっていて、それがChange Lを使用することでフィーチャーの値を変えるSHOULD試みかChange Rオプションであるなら。 どんな非拡張しているDCCPもオプションを無視して、その結果、デフォルト、「利用可能でない拡大」で特徴値を残すでしょう。

   Section 19 lists DCCP assigned numbers reserved for experimental and
   testing purposes.

セクション19は実験的でテストしている目的のために予約されたDCCP規定番号を記載します。

16.  Middlebox Considerations

16. Middlebox問題

   This section describes properties of DCCP that firewalls, network
   address translators, and other middleboxes should consider, including
   parts of the packet that middleboxes should not change.  The intent
   is to draw attention to aspects of DCCP that may be useful, or
   dangerous, for middleboxes, or that differ significantly from TCP.

このセクションはネットワーク・アドレスのファイアウォール、翻訳者、および他のmiddleboxesが考えるはずであるDCCPの特性について説明します、middleboxesが変えるはずがないパケットの一部を含んでいて。 意図は役に立つか、middleboxesに危険であるかもしれない、またはTCPから有意差があるDCCPの局面に注意を向けることです。

   The Service Code field in DCCP-Request packets provides information
   that may be useful for stateful middleboxes.  With Service Code, a
   middlebox can tell what protocol a connection will use without
   relying on port numbers.  Middleboxes can disallow connections that
   attempt to access unexpected services by sending a DCCP-Reset with
   Reset Code 8, "Bad Service Code".  Middleboxes should not modify the
   Service Code unless they are really changing the service a connection
   is accessing.

DCCP-リクエスト・パケットのService Code分野はstateful middleboxesの役に立つかもしれない情報を提供します。 Service Codeと共に、middleboxは、接続がポートナンバーを当てにしないでどんなプロトコルを使用するかを言うことができます。 MiddleboxesはReset Code8とのDCCP-リセット、「悪い接客規範」を送ることによって予期していなかったサービスにアクセスするのを試みる接続を禁じることができます。 彼らが本当に接続がアクセスしているサービスを変えていない場合、MiddleboxesはService Codeを変更するはずがありません。

   The Source and Destination Port fields are in the same packet
   locations as the corresponding fields in TCP and UDP, which may
   simplify some middlebox implementations.

SourceとDestination Port分野がTCPとUDPの対応する分野と同じパケット位置にあります。UDPはいくつかのmiddlebox実装を簡素化するかもしれません。

   The forward compatibility considerations in Section 15 apply to
   middleboxes as well.  In particular, middleboxes generally shouldn't
   act punitively towards options and features they do not understand.

セクション15の下位互換問題はまた、middleboxesに適用されます。 特に、一般に、middleboxesはオプションに向かって懲罰的に作動するはずがありません、そして、それらがする特徴は分かりません。

   Modifying DCCP Sequence Numbers and Acknowledgement Numbers is more
   tedious and dangerous than modifying TCP sequence numbers.  A
   middlebox that added packets to or removed packets from a DCCP
   connection would have to modify acknowledgement options, such as Ack
   Vector, and CCID-specific options, such as TFRC's Loss Intervals, at
   minimum.  On ECN-capable connections, the middlebox would have to
   keep track of ECN Nonce information for packets it introduced or
   removed, so that the relevant acknowledgement options continued to

DCCP Sequence民数記とAcknowledgement民数記を変更するのは、TCP一連番号を変更するより退屈であって、危険です。 DCCP接続からパケットを加えたか、またはパケットを移したmiddleboxは承認オプションを変更しなければならないでしょう、Ack Vectorや、CCID特有のオプションなどのように、TFRCのLoss Intervalsなどのように、最小限で。 電子証券取引ネットワーク有能な接続のときに、middleboxはそれが導入したか、または取り除いたパケットのための電子証券取引ネットワークNonce情報の動向をおさえなければならないでしょう、関連承認オプションが、続けたように

Kohler, et al.              Standards Track                   [Page 105]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[105ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   have correct ECN Nonce Echoes, or risk the connection being reset for
   "Aggression Penalty".  We therefore recommend that middleboxes not
   modify packet streams by adding or removing packets.

正しい電子証券取引ネットワークNonceエコーズを持っているか、または「攻撃性刑罰」ゆえリセットされる接続を危険にさらしてください。 したがって、私たちは、middleboxesがパケットを加えるか、または取り除くことによってパケットストリームを変更しないことを勧めます。

   Note that there is less need to modify DCCP's per-packet sequence
   numbers than to modify TCP's per-byte sequence numbers; for example,
   a middlebox can change the contents of a packet without changing its
   sequence number.  (In TCP, sequence number modification is required
   to support protocols like FTP that carry variable-length addresses in
   the data stream.  If such an application were deployed over DCCP,
   middleboxes would simply grow or shrink the relevant packets as
   necessary without changing their sequence numbers.  This might
   involve fragmenting the packet.)

DCCPの1パケットあたりの一連番号を変更するより少ない必要がTCPの1バイト列あたりの番号を変更するよりあることに注意してください。 例えば、一連番号を変えないで、middleboxはパケットのコンテンツを変えることができます。 (TCPでは、一連番号変更が、FTPのようなデータ・ストリームで可変長のアドレスを運ぶプロトコルをサポートするのに必要です。 そのようなアプリケーションがDCCPの上で配布されるなら、middleboxesは必要に応じてそれらの一連番号を変えないで単に関連パケットを成長するか、または縮小するでしょうに。 これは、パケットを断片化することを伴うかもしれません。)

   Middleboxes may, of course, reset connections in progress.  Clearly,
   this requires inserting a packet into one or both packet streams, but
   the difficult issues do not arise.

Middleboxesはもちろん進行中の接続をリセットするかもしれません。 明確に、これは、1かパケットストリームの両方にパケットを挿入するのを必要としますが、難しい問題は起こりません。

   DCCP is somewhat unfriendly to "connection splicing" [SHHP00], in
   which clients' connection attempts are intercepted, but possibly
   later "spliced in" to external server connections via sequence number
   manipulations.  A connection splicer at minimum would have to ensure
   that the spliced connections agreed on all relevant feature values,
   which might take some renegotiation.

DCCPは「接続の継ぐこと」[SHHP00]にいくらか無愛想です、どのクライアントの接続試みが外部のサーバ接続への一連番号操作を通した妨害されましたが、ことによると後の「継がれたコネ」であるかに。 最小限における接続スプライサーは、継がれた接続がすべての関連特徴値に同意したのを保証しなければならないでしょう。(値はいくらかの再交渉を取るかもしれません)。

   The contents of this section should not be interpreted as a wholesale
   endorsement of stateful middleboxes.

stateful middleboxesの大量の裏書きとしてこのセクションのコンテンツを解釈するべきではありません。

17.  Relations to Other Specifications

17. 他の仕様との関係

17.1.  RTP

17.1. RTP

   The Real-Time Transport Protocol, RTP [RFC3550], is currently used
   over UDP by many of DCCP's target applications (for instance,
   streaming media).  Therefore, it is important to examine the
   relationship between DCCP and RTP and, in particular, the question of
   whether any changes in RTP are necessary or desirable when it is
   layered over DCCP instead of UDP.

レアル-時間Transportプロトコル(RTP[RFC3550])は現在、UDPの上でDCCPの目標アプリケーション(例えば、ストリーミング・メディア)の多くで使用されます。 したがって、DCCPとRTPとの関係とそれがUDPの代わりにDCCPの上で層にされるとき、何かRTPにおける変化が必要であるか、または望ましいかに関する特に質問を調べるのは重要です。

   There are two potential sources of overhead in the RTP-over-DCCP
   combination: duplicated acknowledgement information and duplicated
   sequence numbers.  Together, these sources of overhead add slightly
   more than 4 bytes per packet relative to RTP-over-UDP, and
   eliminating the redundancy would not reduce the overhead.

RTP過剰DCCP組み合わせにおけるオーバーヘッドの2つの可能な源があります: 承認情報をコピーして、一連番号をコピーしました。 1パケットあたり4バイト以上はオーバーヘッドのこれらの情報筋によってRTP過剰UDPに比例してわずかに一緒に、加えられます、そして、冗長を排除する場合、オーバーヘッドは下げられないでしょう。

   First, consider acknowledgements.  Both RTP and DCCP report feedback
   about loss rates to data senders, via RTP Control Protocol Sender and
   Receiver Reports (RTCP SR/RR packets) and via DCCP acknowledgement

まず最初に、承認を考えてください。 RTPとデータ送付者への損失率とRTP ControlプロトコルのSenderとReceiver Reports(RTCP SR/RRパケット)を通したDCCP承認を通したDCCPレポートフィードバックの両方

Kohler, et al.              Standards Track                   [Page 106]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[106ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   options.  These feedback mechanisms are potentially redundant.
   However, RTCP SR/RR packets contain information not present in DCCP
   acknowledgements, such as "interarrival jitter", and DCCP's
   acknowledgements contain information not transmitted by RTCP, such as
   the ECN Nonce Echo.  Neither feedback mechanism makes the other
   redundant.

オプション。 これらのフィードバック・メカニズムは潜在的に余分です。 しかしながら、RTCP SR/RRパケットはDCCP承認における現在でない情報を含んでいます、「interarrivalジター」などのように、そして、DCCPの承認はRTCPによって伝えられなかった情報を含んでいます、電子証券取引ネットワークNonce Echoなどのように。 どちらのフィードバック・メカニズムも、もう片方が余分になりません。

   Sending both types of feedback need not be particularly costly
   either.  RTCP reports may be sent relatively infrequently: once every
   5 seconds on average, for low-bandwidth flows.  In DCCP, some
   feedback mechanisms are expensive -- Ack Vector, for example, is
   frequent and verbose -- but others are relatively cheap: CCID 3
   (TFRC) acknowledgements take between 16 and 32 bytes of options sent
   once per round-trip time.  (Reporting less frequently than once per
   RTT would make congestion control less responsive to loss.)  We
   therefore conclude that acknowledgement overhead in RTP-over-DCCP
   need not be significantly higher than for RTP-over-UDP, at least for
   CCID 3.

両方のタイプのフィードバックを送るのは特に高価である必要はありません。 RTCPレポートを比較的まれに送るかもしれません: 低バンド幅のための平均の5秒に一度流れ。 DCCPでは、いくつかのフィードバック・メカニズムが高価ですが(例えば、Ack Vectorは頻繁であって、冗長です)、他のものは比較的安いです: CCID3(TFRC)承認は往復の時間に一度送られた16〜32バイトのオプションを取ります。 (1RTTあたりの一度よりどんな頻繁にも報告しないのに、輻輳制御は損失により敏感でなくなるでしょう。) したがって、私たちは、RTP過剰DCCPの承認オーバーヘッドがRTP過剰UDPよりかなり高い必要はないと結論を下します、少なくともCCID3のために。

   One clear redundancy can be addressed at the application level.  The
   verbose packet-by-packet loss reports sent in RTCP Extended Reports
   Loss RLE Blocks [RFC3611] can be derived from DCCP's Ack Vector
   options.  (The converse is not true, since Loss RLE Blocks contain no
   ECN information.)  Since DCCP implementations should provide an API
   for application access to Ack Vector information, RTP-over-DCCP
   applications might request either DCCP Ack Vectors or RTCP Extended
   Report Loss RLE Blocks, but not both.

アプリケーションレベルで1つの明確な冗長を扱うことができます。 冗長なパケット損失によるパケットレポートは、DCCPのAck VectorオプションからRTCP Extended Reports Loss RLE Blocks[RFC3611]を得ることができるのを送りました。 (Loss RLE Blocksが電子証券取引ネットワーク情報を全く含んでいないので、逆は本当ではありません。) DCCP実装がAck Vector情報へのアプリケーションアクセスにAPIを提供するべきであるので、RTP過剰DCCPアプリケーションは、DCCP Ack VectorsかRTCP Extended Report Loss RLE Blocksのどちらかを要求しますが、ともに要求しないかもしれません。

   Now consider sequence number redundancy on data packets.  The
   embedded RTP header contains a 16-bit RTP sequence number.  Most data
   packets will use the DCCP-Data type; DCCP-DataAck and DCCP-Ack
   packets need not usually be sent.  The DCCP-Data header is 12 bytes
   long without options, including a 24-bit sequence number.  This is 4
   bytes more than a UDP header.  Any options required on data packets
   would add further overhead, although many CCIDs (for instance, CCID
   3, TFRC) don't require options on most data packets.

今度は、データ・パケットに関する一連番号冗長を考えてください。 埋め込まれたRTPヘッダーは16ビットのRTP一連番号を含んでいます。 ほとんどのデータ・パケットがDCCP-データ型を使用するでしょう。 通常、DCCP-DataAckとDCCP-Ackパケットを送る必要はありません。 DCCP-データヘッダーは24ビットの一連番号を含むオプションがなければ12バイト長です。 これはUDPヘッダーより4バイト多いです。 データ・パケットの上で必要であるオプションはさらなるオーバーヘッドを加えるでしょう、多くのCCIDs(例えば、CCID3、TFRC)はほとんどのデータ・パケットの上でオプションを必要としませんが。

   The DCCP sequence number cannot be inferred from the RTP sequence
   number since it increments on non-data packets as well as data
   packets.  The RTP sequence number cannot be inferred from the DCCP
   sequence number either [RFC3550].  Furthermore, removing RTP's
   sequence number would not save any header space because of alignment
   issues.  We therefore recommend that RTP transmitted over DCCP use
   the same headers currently defined.  The 4 byte header cost is a
   reasonable tradeoff for DCCP's congestion control features and access
   to ECN.  Truly bandwidth-starved endpoints should use some header
   compression scheme.

それ以来RTP一連番号からDCCP一連番号を推論できません。データ・パケットと同様に非データ・パケットでは、増加します。 DCCP一連番号からRTP一連番号をどちらも[RFC3550]推論できません。 その上、RTPの一連番号を取り除くのは整列問題のために少しのヘッダースペースも節約しないでしょう。 したがって、私たちは、RTPがDCCP使用の上で現在定義されている同じヘッダーを伝えたことを勧めます。 4バイトのヘッダー費用は電子証券取引ネットワークへのDCCPの輻輳制御機能とアクセスのための手頃な見返りです。 本当に帯域幅に飢える終点は何らかのヘッダー圧縮技術を使用するべきです。

Kohler, et al.              Standards Track                   [Page 107]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[107ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

17.2.  Congestion Manager and Multiplexing

17.2. 混雑マネージャとマルチプレクシング

   Since DCCP doesn't provide reliable, ordered delivery, multiple
   application sub-flows may be multiplexed over a single DCCP
   connection with no inherent performance penalty.  Thus, there is no
   need for DCCP to provide built-in support for multiple sub-flows.
   This differs from SCTP [RFC2960].

DCCPが信頼できて、注文された配送を提供しないので、固有のパフォーマンスに不利な条件なしで複数のアプリケーションサブ流れを単独のDCCP接続の上に多重送信するかもしれません。 したがって、DCCPが標準装備を倍数にサブ流れて提供する必要は全くありません。 これはSCTP[RFC2960]と異なっています。

   Some applications might want to share congestion control state among
   multiple DCCP flows that share the same source and destination
   addresses.  This functionality could be provided by the Congestion
   Manager [RFC3124], a generic multiplexing facility.  However, the CM
   would not fully support DCCP without change; it does not gracefully
   handle multiple congestion control mechanisms, for example.

いくつかのアプリケーションが同じソースと送付先アドレスを共有する複数のDCCP流れの中で輻輳制御状態を共有したがっているかもしれません。 Congestionマネージャ[RFC3124]、ジェネリックマルチプレクシング施設はこの機能性を提供できました。 しかしながら、CMは変化なしでDCCPを完全にサポートするというわけではないでしょう。 それは優雅に例えば複数の混雑制御機構を扱いません。

18.  Security Considerations

18. セキュリティ問題

   DCCP does not provide cryptographic security guarantees.
   Applications desiring cryptographic security services (integrity,
   authentication, confidentiality, access control, and anti-replay
   protection) should use IPsec or end-to-end security of some kind;
   Secure RTP is one candidate protocol [RFC3711].

DCCPは暗号のセキュリティ保証を提供しません。 暗号のセキュリティー・サービス(保全、認証、秘密性、アクセスコントロール、および反反復操作による保護)を望んでいるアプリケーションは終わりからIPsecか終わりへのある種のセキュリティを使用するべきです。 安全なRTPは1つの候補プロトコル[RFC3711]です。

   Nevertheless, DCCP is intended to protect against some classes of
   attackers: Attackers cannot hijack a DCCP connection (close the
   connection unexpectedly, or cause attacker data to be accepted by an
   endpoint as if it came from the sender) unless they can guess valid
   sequence numbers.  Thus, as long as endpoints choose initial sequence
   numbers well, a DCCP attacker must snoop on data packets to get any
   reasonable probability of success.  Sequence number validity checks
   provide this guarantee.  Section 7.5.5 describes sequence number
   security further.  This security property only holds assuming that
   DCCP's random numbers are chosen according to the guidelines in
   [RFC4086].

それにもかかわらず、DCCPが数人のクラスの攻撃者から守ることを意図します: 彼らが有効な一連番号を推測できないなら、攻撃者はDCCP接続(不意に接続を終えるか、またはまるで送付者から来るかのように攻撃者データが終点によって受け入れられることを引き起こす)をハイジャックできません。 したがって、終点が初期シーケンス番号をよく選ぶ限り、DCCP攻撃者は、成功のどんな妥当な確率も得るためにデータ・パケットの上で詮索しなければなりません。 一連番号バリディティチェックはこの保証を提供します。 セクション7.5 .5 さらに一連番号セキュリティについて説明します。 [RFC4086]のガイドラインによると、DCCPの乱数が選ばれていると仮定しながら、このセキュリティの特性は持ちこたえるだけです。

   DCCP also provides mechanisms to limit the potential impact of some
   denial-of-service attacks.  These mechanisms include Init Cookie
   (Section 8.1.4), the DCCP-CloseReq packet (Section 5.5), the
   Application Not Listening Drop Code (Section 11.7.2), limitations on
   the processing of options that might cause connection reset (Section
   7.5.5), limitations on the processing of some ICMP messages (Section
   14.1), and various rate limits, which let servers avoid extensive
   computation or packet generation (Sections 7.5.3, 8.1.3, and others).

また、DCCPは、いくつかのサービス不能攻撃の可能性のある衝撃を制限するためにメカニズムを提供します。 これらのメカニズムはInit Cookie(セクション8.1.4)、DCCP-CloseReqパケット(セクション5.5)、Application Not Listening Drop Code(セクション11.7.2)、処理のリセット(セクション7.5.5)を接続に引き起こすかもしれないオプションの制限、処理のいくつかのICMPメッセージ(セクション14.1)の制限、および様々なレート限界(セクション7.5 .3、8.1人の.3、および他のもの)を含んでいます。(サーバは限界で大規模な計算かパケット世代を避けます)。

   DCCP provides no protection against attackers that can snoop on data
   packets.

DCCPはデータ・パケットの上で詮索できる攻撃者に対してノー・プロテクションを提供します。

Kohler, et al.              Standards Track                   [Page 108]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[108ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

18.1.  Security Considerations for Partial Checksums

18.1. 部分的なチェックサムのためのセキュリティ問題

   The partial checksum facility has a separate security impact,
   particularly in its interaction with authentication and encryption
   mechanisms.  The impact is the same in DCCP as in the UDP-Lite
   protocol, and what follows was adapted from the corresponding text in
   the UDP-Lite specification [RFC3828].

部分的なチェックサム施設は特に認証と暗号化メカニズムとの相互作用で別々のセキュリティ影響力を持っています。影響はDCCPでUDP-Liteプロトコルと同じです、そして、続くことはUDP-Lite仕様[RFC3828]による対応するテキストから適合させられました。

   When a DCCP packet's Checksum Coverage field is not zero, the
   uncovered portion of a packet may change in transit.  This is
   contrary to the idea behind most authentication mechanisms:
   authentication succeeds if the packet has not changed in transit.
   Unless authentication mechanisms that operate only on the sensitive
   part of packets are developed and used, authentication will always
   fail for partially-checksummed DCCP packets whose uncovered part has
   been damaged.

DCCPパケットのChecksum Coverage分野がゼロでないときに、パケットのむき出しの部分はトランジットで変化するかもしれません。 これはほとんどの認証機構の後ろの考えに合いません: パケットがトランジットで変化していないなら、認証は成功します。 単に敏感を作動させる認証機構が開発されていて、使用されるパケット、意志がいつも失敗する認証を離れさせない、部分的である、-、checksummed DCCP、パケット、覆われていない部分が破損した。

   The IPsec integrity check (Encapsulation Security Protocol, ESP, or
   Authentication Header, AH) is applied (at least) to the entire IP
   packet payload.  Corruption of any bit within that area will then
   result in the IP receiver's discarding a DCCP packet, even if the
   corruption happened in an uncovered part of the DCCP application
   data.

IPsec保全チェック(カプセル化Securityプロトコル、超能力、またはAuthentication Header、AH)は(少なくとも)全体のIPパケットペイロードに適用されます。 次に、その領域の中のどんなビットの不正も、IP受信機がDCCPパケットを捨てるのをもたらすでしょう、不正がDCCPアプリケーションデータの覆われていない部分で起こったとしても。

   When IPsec is used with ESP payload encryption, a link can not
   determine the specific transport protocol of a packet being forwarded
   by inspecting the IP packet payload.  In this case, the link MUST
   provide a standard integrity check covering the entire IP packet and
   payload.  DCCP partial checksums provide no benefit in this case.

IPsecが超能力ペイロード暗号化と共に使用されるとき、リンクはIPパケットペイロードを点検することによって進められるパケットの特定のトランスポート・プロトコルを決定できません。 この場合、リンクは全体のIPパケットとペイロードを含んでいる標準の保全チェックを提供しなければなりません。 DCCPの部分的なチェックサムはこの場合利益を全く提供しません。

   Encryption (e.g., at the transport or application levels) may be
   used.  Note that omitting an integrity check can, under certain
   circumstances, compromise confidentiality [B98].

暗号化(例えば、輸送かアプリケーションレベルにおける)は使用されるかもしれません。 保全チェックを省略するのが、秘密性が[B98]であるとある状況で感染することができることに注意してください。

   If a few bits of an encrypted packet are damaged, the decryption
   transform will typically spread errors so that the packet becomes too
   damaged to be of use.  Many encryption transforms today exhibit this
   behavior.  There exist encryption transforms, stream ciphers, that do
   not cause error propagation.  Proper use of stream ciphers can be
   quite difficult, especially when authentication checking is omitted
   [BB01].  In particular, an attacker can cause predictable changes to
   the ultimate plaintext, even without being able to decrypt the
   ciphertext.

暗号化されたパケットの数ビットが破損していると、復号化変換が誤りを通常広げるので、パケットは使用についてあまり破損するようになります。 多くの暗号化変換が今日、この振舞いを示します。 暗号化変換、誤り伝播を引き起こさないストリーム暗号が存在しています。 特に認証の照合が省略されるとき[BB01]、ストリーム暗号の適切な使用はかなり難しい場合があります。 究極の平文と、暗号文を解読することさえできないで、特に、攻撃者は予測できる変化を引き起こす場合があります。

Kohler, et al.              Standards Track                   [Page 109]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[109ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

19.  IANA Considerations

19. IANA問題

   IANA has assigned IP Protocol Number 33 to DCCP.

IANAはIPプロトコルNumber33をDCCPに割り当てました。

   DCCP introduces eight sets of numbers whose values should be
   allocated by IANA.  We refer to allocation policies, such as
   Standards Action, outlined in [RFC2434], and most registries reserve
   some values for experimental and testing use [RFC3692].  In addition,
   DCCP requires that the IANA Port Numbers registry be opened for DCCP
   port registrations; Section 19.9 describes how.  The IANA should feel
   free to contact the DCCP Expert Reviewer with questions on any
   registry, regardless of the registry policy, for clarification or if
   there is a problem with a request.

DCCPは値がIANAによって割り当てられるはずである8セットの数を導入します。 私たちは[RFC2434]に概説されたStandards Actionなどの配分方針を示します、そして、ほとんどの登録が実験的、そして、テスト使用[RFC3692]のためにいくつかの値を予約します。 さらに、DCCPは、IANA Port民数記登録がDCCPポート登録証明書のために開かれるのを必要とします。 セクション19.9はその方法を説明します。 IANAは遠慮なくどんな登録の質問でもDCCP Expert Reviewerに連絡するはずです、登録方針にかかわらず、明確化かそれとも要求に関する問題があるかどうかのために。

19.1.  Packet Types Registry

19.1. パケットは登録をタイプします。

   Each entry in the DCCP Packet Types registry contains a packet type,
   which is a number in the range 0-15; a packet type name, such as
   DCCP-Request; and a reference to the RFC defining the packet type.
   The registry is initially populated using the values in Table 1
   (Section 5.1).  This document allocates packet types 0-9, and packet
   type 14 is permanently reserved for experimental and testing use.
   Packet types 10-13 and 15 are currently reserved and should be
   allocated with the Standards Action policy, which requires IESG
   review and approval and standards-track IETF RFC publication.

DCCP Packet Types登録の各エントリーはパケットタイプを含んでいます。(タイプは範囲0-15の数です)。 DCCP-要求などのパケット型名。 そして、パケットタイプを定義するRFCの参照。 Table1(セクション5.1)で値を使用することで登録は初めは、居住されます。 このドキュメントはパケットタイプ0-9を割り当てます、そして、パケットタイプ14は永久に、実験的、そして、テスト使用のために予約されます。 パケットタイプ10-13と15を現在予約して、Standards Action方針で割り当てるべきです。(それは、IESGレビュー、承認、および標準化過程IETF RFC公表を必要とします)。

19.2.  Reset Codes Registry

19.2. リセットは登録をコード化します。

   Each entry in the DCCP Reset Codes registry contains a Reset Code,
   which is a number in the range 0-255; a short description of the
   Reset Code, such as "No Connection"; and a reference to the RFC
   defining the Reset Code.  The registry is initially populated using
   the values in Table 2 (Section 5.6).  This document allocates Reset
   Codes 0-11, and Reset Codes 120-126 are permanently reserved for
   experimental and testing use.  Reset Codes 12-119 and 127 are
   currently reserved and should be allocated with the IETF Consensus
   policy, requiring an IETF RFC publication (standards track or not)
   with IESG review and approval.  Reset Codes 128-255 are permanently
   reserved for CCID-specific registries; each CCID Profile document
   describes how the corresponding registry is managed.

DCCP Reset Codes登録の各エントリーはReset Codeを含んでいます。(Reset Codeは範囲0-255の数です)。 Reset Codeの「接続がありません」などの短い記述。 そして、Reset Codeを定義するRFCの参照。 Table2(セクション5.6)で値を使用することで登録は初めは、居住されます。 このドキュメントはReset Codes0-11を割り当てます、そして、Reset Codes120-126は永久に、実験的、そして、テスト使用のために予約されます。 リセットCodes12-119と127を現在、予約して、IETF Consensus方針で割り当てるべきです、IESGレビューと承認をもってIETF RFC刊行物を必要として(規格は追跡されます)。 CCID特有の登録へのリセットCodes128-255は永久に、予約されます。 それぞれのCCID Profileドキュメントは対応する登録がどう管理されるかを説明します。

19.3.  Option Types Registry

19.3. オプションは登録をタイプします。

   Each entry in the DCCP option types registry contains an option type,
   which is a number in the range 0-255; the name of the option, such as
   "Slow Receiver"; and a reference to the RFC defining the option type.
   The registry is initially populated using the values in Table 3
   (Section 5.8).  This document allocates option types 0-2 and 32-44,

DCCPオプションタイプ登録の各エントリーはオプションタイプを含んでいます。(タイプは範囲0-255の数です)。 「遅い受信機」などのオプションの名前。 そして、オプションタイプを定義するRFCの参照。 Table3(セクション5.8)で値を使用することで登録は初めは、居住されます。 このドキュメントは0-2に32-44にオプションタイプを割り当てます。

Kohler, et al.              Standards Track                   [Page 110]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[110ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   and option types 31 and 120-126 are permanently reserved for
   experimental and testing use.  Option types 3-30, 45-119, and 127 are
   currently reserved and should be allocated with the IETF Consensus
   policy, requiring an IETF RFC publication (standards track or not)
   with IESG review and approval.  Option types 128-255 are permanently
   reserved for CCID-specific registries; each CCID Profile document
   describes how the corresponding registry is managed.

そして、オプションタイプ31と120-126は永久に、実験的、そして、テスト使用のために予約されます。 オプションは3-30をタイプします、45-119、127を現在、予約して、IETF Consensus方針で割り当てるべきです、IESGレビューと承認をもってIETF RFC刊行物を必要として(規格は追跡されます)。 オプションタイプ128-255は永久に、CCID特有の登録に予約されます。 それぞれのCCID Profileドキュメントは対応する登録がどう管理されるかを説明します。

19.4.  Feature Numbers Registry

19.4. 特徴数の登録

   Each entry in the DCCP feature numbers registry contains a feature
   number, which is a number in the range 0-255; the name of the
   feature, such as "ECN Incapable"; and a reference to the RFC defining
   the feature number.  The registry is initially populated using the
   values in Table 4 (Section 6).  This document allocates feature
   numbers 0-9, and feature numbers 120-126 are permanently reserved for
   experimental and testing use.  Feature numbers 10-119 and 127 are
   currently reserved and should be allocated with the IETF Consensus
   policy, requiring an IETF RFC publication (standards track or not)
   with IESG review and approval.  Feature numbers 128-255 are
   permanently reserved for CCID-specific registries; each CCID Profile
   document describes how the corresponding registry is managed.

DCCP特徴数の登録の各エントリーは特徴番号を含んでいます。(それは、範囲0-255の数です)。 「不可能な電子証券取引ネットワーク」などの特徴の名前。 そして、特徴番号を定義するRFCの参照。 Table4(セクション6)で値を使用することで登録は初めは、居住されます。 このドキュメントは特徴No.0-9を割り当てます、そして、特徴No.120-126は永久に、実験的、そして、テスト使用のために予約されます。 特徴No.10-119と127を現在、予約して、IETF Consensus方針で割り当てるべきです、IESGレビューと承認をもってIETF RFC刊行物を必要として(規格は追跡されます)。 特徴No.128-255は永久に、CCID特有の登録に予約されます。 それぞれのCCID Profileドキュメントは対応する登録がどう管理されるかを説明します。

19.5.  Congestion Control Identifiers Registry

19.5. 輻輳制御識別子登録

   Each entry in the DCCP Congestion Control Identifiers (CCIDs)
   registry contains a CCID, which is a number in the range 0-255; the
   name of the CCID, such as "TCP-like Congestion Control"; and a
   reference to the RFC defining the CCID.  The registry is initially
   populated using the values in Table 5 (Section 10).  CCIDs 2 and 3
   are allocated by concurrently published profiles, and CCIDs 248-254
   are permanently reserved for experimental and testing use.  CCIDs 0,
   1, 4-247, and 255 are currently reserved and should be allocated with
   the IETF Consensus policy, requiring an IETF RFC publication
   (standards track or not) with IESG review and approval.

DCCP Congestion Control Identifiers(CCIDs)登録の各エントリーはCCIDを含んでいます。(CCIDは範囲0-255の数です)。 「TCPのような輻輳制御」などのCCIDという名前。 そして、CCIDを定義するRFCの参照。 Table5(セクション10)で値を使用することで登録は初めは、居住されます。 同時に発行されたプロフィールでCCIDs2と3を割り当てます、そして、永久に、実験的、そして、テスト使用のためにCCIDs248-254を予約します。 CCIDs0、1、4-247、および255を現在、予約して、IETF Consensus方針で割り当てるべきです、IESGレビューと承認をもってIETF RFC刊行物を必要として(規格は追跡されます)。

19.6.  Ack Vector States Registry

19.6. Ackベクトルは登録を述べます。

   Each entry in the DCCP Ack Vector States registry contains an Ack
   Vector State, which is a number in the range 0-3; the name of the
   State, such as "Received ECN Marked"; and a reference to the RFC
   defining the State.  The registry is initially populated using the
   values in Table 6 (Section 11.4).  This document allocates States 0,
   1, and 3.  State 2 is currently reserved and should be allocated with
   the Standards Action policy, which requires IESG review and approval
   and standards-track IETF RFC publication.

DCCP Ack Vector States登録の各エントリーはAck Vector州を含みます。(それは、範囲0-3の数です)。 「マークされた容認された電子証券取引ネットワーク」などの州の名前。 そして、州を定義するRFCの参照。 Table6(セクション11.4)で値を使用することで登録は初めは、居住されます。 このドキュメントはStates0、1、および3を割り当てます。 状態2を現在予約して、Standards Action方針で割り当てるべきです。(それは、IESGレビュー、承認、および標準化過程IETF RFC公表を必要とします)。

Kohler, et al.              Standards Track                   [Page 111]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[111ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

19.7.  Drop Codes Registry

19.7. 低下は登録をコード化します。

   Each entry in the DCCP Drop Codes registry contains a Data Dropped
   Drop Code, which is a number in the range 0-7; the name of the Drop
   Code, such as "Application Not Listening"; and a reference to the RFC
   defining the Drop Code.  The registry is initially populated using
   the values in Table 7 (Section 11.7).  This document allocates Drop
   Codes 0-3 and 7.  Drop Codes 4-6 are currently reserved, and should
   be allocated with the Standards Action policy, which requires IESG
   review and approval and standards-track IETF RFC publication.

DCCP Drop Codes登録の各エントリーはData Dropped Drop Codeを含んでいます。(Data Dropped Drop Codeは範囲0-7の数です)。 Drop Codeで、そのようなものとしての名前、「アプリケーションは聴かない」、。 そして、Drop Codeを定義するRFCの参照。 Table7(セクション11.7)で値を使用することで登録は初めは、居住されます。 このドキュメントはDrop Codes0-3と7を割り当てます。 低下Codes4-6を現在予約して、Standards Action方針で割り当てるべきです。(それは、IESGレビュー、承認、および標準化過程IETF RFC公表を必要とします)。

19.8.  Service Codes Registry

19.8. 接客規範登録

   Each entry in the Service Codes registry contains a Service Code,
   which is a number in the range 0-4294967294; a short English
   description of the intended service; and an optional reference to an
   RFC or other publicly available specification defining the Service
   Code.  The registry should list the Service Code's numeric value as a
   decimal number.  When the Service Code may be represented in "SC:"
   format according to the rules in Section 8.1.2, the registry should
   also show the corresponding ASCII interpretation of the Service Code
   minus the "SC:" prefix.  Thus, the number 1717858426 would
   additionally appear as "fdpz".  Service Codes are not DCCP-specific.
   Service Code 0 is permanently reserved (it represents the absence of
   a meaningful Service Code), and Service Codes 1056964608-1073741823
   (high byte ASCII "?") are reserved for Private Use.  Note that
   4294967295 is not a valid Service Code.  Most of the remaining
   Service Codes are allocated First Come First Served, with no RFC
   publication required; exceptions are listed in Section 8.1.2.  This
   document allocates a single Service Code, 1145656131 ("DISC").  This
   corresponds to the discard service, which discards all data sent to
   the service and sends no data in reply.

Service Codes登録の各エントリーはService Codeを含んでいます。(Service Codeは範囲0-4294967294の数です)。 意図しているサービスの短いイギリスの記述。 そして、Service Codeを定義するRFCか他の公的に利用可能な仕様の任意の参照。 登録はService Codeの数値について10進数に記載するべきです。 Service Codeがいつ表されるかもしれないか、「サウスカロライナ:」 セクション8.1.2における規則に従った形式、また、登録がService Codeマイナスの対応するASCII解釈を示しているべきである、「サウスカロライナ:」 前に置きます。 したがって、No.1717858426は"fdpz"としてさらに、現れるでしょう。 サービスCodesはDCCP特有ではありません。 サービスCode0は永久に予約されます、そして、(それは重要なService Codeの不在を表します)Service Codes1056964608-1073741823(高バイトASCII“?")は私的使用目的で予約されます。 4294967295が有効なService Codeでないことに注意してください。 RFC公表は全く必要でなく残っているService Codesの大部分にFirst Come First Servedを割り当てます。 例外はセクション8.1.2で記載されています。 このドキュメントは独身のService Code、1145656131(「ディスク」)を割り当てます。 これは、すべてのデータがサービス、それの破棄をサービスに送った破棄に対応している、回答でデータを全く送りません。

19.9.  Port Numbers Registry

19.9. ポートナンバー登録

   DCCP services may use contact port numbers to provide service to
   unknown callers, as in TCP and UDP.  IANA is therefore requested to
   open the existing Port Numbers registry for DCCP using the following
   rules, which we intend to mesh well with existing Port Numbers
   registration procedures.

DCCPサービスは、未知の訪問者に対するサービスを提供するのにTCPとUDPのように接触ポートナンバーを使用するかもしれません。 したがって、IANAがDCCPのために私たちが既存のPort民数記登録手順とよく合うつもりである以下の規則を使用することで既存のPort民数記登録を開くよう要求されています。

   Port numbers are divided into three ranges.  The Well Known Ports are
   those from 0 through 1023, the Registered Ports are those from 1024
   through 49151, and the Dynamic and/or Private Ports are those from
   49152 through 65535.  Well Known and Registered Ports are intended
   for use by server applications that desire a default contact point on
   a system.  On most systems, Well Known Ports can only be used by
   system (or root) processes or by programs executed by privileged

ポートナンバーは3つの範囲に分割されます。 Well Known Portsは0〜1023のそれらです、そして、Registered Portsは1024〜49151のそれらです、そして、Dynamic、そして/または、兵士のPortsは49152〜65535のそれらです。 井戸KnownとRegistered Portsは使用のためにシステムに関するデフォルト接点を望んでいるサーバ・アプリケーションで意図します。 ほとんどのシステムの上では、システム(根づく)工程か特権があることによって実行されたプログラムでWell Known Portsを使用できるだけです。

Kohler, et al.              Standards Track                   [Page 112]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[112ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   users, while Registered Ports can be used by ordinary user processes
   or programs executed by ordinary users.  Dynamic and/or Private Ports
   are intended for temporary use, including client-side ports, out-of-
   band negotiated ports, and application testing prior to registration
   of a dedicated port; they MUST NOT be registered.

ユーザはRegistered Portsが使用できる間、一般ユーザの過程か一般ユーザによって実行されたプログラムで使用されてください。 動力、そして/または、兵士のPortsは一時的な使用のために意図します、クライアントサイドポートを含んでいて、出かけている、-、-バンドはポート、および専用ポートの登録の前に検査されるアプリケーションを交渉しました。 それらを登録してはいけません。

   The Port Numbers registry should accept registrations for DCCP ports
   in the Well Known Ports and Registered Ports ranges.  Well Known and
   Registered Ports SHOULD NOT be used without registration.  Although
   in some cases -- such as porting an application from UDP to DCCP --
   it may seem natural to use a DCCP port before registration completes,
   we emphasize that IANA will not guarantee registration of particular
   Well Known and Registered Ports.  Registrations should be requested
   as early as possible.

Port民数記登録はWell Known PortsのDCCPポートのための登録証明書を受け入れるべきです、そして、Registered Portsは及びます。 さて、KnownとRegistered Ports SHOULD。登録なしで使用されません。 UDPからDCCPまでのアプリケーションを移植などなどのいくつかの場合では、それは登録の前のDCCPポートが終了する使用に自然に見えるかもしれませんが、私たちは、IANAが特定のWell KnownとRegistered Portsの登録を保証しないと強調します。 登録証明書はできるだけ早く要求されているべきです。

   Each port registration SHALL include the following information:

それぞれのポート登録SHALLは以下の情報を含んでいます:

   o  A short port name, consisting entirely of letters (A-Z and a-z),
      digits (0-9), and punctuation characters from "-_+./*" (not
      including the quotes).

o 「-_+/*」(引用文を含んでいない)からの手紙(A-Zとa-z)、ケタ(0-9)、および句読文字から完全に成る短いポート名。

   o  The port number that is requested to be registered.

o 登録されるよう要求されているポートナンバー。

   o  A short English phrase describing the port's purpose.  This MUST
      include one or more space-separated textual Service Code
      descriptors naming the port's corresponding Service Codes (see
      Section 8.1.2).

o ポートの目的について説明する短いイギリスの句。 これはポートのものを対応するService Codesと命名する1つ以上のスペースで切り離された原文のService Code記述子を含まなければなりません(セクション8.1.2を見てください)。

   o  Name and contact information for the person or entity performing
      the registration, and possibly a reference to a document defining
      the port's use.  Registrations coming from IETF working groups
      need only name the working group, but indicating a contact person
      is recommended.

o 名前、人か実体のための登録を実行する問い合わせ先、およびことによるとドキュメントのポートの使用を定義する参照。 IETFワーキンググループから来る登録証明書はワーキンググループを命名するだけでよいのですが、連絡窓口を示すのはお勧めです。

   Registrants are encouraged to follow these guidelines when submitting
   a registration.

登録を提出するとき、記入者がこれらのガイドラインに従うよう奨励されます。

   o  A port name SHOULD NOT be registered for more than one DCCP port
      number.

o 登録されていて、ポートはSHOULD NOTを1つ以上のDCCPポートナンバーにちなんで命名します。

   o  A port name registered for UDP MAY be registered for DCCP as well.
      Any such registration SHOULD use the same port number as the
      existing UDP registration.

o 登録されていて、ポート名はまた、DCCPのためにUDP MAYに登録しました。 どんなそのような登録SHOULDも既存のUDP登録と同じポートナンバーを使用します。

   o  Concrete intent to use a port SHOULD precede port registration.
      For example, existing UDP ports SHOULD NOT be registered in
      advance of any intent to use those ports for DCCP.

o ポートSHOULDを使用するために熱心なコンクリートはポート登録に先行します。 例えば、登録されていて、既存のUDPはDCCPにそれらのポートを使用するどんな意図の前にもSHOULD NOTを移植します。

Kohler, et al.              Standards Track                   [Page 113]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[113ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   o  A port name generally associated with TCP and/or SCTP SHOULD NOT
      be registered for DCCP, since that port name implies reliable
      transport.  For example, we discourage registration of any "http"
      port for DCCP.  However, if such a registration makes sense (that
      is, if there is concrete intent to use such a port), the DCCP
      registration SHOULD use the same port number as the existing
      registration.

o そのポート名以来一般に、DCCPのために登録されるTCP、そして/または、SCTP SHOULD NOTに関連しているポート名は信頼できる輸送を含意します。 例えば、私たちはDCCPのためのどんな"http"ポートの登録にも水をさしています。 しかしながら、そのような登録が理解できるなら(すなわち、そのようなポートを使用するために熱心なコンクリートがあれば)、DCCP登録SHOULDは既存の登録と同じポートナンバーを使用します。

   o  Multiple DCCP registrations for the same port number are allowed
      as long as the registrations' Service Codes do not overlap.

o 登録証明書のService Codesが重ならない限り、同じポートナンバーのための複数のDCCP登録証明書が許容されています。

   This document registers the following port.  (This should be
   considered a model registration.)

このドキュメントは以下のポートを登録します。 (これはモデル登録であると考えられるべきです。)

   discard    9/dccp    Discard SC:DISC
   # IETF dccp WG, Eddie Kohler <kohler@cs.ucla.edu>, [RFC4340]

9/dccp Discardサウスカロライナ: DISC#IETF dccp WG、エディ Kohler <kohler@cs.ucla.edu を捨ててください、gt。[RFC4340]

   The discard service, which accepts DCCP connections on port 9,
   discards all incoming application data and sends no data in response.
   Thus, DCCP's discard port is analogous to TCP's discard port, and
   might be used to check the health of a DCCP stack.

サービスを捨ててください。(それは、応答でポート9の上でDCCP接続を受け入れて、すべての入って来るアプリケーションデータを捨てて、データを全く送りません)。 その結果、ポートが類似しているDCCPの破棄、TCPのものがポートを捨てる、DCCPスタックの健康をチェックするのに使用されるかもしれません。

20.  Thanks

20. 感謝

   Thanks to Jitendra Padhye for his help with early versions of this
   specification.

彼のご協力をこの仕様の早めのバージョンでJitendra Padhyeをありがとうございます。

   Thanks to Junwen Lai and Arun Venkataramani, who, as interns at ICIR,
   built a prototype DCCP implementation.  In particular, Junwen Lai
   recommended that the old feature negotiation mechanism be scrapped
   and co-designed the current mechanism.  Arun Venkataramani's feedback
   improved Appendix A.

JunwenレイとアルンVenkataramaniをありがとうございます。(ICIRのインターンとして、Venkataramaniは原型DCCP実現を組み込みました)。 Junwenレイは、特に、古い特徴交渉メカニズムが廃棄されることを勧めて、現在のメカニズムを共同設計しました。 アルンVenkataramaniのフィードバックはAppendix Aを改良しました。

   We thank the staff and interns of ICIR and, formerly, ACIRI, the
   members of the End-to-End Research Group, and the members of the
   Transport Area Working Group for their feedback on DCCP.  We
   especially thank the DCCP expert reviewers Greg Minshall, Eric
   Rescorla, and Magnus Westerlund for detailed written comments and
   problem spotting, and Rob Austein and Steve Bellovin for verbal
   comments and written notes.  We also especially thank Aaron Falk, the
   working group chair during the development of this specification.

私たちはDCCPの彼らのフィードバックについてICIRと以前ACIRIのスタッフとインターン、Endから終わりへのResearch Groupのメンバー、およびTransport Area作業部会のメンバーに感謝します。 私たちは言葉のコメントと書かれた注意のために詳細な書かれたコメント、問題の染みになること、ロブAustein、およびスティーブBellovinについてDCCP専門の評論家のグレッグMinshall、エリック・レスコラ、およびマグヌスWesterlundに特に感謝します。 また、私たちはこの仕様の開発の間、アーロン・フォーク、ワーキンググループいすに特に感謝します。

   We also thank those who provided comments and suggestions via the
   DCCP BOF, Working Group, and mailing lists, including Damon Lanphear,
   Patrick McManus, Colin Perkins, Sara Karlberg, Kevin Lai, Bernard
   Aboba, Youngsoo Choi, Pengfei Di, Dan Duchamp, Lars Eggert, Gorry
   Fairhurst, Derek Fawcus, David Timothy Fleeman, John Loughney,
   Ghyslain Pelletier, Hagen Paul Pfeifer, Tom Phelan, Stanislav

また、私たちはDCCP BOF、作業部会、およびメーリングリストでコメントと提案を提供した人に感謝します、ダモンLanphearを含んでいて、パトリック・マクマナス、コリン・パーキンス、サラKarlberg、ケビン・レイ、バーナードAboba、Youngsooチェ、Pengfeiダイアナ、ダン・デュシャン、ラース・エッゲルト、ゴーリーFairhurst、デリックFawcus、デヴィッドティモシーFleeman、ジョンLoughney、Ghyslainペレティア、ハーゲンポール・ファイファー、トムフェラン、スタニスラフ

Kohler, et al.              Standards Track                   [Page 114]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[114ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Shalunov, Somsak Vanit-Anunchai, David Vos, Yufei Wang, and Michael
   Welzl.  In particular, Colin Perkins provided extensive, detailed
   feedback, Michael Welzl suggested the Data Checksum option, Gorry
   Fairhurst provided extensive feedback on various checksum issues, and
   Somsak Vanit-Anunchai, Jonathan Billington, and Tul Kongprakaiwoot's
   Colored Petri Net model [VBK05] discovered several problems with
   message exchange.

Shalunov、Somsak Vanit-Anunchai、デヴィッドVos、Yufeiワング、およびマイケルWelzl。 特に、コリン・パーキンスは大規模で、詳細なフィードバックを提供しました、そして、マイケルWelzlはData Checksumオプションを勧めました、そして、ゴーリーFairhurstは様々なチェックサム問題の大規模なフィードバックを提供しました、そして、Somsak Vanit-Anunchai、ジョナサン・ビリントン、およびTul KongprakaiwootのColoredペトリネットモデル[VBK05]は交換処理に関するいくつかの問題を発見しました。

Kohler, et al.              Standards Track                   [Page 115]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[115ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

A.  Appendix: Ack Vector Implementation Notes

A。 付録: Ackベクトル実現注意

   This appendix discusses particulars of DCCP acknowledgement handling
   in the context of an abstract implementation for Ack Vector.  It is
   informative and not normative.

この付録はAck Vectorのために抽象的な実現の文脈のDCCP承認取り扱いの子細について議論します。 それは、有益であって、規範的ではありません。

   The first part of our implementation runs at the HC-Receiver, and
   therefore acknowledges data packets.  It generates Ack Vector
   options.  The implementation has the following characteristics:

私たちの実現の最初の部分は、HC-受信機を走って、したがって、データ・パケットを承認します。 それはAck Vectorオプションを発生させます。 実現には、以下の特性があります:

   o  At most one byte of state per acknowledged packet.

o 高々承認されたパケットあたりの1バイトの状態。

   o  O(1) time to update that state when a new packet arrives (normal
      case).

o 新しいパケットであるときにその状態をアップデートするO(1)時間は来ます(正常なケース)。

   o  Cumulative acknowledgements.

o 累積している承認。

   o  Quick removal of old state.

o 古い状態の迅速な取り外し。

   The basic data structure is a circular buffer containing information
   about acknowledged packets.  Each byte in this buffer contains a
   state and run length; the state can be 0 (packet received), 1 (packet
   ECN marked), or 3 (packet not yet received).  The buffer grows from
   right to left.  The implementation maintains five variables, aside
   from the buffer contents:

基礎データ構造は承認されたパケットの情報を含む円形のバッファです。 このバッファの各バイトは状態とランレングスを含んでいます。 状態は0が(受け取られたパケット)、1(電子証券取引ネットワークがマークしたパケット)か3であったならそうすることができます(パケットはまだ受信されていませんでした)。 バッファは左への権利から成長します。 バッファの内容は別として、実現は5つの変数を維持します:

   o  "buf_head" and "buf_tail", which mark the live portion of the
      buffer.

o バッファのライブ部分を示す「buf_ヘッド」と「buf_テール。」

   o  "buf_ackno", the Acknowledgement Number of the most recent packet
      acknowledged in the buffer.  This corresponds to the "head"
      pointer.

o 最新のパケットのAcknowledgement Numberは、バッファに「buf_ackno」と認めました。 これは「ヘッド」ポインタに対応しています。

   o  "buf_nonce", the one-bit sum (exclusive-or, or parity) of the ECN
      Nonces received on all packets acknowledged by the buffer with
      State 0.

o 電子証券取引ネットワークNoncesの1ビットの合計(排他的論理和、または同等)は、州0と共にバッファによって承認されたすべてのパケットの上で「buf_一回だけ」と受けました。

   We draw acknowledgement buffers like this:

私たちはこのような承認バッファを描きます:

      +---------------------------------------------------------------+
      |S,L|S,L|S,L|S,L|   |   |   |   |S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L|
      +---------------------------------------------------------------+
                    ^                   ^
                 buf_tail     buf_head, buf_ackno = A     buf_nonce = E

+---------------------------------------------------------------+ |S、L|S、L|S、L|S、L| | | | |S、L|S、L|S、L|S、L|S、L|S、L|S、L|S、L| +---------------------------------------------------------------+ ^ ^ buf_tail buf_head, buf_ackno = A buf_nonce = E

                <=== buf_head and buf_tail move this way <===

<== buf_ヘッドとbuf_テールは<をこの方向に動かします。===

Kohler, et al.              Standards Track                   [Page 116]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[116ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   Each "S,L" represents a State/Run length byte.  We will draw these
   buffers showing only their live portion and will add an annotation
   showing the Acknowledgement Number for the last live byte in the
   buffer.  For example:

各「S、L」は状態/ランレングスバイトを表します。 私たちは、それらのライブ部分だけを示しているこれらのバッファを描いて、バッファにおける最後の生体のバイトのためにAcknowledgement Numberを見せている注釈を加えるつもりです。 例えば:

        +-----------------------------------------------+
      A |S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L|S,L| T    BN[E]
        +-----------------------------------------------+

+-----------------------------------------------+ A|S、L|S、L|S、L|S、L|S、L|S、L|S、L|S、L|S、L|S、L|S、L|S、L| T BN[E]+-----------------------------------------------+

   Here, buf_nonce equals E and buf_ackno equals A.

ここで、buf_一回だけはEと等しいです、そして、buf_acknoはAと等しいです。

   We will use this buffer as a running example.

私たちは走行の例としてこのバッファを使用するつもりです。

         +---------------------------+
      10 |0,0|3,0|3,0|3,0|0,4|1,0|0,0| 0    BN[1]   [Example Buffer]
         +---------------------------+

+---------------------------+ 10 |0,0|3,0|3,0|3,0|0,4|1,0|0,0| 0 BN[1][例のバッファ]+---------------------------+

   In concrete terms, its meaning is as follows:

具体名辞で、意味は以下の通りです:

      Packet 10 was received.  (The head of the buffer has sequence
      number 10, state 0, and run length 0.)

パケット10を受け取りました。 (バッファのヘッドには、一連番号10、状態0、およびランレングス0があります。)

      Packets 9, 8, and 7 have not yet been received.  (The three bytes
      preceding the head each have state 3 and run length 0.)

パケット9、8、および7はまだ受け取られていません。 (ヘッドの上位である3バイトはそれぞれ状態3とランレングス0を持っています。)

      Packets 6, 5, 4, 3, and 2 were received.

パケット6、5、4、3、および2を受け取りました。

      Packet 1 was ECN marked.

パケット1はマークされた電子証券取引ネットワークでした。

      Packet 0 was received.

パケット0を受け取りました。

      The one-bit sum of the ECN Nonces on packets 10, 6, 5, 4, 3, 2,
      and 0 equals 1.

パケット10、6、5、4、3、2、および0の上の電子証券取引ネットワークNoncesの1ビットの合計は1と等しいです。

   Additionally, the HC-Receiver must keep some information about the
   Ack Vectors it has recently sent.  For each packet sent carrying an
   Ack Vector, it remembers four variables:

さらに、HC-受信機はそれが最近送ったAck Vectorsの何らかの情報を保たなければなりません。 Ack Vectorが運ばされた各パケットに関しては、4つの変数を覚えています:

   o  "ack_seqno", the Sequence Number used for the packet.  This is an
      HC-Receiver sequence number.

o Sequence Numberは、パケットに「ack_seqno」と使用しました。 これはHC-受信機一連番号です。

   o  "ack_ptr", the value of buf_head at the time of acknowledgement.

o 「ack_ptr」、承認時点のbuf_ヘッドの値。

   o  "ack_runlen", the run length stored in the byte of buffer data at
      buf_head at the time of acknowledgement.

o ランレングスは、承認時点で、buf_ヘッドにバッファデータのバイトで「ack_runlen」と格納しました。

Kohler, et al.              Standards Track                   [Page 117]

RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

コーラー、他 2006年の標準化過程[117ページ]RFC4340データグラム混雑制御プロトコル(DCCP)行進

   o  "ack_ackno", the Acknowledgement Number used for the packet.  This
      is an HC-Sender sequence number.  Since acknowledgements are
      cumulative, this single number completely specifies all necessary
      information about the packets acknowledged by this Ack Vector.

o Acknowledgement Numberは、パケットに「ack_ackno」と使用しました。 これはHC-送付者一連番号です。 承認が累積しているので、このただ一つの数はこのAck Vectorによって承認されたパケットに関するすべての必要事項を完全に指定します。

   o  "ack_nonce", the one-bit sum of the ECN Nonces for all State 0
      packets in the buffer from buf_head to ack_ackno, inclusive.
      Initially, this equals the Nonce Echo of the acknowledgement's Ack
      Vector (or, if the ack packet contained more than one Ack Vector,
      the exclusive-or of all the acknowledgement's Ack Vectors).  It
      changes as information about old acknowledgements is removed (so
      ack_ptr and buf_head diverge) and as old packets arrive (so they
      change from State 3 or State 1 to State 0).

o 「ack_一回だけ」、buf_からのバッファのすべての州0パケットのための電子証券取引ネットワークNoncesの1ビットの合計はack_acknoに向かいます、包括的です。 初めは、これは承認のAck Vector(ackパケットが1Ack Vectorを含んだときの承認のAck Vectorsの排他的論理和)のNonce Echoと等しいです。 古い承認の情報が取り除かれて(したがって、ack_ptrとbuf_ヘッドは分岐します)、古いパケットが到着するのに応じて(したがって、州0によってそれらは変化します)、それは変化します。

A.1.  Packet Arrival

A.1。 パケット到着

   This section describes how the HC-Receiver updates its
   acknowledgement buffer as packets arrive from the HC-Sender.

このセクションはパケットがHC-送付者から到着するときHC-受信機がどう承認バッファをアップデートするかを説明します。

A.1.1.  New Packets

A.1.1。 新しいパケット

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

Prototype window

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る