ジェネリックルーティングカプセル化(GRE)
英文を機械翻訳で日本語訳としています。日本語訳が正しくないことが考えられますので原文をメインとし、参考程度にご利用ください。
日本語訳
Network Working Group D. Farinacci Request for Comments: 2784 T. Li Category: Standards Track Procket Networks S. Hanks Enron Communications D. Meyer Cisco Systems P. Traina Juniper Networks March 2000 Generic Routing Encapsulation (GRE)
ジェネリックルーティングカプセル化(GRE)
Status of this Memo
このメモのステータス
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
このドキュメントは、インターネットコミュニティのためのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。 このプロトコルの標準化状態とステータスについては、「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。 このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (C) The Internet Society (2000). All Rights Reserved.
Copyright(C)The Internet Society(2000)。 全著作権所有。
Abstract
概要
This document specifies a protocol for encapsulation of an arbitrary network layer protocol over another arbitrary network layer protocol.
このドキュメントでは、任意のネットワークレイヤープロトコルを別の任意のネットワークレイヤープロトコルにカプセル化するためのプロトコルを指定します。
1. Introduction
1.はじめに
A number of different proposals [RFC1234, RFC1226] currently exist for the encapsulation of one protocol over another protocol. Other types of encapsulations [RFC1241, RFC1479] have been proposed for transporting IP over IP for policy purposes. This memo describes a protocol which is very similar to, but is more general than, the above proposals. In attempting to be more general, many protocol specific nuances have been ignored. The result is that this proposal may be less suitable for a situation where a specific "X over Y" encapsulation has been described. It is the attempt of this protocol to provide a simple, general purpose mechanism which reduces the problem of encapsulation from its current O(n^2) size to a more manageable size. This memo purposely does not address the issue of when a packet should be encapsulated. This memo acknowledges, but does not address problems such as mutual encapsulation [RFC1326].
現在、あるプロトコルを別のプロトコルにカプセル化するためのさまざまな提案[RFC1234、RFC1226]がいくつか存在します。 ポリシーの目的でIP over IPを転送するために、他のタイプのカプセル化[RFC1241、RFC1479]が提案されています。 このメモは、上記の提案に非常に似ていますが、より一般的なプロトコルについて説明しています。 より一般的にするために、多くのプロトコル固有のニュアンスは無視されてきました。 その結果、この提案は、特定の「X over Y」カプセル化が説明されている状況にはあまり適していない可能性があります。 このプロトコルの試みは、カプセル化の問題を現在のO(n ^ 2)サイズからより扱いやすいサイズに減らす単純で汎用的なメカニズムを提供することです。 このメモは、パケットをカプセル化する必要がある場合の問題には意図的に対処していません。 このメモは認めますが、相互カプセル化のような問題[RFC1326]を扱いません。
Farinacci, et al. Standards Track [Page 1] RFC 2784 Generic Routing Encapsulation March 2000 In the most general case, a system has a packet that needs to be encapsulated and delivered to some destination. We will call this the payload packet. The payload is first encapsulated in a GRE packet. The resulting GRE packet can then be encapsulated in some other protocol and then forwarded. We will call this outer protocol the delivery protocol. The algorithms for processing this packet are discussed later.
最も一般的なケースでは、システムには、カプセル化して何らかの宛先に配信する必要があるパケットがあります。 これをペイロードパケットと呼びます。 ペイロードは最初にGREパケットにカプセル化されます。 結果のGREパケットは、他のプロトコルでカプセル化してから転送できます。 この外部プロトコルを配信プロトコルと呼びます。 このパケットを処理するアルゴリズムについては、後で説明します。
Finally this specification describes the intersection of GRE currently deployed by multiple vendors.
最後に、この仕様は、複数のベンダーによって現在展開されているGREの共通部分について説明しています。
The keywords MUST, MUST NOT, MAY, OPTIONAL, REQUIRED, RECOMMENDED, SHALL, SHALL NOT, SHOULD, SHOULD NOT are to be interpreted as defined in RFC 2119 [RFC2119].
キーワードは、MUST NOT、MAY NOT、MAY、OPTIONAL、REQUIRED、RECOMMENDED、SHALL、SHALL NOT、SHOULD、SHOULD NOTは、RFC 2119 [RFC2119]の定義に従って解釈されます。
2. Structure of a GRE Encapsulated Packet
2. GREカプセル化パケットの構造
A GRE encapsulated packet has the form:
GREカプセル化パケットの形式は次のとおりです。
--------------------------------- | | | Delivery Header | | | --------------------------------- | | | GRE Header | | | --------------------------------- | | | Payload packet | | | --------------------------------- This specification is generally concerned with the structure of the GRE header, although special consideration is given to some of the issues surrounding IPv4 payloads.
この仕様は一般にGREヘッダーの構造に関係していますが、IPv4ペイロードを取り巻く問題のいくつかには特別な考慮が払われています。
2.1. GRE Header
2.1。 GREヘッダー
The GRE packet header has the form:
GREパケットヘッダーの形式は次のとおりです。
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |C| Reserved0 | Ver | Protocol Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum (optional) | Reserved1 (Optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Farinacci, et al. Standards Track [Page 2] RFC 2784 Generic Routing Encapsulation March 2000 2.2. Checksum Present (bit 0)
2.2。 チェックサムあり(ビット0)
If the Checksum Present bit is set to one, then the Checksum and the Reserved1 fields are present and the Checksum field contains valid information. Note that a compliant implementation MUST accept and process this field.
チェックサム存在ビットが1に設定されている場合、チェックサムフィールドとReserved1フィールドが存在し、チェックサムフィールドに有効な情報が含まれています。 準拠した実装では、このフィールドを受け入れて処理する必要があることに注意してください。
2.3. Reserved0 (bits 1-12)
2.3。 Reserved0(ビット1~12)
A receiver MUST discard a packet where any of bits 1-5 are non-zero, unless that receiver implements RFC 1701. Bits 6-12 are reserved for future use. These bits MUST be sent as zero and MUST be ignored on receipt.
レシーバーがRFC 1701を実装していない限り、レシーバーは、ビット1~5のいずれかがゼロ以外のパケットを破棄する必要があります。 ビット6~12は、将来の使用のために予約されています。 これらのビットはゼロとして送信する必要があり、受信時には無視する必要があります。
2.3.1. Version Number (bits 13-15)
2.3.1。 バージョン番号(ビット13~15)
The Version Number field MUST contain the value zero.
バージョン番号フィールドには値ゼロが含まれている必要があります。
2.4. Protocol Type (2 octets)
2.4。 プロトコルタイプ(2オクテット)
The Protocol Type field contains the protocol type of the payload packet. These Protocol Types are defined in [RFC1700] as "ETHER TYPES" and in [ETYPES]. An implementation receiving a packet containing a Protocol Type which is not listed in [RFC1700] or [ETYPES] SHOULD discard the packet.
Protocol Typeフィールドには、ペイロードパケットのプロトコルタイプが含まれます。 これらのプロトコルタイプは、[RFC1700]で「ETHER TYPES」および[ETYPES]として定義されています。 [RFC1700]または[ETYPES]にリストされていないプロトコルタイプを含むパケットを受信する実装は、パケットを破棄する必要があります(SHOULD)。
2.5. Checksum (2 octets)
2.5。 チェックサム(2オクテット)
The Checksum field contains the IP (one's complement) checksum sum of the all the 16 bit words in the GRE header and the payload packet. For purposes of computing the checksum, the value of the checksum field is zero. This field is present only if the Checksum Present bit is set to one.
チェックサムフィールドには、GREヘッダーとペイロードパケット内のすべての16ビットワードのIP(1の補数)チェックサム合計が含まれています。 チェックサムを計算するために、チェックサムフィールドの値はゼロです。 このフィールドは、チェックサム存在ビットが1に設定されている場合にのみ存在します。
2.6. Reserved1 (2 octets)
2.6。 Reserved1(2オクテット)
The Reserved1 field is reserved for future use, and if present, MUST be transmitted as zero. The Reserved1 field is present only when the Checksum field is present (that is, Checksum Present bit is set to one).
Reserved1フィールドは将来の使用のために予約されており、存在する場合はゼロとして送信する必要があります。 Reserved1フィールドは、チェックサムフィールドが存在する(つまり、チェックサム存在ビットが1に設定されている)場合にのみ存在します。
3. IPv4 as a Payload
3.ペイロードとしてのIPv4
When IPv4 is being carried as the GRE payload, the Protocol Type field MUST be set to 0x800.
IPv4がGREペイロードとして伝送されている場合、プロトコルタイプフィールドは0x800に設定する必要があります。
Farinacci, et al. Standards Track [Page 3] RFC 2784 Generic Routing Encapsulation March 2000 3.1. Forwarding Decapsulated IPv4 Payload Packets
3.1。 カプセル化解除されたIPv4ペイロードパケットの転送
When a tunnel endpoint decapsulates a GRE packet which has an IPv4 packet as the payload, the destination address in the IPv4 payload packet header MUST be used to forward the packet and the TTL of the payload packet MUST be decremented. Care should be taken when forwarding such a packet, since if the destination address of the payload packet is the encapsulator of the packet (i.e., the other end of the tunnel), looping can occur. In this case, the packet MUST be discarded.
トンネルエンドポイントがIPv4パケットをペイロードとして持つGREパケットのカプセル化を解除する場合、IPv4ペイロードパケットヘッダーの宛先アドレスを使用してパケットを転送する必要があり、ペイロードパケットのTTLをデクリメントする必要があります。 ペイロードパケットの宛先アドレスがパケットのカプセル化元(つまり、トンネルのもう一方の端)である場合、ループが発生する可能性があるため、このようなパケットを転送するときは注意が必要です。 この場合、パケットは破棄されなければなりません(MUST)。
4. IPv4 as a Delivery Protocol
4.配信プロトコルとしてのIPv4
The IPv4 protocol 47 [RFC1700] is used when GRE packets are enapsulated in IPv4. See [RFC1122] for requirements relating to the delivery of packets over IPv4 networks.
IPv4プロトコル47 [RFC1700]は、GREパケットがIPv4でカプセル化されるときに使用されます。 IPv4ネットワーク上でのパケット配信に関する要件については、[RFC1122]を参照してください。
5. Interoperation with RFC 1701 Compliant Implementations
5. RFC 1701準拠の実装との相互運用
In RFC 1701, the field described here as Reserved0 contained a number of flag bits which this specification deprecates. In particular, the Routing Present, Key Present, Sequence Number Present, and Strict Source Route bits have been deprecated, along with the Recursion Control field. As a result, the GRE header will never contain the Key, Sequence Number or Routing fields specified in RFC 1701.
RFC 1701では、Reserved0としてここで説明されているフィールドに、この仕様で廃止されたいくつかのフラグビットが含まれていました。 特に、ルーティングの存在、キーの存在、シーケンス番号の存在、および厳密なソースルートビットは、再帰制御フィールドとともに非推奨になりました。 その結果、GREヘッダーには、RFC 1701で指定されたキー、シーケンス番号、またはルーティングフィールドが含まれることはありません。
There are, however, existing implementations of RFC 1701. The following sections describe correct interoperation with such implementations.
ただし、RFC 1701の既存の実装があります。 次のセクションでは、そのような実装との正しい相互運用について説明します。
5.1. RFC 1701 Compliant Receiver
5.1。 RFC 1701準拠のレシーバー
An implementation complying to this specification will transmit the Reserved0 field set to zero. An RFC 1701 compliant receiver will interpret this as having the Routing Present, Key Present, Sequence Number Present, and Strict Source Route bits set to zero, and will not expect the RFC 1701 Key, Sequence Number or Routing fields to be present.
この仕様に準拠する実装は、ゼロに設定されたReserved0フィールドを送信します。 RFC 1701準拠の受信者は、これをルーティングの存在、キーの存在、シーケンス番号の存在、および厳密なソースルートビットがゼロに設定されていると解釈し、RFC 1701のキー、シーケンス番号、またはルーティングのフィールドが存在することを期待しません。
5.2. RFC 1701 Compliant Transmitter
5.2。 RFC 1701準拠の送信機
An RFC 1701 transmitter may set any of the Routing Present, Key Present, Sequence Number Present, and Strict Source Route bits set to one, and thus may transmit the RFC 1701 Key, Sequence Number or Routing fields in the GRE header. As stated in Section 5.3, a packet with non-zero bits in any of bits 1-5 MUST be discarded unless the receiver implements RFC 1701.
RFC 1701トランスミッタは、ルーティングの存在、キーの存在、シーケンス番号の存在、および厳密なソースルートビットのいずれかを1に設定し、したがって、RFC 1701のキー、シーケンス番号、またはルーティングフィールドをGREヘッダーで送信できます。 セクション5.3で述べたように、ビット1~5のいずれかにゼロ以外のビットがあるパケットは、受信者がRFC 1701を実装していない限り破棄する必要があります。
Farinacci, et al. Standards Track [Page 4] RFC 2784 Generic Routing Encapsulation March 2000 6. Security Considerations
6.セキュリティに関する考慮事項
Security in a network using GRE should be relatively similar to security in a normal IPv4 network, as routing using GRE follows the same routing that IPv4 uses natively. Route filtering will remain unchanged. However packet filtering requires either that a firewall look inside the GRE packet or that the filtering is done on the GRE tunnel endpoints. In those environments in which this is considered to be a security issue it may be desirable to terminate the tunnel at the firewall.
GREを使用するルーティングは、IPv4がネイティブに使用するのと同じルーティングに従うため、GREを使用するネットワークのセキュリティは、通常のIPv4ネットワークのセキュリティと比較的似ているはずです。 ルートフィルタリングは変更されません。 ただし、パケットフィルタリングでは、ファイアウォールがGREパケット内を調べるか、GREトンネルエンドポイントでフィルタリングが行われる必要があります。 これがセキュリティ問題であると考えられる環境では、ファイアウォールでトンネルを終了することが望ましい場合があります。
7. IANA Considerations
7. IANAに関する考慮事項
This section considers the assignment of additional GRE Version Numbers and Protocol Types.
このセクションでは、追加のGREバージョン番号とプロトコルタイプの割り当てについて検討します。
7.1. GRE Version Numbers
7.1。 GREバージョン番号
This document specifies GRE version number 0. GRE version number 1 is used by PPTP [RFC2637]. Additional GRE version numbers are assigned by IETF Consensus as defined in RFC 2434 [RFC2434].
このドキュメントでは、GREバージョン番号0を指定しています。 GREバージョン番号1はPPTP [RFC2637]によって使用されます。 RFC 2434 [RFC2434]で定義されているように、追加のGREバージョン番号がIETFコンセンサスによって割り当てられます。
7.2. Protocol Types
7.2。 プロトコルのタイプ
GRE uses an ETHER Type for the Protocol Type. New ETHER TYPES are assigned by Xerox Systems Institute [RFC1700].
GREはプロトコルタイプにETHERタイプを使用します。 新しいETHER TYPESは、Xerox Systems Institute [RFC1700]によって割り当てられます。
8. Acknowledgments
8.謝辞
This document is derived from the original ideas of the authors of RFC 1701 and RFC 1702. Hitoshi Asaeda, Scott Bradner, Randy Bush, Brian Carpenter, Bill Fenner, Andy Malis, Thomas Narten, Dave Thaler, Tim Gleeson and others provided many constructive and insightful comments.
このドキュメントは、RFC 1701およびRFC 1702の作成者の元のアイデアから派生しています。 浅枝仁志、スコットブラドナー、ランディブッシュ、ブライアンカーペンター、ビルフェナー、アンディマリス、トーマスナーテン、デイブターラー、ティムグリーソンなど、多くの建設的で洞察に満ちたコメントを提供しました。
Farinacci, et al. Standards Track [Page 5] RFC 2784 Generic Routing Encapsulation March 2000 9. Appendix -- Known Issues
9.付録-既知の問題
This document specifies the behavior of currently deployed GRE implementations. As such, it does not attempt to address the following known issues:
このドキュメントでは、現在デプロイされているGRE実装の動作を指定します。 したがって、次の既知の問題に対処することはありません。
o Interaction Path MTU Discovery (PMTU) [RFC1191]
相互作用パスMTUディスカバリー(PMTU)[RFC1191]
Existing implementations of GRE, when using IPv4 as the Delivery Header, do not implement Path MTU discovery and do not set the Don't Fragment bit in the Delivery Header. This can cause large packets to become fragmented within the tunnel and reassembled at the tunnel exit (independent of whether the payload packet is using PMTU). If a tunnel entry point were to use Path MTU discovery, however, that tunnel entry point would also need to relay ICMP unreachable error messages (in particular the "fragmentation needed and DF set" code) back to the originator of the packet, which is not a requirement in this specification. Failure to properly relay Path MTU information to an originator can result in the following behavior: the originator sets the don't fragment bit, the packet gets dropped within the tunnel, but since the originator doesn't receive proper feedback, it retransmits with the same PMTU, causing subsequently transmitted packets to be dropped.
GREの既存の実装は、IPv4を配信ヘッダーとして使用する場合、パスMTU検出を実装せず、配信ヘッダーにフラグメントしないビットを設定しません。 これにより、(ペイロードパケットがPMTUを使用しているかどうかに関係なく)大きなパケットがトンネル内で断片化され、トンネルの出口で再構成されます。 ただし、トンネルエントリポイントがパスMTUディスカバリを使用する場合、そのトンネルエントリポイントは、ICMP到達不能エラーメッセージ(特に「必要なフラグメンテーションとDFセット」コード)をパケットの発信元に中継する必要があります。 この仕様の要件ではありません。 パスMTU情報を発信者に適切に中継しないと、次の動作が発生する可能性があります。発信者がフラグメントしないビットを設定すると、パケットはトンネル内でドロップされますが、発信者は適切なフィードバックを受信しないため、 同じPMTU。その後送信されるパケットがドロップされます。
o IPv6 as Delivery and/or Payload Protocol
配信および/またはペイロードプロトコルとしてのIPv6
This specification describes the intersection of GRE currently deployed by multiple vendors. IPv6 as delivery and/or payload protocol is not included in the currently deployed versions of GRE.
この仕様は、現在複数のベンダーによって展開されているGREの共通部分について説明しています。 配信および/またはペイロードプロトコルとしてのIPv6は、現在展開されているバージョンのGREには含まれていません。
o Interaction with ICMP
ICMPとの相互作用
o Interaction with the Differentiated Services Architecture
DiffServアーキテクチャとの相互作用
o Multiple and Looping Encapsulations
複数のループするカプセル化
10. REFERENCES
10.参考文献
[ETYPES] ftp://ftp.isi.edu/in-notes/iana/assignments/ethernet- numbers [RFC1122] Braden, R., "Requirements for Internet hosts - communication layers", STD 3, RFC 1122, October 1989. [RFC1191] Mogul, J. and S. Deering, "Path MTU Discovery", RFC 1191, November 1990. Farinacci, et al. Standards Track [Page 6] RFC 2784 Generic Routing Encapsulation March 2000 [RFC1226] Kantor, B., "Internet Protocol Encapsulation of AX.25 Frames", RFC 1226, May 1991. [RFC1234] Provan, D., "Tunneling IPX Traffic through IP Networks", RFC 1234, June 1991. [RFC1241] Woodburn, R. and D. Mills, "Scheme for an Internet Encapsulation Protocol: Version 1", RFC 1241, July 1991. [RFC1326] Tsuchiya, P., "Mutual Encapsulation Considered Dangerous", RFC 1326, May 1992. [RFC1479] Steenstrup, M., "Inter-Domain Policy Routing Protocol Specification: Version 1", RFC 1479, July 1993. [RFC1700] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, RFC 1700, October 1994. [RFC1701] Hanks, S., Li, T., Farinacci, D. and P. Traina, "Generic Routing Encapsulation", RFC 1701, October 1994. [RFC1702] Hanks, S., Li, T., Farinacci, D. and P. Traina, "Generic Routing Encapsulation over IPv4 networks", RFC 1702, October 1994. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March, 1997. [RFC2408] Maughan, D., Schertler, M., Schneider, M. and J. Turner, "Internet Security Association and Key Management Protocol (ISAKMP)", RFC 2408, November 1998. [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October, 1998. [RFC2637] Hamzeh, K., et al., "Point-to-Point Tunneling Protocol (PPTP)", RFC 2637, July, 1999. Farinacci, et al. Standards Track [Page 7] RFC 2784 Generic Routing Encapsulation March 2000 11. Authors' Addresses
11.著者のアドレス
Dino Farinacci Procket Networks 3850 No. First St., Ste. C San Jose, CA 95134 EMail: dino@procket.com Tony Li Procket Networks 3850 No. First St., Ste. C San Jose, CA 95134 Phone: +1 408 954 7903 Fax: +1 408 987 6166 EMail: tony1@home.net Stan Hanks Enron Communications EMail: stan_hanks@enron.net David Meyer Cisco Systems, Inc. 170 Tasman Drive San Jose, CA, 95134 EMail: dmm@cisco.com Paul Traina Juniper Networks EMail: pst@juniper.net Farinacci, et al. Standards Track [Page 8] RFC 2784 Generic Routing Encapsulation March 2000 12. Full Copyright Statement
12.完全な著作権表示
Copyright (C) The Internet Society (2000). All Rights Reserved. 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. Farinacci, et al. Standards Track [Page 9]