NTMobile SIP 1 SIP Session Initiation Protocol IP IP NAT Network Address Translation NTMobile Network Traversal with Mobility NTMobile RST Relay Server Transparent type NAT SIP 2 NTMobile 1 NTMobile NTMobile NTMobile NTM NTM DC Direction Coordinator RS Relay Server DC Dynamic DNS NAT NTMobile NTMobile IP IP UDP NTM DC NTM DC IP NTM IP NTM DC UDP IP NTM NAT IP Proposal of SIP-based Communications based on NTMobile Masahiro Yoshioka Hidekazu Suzuki Katsuhiro Naito Akira Watanabe Faculty of Science and Technology Meijo University Electrical and Engineering Mie University Graduate School DC RS Direction Coordinator Relay Server NAT Router NTM Node 3 SIP RS DC NAT Router NTM Node Wi-Fi General Server 1: NTMobile RS NTM Node NTM Node 3G Network SIP IP SDP Session Description Protocl IP SDP INVITE SDP 200 OK NAT NAT IP IP SIP SDP IP NAT NTMobile NTMobile IP NTMobile RST SIP 4 4.1 RST NTMobile RSN Relay Server NAT type NTM RSN RS SIP RST RST IP 1
NTM NTM NTMobile RST 4.2 MN 2 MN NTM MN DCMN IP DCMN MN IP RST 1 MN RST DCMN DCMN RST MN RST SIP MN SIP MN GN MN RST GN RST SIP 3 MN 1 VIP IP interface tun 1 NAT RST SIP MN NAT Registration Request Registration Response Direction Request Route Direction Tunnel Request Tunnel Response DCMN Relay Direction Direction Response 2: MN 4.3 SIP RST RST SIP 3 MN NTM GN SIP SIPMN SIPGN 3 MN GN DNS SIP MN SIP MN RST RST GN SIP GN RST MN SIP ACK RTP Real-time Transport Protocol MN NAT DNS Name Resolution (SIPMN) INVITE 200 OK ACK RTP DNSMN RST INVITE 200 OK ACK SIPMN INVITE 200 OK ACK RTP SIPGN 3: RST SIP INVITE 200 OK 1: MN adress netmask gateway interface 0.0.0.0 0.0.0.0 VIPRST tun0 10.0.0.0 255.0.0.0 VIPMN tun1 DNSMN 255.255.255.255 DGW eth0 DCMN 255.255.255.255 DGW eth0 RST 255.255.255.255 DGW eth0 SIPMN 255.255.255.255 DGW eth0 5 NTMobile SIP 6 [1] NTMobile DICOMO2011 1339-1348 2011 [2] NTMobile DICOMO2011 1349-1359 2011 ACK GN
NTMobile における SIP 通信の実現手法 名城大学 三重大学 吉岡正裕, 鈴木秀和, 内藤克浩, 渡邊晃
NTMobile を用いた SIP 通信の実現手法 2 研究背景 IPv4 のアドレス枯渇 インターネットの発展に伴い,IPv4 グローバル IP アドレスが不足している 組織や家庭のネットワークはプライベートアドレスが一般的 NAT を介した通信が必須 SIP の普及 IP 電話のダイヤルとして使用されている 今後重要なプロトコルとして注目されている NAT を通過することができない SIP が NAT を通過できると有用である NAT:Network Address Transration *: 本稿では NAPT または IP マスカレードを含めて NAT と呼ぶ
NTMobile を用いた SIP 通信の実現手法 3 SIP について SIP(Session Initiation Protocol) とは通信の開始, 通信の切断を行うために利用するプロトコルで, 主にIP 電話やマルチメディア会議などに利用されている IP 網 ( インターネット ) SIP の手順でセッションを確立 SIP 対応電話機 IP 電話など通信開始 SIP 対応パソコン
NTMobile を用いた SIP 通信の実現手法 4 SIP 基本シーケンス SIPメッセージにおいて, メディアセッションで使用するポート番号を交換する UA1 SIP Server A SIP Server B UA2 URI:URI1 IP:G1 URI:URI2 IP:G2 INVITE:URI2,G1:s1 INVITE:URI2,G1:s1 INVITE:URI2,G1:s1 200 OK:G2:d2 200 OK:G2:d2 200 OK:G2:d2 ACK ACK ACK RTP dst:g2:d2 dst:g1:s2 RTP UA:User Agent RTP:Real-time Transport Protocol リアルタイム データ転送プロトコル
NTMobile を用いた SIP 通信の実現手法 5 SIP が NAT を通らない理由 NAT 越え問題 NAT 外部から内側に向けて通信を開始できない 通常のNTMobileの動作で解決可能 メッセージ内に IP アドレス ポート番号が含まれている NAT を通過した際,IP ヘッダ部分と IP ペイロード部分のそれぞれに記載されている IP アドレスに不整合が生じる NTMobile においても工夫を要する
NTMobile を用いた SIP 通信の実現手法 6 NTMobile* について NTMobile(Network Traversal with Mobility) とは 端末を一意に識別する仮想アドレスを用いて, 全てのパケットを実 IP アドレスでカプセル化して通信を行うことにより, 実 IP アドレスの変化を隠蔽することができる NAT に改造を加えずに実現が可能 NAT 越えと移動透過性を同時に実現することができる *: 鈴木秀和, 他 :NTMobile における相互接続性の確立手法と実装 DICOMO2011 論文集,pp.1339-1348,2011
NTMobile を用いた SIP 通信の実現手法 7 NTMobile の概要図 仮想 IP アドレスの配布, 経路指示を行う 異なる NAT 配下間や一般端末との通信時にパケットの中継を行う RS DC General Server RS NAT Router NAT Router Wi-Fi NTM Node DC:Direction Coordinator RS:Relay Server NTM Node NTM Node
NTMobile を用いた SIP 通信の実現手法 8 NTMobile における SIP 通信の課題 通常の NTMobile で使用される RS の特徴 受信したパケットのカプセル化 デカプセル化を行う 送信元アドレスを RS のアドレスに変換する IP ヘッダ部分と IP ペイロード部分のそれぞれに記載されている IP アドレスの相違の問題を解決できない NTMobile では仮想 IP アドレスを使用する SIP では仮想 IP アドレスを使用できない アドレス変換を行わない RS の導入
NTMobile を用いた SIP 通信の実現手法 9 アドレス無変換型リレーサーバ RST RST(Relay Server Transparent Type) アドレス変換を行わない RS であり, 受信したパケットをカプセル化 デカプセル化をのみを行う RST は複数の実 IP アドレスを保持しており,NTM 端末に割り当てる NTM 端末は仮想 IP アドレスとして RST から割り当てられた IP アドレスを使用する
NTMobile を用いた SIP 通信の実現手法 10 アドレス無変換型リレーサーバ RST NTM 端末はあらかじめ RST とトンネルを構築しておく 一般端末は通信相手をグローバル空間にいると認識する RIP:RIPMN VIP:RIPRST RIP:RIPRST RIP:RIPGN NTMobile MN NAT RST GN UDP トンネル RIPMN RIPRST RIPNAT RIPRST RIPRST RIPGN 外側 IP ヘッダ RIPRST RIPGN RIPRST RIPGN 元 IP ヘッダ NAT によるアドレス変換 RST によるカプセル化 デカプセル化処理 RIP: 実 IP アドレス VIP: 仮想 IP アドレス
NTMobile を用いた SIP 通信の実現手法 11 提案方式 1/3: 環境 NTMobile 対応端末 :MN 使用する SIP サーバ SIPMN と SIPGN はそれぞれの端末情報をすでに登録してあるものとする NAT 配下にある MN からグローバル空間の一般端末 GN に向けて通信を開始する SIP 通信開始前に,MN は RST とトンネルを構築する NTMobile MN NAT DCMN RST DNSMN SIPMN SIPGN GN
NTMobile を用いた SIP 通信の実現手法 12 提案方式 2/3: 事前準備 MN は通信開始前に RST との間に UDP トンネルを構築する NTMobile 経路指示要求 NAT MN Direction Request DCMN Relay Direction RST Direction Response 経路指示 Route Direction Tunnel Request トンネル構築 UDP Tunnel Tunnel Response
NTMobile を用いた SIP 通信の実現手法 13 提案方式 3/3:SIP メッセージ処理 構築した UDP トンネルを用いて SIP メッセージのやり取りを行う GN は通信相手をグローバル空間の端末と認識する NTMobile MN NAT DNSMN RST SIPMN SIPGN GN DNS Name Resolution (SIPMN) INVITE 200 OK ACK INVITE INVITE INVITE 200 OK 200 OK 200 OK ACK ACK ACK RTP
NTMobile を用いた SIP 通信の実現手法 14 むすび NTMobile においてアドレス無変換型リレーサーバ RST を用いることにより,SIP の NAT 越え通信の検討を行った 今後は, 実装と評価を行っていく
NTMobile を用いた SIP 通信の実現手法 15 補足資料など
NTMobile を用いた SIP 通信の実現手法 16 SIP URI について SIP URI(Uniform Resource Identifier) とは 相手を特定するために使用する フォーマット SIP:< ユーザー識別子 >:@<FQDN> 例 :SIP:UserA@abc.xyz.ac.jp
NTMobile を用いた SIP 通信の実現手法 17 SIP の NAT 越え問題 相手の登録した IP アドレスがプライベート IP アドレスの場合, パケットが NAT で認識されず破棄される UA1 SIP Server NAT UA2 URI:URI1 IP:G1 IP:G2 URI:URI2 IP:P2 INVITE:URI2,G1:s1 URI2=(P2) INVITE:URI2,G1:s1 dst:p2 宛先不明
NTMobile を用いた SIP 通信の実現手法 18 RST を用いた SIP 通信における問題 ACK メッセージ受信後, 通信がエンドエンドに切り替わる際にパケットを送る相手が変わるが, 変わった相手に対するルーティングテーブルが生成されていない RST ではデフォルトルートの設定は既存のままであるため, カプセル化されずパケットが相手に届かない ルーティングテーブルを適切に設定する必要がある
NTMobile を用いた SIP 通信の実現手法 19 ルーティングテーブル ルーティングテーブルとは 個々のネットワークの宛先への経路が記されているテーブルで, パケットを正しい宛先に送るための経路を判断する デフォルトルート ルーティングテーブルに記載されていない宛先の場合に使用される部分のこと DGW:Defalut Gateway IP アドレスサブネットマスクゲートウェイインターフェイス 0.0.0.0 0.0.0.0 192.168.1.1 eth0 192.168.1.0 255.255.255.0 DGW eth0 127.0.0.0 255.0.0.0 DGW eth0
NTMobile を用いた SIP 通信の実現手法 20 通常の NTMobile におけるルーティングテーブル 一般端末と異なる NAT 配下の端末との通信は RS を経由し, NTM 端末同士の場合は直接通信を行う IP アドレスサブネットマスクゲートウェイインターフェイス 0.0.0.0 0.0.0.0 DGW eth0 10.0.0.0 255.0.0.0 VIPMN tun1 DNSMN 255.255.255.255 DGW eth0 DCMN 255.255.255.255 DGW eth0 CN 255.255.255.255 DGW eht0 RS 255.255.255.255 DGW eth0 VIP: 仮想 IP アドレス tun: 仮想インターフェイス eth: 物理インターフェイス DGW: デフォルトゲートウェイ
NTMobile を用いた SIP 通信の実現手法 21 提案方式におけるルーティングテーブル RST とのトンネル構築時に ルーティングテーブルを動的に設定する デフォルトルート IPアドレス サブネットマスク ゲートウェイ インターフェイス 0.0.0.0 0.0.0.0 DGW tun0 10.0.0.0 255.0.0.0 VIPMN tun1 DNSMN 255.255.255.255 DGW eth0 DCMN 255.255.255.255 DGW eth0 RST 255.255.255.255 DGW eth0 VIP: 仮想 IP アドレス tun: 仮想インターフェイス eth: 物理インターフェイス DGW: デフォルトゲートウェイ
NTMobile を用いた SIP 通信の実現手法 22 ルーティングテーブル参照時の動作 ルーティングテーブルを参照した後, パケットは Netfilter に行きインターフェイスによってカプセル化を行い, カプセル化した場合はもう一度ルーティングテーブルを参照する ルーティングテーブル Netfilter tun カプセル化 eth