Internet Engineering Task Force (IETF)                   V. Gurbani, Ed.
Request for Comments: 5954             Bell Laboratories, Alcatel-Lucent
Updates: 3261                                          B. Carpenter, Ed.
Category: Standards Track                              Univ. of Auckland
ISSN: 2070-1721                                             B. Tate, Ed.
                                                               BroadSoft
                                                             August 2010
        

Essential Correction for IPv6 ABNF and URI Comparison in

IPv6のABNFとURIの比較でために不可欠修正

Abstract

抽象

This document corrects the Augmented Backus-Naur Form (ABNF) production rule associated with generating IPv6 literals in RFC 3261. It also clarifies the rule for Uniform Resource Identifier (URI) comparison when the URIs contain textual representation of IP addresses.

この文書はまた、URIがIPアドレスのテキスト表現が含まれているURI(Uniform Resource Identifier)で比較するためのルールを明確にRFC 3261でのIPv6リテラルを生成することに関連した増補バッカス記法(ABNF)生成規則を修正します。

Status of This Memo

このメモのステータス

This is an Internet Standards Track document.

これは、インターネット標準化過程文書です。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

このドキュメントはインターネットエンジニアリングタスクフォース(IETF)の製品です。これは、IETFコミュニティの総意を表しています。これは、公開レビューを受けており、インターネットエンジニアリング運営グループ(IESG)によって公表のために承認されています。インターネット標準の詳細については、RFC 5741のセクション2で利用可能です。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc5954.

このドキュメントの現在の状態、任意の正誤表、そしてどのようにフィードバックを提供するための情報がhttp://www.rfc-editor.org/info/rfc5954で取得することができます。

Copyright Notice

著作権表示

Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(C)2010 IETF信託とドキュメントの作成者として特定の人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

この文書では、BCP 78と、この文書の発行日に有効なIETFドキュメント(http://trustee.ietf.org/license-info)に関連IETFトラストの法律の規定に従うものとします。彼らは、この文書に関してあなたの権利と制限を説明するように、慎重にこれらの文書を確認してください。コードコンポーネントは、トラスト法規定のセクションで説明4.eおよび簡体BSDライセンスで説明したように、保証なしで提供されているよう簡体BSDライセンスのテキストを含める必要があり、この文書から抽出されました。

Table of Contents

目次

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 2
   3.  Problem Statement . . . . . . . . . . . . . . . . . . . . . . . 2
     3.1.  Extra Colon in IPv4-Mapped IPv6 Address . . . . . . . . . . 2
     3.2.  Comparing URIs with Textual Representation of IP
           Addresses . . . . . . . . . . . . . . . . . . . . . . . . . 3
   4.  Resolution  . . . . . . . . . . . . . . . . . . . . . . . . . . 4
     4.1.  Resolution for Extra Colon in IPv4-Mapped IPv6 Address  . . 4
     4.2.  Clarification for Comparison of URIs with Textual
           Representation of IP Addresses  . . . . . . . . . . . . . . 5
   5.  Generating a Canonical IPv6 Textual Representation  . . . . . . 5
   6.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
   7.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     8.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6
     8.2.  Informative References  . . . . . . . . . . . . . . . . . . 6
        
1. Introduction
1. はじめに

This document corrects the Augmented Backus-Naur Form (ABNF) production rule associated with generating IPv6 literals in RFC 3261 [1]. It also clarifies the rule for Uniform Resource Identifier (URI) comparison when the URIs contain textual representation of IP addresses.

この文書では、[1] RFC 3261でのIPv6リテラルを生成するに関連付けられた拡張バッカス・ナウアフォーム(ABNF)生成規則を修正します。また、URIがIPアドレスのテキスト表現が含まれているURI(Uniform Resource Identifier)で比較するためのルールを明確にしています。

2. Terminology
2.用語

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [2].

この文書のキーワード "MUST"、 "MUST NOT"、 "REQUIRED"、、、、 "べきではない" "べきである" "ないもの" "ものとし"、 "推奨"、 "MAY"、および "OPTIONAL" はありますRFC 2119に記載されるように解釈される[2]。

3. Problem Statement
3.問題文
3.1. Extra Colon in IPv4-Mapped IPv6 Address
3.1. IPv4射影IPv6アドレスで余分なコロン

The ABNF [4] for generating IPv6 literals in RFC 3261 [1] is incorrect. When generating IPv4-mapped IPv6 addresses, the production rule may actually generate the following construct:

ABNF [4] RFC 3261でのIPv6リテラルを生成するための[1]が正しくありません。 IPv4マップIPv6アドレスを生成する際に、プロダクションルールは、実際には、以下の構築物を生成することができます。

[2001:db8:::192.0.2.1] - Note the extra colon before the IPv4 address.

[2001:DB8 ::: 192.0.2.1] - IPv4アドレスの前に余分なコロンに注意してください。

The correct construct, of course, would only include two colons before the IPv4 address.

正しい構築体は、当然のことながら、IPv4アドレスのみ前に2つのコロンが含まれるであろう。

Historically, the ABNF pertaining to IPv6 references in RFC 3261 was derived from Appendix B of RFC 2373 [7], which was flawed to begin with (see errata for RFC 2373 [8]). RFC 2373 has been subsequently obsoleted by RFC 4291 [6].

歴史的には、RFC 3261でのIPv6参照に係るABNFは([8] RFC 2373のための正誤表を参照)で開始する不備たRFC 2373の付録B [7]に由来しました。 RFC 2373は、その後、RFC 4291によって廃止されている[6]。

The ABNF for IPv6reference is reproduced from RFC 3261 below:

IPv6referenceのためのABNFは、以下のRFC 3261から再生されます。

IPv6reference = "[" IPv6address "]" IPv6address = hexpart [ ":" IPv4address ] IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT hexpart = hexseq / hexseq "::" [ hexseq ] / "::" [ hexseq ] hexseq = hex4 *( ":" hex4) hex4 = 1*4HEXDIG

IPv6reference = "[" IPv6address "]" IPv6address = hexpart [ ":" IPv4Addressを] IPv4Addressを= 1 * 3DIGIT "" 1 * 3DIGIT "" 1 * 3DIGIT "" 1 * 3DIGIT hexpart = hexseq / hexseq "::" [hexseq] / "::" [hexseq] hexseq = hex4 *( ":" hex4)hex4 = 1 * 4HEXDIG

Note that the ambiguity occurs in the <IPv6address> production rule where the <IPv4address> non-terminal is prefixed by the ":" token. Because the <hexpart> production rule is defined such that two of its alternatives already include the "::" token, this may yield to the faulty construction of an IPv6-mapped IPv4 address with an extra colon when expanding those alternatives.

「:」トークンあいまいさが<IPv4Addressを>非端子を前に付けている<IPv6address>生成規則に発生することに注意してください。 <hexpart>生成規則は、その選択肢の2が既に「::」トークンを含むように定義されているため、これらの選択肢を拡大したときに、これは余分なコロンをIPv6にマッピングされたIPv4アドレスの障害のある建設に生じることがあります。

3.2. Comparing URIs with Textual Representation of IP Addresses
3.2. IPアドレスのテキスト表現とURIを比較

In SIP, URIs are compared for a variety of reasons. Registrars compare URIs when they receive a binding update request, for instance. Section 19.1.4 of RFC 3261 [1] provides the rules for comparing URIs. Among other rules, it states that:

SIPでは、URIは様々な理由のために比較されます。彼らは、例えば、バインディング更新要求を受信したときレジストラは、URIを比較します。 RFC 3261のセクション19.1.4 [1] URIを比較するためのルールを提供します。他のルールの中では、と述べています:

For two URIs to be equal, the user, password, host, and port components must match.

2つのURIが同じであるためには、ユーザー、パスワード、ホスト、およびポートの各コンポーネントが一致している必要があります。

Does the above rule then imply that the following URIs are equal:

上記のルールは、次のURIが等しいことを意味するものではありません。

sip:bob@[::ffff:192.0.2.128] = sip:bob@[::ffff:c000:280]?

SIP:ボブの@ [:: FFFF:192.0.2.128] = SIP:ボブの@ [:: FFFF:C000:280]?

sip:bob@[2001:db8::9:1] = sip:bob@[2001:db8::9:01]?

SIP:ボブの@ [2001:DB8 :: 9:1] = SIP:ボブの@ [2001:DB8 :: 9:01]?

sip:bob@[0:0:0:0:0:FFFF:129.144.52.38] = sip:bob@ [::FFFF:129.144.52.38]?

SIP:ボブの@ [0:0:0:0:0:FFFF:129.144.52.38] = SIP:ボブの@ [:: FFFF:129.144.52.38]?

In all of the above examples, the textual representation of the IPv6 address is different, but these addresses are binary equivalents (implementers are also urged to consult Section 5 of this document for recommendations on IPv6 address text representations). Section 19.1.4 of RFC 3261 does not provide any rule for URIs containing different textual representations of IPv6 addresses that all correspond to the same binary equivalent.

上記の例の全てにおいて、IPv6アドレスのテキスト表現が異なっているが、これらのアドレスは、バイナリ等価物である(実装は、IPv6アドレスのテキスト表現に関する推奨事項については、この文書のセクション5を参照するにも付勢されています)。 RFC 3261のセクション19.1.4は、すべてが同じバイナリ同等に対応するIPv6アドレスの異なるテキスト表現を含むURIのいずれかのルールを提供しません。

Note that the same ambiguity occurs for IPv4 addresses, i.e., is 192.0.2.128 = 192.00.02.128? However, IPv6, with its compressed notation and the need to represent hybrid addresses (like IPv4- mapped IPv6 addresses) makes the representation issue more acute. The resolution discussed in Section 4.2 applies to textual representations of both IPv6 and IPv4 addresses.

同じ曖昧さ、すなわち、192.0.2.128 = 192.00.02.128であり、IPv4アドレスのために発生することに注意してください!しかし、IPv6は、その圧縮された表記法とハイブリッドアドレスを表すために必要と(IPv4-ようにIPv6アドレスをマッピングされた)表現の問題はより深刻となります。セクション4.2で論じた解像度は、IPv6およびIPv4アドレスの両方の表現をテキスト形式に適用されます。

4. Resolution
4.決議
4.1. Resolution for Extra Colon in IPv4-Mapped IPv6 Address
4.1. IPv4射影IPv6アドレスで余分なコロンのための決議

The resolution to this ambiguity is simply to use the correct ABNF for the <IPv6address> production rule from Appendix A of RFC 3986 [3]. For the sake of completeness, it is reproduced below:

この曖昧さの解決方法[3] RFC 3986の付録Aから<IPv6address>プロダクションルールの正しいABNFを使用するだけです。完全を期すために、それが以下に再現されています。

IPv6address = 6( h16 ":" ) ls32 / "::" 5( h16 ":" ) ls32 / [ h16 ] "::" 4( h16 ":" ) ls32 / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 / [ *4( h16 ":" ) h16 ] "::" ls32 / [ *5( h16 ":" ) h16 ] "::" h16 / [ *6( h16 ":" ) h16 ] "::"

IPv6address = 6(H16 ":")ls32 / "::" 5(H16 ":")ls32 / [H16] "::" 4(H16 ":")ls32 / [* 1(H16 ":")H16 "::" 3(H16 ":")ls32 / [* 2(H16 ":")H16 "::" 2(H16 ":")ls32 / [* 3(H16 ":")H16]」 :: "H16 ":" ls32 / [* 4(H16 ":")H16 "::" ls32 / [* 5(H16 ":")H16 "::" H16 / [* 6(H16": ")H16] "::"

h16 = 1*4HEXDIG ls32 = ( h16 ":" h16 ) / IPv4address IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet dec-octet = DIGIT ; 0-9 / %x31-39 DIGIT ; 10-99 / "1" 2DIGIT ; 100-199 / "2" %x30-34 DIGIT ; 200-249 / "25" %x30-35 ; 250-255

H16 = 1 * 4HEXDIG ls32 =(H16 ":" H16)/ IPv4AddressをIPv4Addressをは= DEC-オクテット "" 12月オクテット「」 12月オクテット「」 DEC-オクテットデクオクテット= DIGIT。 0-9 /%x31-39 DIGIT。 10-99 / "1" 2DIGIT。 100-199 / "2" %x30-34 DIGIT。 200から249 / "25" %x30-35。 250-255

Accordingly, this document updates RFC 3261 as follows: the <IPv6address> and <IPv4address> production rules from RFC 3261 MUST NOT be used and instead, the production rules of the same name in RFC 3986 (and reproduced above) MUST be used. This will render <hexpart>, <hexseq>, and <hex4> production rules in RFC 3261 obsolete; as such, these three production rules -- namely, <hexpart>, <hexseq>, and <hex4> -- from RFC 3261 MUST NOT be used.

したがって、この文書の更新RFC 3261としては、以下:RFC 3261から<IPv6address>と<IPv4Addressを>プロダクションルールを使用してはいけません、代わりに、RFC 3986で同じ名前の生成規則は、(上記の再生)を使用しなければなりません。これは、レンダリングします<hexpart>、<hexseq>、RFC 3261でと<hex4>生成規則廃止されました。このように、これら3つの生産ルールとして - つまり、<hexpart>、<hexseq>、および<hex4> - RFC 3261から使用してはいけません。

The use of the <IPv4address> production rule from RFC 3986 no longer allows syntactically valid -- though semantically invalid -- SIP URIs of the form "sip:bob@444.555.666.777".

しかし、意味的に無効 - - もはやRFC 3986から<IPv4Addressを>生成規則の使用は、構文的に有効なことができますフォームのSIP URIを「SIP:bob@444.555.666.777」。

4.2. Clarification for Comparison of URIs with Textual Representation of IP Addresses

4.2. IPアドレスのテキスト表現とURIの比較のための明確化

The resolution to this ambiguity is a simple clarification acknowledging that the textual representation of an IP address varies, but it is the binary equivalence of the IP address that must be taken into consideration when comparing two URIs that contain varying textual representations of an IP address.

この曖昧さの解決には、IPアドレスのテキスト表現が変化し、それはIPアドレスのテキスト表現を変える含む2つのURIを比較するときに考慮しなければならないIPアドレスのバイナリ同値であることを認める単純明確です。

Accordingly, the existing rule from the bulleted list in Section 19.1.4 of RFC 3261 MUST be modified as follows:

以下のようしたがって、RFC 3261のセクション19.1.4に箇条書きリストから既存のルールを変更しなければなりません。

OLD:

古い:

o For two URIs to be equal, the user, password, host, and port components must match.

2つのURIが同じであるためにO、ユーザー、パスワード、ホスト、ポートコンポーネントが一致しなければなりません。

NEW:

新着:

o For two URIs to be equal, the user, password, host, and port components must match. If the host component contains a textual representation of IP addresses, then the representation of those IP addresses may vary. If so, the host components are considered to match if the different textual representations yield the same binary IP address.

2つのURIが同じであるためにO、ユーザー、パスワード、ホスト、ポートコンポーネントが一致しなければなりません。ホストコンポーネントは、IPアドレスのテキスト表現が含まれている場合、それらのIPアドレスの表記が異なる場合があります。その場合、ホストコンポーネントは、異なるテキスト表現が同じバイナリIPアドレスを得た場合に一致すると考えられています。

In addition, the text in the following paragraph MUST be added to the existing list of examples in Section 19.1.4 of RFC 3261 in order to demonstrate the intent of the modified rule:

また、以下の段落内のテキストが変更されたルールの意図を実証するために、RFC 3261のセクション19.1.4に記載されている例の既存のリストに追加する必要があります。

The following URIs are equivalent because the underlying binary representation of the IP addresses are the same although their textual representations vary:

そのテキスト表現は異なるがIPアドレスの基礎となるバイナリ表現が同じであるため、次のURIは等価です。

sip:bob@[::ffff:192.0.2.128] sip:bob@[::ffff:c000:280]

SIP:ボブの@ [:: FFFF:192.0.2.128] SIP:ボブの@ [:: FFFF:C000:280]

sip:bob@[2001:db8::9:1] sip:bob@[2001:db8::9:01]

SIP:ボブの@ [2001:DB8 :: 9:1] SIP:ボブの@ [2001:DB8 :: 9:01]

sip:bob@[0:0:0:0:0:FFFF:129.144.52.38] sip:bob@[::FFFF:129.144.52.38]

SIP:ボブの@ [0:0:0:0:0:FFFF:129.144.52.38] SIP:ボブの@ [:: FFFF:129.144.52.38]

5. Generating a Canonical IPv6 Textual Representation
5.正規IPv6のテキスト表現を生成します

Implementers SHOULD generate IPv6 text representation as defined in RFC 5952 [5].

RFC 5952で定義されるように実装者は、IPv6テキスト表現を生成するべきである[5]。

6. Security Considerations
6.セキュリティの考慮事項

This document does not introduce any new security considerations beyond those described in RFC 3261 [1].

この文書は、RFC 3261に記載されているものを超えてどんな新しいセキュリティの考慮事項を導入しない[1]。

7. Acknowledgments
7.謝辞

The ABNF for IPv6 was developed by Roy T. Fielding and Andrew Main and published in RFC 3986.

IPv6のためのABNFはロイT.フィールディングとアンドリュー・メインによって開発され、RFC 3986に掲載されました。

Jeroen van Bemmel, Peter Blatherwick, Gonzalo Camarillo, Paul Kyzivat, Jonathan Rosenberg, Michael Thomas, and Dale Worley provided invaluable discussion points on the SIP WG mailing list on the URI equivalency problem. Alfred Hoenes urged the use of angle brackets (as specified in Section 2.1 of RFC 5234 [4]) to denote productions.

イェルーンバンBemmel、ピーターBlatherwick、ゴンサロ・カマリロ、ポールKyzivat、ジョナサン・ローゼンバーグ、マイケル・トーマス、そしてデールウォーリーは、URIの等価性の問題にSIP WGメーリングリスト上で貴重な論点を提供します。 (RFC 5234のセクション2.1で指定されている[4])アルフレッドHoenesは、プロダクションを示すために角括弧の使用を促しました。

8. References
8.参照文献
8.1. Normative References
8.1. 引用規格

[1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002.

[1]ローゼンバーグ、J.、Schulzrinneと、H.、カマリロ、G.、ジョンストン、A.、ピーターソン、J.、スパークス、R.、ハンドレー、M.、およびE.学生、 "SIP:セッション開始プロトコル" 、RFC 3261、2002年6月。

[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[2]ブラドナーのは、S.は、BCP 14、RFC 2119、1997年3月の "RFCsにおける使用のためのレベルを示すために"。

[3] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005.

[3]バーナーズ - リー、T.、フィールディング、R.、およびL. Masinter、 "ユニフォームリソース識別子(URI):汎用構文"、STD 66、RFC 3986、2005年1月。

[4] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.

[4]クロッカー、D.、およびP. Overell、 "増補BNF構文仕様のため:ABNF"、STD 68、RFC 5234、2008年1月。

[5] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6 Address Text Representation", RFC 5952, August 2010.

[5]川村、S.とM.川島、RFC 5952、2010年8月の "IPv6アドレスのテキスト表現のための勧告"。

8.2. Informative References
8.2. 参考文献

[6] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006.

[6] HindenとR.とS.デアリング、 "IPバージョン6アドレッシング体系"、RFC 4291、2006年2月。

[7] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 2373, July 1998.

[7] HindenとR.とS.デアリング、 "IPバージョン6アドレッシング体系"、RFC 2373、1998年7月。

[8] "RFC Editor Errata", <http://www.rfc-editor.org/errata.php>.

[8] "RFCエディタエラッタ"、<http://www.rfc-editor.org/errata.php>。

Authors' Addresses

著者のアドレス

Vijay K. Gurbani (editor) Bell Laboratories, Alcatel-Lucent 1960 Lucent Lane Room 9C-533 Naperville, IL 60563 USA

ビジェイK. Gurbani(エディタ)ベル研究所、アルカテル・ルーセント1960ルーセントレーンルーム9C-533ネーパーヴィル、IL 60563 USA

Phone: +1 630 224-0216 EMail: vkg@bell-labs.com

電話:+1 630 224-0216 Eメール:vkg@bell-labs.com

Brian E. Carpenter (editor) Department of Computer Science University of Auckland PB 92019 Auckland, 1142 New Zealand

ブライアンE.カーペンター(エディタ)オークランドPB 92019オークランド、1142年ニュージーランドのコンピュータサイエンス大学の学部

EMail: brian.e.carpenter@gmail.com

メールアドレス:brian.e.carpenter@gmail.com

Brett Tate (editor) BroadSoft

ブレット・テイト(編集者)BroadSoftに

EMail: brett@broadsoft.com

メールアドレス:brett@broadsoft.com