Comments
Description
Transcript
P2PSIPの技術動向と NAT Traversal問題に対する取り組み
P2PSIPの技術動向と NAT Traversal問題に対する取り組み 2007/05/30 NEC システムプラットフォーム研究所 山口 一郎 江川 尚志 目次 • 関連技術動向 • 標準化活動動向 • NAT Traversalに関する検討 2 NEC Internal Use Only 背景 • クライアント-サーバ型モデルSIPの限界 • 分散制御型SIPによるシステム信頼性の向上 P2PSIP Peer ・SIPサーバ機能 ・データベース機能 68th IETF Meeting資料 より抜粋 P2PSIP Client ・SIP UA機能 3 NEC Internal Use Only P2PSIP関連技術動向 • 企業動向 – Skype(独自プロトコル) – Gizmo(SIPベース) – One-X Quick Edition(SIPベース, 20台程度限定, AVAYA) • 大学 – Columbia University(プロトタイプ試作) – William & Mary College(プロトタイプ試作) • 標準化 – P2Pシグナリングプロトコル策定検討中 • 独自プロトコル,SIP拡張 4 NEC Internal Use Only P2PSIP標準化動向 • P2PSIP WGのcharter – Overview • 用語の定義,Peer,Clientの役割定義 • Peer:SIPハンドリング,ロケーションサーバ,DHT,Bootstrap, NAT Traversal,Media Relay • Client:Peerのサブセット – P2PSIP Peer Protocol • Peer間,Peer-Client間の通信プロトコル – P2PSIP Client Protocol • Client間,Client-Peer間の通信プロトコル – P2PSIP Usage • ユースケースの提示 5 NEC Internal Use Only 68th IETF Meetingでの議論 • Concept & Terminology – P2PSIP Peer/Clientに必要な機能とその用語の定義 • DHT Discussion – P2PSIPで使うDHTアルゴリズムを1つに絞るのか? それとも,複数アルゴリズムをサポートするのか? • NAT Traversal Discussion – Super Peer経由でのNAT Traversalを実現 – 部分的にPeer間で論理的なメッシュネットワークを形成し,Traversalを実現 • Peer Protocol Discussion – DHT,レプリケーション機能,NAT Traversal機能 • Henning s additional Peer Protocol Discussion – データサイズ,期限,Peer-Peer,Peer-Client • Client Protocol Discussion – ストレージ機能に関して, • 単に,Peerにアクセスするのみ • Peerの補助的な役割を果たす • ストレージ機能は持たずに,DBへのアクセスを可能とする 次回69th IETF Meetingにて,Concept & TerminologyをFixの予定 6 NEC Internal Use Only P2PSIPにおける NAT Traversal方式の提案 分散セッション制御(P2PSIP)について • SIPサーバのP2P化 • 分散セッション制御(P2PSIP)アーキテクチャ – 分散セッション制御ノード(P2PSIP Peer) • SIPサーバ機能,宛先検索機能 – 分散セッション制御クライント(P2PSIP Client) • SIP-UA機能 ・SIPサーバ機能 SIPサーバ機能 ・宛先検索機能 −DHT, DHT,Flooding… Flooding… SIP RTP P2PSIP Peers 状態 SIP RT P 検索 ・SIPSIP-UA機能 UA機能 P2PSIP Clients 8 NEC Internal Use Only NAT Traversal 問題 NAT NAT NAT NAT 2.分散セッション制御(P2PSIP)向け NAT Traversal方式の条件 • 分散セッション制御(P2PSIP)では, PeerによるNAT Traversal処理 を想定 • 従って,以下3つの条件が考えられる – いろんなタイプのNATに対応すること – 分散型への対応 • P2PSIP Peerは多数存在する – SIPの特性を利用する • SDPの利用 9 NEC Internal Use Only 3.NATタイプとTraversal方式について ■Cone系NAT ■Symmetric NAT グローバル プライベート プライベート (IP_B,port_b) (IP_B,port_b) (IP_D,port_d) (IP_D,port_d) (IP_A,port_a) (IP_A,port_a) (IP_E,port_e) (IP_C,port_c) • グローバル (IP_C,port_c) NAT Traversal技術 – STUN • NATのグローバル側ポートを探索する方式 – Cone系NATに対応 – Full Cone,Restricted Cone,Port Restricted Cone,Symmetricの識別も行う – TURN • グローバルネットワーク環境に、中継ノードを配置して、トラヒックを中継する方式 – Symmetric NATに対応 – ICE • STUN方式,TURN方式を組み合わせた方式 – Cone系NAT,Symmetric NATに対応 10 NEC Internal Use Only 4.既存方式の問題点 • 各方式での問題点 – STUN方式の場合 • すべてのNATに対応することができない – NATがSymmetricタイプの場合,通信不可能となる – TURN方式の場合 • NAT配下同士の端末は通信可能であるが,すべてのトラヒックを 中継するためスケーラビリティがない – ICE方式の場合 • NATでマッピングされるグローバルIPアドレス,port番号および, トラヒック中継用のIPアドレス,port番号を端末へ通知し,端末同 士でネゴシエーションを行って通信パスを決定するため, ①最適パスが設定されない ②パス設定に無駄な時間リソースを消費する 11 NEC Internal Use Only 5.提案方式概要 • グローバルIPをもったPeerが – ① NATタイプを判定 – ② NATタイプに応じて通信パスを決定 – ③ 通信パスに応じてSIPメッセージ内のSDP書換を実施 Peer Peer メ fo ッセ rN ー AT ジ Ty 交換 pe 判 定 換 定 ジ交 e判 セー Typ ッ メ AT rN fo メッセージ交換 for NAT Type判定 NAT1 NAT2 通信パス Client1 12 Client3 Client2 NEC Internal Use Only 提案方式 NATタイプの判定 Cone系,Symmetricの識別 • IP, portの組を変えて Cone系NAT or Symmetric を識別する STUNのシーケンス 13 NEC Internal Use Only 提案方式 通信パス決定 Peerは,NATタイプから最適な通信パスを決定 • 通信パス①:Peerで中継するパス – 双方のうちいずれかが,Symmetric NAT配下にいる場合 • 通信パス②:NATを越えて通信するパス – 少なくとも一方が,Cone系NAT配下にいる場合 • 通信パス③:ローカルネットワーク内で直接通信するパス – 双方とも同一NAT配下にいる場合 Peer Peer ① ② NAT1 NAT2 ③ Client1 14 通信パス Client3 Client2 NEC Internal Use Only 提案方式 SDP書換 Peerは,決定したパスに応じてSDP書換を実施 ①発呼側のNATタイプ通知 ②通信パス決定/SDP書換 ・SIPメッセージ内のSDPにNAT タイプを書き込む (SDPのオプションとして) ・発呼側NATタイプ,着呼側NAT タイプから,パスを決定してSDP 内の待ちうけIP, portを書換 発呼側 Client1 INVITE Peer1 NAT1 (Symmetric) 200OK 15 INVITE Peer2 INVITE NAT2 (Cone系) 200OK 200OK ④SDP書換 ③通信パス情報の通知 ・通信パス情報から,SDP内の待 ちうけIP, portを書換 ・SDP内に決定した通信パス情 報を記載 (SDPのオプションとして) NEC Internal Use Only 着呼側 Client2 P2PSIPでのNAT Traversalを考慮した全体シーケンス P2PSIP NAT1 Client 1 (Symmetric) ① P2PSIP Peer 1 STUN機能 P2PSIP Peer 2 SIP SIP STUN機能 REGISTER NAT2 (Cone系) REGISTER ② NATタイプ把握 INVITE ⑤ ④ Peer検索 INVITE NAT1のタイプ 情報 主信号経路 決定 ⑥ 主信号経路 設定 ⑦ INVITE ⑨ 200 OK ⑩ 200 OK 主信号 中継部 主信号 16 ① ② NATタイプ把握 ③ P2PSIP Client 2 主信号経路 設定 ⑧ 200 OK 主信号 経路情 報 ⑪ 主信号 NEC Internal Use Only 主信号 中継部 主信号 まとめ • P2PSIPにおけるNAT Traversal方式の検討 – PeerによるNATタイプの判定 – Peerによる通信パスの設定および,SDP書換実 施 ⇒SIPメッセージ交換の際に,NAT Traversal処理 を行うための情報交換,およびSDP書換を実施 することで,従来方式に比べて高効率な通信パ ス設定を実現できる 17 NEC Internal Use Only