[要約] RFC 8900は、「IP Fragmentation Considered Fragile」と題され、IPフラグメンテーション(分割)の脆弱性とその使用に関するリスクを議論しています。この文書の目的は、ネットワーク設計者やオペレーターにIPフラグメンテーションの使用を避け、より安全な代替手段を検討するよう促すことです。特に、セキュリティや信頼性の問題が懸念される場面での利用が挙げられます。関連するRFCとしては、RFC 791(IPv4の仕様)、RFC 8200(IPv6の仕様)などがあり、これらの文書と合わせてIPフラグメンテーションの現状と問題点を理解することが推奨されます。
Internet Engineering Task Force (IETF) R. Bonica Request for Comments: 8900 Juniper Networks BCP: 230 F. Baker Category: Best Current Practice Unaffiliated ISSN: 2070-1721 G. Huston APNIC R. Hinden Check Point Software O. Troan Cisco F. Gont SI6 Networks September 2020
IP Fragmentation Considered Fragile
IPフラグメンテーションは壊れやすいと考えられています
Abstract
概要
This document describes IP fragmentation and explains how it introduces fragility to Internet communication.
この文書では、IPフラグメンテーションについて説明し、インターネット通信に脆弱性を発表する方法について説明します。
This document also proposes alternatives to IP fragmentation and provides recommendations for developers and network operators.
この文書はまた、IPフラグメンテーションの代替案を提案し、開発者およびネットワーク事業者に推奨事項を提供します。
Status of This Memo
本文書の状態
This memo documents an Internet Best Current Practice.
このメモはインターネットの最高の現在の練習を文書化しています。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on BCPs is available in Section 2 of RFC 7841.
この文書は、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表します。それは公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による出版の承認を受けました。BCPの詳細情報はRFC 7841のセクション2で入手できます。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8900.
この文書の現在のステータス、任意のエラータ、およびフィードバックを提供する方法については、https://www.rfc-editor.org/info/rfc8900で入手できます。
Copyright Notice
著作権表示
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.
Copyright(C)2020 IETFの信頼と文書著者として識別された人。全著作権所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
このドキュメントは、このドキュメントの発行日に有効なBCP 78およびIETFドキュメントに関連するIETFトラストの法的規定(https://trustee.ietf.org/license-info)の対象となります。 これらのドキュメントは、このドキュメントに関するお客様の権利と制限について説明しているため、注意深く確認してください。 このドキュメントから抽出されたコードコンポーネントには、Trust LegalProvisionsのセクション4.eで説明されているSimplifiedBSD Licenseテキストが含まれている必要があり、Simplified BSDLicenseで説明されているように保証なしで提供されます。
Table of Contents
目次
1. Introduction 1.1. Requirements Language 2. IP Fragmentation 2.1. Links, Paths, MTU, and PMTU 2.2. Fragmentation Procedures 2.3. Upper-Layer Reliance on IP Fragmentation 3. Increased Fragility 3.1. Virtual Reassembly 3.2. Policy-Based Routing 3.3. Network Address Translation (NAT) 3.4. Stateless Firewalls 3.5. Equal-Cost Multipath, Link Aggregate Groups, and Stateless Load Balancers 3.6. IPv4 Reassembly Errors at High Data Rates 3.7. Security Vulnerabilities 3.8. PMTU Black-Holing Due to ICMP Loss 3.8.1. Transient Loss 3.8.2. Incorrect Implementation of Security Policy 3.8.3. Persistent Loss Caused by Anycast 3.8.4. Persistent Loss Caused by Unidirectional Routing 3.9. Black-Holing Due to Filtering or Loss 4. Alternatives to IP Fragmentation 4.1. Transport-Layer Solutions 4.2. Application-Layer Solutions 5. Applications That Rely on IPv6 Fragmentation 5.1. Domain Name Service (DNS) 5.2. Open Shortest Path First (OSPF) 5.3. Packet-in-Packet Encapsulations 5.4. UDP Applications Enhancing Performance 6. Recommendations 6.1. For Application and Protocol Developers 6.2. For System Developers 6.3. For Middlebox Developers 6.4. For ECMP, LAG, and Load-Balancer Developers And Operators 6.5. For Network Operators 7. IANA Considerations 8. Security Considerations 9. References 9.1. Normative References 9.2. Informative References Acknowledgements Authors' Addresses
Operational experience [Kent] [Huston] [RFC7872] reveals that IP fragmentation introduces fragility to Internet communication. This document describes IP fragmentation and explains the fragility it introduces. It also proposes alternatives to IP fragmentation and provides recommendations for developers and network operators.
運用体験[Kent] [Huston] [RFC7872]は、IPフラグメンテーションがインターネット通信に脆弱性を発表することを明らかにしています。この文書ではIPフラグメンテーションについて説明し、紹介した脆弱性を説明しています。また、IPフラグメンテーションの代替案も提案し、開発者およびネットワーク事業者に推奨事項を提供します。
While this document identifies issues associated with IP fragmentation, it does not recommend deprecation. Legacy protocols that depend upon IP fragmentation would do well to be updated to remove that dependency. However, some applications and environments (see Section 5) require IP fragmentation. In these cases, the protocol will continue to rely on IP fragmentation, but the designer should be aware that fragmented packets may result in black holes. A design should include appropriate safeguards.
このドキュメントはIPフラグメンテーションに関連した問題を識別しているが、非推奨をお勧めしません。IPフラグメンテーションに依存する従来のプロトコルは、その依存関係を削除するように更新されることをうまくいくでしょう。ただし、一部のアプリケーションや環境(セクション5参照)にはIPフラグメンテーションが必要です。このような場合、プロトコルはIPフラグメンテーションに依存していますが、デザイナーは断片化されたパケットがブラックホールをもたらす可能性があることに注意する必要があります。設計には適切な保護措置を含める必要があります。
Rather than deprecating IP fragmentation, this document recommends that upper-layer protocols address the problem of fragmentation at their layer, reducing their reliance on IP fragmentation to the greatest degree possible.
IPフラグメンテーションを非推奨するのではなく、上位層のプロトコルがそれらの層での断片化の問題に対処し、可能な最大の程度までのそれらの依存を減少させることを推奨します。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
この文書のキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" はBCP 14 [RFC2119] [RFC8174]で説明されているように、すべて大文字の場合にのみ解釈されます。
An Internet path connects a source node to a destination node. A path may contain links and routers. If a path contains more than one link, the links are connected in series, and a router connects each link to the next.
インターネットパスは、送信元ノードを宛先ノードに接続します。パスにはリンクとルータが含まれている可能性があります。パスに複数のリンクが含まれている場合、リンクは直列に接続され、ルータは各リンクを次のリンクに接続します。
Internet paths are dynamic. Assume that the path from one node to another contains a set of links and routers. If a link or a router fails, the path can also change so that it includes a different set of links and routers.
インターネットパスは動的です。あるノードから別のノードへのパスに一連のリンクとルータが含まれているとします。リンクまたはルータが失敗した場合、パスは異なるリンクとルータのセットを含むように変更することもできます。
Each link is constrained by the number of octets that it can convey in a single IP packet. This constraint is called the link Maximum Transmission Unit (MTU). IPv4 [RFC0791] requires every link to support an MTU of 68 octets or greater (see NOTE 1). IPv6 [RFC8200] similarly requires every link to support an MTU of 1280 octets or greater. These are called the IPv4 and IPv6 minimum link MTUs.
各リンクは、単一のIPパケットに搬送できるオクテットの数によって制約されています。この制約はリンク最大伝送ユニット(MTU)と呼ばれます。IPv4 [RFC0791]は、68オクテット以上のMTUをサポートするためのすべてのリンクが必要です(注1を参照)。IPv6 [RFC8200]同様に、1280オクテット以上のMTUをサポートするためのすべてのリンクが必要です。これらはIPv4とIPv6の最小リンクMTUと呼ばれます。
Some links, and some ways of using links, result in additional variable overhead. For the simple case of tunnels, this document defers to other documents. For other cases, such as MPLS, this document considers the link MTU to include appropriate allowance for any such overhead.
リンク、リンクを使用するいくつかのリンク、およびリンクを使用する方法は、追加の可変オーバーヘッドをもたらします。トンネルの簡単な場合、この文書は他の文書に復元します。MPLSのような他の場合には、この文書はリンクMTUをそのようなオーバーヘッドに適切な手当を含むと考える。
Likewise, each Internet path is constrained by the number of octets that it can convey in a single IP packet. This constraint is called the Path MTU (PMTU). For any given path, the PMTU is equal to the smallest of its link MTUs. Because Internet paths are dynamic, PMTU is also dynamic.
同様に、各インターネット経路は、単一のIPパケットに伝えることができるオクテットの数によって制約されます。この制約はパスMTU(PMTU)と呼ばれます。任意の所与の経路について、PMTUはそのリンクMTUの最小値に等しい。インターネット経路が動的であるため、PMTUも動的です。
For reasons described below, source nodes estimate the PMTU between themselves and destination nodes. A source node can produce extremely conservative PMTU estimates in which:
以下に説明する理由で、ソースノードは自分自身と宛先ノード間のPMTUを推定します。ソースノードは、非常に保守的なPMTU推定値を作成できます。
* The estimate for each IPv4 path is equal to the IPv4 minimum link MTU.
* 各IPv4パスの推定値は、IPv4最小リンクMTUに等しくなります。
* The estimate for each IPv6 path is equal to the IPv6 minimum link MTU.
* 各IPv6パスの推定値は、IPv6最小リンクMTUに等しくなります。
While these conservative estimates are guaranteed to be less than or equal to the actual PMTU, they are likely to be much less than the actual PMTU. This may adversely affect upper-layer protocol performance.
これらの保守的な推定値は実際のPMTU以下であることが保証されているが、実際のPMTUよりはるかに小さいと保証されている。これにより、上位層のプロトコル性能に悪影響を及ぼす可能性があります。
By executing Path MTU Discovery (PMTUD) procedures [RFC1191] [RFC8201], a source node can maintain a less conservative estimate of the PMTU between itself and a destination node. In PMTUD, the source node produces an initial PMTU estimate. This initial estimate is equal to the MTU of the first link along the path to the destination node. It can be greater than the actual PMTU.
Path MTU Discovery(PMTUD)手順[RFC1191] [RFC1191] [RFC1191]を実行すると、ソースノードは、それ自体と宛先ノードとの間のPMTUの保守的な推定値を維持することができます。PMTUDでは、ソースノードは初期PMTU推定値を生成します。この初期推定値は、宛先ノードへのパスに沿った最初のリンクのMTUに等しい。実際のPMTUよりも大きくなる可能性があります。
Having produced an initial PMTU estimate, the source node sends non-fragmentable IP packets to the destination node (see NOTE 2). If one of these packets is larger than the actual PMTU, a downstream router will not be able to forward the packet through the next link along the path. Therefore, the downstream router drops the packet and sends an Internet Control Message Protocol (ICMP) [RFC0792] [RFC4443] Packet Too Big (PTB) message to the source node (see NOTE 3). The ICMP PTB message indicates the MTU of the link through which the packet could not be forwarded. The source node uses this information to refine its PMTU estimate.
初期PMTU推定値を生成した場合、ソースノードは断続的なIPパケットを宛先ノードに送信します(注2を参照)。これらのパケットの1つが実際のPMTUより大きい場合、ダウンストリームルーターはパスに沿って次のリンクを介してパケットを転送できません。したがって、ダウンストリームルータはパケットをドロップしてインターネット制御メッセージプロトコル(ICMP)[RFC0792] [RFC4443]パケットを送信元ノードに送信する(PTB)メッセージを送信します(注3を参照)。ICMP PTBメッセージは、パケットを転送できなかったリンクのMTUを示します。ソースノードはこの情報を使用してPMTUの見積もりを洗練します。
PMTUD produces a running estimate of the PMTU between a source node and a destination node. Because PMTU is dynamic, the PMTU estimate can be larger than the actual PMTU. In order to detect PMTU increases, PMTUD occasionally resets the PMTU estimate to its initial value and repeats the procedure described above.
PMTUDは、ソースノードと宛先ノードとの間のPMTUの実行推定値を生成します。PMTUは動的であるため、PMTU推定値は実際のPMTUよりも大きくなる可能性があります。PMTUを検出するために、PMTUDは時折PMTU推定値をその初期値にリセットし、上記の手順を繰り返す。
Ideally, PMTUD operates as described above. However, in some scenarios, PMTUD fails. For example:
理想的には、PMTUDは上記のように動作する。ただし、シナリオによってはPMTUDは失敗します。例えば:
* PMTUD relies on the network's ability to deliver ICMP PTB messages to the source node. If the network cannot deliver ICMP PTB messages to the source node, PMTUD fails.
* PMTUDは、ICMP PTBメッセージをソースノードに配信するネットワークの機能に依存しています。ネットワークがICMP PTBメッセージを送信元ノードに配信できない場合、PMTUDは失敗します。
* PMTUD is susceptible to attack because ICMP messages are easily forged [RFC5927] and not authenticated by the receiver. Such attacks can cause PMTUD to produce unnecessarily conservative PMTU estimates.
* ICMPメッセージは簡単に偽造され、受信者によって認証されていないため、PMTUDは攻撃を受けやすいです。そのような攻撃は、PMTUDを不必要に保守的なPMTU推定値を製造する可能性があります。
NOTE 1: In IPv4, every host must be able to reassemble a packet whose length is less than or equal to 576 octets. However, the IPv4 minimum link MTU is not 576. Section 3.2 of RFC 791 [RFC0791] explicitly states that the IPv4 minimum link MTU is 68 octets.
注1:IPv4では、すべてのホストは、長さが576オクテット以下のパケットを再組み立てできなければなりません。ただし、IPv4最小リンクMTUは576ではありません.RFC 791 [RFC0791]のセクション3.2 [RFC0791]は、IPv4最小リンクMTUが68オクテットであることを明示的に示しています。
NOTE 2: A non-fragmentable packet can be fragmented at its source. However, it cannot be fragmented by a downstream node. An IPv4 packet whose Don't Fragment (DF) bit is set to 0 is fragmentable. An IPv4 packet whose DF bit is set to 1 is non-fragmentable. All IPv6 packets are also non-fragmentable.
注2:断片化不可能なパケットをそのソースに断片化することができます。ただし、ダウンストリームノードで断片化することはできません。フラグメント(DF)ビットが0に設定されているIPv4パケットは断片化できます。DFビットが1に設定されているIPv4パケットは、断片化できません。すべてのIPv6パケットも断片的ではありません。
NOTE 3: The ICMP PTB message has two instantiations. In ICMPv4 [RFC0792], the ICMP PTB message is a Destination Unreachable message with Code equal to 4 (fragmentation needed and DF set). This message was augmented by [RFC1191] to indicate the MTU of the link through which the packet could not be forwarded. In ICMPv6 [RFC4443], the ICMP PTB message is a Packet Too Big Message with Code equal to 0. This message also indicates the MTU of the link through which the packet could not be forwarded.
注3:ICMP PTBメッセージには2つのインスタンス化があります。ICMPv4 [RFC0792]では、ICMP PTBメッセージは、4(フラグメンテーションが必要でDFセット)のコードを持つ宛先到達不能メッセージです。このメッセージは[RFC1191]によって拡張され、パケットが転送できなかったリンクのMTUを示す。ICMPv6 [RFC4443]では、ICMP PTBメッセージは0に等しいコードが大きすぎるパケットです。このメッセージは、パケットが転送できなかったリンクのMTUも示します。
When an upper-layer protocol submits data to the underlying IP module, and the resulting IP packet's length is greater than the PMTU, the packet is divided into fragments. Each fragment includes an IP header and a portion of the original packet.
上位層のプロトコルが基礎となるIPモジュールにデータを送信し、結果のIPパケットの長さがPMTUより大きい場合、パケットはフラグメントに分割されます。各フラグメントは、IPヘッダと元のパケットの一部とを含む。
[RFC0791] describes IPv4 fragmentation procedures. An IPv4 packet whose DF bit is set to 1 may be fragmented by the source node, but may not be fragmented by a downstream router. An IPv4 packet whose DF bit is set to 0 may be fragmented by the source node or by a downstream router. When an IPv4 packet is fragmented, all IP options (which are within the IPv4 header) appear in the first fragment, but only options whose "copy" bit is set to 1 appear in subsequent fragments.
[RFC0791] IPv4の断片化手順について説明します。DFビットが1に設定されているIPv4パケットは、ソースノードによって断片化されていてもよいが、下流ルータによって断片化されていない可能性がある。DFビットが0に設定されているIPv4パケットは、ソースノードまたはダウンストリームルータによって断片化されてもよい。IPv4パケットが断片化されている場合、すべてのIPオプション(IPv4ヘッダー内)が最初のフラグメントに表示されますが、「コピー」ビットが1に設定されているオプションのみが後続のフラグメントに表示されます。
[RFC8200], notably in Section 4.5, describes IPv6 fragmentation procedures. An IPv6 packet may be fragmented only at the source node. When an IPv6 packet is fragmented, all extension headers appear in the first fragment, but only per-fragment headers appear in subsequent fragments. Per-fragment headers include the following:
[RFC8200]、特にセクション4.5では、IPv6フラグメンテーション手順を説明しています。IPv6パケットは、ソースノードでのみ断片化されていてもよい。IPv6パケットが断片化されると、すべての拡張ヘッダーが最初のフラグメントに表示されますが、フラグメントごとのヘッダーだけが後続のフラグメントに表示されます。フラグメントごとのヘッダーには次のものがあります。
* The IPv6 header.
* IPv6ヘッダー
* The Hop-by-Hop Options header (if present).
* ホップごとのオプションヘッダー(存在する場合)。
* The Destination Options header (if present and if it precedes a Routing header).
* 宛先オプションヘッダー(存在する場合、およびルーティングヘッダーの前にある場合)。
* The Routing header (if present).
* ルーティングヘッダー(存在する場合)。
* The Fragment header.
* フラグメントヘッダー。
In IPv4, the upper-layer header usually appears in the first fragment, due to the sizes of the headers involved. In IPv6, the upper-layer header must appear in the first fragment.
IPv4では、関与するヘッダーのサイズのために、上層のヘッダーは通常最初のフラグメントに現れます。IPv6では、上位層のヘッダーが最初のフラグメントに表示されなければなりません。
Upper-layer protocols can operate in the following modes:
上位層プロトコルは、次のモードで動作できます。
* Do not rely on IP fragmentation.
* IPの断片化に頼らないでください。
* Rely on IP fragmentation by the source node only.
* ソースノードのみでIPフラグメンテーションに依存しています。
* Rely on IP fragmentation by any node.
* 任意のノードによるIPフラグメンテーションに依存しています。
Upper-layer protocols running over IPv4 can operate in all of the above-mentioned modes. Upper-layer protocols running over IPv6 can operate in the first and second modes only.
IPv4を介して実行されている上位プロトコルは、上記のすべてのモードで動作できます。IPv6を介して実行されている上位層プロトコルは、最初のモードと2番目のモードでのみ動作できます。
Upper-layer protocols that operate in the first two modes (above) require access to the PMTU estimate. In order to fulfill this requirement, they can:
最初の2つのモードで動作する上位プロトコル(上記)はPMTU推定値へのアクセスを必要とします。この要件を満たすためには、次のことができます。
* Estimate the PMTU to be equal to the IPv4 or IPv6 minimum link MTU.
* PMTUがIPv4またはIPv6の最小リンクMTUと等しくなるように見積もります。
* Access the estimate that PMTUD produced.
* PMTUDが作成した推定値にアクセスします。
* Execute PMTUD procedures themselves.
* PMTUD手続きを自分自身で実行してください。
* Execute Packetization Layer PMTUD (PLPMTUD) procedures [RFC4821] [RFC8899].
* パケット化レイヤPMTUD(PLPMTUD)手順[RFC4821] [RFC8899]。
According to PLPMTUD procedures, the upper-layer protocol maintains a running PMTU estimate. It does so by sending probe packets of various sizes to its upper-layer peer and receiving acknowledgements. This strategy differs from PMTUD in that it relies on acknowledgement of received messages, as opposed to ICMP PTB messages concerning dropped messages. Therefore, PLPMTUD does not rely on the network's ability to deliver ICMP PTB messages to the source.
PLPMTUD手順によると、上層プロトコルは実行中のPMTU推定値を維持します。さまざまなサイズのプローブパケットをその上位層のピアと受信した確認応答に送信することによってそうします。この戦略は、ドロップされたメッセージに関するICMP PTBメッセージとは対照的に、受信メッセージの確認応答に依存しているという点で、PMTUDとは異なります。したがって、PLPMTUDは、ICMP PTBメッセージをソースに配信するネットワークの機能に依存しません。
This section explains how IP fragmentation introduces fragility to Internet communication.
このセクションでは、IPフラグメンテーションにインターネット通信に脆弱性があるかについて説明します。
Virtual reassembly is a procedure in which a device conceptually reassembles a packet, forwards its fragments, and discards the reassembled copy. In Address plus Port (A+P) [RFC6346] and Carrier Grade NAT (CGN) [RFC6888], virtual reassembly is required in order to correctly translate fragment addresses. It could be useful to address the problems in Sections 3.2, 3.3, 3.4, and 3.5.
Virtual Reacsemblyは、デバイスが概念的にパケットを再構築し、そのフラグメントを転送し、再組み立てされたコピーを破棄する手順です。アドレスプラスポート(A P)[RFC6346]とキャリアグレードNAT(CGN)[RFC6888]では、フラグメントアドレスを正しく変換するためには、仮想の再組み立てが必要です。セクション3.2,3.3,3.4、および3.5の問題に対処するのに役立ちます。
Virtual reassembly is computationally expensive and holds state for indeterminate periods of time. Therefore, it is prone to errors and attacks (Section 3.7).
仮想再構成は計算的に高価であり、不確定な期間の状態を保持しています。したがって、エラーや攻撃が発生しやすくなります(セクション3.7)。
IP fragmentation causes problems for routers that implement policy-based routing.
IPフラグメンテーションは、ポリシーベースのルーティングを実装するルーターに問題を引き起こします。
When a router receives a packet, it identifies the next hop on route to the packet's destination and forwards the packet to that next hop. In order to identify the next hop, the router interrogates a local data structure called the Forwarding Information Base (FIB).
ルータがパケットを受信すると、パケットの宛先へのルート上のネクストホップを識別し、そのネクストホップにパケットを転送します。次のホップを識別するために、ルータは転送情報ベース(FIB)と呼ばれるローカルデータ構造を検索する。
Normally, the FIB contains destination-based entries that map a destination prefix to a next hop. Policy-based routing allows destination-based and policy-based entries to coexist in the same FIB. A policy-based FIB entry maps multiple fields, drawn from either the IP or transport-layer header, to a next hop.
通常、FIBは宛先プレフィックスをネクストホップにマッピングする宛先ベースのエントリを含みます。ポリシーベースのルーティングにより、宛先ベースのエントリとポリシーベースのエントリが同じFIBに共存できます。ポリシーベースのFIBエントリは、IPまたはトランスポート層ヘッダーのいずれかから描画された複数のフィールドをネクストホップにマッピングします。
+=====+===================+=================+=======+===============+ |Entry| Type | Dest. Prefix | Next | Next Hop | | | | | Hdr / | | | | | | Dest. | | | | | | Port | | +=====+===================+=================+=======+===============+ | 1 | Destination-based | 2001:db8::1/128 | Any / | 2001:db8:2::2 | | | | | Any | | +-----+-------------------+-----------------+-------+---------------+ | 2 | Policy-based | 2001:db8::1/128 | TCP / | 2001:db8:3::3 | | | | | 80 | | +-----+-------------------+-----------------+-------+---------------+
Table 1: Policy-Based Routing FIB
表1:ポリシーベースのルーティングFIB
Assume that a router maintains the FIB in Table 1. The first FIB entry is destination-based. It maps a destination prefix 2001:db8::1/128 to a next hop 2001:db8:2::2. The second FIB entry is policy-based. It maps the same destination prefix 2001:db8::1/128 and a destination port (TCP / 80) to a different next hop (2001:db8:3::3). The second entry is more specific than the first.
ルータが表1のFIBを維持すると仮定する。最初のFIBエントリは宛先ベースです。宛先プレフィックス2001:DB8 :: 1/128をネクストホップ2001にマッピングします.DB8:2 :: 2。2番目のFIBエントリはポリシーベースです。それは同じ宛先プレフィックス2001:DB8 :: 1/128と宛先ポート(TCP / 80)を別のネクストホップにマッピングします(2001:DB8:3 :: 3)。2番目のエントリは最初のものより具体的です。
When the router receives the first fragment of a packet that is destined for TCP port 80 on 2001:db8::1, it interrogates the FIB. Both FIB entries satisfy the query. The router selects the second FIB entry because it is more specific and forwards the packet to 2001:db8:3::3.
2001年のTCPポート80宛てのパケットの最初のフラグメントを受信すると、DB8 :: 1では、FIBを問い合わせます。どちらのFIBエントリもクエリを満たします。ルータは、パケットを2001に備えて転送するため、2番目のFIBエントリを選択します.DB8:3 :: 3。
When the router receives the second fragment of the packet, it interrogates the FIB again. This time, only the first FIB entry satisfies the query, because the second fragment contains no indication that the packet is destined for TCP port 80. Therefore, the router selects the first FIB entry and forwards the packet to 2001:db8:2::2.
ルータがパケットの第2のフラグメントを受信すると、それはFIBを再び尋ねる。この時点で、2番目のフラグメントにはパケットがTCPポート80宛ての指示が含まれていないため、最初のFIBエントリのみがクエリを満たしています。したがって、ルータは最初のFIBエントリを選択し、パケットを2001に転送します.DB8:2 ::2。
Policy-based routing is also known as filter-based forwarding.
ポリシーベースのルーティングはフィルタベースの転送とも呼ばれます。
IP fragmentation causes problems for Network Address Translation (NAT) devices. When a NAT device detects a new, outbound flow, it maps that flow's source port and IP address to another source port and IP address. Having created that mapping, the NAT device translates:
IPフラグメンテーションは、ネットワークアドレス変換(NAT)デバイスに問題を引き起こします。NATデバイスが新しいアウトバウンドフローを検出すると、フローの送信元ポートとIPアドレスを別のソースポートとIPアドレスにマップします。そのマッピングを作成した場合、NATデバイスは翻訳します。
* The source IP address and source port on each outbound packet.
* 各アウトバウンドパケットの送信元IPアドレスと送信元ポート。
* The destination IP address and destination port on each inbound packet.
* 各インバウンドパケットの宛先IPアドレスと宛先ポート。
A+P [RFC6346] and Carrier Grade NAT (CGN) [RFC6888] are two common NAT strategies. In both approaches, the NAT device must virtually reassemble fragmented packets in order to translate and forward each fragment.
P [RFC6346]およびキャリアグレードNAT(CGN)[RFC6888]は、2つの一般的なNAT戦略です。両方のアプローチでは、NATデバイスは各フラグメントを変換して転送するために断片化されたパケットを事実上再組み立てしなければなりません。
As discussed in more detail in Section 3.7, IP fragmentation causes problems for stateless firewalls whose rules include TCP and UDP ports. Because port information is only available in the first fragment and not available in the subsequent fragments, the firewall is limited to the following options:
セクション3.7でより詳細に説明したように、IPフラグメンテーションは、ルールがTCPポートとUDPポートを含むステートレスファイアウォールの問題を引き起こします。ポート情報は最初のフラグメントでのみ利用可能であり、後続のフラグメントでは使用できないため、ファイアウォールは次のオプションに制限されています。
* Accept all subsequent fragments, possibly admitting certain classes of attack.
* それ以降のすべてのフラグメントを受け入れて、特定のクラスの攻撃を認めています。
* Block all subsequent fragments, possibly blocking legitimate traffic.
* その後のすべてのフラグメントをブロックして、おそらく正当なトラフィックをブロックします。
Neither option is attractive.
どちらのオプションも魅力的ではありません。
3.5. Equal-Cost Multipath, Link Aggregate Groups, and Stateless Load Balancers
3.5. 等価マルチパス、リンクアグリゲートグループ、ステートレスロードバランサ
IP fragmentation causes problems for Equal-Cost Multipath (ECMP), Link Aggregate Groups (LAG), and other stateless load-distribution technologies. In order to assign a packet or packet fragment to a link, an intermediate node executes a hash (i.e., load-distributing) algorithm. The following paragraphs describe a commonly deployed hash algorithm.
IPフラグメンテーションは、等価コストマルチパス(ECMP)、リンクアグリゲートグループ(LAG)、およびその他のステートレス負荷分散技術の問題を引き起こします。パケットまたはパケットのフラグメントをリンクに割り当てるために、中間ノードはハッシュ(すなわち、負荷分散)アルゴリズムを実行する。次の段落では、一般的に展開されたハッシュアルゴリズムについて説明します。
If the packet or packet fragment contains a transport-layer header, the algorithm accepts the following 5-tuple as input:
パケットまたはパケットのフラグメントにトランスポート層ヘッダが含まれている場合、アルゴリズムは次の5タプルを入力として受け入れます。
* IP Source Address.
* IP送信元アドレス
* IP Destination Address.
* IP宛先アドレス。
* IPv4 Protocol or IPv6 Next Header.
* IPv4プロトコルまたはIPv6次のヘッダー。
* transport-layer source port.
* トランスポート層ソースポート。
* transport-layer destination port.
* トランスポート層先ポート。
If the packet or packet fragment does not contain a transport-layer header, the algorithm accepts only the following 3-tuple as input:
パケットまたはパケットのフラグメントにトランスポート層のヘッダーが含まれていない場合、アルゴリズムは入力として次の3タプルのみを受け入れます。
* IP Source Address.
* IP送信元アドレス
* IP Destination Address.
* IP宛先アドレス。
* IPv4 Protocol or IPv6 Next Header.
* IPv4プロトコルまたはIPv6次のヘッダー。
Therefore, non-fragmented packets belonging to a flow can be assigned to one link while fragmented packets belonging to the same flow can be divided between that link and another. This can cause suboptimal load distribution.
したがって、同じフローに属する断片化されたパケットは、そのリンクと別のリンクとの間で分割されることができる間、フローに属する非断片化されたパケットを1つのリンクに割り当てることができる。これにより、最適値の負荷分散が発生する可能性があります。
[RFC6438] offers a partial solution to this problem for IPv6 devices only. According to [RFC6438]:
[RFC6438]は、IPv6デバイスの場合のみこの問題に対する部分的な解決策を提供します。[RFC6438]によると:
| At intermediate routers that perform load distribution, the hash | algorithm used to determine the outgoing component-link in an ECMP | and/or LAG toward the next hop MUST minimally include the 3-tuple | {dest addr, source addr, flow label} and MAY also include the | remaining components of the 5-tuple.
If the algorithm includes only the 3-tuple {dest addr, source addr, flow label}, it will assign all fragments belonging to a packet to the same link. (See [RFC6437] and [RFC7098]).
アルゴリズムに3タプル{DEST ADDR、SOURC ADDR、フローラベル}のみが含まれている場合は、パケットに属するすべてのフラグメントを同じリンクに割り当てます。([RFC6437]と[RFC7098]を参照)。
In order to avoid the problem described above, implementations SHOULD implement the recommendations provided in Section 6.4 of this document.
上記の問題を回避するために、実装はこの文書の6.4項で提供された推奨事項を実装するべきです。
IPv4 fragmentation is not sufficiently robust for use under some conditions in today's Internet. At high data rates, the 16-bit IP identification field is not large enough to prevent duplicate IDs, resulting in frequent incorrectly assembled IP fragments, and the TCP and UDP checksums are insufficient to prevent the resulting corrupted datagrams from being delivered to upper-layer protocols. [RFC4963] describes some easily reproduced experiments demonstrating the problem and discusses some of the operational implications of these observations.
IPv4の断片化は、今日のインターネットの状況下での使用に十分堅牢ではありません。高いデータレートでは、16ビットIP識別フィールドは重複したIDを防止するのに十分な大きさではなく、誤って組み立てられたIPフラグメントが発生し、結果として生じる破損したデータグラムが上位層に配信されるのを防ぐには不十分です。プロトコル[RFC4963]問題を実証し、これらの観察の作用状況のいくつかについて説明しているいくつかの容易に再現された実験を説明しています。
These reassembly issues do not occur as frequently in IPv6 because the IPv6 identification field is 32 bits long.
IPv6識別フィールドは32ビットの長さであるため、これらの再構成の問題はIPv6では頻繁に発生しません。
Security researchers have documented several attacks that exploit IP fragmentation. The following are examples:
セキュリティ研究者は、IPフラグメンテーションを悪用するいくつかの攻撃を文書化しました。以下は例です。
* Overlapping fragment attacks [RFC1858] [RFC3128] [RFC5722].
* 重複フラグメント攻撃[RFC1858] [RFC3128] [RFC5722]。
* Resource exhaustion attacks.
* リソースの枯渇攻撃
* Attacks based on predictable fragment identification values [RFC7739].
* 予測可能なフラグメント識別値に基づく攻撃[RFC7739]。
* Evasion of Network Intrusion Detection Systems (NIDS) [Ptacek1998].
* ネットワーク侵入検知システム(NIDS)の回避[PTACEK1998]。
In the overlapping fragment attack, an attacker constructs a series of packet fragments. The first fragment contains an IP header, a transport-layer header, and some transport-layer payload. This fragment complies with local security policy and is allowed to pass through a stateless firewall. A second fragment, having a nonzero offset, overlaps with the first fragment. The second fragment also passes through the stateless firewall. When the packet is reassembled, the transport-layer header from the first fragment is overwritten by data from the second fragment. The reassembled packet does not comply with local security policy. Had it traversed the firewall in one piece, the firewall would have rejected it.
重複するフラグメント攻撃では、攻撃者は一連のパケットフラグメントを構築します。最初のフラグメントには、IPヘッダー、トランスポート層ヘッダー、および一部のトランスポート層ペイロードが含まれています。このフラグメントはローカルセキュリティポリシーに準拠しており、ステートレスファイアウォールを通過することが許可されています。ゼロ以外のオフセットを有する第2のフラグメントは、第1のフラグメントと重なっている。2番目のフラグメントはステートレスファイアウォールを通過します。パケットが再組み立てされると、最初のフラグメントからのトランスポートレイヤヘッダーは2番目のフラグメントからのデータによって上書きされます。再組み立てパケットはローカルセキュリティポリシーに準拠していません。それが一体のファイアウォールを横断しました、ファイアウォールはそれを拒否したでしょう。
A stateless firewall cannot protect against the overlapping fragment attack. However, destination nodes can protect against the overlapping fragment attack by implementing the procedures described in RFC 1858, RFC 3128, and RFC 8200. These reassembly procedures detect the overlap and discard the packet.
ステートレスファイアウォールが重複するフラグメント攻撃から保護することはできません。しかしながら、宛先ノードは、RFC 1858、RFC 3128、およびRFC 8200に記載されている手順を実装することによって、重複するフラグメント攻撃から保護することができる。これらの再組み立て手順は重なりを検出してパケットを破棄する。
The fragment reassembly algorithm is a stateful procedure in an otherwise stateless protocol. Therefore, it can be exploited by resource exhaustion attacks. An attacker can construct a series of fragmented packets with one fragment missing from each packet so that the reassembly is impossible. Thus, this attack causes resource exhaustion on the destination node, possibly denying reassembly services to other flows. This type of attack can be mitigated by flushing fragment reassembly buffers when necessary, at the expense of possibly dropping legitimate fragments.
フラグメント再構成アルゴリズムは、そうでなければステートレスプロトコルのステートフルな手順です。したがって、リソースの枯渇攻撃によって悪用される可能性があります。攻撃者は、再組み立てが不可能であるように、各パケットから1つのフラグメントが欠けている一連の断片化されたパケットを構築することができます。したがって、この攻撃は宛先ノードでリソースの枯渇を引き起こし、おそらく他のフローに再構成サービスを拒否します。このタイプの攻撃は、限定的な断片を落とす可能性があることを犠牲にして、必要に応じてフラッシングをフラッシュすることによって軽減できます。
Each IP fragment contains an "Identification" field that destination nodes use to reassemble fragmented packets. Some implementations set the Identification field to a predictable value, thus making it easy for an attacker to forge malicious IP fragments that would cause the reassembly procedure for legitimate packets to fail.
各IPフラグメントには、宛先ノードが断片化されたパケットを再組み立てするために使用する「識別」フィールドが含まれています。一部の実装形態は、識別フィールドを予測可能な値に設定し、攻撃者が正当なパケットの再構成手順を失敗させるための悪意のあるIPフラグメントを偽造するのが簡単になります。
NIDS aims at identifying malicious activity by analyzing network traffic. Ambiguity in the possible result of the fragment reassembly process may allow an attacker to evade these systems. Many of these systems try to mitigate some of these evasion techniques (e.g., by computing all possible outcomes of the fragment reassembly process, at the expense of increased processing requirements).
NIDSは、ネットワークトラフィックを分析することによって悪意のあるアクティビティの識別を目的としています。フラグメント再構成プロセスの可能な結果におけるあいまいさは、攻撃者がこれらのシステムを回避することを可能にし得る。これらのシステムの多くは、これらの回避技術のいくつかを軽減しようとしています(例えば、処理要件の増加を犠牲にして、フラグメント再構成プロセスのすべての可能な結果を計算することによって)。
As mentioned in Section 2.3, upper-layer protocols can be configured to rely on PMTUD. Because PMTUD relies upon the network to deliver ICMP PTB messages, those protocols also rely on the networks to deliver ICMP PTB messages.
セクション2.3で述べたように、上層プロトコルはPMTUDに頼るように構成することができます。PMTUDはICMP PTBメッセージを配信するためにネットワークに依存しているため、それらのプロトコルもICMP PTBメッセージを配信するためのネットワークに依存しています。
According to [RFC4890], ICMPv6 PTB messages must not be filtered. However, ICMP PTB delivery is not reliable. It is subject to both transient and persistent loss.
[RFC4890]によると、ICMPv6 PTBメッセージをフィルタ処理しないでください。ただし、ICMP PTB配信は信頼できません。それは一時的な損失と持続的な損失の両方の影響を受けます。
Transient loss of ICMP PTB messages can cause transient PMTU black holes. When the conditions contributing to transient loss abate, the network regains its ability to deliver ICMP PTB messages and connectivity between the source and destination nodes is restored. Section 3.8.1 of this document describes conditions that lead to transient loss of ICMP PTB messages.
ICMP PTBメッセージの過渡損失は、過渡的なPMTUブラックホールを引き起こす可能性があります。過渡損失に寄与する条件が衰退すると、ネットワークはICMP PTBメッセージを配信する能力を回復し、ソースノードと宛先ノードとの間の接続性が復元される。この文書のセクション3.8.1は、ICMP PTBメッセージの過渡的な損失につながる条件について説明しています。
Persistent loss of ICMP PTB messages can cause persistent black holes. Sections 3.8.2, 3.8.3, and 3.8.4 of this document describe conditions that lead to persistent loss of ICMP PTB messages.
ICMP PTBメッセージの持続的な損失は、持続的なブラックホールを引き起こす可能性があります。この文書の3.8.2項、3.8.3、および3.8.4は、ICMP PTBメッセージの永続的な損失につながる条件を説明しています。
The problem described in this section is specific to PMTUD. It does not occur when the upper-layer protocol obtains its PMTU estimate from PLPMTUD or from any other source.
このセクションに記載されている問題はPMTUDに固有のものです。上位層プロトコルがPLPMTUDからのPMTU推定値または他のどのソースからの推定値を取得した場合は発生しません。
The following factors can contribute to transient loss of ICMP PTB messages:
次の要因は、ICMP PTBメッセージの一時停止に貢献できます。
* Network congestion.
* ネットワークの輻輳
* Packet corruption.
* パケット破損
* Transient routing loops.
* 一時的なルーティングループ。
* ICMP rate limiting.
* ICMPレート制限
The effect of rate limiting may be severe, as RFC 4443 recommends strict rate limiting of ICMPv6 traffic.
RFC 4443がICMPv6トラフィックの厳密なレート制限を推奨することを推奨するため、レート制限の影響が深刻になる可能性があります。
Incorrect implementation of security policy can cause persistent loss of ICMP PTB messages.
セキュリティポリシーの誤った実装は、ICMP PTBメッセージの永続的な損失を引き起こす可能性があります。
For example, assume that a Customer Premises Equipment (CPE) router implements the following zone-based security policy:
たとえば、顧客宅内機器(CPE)ルーターが、次のゾーンベースのセキュリティポリシーを実装しているとします。
* Allow any traffic to flow from the inside zone to the outside zone.
* トラフィックが内側のゾーンから外側のゾーンに流れ込むことを許可します。
* Do not allow any traffic to flow from the outside zone to the inside zone unless it is part of an existing flow (i.e., it was elicited by an outbound packet).
* 既存のフローの一部でない限り、他のトラフィックが外側のゾーンから内側のゾーンに流れ込むことを許可しない(すなわち、それはアウトバウンドパケットによって誘発された)。
When a correct implementation of the above-mentioned security policy receives an ICMP PTB message, it examines the ICMP PTB payload in order to determine whether the original packet (i.e., the packet that elicited the ICMP PTB message) belonged to an existing flow. If the original packet belonged to an existing flow, the implementation allows the ICMP PTB to flow from the outside zone to the inside zone. If not, the implementation discards the ICMP PTB message.
上述のセキュリティポリシーの正しい実装がICMP PTBメッセージを受信すると、元のパケット(すなわち、ICMP PTBメッセージを誘発したパケット)が既存のフローに属しているかどうかを判断するためにICMP PTBペイロードを調べる。元のパケットが既存のフローに属していた場合、実装により、ICMP PTBは外側のゾーンから内側のゾーンに流れ込むことができます。そうでない場合、実装はICMP PTBメッセージを破棄します。
When an incorrect implementation of the above-mentioned security policy receives an ICMP PTB message, it discards the packet because its source address is not associated with an existing flow.
上記のセキュリティポリシーの誤った実装がICMP PTBメッセージを受信すると、その送信元アドレスが既存のフローに関連付けられていないため、パケットを破棄します。
The security policy described above has been implemented incorrectly on many consumer CPE routers.
上記のセキュリティポリシーは、多くのコンシューマCPEルータで誤って実装されています。
Anycast can cause persistent loss of ICMP PTB messages. Consider the example below:
AnycastはICMP PTBメッセージを永続的に失う可能性があります。以下の例を考えてください。
A DNS client sends a request to an anycast address. The network routes that DNS request to the nearest instance of that anycast address (i.e., a DNS server). The DNS server generates a response and sends it back to the DNS client. While the response does not exceed the DNS server's PMTU estimate, it does exceed the actual PMTU.
DNSクライアントはエニーキャストアドレスに要求を送信します。ネットワークは、DNS要求がそのエニーキャストアドレスの最も近いインスタンスに要求します(すなわち、DNSサーバ)。DNSサーバーは応答を生成し、それをDNSクライアントに送り返します。応答がDNSサーバーのPMTU推定値を超えないが、実際のPMTUを超えています。
A downstream router drops the packet and sends an ICMP PTB message the packet's source (i.e., the anycast address). The network routes the ICMP PTB message to the anycast instance closest to the downstream router. That anycast instance may not be the DNS server that originated the DNS response. It may be another DNS server with the same anycast address. The DNS server that originated the response may never receive the ICMP PTB message and may never update its PMTU estimate.
ダウンストリームルータはパケットをドロップし、パケットのソース(すなわち、Anycastアドレス)にICMP PTBメッセージを送信する。ネットワークは、ICMP PTBメッセージを下流ルータに最も近いAnycastインスタンスにルーティングします。AnycastインスタンスはDNS応答を発信したDNSサーバーではない可能性があります。それは同じAnycastアドレスを持つ別のDNSサーバーかもしれません。応答を発信したDNSサーバーは、ICMP PTBメッセージを受信することはなく、PMTUの見積もりを更新することはできません。
Unidirectional routing can cause persistent loss of ICMP PTB messages. Consider the example below:
単方向ルーティングは、ICMP PTBメッセージの永続的な損失を引き起こす可能性があります。以下の例を考えてください。
A source node sends a packet to a destination node. All intermediate nodes maintain a route to the destination node but do not maintain a route to the source node. In this case, when an intermediate node encounters an MTU issue, it cannot send an ICMP PTB message to the source node.
送信元ノードはパケットを宛先ノードに送信する。すべての中間ノードは宛先ノードへのルートを維持しますが、ソースノードへのルートを維持しません。この場合、中間ノードがMTUの問題に遭遇すると、ICMP PTBメッセージを送信元ノードに送信できません。
In RFC 7872, researchers sampled Internet paths to determine whether they would convey packets that contain IPv6 extension headers. Sampled paths terminated at popular Internet sites (e.g., popular web, mail, and DNS servers).
RFC 7872では、研究者はインターネットパスをサンプリングして、IPv6拡張ヘッダーを含むパケットを伝えるかどうかを判断しました。サンプリングされたパスは、人気のあるインターネットサイト(例えば、人気のあるWeb、Mail、DNSサーバー)で終了しました。
The study revealed that at least 28% of the sampled paths did not convey packets containing the IPv6 Fragment extension header. In most cases, fragments were dropped in the destination autonomous system. In other cases, the fragments were dropped in transit autonomous systems.
この調査では、サンプリングされた経路の少なくとも28%がIPv6フラグメント拡張ヘッダを含むパケットを伝えなかったことが明らかになった。ほとんどの場合、断片は宛先自律システムでドロップされました。他の場合には、フラグメントは輸送自律系で滴下された。
Another study [Huston] confirmed this finding. It reported that 37% of sampled endpoints used IPv6-capable DNS resolvers that were incapable of receiving a fragmented IPv6 response.
別の研究[ハスポン]この発見を確認しました。サンプリングされたエンドポイントの37%が、断片化されたIPv6応答を受信することができないIPv6対応のDNSリゾルバを使用していると報告した。
It is difficult to determine why network operators drop fragments. Possible causes follow:
ネットワークオペレータがフラグメントを削除する理由を判断するのは困難です。考えられる原因:
* Hardware inability to process fragmented packets.
* 断片化されたパケットを処理することができないハードウェア。
* Failure to change vendor defaults.
* ベンダーのデフォルトの変更に失敗しました。
* Unintentional misconfiguration.
* 意図しない誤構成
* Intentional configuration (e.g., network operators consciously chooses to drop IPv6 fragments in order to address the issues raised in Sections 3.2 through 3.8, above.)
* 意図的な構成(例えば、ネットワーク事業者は、上記のセクション3.2から3.8で提起された問題に対処するためにIPv6フラグメントを削除することを意識的に選択することを選択します。)
The Transport Control Protocol (TCP) [RFC0793]) can be operated in a mode that does not require IP fragmentation.
トランスポートコントロールプロトコル(TCP)[RFC0793])は、IPフラグメンテーションを必要としないモードで操作できます。
Applications submit a stream of data to TCP. TCP divides that stream of data into segments, with no segment exceeding the TCP Maximum Segment Size (MSS). Each segment is encapsulated in a TCP header and submitted to the underlying IP module. The underlying IP module prepends an IP header and forwards the resulting packet.
アプリケーションTCPにデータのストリームを送信します。TCPは、データのストリームをセグメントに分割し、TCP最大セグメントサイズ(MSS)を超えないでください。各セグメントはTCPヘッダーにカプセル化され、基盤となるIPモジュールに送信されます。基礎となるIPモジュールはIPヘッダーを前に依存し、結果のパケットを転送します。
If the TCP MSS is sufficiently small, then the underlying IP module never produces a packet whose length is greater than the actual PMTU. Therefore, IP fragmentation is not required.
TCP MSSが十分に小さい場合、基礎となるIPモジュールは長さが実際のPMTUよりも大きいパケットを生成することはありません。したがって、IPフラグメンテーションは不要です。
TCP offers the following mechanisms for MSS management:
TCPはMSS管理に次のメカニズムを提供します。
* Manual configuration.
* 手動構成
* PMTUD.
* PMTUD。
* PLPMTUD.
* plpmtud。
Manual configuration is always applicable. If the MSS is configured to a sufficiently low value, the IP layer will never produce a packet whose length is greater than the protocol minimum link MTU. However, manual configuration prevents TCP from taking advantage of larger link MTUs.
手動構成は常に適用可能です。MSSが十分に低い値に設定されている場合、IP層は、その長さがプロトコル最小リンクMTUより大きいパケットを生成することは決してない。しかしながら、手動構成はTCPがより大きなリンクMTUを利用するのを防ぎます。
Upper-layer protocols can implement PMTUD in order to discover and take advantage of larger Path MTUs. However, as mentioned in Section 2.1, PMTUD relies upon the network to deliver ICMP PTB messages. Therefore, PMTUD can only provide an estimate of the PMTU in environments where the risk of ICMP PTB loss is acceptable (e.g., known to not be filtered).
上位層プロトコルは、より大きなパスMTUを発見して利用するためにPMTUDを実装することができます。ただし、セクション2.1で述べたように、PMTUDはICMP PTBメッセージを配信するためにネットワークに依存しています。したがって、PMTUDは、ICMP PTB損失のリスクが許容できる環境でPMTUの推定値を提供できます(例えば、フィルタ処理されていないことが知られています)。
By contrast, PLPMTUD does not rely upon the network's ability to deliver ICMP PTB messages. It utilizes probe messages sent as TCP segments to determine whether the probed PMTU can be successfully used across the network path. In PLPMTUD, probing is separated from congestion control, so that loss of a TCP probe segment does not cause a reduction of the congestion control window. [RFC4821] defines PLPMTUD procedures for TCP.
対照的に、PLPMTUDはICMP PTBメッセージを配信するネットワークの能力に頼らない。それはTCPセグメントとして送信されたプローブメッセージを利用して、プローブされたPMTUがネットワークパス全体で正常に使用できるかどうかを判断する。PLPMTUDでは、プロービングは輻輳制御から分離されているので、TCPプローブセグメントの損失は輻輳制御ウィンドウの縮小を引き起こさない。[RFC4821] TCPのPLPMTUD手順を定義します。
While TCP will never knowingly cause the underlying IP module to emit a packet that is larger than the PMTU estimate, it can cause the underlying IP module to emit a packet that is larger than the actual PMTU. For example, if routing changes and as a result the PMTU becomes smaller, TCP will not know until the ICMP PTB message arrives. If this occurs, the packet is dropped, the PMTU estimate is updated, the segment is divided into smaller segments, and each smaller segment is submitted to the underlying IP module.
TCPが故意に基礎となるIPモジュールがPMTUの見積もりよりも大きいパケットを放出することは決してないが、基礎となるIPモジュールが実際のPMTUよりも大きいパケットを発行することができる。たとえば、ルーティングが変更された場合、およびPMTUが小さくなると、ICMP PTBメッセージが到着するまでTCPはわかりません。これが起こると、パケットがドロップされ、PMTU推定値が更新され、セグメントはより小さなセグメントに分割され、各小さなセグメントは基礎となるIPモジュールに送信されます。
The Datagram Congestion Control Protocol (DCCP) [RFC4340] and the Stream Control Transmission Protocol (SCTP) [RFC4960] also can be operated in a mode that does not require IP fragmentation. They both accept data from an application and divide that data into segments, with no segment exceeding a maximum size.
データグラム輻輳制御プロトコル(DCCP)[RFC4340]とストリーム制御伝送プロトコル(SCTP)[RFC4960]も、IPフラグメント化を必要としないモードで動作できます。それらは両方ともアプリケーションからデータを受け取り、そのデータをセグメントに分割し、セグメントは最大サイズを超えません。
DCCP offers manual configuration, PMTUD, and PLPMTUD as mechanisms for managing that maximum size. Datagram protocols can also implement PLPMTUD to estimate the PMTU via [RFC8899]. This proposes procedures for performing PLPMTUD with UDP, UDP options, SCTP, QUIC, and other datagram protocols.
DCCPは、その最大サイズを管理するためのメカニズムとして、手動構成、PMTUD、およびPLPMTUDを提供します。データグラムプロトコルはPLPMTUDを実装して[RFC8899]を介してPMTUを見積もります。これは、UDP、UDPオプション、SCTP、QUIC、およびその他のデータグラムプロトコルを使用してPLPMTUDを実行するための手順を提案しています。
Currently, User Datagram Protocol (UDP) [RFC0768] lacks a fragmentation mechanism of its own and relies on IP fragmentation. However, [UDP-OPTIONS] proposes a fragmentation mechanism for UDP.
現在、ユーザーデータグラムプロトコル(UDP)[RFC0768]は、独自の断片化メカニズムを欠いており、IPフラグメンテーションに依存しています。ただし、[UDPオプション]はUDPのための断片化メカニズムを提案します。
[RFC8085] recognizes that IP fragmentation reduces the reliability of Internet communication. It also recognizes that UDP lacks a fragmentation mechanism of its own and relies on IP fragmentation. Therefore, [RFC8085] offers the following advice regarding applications the run over the UDP:
[RFC8085] IPフラグメンテーションがインターネット通信の信頼性を低下させることを認識します。また、UDPは独自の断片化メカニズムを欠いており、IPフラグメンテーションに依存していることも認識しています。したがって、[RFC8085]はアプリケーションに関する以下のアドバイスを提供します。
| An application SHOULD NOT send UDP datagrams that result in IP | packets that exceed the Maximum Transmission Unit (MTU) along the | path to the destination. Consequently, an application SHOULD | either use the path MTU information provided by the IP layer or | implement Path MTU Discovery (PMTUD) itself [RFC1191] [RFC1981] | [RFC4821] to determine whether the path to a destination will | support its desired message size without fragmentation.
RFC 8085 continues:
RFC 8085は続きます。
| Applications that do not follow the recommendation to do PMTU/ | PLPMTUD discovery SHOULD still avoid sending UDP datagrams that | would result in IP packets that exceed the path MTU. Because the | actual path MTU is unknown, such applications SHOULD fall back to | sending messages that are shorter than the default effective MTU | for sending (EMTU_S in [RFC1122]). For IPv4, EMTU_S is the | smaller of 576 bytes and the first-hop MTU [RFC1122]. For IPv6, | EMTU_S is 1280 bytes [RFC2460]. The effective PMTU for a directly | connected destination (with no routers on the path) is the | configured interface MTU, which could be less than the maximum | link payload size. Transmission of minimum-sized UDP datagrams is | inefficient over paths that support a larger PMTU, which is a | second reason to implement PMTU discovery.
RFC 8085 assumes that for IPv4 an EMTU_S of 576 is sufficiently small to be supported by most current Internet paths, even though the IPv4 minimum link MTU is 68 octets.
RFC8085は、IPv4の場合、IPv4最小リンクMTUが68オクテットであっても、576のEMTU_Sがほとんどの現在のインターネット経路によってサポートされるのに十分に小さいと仮定しています。
This advice applies equally to any application that runs directly over IP.
このアドバイスは、IPを介して直接実行されるアプリケーションにも同様に適用されます。
The following applications rely on IPv6 fragmentation:
次のアプリケーションはIPv6フラグメンテーションに依存しています。
* DNS [RFC1035].
* DNS [RFC1035]。
* OSPFv2 [RFC2328].
* OSPFv2 [RFC2328]。
* OSPFv3 [RFC5340].
* OSPFv3 [RFC5340]。
* Packet-in-packet encapsulations.
* パケットインパケットのカプセル化
Each of these applications relies on IPv6 fragmentation to a varying degree. In some cases, that reliance is essential and cannot be broken without fundamentally changing the protocol. In other cases, that reliance is incidental, and most implementations already take appropriate steps to avoid fragmentation.
これらのアプリケーションは、IPv6の断片化に依存しています。場合によっては、その依存は不可欠であり、根本的にプロトコルを変更することなく破断することはできません。他の場合、その依存は付随的なものであり、そしてほとんどの実装は断片化を回避するために適切なステップを取ります。
This list is not comprehensive, and other protocols that rely on IP fragmentation may exist. They are not specifically considered in the context of this document.
このリストは包括的ではなく、IPフラグメンテーションに依存する他のプロトコルが存在する可能性があります。それらはこの文書の文脈では特に考慮されていません。
DNS relies on UDP for efficiency, and the consequence is the use of IP fragmentation for large responses, as permitted by the Extension Mechanisms for DNS (EDNS0) options in the query. It is possible to mitigate the issue of fragmentation-based packet loss by having queries use smaller EDNS0 UDP buffer sizes or by having the DNS server limit the size of its UDP responses to some self-imposed maximum packet size that may be less than the preferred EDNS0 UDP buffer size. In both cases, large responses are truncated in the DNS, signaling to the client to re-query using TCP to obtain the complete response. However, the operational issue of the partial level of support for DNS over TCP, particularly in the case where IPv6 transport is being used, becomes a limiting factor of the efficacy of this approach [Damas].
DNSは効率のためにUDPに依存し、その結果、クエリ内のDNS(EDNS0)オプションの拡張メカニズムによって許可されているように、大きな応答のためのIPフラグメンテーションの使用が可能です。クエリを使用することによって、より小さなEDNS0 UDPバッファサイズを使用することによって、またはDNSサーバを使用することによって、そのUDP応答のサイズが、好ましいよりも小さい可能性があるいくつかの自己課題の最大パケットサイズに対するそのUDP応答のサイズを制限することによって、断片化ベースのパケット損失の問題を軽減することが可能である。EDNS0 UDPバッファサイズ。どちらの場合も、大規模な応答がDNSで切り捨てられ、クライアントにシグナリングして、TCPを使用して完全な応答を取得するためにクライアントに再照会します。しかしながら、特にIPv6輸送が使用されている場合、TCPを介したDNSの部分的なサポートの運用上の発行は、このアプローチの有効性の制限要因である[DAMA]になる。
Larger DNS responses can normally be avoided by aggressively pruning the Additional section of DNS responses. One scenario where such pruning is ineffective is in the use of DNSSEC, where large key sizes act to increase the response size to certain DNS queries. There is no effective response to this situation within the DNS other than using smaller cryptographic keys and adopting of DNSSEC administrative practices that attempt to keep DNS response as short as possible.
DNS応答の追加のセクションを積極的に剪定することで、通常、より大きなDNS応答を回避することができます。そのような剪定が無効である1つのシナリオはDNSSECの使用にあり、そこでは大きな鍵サイズは応答サイズを特定のDNSクエリに増やすように動作します。より小さな暗号化キーを使用すること以外のDNS内のこの状況に対する効果的な対応は、DNS応答をできるだけ短くしようとするDNSSEC管理慣行の採用を採用していません。
OSPF implementations can emit messages large enough to cause fragmentation. However, in order to optimize performance, most OSPF implementations restrict their maximum message size to a value that will not cause fragmentation.
OSPF実装は、断片化を引き起こすのに十分な大きさのメッセージを発信することができます。ただし、パフォーマンスを最適化するために、ほとんどのOSPF実装は最大メッセージサイズを断片化されない値に制限します。
This document acknowledges that in some cases, packets must be fragmented within IP-in-IP tunnels. Therefore, this document makes no additional recommendations regarding IP-in-IP tunnels.
このドキュメントでは、場合によっては、パケットをIP-IN-IPトンネル内で断片化する必要があることを確認します。したがって、この文書はIP-IN-IPトンネルに関しては追加の推奨事項を除いています。
In this document, packet-in-packet encapsulations include IP-in-IP [RFC2003], Generic Routing Encapsulation (GRE) [RFC2784], GRE-in-UDP [RFC8086], and Generic Packet Tunneling in IPv6 [RFC2473]. [RFC4459] describes fragmentation issues associated with all of the above-mentioned encapsulations.
この文書では、パケットインパケットカプセル化には、IP-In-IP [RFC2003]、GREICルーチングカプセル化(GRE)[RFC2784]、GRE-IN-UDP [RFC8086]、およびIPv6 [RFC2473]の一般的なパケットトンネリングがあります。[RFC4459]上記のすべてのカプセル化に関連する断片化の問題について説明します。
The fragmentation strategy described for GRE in [RFC7588] has been deployed for all of the above-mentioned encapsulations. This strategy does not rely on IP fragmentation except in one corner case. (See Section 3.3.2.2 of [RFC7588] and Section 7.1 of [RFC2473].) Section 3.3 of [RFC7676] further describes this corner case.
[RFC7588]のGREについて説明した断片化戦略は、上記のすべてのカプセル化について展開されています。この戦略は、1つのコーナーケース以外のIPフラグメンテーションに依存しません。([RFC2473の[RFC2473]のセクション3.3.2.2のセクション3.3.2.2を参照してください。)[RFC7676]のセクション3.3は、このコーナーケースについて説明します。
See [TUNNELS] for further discussion.
さらなる議論のために[トンネル]を参照してください。
Some UDP applications rely on IP fragmentation to achieve acceptable levels of performance. These applications use UDP datagram sizes that are larger than the Path MTU so that more data can be conveyed between the application and the kernel in a single system call.
いくつかのUDPアプリケーションは、許容可能なレベルのパフォーマンスを達成するためにIPフラグメンテーションに依存しています。これらのアプリケーションは、パスMTUよりも大きいUDPデータグラムサイズを使用して、単一のシステムコールのアプリケーションとカーネル間でより多くのデータを伝達できるようにします。
To pick one example, the Licklider Transmission Protocol (LTP) [RFC5326], which is in current use on the International Space Station (ISS), uses UDP datagram sizes larger than the Path MTU to achieve acceptable levels of performance even though this invokes IP fragmentation. More generally, SNMP and video applications may transmit an application-layer quantum of data, depending on the network layer to fragment and reassemble as needed.
一例を選択するために、国際宇宙ステーション(ISS)で現在使用されているLICKLIDER送信プロトコル(LTP)[RFC5326]は、PATH MTUより大きいUDPデータグラムサイズを使用して、許容可能なレベルのパフォーマンスを実現しています。断片化より一般的には、SNMPおよびビデオアプリケーションは、ネットワーク層に応じて、必要に応じてフラグメント層に応じてアプリケーション層の量子量子量子を送信することができる。
Developers SHOULD NOT develop new protocols or applications that rely on IP fragmentation. When a new protocol or application is deployed in an environment that does not fully support IP fragmentation, it SHOULD operate correctly, either in its default configuration or in a specified alternative configuration.
開発者は、IPフラグメンテーションに依存する新しいプロトコルやアプリケーションを開発してはいけません。IPフラグメント化を完全にサポートしていない環境に新しいプロトコルまたはアプリケーションがデプロイされている場合は、デフォルト設定または指定された代替構成で正しく動作する必要があります。
While there may be controlled environments where IP fragmentation works reliably, this is a deployment issue and can not be known to someone developing a new protocol or application. It is not recommended that new protocols or applications be developed that rely on IP fragmentation. Protocols and applications that rely on IP fragmentation will work less reliably on the Internet.
IPフラグメンテーションが確実に機能する制御環境があるが、これは展開の問題であり、新しいプロトコルまたはアプリケーションを開発する誰かに認識することはできません。IPフラグメンテーションに依存する新しいプロトコルまたはアプリケーションを開発することはお勧めできません。IPフラグメンテーションに依存するプロトコルとアプリケーションは、インターネット上で確実に機能しなくなります。
Legacy protocols that depend upon IP fragmentation SHOULD be updated to break that dependency. However, in some cases, there may be no viable alternative to IP fragmentation (e.g., IPSEC tunnel mode, IP-in-IP encapsulation). Applications and protocols cannot necessarily know or control whether they use lower layers or network paths that rely on such fragmentation. In these cases, the protocol will continue to rely on IP fragmentation but should only be used in environments where IP fragmentation is known to be supported.
IPフラグメンテーションに依存する従来のプロトコルは、その依存関係を壊すように更新されるべきです。しかしながら、場合によっては、IPフラグメンテーション(例えば、IPSecトンネルモード、IPインIPカプセル化)に代わる可能性がある可能性がある。アプリケーションとプロトコルは、そのような断片化に依存する下位層またはネットワーク経路を使用するかどうかを必ずしも知らないか制御することはできません。このような場合、プロトコルはIPフラグメンテーションに依存していますが、IPフラグメンテーションがサポートされていることがわかっている環境でのみ使用されるべきです。
Protocols may be able to avoid IP fragmentation by using a sufficiently small MTU (e.g., The protocol minimum link MTU), disabling IP fragmentation, and ensuring that the transport protocol in use adapts its segment size to the MTU. Other protocols may deploy a sufficiently reliable PMTU discovery mechanism (e.g., PLPMTUD).
プロトコルは、十分に小さいMTU(例えば、プロトコル最小リンクMTU)を使用してIPフラグメンテーションを回避でき、IPフラグメンテーションを無効にし、使用中のトランスポートプロトコルがそのセグメントサイズをMTUに適合させることを確実にすることができる。他のプロトコルは、十分に信頼できるPMTU発見メカニズム(例えば、PLPMTUD)を展開することができる。
UDP applications SHOULD abide by the recommendations stated in Section 3.2 of [RFC8085].
UDPアプリケーションは[RFC8085]のセクション3.2に記載されている推奨事項を遵守する必要があります。
Software libraries SHOULD include provision for PLPMTUD for each supported transport protocol.
ソフトウェアライブラリには、サポートされている各トランスポートプロトコルのPLPMTUDのプロビジョニングを含める必要があります。
Middleboxes, which are systems that "transparently" perform policy functions on passing traffic but do not participate in the routing system, should process IP fragments in a manner that is consistent with [RFC0791] and [RFC8200]. In many cases, middleboxes must maintain state in order to achieve this goal.
トラフィックを渡すが、ルーティングシステムに参加していないが、[RFC0791]と[RFC8200]と一致する方法でIPフラグメントを処理する必要があります。多くの場合、ミドルボックスはこの目標を達成するために状態を維持しなければなりません。
Price and performance considerations frequently motivate network operators to deploy stateless middleboxes. These stateless middleboxes may perform suboptimally, process IP fragments in a manner that is not compliant with RFC 791 or RFC 8200, or even discard IP fragments completely. Such behaviors are NOT RECOMMENDED. If a middlebox implements nonstandard behavior with respect to IP fragmentation, then that behavior MUST be clearly documented.
価格とパフォーマンスの考慮事項ステートレスミドルボックスを展開するためにネットワーク事業者に頻繁に動機付けられます。これらのステートレスミドルボックスは、RFC 791またはRFC 8200に準拠していない、またはIPフラグメントを完全に廃棄する方法で、プロセスIPフラグメントをサブプロセスすることができます。そのような行動はお勧めできません。MiddleBoxがIPフラグメンテーションに関して非標準動作を実装している場合、その動作は明確に文書化されなければなりません。
In their default configuration, when the IPv6 Flow Label is not equal to zero, IPv6 devices that implement Equal-Cost Multipath (ECMP) Routing as described in OSPF [RFC2328] and other routing protocols, Link Aggregation Grouping (LAG) [RFC7424], or other load-distribution technologies SHOULD accept only the following fields as input to their hash algorithm:
デフォルト設定では、IPv6フローラベルがゼロに等しくない場合、OSPF [RFC2328]およびその他のルーティングプロトコル、リンクアグリゲーション・グループ(LAG)[RFC7424]、あるいは、他の負荷分散技術は、ハッシュアルゴリズムへの入力として次のフィールドのみを受け入れる必要があります。
* IP Source Address.
* IP送信元アドレス
* IP Destination Address.
* IP宛先アドレス。
* Flow Label.
* フローラベル
Operators SHOULD deploy these devices in their default configuration.
オペレータはこれらのデバイスをデフォルト設定に展開する必要があります。
These recommendations are similar to those presented in [RFC6438] and [RFC7098]. They differ in that they specify a default configuration.
これらの推奨事項は、[RFC6438]と[RFC7098]に提示されているものと似ています。デフォルト設定を指定しているという点で異なります。
Operators MUST ensure proper PMTUD operation in their network, including making sure the network generates PTB packets when dropping packets too large compared to outgoing interface MTU. However, implementations MAY rate limit the generation of ICMP messages per [RFC1812] and [RFC4443].
オペレータは、ネットワークが、パケットをドロップするときにネットワークがPTBパケットを生成することを確実にして、発信インタフェースMTUと比較して大きすぎると確実にPTBパケットを生成する必要があります。ただし、実装は[RFC1812]と[RFC4443]ごとのICMPメッセージの生成を制限することができます。
As per RFC 4890, network operators MUST NOT filter ICMPv6 PTB messages unless they are known to be forged or otherwise illegitimate. As stated in Section 3.8, filtering ICMPv6 PTB packets causes PMTUD to fail. Many upper-layer protocols rely on PMTUD.
RFC 4890によると、ネットワーク事業者は、鍛造されるか、そうでなければ違法なものが知られていない限り、ICMPV6 PTBメッセージをフィルタリングしてはいけません。セクション3.8に記載されているように、ICMPv6 PTBパケットのフィルタリングによりPMTUDが失敗する。多くの上層プロトコルがPMTUDに依存しています。
As per RFC 8200, network operators MUST NOT deploy IPv6 links whose MTU is less than 1280 octets.
RFC 8200によると、ネットワーク事業者は、MTUが1280オクテット未満のIPv6リンクを展開してはいけません。
Network operators SHOULD NOT filter IP fragments if they are known to have originated at a domain name server or be destined for a domain name server. This is because domain name services are critical to operation of the Internet.
ネットワーク事業者は、ドメインネームサーバーで発信された場合、またはドメインネームサーバー宛ての場合は、IPフラグメントをフィルタリングしないでください。これは、ドメインネームサービスがインターネットの操作にとって重要であるためです。
This document has no IANA actions.
この文書にはIANAの行動がありません。
This document mitigates some of the security considerations associated with IP fragmentation by discouraging its use. It does not introduce any new security vulnerabilities, because it does not introduce any new alternatives to IP fragmentation. Instead, it recommends well-understood alternatives.
この文書は、その使用を阻止することによって、IPフラグメンテーションに関連したセキュリティ上の考慮事項のいくつかを軽減します。IPフラグメンテーションに新しい選択肢を導入しないため、新しいセキュリティの脆弱性を導入しません。代わりに、それは理解されている代替案を推奨しています。
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, DOI 10.17487/RFC0768, August 1980, <https://www.rfc-editor.org/info/rfc768>.
[RFC0768] Postel、J.、 "User Datagram Protocol"、STD 6、RFC 768、DOI 10.17487 / RFC0768、1980年8月、<https://www.rfc-editor.org/info/rfc768>。
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, DOI 10.17487/RFC0791, September 1981, <https://www.rfc-editor.org/info/rfc791>.
[RFC0791] Postel、J.、「インターネットプロトコル」、STD 5、RFC 791、DOI 10.17487 / RFC0791、1981年9月、<https://www.rfc-editor.org/info/rfc791>。
[RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, RFC 792, DOI 10.17487/RFC0792, September 1981, <https://www.rfc-editor.org/info/rfc792>.
[RFC0792] Postel、J.、「インターネット制御メッセージプロトコル」、STD 5、RFC 792、DOI 10.17487 / RFC0792、1981年9月、<https://www.rfc-editor.org/info/rfc792>。
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, DOI 10.17487/RFC0793, September 1981, <https://www.rfc-editor.org/info/rfc793>.
[RFC0793] Postel、J.、 "Transmission Control Protocol"、STD 7、RFC 793、DOI 10.17487 / RFC0793、1981年9月、<https://www.rfc-editor.org/info/rfc793>。
[RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, November 1987, <https://www.rfc-editor.org/info/rfc1035>.
[RFC1035] Mockapetris、P.、「ドメイン名 - 実装と仕様」、STD 13、RFC 1035、DOI 10.17487 / RFC1035、1987年11月、<https://www.rfc-editor.org/info/rfc1035>。
[RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191, DOI 10.17487/RFC1191, November 1990, <https://www.rfc-editor.org/info/rfc1191>.
[RFC1191] Mogul、J.およびS.Theering、 "Path Mtu Discovery"、RFC 1191、DOI 10.17487 / RFC1191、1990年11月、<https://www.rfc-editor.org/info/rfc1191>。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.
[RFC2119] BRADNER、S、「RFCSで使用するためのキーワード」、BCP 14、RFC 2119、DOI 10.17487 / RFC2119、1997年3月、<https://www.rfc-editor.org/info/RFC2119>。
[RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", STD 89, RFC 4443, DOI 10.17487/RFC4443, March 2006, <https://www.rfc-editor.org/info/rfc4443>.
[RFC4443] Conta、A.、Theering、S.およびM.Gupta、Internet Protocol Version 6(IPv6)仕様のICMPv6(ICMPv6)、STD 89、RFC 4443、DOI 10.17487 /RFC4443、2006年3月、<https://www.rfc-editor.org/info/rfc4443>。
[RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU Discovery", RFC 4821, DOI 10.17487/RFC4821, March 2007, <https://www.rfc-editor.org/info/rfc4821>.
[RFC4821] Mathis、M.およびJ.Heffner、 "Packetization Layer Path MTU Discovery"、RFC 4821、DOI 10.17487 / RFC4821、2007年3月、<https://www.rfc-editor.org/info/rfc4821>。
[RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, "IPv6 Flow Label Specification", RFC 6437, DOI 10.17487/RFC6437, November 2011, <https://www.rfc-editor.org/info/rfc6437>.
[RFC6437] Amante、S.、Carpenter、B.、Jiang、S.、およびJ.Rajahalme、「IPv6フローラベル仕様」、RFC 6437、DOI 10.17487 / RFC6437、2011年11月、<https://www.rfc-editor.org/info/rfc6437>。
[RFC6438] Carpenter, B. and S. Amante, "Using the IPv6 Flow Label for Equal Cost Multipath Routing and Link Aggregation in Tunnels", RFC 6438, DOI 10.17487/RFC6438, November 2011, <https://www.rfc-editor.org/info/rfc6438>.
[RFC6438] Carpenter、B.およびS. Amante、「トンネルの同等のコストマルチパスルーティングのためのIPv6フローラベルの使用」、RFC 6438、DOI 10.17487 / RFC6438、2011年11月、<https://www.rfc-editor.org/info/rfc6438>
[RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085, March 2017, <https://www.rfc-editor.org/info/rfc8085>.
[RFC8085] eggert、L.、Fairhurst、G.、およびG.Shepherd、 "UDP使用ガイドライン"、BCP 145、RFC 8085、DOI 10.17487 / RFC8085、2017年3月、<https://www.rfc-editor.org/ info / rfc8085>。
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8174] Leiba、B、「RFC 2119キーワードの大文字の曖昧さ」、BCP 14、RFC 8174、DOI 10.17487 / RFC8174、2017年5月、<https://www.rfc-editor.org/info/RFC8174>。
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, July 2017, <https://www.rfc-editor.org/info/rfc8200>.
[RFC8200] The'th、S.およびR.hinden、「インターネットプロトコル、バージョン6(IPv6)仕様」、STD 86、RFC 8200、DOI 10.17487 / RFC8200、2017年7月、<https://www.rfc-editor.org/ info / rfc8200>。
[RFC8201] McCann, J., Deering, S., Mogul, J., and R. Hinden, Ed., "Path MTU Discovery for IP version 6", STD 87, RFC 8201, DOI 10.17487/RFC8201, July 2017, <https://www.rfc-editor.org/info/rfc8201>.
[RFC8201] McCann、J.、Theer、S.、Mogul、J.、およびR. Hinden、Ed。、「IPバージョン6のためのパスMTUディスカバリー」、STD 87、RFC 8201、DOI 10.17487 / RFC8201、2017年7月、<https://www.rfc-editor.org/info/rfc8201>。
[RFC8899] Fairhurst, G., Jones, T., Tüxen, M., Rüngeler, I., and T. Völker, "Packetization Layer Path MTU Discovery for Datagram Transports", RFC 8899, DOI 10.17487/RFC8899, September 2020, <https://www.rfc-editor.org/info/rfc8899>.
[RFC8899] Fairhurst、G.、Jones、T.、T.、T.、T.Völker、I.、およびT.Völker、「パケット化層パスMTUディスカバリ」、RFC 8899、DOI 10.17487 / RFC8899、2020年9月、<https://www.rfc-editor.org/info/rfc8899>。
[Damas] Damas, J. and G. Huston, "Measuring ATR", April 2018, <http://www.potaroo.net/ispcol/2018-04/atr.html>.
[Damas] Damas、J.およびG. Huston、2018年4月、2018年4月、<http://www.potaroo.net/ispcol/2018-04/atr.html>。
[Huston] Huston, G., "IPv6, Large UDP Packets and the DNS", August 2017, <http://www.potaroo.net/ispcol/2017-08/xtn-hdrs.html>.
[Huston] Huston、G.、「IPv6、大型UDPパケットとDNS」、2017年8月、<http://www.potaroo.net/ispcol/2017-08/xtn-hdrs.html>。
[Kent] Kent, C. and J. Mogul, "Fragmentation Considered Harmful", SIGCOMM '87: Proceedings of the ACM workshop on Frontiers in computer communications technology, DOI 10.1145/55482.55524, August 1987, <http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-87-3.pdf>.
[ケント]ケント、C.およびJ.Mogul、「フラグメンテーションは有害と考えた」、SIGCOMM '87:コンピュータ通信技術のフロンティアのACMワークショップの手続き、DOI 10.1145 / 55482.55524、<http://www.hpl.hp.com / techReports / compaq-dec / wrl-87-3.pdf>。
[Ptacek1998] Ptacek, T. H. and T. N. Newsham, "Insertion, Evasion and Denial of Service: Eluding Network Intrusion Detection", 1998, <http://www.aciri.org/vern/Ptacek-Newsham-Evasion-98.ps>.
[PTACEK1998] Ptacek、TH、TN Newsham、 "挿入、回避、サービス拒否:lesingネットワーク侵入検知"、1998、<http://www.aciri.org/vern/ptacek-newsham-evasion-98.ps>。
[RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - Communication Layers", STD 3, RFC 1122, DOI 10.17487/RFC1122, October 1989, <https://www.rfc-editor.org/info/rfc1122>.
[RFC1122] Braden、R.、ED。、「インターネットホストの要求 - 通信層の要求」、STD 3、RFC 1122、DOI 10.17487 / RFC1122、1989年10月、<https://www.rfc-editor.org/info/RFC1122>。
[RFC1812] Baker, F., Ed., "Requirements for IP Version 4 Routers", RFC 1812, DOI 10.17487/RFC1812, June 1995, <https://www.rfc-editor.org/info/rfc1812>.
[RFC1812] Baker、F.、ED。、「IPバージョン4ルータの要件」、RFC 1812、DOI 10.17487 / RFC1812、1995年6月、<https://www.rfc-editor.org/info/rfc1812>。
[RFC1858] Ziemba, G., Reed, D., and P. Traina, "Security Considerations for IP Fragment Filtering", RFC 1858, DOI 10.17487/RFC1858, October 1995, <https://www.rfc-editor.org/info/rfc1858>.
[RFC1858] Ziemba、G.、Reed、D.、およびP. Traina、「IPフラグメントフィルタリングのためのセキュリティ上の考慮事項」、RFC 1858、DOI 10.17487 / RFC1858、1995年10月、<https://www.rfc-editor.org/ info / rfc1858>。
[RFC1981] McCann, J., Deering, S., and J. Mogul, "Path MTU Discovery for IP version 6", RFC 1981, DOI 10.17487/RFC1981, August 1996, <https://www.rfc-editor.org/info/rfc1981>.
[RFC1981] McCann、J.、Theering、S.、およびJ.Mogul、「IPバージョン6のPATH MTUディスカバリ」、RFC 1981、DOI 10.17487 / RFC1981、1996年8月、<https://www.rfc-編集者。ORG / INFO / RFC1981>。
[RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, DOI 10.17487/RFC2003, October 1996, <https://www.rfc-editor.org/info/rfc2003>.
[RFC2003] PERKINS、C、「IPカプセル化」、RFC 2003、DOI 10.17487 / RFC2003、1996年10月、<https://www.rfc-editor.org/info/rfc2003>。
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, DOI 10.17487/RFC2328, April 1998, <https://www.rfc-editor.org/info/rfc2328>.
[RFC2328] Moy、J.、 "OSPFバージョン2"、STD 54、RFC 2328、DOI 10.17487 / RFC2328、1998年4月、<https://www.rfc-editor.org/info/rfc2328>。
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460, December 1998, <https://www.rfc-editor.org/info/rfc2460>.
[RFC2460]「Internet Protocol、Version 6(IPv6)仕様」、RFC 2460、DOI 10.17487 / RFC2460、1998年12月、<https://www.rfc-editor.org/info/RFC2460>。
[RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in IPv6 Specification", RFC 2473, DOI 10.17487/RFC2473, December 1998, <https://www.rfc-editor.org/info/rfc2473>.
[RFC2473] Conta、A.およびS.THERER、「IPv6仕様の一般的なパケットトンネリング」、RFC 2473、DOI 10.17487 / RFC2473、1998年12月、<https://www.rfc-editor.org/info/rfc2473>。
[RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P. Traina, "Generic Routing Encapsulation (GRE)", RFC 2784, DOI 10.17487/RFC2784, March 2000, <https://www.rfc-editor.org/info/rfc2784>.
[RFC2784] Farinacci、D.、Li、T.、Hanks、S.、Meyer、D.、およびP. Traina、「ジェネリックルーティングカプセル化(GRE)」、RFC 2784、DOI 10.17487 / RFC2784、2000年3月、<HTTPS//www.rfc-editor.org/info/rfc2784>。
[RFC3128] Miller, I., "Protection Against a Variant of the Tiny Fragment Attack (RFC 1858)", RFC 3128, DOI 10.17487/RFC3128, June 2001, <https://www.rfc-editor.org/info/rfc3128>.
[RFC3128] Miller、I。、「Tiny Fragment Attack(RFC 1858)のバリアントに対する保護(RFC 1858)」、RFC 3128、DOI 10.17487 / RFC3128、2001年6月、<https://www.rfc-editor.org/info/RFC3128>。
[RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram Congestion Control Protocol (DCCP)", RFC 4340, DOI 10.17487/RFC4340, March 2006, <https://www.rfc-editor.org/info/rfc4340>.
[RFC4340] Kohler、E.、Handley、M.、S. Floyd、「データグラム輻輳制御プロトコル(DCCP)」、RFC 4340、DOI 10.17487 / RFC4340、2006年3月、<https://www.rfc-編集者。ORG / INFO / RFC4340>。
[RFC4459] Savola, P., "MTU and Fragmentation Issues with In-the-Network Tunneling", RFC 4459, DOI 10.17487/RFC4459, April 2006, <https://www.rfc-editor.org/info/rfc4459>.
[RFC4459] Savola、P.、「ネットワーク内トンネリングと断片化の問題」、RFC 4459、DOI 10.17487 / RFC4459、2006年4月、<https://www.rfc-editor.org/info/rfc4459>。
[RFC4890] Davies, E. and J. Mohacsi, "Recommendations for Filtering ICMPv6 Messages in Firewalls", RFC 4890, DOI 10.17487/RFC4890, May 2007, <https://www.rfc-editor.org/info/rfc4890>.
[RFC4890] Davies、E.およびJ.Mohacsi、「ファイアウォールのICMPv6メッセージをフィルタリングするための推奨事項」、RFC 4890、DOI 10.17487 / RFC4890、2007年5月、<https://ww.rfc-editor.org/info/rfc4890>。
[RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", RFC 4960, DOI 10.17487/RFC4960, September 2007, <https://www.rfc-editor.org/info/rfc4960>.
[RFC4960] Stewart、R.、Ed。、「ストリーム制御伝送プロトコル」、RFC 4960、DOI 10.17487 / RFC4960、2007年9月、<https://www.rfc-editor.org/info/rfc4960>。
[RFC4963] Heffner, J., Mathis, M., and B. Chandler, "IPv4 Reassembly Errors at High Data Rates", RFC 4963, DOI 10.17487/RFC4963, July 2007, <https://www.rfc-editor.org/info/rfc4963>.
[RFC4963] Heffner、J.、Mathis、M.およびB.Chandler、2007年7月、<https:///www.rfc-編集者。ORG / INFO / RFC4963>。
[RFC5326] Ramadas, M., Burleigh, S., and S. Farrell, "Licklider Transmission Protocol - Specification", RFC 5326, DOI 10.17487/RFC5326, September 2008, <https://www.rfc-editor.org/info/rfc5326>.
[RFC5326] RAMADAS、M.、BURLEIGH、S。FERRELL、「LICKLIDER伝送プロトコル - 仕様」、RFC 5326、DOI 10.17487 / RFC5326、2008年9月、<https://www.rfc-editor.org/情報/ RFC5326>。
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, <https://www.rfc-editor.org/info/rfc5340>.
[RFC5340] Coltun、R.、Ferguson、D.、Moy、J.、およびA. Lindem、RFC 5340、DOI 10.17487 / RFC5340、2008年7月、<https:///www.rfc-編集者.org / info / rfc5340>。
[RFC5722] Krishnan, S., "Handling of Overlapping IPv6 Fragments", RFC 5722, DOI 10.17487/RFC5722, December 2009, <https://www.rfc-editor.org/info/rfc5722>.
[RFC5722] Krishnan、S。、「重複するIPv6フラグメントの取り扱い」、RFC 5722、DOI 10.17487 / RFC5722、2009年12月、<https://www.rfc-editor.org/info/rfc5722>。
[RFC5927] Gont, F., "ICMP Attacks against TCP", RFC 5927, DOI 10.17487/RFC5927, July 2010, <https://www.rfc-editor.org/info/rfc5927>.
[RFC5927] Gont、F.、「TCPに対するICMP攻撃」、RFC 5927、DOI 10.17487 / RFC5927、<https://www.rfc-editor.org/info/rfc5927>。
[RFC6346] Bush, R., Ed., "The Address plus Port (A+P) Approach to the IPv4 Address Shortage", RFC 6346, DOI 10.17487/RFC6346, August 2011, <https://www.rfc-editor.org/info/rfc6346>.
[RFC6346]ブッシュ、R。、「IPv4アドレス不足」、RFC 6346、DOI 10.17487 / RFC6346、2011年8月、<https://ww.rfc-editor.org/ info / rfc6346>。
[RFC6888] Perreault, S., Ed., Yamagata, I., Miyakawa, S., Nakagawa, A., and H. Ashida, "Common Requirements for Carrier-Grade NATs (CGNs)", BCP 127, RFC 6888, DOI 10.17487/RFC6888, April 2013, <https://www.rfc-editor.org/info/rfc6888>.
[RFC6888] PerreAll、S、ED。、山形、I。、宮川、西川、西田、そして芦田、「キャリアグレードのNAT(CGNS)の共通要件」、BCP 127、RFC 6888、DOI 10.17487 / RFC6888、2013年4月、<https://www.rfc-editor.org/info/rfc6888>。
[RFC7098] Carpenter, B., Jiang, S., and W. Tarreau, "Using the IPv6 Flow Label for Load Balancing in Server Farms", RFC 7098, DOI 10.17487/RFC7098, January 2014, <https://www.rfc-editor.org/info/rfc7098>.
[RFC7098] Carpenter、B.、Jiang、S.およびW. Tarreau、2014年1月、2014年1月、<https:// www。rfc-editor.org/info/rfc7098>。
[RFC7424] Krishnan, R., Yong, L., Ghanwani, A., So, N., and B. Khasnabish, "Mechanisms for Optimizing Link Aggregation Group (LAG) and Equal-Cost Multipath (ECMP) Component Link Utilization in Networks", RFC 7424, DOI 10.17487/RFC7424, January 2015, <https://www.rfc-editor.org/info/rfc7424>.
[RFC7424]クリシュナン、R.、Yong、L.、Ghanwani、A.、SO、N.、B.Khasnabish、「リンクアグリゲーショングループ(LAG)および等価マルチパス(ECMP)コンポーネントリンク利用のためのメカニズム2015年1月、<https://www.rfc-editor.org/info/rfc7424>。
[RFC7588] Bonica, R., Pignataro, C., and J. Touch, "A Widely Deployed Solution to the Generic Routing Encapsulation (GRE) Fragmentation Problem", RFC 7588, DOI 10.17487/RFC7588, July 2015, <https://www.rfc-editor.org/info/rfc7588>.
[RFC7588] Bonica、R.、Pignataro、C.、J. Touch、「一般的なルーティングカプセル化(GRE)フラグメンテーションの問題への広く展開されたソリューション」、RFC 7588、DOI 10.17487 / RFC7588、2015年7月、<https://www.rfc-editor.org/info/rfc7588>。
[RFC7676] Pignataro, C., Bonica, R., and S. Krishnan, "IPv6 Support for Generic Routing Encapsulation (GRE)", RFC 7676, DOI 10.17487/RFC7676, October 2015, <https://www.rfc-editor.org/info/rfc7676>.
[RFC7676] Pignataro、C、Bonica、R.およびS。Krishnan、「Generic Routing ClackulationのIPv6サポート(GRE)」、RFC 7676、DOI 10.17487 / RFC7676、2015年10月、<https:///www.rfc-editor.org/info/rfc7676>。
[RFC7739] Gont, F., "Security Implications of Predictable Fragment Identification Values", RFC 7739, DOI 10.17487/RFC7739, February 2016, <https://www.rfc-editor.org/info/rfc7739>.
[RFC7739] Gont、F。、「予測可能なフラグメント識別値のセキュリティへの影響」、RFC 7739、DOI 10.17487 / RFC7739、2016年2月、<https://www.rfc-editor.org/info/rfc7739>。
[RFC7872] Gont, F., Linkova, J., Chown, T., and W. Liu, "Observations on the Dropping of Packets with IPv6 Extension Headers in the Real World", RFC 7872, DOI 10.17487/RFC7872, June 2016, <https://www.rfc-editor.org/info/rfc7872>.
[RFC7872]ゴント、F、Linkova、J.、Chown、T.、およびW. Liu、RFC 7872、DOI 10.17487 / RFC7872、2016年6月<https://www.rfc-editor.org/info/rfc7872>。
[RFC8086] Yong, L., Ed., Crabbe, E., Xu, X., and T. Herbert, "GRE-in-UDP Encapsulation", RFC 8086, DOI 10.17487/RFC8086, March 2017, <https://www.rfc-editor.org/info/rfc8086>.
[RFC8086] Yong、L.、Ed。、Crabbe、E.、Xu、X.、およびT.Herbert、「Gre-In-UDPカプセル化」、RFC 8086、DOI 10.17487 / RFC8086、2017年3月、<https://www.rfc-editor.org/info/rfc8086>。
[TUNNELS] Touch, J. and M. Townsley, "IP Tunnels in the Internet Architecture", Work in Progress, Internet-Draft, draft-ietf-intarea-tunnels-10, 12 September 2019, <https://tools.ietf.org/html/draft-ietf-intarea-tunnels-10>.
[Tunnels] Touch、J.およびM. Townsley、「インターネットアーキテクチャのIPトンネル」、進捗状況、インターネットドラフト、Draft-IETF-Intarea-Tunnels-10,12、<https://ツール。ietf.org/html/draft-ietf-intarea-tunnels-10>
[UDP-OPTIONS] Touch, J., "Transport Options for UDP", Work in Progress, Internet-Draft, draft-ietf-tsvwg-udp-options-08, 12 September 2019, <https://tools.ietf.org/html/draft-ietf-tsvwg-udp-options-08>.
[UDP-Options] Touch、J.、「UDPのトランスポートオプション」、進行中の作業、インターネットドラフト、Draft-IETF-TSVWG-UDP-Options-Options-08,129、<https://tools.ietf。org / html / froms-ietf-tsvwg-udp-options-08>。
Acknowledgements
謝辞
Thanks to Mikael Abrahamsson, Brian Carpenter, Silambu Chelvan, Lorenzo Colitti, Gorry Fairhurst, Joel Halpern, Mike Heard, Tom Herbert, Tatuya Jinmei, Suresh Krishnan, Jen Linkova, Paolo Lucente, Manoj Nayak, Eric Nygren, Fred Templin, and Joe Touch for their comments.
Mikael Abrahamsson、Brian Carpenter、Silambu Chelvan、Lorenzo Colitti、Gorry Fairhurst、Joel Halpern、Mike Heart、Tatuya Jinmei、Suresh Krishnan、Jen Linkova、Paolo Lucente、Eric Nygren、Joe Templin、Joe Templin、Joe Templin、Joe Templin、Joe Templin彼らのコメントのために。
Authors' Addresses
著者の住所
Ron Bonica Juniper Networks 2251 Corporate Park Drive Herndon, Virginia 20171 United States of America
Ron Bonica Juniper Networks 2251コーポレートパークドライブHerndon、Virginia 20171アメリカ合衆国
Email: rbonica@juniper.net
Fred Baker Unaffiliated Santa Barbara, California 93117 United States of America
Fred Baker Unfifyiated Santa Barbara、カリフォルニア州93117アメリカ合衆国
Email: FredBaker.IETF@gmail.com
Geoff Huston APNIC 6 Cordelia St Brisbane 4101 QLD Australia
Geoff Huston Apnic 6 Cordelia St Brisbane 4101 QLDオーストラリア
Email: gih@apnic.net
Robert M. Hinden Check Point Software 959 Skyway Road San Carlos, California 94070 United States of America
Robert M. Hindenチェックポイントソフトウェア959 Skyway Road San Carlos、カリフォルニア94070アメリカ合衆国
Email: bob.hinden@gmail.com
Ole Troan Cisco Philip Pedersens vei 1 N-1366 Lysaker Norway
Ole Troan Cisco Philip Pedersens Vei 1 N-1366 Lysaker Norway
Email: ot@cisco.com
Fernando Gont SI6 Networks Evaristo Carriego 2644 Haedo Provincia de Buenos Aires Argentina
フェルナンド・ゴントSI6ネットワークスエヴァリストカリーゴ2644ヘディ・プロヴィンシア・デブエノスアイレスアルゼンチン
Email: fgont@si6networks.com