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
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.
著作権(C)インターネット協会(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オクテット三左端のビットの使用上の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]トラフィッククラスのオクテットは、RFC 2474で定義されているもの以外の任意の定義された意味を持っていない、特に優先度やセキュリティパラメータのビットが定義されていないため、TCPとDiffServの間に対立が内の任意のビットを使用することではありませんIPv6のトラフィッククラスオクテット。
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の出現により、中間ノードは、所望のホップ単位動作(PHB)[RFC2475、RFC2597、RFC2598]を示すために、IPヘッダの差別化サービスコードポイント(DSCP)[RFC2474]を変更することができます。 DSCPは、以前優先順位フィールドとして知られている3つのビットを含みます。これらの3つのビットへのいかなる変更が優先-認識しているエンドポイントによって違法とみなされますので、彼らは、接続の確立に障害が発生することがあり、または確立された接続がリセットされる可能性があります。
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オクテット三左端のビットです。 DiffServの中に、これらの3ビットは、またはIPパケットの優先度を示すために使用してもしなくてもよいことに留意されたいです。 IPv6ではトラフィッククラスオクテットには優先順位フィールドがありません。
TOS Field: bits 3-6 in the TOS octet of IPv4 header [RFC 1349].
TOSフィールド:IPv4ヘッダのTOSオクテットのビット3-6 [RFC 1349]。
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によって差別化サービス(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.
ホップ単位動作(PHB):外部から観察可能な転送処理の説明は、行動集合に分化サービス対応ノードに適用しました。
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の使用と競合する可能性があります。この競合は、潜在的に793まず、RFC 793の36ページをRFCに準拠TCP実装の問題を引き起こす可能性があります:
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.
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.
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パケットの優先度フィールドは中間ノードによって変更されるので、TCP接続は、両方のモジュールで得られた、異なる優先順位を選ぶ2つの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モジュールの一つは、そのセグメントの優先順位を変更します。 RFC 793によると、TCP接続がリセットする必要があります。セグメントの優先順位が他のTCPモジュールに到着するとき、それは期待値を保持するように中間ノードによって変更された場合のDiffServ対応の環境では、接続がリセットされません。
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つの場合が許容されるべきです。
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.
かかわらず、セグメントのヘッダ内のシーケンス番号の正しさの、間違ったprecedenceフィールドを持つ任意のセグメントを受信すると、接続を終了するTCPの実装では、すべての攻撃を終了するためにしなければならないとして、深刻なサービス拒否脅威をもたらし接続ポート番号を推測した後、異なる優先順位値を有する2つのセグメントを送信あります。そのうちの一つは、接続を終了することが確実です。したがって、このメモで提案されている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.
攻撃者は被害者のみTCPの初期シーケンス番号が、また、その優先度の設定を推測してはならない一方、原則としてRFC 793の厳格な処理規則は、TCPスプーフィング攻撃をより困難にします。
Finally, the security issues of each PHB group are addressed in the PHB group's specification [RFC2597, RFC2598].
最後に、各PHBグループのセキュリティ問題はPHBグループの仕様[RFC2597、RFC2598]で扱われています。
Our thanks to Al Smith for his careful review and comments.
彼の慎重なレビューとコメントのためのアル・スミスに感謝。
[RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981.
[RFC791]ポステル、J.、 "インターネットプロトコル"、STD 5、RFC 791、1981年9月。
[RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, September 1981.
[RFC793]ポステル、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]デアリング、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]ニコルズ、K.、ブレイク、S.、ベイカー、F.とD.黒、 "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]ブレイク、S.、ブラック、D.、カールソン、M.、デイヴィス、E.、王、Z.とW.ワイス、 "差別化サービスのためのアーキテクチャ"、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.、ベーカー、F.、ワイス、W.及びJ. Wroclawski、 "保証転送PHBグループ"、RFC 2587、1999年6月。
[RFC2598] Jacobson, V., Nichols, K. and K. Poduri, "An Expedited Forwarding PHB", RFC 2598, June 1999.
[RFC2598]ジェーコブソン、V.、ニコルズ、K.とK. Poduri、 "緊急転送PHB"、RFC 2598、1999年6月。
Xipeng Xiao Global Crossing 141 Caspian Court Sunnyvale, CA 94089 USA
Xipengシャオグローバル・クロッシング141カスピ裁判所サニーベール、CA 94089 USA
Phone: +1 408-543-4801 EMail: xipeng@gblx.net
電話:+1 408-543-4801電子メール:xipeng@gblx.net
Alan Hannan iVMG, Inc. 112 Falkirk Court Sunnyvale, CA 94087 USA
アラン・阪南iVMG、Inc.の112フォルカーク裁判所サニーベール、CA 94087 USA
Phone: +1 408-749-7084 EMail: alan@ivmg.net
電話:+1 408-749-7084電子メール:alan@ivmg.net
Edward Crabbe Exodus Communications 2650 San Tomas Expressway Santa Clara, CA 95051 USA
エドワード・クラッブエクソダスコミュニケーションズ2650サントーマス高速道路サンタクララ、CA 95051 USA
Phone: +1 408-346-1544 EMail: edc@explosive.net
電話:+1 408-346-1544電子メール:edc@explosive.net
Vern Paxson ACIRI/ICSI 1947 Center Street Suite 600 Berkeley, CA 94704-1198 USA
バーン・パクソンACIRI / ICSI 1947センターストリートスイート600バークレー、CA 94704から1198 USA
Phone: +1 510-666-2882 EMail: vern@aciri.org
電話:+1 510-666-2882電子メール:vern@aciri.org
Copyright (C) The Internet Society (2000). All Rights Reserved.
著作権(C)インターネット協会(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 Editor機能のための基金は現在、インターネット協会によって提供されます。