[要約] RFC 2873は、IPv4の先行フィールドのTCP処理に関するガイドラインです。その目的は、ネットワークトラフィックの優先順位を設定し、適切な処理を行うための方法を提供することです。

Network Working Group                                            X. Xiao
Request for Comments: 2873                               Global Crossing
Category: Standards Track                                      A. Hannan
                                                                    iVMG
                                                               V. Paxson
                                                              ACIRI/ICSI
                                                               E. Crabbe
                                                   Exodus Communications
                                                               June 2000
        

TCP Processing of the IPv4 Precedence Field

IPv4優先順位フィールドのTCP処理

Status of this Memo

本文書の位置付け

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

このドキュメントは、インターネットコミュニティのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態とステータスについては、「インターネット公式プロトコル標準」(STD 1)の現在のエディションを参照してください。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (C) The Internet Society (2000). All Rights Reserved.

Copyright(c)The Internet Society(2000)。無断転載を禁じます。

Abstract

概要

This memo describes a conflict between TCP [RFC793] and DiffServ [RFC2475] on the use of the three leftmost bits in the TOS octet of an IPv4 header [RFC791]. In a network that contains DiffServ-capable nodes, such a conflict can cause failures in establishing TCP connections or can cause some established TCP connections to be reset undesirably. This memo proposes a modification to TCP for resolving the conflict.

このメモは、IPv4ヘッダー[RFC791]のTOSオクテットの3つの左端ビットの使用に関するTCP [RFC793]とdiffserv [RFC2475]の間の競合について説明しています。DiffServ対応ノードを含むネットワークでは、このような競合により、TCP接続の確立に障害を引き起こすか、確立されたTCP接続が望ましくないことを引き起こす可能性があります。このメモは、紛争を解決するためのTCPへの変更を提案しています。

Because the IPv6 [RFC2460] traffic class octet does not have any defined meaning except what is defined in RFC 2474, and in particular does not define precedence or security parameter bits, there is no conflict between TCP and DiffServ on the use of any bits in the IPv6 traffic class octet.

IPv6 [RFC2460]トラフィッククラスのOctetは、RFC 2474で定義されているものを除いて定義された意味を持たず、特に優先順位またはセキュリティパラメータービットを定義していないため、TCPとDiffservの間に矛盾はありません。IPv6トラフィッククラスOctet。

1. Introduction
1. はじめに

In TCP, each connection has a set of states associated with it. Such states are reflected by a set of variables stored in the TCP Control Block (TCB) of both ends. Such variables may include the local and remote socket number, precedence of the connection, security level and compartment, etc. Both ends must agree on the setting of the precedence and security parameters in order to establish a connection and keep it open.

TCPでは、各接続にはそれに関連する一連の状態があります。このような状態は、両端のTCP制御ブロック(TCB)に保存されている一連の変数に反映されます。このような変数には、ローカルおよびリモートのソケット番号、接続の優先順位、セキュリティレベル、コンパートメントなどが含まれます。両端は、接続を確立して開いたままにするために、優先順位とセキュリティパラメーターの設定に同意する必要があります。

There is no field in the TCP header that indicates the precedence of a segment. Instead, the precedence field in the header of the IP packet is used as the indication. The security level and compartment are likewise carried in the IP header, but as IP options rather than a fixed header field. Because of this difference, the problem with precedence discussed in this memo does not apply to them.

TCPヘッダーには、セグメントの優先順位を示すフィールドはありません。代わりに、IPパケットのヘッダーの優先順位フィールドが表示として使用されます。セキュリティレベルとコンパートメントは、同様にIPヘッダーに含まれていますが、固定ヘッダーフィールドではなくIPオプションとして配信されます。この違いのため、このメモで説明されている優先順位の問題はそれらには適用されません。

TCP requires that the precedence (and security parameters) of a connection must remain unchanged during the lifetime of the connection. Therefore, for an established TCP connection with precedence, the receipt of a segment with different precedence indicates an error. The connection must be reset [RFC793, pp. 36, 37, 40, 66, 67, 71].

TCPでは、接続の優先順位(およびセキュリティパラメーター)が、接続の寿命の間、変更されないままでなければならないことが必要です。したがって、優先順位を持つ確立されたTCP接続の場合、優先順位が異なるセグメントの受領はエラーを示します。接続をリセットする必要があります[RFC793、pp。36、37、40、66、67、71]。

With the advent of DiffServ, intermediate nodes may modify the Differentiated Services Codepoint (DSCP) [RFC2474] of the IP header to indicate the desired Per-hop Behavior (PHB) [RFC2475, RFC2597, RFC2598]. The DSCP includes the three bits formerly known as the precedence field. Because any modification to those three bits will be considered illegal by endpoints that are precedence-aware, they may cause failures in establishing connections, or may cause established connections to be reset.

DIFFSERVの出現により、中間ノードはIPヘッダーの差別化されたサービスCodePoint(DSCP)[RFC2474]を変更して、所望のPER-HOP挙動(PHB)[RFC2475、RFC2597、RFC2598]を示す場合があります。DSCPには、以前は優先順位フィールドとして知られていた3つのビットが含まれています。これらの3つのビットの変更は、優先順位を付与するエンドポイントによって違法と見なされるため、接続の確立に障害を引き起こすか、確立された接続をリセットする可能性があります。

2. Terminology
2. 用語

Segment: the unit of data that TCP sends to IP

セグメント:TCPがIPに送信するデータの単位

Precedence Field: the three leftmost bits in the TOS octet of an IPv4 header. Note that in DiffServ, these three bits may or may not be used to denote the precedence of the IP packet. There is no precedence field in the traffic class octet in IPv6.

優先順位フィールド:IPv4ヘッダーのTOSオクテットの3つの左端ビット。diffservでは、これらの3つのビットを使用して、IPパケットの優先順位を示す場合と使用できない場合があります。IPv6のトラフィッククラスOctetに優先順位フィールドはありません。

TOS Field: bits 3-6 in the TOS octet of IPv4 header [RFC 1349].

TOSフィールド:IPv4ヘッダー[RFC 1349]のTOSオクテットのビット3-6。

MBZ field: Must Be Zero

MBZフィールド:ゼロでなければなりません

The structure of the TOS octet is depicted below:

TOSオクテットの構造を以下に示します。

                   0     1     2     3     4     5     6     7
                +-----+-----+-----+-----+-----+-----+-----+-----+
                |   PRECEDENCE    |          TOS          | MBZ |
                +-----+-----+-----+-----+-----+-----+-----+-----+
        

DS Field: the TOS octet of an IPv4 header is renamed the Differentiated Services (DS) Field by DiffServ.

DSフィールド:IPv4ヘッダーのTOSオクテットは、DiffServによってDisidemated Services(DS)フィールドに名前が変更されます。

The structure of the DS field is depicted below:

DSフィールドの構造を以下に示します。

                  0   1   2   3   4   5   6   7
                +---+---+---+---+---+---+---+---+
                |         DSCP          |  CU   |
                +---+---+---+---+---+---+---+---+
        

DSCP: Differentiated Service Code Point, the leftmost 6 bits in the DS field.

DSCP:DSフィールドの左端6ビット、差別化されたサービスコードポイント。

CU: currently unused.

CU:現在未使用。

Per-hop Behavior (PHB): a description of the externally observable forwarding treatment applied at a differentiated services-compliant node to a behavior aggregate.

PER-HOP Behavior(PHB):差別化されたサービスに準拠したノードで適用された外部的に観察可能な転送処理の説明は、動作の集合体に適用されます。

3. Problem Description
3. 問題の説明

The manipulation of the DSCP to achieve the desired PHB by DiffServ-capable nodes may conflict with TCP's use of the precedence field. This conflict can potentially cause problems for TCP implementations that conform to RFC 793. First, page 36 of RFC 793 states:

DIFFSERV対応ノードによる目的のPHBを達成するためのDSCPの操作は、TCPの優先順位フィールドの使用と競合する可能性があります。この競合は、RFC 793に準拠するTCP実装の問題を引き起こす可能性があります。まず、RFC 793の36ページは次のとおりです。

If the connection is in any non-synchronized state (LISTEN, SYN-SENT, SYN-RECEIVED), and the incoming segment acknowledges something not yet sent (the segment carries an unacceptable ACK), or if an incoming segment has a security level or compartment which does not exactly match the level and compartment requested for the connection, a reset is sent. If our SYN has not been acknowledged and the precedence level of the incoming segment is higher than the precedence level requested then either raise the local precedence level (if allowed by the user and the system) or send a reset; or if the precedence level of the incoming segment is lower than the precedence level requested then continue as if the precedence matched exactly (if the remote TCP cannot raise the precedence level to match ours this will be detected in the next segment it sends, and the connection will be terminated then). If our SYN has been acknowledged (perhaps in this incoming segment) the precedence level of the incoming segment must match the local precedence level exactly, if it does not a reset must be sent.

接続が非同期状態(聞き、syn-sent、syn-received)にあり、着信セグメントがまだ送信されていないもの(セグメントには許容できないACKが含まれている)、または着信セグメントにセキュリティレベルがある場合、またはセキュリティレベルがある場合、または接続の要求されたレベルとコンパートメントと正確に一致しないコンパートメントは、リセットが送信されます。Synが認められておらず、着信セグメントの優先レベルが要求された優先レベルよりも高い場合、ローカルの優先レベル(ユーザーとシステムが許可されている場合)を上げるか、リセットを送信します。または、受信セグメントの優先順位レベルが要求された優先レベルよりも低い場合、優先順位が正確に一致しているかのように継続します(リモートTCPが私たちのものと一致するように優先度レベルを上げることができない場合、これは送信する次のセグメントで検出されます。接続は終了します)。synが(おそらくこの着信セグメントで)認められている場合、着信セグメントの優先レベルは、リセットを送信する必要がない場合、ローカルの優先順位レベルと正確に一致する必要があります。

This leads to Problem #1: For a precedence-aware TCP module, if during TCP's synchronization process, the precedence fields of the SYN and/or ACK packets are modified by the intermediate nodes, resulting in the received ACK packet having a different precedence from the precedence picked by this TCP module, the TCP connection cannot be established, even if both modules actually agree on an identical precedence for the connection.

これは問題#1につながります:優先順位を付けるTCPモジュールの場合、TCPの同期プロセス中に、Synおよび/またはACKパケットの優先フィールドが中間ノードによって変更され、受信したACKパケットが異なる優先順位を持つことになります。このTCPモジュールによって選択された優先順位は、両方のモジュールが実際に接続の同一の優先順位に同意しても、TCP接続を確立することはできません。

Then, on page 37, RFC 793 states:

次に、37ページで、RFC 793は次のように述べています。

If the connection is in a synchronized state (ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT), security level, or compartment, or precedence which does not exactly match the level, and compartment, and precedence requested for the connection, a reset is sent and connection goes to the CLOSED state.

接続が同期された状態(確立された、Fin-Wait-1、Fin-Wait-2、Close-Wait、閉鎖、Last-ack、Time-Wait)、セキュリティレベル、またはコンパートメント、または正確ではない優先順位にある場合レベル、コンパートメント、および接続の要求された優先順位を一致させると、リセットが送信され、接続が閉じた状態になります。

This leads to Problem #2: For a precedence-aware TCP module, if the precedence field of a received segment from an established TCP connection has been changed en route by the intermediate nodes so as to be different from the precedence specified during the connection setup, the TCP connection will be reset.

これは問題#2につながります:優先順位を付けるTCPモジュールの場合、確立されたTCP接続からの受信セグメントの優先順位フィールドが、接続セットアップ中に指定された優先順位とは異なるように、中間ノードによって途中で変更された場合、TCP接続がリセットされます。

Each of problems #1 and #2 has a mirroring problem. They cause TCP connections that must be reset according to RFC 793 not to be reset.

#1と#2のそれぞれには、ミラーリングの問題があります。それらは、RFC 793に従ってリセットされないようにリセットする必要があるTCP接続を引き起こします。

Problem #3: A TCP connection may be established between two TCP modules that pick different precedence, because the precedence fields of the SYN and ACK packets are modified by intermediate nodes, resulting in both modules thinking that they are in agreement for the precedence of the connection.

問題#3:SynとACKパケットの優先フィールドが中間ノードによって変更され、両方のモジュールが同意していると考えているため、異なる優先順位を選択する2つのTCPモジュール間にTCP接続が確立される場合があります。繋がり。

Problem #4: A TCP connection has been established normally by two TCP modules that pick the same precedence. But in the middle of the data transmission, one of the TCP modules changes the precedence of its segments. According to RFC 793, the TCP connection must be reset. In a DiffServ-capable environment, if the precedence of the segments is altered by intermediate nodes such that it retains the expected value when arriving at the other TCP module, the connection will not be reset.

問題#4:TCP接続は通常、同じ優先順位を選択する2つのTCPモジュールによって確立されています。ただし、データ送信の途中では、TCPモジュールの1つがセグメントの優先順位を変更します。RFC 793によると、TCP接続をリセットする必要があります。Diffserv対応環境では、セグメントの優先順位が中間ノードによって変更され、他のTCPモジュールに到着するときに期待値を保持する場合、接続はリセットされません。

4. Proposed Modification to TCP
4. TCPへの提案された変更

The proposed modification to TCP is that TCP must ignore the precedence of all received segments. More specifically:

TCPの提案された変更は、TCPが受信したすべてのセグメントの優先順位を無視する必要があることです。すなわち:

(1) In TCP's synchronization process, the TCP modules at both ends must ignore the precedence fields of the SYN and SYN ACK packets. The TCP connection will be established if all the conditions specified by RFC 793 are satisfied except the precedence of the connection.

(1) TCPの同期プロセスでは、両端のTCPモジュールは、SynおよびSyn ACKパケットの優先フィールドを無視する必要があります。RFC 793で指定されたすべての条件が接続の優先順位を除いて満たされる場合、TCP接続が確立されます。

(2) After a connection is established, each end sends segments with its desired precedence. The precedence picked by one end of the TCP connection may be the same or may be different from the precedence picked by the other end (because precedence is ignored during connection setup time). The precedence fields may be changed by the intermediate nodes too. In either case, the precedence of the received packets will be ignored by the other end. The TCP connection will not be reset in either case.

(2) 接続が確立された後、各端は目的の優先順位を持つセグメントを送信します。TCP接続の一方の端によって選択される優先順位は同じであるか、もう一方の端によって選択された優先順位とは異なる場合があります(接続のセットアップ時間中に優先順位が無視されるため)。優先フィールドは、中間ノードによっても変更される場合があります。どちらの場合でも、受信したパケットの優先順位は反対側によって無視されます。どちらの場合も、TCP接続はリセットされません。

Problems #1 and #2 are solved by this proposed modification. Problems #3 and #4 become non-issues because TCP must ignore the precedence. In a DiffServ-capable environment, the two cases described in problems #3 and #4 should be allowed.

問題#1と#2は、この提案された変更によって解決されます。TCPは優先順位を無視する必要があるため、問題#3と#4は問題ではありません。diffserv対応環境では、問題#3と#4で説明されている2つのケースを許可する必要があります。

5. Security Considerations
5. セキュリティに関する考慮事項

A TCP implementation that terminates a connection upon receipt of any segment with an incorrect precedence field, regardless of the correctness of the sequence numbers in the segment's header, poses a serious denial-of-service threat, as all an attacker must do to terminate a connection is guess the port numbers and then send two segments with different precedence values; one of them is certain to terminate the connection. Accordingly, the change to TCP processing proposed in this memo would yield a significant gain in terms of that TCP implementation's resilience.

セグメントのヘッダーのシーケンス番号の正しさに関係なく、誤った優先順位フィールドを持つセグメントの受領時に接続を終了するTCP実装は、すべての攻撃者が終了するためにしなければならないように、深刻なサービス拒否の脅威をもたらします。接続は、ポート番号を推測してから、優先値が異なる2つのセグメントを送信します。そのうちの1つは、接続を終了することが確実です。したがって、このメモで提案されているTCP処理の変更は、そのTCP実装の回復力に関して大きな利益をもたらします。

On the other hand, the stricter processing rules of RFC 793 in principle make TCP spoofing attacks more difficult, as the attacker must not only guess the victim TCP's initial sequence number, but also its precedence setting.

一方、RFC 793のより厳格な処理ルールは、原則としてTCPのスプーフィング攻撃をより困難にします。攻撃者は、被害者TCPの初期シーケンス番号だけでなく、その優先順位設定も推測する必要があるためです。

Finally, the security issues of each PHB group are addressed in the PHB group's specification [RFC2597, RFC2598].

最後に、各PHBグループのセキュリティ問題は、PHBグループの仕様[RFC2597、RFC2598]で対処されています。

6. Acknowledgments
6. 謝辞

Our thanks to Al Smith for his careful review and comments.

彼の慎重なレビューとコメントをしてくれたアル・スミスに感謝します。

7. References
7. 参考文献

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

[RFC791] Postel、J。、「インターネットプロトコル」、STD 5、RFC 791、1981年9月。

[RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, September 1981.

[RFC793] Postel、J。、「トランスミッションコントロールプロトコル」、STD 7、RFC 793、1981年9月。

[RFC1349] Almquist, P., "Type of Service in the Internet Protocol Suite", RFC 1349, July 1992.

[RFC1349] Almquist、P。、「インターネットプロトコルスイートのサービスの種類」、RFC 1349、1992年7月。

[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998.

[RFC2460] Deering、S。およびR. Hinden、「インターネットプロトコル、バージョン6(IPv6)仕様」、RFC 2460、1998年12月。

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

[RFC2474] Nichols、K.、Blake、S.、Baker、F。、およびD. Black、「IPv4およびIPv6ヘッダーの差別化されたサービスフィールド(DSフィールド)の定義」、RFC 2474、1998年12月。

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

[RFC2475] Blake、S.、Black、D.、Carlson、M.、Davies、E.、Wang、Z。、およびW. Weiss、「差別化されたサービスの建築」、RFC 2475、1998年12月。

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

[RFC2597] Heinanen、J.、Baker、F.、Weiss、W。and J. Wroclawski、「Assured Forwarding PHB Group」、RFC 2587、1999年6月。

[RFC2598] Jacobson, V., Nichols, K. and K. Poduri, "An Expedited Forwarding PHB", RFC 2598, June 1999.

[RFC2598] Jacobson、V.、Nichols、K。およびK. Poduri、「迅速な転送PHB」、RFC 2598、1999年6月。

8. Authors' Addresses
8. 著者のアドレス

Xipeng Xiao Global Crossing 141 Caspian Court Sunnyvale, CA 94089 USA

Xipeng Xiao Global Crossing 141 Caspian Court Sunnyvale、CA 94089 USA

   Phone: +1 408-543-4801
   EMail: xipeng@gblx.net
        

Alan Hannan iVMG, Inc. 112 Falkirk Court Sunnyvale, CA 94087 USA

Alan Hannan IVMG、Inc。112 Falkirk Court Sunnyvale、CA 94087 USA

   Phone: +1 408-749-7084
   EMail: alan@ivmg.net
        

Edward Crabbe Exodus Communications 2650 San Tomas Expressway Santa Clara, CA 95051 USA

エドワードクラブエクソダスコミュニケーション2650サントーマスエクスプレスウェイサンタクララ、カリフォルニア95051 USA

   Phone: +1 408-346-1544
   EMail: edc@explosive.net
        

Vern Paxson ACIRI/ICSI 1947 Center Street Suite 600 Berkeley, CA 94704-1198 USA

Vern Paxson Aciri/Icsi 1947 Center Street Suite 600 Berkeley、CA 94704-1198 USA

   Phone: +1 510-666-2882
   EMail: vern@aciri.org
        
9. 完全な著作権声明

Copyright (C) The Internet Society (2000). All Rights Reserved.

Copyright(c)The Internet Society(2000)。無断転載を禁じます。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

このドキュメントと翻訳は他の人にコピーされて提供される場合があります。また、それについてコメントまたは説明する派生作品、またはその実装を支援することは、いかなる種類の制限なしに、準備、コピー、公開、および部分的に配布される場合があります。、上記の著作権通知とこの段落がそのようなすべてのコピーとデリバティブ作品に含まれている場合。ただし、このドキュメント自体は、インターネット協会や他のインターネット組織への著作権通知や参照を削除するなど、いかなる方法でも変更できない場合があります。インターネット標準プロセスに従うか、英語以外の言語に翻訳するために必要な場合に従う必要があります。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上記の限られた許可は永続的であり、インターネット社会またはその後継者または譲受人によって取り消されることはありません。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

この文書と本書に含まれる情報は、「現状」に基づいて提供されており、インターネット社会とインターネットエンジニアリングタスクフォースは、ここにある情報の使用が行われないという保証を含むがこれらに限定されないすべての保証を否認します。特定の目的に対する商品性または適合性の権利または黙示的な保証を侵害します。

Acknowledgement

謝辞

Funding for the RFC Editor function is currently provided by the Internet Society.

RFCエディター機能の資金は現在、インターネット協会によって提供されています。