この文書はRFC1883の日本語訳(和訳)です。 この文書の翻訳内容の正確さは保障できないため、 正確な知識を求める方は原文を参照してください。 翻訳者はこの文書によって読者が被り得る如何なる損害の責任をも負いません。 この翻訳内容に誤りがある場合、訂正版の公開や、 誤りの指摘は適切です。 この文書の配布は元のRFC同様に無制限です。
Network Working Group S. Deering, Xerox PARC Request for Comments: 1883 R. Hinden, Ipsilon Networks Category: Standards Track December 1995 Internet Protocol, Version 6 (IPv6) Specification インターネットプロトコルバージョン6(IPv6)の仕様 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)の現在の版を参照してください。このメモの配布は無制限です。 Abstract 概要 This document specifies version 6 of the Internet Protocol (IPv6), also sometimes referred to as IP Next Generation or IPng. このドキュメントは、次世代IPあるいはIPngといわれる、インターネット・ プロトコル(IPv6)のバージョン6を明示する。 Table of Contents 目次 1. Introduction (導入) 2. Terminology (技術用語) 3. IPv6 Header Format (IPv6ヘッダーフォーマット) 4. IPv6 Extension Headers (IPv6 拡張ヘッダー) 4.1 Extension Header Order (拡張ヘッダ順序) 4.2 Options (オプション) 4.3 Hop-by-Hop Options Header (ホップバイホップオプションヘッダー) 4.4 Routing Header (ルーティングヘッダー) 4.5 Fragment Header (フラグメントヘッダ) 4.6 Destination Options Header (着信オプションヘッダー) 4.7 No Next Header (ネクストヘッダがない) 5. Packet Size Issues (パケットサイズ問題) 6. Flow Labels (フローラベル) 7. Priority (優先権) 8. Upper-Layer Protocol Issues (上位層プロトコル問題) 8.1 Upper-Layer Checksums (上位層チェックサム) 8.2 Maximum Packet Lifetime (最大パケット生存期間) 8.3 Maximum Upper-Layer Payload Size (最大の上位層ペイロード大きさ) Appendix A. Formatting Guidelines for Options(オプションのためのフォーマット化ガイドライン) Security Considerations(機密保持対策) Acknowledgments(謝辞) Authors' Addresses(著者のアドレス) References (参考文献) 1. Introduction 導入 IP version 6 (IPv6) is a new version of the Internet Protocol, designed as a successor to IP version 4 (IPv4) [RFC-791]. The changes from IPv4 to IPv6 fall primarily into the following categories: IPバージョン6(IPv6)はIPバージョン4(IPv4)[RFC-791]の継承 者として設計されたインターネット・プロトコルの新しいバージョンで ある。IPv4 からIPv6 までの変更は主に次のカテゴリに分かれる: o Expanded Addressing Capabilities 拡大されたアドレス能力 IPv6 increases the IP address size from 32 bits to 128 bits, to support more levels of addressing hierarchy, a much greater number of addressable nodes, and simpler auto-configuration of addresses. The scalability of multicast routing is improved by adding a "scope" field to multicast addresses. And a new type of address called an "anycast address" is defined, used to send a packet to any one of a group of nodes. IPv6 は、より多くのレベル階層構造、より多くの数のアドレス可能な ノード、アドレスのより単純な自動構成のを扱いをサポートするために、 32ビットから128ビットにIPアドレス大きさを増やした。マルチ キャストルーティングのスケーラビリティはマルチキャストアドレスに 「範囲」フィールドを加えることによって改善される。そして新しいタ イプの「エニイキャストアドレス」と呼ばれたアドレスがノードのグルー プの誰かへパケットを送るために定義されて使われる。 o Header Format Simplification ヘッダーフォーマット簡単化 Some IPv4 header fields have been dropped or made optional, to reduce the common-case processing cost of packet handling and to limit the bandwidth cost of the IPv6 header. いくつかのIPv4ヘッダーフィールドがパケット処理に共通するコスト減ら すためと、IPv6ヘッダーの帯域コストを制限するために、削除されたり、 任意指定になった。 o Improved Support for Extensions and Options 拡張とオプションに対するサポートを改善した Changes in the way IP header options are encoded allows for more efficient forwarding, less stringent limits on the length of options, and greater flexibility for introducing new options in the future. IPヘッダーオプションがコード化される方法を変えたのは、将来新しい オプションを導入する場合に、効率的な転送と、オプション長の限界を 緩めるのと、より大きい柔軟性を考慮するためです。 o Flow Labeling Capability フロー分類 A new capability is added to enable the labeling of packets belonging to particular traffic "flows" for which the sender requests special handling, such as non-default quality of service or "real-time" service. 送信者が非デフォルトの品質サービスあるいは「リアルタイム」サービス のような、特別扱いを求める特定なフローに属しているパケットを判別す ることを可能にする、新しい能力が加えられる。 o Authentication and Privacy Capabilities 認証とプライバシー能力 Extensions to support authentication, data integrity, and (optional) data confidentiality are specified for IPv6. 認証、データの完全性と(オプションの)データ機密性をサポートする拡 張がIPv6 のために規定される。 This document specifies the basic IPv6 header and the initially- defined IPv6 extension headers and options. It also discusses packet size issues, the semantics of flow labels and priority, and the effects of IPv6 on upper-layer protocols. The format and semantics of IPv6 addresses are specified separately in [RFC-1884]. The IPv6 version of ICMP, which all IPv6 implementations are required to include, is specified in [RFC-1885]. このドキュメントは基本的なIPv6ヘッダと初めに定義されたIPv6拡張ヘッダ とオプションを規定する。またパケットサイズ問題、フローラベルと優先権の 意味とIPv6の上位層プロトコルへの影響を論じる。フォーマットとIPv6アド レスの意味は[RFC-1884]で別に指定される。すべてのIPv6実装が必要とする ICMPのIPv6バージョンは[RFC-1885]で指定される。 2. Terminology 技術用語 node - a device that implements IPv6. ノード IPv6 を実装する装置。 router - a node that forwards IPv6 packets not explicitly addressed to itself. [See Note below]. ルータ それ自身にあてでない IPv6 パケットを転送するノード。 「下のノート参照」。 host - any node that is not a router. [See Note below]. ホスト ルーターでない任意のノード。 「下のノート参照」。 upper layer - a protocol layer immediately above IPv6. Examples are transport protocols such as TCP and UDP, control protocols such as ICMP, routing protocols such as OSPF, and internet or lower-layer protocols being "tunneled" over (i.e., encapsulated in) IPv6 such as IPX, AppleTalk, or IPv6 itself. 上位層 IPv6のすぐ上のプロトコルレイヤ。例はTCPとUDPのような トランスポートプロトコル、ICMPのような制御装置プロト コルとOSPFのようなルーティングプロトコル、IPX 、AppleTalk 、 あるいはIPv6それ自身のような「トンネルされた」(つまりカ プセル化した)インターネットあるいは低レイヤプロトコル、 である。 link - a communication facility or medium over which nodes can communicate at the link layer, i.e., the layer immediately below IPv6. Examples are Ethernets (simple or bridged); PPP links; X.25, Frame Relay, or ATM networks; and internet (or higher) layer "tunnels", such as tunnels over IPv4 or IPv6 itself. リンク ノードが通信を行うリンク層の通信施設あるいは媒体、すなわ ち、IPv6の直下にあるレイヤ。 例は(単純なあるいはブリッジ された)イーサネットである;PPPリンク;X.25 、フレームリ レー、あるいはATMネットワーク;そしてIPv4あるいはIPv6 上にトンネルのようなインターネット(あるいはより高い)レ イヤ neighbors - nodes attached to the same link. 隣人 同じリンクに置かれたノード。 interface - a node's attachment to a link. インタフェース ノードのリンクとの取付物。 address - an IPv6-layer identifier for an interface or a set of interfaces. アドレス インタフェースあるいはインタフェースの集合のためのIPv6- レイヤ識別子。 packet - an IPv6 header plus payload. パケット IPv6 ヘッダーとペイロード。 link MTU - the maximum transmission unit, i.e., maximum packet size in octets, that can be conveyed in one piece over a link. リンク MTU 最大の転送単位、すなわち、1つリンクの上に運べる最大のパ ケットオクテットサイズ。 path MTU - the minimum link MTU of all the links in a path between a source node and a destination node. パスMTU 発ノードと着ノードの間のパスのリンク MTUの最小値。 Note: it is possible, though unusual, for a device with multiple interfaces to be configured to forward non-self-destined packets arriving from some set (fewer than all) of its interfaces, and to discard non-self-destined packets arriving from its other interfaces. Such a device must obey the protocol requirements for routers when receiving packets from, and interacting with neighbors over, the former (forwarding) interfaces. It must obey the protocol requirements for hosts when receiving packets from, and interacting with neighbors over, the latter (non-forwarding) interfaces. ノート:多数のインタフェースを持っている装置にで、ある(一部の)インタ フェースで受信した非自己-行きのパケットを転送し、その他のインタフェー スで受信した非自己-行きのパケットを捨てることは、まれであるけれども、 可能である。このような装置は、前者の(転送)インタフェースでパケットを 受け取って、隣人と相互作用する時、ルーターのプロトコル要求事項に従わな くてはならない。 それは、後者の(非転送)インタフェースでパケットを受け 取って、隣人と相互に作用する時、ホストのプロトコル要求事項に従わなくて はならない。 3. IPv6 Header Format IPv6ヘッダーフォーマット +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Prio. | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Source Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Destination Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version 4-bit Internet Protocol version number = 6. バージョン 4ビットインターネット・プロトコルバージョン 番号 = 6。 Prio. 4-bit priority value. See section 7. 優先度 4ビットの優先順位の値。 セクション7参照。 Flow Label 24-bit flow label. See section 6. フローラベル 24ビットのフローラベル。 セクション6参照。 Payload Length 16-bit unsigned integer. Length of payload, i.e., the rest of the packet following the IPv6 header, in octets. If zero, indicates that the payload length is carried in a Jumbo Payload hop-by-hop option. ペイロード長 16ビットの符号なし整数。オクテット単位のペイロー ド、すなわち、 IPv6ヘッダーの後に続くパケットの残 りの長さ。もしゼロであるなら、ペイロード長さがオ プションのホップバイホップなジャンボペイロードで 運ばれることを表す。 Next Header 8-bit selector. Identifies the type of header immediately following the IPv6 header. Uses the same values as the IPv4 Protocol field [RFC-1700 et seq.]. 次のヘッダ 8ビットのセレクタ。IPv6ヘッダーの直後に続くヘッ ダーのタイプを識別する。 同じ値をIPv4プロトコル フィールドとして用いる。[RFC-1700.html等]。 Hop Limit 8-bit unsigned integer. Decremented by 1 by each node that forwards the packet. The packet is discarded if Hop Limit is decremented to zero. ホップ限界 8ビットの符号なし整数。 パケットを転送するノードで 1づつ減算される。パケットは、もしホップ限界がゼロに なると捨てられる。 Source Address 128-bit address of the originator of the packet. See [RFC-1884]. 発信元アドレス パケットの発信者の128 - ビットアドレス。 [RFC-1884]参照。 Destination Address 128-bit address of the intended recipient of the packet (possibly not the ultimate recipient, if a Routing header is present). See [RFC-1884] and section 4.4. 宛先アドレス パケットの意図された受信者(ルーティングヘッダーがあ るなら最後の受信者でなくてもよい)の128ビットアドレ ス。[RFC-1884]とセクション4.4を参照。 4. IPv6 Extension Headers IPv6 拡張ヘッダー In IPv6, optional internet-layer information is encoded in separate headers that may be placed between the IPv6 header and the upper- layer header in a packet. There are a small number of such extension headers, each identified by a distinct Next Header value. As illustrated in these examples, an IPv6 packet may carry zero, one, or more extension headers, each identified by the Next Header field of the preceding header: IPv6で、オプションの別のヘッダーとしてインターネット-レイヤ情報が、 IPv6ヘッダーと上位層ヘッダーの間に置かれるかもしれない。いくつかの拡 張ヘッダーがあり、それぞれ異なった ネクストヘッダー値によって識別され る。 図示するように、IPv6パケットはゼロ、1、あるいはもっと多くの拡張 ヘッダーを持つかもしれなく、それぞれが前のヘッダのネクストヘッダー値に よって識別される: +---------------+------------------------ | IPv6 header | TCP header + data | | | Next Header = | | TCP | +---------------+------------------------ +---------------+----------------+------------------------ | IPv6 header | Routing header | TCP header + data | | | | Next Header = | Next Header = | | Routing | TCP | +---------------+----------------+------------------------ +---------------+----------------+-----------------+----------------- | IPv6 header | Routing header | Fragment header | fragment of TCP | | | | header + data | Next Header = | Next Header = | Next Header = | | Routing | Fragment | TCP | +---------------+----------------+-----------------+----------------- With one exception, extension headers are not examined or processed by any node along a packet's delivery path, until the packet reaches the node (or each of the set of nodes, in the case of multicast) identified in the Destination Address field of the IPv6 header. There, normal demultiplexing on the Next Header field of the IPv6 header invokes the module to process the first extension header, or the upper-layer header if no extension header is present. The contents and semantics of each extension header determine whether or not to proceed to the next header. Therefore, extension headers must be processed strictly in the order they appear in the packet; a receiver must not, for example, scan through a packet looking for a particular kind of extension header and process that header prior to processing all preceding ones. 1つの例外で、IPv6 ヘッダーの着信アドレスフィールドで識別したノード (あるいは、マルチキャストのケースでの、ノードのセット)に到着するまで、 拡張ヘッダがパケットの配送パス上のどんなノードも調べられない、あるいは 処理されない。そこで、IPv6ヘッダーのネクストヘッダフィールドの上の通常 の多重分離が最初の拡張ヘッダー、あるいは、もし拡張ヘッダが存在していな いなら、上位層ヘッダーを処理するためにモジュールを呼び出す。それぞれの 拡張ヘッダの中身と意味は次のヘッダーに進むべきかどうか決定する。それ故 に、拡張ヘッダが厳密にそれらがパケットに現われる順序で処理されなくては ならない;受信器が特定な1種類の拡張ヘッダを探して、例えば、パケットの 中を走査して、そして前のものより優先してそのヘッダーを処理してはならない。 The exception referred to in the preceding paragraph is the Hop-by- Hop Options header, which carries information that must be examined and processed by every node along a packet's delivery path, including the source and destination nodes. The Hop-by-Hop Options header, when present, must immediately follow the IPv6 header. Its presence is indicated by the value zero in the Next Header field of the IPv6 header. 前の段落で言及された例外はホップバイホップなオプションヘッダーである、 そしてそれはパケットの配送パスに沿って、発信と着信ノードを含めてすべて のノードによって調べられて、そして処理されなくてはならない情報を運ぶ。 ホップバイホップなオプションヘッダーは、存在している時 IPv6 ヘッダーの すぐ後に続かなくてはならない。その存在は IPv6 ヘッダーのネクストヘッダ フィールドの値がゼロであることで示される。 If, as a result of processing a header, a node is required to proceed to the next header but the Next Header value in the current header is unrecognized by the node, it should discard the packet and send an ICMP Parameter Problem message to the source of the packet, with an ICMP Code value of 2 ("unrecognized Next Header type encountered") and the ICMP Pointer field containing the offset of the unrecognized value within the original packet. The same action should be taken if a node encounters a Next Header value of zero in any header other than an IPv6 header. もし、ヘッダーを処理した結果、ノードが次のヘッダーに進むように要求され、 しかし現在のヘッダーでのネクストヘッダ値がノードによって認められないな ら、パケットを捨てて、そして、パケットの発信者にICMPコード値が2(「認 められないネクストヘッダタイプに遭遇」)で、ICMP ポインタフィールドがオ リジナルのパケットの中で認められない値のオフセットを含んでいる、ICMP パラメータ問題メッセージを送るべきである。もしノードがIPv6ヘッダー以 外のヘッダーでゼロのネクストヘッダ値に遭遇するなら、同じ動作がとられる べきである。 Each extension header is an integer multiple of 8 octets long, in order to retain 8-octet alignment for subsequent headers. Multi- octet fields within each extension header are aligned on their natural boundaries, i.e., fields of width n octets are placed at an integer multiple of n octets from the start of the header, for n = 1, 2, 4, or 8. それぞれの拡張ヘッダは、次のヘッダーの8オクテットの位置合せを維持する ために8オクテット長の整数倍数である。 それぞれの拡張ヘッダの中のマル チオクテットのフィールドがそれらの自然的境界の上に一列に並べられる、 すなわち、n = 1、2、4、あるいは8に対し、幅nオクテットのフィール ドがヘッダー初めからnオクテットの整数倍数の位置におかれる。 A full implementation of IPv6 includes implementation of the following extension headers: IPv6 の完全な実装が次の拡張ヘッダの実装を含む: Hop-by-Hop Options ホップバイホップオプション Routing (Type 0) ルーティング(タイプ0) Fragment フラグメント(分断化) Destination Options 着信オプション Authentication 認証 Encapsulating Security Payload セキュリティペイロードのカプセル The first four are specified in this document; the last two are specified in [RFC-1826] and [RFC-1827], respectively. 最初の4つはこのドキュメントで規定される;後の2つはそれぞれ[RFC-1826] と[RFC-1827]で規定される。 4.1 Extension Header Order 拡張ヘッダ順序 When more than one extension header is used in the same packet, it is recommended that those headers appear in the following order: 1以上の拡張ヘッダが同じパケットで使われる時、それらのヘッダーが次の順 序に現われることは勧められる: IPv6 header Hop-by-Hop Options header Destination Options header (note 1) Routing header Fragment header Authentication header (note 2) Encapsulating Security Payload header (note 2) Destination Options header (note 3) upper-layer header note 1: for options to be processed by the first destination that appears in the IPv6 Destination Address field plus subsequent destinations listed in the Routing header. ノート1:IPv6着信アドレスフィールドに現われる最初の着信者と ルーティングヘッダーで記載された次の着信者によって処 理されるオプションのため。 note 2: additional recommendations regarding the relative order of the Authentication and Encapsulating Security Payload headers are given in [RFC-1827]. ノート2:認証の相対オーダに関してのそして安全ペイロードヘッ ダーのカプセル化の追加の勧告が[RFC-1827]で与えられる。 note 3: for options to be processed only by the final destination of the packet. ノート3:オプションがパケットの最終宛先によってだけ処理され るために。 Each extension header should occur at most once, except for the Destination Options header which should occur at most twice (once before a Routing header and once before the upper-layer header). それぞれの拡張ヘッダは、着信オプションヘッダーが2つ(ルーティングヘッ ダーの前と上位層ヘッダーの前に)ある以外は、1つとすべきである。 If the upper-layer header is another IPv6 header (in the case of IPv6 being tunneled over or encapsulated in IPv6), it may be followed by its own extensions headers, which are separately subject to the same ordering recommendations. もし上位層ヘッダーがもう1つの IPv6 ヘッダーであるなら(トンネル化あ るいはIPv6 のカプセル化の場合)、それはそれ自身の拡張ヘッダーによって 後に続かれるかも知れない、そしてそれは別のある勧告に従う。 If and when other extension headers are defined, their ordering constraints relative to the above listed headers must be specified. 他の拡張ヘッダが定義されるときは、それらが上記のリストアップされたヘッ ダーとの関係での順序を規定されなくてはならない。 IPv6 nodes must accept and attempt to process extension headers in any order and occurring any number of times in the same packet, except for the Hop-by-Hop Options header which is restricted to appear immediately after an IPv6 header only. Nonetheless, it is strongly advised that sources of IPv6 packets adhere to the above recommended order until and unless subsequent specifications revise that recommendation. IPv6 ノードが同じパケットで、 IPv6 ヘッダーのすぐ後にのみ出現するホップ バイホップオプションヘッダー以外どんな順序や回数の拡張ヘッダも受け入れ 処理を試みなくてはならない。 にもかかわらず、 IPv6 パケットの発信者は 勧告が修正されるまで上記の推奨順序を支持することが強く勧められる。 4.2 Options オプション Two of the currently-defined extension headers -- the Hop-by-Hop Options header and the Destination Options header -- carry a variable number of type-length-value (TLV) encoded "options", of the following format: 現在明記された拡張ヘッダの2つ−− ホップバイホップなオプションヘッダー と着信オプションヘッダー −−が可変個の下記の様なタイプ - 長さ - 値(TLV) でコードされたフォーマットの「オプション」をもつ: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - - | Option Type | Opt Data Len | Option Data +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - - Option Type 8-bit identifier of the type of option. オプションのタイプ オプションのタイプの8ビットの識別子 Opt Data Len 8-bit unsigned integer. Length of the Option Data field of this option, in octets. オプションデータ長 8ビットの符号なし整数。このオプションのオプ ションデータフィールドのオクテット長。 Option Data Variable-length field. Option-Type-specific data. オプションデータ 可変長フィールド。 オプションタイプ特定のデータ。 The sequence of options within a header must be processed strictly in the order they appear in the header; a receiver must not, for example, scan through the header looking for a particular kind of option and process that option prior to processing all preceding ones. ヘッダーの中のオプションの処理の順序はヘッダーでそれらが現れるオーダー で厳密に処理されなくてはならない;受信器が、例えば、特定な1種類のオプ ションを探してヘッダーを通して走査してはならない、そして前のオプション より先にそのオプションを処理してはならない。 The Option Type identifiers are internally encoded such that their highest-order two bits specify the action that must be taken if the processing IPv6 node does not recognize the Option Type: オプションタイプ識別子は、上位2ビットが、もしIPv6 処理ノードがオプ ションタイプを認識できない場合に行う動作を規定するように、内面的にコー ド化される: 00 - skip over this option and continue processing the header. 00 - このオプションを飛ばして、そしてヘッダーを処理し続けなさい。 01 - discard the packet. 01 - パケットを捨てなさい。 10 - discard the packet and, regardless of whether or not the packets's Destination Address was a multicast address, send an ICMP Parameter Problem, Code 2, message to the packet's Source Address, pointing to the unrecognized Option Type. 10 - パケットを捨てて、そして、パケットの宛先アドレスがマルチキャス トアドレスであったかどうかにかかわらず、パケットの発信アドレス へ、コード2、認められないオプションタイプに示して、 ICMP パラ メータ問題メッセージを送信しなさい。 11 - discard the packet and, only if the packet's Destination Address was not a multicast address, send an ICMP Parameter Problem, Code 2, message to the packet's Source Address, pointing to the unrecognized Option Type. 11 - パケットを捨てて、そして、パケットの宛先アドレスがマルチキャス トアドレスではなかった場合に限り、パケットの発信アドレスへ、 コード2、認められないオプションタイプに示して、 ICMP パラメー タ問題メッセージを送信しなさい。 The third-highest-order bit of the Option Type specifies whether or not the Option Data of that option can change en-route to the packet's final destination. When an Authentication header is present in the packet, for any option whose data may change en-route, its entire Option Data field must be treated as zero-valued octets when computing or verifying the packet's authenticating value. オプションタイプの上位から3番目のビットは、そのオプションのオプション データがパケットの最終宛先に行く途中で変化することができるかどうかを指 定する。 認証ヘッダーがパケットに存在している時、パケットの認証のため の計算と検証を行う際は、どのオプションデータも転送の途中で変化するかも わからないので、オプションデータの値を0として取り扱われなくてはならない。 0 - Option Data does not change en-route 0 - オプションデータが途中で変化しない 1 - Option Data may change en-route 1 - オプションデータが途中で変化するかも知れない Individual options may have specific alignment requirements, to ensure that multi-octet values within Option Data fields fall on natural boundaries. The alignment requirement of an option is specified using the notation xn+y, meaning the Option Type must appear at an integer multiple of x octets from the start of the header, plus y octets. For example: 個別のオプションがオプションデータフィールドの中のマルチオクテットの値 が自然的境界になることを保証するために、特定の整列要求を持っているかも 知れない。オプションの整列要求は、オプションタイプがヘッダーの最初から xオクテットの整数倍数プラスyオクテットに現われなくてはならないことを 意味する、記法 xn +yを使って規定される。 例えば: 2n means any 2-octet offset from the start of the header. 8n+2 means any 8-octet offset from the start of the header, plus 2 octets. 2n ヘッダーの初めから2オクテットのオフセットを意味する。 8n+2 ヘッダーの初めから8オクテットのオフセットプラス2オク テットを意味する。 There are two padding options which are used when necessary to align subsequent options and to pad out the containing header to a multiple of 8 octets in length. These padding options must be recognized by all IPv6 implementations: 次のオプションを整列そしてヘッダの長さを8の整数倍オクテットにする必要 がある時、ヘッダーを引き伸ばすために使われる2つのパディングオプション がある。これらのパディングオプションはすべての IPv6 実装で認識されなく てはならない: Pad1 option (alignment requirement: none) パッド1オプション(整列要求:なし) +-+-+-+-+-+-+-+-+ | 0 | +-+-+-+-+-+-+-+-+ NOTE! the format of the Pad1 option is a special case -- it does not have length and value fields. ノート! パッド1オプションのフォーマットは特別である−それは長さ と値のフィールドを持っていない。 The Pad1 option is used to insert one octet of padding into the Options area of a header. If more than one octet of padding is required, the PadN option, described next, should be used, rather than multiple Pad1 options. パッド1オプションは1オクテットのパディングをヘッダーのオプション エリアに挿入するために使われる。もし1オクテット以上のパディングが 必要とされるなら、パッド1オプションより次に記述されるパッドNオプ ション使われるべきである。 PadN option (alignment requirement: none) パッドNオプション(整列要求:なし) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - - | 1 | Opt Data Len | Option Data +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - - The PadN option is used to insert two or more octets of padding into the Options area of a header. For N octets of padding, the Opt Data Len field contains the value N-2, and the Option Data consists of N-2 zero-valued octets. パッドNオプションはヘッダーのオプションエリアに2あるいはそれ 以上の奥たっとのパディングを挿入するために使われる。Nオクテットの パディングのためにパッドNオプションは、 N−2の値を持つ長さフィー ルドと、N−2オクテットのゼロを含む値フィールドから成り立つ。 Appendix A contains formatting guidelines for designing new options. 付録Aに新しいオプションを設計する場合のフォーマット化のガイドライン が示されている。 4.3 Hop-by-Hop Options Header ホップバイホップオプションヘッダー The Hop-by-Hop Options header is used to carry optional information that must be examined by every node along a packet's delivery path. The Hop-by-Hop Options header is identified by a Next Header value of 0 in the IPv6 header, and has the following format: ホップバイホップオプションヘッダーはパケットの送達パス上のすべてのノー ドによって調べられなくてはならない任意の情報を運ぶために使われる。ホッ プバイホップオプションヘッダーは IPv6 ヘッダーで0のネクストヘッダ値に よって識別されて、そして次のフォーマットを持っている: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | . . . Options . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Next Header 8-bit selector. Identifies the type of header immediately following the Hop-by-Hop Options header. Uses the same values as the IPv4 Protocol field [RFC-1700 et seq.]. 次のヘッダ 8ビットのセレクタ。 ホップバイホップオプション ヘッダーのすぐ後に続いているヘッダーのタイプを 識別する。 IPv4 プロトコルフィールドと同じ値を 用いる[RFC-1700等]。 Hdr Ext Len 8-bit unsigned integer. Length of the Hop-by-Hop Options header in 8-octet units, not including the first 8 octets. 拡張ヘッダ長 8ビットの符号なし整数。 最初の8つのオクテット を除く、8オクテットの単位でのホップバイホップ オプションヘッダーの長さ。 Options Variable-length field, of length such that the complete Hop-by-Hop Options header is an integer multiple of 8 octets long. Contains one or more TLV-encoded options, as described in section 4.2. オプション 可変長フィールド、正しいホップバイホップオプション ヘッダーは8オクテットの整数倍数の長さである。セク ション4.2で記述されるように、1つあるいはそれ以上 のTLVでコードされたオプションを含んでいる。 In addition to the Pad1 and PadN options specified in section 4.2, the following hop-by-hop option is defined: パッド1とセクション4.2で規定するパッドNオプションのほかに、次の ホップバイホップオプションが定義される: Jumbo Payload option (alignment requirement: 4n + 2) 特大のペイロードオプション(整列要求: 4n + 2) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 194 |Opt Data Len=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Jumbo Payload Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Jumbo Payload option is used to send IPv6 packets with payloads longer than 65,535 octets. The Jumbo Payload Length is the length of the packet in octets, excluding the IPv6 header but including the Hop-by-Hop Options header; it must be greater than 65,535. If a packet is received with a Jumbo Payload option containing a Jumbo Payload Length less than or equal to 65,535, an ICMP Parameter Problem message, Code 0, should be sent to the packet's source, pointing to the high-order octet of the invalid Jumbo Payload Length field. 特大のペイロードオプションは65,535のオクテットより長いペイロー ドをIPv6パケットで送るために使われる。特大のペイロード長はIPv6 ヘッダーを除きホップバイホップオプションヘッダーを含むパケットの オクテット長である;それは65,535より大きいに違いない。特大の ペイロード長さが65535と等しいか少ない特大のペイロードオプショ ンを含むパケットを受信した場合、 パケットの発信者に、コード0、無 効な特大のペイロード長フィールドの上位オクテットを指す、ICMPパラ メータ問題メッセージが送られるべきである。 The Payload Length field in the IPv6 header must be set to zero in every packet that carries the Jumbo Payload option. If a packet is received with a valid Jumbo Payload option present and a non-zero IPv6 Payload Length field, an ICMP Parameter Problem message, Code 0, should be sent to the packet's source, pointing to the Option Type field of the Jumbo Payload option. IPv6 ヘッダーでのペイロード長フィールドは特大のペイロードオプショ ンを運ぶすべてのパケットでゼロにセットされなくてはならない。もし パケットが有効な特大のペイロードオプションと非ゼロ IPv6 ペイロー ド長フィールドを受け取った場合、パケットの発信者に、コード0、 特大のペイロードオプションのオプションタイプフィールドを示した ICMPパラメータ問題メッセージが送られるべきである。 The Jumbo Payload option must not be used in a packet that carries a Fragment header. If a Fragment header is encountered in a packet that contains a valid Jumbo Payload option, an ICMP Parameter Problem message, Code 0, should be sent to the packet's source, pointing to the first octet of the Fragment header. ジャンボペイロードオプションはフラグメントヘッダーを載せるパケッ トで使われてはなりません。もしフラグメントヘッダーが効力があるジャ ンボペイロードオプションを含んでいるパケットで遭遇されるなら、ICMP パラメーター問題メッセージ、コード0、が、フラグメントヘッダーの最 初のオクテットを指し示して、パケットのソースに送られるべきです。 An implementation that does not support the Jumbo Payload option cannot have interfaces to links whose link MTU is greater than 65,575 (40 octets of IPv6 header plus 65,535 octets of payload). 特大のペイロードオプションをサポートしない実装が、リンク MTU が 65,575(IPv6 ヘッダーの40のオクテットたすペイロードの 65,535のオクテット)より大きいインタフェースを持つことはで きない。 4.4 Routing Header ルーティングヘッダー The Routing header is used by an IPv6 source to list one or more intermediate nodes to be "visited" on the way to a packet's destination. This function is very similar to IPv4's Source Route options. The Routing header is identified by a Next Header value of 43 in the immediately preceding header, and has the following format: ルーティングヘッダーはパケットの着信に途中で「訪問される」1つあるいは それ以上の中間ノードをリストアップするためにIPv6発信者によって使われ る。この機能はIPv4の発信径路オプションに非常に類似している。ルーティ ングヘッダーはすぐに前のヘッダーで43のネクストヘッダ値によって識別 されて、そして次のフォーマットを持っている: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type | Segments Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . type-specific data . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Next Header 8-bit selector. Identifies the type of header immediately following the Routing header. Uses the same values as the IPv4 Protocol field [RFC-1700 et seq.]. 次のヘッダ 8ビットのセレクタ。ルーチングヘッダーのすぐ後に 続いているヘッダーのタイプを識別する。 IPv4プロ トコルフィールドと同じ値を用いる[RFC-1700等]。 Hdr Ext Len 8-bit unsigned integer. Length of the Routing header in 8-octet units, not including the first 8 octets. 拡張ヘッダ長 8ビットの符号なし整数。 最初の8つのオクテットを 除く、8オクテットの単位でのルーチングションヘッ ダーの長さ。. Routing Type 8-bit identifier of a particular Routing header variant. ルーチングタイプ ルーティングヘッダーを特定する8ビットの識別子。 Segments Left 8-bit unsigned integer. Number of route segments remaining, i.e., number of explicitly listed intermediate nodes still to be visited before reaching the final destination. 残りのセグメント 8ビットの符号なし整数。 残っている径路部分の数、 すなわち、最終宛先に着く前に訪問される明示的にリ ストアップされた中間ノードの数。 type-specific data Variable-length field, of format determined by the Routing Type, and of length such that the complete Routing header is an integer multiple of 8 octets long. 種別固有データ 可変長フィールド、ルーティングタイプによって決 定されたフォーマットで、ルーティングヘッダーが 8オクテットの整数倍数長であるような長さである。 If, while processing a received packet, a node encounters a Routing header with an unrecognized Routing Type value, the required behavior of the node depends on the value of the Segments Left field, as follows: 受け取ったパケットを処理する間に、ノードが認められないルーティングタ イプ値を含むルーティングヘッダーに出会った場合のノードに要求される動 作は、次のようにSegments Leftフィールドの値に頼る: If Segments Left is zero, the node must ignore the Routing header and proceed to process the next header in the packet, whose type is identified by the Next Header field in the Routing header. もしSegments Leftフィールドがゼロであるなら、ノードはルーティング ヘッダーを無視して、ルーティングヘッダーのネクストヘッダフィールド によって識別される次のヘッダーを処理することを続行しなくてはならない。 If Segments Left is non-zero, the node must discard the packet and send an ICMP Parameter Problem, Code 0, message to the packet's Source Address, pointing to the unrecognized Routing Type. もしSegments Leftフィールドが非ゼロであるなら、ノードはパケットを 捨てて、パケットの発信者に、コード0、認められないルーティングタイプ を指す、ICMP パラメータ問題メッセージが送られなくてはならない。 The Type 0 Routing header has the following format: タイプ0ルーティングヘッダーは次のフォーマットを持っている: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type=0| Segments Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Strict/Loose Bit Map | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Address[1] + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Address[2] + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . . . . . . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Address[n] + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Next Header 8-bit selector. Identifies the type of header immediately following the Routing header. Uses the same values as the IPv4 Protocol field [RFC-1700 et seq.]. 次のヘッダ 8ビットのセレクタ。ルーチングヘッダーのすぐ後に 続いているヘッダーのタイプを識別する。 IPv4プロ トコルフィールドと同じ値を用いる[RFC-1700等]。 Hdr Ext Len 8-bit unsigned integer. Length of the Routing header in 8-octet units, not including the first 8 octets. For the Type 0 Routing header, Hdr Ext Len is equal to two times the number of addresses in the header, and must be an even number less than or equal to 46. 拡張ヘッダ長 8ビットの符号なし整数。 最初の8つのオクテットを 除く、8オクテットの単位でのルーチングヘッダーの 長さ。タイプ0ルーティングヘッダでは拡張ヘッダ長は ヘッダ内のアドレスの数の2倍になり、偶数で46以下 である。 Routing Type 0. ルーチング種別 0. Segments Left 8-bit unsigned integer. Number of route segments remaining, i.e., number of explicitly listed intermediate nodes still to be visited before reaching the final destination. Maximum legal value = 23. 残りのセグメント 8ビットの符号なし整数。 残っている径路部分の数、 すなわち、最終宛先に着く前に訪問される明示的にリ ストアップされた中間ノードの数。最大値は23。 Reserved 8-bit reserved field. Initialized to zero for transmission; ignored on reception. 予約 8ビットの予約フィールド。送信時はゼロに初期化さ れ;受信時は無視する。 Strict/Loose Bit Map 24-bit bit-map, numbered 0 to 23, left-to-right. Indicates, for each segment of the route, whether or not the next destination address must be a neighbor of the preceding address: 1 means strict (must be a neighbor), 0 means loose (need not be a neighbor). 厳密/緩ビットマップ 左から右へ0から23で番号を付けられた24ビットの ビットマップ。ルートのそれぞれの部分の次の宛先アド レスが前のアドレスの隣人であるか否かを示す: 1は厳 密を意味する(隣人でなければならない)、0は緩を意味す る(隣人でなくてもよい)。 Address[1..n] Vector of 128-bit addresses, numbered 1 to n. アドレス 1からnに番号付けられた128 - ビットアドレスのベ クトル。 Multicast addresses must not appear in a Routing header of Type 0, or in the IPv6 Destination Address field of a packet carrying a Routing header of Type 0. マルチキャストアドレスがタイプ0のルーティングヘッダー、あるいはタイプ0 のルーティングヘッダーを載せているパケットの IPv6 着信アドレスフィールド に現われてはならない。 If bit number 0 of the Strict/Loose Bit Map has value 1, the Destination Address field of the IPv6 header in the original packet must identify a neighbor of the originating node. If bit number 0 has value 0, the originator may use any legal, non-multicast address as the initial Destination Address. もし Strict/Loose Bit Map の第0ビットが1なら、最初のパケットの中の IPv6 ヘッダーの着信アドレスフィールドは出発点のノードの隣人を示さなく てはならない。もし第0ビットが0なら、発信者はどんな正当な、非マルチ キャストのアドレスでも最初の宛先アドレスとして用いてもよい。 Bits numbered greater than n, where n is the number of addresses in the Routing header, must be set to 0 by the originator and ignored by receivers. nをルーティングヘッダーのアドレスの数としたとき、 nよりより大きい番 号を付けられたビットが発信者によって0にセットされて、そして受信者によっ て無視されなくてはならない。 A Routing header is not examined or processed until it reaches the node identified in the Destination Address field of the IPv6 header. In that node, dispatching on the Next Header field of the immediately preceding header causes the Routing header module to be invoked, which, in the case of Routing Type 0, performs the following algorithm: ルーティングヘッダーはIPv6 ヘッダーの着信アドレスフィールドで識別さる ノードに達するまで調べられず処理されない。そのノードで、ネクストヘッダ の直前のヘッダーのフィールドを処理することは、タイプ0の経路を決める場 合は、次のアルゴリズムを実行するルーティングヘッダーモジュールを呼び出 すことになる: if Segments Left = 0 { proceed to process the next header in the packet, whose type is identified by the Next Header field in the Routing header そのタイプがルーティングヘッダーでのネクストヘッダフィールドで 見分けられるパケットの中の次のヘッダーを処理することを次に行う } else if Hdr Ext Len is odd or greater than 46 { Hdr Ext Len が奇数か 46 より大きければ send an ICMP Parameter Problem, Code 0, message to the Source Address, pointing to the Hdr Ext Len field, and discard the packet Hdr Ext Lenフィールドを示して、 ICMP パラメータ問題、コード0、 メッセージを発信アドレスに送って、そしてパケットを捨てなさい } else { compute n, the number of addresses in the Routing header, by dividing Hdr Ext Len by 2 Hdr Ext Lenを2で割ることによってn、ルーティングヘッダーでのア ドレスの数、を計算しなさい if Segments Left is greater than n { Segments Left が n より大きければ send an ICMP Parameter Problem, Code 0, message to the Source Address, pointing to the Segments Left field, and discard the packet Segments Leftフィールドを示して、ICMPパラメータ問題、コード0、 メッセージを発信アドレスに送って、そしてパケットを捨てなさい } else { decrement Segments Left by 1; Segments Left から1を引きなさい; compute i, the index of the next address to be visited in the address vector, by subtracting Segments Left from n nから Segments Left を引くことによってi、アドレスベクトルで 訪れられる次のアドレスのインデックス、を計算しなさい if Address [i] or the IPv6 Destination Address is multicast { Address [i]あるいは IPv6 着アドレスがマルチキャストであるなら discard the packet パケットを捨てなさい } else { swap the IPv6 Destination Address and Address[i] IPv6 宛先アドレスとAddress [i]を交換しなさい if bit i of the Strict/Loose Bit map has value 1 and the new Destination Address is not the address of a neighbor of this node { Strict/Looseビットマップのビットiが1であり、新しい 宛先アドレスはこのノードの隣人のアドレスではないなら send an ICMP Destination Unreachable -- Not a Neighbor message to the Source Address and discard the packet 到達不可能な ICMP 着信 − Neighbor メッセージではなく − を発アドレスに送って、そしてパケットを捨てなさい } else if the IPv6 Hop Limit is less than or equal to 1 { IPv6 Hop Limit が1以下なら send an ICMP Time Exceeded -- Hop Limit Exceeded in Transit message to the Source Address and discard the packet 発アドレスにICMP時間超過 − 転送中にホップ限界を越えたメ ッセージを送って、そしてパケットを捨てなさい else { decrement the Hop Limit by 1 Hop Limitから1を引きなさい resubmit the packet to the IPv6 module for transmission to the new destination 新しい宛先に送信のために IPv6 モジュールにパケットを提出 しなさい } } } } As an example of the effects of the above algorithm, consider the case of a source node S sending a packet to destination node D, using a Routing header to cause the packet to be routed via intermediate nodes I1, I2, and I3. The values of the relevant IPv6 header and Routing header fields on each segment of the delivery path would be as follows: 上記のアルゴリズムの効果の例として、発信ノードSがパケットを着信ノード Dに送り、中間ノード I1 、 I2 と I3 にを経由するためにルーティングヘッ ダーを使っている事例考えなさい。 それぞれの送達パスの部分での適切なIPv6 ヘッダとルーチングヘッダフィールドの値は次の通りであるだろう: As the packet travels from S to I1: パケットがSからI1まで進むとき: Source Address = S Hdr Ext Len = 6 Destination Address = I1 Segments Left = 3 Address[1] = I2 (if bit 0 of the Bit Map is 1, Address[2] = I3 S and I1 must be neighbors; Address[3] = D this is checked by S) (もしビットマップのビット0が1 であるなら、Sと I1 は隣人であ るに違いない、これはSによって チェックされる) As the packet travels from I1 to I2: パケットがI1からI2まで進むとき: Source Address = S Hdr Ext Len = 6 Destination Address = I2 Segments Left = 2 Address[1] = I1 (if bit 1 of the Bit Map is 1, Address[2] = I3 I1 and I2 must be neighbors; Address[3] = D this is checked by I1) (もしビットマップのビット1が1 であるなら、I1と I2 は隣人であ るに違いない、これはI1によって チェックされる) As the packet travels from I2 to I3: パケットがI2からI3まで進むとき: Source Address = S Hdr Ext Len = 6 Destination Address = I3 Segments Left = 1 Address[1] = I1 (if bit 2 of the Bit Map is 1, Address[2] = I2 I2 and I3 must be neighbors; Address[3] = D this is checked by I2) (もしビットマップのビット2が1 であるなら、I2と I3 は隣人であ るに違いない、これはI2によって チェックされる) As the packet travels from I3 to D: パケットがI3からDまで進むとき: Source Address = S Hdr Ext Len = 6 Destination Address = D Segments Left = 0 Address[1] = I1 (if bit 3 of the Bit Map is 1, Address[2] = I2 I3 and D must be neighbors; Address[3] = I3 this is checked by I3) (もしビットマップのビット3が1 であるなら、I3と D は隣人であ るに違いない、これはI3によって チェックされる) 4.5 Fragment Header フラグメントヘッダ The Fragment header is used by an IPv6 source to send packets larger than would fit in the path MTU to their destinations. (Note: unlike IPv4, fragmentation in IPv6 is performed only by source nodes, not by routers along a packet's delivery path -- see section 5.) The Fragment header is identified by a Next Header value of 44 in the immediately preceding header, and has the following format: フラグメントヘッダはパス MTU には大きいパケットを宛先に送るためにIPv6 発信者によって使われる。 (ノート: IPv4 と異なり、 IPv6 でのフラグメ ンテーションがパケットの送達パスにあるルーターによってではなく、発信ノー ドによってだけ行われる − セクション5参照) フラグメントヘッダはすぐに 前のヘッダーの44のネクストヘッダ値によって識別されて、そして次のフォー マットを持っている: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Reserved | Fragment Offset |Res|M| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Next Header 8-bit selector. Identifies the initial header type of the Fragmentable Part of the original packet (defined below). Uses the same values as the IPv4 Protocol field [RFC-1700 et seq.]. 次のヘッダ ビットのセレクタ。(下に明記される)最初のパケッ トの分割可能な部分の最初のヘッダータイプを識別 する。 同じ値を IPv4 プロトコルフィールドとして 用いる[RFC-1700等]。 Reserved 8-bit reserved field. Initialized to zero for transmission; ignored on reception. 予約 8ビットの予約フィールド。 送信時にゼロに初期化 され、受信時は無視される Fragment Offset 13-bit unsigned integer. The offset, in 8-octet units, of the data following this header, relative to the start of the Fragmentable Part of the original packet. 分割オフセット オリジナルのパケットの分割可能な部分のスタートと 比較してのこのヘッダーの後に続いている、8オクテッ トの単位の、データのオフセット。 Res 2-bit reserved field. Initialized to zero for transmission; ignored on reception. 予約 2ビットの予約フィールド。 送信時にゼロに初期化 され、受信時は無視される M flag 1 = more fragments; 0 = last fragment. Mフラグ 1 = 途中のフラグメント;0 = 最後のフラグメント。 Identification 32 bits. See description below. 識別子 32ビット。 下記参照。 In order to send a packet that is too large to fit in the MTU of the path to its destination, a source node may divide the packet into fragments and send each fragment as a separate packet, to be reassembled at the receiver. その着信に通路の MTU にフィットするにはあまりにも大きいパケットを送る ために、発信ノードが別のパケットとして、受信器において組み立てられるた めにパケットを破片に分けて、そしてそれぞれの破片を送るかも知れない。 For every packet that is to be fragmented, the source node generates an Identification value. The Identification must be different than that of any other fragmented packet sent recently* with the same Source Address and Destination Address. If a Routing header is present, the Destination Address of concern is that of the final destination. 断片的であるはずであるすべてのパケットのために、発信ノードは識別値を生 成する。 識別は同じ発アドレスと宛先アドレスで他のいかなる最近送られた 断片的なパケットのそれとでも異なっているに違いない。 もしルーティング ヘッダーが存在しているなら、宛先アドレスとは最終宛先のである。 * "recently" means within the maximum likely lifetime of a packet, including transit time from source to destination and time spent awaiting reassembly with other fragments of the same packet. However, it is not required that a source node know the maximum packet lifetime. Rather, it is assumed that the requirement can be met by maintaining the Identification value as a simple, 32- bit, "wrap-around" counter, incremented each time a packet must be fragmented. It is an implementation choice whether to maintain a single counter for the node or multiple counters, e.g., one for each of the node's possible source addresses, or one for each active (source address, destination address) combination. * 「最近」とは、発信から着信までの転送時間やパケットの他の破片を待 ち受けて組み立てるに費やした時間を含めて、パケットの生存期間の最 大値を意味する。しかしながら、発信ノードが最大パケット生存期間を 知っていることは要求されない。 どちらかと言うと、要件は、断片的パ ケットがあるたびに増加しする簡単な32ビットの「巡回式の」カウンター で識別値を作ることで満すことができると思われる。ノードがひとつの カウンターを使うか複数のカウンター、例えばノードの持っている発ア ドレス毎や、アドレスの組合せ(ソースアドレス、宛先アドレス)毎、 を使うかは実装上の選択である。 The initial, large, unfragmented packet is referred to as the "original packet", and it is considered to consist of two parts, as illustrated: 最初の、大きい、 分割していないパケットは「オリジナルのパケット」とし て参照される、そしてそれは、例証されるように、2つのパーツから成り立つ と考えられる: original packet: オリジナルのパケット: +------------------+----------------------//-----------------------+ | Unfragmentable | Fragmentable | | Part | Part | +------------------+----------------------//-----------------------+ The Unfragmentable Part consists of the IPv6 header plus any extension headers that must be processed by nodes en route to the destination, that is, all headers up to and including the Routing header if present, else the Hop-by-Hop Options header if present, else no extension headers. 分割不能部は IPv6 ヘッダーそして着信への途中で、ノードによって処理 されなくてはならない拡張ヘッダーをふくむ。つまり、もし存在している ならルーティングヘッダーが、でなければホップバイホップオプションヘッ ダーが、でなければ拡張ヘッダなしである。 The Fragmentable Part consists of the rest of the packet, that is, any extension headers that need be processed only by the final destination node(s), plus the upper-layer header and data. 分割可能部はパケットの残りから成り立つ。すなわち、最終宛先ノードに よってだけ処理される必要がある拡張ヘッダ、そして上位層ヘッダーとデー タがある。 The Fragmentable Part of the original packet is divided into fragments, each, except possibly the last ("rightmost") one, being an integer multiple of 8 octets long. The fragments are transmitted in separate "fragment packets" as illustrated: オリジナルのパケットの分割可能部は、できる限り最後(最右)の1片以外8 オクテットの整数倍長に分けられる。 フラグメントは、例証されるように、個々 の「フラグメントパケット」で伝達される: original packet: オリジナルのパケット: +------------------+--------------+--------------+--//--+----------+ | Unfragmentable | first | second | | last | | Part | fragment | fragment | .... | fragment | +------------------+--------------+--------------+--//--+----------+ fragment packets: フラグメントパケット: +------------------+--------+--------------+ | Unfragmentable |Fragment| first | | Part | Header | fragment | +------------------+--------+--------------+ +------------------+--------+--------------+ | Unfragmentable |Fragment| second | | Part | Header | fragment | +------------------+--------+--------------+ o o o +------------------+--------+----------+ | Unfragmentable |Fragment| last | | Part | Header | fragment | +------------------+--------+----------+ Each fragment packet is composed of: パケットが構成されているそれぞれのフラグメント: (1) The Unfragmentable Part of the original packet, with the Payload Length of the original IPv6 header changed to contain the length of this fragment packet only (excluding the length of the IPv6 header itself), and the Next Header field of the last header of the Unfragmentable Part changed to 44. (1) オリジナルのパケットの分割不能部は、オリジナルの IPv6 ヘッダー のペイロード長が( IPv6 ヘッダーそれ自身の長を除いて)このフラ グメントパケットの長さをに変えられるそして分割不能部の最後のヘッ ダーのネクストヘッダフィールドが44に変えられる。 (2) A Fragment header containing: (2) A フラグメントヘッダは含む: The Next Header value that identifies the first header of the Fragmentable Part of the original packet. オリジナルパケットの分割可能部の最初のヘッダーを識別するネ クストヘッダ値。 A Fragment Offset containing the offset of the fragment, in 8-octet units, relative to the start of the Fragmentable Part of the original packet. The Fragment Offset of the first ("leftmost") fragment is 0. オリジナルパケットの分割可能部のスタートと比較して、8オク テットの単位での、フラグメントのオフセット。 最初(「最左 」) のフラグメントオフセットは0である。 An M flag value of 0 if the fragment is the last ("rightmost") one, else an M flag value of 1. もしフラグメントが最後(「最右」)なら M flag は1であり、そう でなければ0である。 The Identification value generated for the original packet. オリジナルパケットのために生成された識別値。 (3) The fragment itself. (3) フラグメントそれ自身。 The lengths of the fragments must be chosen such that the resulting fragment packets fit within the MTU of the path to the packets' destination(s). At the destination, fragment packets are reassembled into their original, unfragmented form, as illustrated: 結果として生じているフラグメントパケットの長さは、パケットの着信先 までのパスMTU に合わせて選ばれなくてはならない。 例証されるように、着信者はフラグメントパケットを組立て、オリジナル の分割していない形式に組み立てる: reassembled original packet: 組み立てられたオリジナルのパケット: +------------------+----------------------//------------------------+ | Unfragmentable | Fragmentable | | Part | Part | +------------------+----------------------//------------------------+ The following rules govern reassembly: 次の規則は組み立てを決定する: An original packet is reassembled only from fragment packets that have the same Source Address, Destination Address, and Fragment Identification. オリジナルのパケットが同じ発アドレス、宛先アドレス、そしてフラグメ ント識別子を有するフラグメントパケットからだけ組み立てられる。 The Unfragmentable Part of the reassembled packet consists of all headers up to, but not including, the Fragment header of the first fragment packet (that is, the packet whose Fragment Offset is zero), with the following two changes: 組み立てられたパケットの分割不能部は、最初のフラグメントパケット(す なわち、そのフラグメントオフセットがゼロであるパケット)のフラグメン トヘッダを除いて、次の2つの変更を行い、全てのヘッダを含む。: The Next Header field of the last header of the Unfragmentable Part is obtained from the Next Header field of the first fragment's Fragment header. 分割不能部の最後のヘッダーのネクストヘッダフィールドは最初のフラ グメントのフラグメントヘッダのネクストヘッダフィールドから得られる。 The Payload Length of the reassembled packet is computed from the length of the Unfragmentable Part and the length and offset of the last fragment. For example, a formula for computing the Payload Length of the reassembled original packet is: 組み立てられたパケットのペイロード長は分割不能部の長さと最後のフ ラグメントの長さとオフセットから計算される。 例えば、組み立てられ たオリジナルのパケットのペイロード長を計算するための公式が以下である: PL.orig = PL.first - FL.first - 8 + (8 * FO.last) + FL.last where PL.orig = Payload Length field of reassembled packet. 組み立てられたパケットのペイロード長フィールド。 PL.first = Payload Length field of first fragment packet. 最初のフラグメントパケットのペイロード長フィールド。 FL.first = length of fragment following Fragment header of first fragment packet. 最初のフラグメントパケットのフラグメントヘッダの後 に続くフラグメントの長さ。 FO.last = Fragment Offset field of Fragment header of last fragment packet. 最後のフラグメントパケットのフラグメントヘッダのフ ラグメントオフセットフィールド。 FL.last = length of fragment following Fragment header of last fragment packet. 最後のフラグメントパケットのフラグメントヘッダの後に 続くフラグメントの長さ。 The Fragmentable Part of the reassembled packet is constructed from the fragments following the Fragment headers in each of the fragment packets. The length of each fragment is computed by subtracting from the packet's Payload Length the length of the headers between the IPv6 header and fragment itself; its relative position in Fragmentable Part is computed from its Fragment Offset value. 組み立てられたパケットの分割可能部はフラグメントパケットのそれぞれ でフラグメントヘッダの後に続いているフラグメントから作られる。それ ぞれのフラグメントの長さはそれ自身のパケットのペイロード長からIPv6 ヘッダーとフラグメント間のヘッダーの長さを引くことによって計算され る;その、分割可能部での相対位置はそのフラグメントオフセット値から 計算される。 The Fragment header is not present in the final, reassembled packet. フラグメントヘッダは最終的に組み立てられたパケットで存在していない。 The following error conditions may arise when reassembling fragmented packets: 次のエラー条件は、フラグメントパケットを組み立てる時、起こるかも知れない: If insufficient fragments are received to complete reassembly of a packet within 60 seconds of the reception of the first-arriving fragment of that packet, reassembly of that packet must be abandoned and all the fragments that have been received for that packet must be discarded. If the first fragment (i.e., the one with a Fragment Offset of zero) has been received, an ICMP Time Exceeded -- Fragment Reassembly Time Exceeded message should be sent to the source of that fragment. もし最初に 到着しているフラグメントから60秒以内に、パケットの完全な 組立に十分なフラグメントが到着しないならば、そのパケットの組み立ては 放棄されなくてはならない、そしてそのパケットのために受け取られたすべ てのフラグメントが捨てられなくてはならない。 もし最初のフラグメント (すなわち、フラグメントオフセットがゼロのもの)が受信されていたら、 フラグメントの発信者にICMP時間超過−フラグメント組立時間超過メッセー ジが送られるべきである。 If the length of a fragment, as derived from the fragment packet's Payload Length field, is not a multiple of 8 octets and the M flag of that fragment is 1, then that fragment must be discarded and an ICMP Parameter Problem, Code 0, message should be sent to the source of the fragment, pointing to the Payload Length field of the fragment packet. もしフラグメントパケットのペイロード長フィールドから得られるフラグメ ントの長さが8オクテットの倍数ではなく、そしてそのフラグメントのM flag が1であるならば、そのフラグメントは捨てられなくてはならない。そして フラグメントパケットのペイロード長フィールドを示した、 ICMP パラメータ 問題、コード0、メッセージが、フラグメントの発信者に送られるべきである。 If the length and offset of a fragment are such that the Payload Length of the packet reassembled from that fragment would exceed 65,535 octets, then that fragment must be discarded and an ICMP Parameter Problem, Code 0, message should be sent to the source of the fragment, pointing to the Fragment Offset field of the fragment packet. もしフラグメントの長さとオフセット、つまりフラグメントから組み立 てたペイロードの長さが65,535のオクテットを超えるならば、その フラグメントは捨てられなくてはならない、そしてフラグメントパケット のフラグメントオフセットフィールド示した、ICMPパラメータ問題、コー ド0、メッセージがフラグメントの発信に送られるべきである。 The following conditions are not expected to occur, but are not considered errors if they do: 次の条件は起こることを期待されない、しかし、もしそれらが起きても エラーであると思われない: The number and content of the headers preceding the Fragment header of different fragments of the same original packet may differ. Whatever headers are present, preceding the Fragment header in each fragment packet, are processed when the packets arrive, prior to queueing the fragments for reassembly. Only those headers in the Offset zero fragment packet are retained in the reassembled packet. 数と同じオリジナルのパケットから作られた異なったフラグメントの フラグメントヘッダの前のヘッダの数と内容は異なるかも知れない。 それぞれのフラグメントパケットのフラグメントヘッダより先にある どんなヘッダーでも、フラグメントの組み立てのために待ち行列に入 れるの前に、パケットが到着する時処理される。オフセットがゼロの フラグメントパケットの中のヘッダーだけがパケットの組立のために 保持される。 The Next Header values in the Fragment headers of different fragments of the same original packet may differ. Only the value from the Offset zero fragment packet is used for reassembly. 同じオリジナルパケットから作った異なったフラグメントのフラグメ ントヘッダのネクストヘッダ値は異なるかも知れない。オフセットが ゼロのフラグメントパケットの値だけが組み立てのために使われる。 4.6 Destination Options Header 着信オプションヘッダー The Destination Options header is used to carry optional information that need be examined only by a packet's destination node(s). The Destination Options header is identified by a Next Header value of 60 in the immediately preceding header, and has the following format: ヘッダーが使われる着信オプションはパケットの着信ノードによってだけ 調べられる必要がある任意の情報を運ぶ。 着信オプションヘッダーはすぐ に前のヘッダーで60のネクストヘッダ値によって識別されて、そして次の フォーマットを持っている: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | . . . Options . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Next Header 8-bit selector. Identifies the type of header immediately following the Destination Options header. Uses the same values as the IPv4 Protocol field [RFC-1700 et seq.]. 次のヘッダ ビットのセレクタ。 すぐに着信オプションヘッダー の後に続いているヘッダーのタイプを識別する。同じ 値を IPv4 プロトコルフィールドとして用いる [RFC-1700等]。 Hdr Ext Len 8-bit unsigned integer. Length of the Destination Options header in 8-octet units, not including the first 8 octets. 拡張ヘッダ長 8ビットの符号なし整数。 最初の8オクテットを含 めない、8オクテットの単位での着信オプションヘッ ダーの長さ。 Options Variable-length field, of length such that the complete Destination Options header is an integer multiple of 8 octets long. Contains one or more TLV-encoded options, as described in section 4.2. オプション 可変長フィールド、完全な着信オプションヘッダーが 8オクテット長の整数倍数である。セクション4.2で 記述されるように、1つあるいはそれ以上の TLVでコー ドされたオプションを含んでいる。 The only destination options defined in this document are the Pad1 and PadN options specified in section 4.2. 唯一のこのドキュメントで定義された着信オプションはセクション4.2で 規定される Pad1 と PadN オプションである。 Note that there are two possible ways to encode optional destination information in an IPv6 packet: either as an option in the Destination Options header, or as a separate extension header. The Fragment header and the Authentication header are examples of the latter approach. Which approach can be used depends on what action is desired of a destination node that does not understand the optional information: IPv6 パケットに任意の着信情報をコード化する2つの可能な方法があること に注意しなさい:着信オプションヘッダーのオプションとして、あるいは別の 拡張ヘッダとして。 フラグメントヘッダと認証ヘッダーは後のアプローチの 例である。 いずれのアプローチを使うかはオプションの情報を理解しない着 信ノードに要求する動作すべてに依存する: o if the desired action is for the destination node to discard the packet and, only if the packet's Destination Address is not a multicast address, send an ICMP Unrecognized Type message to the packet's Source Address, then the information may be encoded either as a separate header or as an option in the Destination Options header whose Option Type has the value 11 in its highest-order two bits. The choice may depend on such factors as which takes fewer octets, or which yields better alignment or more efficient parsing. o もし着信ノードの望ましい動作はパケットを捨てて、そして、パケット の宛先アドレスがマルチキャストアドレスではない場合に限り、ICMP 認められないタイプメッセージをパケットの発アドレスに送ることであ れば、情報は、別のヘッダーとして、あるいは着信オプションヘッダー の中の最上位2ビットのオプションタイプの値が11のオプションとし てコード化されるであろう。選択をする要素としては、より少ないオク テット、字並びのよさ、文の解析の効率、に依るであろう.。 o if any other action is desired, the information must be encoded as an option in the Destination Options header whose Option Type has the value 00, 01, or 10 in its highest-order two bits, specifying the desired action (see section 4.2). o もし他の動作が望まれるなら、情報は望ましい動作を規定して、着信オ プションヘッダーの中の最上位2ビットのオプションタイプの値を00、 01、あるいは10のオプションとしてコード化しなくてはならない。 (セクション4.2参照) 4.7 No Next Header ネクストヘッダがない The value 59 in the Next Header field of an IPv6 header or any extension header indicates that there is nothing following that header. If the Payload Length field of the IPv6 header indicates the presence of octets past the end of a header whose Next Header field contains 59, those octets must be ignored, and passed on unchanged if the packet is forwarded. ネクストヘッダフィールドの価59はそのヘッダーの後に IPv6 ヘッダーある いは拡張ヘッダーが続いていないことを表す。 もし IPv6 ヘッダーのペイロー ド長フィールドが、ネクストヘッダフィールドが59であるヘッダーの終わりを 過ぎてたオクテットの存在を示すなら、それらのオクテットは無視されて、そし て、もしパケットが転送されるなら、変更せずに伝えられなくてはならない。 5. Packet Size Issues パケットサイズ問題 IPv6 requires that every link in the internet have an MTU of 576 octets or greater. On any link that cannot convey a 576-octet packet in one piece, link-specific fragmentation and reassembly must be provided at a layer below IPv6. IPv6 がすべてのインターネットのリンクで576のオクテット以上のがMTUを 要求する。 576オクテットのパケットを運ぶことができないリンクでは、リ ンク特有の分割と最組立が IPv6 の下のレイヤで行われなければならない。 From each link to which a node is directly attached, the node must be able to accept packets as large as that link's MTU. Links that have a configurable MTU (for example, PPP links [RFC-1661]) must be configured to have an MTU of at least 576 octets; it is recommended that a larger MTU be configured, to accommodate possible encapsulations (i.e., tunneling) without incurring fragmentation. ノードが直接接続しているそれぞれのリンクから、リンクの MTU と同じサイズ パケットを受け入れなければならない。 設定可能な MTU を持っているリンク (例えば、[RFC-1661]のPPP はリンク)は少なくとも576のオクテットの MTU を持つように設定されなくてはならない;カプセル化(すなわち、トンネ リング)を分割をせずに受け入れるために、より大きい MTU を設定することが 勧められる。 It is strongly recommended that IPv6 nodes implement Path MTU Discovery [RFC-1191], in order to discover and take advantage of paths with MTU greater than 576 octets. However, a minimal IPv6 implementation (e.g., in a boot ROM) may simply restrict itself to sending packets no larger than 576 octets, and omit implementation of Path MTU Discovery. IPv6 ノードが、576オクテットより大きい MTU のパスの発見と利用のため にパスMTUディスカバリ [RFC-1191]を実行することは強く推薦されている。 しかしながら、最小の IPv6 実装(例えば、ブートROMで)ではただ576 オクテットより大きいパケットを送らないように自身で制限して、そしてパス MTUディスカバリの実装を除いてもよい。 In order to send a packet larger than a path's MTU, a node may use the IPv6 Fragment header to fragment the packet at the source and have it reassembled at the destination(s). However, the use of such fragmentation is discouraged in any application that is able to adjust its packets to fit the measured path MTU (i.e., down to 576 octets). パス MTU より大きいパケットを送るために、発信ノードにおいてパケットを断 片化し、着信ノードにおいて組み立てられるようにするために IPv6 フラグメン トヘッダを使うかも知れない。 しかしながら、このようなフラグメンテーショ ンは、パケットを通路 MTU に適すように調整可能な(すなわち、576のオク テット以下に)アプリケーションで使用されないかもしれない。 A node must be able to accept a fragmented packet that, after reassembly, is as large as 1500 octets, including the IPv6 header. A node is permitted to accept fragmented packets that reassemble to more than 1500 octets. However, a node must not send fragments that reassemble to a size greater than 1500 octets unless it has explicit knowledge that the destination(s) can reassemble a packet of that size. ノードが、最組立の後にIPv6 ヘッダーを含めて1500のオクテット以上の分 割されたパケットを受け入れなければならない。 ノードが1500以上のオク テットに最組立される分割されたパケットを受け入れてもよい。 しかしながら、 ノードは着信者がその大きさのパケットを組み立てることができるという明示的 な知識を持たないなら、最組立後に1500のオクテットを越えるフラグメント を送ってはならない。 In response to an IPv6 packet that is sent to an IPv4 destination (i.e., a packet that undergoes translation from IPv6 to IPv4), the originating IPv6 node may receive an ICMP Packet Too Big message reporting a Next-Hop MTU less than 576. In that case, the IPv6 node is not required to reduce the size of subsequent packets to less than 576, but must include a Fragment header in those packets so that the IPv6-to-IPv4 translating router can obtain a suitable Identification value to use in resulting IPv4 fragments. Note that this means the payload may have to be reduced to 528 octets (576 minus 40 for the IPv6 header and 8 for the Fragment header), and smaller still if additional extension headers are used. IPv4着信送られるIPv6パケット(すなわち、IPv6からIPv4へ変換をするパ ケット)に応えてに、出発点の IPv6 ノードは次のホップの MTU 576以下と 報告している ICMP大きすぎるパケットメッセージを受け取るかも知れない。 このような場合、 IPv6 ノードは次のパケットの大きさを576以下に下げるよ うに要求されない、しかし、「 IPv4 への IPv6 を」翻訳しているルーターが IPv4 フラグメントを使うために適当な識別値を得ることができるように、それ らのパケットにフラグメントヘッダを含めなくてはならない。 これはペイロー ドが528のオクテット( 576からIPv6 ヘッダーの40とフラグメントヘッ ダの8を引いた値)に、もし追加の拡張ヘッダが使われるならさらに小さいく、 減少することを意味することに注意が必要である。 Note: Path MTU Discovery must be performed even in cases where a host "thinks" a destination is attached to the same link as itself. ノート: パスMTUディスカバリはホストが着信者が自分自身と同じリ ンク上にあると「思う」場合も行われなくてはならない。 Note: Unlike IPv4, it is unnecessary in IPv6 to set a "Don't Fragment" flag in the packet header in order to perform Path MTU Discovery; that is an implicit attribute of every IPv6 packet. Also, those parts of the RFC-1191 procedures that involve use of a table of MTU "plateaus" do not apply to IPv6, because the IPv6 version of the "Datagram Too Big" message always identifies the exact MTU to be used. ノート: IPv4 と異なり、パスMTUディスカバリを行うためパケットヘッ ダで「分解不可」フラグを設定することは IPv6 で不必要である、それは すべての IPv6 パケットの暗黙の特質である。同じく、 MTU 「プラトー」 テーブルの使用をする RFC - 1191手順の部分がIPv6 に当てはまらな い、なぜならIPv6 バージョンの「あまりにも大きいデータグラム」メッセ ージは常に正確な MTU を識別するからである。 6. Flow Labels フローラベル The 24-bit Flow Label field in the IPv6 header may be used by a source to label those packets for which it requests special handling by the IPv6 routers, such as non-default quality of service or "real-time" service. This aspect of IPv6 is, at the time of writing, still experimental and subject to change as the requirements for flow support in the Internet become clearer. Hosts or routers that do not support the functions of the Flow Label field are required to set the field to zero when originating a packet, pass the field on unchanged when forwarding a packet, and ignore the field when receiving a packet. IPv6 ヘッダーでの24ビットのフローラベルフィールドは「リアルタイム」 サービスの非デフォルトの品質のサービスのような、 IPv6 ルーターに特別扱 いを求めるパケットにラベルをはるために発信者によって使われる。このIPv6 の様相は、書いている時点で、インターネットでのフローサポートの要求事項 が明確になるまで、まだ実験的で変化している。 フローラベルフィールドの機 能をサポートしないホストあるいはルータが、パケットを作る時はフィールドを ゼロにセットし、パケットを転送する時はフィールド内容を変更せずに転送し、 パケットを受取時はフィールドを無視するように要求される。 A flow is a sequence of packets sent from a particular source to a particular (unicast or multicast) destination for which the source desires special handling by the intervening routers. The nature of that special handling might be conveyed to the routers by a control protocol, such as a resource reservation protocol, or by information within the flow's packets themselves, e.g., in a hop-by-hop option. The details of such control protocols or options are beyond the scope of this document. フローは、発信が途中のルーターに特別扱いを要求する、特定の発信者から特定 の(ユニキャストあるいはマルチキャスト)着信まで送られるパケットの並びで ある。その特別扱いの性質は資源予約プロトコルのような、管理プロトコルによっ てあるいはフローのパケットの中の情報、例えばホップバイホップオプションで、 ルーターに伝えられるであろう。このような管理プロトコルあるいはオプションの 細部はこのドキュメントの範囲を越えてある。 There may be multiple active flows from a source to a destination, as well as traffic that is not associated with any flow. A flow is uniquely identified by the combination of a source address and a non-zero flow label. Packets that do not belong to a flow carry a flow label of zero. 発信から、フローと結び付けられないトラフィックと同様、着信まで多数の有効 なフローがあるかも知れない。 フローはソースアドレスと非ゼロフローラベルの 結合によってユニークに識別される。 フローに属さないパケットはゼロのフロー ラベルを含んでいる。 A flow label is assigned to a flow by the flow's source node. New flow labels must be chosen (pseudo-)randomly and uniformly from the range 1 to FFFFFF hex. The purpose of the random allocation is to make any set of bits within the Flow Label field suitable for use as a hash key by routers, for looking up the state associated with the flow. フローラベルはフローの発信ノードによってフローに割り当てられる。 新しいフ ローラベルは、1から16進法の FFFFFF の間で一様(疑似 − )ランダムに選ば れなければならない。 ランダムな割付けの目的は、フローラベルフィールドの値 が、ルーターがフローの状態を調べる際のハッシュのキーとして使用するにふさわ しいビットのセットを作ることにある。 All packets belonging to the same flow must be sent with the same source address, destination address, priority, and flow label. If any of those packets includes a Hop-by-Hop Options header, then they all must be originated with the same Hop-by-Hop Options header contents (excluding the Next Header field of the Hop-by-Hop Options header). If any of those packets includes a Routing header, then they all must be originated with the same contents in all extension headers up to and including the Routing header (excluding the Next Header field in the Routing header). The routers or destinations are permitted, but not required, to verify that these conditions are satisfied. If a violation is detected, it should be reported to the source by an ICMP Parameter Problem message, Code 0, pointing to the high-order octet of the Flow Label field (i.e., offset 1 within the IPv6 packet). すべての同じフローに属しているパケットが同じ発アドレス、宛先アドレス、 優先権とフローラベルで送られなくてはならない。 もしいずれかのパケット がホップバイホップオプションヘッダーを含むなら、パケットはすべて(ホッ プバイホップオプションヘッダーのネクストヘッダフィールドを除いて)同じ 内容のホップバイホップオプションヘッダーで作られなければならない。もしい ずれかのパケットがルーティングヘッダーを含むなら、パケットはすべて(ルー ティングヘッダーでネクストヘッダフィールドを除いて)拡張ヘッダを含みルー ティングヘッダまで同じ内容を含まなければならない。 ルーターあるいは着信 者がこれらの条件を満足していることを確かめることは認めらるが要求されない。 もし違反が検出されるなら、それはフローラベルフィールドの最上位オクテット (すなわち、 IPv6 パケットの中のオフセット1)を指さした ICMP パラメータ 問題メッセージ、コード0、によって発信者に報告されるべきである。 Routers are free to "opportunistically" set up flow-handling state for any flow, even when no explicit flow establishment information has been provided to them via a control protocol, a hop-by-hop option, or other means. For example, upon receiving a packet from a particular source with an unknown, non-zero flow label, a router may process its IPv6 header and any necessary extension headers as if the flow label were zero. That processing would include determining the next-hop interface, and possibly other actions, such as updating a hop-by-hop option, advancing the pointer and addresses in a Routing header, or deciding on how to queue the packet based on its Priority field. The router may then choose to "remember" the results of those processing steps and cache that information, using the source address plus the flow label as the cache key. Subsequent packets with the same source address and flow label may then be handled by referring to the cached information rather than examining all those fields that, according to the requirements of the previous paragraph, can be assumed unchanged from the first packet seen in the flow. ルーターが、明示的なフロー設立情報が管理プロトコル、ホップバイホップオプ ション、あるいは他の手段によって供給されなかった時さえ、任意のフローに 「日和見主義の」フローの取り扱いを設定するのは自由である。 例えば、非ゼ ロフローラベルで不明な特別な発信者からパケットを受取ると、ルーターがフロー ラベルがゼロであるかのように、その IPv6 ヘッダーや他の拡張ヘッダーを処理 してもよい。 その処理は次のホップインタフェースの決定やその他の動作、ホッ プバイホップオプションのアップデートや、ルーティングヘッダーでポインタと アドレスを進めることや、優先権フィールドに基づいてどのようにパケットを待ち 行列に入れるべきか決めるような、動作を含むであろう。 ルーターは、発アドレ スとフローラベルをキャッシュのキーとして用いて、それらの処理の結果を「覚 えて」その情報をキャッシュすることに決めてもよい。 そして、 同じ発アドレス とフローラベルを持っている次のパケットは、前の段落の要求事項によればフロー で見られる最初のパケットから変化していないと思うことができるので、フィール ドを調べずキャッシュされた情報を参照することで処理してもよい。 Cached flow-handling state that is set up opportunistically, as discussed in the preceding paragraph, must be discarded no more than 6 seconds after it is established, regardless of whether or not packets of the same flow continue to arrive. If another packet with the same source address and flow label arrives after the cached state has been discarded, the packet undergoes full, normal processing (as if its flow label were zero), which may result in the re-creation of cached flow state for that flow. 前の段落で論じられるように日和見主義的に編出されキャッシュされたフロー処 理状態は、同じフローのパケットが到着し続けるかどうかにかかわらず、確立さ れる6秒以内に捨てられてはならない。 もしもう1つの同じソースアドレスと フローラベルを持っているパケットが、キャッシュされた状態が捨てられた後到 着するなら、(そのフローラベルであるかのようにゼロである)パケットは完全 な標準的な処理が行われる、そのフローのために新にフロー処理状態のキャッシュ が作られるであろう。 The lifetime of flow-handling state that is set up explicitly, for example by a control protocol or a hop-by-hop option, must be specified as part of the specification of the explicit set-up mechanism; it may exceed 6 seconds. 明示的に作られたフロー処理状態の生存期間は、例えば管理プロトコルあるいは ホップバイホップオプションで、セットアップメカニズムの仕様の一部として明 示されなくてはならない、それは6秒を超えるかも知れない。 A source must not re-use a flow label for a new flow within the lifetime of any flow-handling state that might have been established for the prior use of that flow label. Since flow-handling state with a lifetime of 6 seconds may be established opportunistically for any flow, the minimum interval between the last packet of one flow and the first packet of a new flow using the same flow label is 6 seconds. Flow labels used for explicitly set-up flows with longer flow-state lifetimes must remain unused for those longer lifetimes before being re-used for new flows. 発信者は、フローラベルの先の使用により確立されたかも知れないフロー処理状 態の生存期間の内に、新しいフローのためにフローラベルを再利用してはならな い。 6秒のライフタイムを持っているフロー処理状態がどんなフローのために でも日和見主義的に確立されるかも知れないので、同じフローラベルを使ってい るあるフローの最後のパケットと新しいフローの最初のパケットの間の最小間隔 は6秒である。 より長いフロー状態生存期間を持つ明示的に準備されたフロー で使用されたラベルは新しいフローに再利用される前にそのより長い生存期間の 間使われないままでいなくてはならない。 When a node stops and restarts (e.g., as a result of a "crash"), it must be careful not to use a flow label that it might have used for an earlier flow whose lifetime may not have expired yet. This may be accomplished by recording flow label usage on stable storage so that it can be remembered across crashes, or by refraining from using any flow labels until the maximum lifetime of any possible previously established flows has expired (at least 6 seconds; more if explicit flow set-up mechanisms with longer lifetimes might have been used). If the minimum time for rebooting the node is known (often more than 6 seconds), that time can be deducted from the necessary waiting period before starting to allocate flow labels. ノードがストップして再起動する時(例えば、「クラッシュ」の結果として)、 以前のフローのために使いまだ生存期間がまだ期限が切れてないかもしれない フローラベルを使わないことに注意しなくてはならない。 これは、クラッシュ の後も覚えていられる安定した記憶装置の上にフローラベル使用を記録するこ とによって、あるいは、前に確定したどんなフローの最大生存期間でも期限が 切れるまで(少なくとも6秒;さらに多く、もしより長い生存期間を持つ明白 なフローセットアップメカニズムが使われたかも知れないなら)フローラベル を使うことを思いとどまることによって、達成されるであろう。もしノードを リブートする最小時間が知られている(しばしば6秒以上)なら、その時はフ ローラベルを割り当て始める前に必要な待機期間から差し引くことができる。 There is no requirement that all, or even most, packets belong to flows, i.e., carry non-zero flow labels. This observation is placed here to remind protocol designers and implementors not to assume otherwise. For example, it would be unwise to design a router whose performance would be adequate only if most packets belonged to flows, or to design a header compression scheme that only worked on packets that belonged to flows. パケットのすべて、あるいは大部分のパケットがフローに属している、すなわ ち非ゼロフローラベル、という要求事項はない。 これはプロトコルデザイナー やインプリメンタヤやその他の者に言っている。 例えば、その性能が、たい ていのパケットがフローに属した場合に限り適切であるルーターを設計する、 あるいは、フローに属したパケットにだけ働くヘッダー圧縮機構を設計するこ とは、賢明でないであろう。 7. Priority 優先権 The 4-bit Priority field in the IPv6 header enables a source to identify the desired delivery priority of its packets, relative to other packets from the same source. The Priority values are divided into two ranges: Values 0 through 7 are used to specify the priority of traffic for which the source is providing congestion control, i.e., traffic that "backs off" in response to congestion, such as TCP traffic. Values 8 through 15 are used to specify the priority of traffic that does not back off in response to congestion, e.g., "real-time" packets being sent at a constant rate. IPv6 ヘッダーでの4ビットの優先権フィールドは発信者に同じ発信者からの他 のパケットと比較してのそのパケットの望ましい配送優先権を識別することが できるようにする。 優先順位の値は2つの範囲に分けられる:0から7までの 値が TCP トラフィックのような発信が輻輳制御を供給しているトラフィック、 すなわち、輻輳に応えて「後退する」トラフィック、の優先権を規定するため に使われる。 8から15までの値が輻輳に応えて後退しないトラフィック、 例えば、一定のレートで送られている「リアルタイム」パケットの優先権を規定 するために使われる。 For congestion-controlled traffic, the following Priority values are recommended for particular application categories: 輻輳制御されたトラフィックのために、次の優先順位の値は特定なアプリケー ション部門のために勧められる: 0 - uncharacterized traffic 特徴づけられないトラフィック 1 - "filler" traffic (e.g., netnews) 「詰め物」トラフィック(例えば、ネットニュース) 2 - unattended data transfer (e.g., email) 出席者がいないデータ転送(例えば、電子メール) 3 - (reserved) (予約) 4 - attended bulk transfer (e.g., FTP, NFS) 大量転送に付随(例えば、 FTP 、 NFS ) 5 - (reserved) (予約) 6 - interactive traffic (e.g., telnet, X) 対話型のトラフィック(例えば、 telnet 、X) 7 - internet control traffic (e.g., routing protocols, SNMP) インターネット管理トラフィック(例えば、ルーティングプロトコル、SNMP ) For non-congestion-controlled traffic, the lowest Priority value (8) should be used for those packets that the sender is most willing to have discarded under conditions of congestion (e.g., high-fidelity video traffic), and the highest value (15) should be used for those packets that the sender is least willing to have discarded (e.g., low-fidelity audio traffic). There is no relative ordering implied between the congestion-controlled priorities and the non-congestion- controlled priorities. 非輻輳制御されたトラフィックのために、最下位優先度値(8)は輻輳の条件の 下で送信者が捨てられることが最もかまわないパケット(例えば、ハイファイビ デオトラフィック)のために使われるべきである、そして最も高い値(15)は 送信者が捨てられることを一番望んでいないパケット(例えば、低い精度の音声 のトラフィック)のために使われるべきである。 輻輳制御された優先権と非輻 輳制御された優先権の間に特に相対的な要求はない。 8. Upper-Layer Protocol Issues 上位層プロトコル問題 8.1 Upper-Layer Checksums 上位層チェックサム Any transport or other upper-layer protocol that includes the addresses from the IP header in its checksum computation must be modified for use over IPv6, to include the 128-bit IPv6 addresses instead of 32-bit IPv4 addresses. In particular, the following illustration shows the TCP and UDP "pseudo-header" for IPv6: そのチェックサム計算に IP ヘッダーのアドレスが必要なトランスポート や他の上位層プロトコルは IPv6 を使用するためには、32ビットのIPv4 アドレスの代わりに128ビットのIPv6アドレスを使用するため修正され なくてはならない。特に、次のイラストはIPv6のためのTCPとUDP「疑似 ヘッダー」を示す: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Source Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Destination Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | zero | Next Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ o If the packet contains a Routing header, the Destination Address used in the pseudo-header is that of the final destination. At the originating node, that address will be in the last element of the Routing header; at the recipient(s), that address will be in the Destination Address field of the IPv6 header. o もしパケットがルーティングヘッダーを含んでいるなら、疑似ヘッダー で使われた宛先アドレスは最終宛先のそれである。 出発点のノードに おいて、そのアドレスはルーティングヘッダーの最後の要素にあるで あろう;受信者には、そのアドレスは IPv6 ヘッダーの着信アドレス フィールドにあるであろう。 o The Next Header value in the pseudo-header identifies the upper-layer protocol (e.g., 6 for TCP, or 17 for UDP). It will differ from the Next Header value in the IPv6 header if there are extension headers between the IPv6 header and the upper- layer header. o 疑似ヘッダーでのネクストヘッダ値は上位層プロトコルを識別する 例えば、TCP のための6、あるいは UDP のための17。それはIPv6 ヘッダーと上位層ヘッダーの間に拡張ヘッダがある場合のIPv6 ヘッダー でネクストヘッダ値とは違う。 o The Payload Length used in the pseudo-header is the length of the upper-layer packet, including the upper-layer header. It will be less than the Payload Length in the IPv6 header (or in the Jumbo Payload option) if there are extension headers between the IPv6 header and the upper-layer header. o 疑似ヘッダーで使われるペイロード長は、上位層ヘッダーを含めて、 上位層パケットの長さである。 それは、もし IPv6 ヘッダーと上位 層ヘッダーの間に拡張ヘッダがあるなら、 IPv6 ヘッダーの(あるいは 特大のペイロードオプションの)ペイロード長より少いであろう。 o Unlike IPv4, when UDP packets are originated by an IPv6 node, the UDP checksum is not optional. That is, whenever originating a UDP packet, an IPv6 node must compute a UDP checksum over the packet and the pseudo-header, and, if that computation yields a result of zero, it must be changed to hex FFFF for placement in the UDP header. IPv6 receivers must discard UDP packets containing a zero checksum, and should log the error. o IPv4と異なり、UDPパケットがIPv6ノードによって作られる時、UDP チェックサムはオプションではない。 すなわち、UDPパケットを作る 時はIPv6ノードがパケットと疑似ヘッダーにUDPチェックサムを計算 しなくてはならない、そして計算結果がゼロになるならば、それはUDP ヘッダーの配置のために16進の FFFF に変えられなくてはならない。 IPv6 受信器がゼロチェックサムを含んでいる UDP パケットを捨てなく てはならなくて、そしてエラーをログファイルに書くべきである。 The IPv6 version of ICMP [RFC-1885] includes the above pseudo-header in its checksum computation; this is a change from the IPv4 version of ICMP, which does not include a pseudo-header in its checksum. The reason for the change is to protect ICMP from misdelivery or corruption of those fields of the IPv6 header on which it depends, which, unlike IPv4, are not covered by an internet-layer checksum. The Next Header field in the pseudo-header for ICMP contains the value 58, which identifies the IPv6 version of ICMP. ICMP [RFC-1885]の IPv6 バージョンはそのチェックサム計算に上記の疑似 ヘッダーを 含める;これはチェックサムに疑似ヘッダーを含めないICMPの IPv4 バージョンからの変更である。 変更の理由は ICMP を配達失敗あるいは 諸事情による IPv6 ヘッダーのフィールドの破壊から守ることである、そして それは、 IPv4 と異なり、インターネット - レイヤチェックサムによってカ バーされない。ICMP のための疑似ヘッダーでのネクストヘッダフィールドは 価値58を含んでいる、そしてそれは ICMP の IPv6 バージョンを識別する。 8.2 Maximum Packet Lifetime 最大パケット生存期間 Unlike IPv4, IPv6 nodes are not required to enforce maximum packet lifetime. That is the reason the IPv4 "Time to Live" field was renamed "Hop Limit" in IPv6. In practice, very few, if any, IPv4 implementations conform to the requirement that they limit packet lifetime, so this is not a change in practice. Any upper-layer protocol that relies on the internet layer (whether IPv4 or IPv6) to limit packet lifetime ought to be upgraded to provide its own mechanisms for detecting and discarding obsolete packets. IPv4と異なり、IPv6ノードが最大パケット生存期間を強制するように要求 されない。それは IPv4 「有効時間」フィールドが IPv6 で「ホップ限界」 と命名し直された理由である。 実際に、極めて少数のIPv4 実装のみがパ ケット生存期間を制限する、それでこれが実質的な変更ではないという必要 条件に従う。 ( IPv4 あるいはIPv6 であるか否かにかかわらず)パケット 生存期間を制限するためにインターネットレイヤに頼る上位層プロトコルは 古いパケットを検出して捨てるためのそれ自身のメカニズムを供給するため にアップグレードされるべきである。 8.3 Maximum Upper-Layer Payload Size 最大の上位層ペイロード大きさ When computing the maximum payload size available for upper-layer data, an upper-layer protocol must take into account the larger size of the IPv6 header relative to the IPv4 header. For example, in IPv4, TCP's MSS option is computed as the maximum packet size (a default value or a value learned through Path MTU Discovery) minus 40 octets (20 octets for the minimum-length IPv4 header and 20 octets for the minimum-length TCP header). When using TCP over IPv6, the MSS must be computed as the maximum packet size minus 60 octets, because the minimum-length IPv6 header (i.e., an IPv6 header with no extension headers) is 20 octets longer than a minimum-length IPv4 header. 上位層データについて利用可能な最大のペイロード大きさを計算する時、上 位層プロトコルが IPv4 ヘッダーと比較して IPv6 ヘッダーのより大きい大 きさを考慮に入れなくてはならない。 例えば、 IPv4 で、TCP の MSS オプ ションは最大のパケットサイズ(デフォルト値あるいはパスMTUディスカバ リを通して学んだ値)から( IPv4ヘッダーの最小長20オクテットとTCP ヘッダーの最小長20オクテットの)40のオクテットを差し引いた値と計 算される。 IPv6 の上に TCP を使う時、 MSS は最大のパケットサイズから 60のオクテットを差し引いたであると計算されなくてはならない、なぜな ら最小長 IPv6 ヘッダー(すなわち、拡張ヘッダがない IPv6 ヘッダー)は最 小長 IPv4 ヘッダーより20オクテット長いから。 Appendix A. Formatting Guidelines for Options オプションのためのフォーマット化ガイドライン This appendix gives some advice on how to lay out the fields when designing new options to be used in the Hop-by-Hop Options header or the Destination Options header, as described in section 4.2. These guidelines are based on the following assumptions: この付録は、セクション4.2で記述されるように、ホップバイホップオプショ ンヘッダーあるいは着信オプションヘッダーで使われる新しいオプションを設 計する時、どのようにフィールドを設計するべきかについて、いくらか助言を 与える。 これらのガイドラインは次の仮説に基づいている: o One desirable feature is that any multi-octet fields within the Option Data area of an option be aligned on their natural boundaries, i.e., fields of width n octets should be placed at an integer multiple of n octets from the start of the Hop-by- Hop or Destination Options header, for n = 1, 2, 4, or 8. o 1つの望ましい特徴がオプションデータ域の中のどんなマルチオクテッ トのオプションフィールドでも(彼・それ)らの自然的境界の上に一列 に並べられるということである、すなわち、n = 1、2、4あるいは 8に対し、幅nオクテットのフィールドがホップバイホップあるいは着 信オプションのヘッダーの初めからnオクテットの整数倍数に置かれる べきである。 o Another desirable feature is that the Hop-by-Hop or Destination Options header take up as little space as possible, subject to the requirement that the header be an integer multiple of 8 octets long. o もう1つの望ましい特徴がホップバイホップあるいは着信オプションの ヘッダーが、ヘッダーが8オクテットの整数倍長であるという必要条件 の下で、可能な限り少ししかスペースを取らないということである。 o It may be assumed that, when either of the option-bearing headers are present, they carry a very small number of options, usually only one. o あるいはオプション関係ヘッダーが存在している時、それらが非常に小 さい数のオプション、通常ただ1だけを運ぶと思われる。 These assumptions suggest the following approach to laying out the fields of an option: order the fields from smallest to largest, with no interior padding, then derive the alignment requirement for the entire option based on the alignment requirement of the largest field (up to a maximum alignment of 8 octets). This approach is illustrated in the following examples: これらの仮説は次のオプションのフィールドを広げることへのアプローチを提 案する:フィールドは内部パディングなしで最も小さいものから最も大きい者 の順序とする、そして(8つのオクテットの最大のアラインメントまで)最も 大きいフィールドの整列要求に基づいた全部のオプションのための整列要求を 得なさい。このアプローチは次の例で例証される: Example 1 例1 If an option X required two data fields, one of length 8 octets and one of length 4 octets, it would be laid out as follows: もしオプションXが2つのデータフィールド、8オクテット長の1つと4オ クテット長の1つを必要としたなら、それは次のように設計されるであろう: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type=X |Opt Data Len=12| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + 8-octet field + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Its alignment requirement is 8n+2, to ensure that the 8-octet field starts at a multiple-of-8 offset from the start of the enclosing header. A complete Hop-by-Hop or Destination Options header containing this one option would look as follows: その整列要求は8オクテットのフィールドを含むヘッダーの初めから8の 倍数オフセットで始めることを保証するために、 8n + 2である。 これ を含んでいる完全なホップバイホップあるいは着信オプションヘッダーの オプションが次のように見えるであろう: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len=1 | Option Type=X |Opt Data Len=12| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + 8-octet field + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Example 2 例2 If an option Y required three data fields, one of length 4 octets, one of length 2 octets, and one of length 1 octet, it would be laid out as follows: もし1オプションYが3つのデータフィールド、4オクテット長の1つ、 2オクテット長の1つと1オクテット長の1つを必要としたなら、それは次 のように設計されるであろう: +-+-+-+-+-+-+-+-+ | Option Type=Y | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Opt Data Len=7 | 1-octet field | 2-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Its alignment requirement is 4n+3, to ensure that the 4-octet field starts at a multiple-of-4 offset from the start of the enclosing header. A complete Hop-by-Hop or Destination Options header containing this one option would look as follows: その整列要求は4オクテットのフィールドを含むヘッダーの初めから4の 倍数オフセットで始めることを保証するために、 4n + 3である。 これを 含んでいる完全なホップバイホップあるいは着信オプションヘッダーのオ プションが次のように見えるであろう: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len=1 | Pad1 Option=0 | Option Type=Y | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Opt Data Len=7 | 1-octet field | 2-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PadN Option=1 |Opt Data Len=2 | 0 | 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Example 3 例3 A Hop-by-Hop or Destination Options header containing both options X and Y from Examples 1 and 2 would have one of the two following formats, depending on which option appeared first: 例1と2のオプションXとYの両方を含んでいるホップバイホップあるいは 着信オプションのヘッダーは、どちらのオプションが最初に現われるかによ り、次の2つのフォーマットのうち1つを持つであろう: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len=3 | Option Type=X |Opt Data Len=12| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + 8-octet field + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PadN Option=1 |Opt Data Len=1 | 0 | Option Type=Y | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Opt Data Len=7 | 1-octet field | 2-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PadN Option=1 |Opt Data Len=2 | 0 | 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len=3 | Pad1 Option=0 | Option Type=Y | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Opt Data Len=7 | 1-octet field | 2-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PadN Option=1 |Opt Data Len=4 | 0 | 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 | 0 | Option Type=X |Opt Data Len=12| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4-octet field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + 8-octet field + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Security Considerations 機密保持対策 This document specifies that the IP Authentication Header [RFC-1826] and the IP Encapsulating Security Payload [RFC-1827] be used with IPv6, in conformance with the Security Architecture for the Internet Protocol [RFC-1825]. このドキュメントは、インターネット・プロトコルのために安全アーキテク チャ[RFC-1825]に適合するためには、 IP 認証ヘッダー [RFC-1826]と IP カプセル化安全ペイロード [RFC-1827]が IPv6 で使われることを指定する。 Acknowledgments 謝辞 The authors gratefully acknowledge the many helpful suggestions of the members of the IPng working group, the End-to-End Protocols research group, and the Internet Community At Large. 著者はIPng 作業グループとエンドツーエンドプロトコルリサーチグループ と一般的インターネットコミュニティのメンバの多くの助けになる示唆を 感謝して 認める。 Authors' Addresses 著者のアドレス Stephen E. Deering Robert M. Hinden Xerox Palo Alto Research Center Ipsilon Networks, Inc. 3333 Coyote Hill Road 2191 E. Bayshore Road, Suite 100 Palo Alto, CA 94304 Palo Alto, CA 94303 USA USA Phone: +1 415 812 4839 Phone: +1 415 846 4604 Fax: +1 415 812 4471 Fax: +1 415 855 1414 EMail: deering@parc.xerox.com EMail: hinden@ipsilon.com References 参考文献 [RFC-1825] Atkinson, R., "Security Architecture for the Internet Protocol", RFC 1825, Naval Research Laboratory, August 1995. [RFC-1826] Atkinson, R., "IP Authentication Header", RFC 1826, Naval Research Laboratory, August 1995. [RFC-1827] Atkinson, R., "IP Encapsulating Security Protocol (ESP)", RFC 1827, Naval Research Laboratory, August 1995. [RFC-1885] Conta, A., and S. Deering, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", RFC 1885, Digital Equipment Corporation, Xerox PARC, December 1995. [RFC-1884] Hinden, R., and S. Deering, Editors, "IP Version 6 Addressing Architecture", RFC 1884, Ipsilon Networks, Xerox PARC, December 1995. [RFC-1191] Mogul, J., and S. Deering, "Path MTU Discovery", RFC 1191, DECWRL, Stanford University, November 1990. [RFC-791] Postel, J., "Internet Protocol", STD 5, RFC 791, USC/Information Sciences Institute, September 1981. [RFC-1700] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1700, USC/Information Sciences Institute, October 1994. [RFC-1661] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, Daydreamer, July 1994.