IPSJ SIG Technical Report NTMobile SIP 1 1 2 1 1 SIP Session Initiation Protocol IP NAT Network Address Translation NTMobile Network Traversal with Mobility NTMobile RS Relay Server RS NTMobile SIP NAT SIP Method for establish communication with SIP Terminal in NTMobile Yoshioka Masahiro 1 Suzuki Hidekazu 1 Naito katsuhiro 2 Asahi Kensaku 1 Watanabe Akira 1 Abstract: SIP is widely used as the signaling protocol for multimedia communication. However, SIP cannot traverse NAT because it contains IP addresses in message body of IP packets. We have been proposing NTMobile (Network Traversal with Mobility) that can prove connectivity in every network environments. NTMobile has the convenient device called RS (Relay Server) that relays packets when end to end communication is difficult. In this paper, we propose the SIP communication method that can traverse NAT between an NTMobile node and a general SIP node. The proposed method uses modified RS that has the allocation function of port numbers of the NTM node. Keywords: Mobility NAT Traversal SIP 1. IPv4 IP NAT Network Address Translator NAT NAT 1 Graduate School of Science and Technology, Meijo University 2 Graduate School of Engineering, Mie University NAT WWW NAT LSN Large Scale NAT IPv4 NAT c 2012 Information Processing Society of Japan 1
IPSJ SIG Technical Report NAT NAT STUN[2] TURN[3] UPnP[4] 4+4[5] NAT-f[6] MIPNAT[7] AVES[8] NTSS[9] SIP Session Initiation Protocol [1] SIP IP IP NAT SIP NAT NAT SIP IP / SIP-ALG Application Level Gateway [10] SIP NAT NAT NAT NAT NAT NTMobile Network Traversal with Mobility [11][12][13][14] NTMobile IP IP UDP NTMobile IP IP 1 NTMobile RS Relay Server SIP [15] IP RS RS 1 SIP SIP 2. SIP SIP IP web SIP SIP NAT 2.1 1 SIP UA User Agent 1 UA2 SIP Server A B REG- UA1 URI:URI1 IP:G1 Registration Session Conection UA1 INVITE:URI2,G1:s1 dst:g2:d2 URI:URI1 IP:G1 REGISTER:URI1,G1 dst:p2:d2 200 OK 200 OK:G2:d2 SIP Server A INVITE:URI2,G1:s1 200 OK:G2:d2 SIP Server B INVITE:URI2,G1:s1 200 OK:G2:d2 ACK ACK ACK 1 Fig. 1 SIP Server RTP RTP SIP Basic sequence of SIP. IP:G2 NAT REGISTER:URI2,G2 200 OK INVITE:P2:d2 INVITE:P2:d2 INVITE:P2:d2 200 OK:G1:s1 ACK 200 OK:G1:s1 ACK 200 OK:G1:s1 ACK RTP Fig. 2 2 ACK RTP 宛先不明 ACK Address mismatch problem. UA2 URI:URI2 IP:G2 dst:g1:s1 dst:g1:s1 UA2 URI:URI2 IP:P2 ISTER URI Uniform Resource Identifier IP G1 G2 UA1 INVITE UA2 INVITE UA1 IP G1 s1 SIP Server A URI2 SIP SIP Server B SIP Server B URI2 INVITE UA2 INVITE UA2 200 OK 200 OK UA2 IP G2 d2 INVITE UA1 UA1 ACK IP UA2 RTP Real-time Transport Protocol UA1 UA2 2.2 SIP NAT NAT SIP 2 1 NAT NAT 1 SIP IP IP / c 2012 Information Processing Society of Japan 2
IPSJ SIG Technical Report DC RS Direction Coordinator Relay Server General Communication Encrypted Communication through UDP Tunnel RS DC General Server RS RIP:RIPMN RIP:RIPRS-S VIP:VIPMN MN NATMN RS-S UDP Tunnel NATCN UDP Tunnel RIP:RIPCN VIP:VIPCN CN RIPMN RIPRS-S RIPNATMN RIPRS-S RIPRS-S RIPNATCN RIPNAT RIPCN VIPMN VIPCN VIPMN VIPCN VIPMN VIPCN VIPMN VIPCN Out IP Header Original IP Header NAT Router NAT Router Wi-Fi NTM Node Fig. 4 4 RS-S Translation state of the packet communication using the RS-S. NTM Node NTM Node Private Network Private Network NTM Node 3 NTMobile Fig. 3 Overview of NTMobile. NAT IP IP IP 2 2 UA2 NAT UA2 UA1 SIP UA1 INVITE IP IP IP UA2 3. NTMobile 3.1 3 NTMobile NTMobile NTMobile NTM NTM DC Direction Coordinator RS Relay Server DC NTM IP NTM Dynamic DNS NTM DC IP NTM IP IP IP UDP DC NTM NAT NAT NAT NAT RS NAT IP DC DC RS DC NTM NTMobilie NTM NTM RS DC NTM 3.2 Relay Server NTMobile RS RS 3 NTM MN Mobile Node NTM CN Correspondent Node GN General Node 3.2.1 RS-S RS type-s Switch RS-S RS 4 RS-S MN CN NAT NAT DC RS-S UDP MN IP RS RS IP NATCN CN NAT RS-S IP NTMobile RS MN CN [16] c 2012 Information Processing Society of Japan 3
IPSJ SIG Technical Report RIP:RIPMN RIP:RIPRS-N MN VIP:VIPMN NATMN RS-N UDP Tunnel RIP:RIPGN GN MN NTM Direction Request NATMN DCMN RS-T CN NTM Relay Direction RIPMN RIPRS-N RIPNATMN RIPRS-N RIPRS-N RIPGN NTM Direction Response VIPMN VIPGN VIPMN VIPGN NTM Route Direction Fig. 5 5 RS-N Translation state of the packet communication using the RS-N. NTM Tunnel Request UDP Tunnel NTM Tunnel Response RIP:RIPMN RIPRS-T2 RIP:RIPRS-T1 VIP:RIPRS-T1 NATMN RIPRS-TN MN RS-T UDP Tunnel Alias IP address IP:RIPRS-T1 RIP:RIPGN GN Source Address Create NAT Translation Table Entry 7 RS-T Fig. 7 Connection procedure via RS-T. RIPMN RIPRS-T1 RIPNATMN RIPRS-T1 RIPRS-T1 RIPGN RIPRS-T1 RIPGN RIPRS-T1 RIPGN 6 RS-T Fig. 6 Translation state of the packet communication using the RS-T. 3.2.2 RS-N RS type-n NAT RS-N RS 5 RS-N RS-N RS-N / DC MN RS-N UDP RS-N MN IP RS-N GN IP GN GN RS-N RS-N RS-N IP MN RS-N NTM RS-N NTM 3.2.3 RS-T RS type-t Transparent RS-T RS [15] 6 RS-T RS-T SIP IP RS-T IP DC MN IP RS-T IP 2 IP MN SIP 2 IP RS-T MN GN GN RS-T RS-T RS-T MN RS-T MN GN 3.3 RS-T RS-T 3.3.1 NTM DC NTM DC IP RS-T IP IP RS-T IP 3.3.2 MN DNS MN DNS DNS NTMobile NTM NTM DC NTM NTM 3.3.3 7 RS-T MN NAT MN DCMN NTM Direction Request DCMN NTM Direction Request MN GN MN NTM GN RS-T DCMN RS-T c 2012 Information Processing Society of Japan 4
IPSJ SIG Technical Report NTM Relay Direction/NTM Direction Response NTM Relay Direction MN NTM DCMN MN NTM Route Direction RS-T MN RS-T NTM Tunnel Request/NTM Tunnel Response 3.3.4 MN IP UDP RS-T NAT IP IP MN GN SIP 3.3.5 RS-T RS-T MN1 1 RS-T GN MN IPv4 RS-T 4. RS-T NTM RS-T 1 4.1 DC RS-T RS-T 1 IP NTM SIP SIP SIP SIP SIP 4.2 4.2.1 8 DCMN MN NTM MN SIP REGISTER MN RS-T NTMobile RIP:RIPMN VIP:RIPRS-T SIP URI:URIMN MN NATMN NTM Direction Request URIMN NTM Tunnel Request REGISTER Src port:a1 SIP URIMN Fig. 8 RIPRS-T 8 NTM Route Direction RIPRS-T Port:a1 DCMN NTM Relay Direction URIMN RS-T NTM Direction Response Port:a1 NTM Tunnel Response NTM SIP 200 OK SIPMN Sequence of SIP registration process of NTM node MN DCMN NTM Direction Request SIP URI DCMN RS-T NTM Relay Direction MN SIP URI RS-T SIP URI SIP 1 NTM Direction Response DCMN RS-T SIP SIP URI SIP URI RS-T SIP DCMN MN RS-T IP NTM Route Direction MN RS-T IP IP MN RS-T RS-T SIP SIPMN SIP SIPMN MN IP RS-T IP MN DCMN RS-T Keep Alive 4.2.2 NTM 9 MN SIP GN MN SIPMN GN SIPGN MN SIP INVITE RS-T NTM SIP Port Request RS-T NTM SIP Port Request RS-T c 2012 Information Processing Society of Japan 5
IPSJ SIG Technical Report RIP:RIPMN RIP:RIPMN VIP:RIPRS-T SIP URI:URIMN SIP URI:URIMN MN NATMN RS-T SIPMN SIPGN GN UA1 IP:IPUA1 SIP URI:URIUA1 SIP Server 1(Asterisk) NTM SIP Port Request REGISTER Dst port:5060,src port: 10000 NTM SIP Port Response INVITE Src port:a1 Port:a2 R e g is t r a t io n SIP URIUA1 IPUA1 200 OK Dst port:1000,src port : 5060 SIP Server 2(Asterisk) IP:IPUA2 SIP URI:URIUA2 UA2 SIP URIGN RIPRS-T Port:a2 Keep Alive 200 OK ACK RTP Dst IP:RIPGN port:b SIP URIMN =MN SIP URIMN RIPGN Port:b RTP Dst IP:RIPGN port:a2 S e s io n C o n e c t io n INVITE SIP URIUA1 IPUA1 Port:20500 ACK Dst port:5060,src port : 10000 200 OK Dst port:1000,src port: 5060 INVITE Dst port:5060,src port : 5060 INVITE Dst port:5060,src port : 5060 200 OK Dst port:5060,src port : 5060 200 OK Dst port:5060,src port: 5060 SIP URIUA2 IPUA2 Port:7078 Dst port:5060,src port: 10000 ACK Dst port:5060,src port : 5060 ACK Dst port:5060,src port : 5060 Port:a2=MN RTP Dst port:7080,src port : 20500 9 MN Fig. 9 Operation sequence in the case where communication started from MN Fig. 11 RTP Dst port:20500,src port : 7078 11 Communication sequence operation verification RIP:RIPMN RIP:RIPMN VIP:RIPRS-T SIP URI:URIMN SIP URI:URIMN MN NATMN RS-T SIPMN SIPGN GN INVITE SIP URIMN RIPGN Port:b NTM SIP Port Request SIP URIMN =MN NTM SIP Port Response Port:a2 200 OK Src port:a1 SIP URIGN RIPRS-T Port:a2 ACK RTP Dst IP:RIPGN port:b Port:a2=MN RTP Dst IP:RIPMN port:a2 10 GN Fig. 10 Operation sequence in the case where communication started from GN NTM SIP Port Response RS-T NTM RS-T MN MN INVITE SDP Session Description Protocol RS-T a2 RS-T SIPMN INVITE SIP SIPMN SIPGN GN INVITE GN INVITE 200 OK MN MN ACK GN MN GN RS-T 4.2.3 SIP 10 GN NTM MN MN GN SIP GN MN SIPGN MN INVITE SIPGN INVITE SIP URI MN SIPMN SIPMN MN IP RS-T IP GN INVITE RS-T INVITE RS-T SIP URI NTM SIP URI MN INVITE MN INVITE RS-T NTM SIP Port Request/Response RS-T MN 200 OK SDP SIP ACK 5. SIP SIP SIP 5.1 SIP UA1 UA2 Linux Linphone[17] SIP Server 1 SIP Server 2 Asterisk[18] UA1 UA2 SIP Server 1 SIP Server 2 c 2012 Information Processing Society of Japan 6
IPSJ SIG Technical Report 5.2 11 SIP 5060 SIP RS-T RS-T SIP UA1 SIP 10000 UA1 SIP Server 1 REGISTER SIP Server 1 UA1 200 OK 200 OK 10000 UA1 SIP Server 1 Keep Alive SIP UA1 UA2 INVITE RS-T RS-T SIP UA1 20500 INVITE UA1 SIP Server 1 INVITE UA1 SIP Server 1 SIP SIP UA1 UA2 SIP UA1 UA2 UA2 UA1 RS-T 20500 SIP 6. NTMobile NAT RS-T SIP NAT SIP [1] Rosenberg J. Schulzrinne G. Camarillo G. Johnston A. Peterson J. Sparks R. Handley M. and Schooler E. SIP Session Initiation Protocol RFC 3261 IETF 2002 [2] Rosenberg J. Mahy R. Matthews P. and Wing D. Session Traversal Utilities for NAT STUN RFC 5389 IETF 2008 [3] Mahy R. Matthewes P. and Rosenberg J. Traversal Using Relays around NAT TURN RFC 5766 IETF (2010) [4] Forum U. Internet Gateway Device (IGD) Standardized Device Control Protocol V 1.0 2001. [5] Turanyi Z. Valko A. and Campbell A. 4+4 An Architecture for Evolving the Internet Address Space Back Toward Transparency ACM SIGCOMM Computer Communication Review Vol.33 No.5 pp.43-54 2003. [6] NAT NAT-f Vol.48 No.12 pp.3949-3961 2007. [7] Levkowetz H. and Vaarala S. Mobile IP Traversal of Network Address Translation NAT Devices RFC 3519 IETF 2003. [8] Ng T. Stoica I. and Zhang H. A Waypoint Service Approach to Connect Heterogeneous Internet Address Spaces Proc. USENIX Annual Technical Conference pp.319-332 2001. [9] NAT NTSS Vol.51 pp.1234-1241 2010. [10] Johnston A. Donovan S. Sparks R. Cunninghan C. and Summers K. Session Initiation Protocol SIP Basic Call Flow Examples RFC 3665 IETF 2003 [11] NTMobile DICOMO2011 Vol.2011 No.1 pp.1339-1348 2011 [12] NTMobile DICOMO2011 Vol.2011 No.1 pp.1349-1359 2011 [13] NTMobile DICOMO2011 Vol.2011 No.1 pp.1139-1145 2011 [14] IPv6 NTMobile Vol.2011-MBL-59 No.9 pp.1-7 2011 [15] NTMobile RS 74 pp.3-225-3-226 2011 [16] NTMobile Vol.2011-MBL-61 No.33 pp1-8 2011. [17] linphone,open-source voip software Linphone,an open-source video sip phone.http://www.linphone.org/. [18] Asterisk IP PBX,VOIP Gateway,IVR & Open Source Communications http://www.asterisk.org c 2012 Information Processing Society of Japan 7
NTMobile における一般 SIP 端末との通信実現手法 NTMobile における一般 SIP 端末との通信実現手法 名城大学大学院理工学研究科 三重大学大学院工学研究科 吉岡正裕, 鈴木秀和, 内藤克浩, 旭健作, 渡邊晃
NTMobile における一般 SIP 端末との通信実現手法 2 研究背景 IPv4のアドレス枯渇 - インターネットの発展に伴い,IPv4グローバルアドレスが不足 - 組織や家庭のネットワークはプライベートアドレスが一般的 - NATを介した通信が必須 SIP(Session Initiation Protocol) の普及 - IP 電話のシグナリング処理として使用されている - SIP 単体ではNATを通過することができない NAT:Network Address Transration *: 本稿では NAPT または IP マスカレードを含めて NAT と呼ぶ
NTMobile における一般 SIP 端末との通信実現手法 3 SIP の概要 SIP(Session Initiation Protocol) - 通信の開始, 通信の切断を行うために使用するプロトコル - SIPメッセージで, メディアセッションで使用する情報を交換 UA:User Agent RTP:Real-time Transport Protocol リアルタイム データ転送プロトコル
NTMobile における一般 SIP 端末との通信実現手法 4 SIP と NAT NAT 越え問題 - NAT 外部から内側に向けて通信を開始できない アドレス不整合問題 - NAT では,IP ペイロード部分のアドレス変換を行わない - SIP メッセージが NAT を通過するとアドレスの不整合が生じる IP ペイロードのアドレスは変換されない
NTMobile における一般 SIP 端末との通信実現手法 5 SIP-ALG SIP-ALG(SIP-Application level Gateway) - NAT 機能を拡張し, ペイロード内の IP アドレスを NAT 外側の IP アドレスに書き換える 利点 - SIP 端末に改造を加える必要がない 欠点 - パケットの中身まで検査するため,NAT に負荷がかかる - SIP メッセージが暗号化されている場合には対応できない NAT でペイロード部分の IP アドレス書き換え
NTMobile における一般 SIP 端末との通信実現手法 6 NTMobile NTMobile(Network Traversal with Mobility) - 端末を一意に識別する仮想アドレスを導入 - 全てのパケットを実 IPアドレスでカプセル化 - 実 IPアドレスの変化を隠蔽 - NATに改造を加えずに実現が可能 NAT 越えと移動透過性を同時に実現することができる
NTMobile における一般 SIP 端末との通信実現手法 7 NTMobile の概要 仮想 IP アドレスの配布, 経路指示を行う 異なる NAT 配下間や一般端末との通信時にパケットの中継を行う UDP カプセル化パケット 通常パケット
NTMobile における一般 SIP 端末との通信実現手法 8 Relay Server 特定の条件においてパケットの中継を行うサーバ RS-S:Relay Server type Switch - トンネル切り替え型 - 異なるNAT 配下のNTM 端末間のパケットを中継 RS-N:Relay Server type NAT - アドレス変換型 - 一般サーバとNTM 端末間のパケットを中継 RS-T:Relay Server type Transparent - アドレス無変換型 - IPアドレスを含むアプリケーションを使用する場合にパケットを中継
NTMobile における一般 SIP 端末との通信実現手法 9 RS の種類 (1/3) RS-S(RS type Switch) - トンネル切り替え型 RS - NTM 端末が異なるNAT 配下に存在する場合に使用 - 双方のNTM 端末との間にUDPトンネルを構築 - 直接通信が出来る場合は,NTM 端末の判断で自律的に経路切り替え 異なる NAT 配下の NTM 端末
NTMobile における一般 SIP 端末との通信実現手法 10 RS の種類 (2/3) RS-N(RS type NAT) - アドレス変換 (NAT) 型 RS - 通信相手端末がインターネット上の一般サーバの場合に使用 - NTM 端末との間にUDPトンネルを構築 - RS-Nは仮想 IPアドレスと実アドレスの変換 - 一般端末はRS-Nを通信相手と認識 通信相手は RS-N と認識
NTMobile における一般 SIP 端末との通信実現手法 11 RS の種類 (3/3) RS-T(RS type Transparent) - アドレス無変換型 RS - ペイロードにIPアドレスを含むアプリケーションを用いる場合に使用 - RS-Tが持つ実 IPアドレス群の1 個をNTM 端末に割り当てる - NTM 端末はこれを仮想アドレスとして使用 通信相手は RS-T と認識
NTMobile における一般 SIP 端末との通信実現手法 12 RS-T を用いた通信シーケンス トンネル構築の指示の要求 通信中継を指示 トンネルの経路の指示 トンネル構築要求 UDP トンネル構築
NTMobile における一般 SIP 端末との通信実現手法 13 RS-T を用いたトンネル構築シーケンス (1/4) アプリケーションがパケット送信 カーネルでパケットカプセル化 RS-T は複数の実 IP アドレスを保持 RIP: 実 IP アドレス VIP: 仮想 IP アドレス
NTMobile における一般 SIP 端末との通信実現手法 14 RS-T を用いたトンネル構築シーケンス (2/4) 外側の IP ヘッダをアドレス変換 RIP: 実 IP アドレス VIP: 仮想 IP アドレス
NTMobile における一般 SIP 端末との通信実現手法 15 RS-T を用いたトンネル構築シーケンス (3/4) 受信したパケットをデカプセル化 アドレス変換は行わない RIP: 実 IP アドレス VIP: 仮想 IP アドレス
NTMobile における一般 SIP 端末との通信実現手法 16 RS-T を用いたトンネル構築シーケンス (4/4) RS-T からパケットを受信 通信相手は RS-T と認識する RIP: 実 IP アドレス VIP: 仮想 IP アドレス
NTMobile における一般 SIP 端末との通信実現手法 17 RS-T を介した SIP 通信の課題 NTM 端末 1 台に対して,1 個のグローバル IP アドレスを割り当てを行う IP アドレスにより NAT 配下の NTM 端末を識別 グローバル IP アドレスの枯渇問題に逆行する
NTMobile における一般 SIP 端末との通信実現手法 18 提案方式 ポート番号を利用し,NAT 配下の NTM 端末を識別 RS-T から SIP 通信開始時に,NTM 端末に重複しないポート番号の割り当てる グローバルアドレスを 1 個だけで NTM 端末を管理
NTMobile における一般 SIP 端末との通信実現手法 19 事前処理 RS-T とトンネルを構築し,RS-T から必要な情報を取得 URIMN SIP 登録処理実行で動作 SIPURI の登録 RS-T の実 IP アドレス取得 Port:a IP:RIPRS-T
NTMobile における一般 SIP 端末との通信実現手法 20 SIP サーバへの登録 割り当てられたポート番号を用いて,SIP サーバへ登録 構築したトンネルは Keep Alive により維持
NTMobile における一般 SIP 端末との通信実現手法 21 MN から通信開始時 INVITE 送信前にメディアセッションで用いるポート番号の割り当てを受ける 割り当てられるポート番号の範囲は, カーネルが使用しないように事前設定する INVITE をトリガーとし, ポート番号取得 未使用のポート番号を割り当てる Port:b = MN メディアセッションで MN が使用するポート番号 Port:b
NTMobile における一般 SIP 端末との通信実現手法 22 発信処理 INVITE に含まれるポート番号を, 登録時に取得したポート番号に書き換える Port:x b Port:b INVITE に含まれるポート番号 SIP URI から端末判断 Port:c GN がメディアセッションで使用するポート番号
NTMobile における一般 SIP 端末との通信実現手法 23 メディアセッション MN がポート変換を行うことにより,NAT に改造が不要 RS-T のアドレスは 1 個で可能 RTP (Dst:IP=RIP GN,Port=c) 宛先は RS-T RTP (Dst:IP=RIP RS-T,Port=b) Port:b x ポート番号から端末判断 カーネルでポート変換し, アプリケーションに返す
NTMobile における一般 SIP 端末との通信実現手法 24 GN から通信開始時 INVITE 受信により,RS-T からポート番号の割り当てを受ける INVITE をトリガーとし, ポート番号取得 Port:c Port:b 未使用のポート番号を割り当てる Port:b = MN メディアセッションで GN が使用するポート番号
NTMobile における一般 SIP 端末との通信実現手法 25 確認事項 提案方式では,SIP のメッセージ内容を動的に変更するのみ SIP 自体の修正は必要としない 実アプリケーションの実装が提案方式の処理に対応可能なのか確認する必要がある - 一般に使用されているSIPクライアント * とSIPサーバ ** を用いて, 提案方式の実現可能性を調査 *:Linphone open-source voip software Linphone,an open-source video sip phone.http://www.linphone.org/. **:Asterisk IP PBX,VOIP Gateway,IVR & Open Source Communications.http://www.asterisk.org
NTMobile における一般 SIP 端末との通信実現手法 26 動作確認の目的 1 SIP 通信のポート番号は 5060 が標準 (RFC3261) - 独自で指定したポート番号で SIP 通信が行えるか 2 RTP などメディアセッションで使用するポート番号は, アプリケーションに依存 - アプリケーションが使用するポート番号と異なるポート番号で通信が行えるか
NTMobile における一般 SIP 端末との通信実現手法 27 動作確認 1:SIP 登録処理 SIP 通信のポート番号を 5060 から 10000 に変更し,SIP 登録処理を実行 パケットを正常に受信し, ポートへ返信
NTMobile における一般 SIP 端末との通信実現手法 28 動作確認 2:SIP 通信処理 メディアセッションで使用するポート番号を, アプリケーションが決めるものから任意のポート番号に変更する Port:20500 任意で割り当てたポート番号 Port:7080 SIP 通信で交換したポート番号で RTP 通信を確認
NTMobile における一般 SIP 端末との通信実現手法 29 まとめ NTMobile における一般 SIP 端末との通信実現手法の提案 - RS-T を拡張し, 重複しないポート番号により NTM 端末を識別 動作確認により, 提案方式が実現可能であることを確認した 今後は, 実装と評価を行う
NTMobile における一般 SIP 端末との通信実現手法 30 補足資料
NTMobile における一般 SIP 端末との通信実現手法 31 SIP と NAT SIP 通信で交換する IP アドレスがプライベートアドレスだった場合, メディアセッションを開始できない 宛先がプライベートアドレスのため相手に届かない
NTMobile における一般 SIP 端末との通信実現手法 32 RS-S を用いたトンネル構築シーケンス トンネル構築の指示の要求 通信中継を指示 トンネルの経路の指示 トンネル構築要求 UDP トンネル構築
NTMobile における一般 SIP 端末との通信実現手法 33 RS-N を用いたトンネル構築シーケンス RS でカプセル / デカプセル化と NAT 処理を行う
NTMobile における一般 SIP 端末との通信実現手法 34 RS の実装 RS の実装 - ユーザー空間の RS Deamon - カーネル空間の RS kernel Module Relay Table - RS が保持しているテーブル - 転送に必要な情報 ( トンネル経路の情報など ) が記録されている RS Daemon Create Table User Space Kernel Space Netfilter RS Kernel Module Netlink Socket Real IF Search Relay Table
NTMobile における一般 SIP 端末との通信実現手法 35 RS-S のパケット遷移 RS-S はトンネル経路の切替を行う 外側 IP ヘッダのみアドレスが変化 RIP:RIPMN RIP:RIPRS-S VIP:VIPMN MN NATMN RS-S NATCN RIP:RIPCN VIP:VIPCN CN UDP Tunnel UDP Tunnel RIPMN RIPRS-S RIPNATMN RIPRS-S RIPRS-S RIPNATCN RIPRS-S RIPCN VIPMN VIPCN VIPMN VIPCN VIPMN VIPCN VIPMN VIPCN Out IP Header Original IP Header
NTMobile における一般 SIP 端末との通信実現手法 36 RS-N のパケット遷移 パケットのカプセル / デカプセル化を行う 元パケットのアドレス変換を行う RIP:RIPMN VIP:VIPMN RIP:RIPRS-N MN NATMN RS-N RIP:RIPGN GN UDP Tunnel RIPMN RIPRS-N VIPMN VIPGN RIPNATMN RIPRS-N VIPMN VIPGN RIPRS-N RIPGN