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