第 6 章 階層的 Mobile IP と NAT, SIP の連携による実現手法
6.4 詳細手順
MNa1v1 FA GFA1 + SIP
HAa + SIP
MNa2v2
INVITE
Session Data
180 Ringing 100 Trying
100 Trying
180 Ringing
200 OK
ACK 200 OK
INVITE
INVITE
ACK
ACK
BYE BYE
BYE 200 OK Session Data
180 Ringing 200 OK
200 OK 200 OK
GFA2
+ SIP FA
100 Trying
(トンネリング) SIP: user-a1@domain-a
IP=Pa1 SIP: user-a2@domain-a
IP=Pa2
(トンネリング) sip-proxy .domain-v1
sip-proxy .domain-a
sip-proxy .domain-v2
図 6-8 同一ホームネットワークに所属するMN間の通信
6.4.2 通信形態 2
移動端末からグローバルIPネットワークのCNへの通信として、図 6-5において、移動端 末MNa1v1 がグローバルIPネットワークに接続しているCNgに対してセッションを確立す る場合の手順を図 6-9に示す。
(1) MNa1v1は、SIPプロキシー機能をサポートするGFA1にINVITE要求メッセージを 送信する。本通信形態では、GFA1はMNa1v1に対して一時的なグローバルアドレスGv1 を割り当て、割り当てたグローバルアドレスをINVITE要求メッセージの”Contact”フィー ルドに格納して、HAa経由で CNg宛にINVITE要求を送信する。これにより、CNgは、
発信元であるMNa1v1のアドレスをGv1として認識する。
(2) MNa1v1がCNg宛に送信するセッションのデータパケットは、FAからGFA1にトン ネリングされる。GFA1は、FAから受信したパケットの送信元アドレスを、MNa1v1のプ ライベートアドレスPa1から、先に割り当てたグローバルアドレスGv1に変換する。その 後、GFA1からCNgまで通常のIPルーティング処理によってパケットが転送される。
(3) CNgがMNa1v1宛、すなわちグローバルアドレスGv1宛のパケットを送信する場合、
Gv1はGFA1が割り当てたアドレスであるため、該当パケットはGFA1によってキャプチ ャされる。GFA1 はキャプチャしたパケットの宛先アドレスを、Gv1 からプライベートア ドレスPa1に変換し、GFA-FA間のトンネリングによって、該当パケットをMNa1v1に送 信する。
(4) SIPのBYEメッセージおよび200 OKメッセージの交換によってセッションが切断さ
れる際に、GFA1はMNa1v1に割り当てたグローバルアドレスGv1を解放する。
MNa1v1 FA GFA1 + SIP + NAT
HAa +
SIP CNg
INVITE
Session Data
180 Ringing 100 Trying
100 Trying 180 Ringing
200 OK
ACK 200 OK
INVITE (Contact: Gv1)
INVITE
ACK ACK
BYE BYE BYE
MNa1v1に対する NAT (Pa1 / Gv1) MNa1v1にグローバル アドレスGv1割り当て
200 OK Gv1解放
Session Data
Session Data
Session Data 180 Ringing
200 OK
200 OK 200 OK
SIP: user-a1@domain-a
IP=Pa1 SIP: user-g1@domain-g
IP=Gg1 sip-proxy
.domain-a sip-proxy
.domain-v1
図 6-9 MNからグローバルIPネットワークのCNへの発信
6.4.3 通信形態 3
異なるホームネットワークに所属し、かつ異なる外部ネットワークに接続中の移動端末 間の通信として、図 6-6において、移動端末MNa1v1からMNb2v2にセッションを確立す る場合の手順を図 6-10に示す。
(1) MNa1v1は、最初にGFA1にINVITE要求メッセージを送信する。宛先であるMNb2v2 のSIP URIドメインは、MNa1v1のドメインと異なるため、GFA1はMNa1v1に対してグ ローバルアドレスGv1を割り当てる。GFA1は、割り当てたグローバルアドレスGv1 を、
INVITE要求メッセージの”Contact”フィールドに格納してHAaに送信する。
(2) 続いてHAaは、宛先のドメインがホームネットワークBであるため、INVITE要求メ ッセージをHAbに送信する。GFA2がHAb経由でINVITE要求を受信すると、MNb2v2 に対してグローバルアドレスGv2を割り当てる。割り当てられたグローバルアドレスGv2 は、その後200 OKメッセージの”Contact”フィールドに格納されてMNa1v1に通知される。
(3) セッション確立が成功した後、MNa1v1は、宛先アドレスをGv2としてMNb2v2にセ ッションのデータパケットを送信する。GFA1 は、MNa1v1 から送信されたパケットの送 信元アドレスをMNa1v1のプライベートアドレスPa1からグローバルアドレスGv1 に変 換した後、そのパケットをGFA2に通常のIPルーティングに従って転送する。グローバル アドレスGv2はGFA2によって割り当てられたものであるため、これらのパケットはゲー トウェイルータでもある GFA2 によってキャプチャされ、宛先アドレスが Gv2 から、
MNb2v2のプライベートアドレスPb2に変換される。その後、GFA2は、GFA-FA間のト ンネリングを用いてパケットをMNb2v2 まで転送する。MNb2v2からMNa1v1に向けた 逆方向のパケットについても、GFA2およびGFA1によって同様に処理される。
(4) BYEメッセージおよび200 OKメッセージの交換によってセッションが切断される際に、
GFA1およびGFA2は、グローバルアドレスGv1およびGv2をそれぞれ解放する。
MNa1v1 FA GFA1 + SIP + NAT
HAa + SIP
MNb2v2 INVITE
Session Data
180 Ringing 100 Trying
100 Trying
180 Ringing
200 OK
ACK 200 OK
INVITE (Contact: Gv1)
INVITE
ACK ACK
BYE
BYE
BYE MNa1v1に対する
NAT (Pa1 / Gv1)
200 OK Gv1解放
Session Data
Session Data
Session Data 180 Ringing 200 OK (Contact: Gv2)
200 OK 200 OK
HAb + SIP
GFA2 + SIP + NAT
FA
MNa1v1にグローバル アドレスGv1割り当て
MNb2v2に対する NAT (Pb2 / Gv2)
MNb2v2にグローバル アドレスGv2割り当て 100 Trying
Gv2解放 SIP: user-a1@domain-a
IP=Pa1
SIP: user-b2@domain-b IP=Pb2 sip-proxy
.domain-v1
sip-proxy .domain-a
sip-proxy .domain-b
sip-proxy .domain-v2
図 6-10 異なるホームネットワークに所属し、
異なる外部ネットワークに接続中のMN間の通信
6.4.4 通信形態 4
異なるホームネットワークに所属し、同一の外部ネットワークに接続中の移動端末間の 通信として、図 6-7において、MNa1v1からMNb1v1にセッションを確立する際の手順を図 6-11に示す。
(1) 他の通信形態と同様に、MNa1v1は最初にGFA1に対してINVITE要求メッセージを 送信する。本通信形態の場合、宛先MNb1v1のSIP URIは発信元であるMNa1v1とは異 なるドメインであるが、MNb1v1が同一外部ネットワークに存在するため、そのSIP URI もGFA1に登録されている。このため、GFA1はMNa1v1に対して、グローバルアドレス の代わりに一時的なプライベートアドレスPvaを割り当てる。
(2) 続いてGFA1は、INVITE要求メッセージをHAaに送信する。HAaは、宛先のドメイ ンであるホームネットワークB (domain-b)のHAbにINVITE要求メッセージを送信する。
(3) 本通信形態において、宛先であるMNb1v1が外部ネットワーク1に接続中であるため、
HAbはINVITE要求メッセージを再度GFA1に送信する。MNa1v1とMNb1v1がともに GFA1の配下に存在するため、GFA1がこのINVITE要求を受信すると、GFA1はMNb1v1 に対して一時的なプライベートアドレスPvbを割り当てる。
(4) セッション確立が成功した後、MNa1v1は宛先アドレスをPvbとしてMNb1v1宛にセ ッションのデータパケットを送信する。GFA1 は、これらのパケットの送信元アドレスを
MNa1v1 のプライベートアドレス(ホームアドレス)Pa1 から一時的に割り当てたプライベ
ートアドレスPvaに変換し、さらに宛先アドレスをPvbからMNb1v1のプライベートアド レス(ホームアドレス)Pb1に変換する。その後、GFA1はGFA-FA間のトンネリングを用い
てMNb1v1にパケットを転送する。逆方向のセッションデータパケットについても同様に
処理される。このように、本通信形態では、互いに異なるプライベートアドレス空間に所 属する移動端末間で、共通のプライベートアドレス空間から割り当てた一時アドレスを用 いることにより、同一外部ネットワークのもとで、相互の通信を可能としている。
(5) BYEメッセージおよび200 OKメッセージの交換によってセッションが切断される際に、
GFA1は先に割り当てたプライベートアドレスPvaとPvbを解放する。
MNa1v1 FA GFA1 + SIP + NAT
HAa + SIP MNb1v1
INVITE
Session Data 100 Trying
180 Ringing
ACK
200 OK
INVITE
200 OK
BYE
Session Data 180 Ringing
200 OK (Contact: Pvb)
HAb + SIP FA
MNb1v1の登録チェック、MNa1v1に プライベートアドレスPva割り当て
100 Trying SIP: user-a1@domain-a
IP=Pa1 SIP: user-b1@domain-b IP=Pb1
100 Trying INVITE INVITE (Contact: Pva)
MNb1v1にプライベート アドレスPvb割り当て
180 Ringing
ACK ACK
BYE
PvaおよびPvb解放 200 OK 180 Ringing
ACK
MNa1v1に対するNAT (Pa1 / Pva)
MNb1v1に対するNAT (Pb1 / Pvb)
BYE BYE
sip-proxy .domain-a
sip-proxy .domain-b sip-proxy
.domain-v1
200 OK
200 OK
図 6-11 異なるホームネットワークに所属し、
同一外部ネットワークに接続中のMN間の通信