Interactive Connectivity Establishment (ICE): オファー/アンサープロトコルのためのネットワークアドレス変換 (NAT) トラバーサルプロトコル
- ステータス: Proposed Standard
- 発行日: April 2010
- ストリーム: IETF
- 廃止: RFC4091, RFC4092
- 廃止: RFC8445, RFC8839
- エラッタ: エラッタなし
概要
このドキュメントでは、オファー/アンサーモデルで確立された UDP ベースのマルチメディアセッションのためのネットワークアドレス変換 (NAT) トラバーサルプロトコルについて説明します。このプロトコルは、Interactive Connectivity Establishment (ICE) と呼ばれます。ICE は、Session Traversal Utilities for NAT (STUN) プロトコルとその拡張である Traversal Using Relay NAT (TURN) を利用します。ICE は、Session Initiation Protocol (SIP) など、オファー/アンサーモデルを利用するあらゆるプロトコルで使用できます。
本書の状態
これは、インターネット標準化過程のドキュメントです。
このドキュメントは、Internet Engineering Task Force (IETF) の成果物です。これは IETF コミュニティのコンセンサスを表しています。公開レビューを受け、Internet Engineering Steering Group (IESG) によって公開が承認されました。インターネット標準の詳細については、RFC 5741 のセクション 2 を参照してください。
このドキュメントの現在のステータス、正誤表、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc5245 で入手できます。
著作権表示
Copyright (c) 2010 IETF Trust およびドキュメントの著者。All rights reserved.
このドキュメントは、このドキュメントの発行日に有効な BCP 78 および IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) の対象となります。これらのドキュメントは、このドキュメントに関するお客様の権利と制限について説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisions のセクション 4.e に記載されている Simplified BSD License テキストが含まれている必要があり、Simplified BSD License に記載されているように保証なしで提供されます。
目次
- 1. Introduction (はじめに)
- 2. Overview of ICE (ICE の概要)
- 3. Terminology (用語)
- 4. Sending the Initial Offer (初期オファーの送信)
- 4.1. Full Implementation Requirements (フル実装の要件)
- 4.2. Lite Implementation Requirements (ライト実装の要件)
- 4.3. Encoding the SDP (SDP のエンコード)
- 5. Receiving the Initial Offer (初期オファーの受信)
- 5.1. Verifying ICE Support (ICE サポートの検証)
- 5.2. Determining Role (役割の決定)
- 5.3. Gathering Candidates (候補の収集)
- 5.4. Prioritizing Candidates (候補の優先順位付け)
- 5.5. Choosing Default Candidates (デフォルト候補の選択)
- 5.6. Encoding the SDP (SDP のエンコード)
- 5.7. Forming the Check Lists (チェックリストの形成)
- 5.8. Scheduling Checks (チェックのスケジューリング)
- 6. Receipt of the Initial Answer (初期アンサーの受信)
- 7. Performing Connectivity Checks (接続性チェックの実行)
- 7.1. STUN Client Procedures (STUN クライアント手順)
- 7.2. STUN Server Procedures (STUN サーバー手順)
- 8. Concluding ICE Processing (ICE 処理の完了)
- 9. Subsequent Offer/Answer Exchanges (後続のオファー/アンサー交換)
- 9.1. Generating the Offer (オファーの生成)
- 9.2. Receiving the Offer and Generating an Answer (オファーの受信とアンサーの生成)
- 9.2.1. Procedures for All Implementations (すべての実装の手順)
- 9.2.2. Procedures for Full Implementations (フル実装の手順)
- 9.2.2.1. Existing Media Streams with ICE Running and no remote-candidates (ICE が実行中で remote-candidates がない既存のメディアストリーム)
- 9.2.2.2. Existing Media Streams with ICE Completed and no remote-candidates (ICE が完了し remote-candidates がない既存のメディアストリーム)
- 9.2.2.3. Existing Media Streams and remote-candidates (既存のメディアストリームと remote-candidates)
- 9.2.3. Procedures for Lite Implementations (ライト実装の手順)
- 9.3. Updating the Check and Valid Lists (チェックリストと有効リストの更新)
- 10. Keepalives (キープアライブ)
- 11. Media Handling (メディア処理)
- 12. Usage with SIP (SIP での使用)
- 13. Relationship with ANAT (ANAT との関係)
- 14. Extensibility Considerations (拡張性に関する考慮事項)
- 15. Grammar (文法)
- 15.1. "candidate" Attribute ("candidate" 属性)
- 15.2. "remote-candidates" Attribute ("remote-candidates" 属性)
- 15.3. "ice-lite" and "ice-mismatch" Attributes ("ice-lite" および "ice-mismatch" 属性)
- 15.4. "ice-ufrag" and "ice-pwd" Attributes ("ice-ufrag" および "ice-pwd" 属性)
- 15.5. "ice-options" Attribute ("ice-options" 属性)
- 16. Setting Ta and RTO (Ta と RTO の設定)
- 17. Example (例)
- 18. Security Considerations (セキュリティに関する考慮事項)
- 18.1. Attacks on Connectivity Checks (接続性チェックに対する攻撃)
- 18.2. Attacks on Server Reflexive Address Gathering (サーバー反射アドレス収集に対する攻撃)
- 18.3. Attacks on Relayed Candidate Gathering (リレー候補収集に対する攻撃)
- 18.4. Attacks on the Offer/Answer Exchanges (オファー/アンサー交換に対する攻撃)
- 18.5. Insider Attacks (内部者攻撃)
- 18.6. Interactions with Application Layer Gateways and SIP (アプリケーション層ゲートウェイおよび SIP との相互作用)
- 19. STUN Extensions (STUN 拡張)
- 20. Operational Considerations (運用上の考慮事項)
- 21. IANA Considerations (IANA に関する考慮事項)
- 21.1. SDP Attributes (SDP 属性)
- 21.1.1. candidate Attribute (candidate 属性)
- 21.1.2. remote-candidates Attribute (remote-candidates 属性)
- 21.1.3. ice-lite Attribute (ice-lite 属性)
- 21.1.4. ice-mismatch Attribute (ice-mismatch 属性)
- 21.1.5. ice-pwd Attribute (ice-pwd 属性)
- 21.1.6. ice-ufrag Attribute (ice-ufrag 属性)
- 21.1.7. ice-options Attribute (ice-options 属性)
- 21.2. STUN Attributes (STUN 属性)
- 21.3. STUN Error Responses (STUN エラー応答)
- 21.1. SDP Attributes (SDP 属性)
- 22. IAB Considerations (IAB に関する考慮事項)
- 23. Acknowledgements (謝辞)
- 24. References (参考文献)
- Appendix A. Lite and Full Implementations (ライトおよびフル実装)
- Appendix B. Design Motivations (設計の動機)
- B.1. Pacing of STUN Transactions (STUN トランザクションのペーシング)
- B.2. Candidates with Multiple Bases (複数のベースを持つ候補)
- B.3. Purpose of the <rel-addr> and <rel-port> Attributes (<rel-addr> および <rel-port> 属性の目的)
- B.4. Importance of the STUN Username (STUN ユーザー名の重要性)
- B.5. The Candidate Pair Priority Formula (候補ペアの優先順位式)
- B.6. The remote-candidates Attribute (remote-candidates 属性)
- B.7. Why Are Keepalives Needed? (なぜキープアライブが必要なのか?)
- B.8. Why Prefer Peer Reflexive Candidates? (なぜピア反射候補を優先するのか?)
- B.9. Why Send an Updated Offer? (なぜ更新されたオファーを送信するのか?)
- B.10. Why Are Binding Indications Used for Keepalives? (なぜキープアライブに Binding Indication が使用されるのか?)
- B.11. Why Is the Conflict Resolution Mechanism Needed? (なぜ競合解決メカニズムが必要なのか?)