Mobile PPC における仮想インタフェースの提案 水谷 智大*,鈴木 秀和,渡邊 晃(名城大学)
Proposal of a virtual interface in Mobile PPC
Tomohiro Mizutani, Hidekazu Suzuki, Akira Watanabe (Meijo University)
1.はじめに
IP 通信において,通信中に移動しても通信を継続できる 移動透過性は重要である.移動透過性を実現する技術とし て,我々はMobile PPC(Mobile Peer-to-Peer Communication)
[1]を提案している.しかし移動時,IPアドレスの取得に多
くの時間を要し,その間のパケットロスが避けられない.
そこで,2つのLANインタフェース(以下I/F)を使用する ことにより,パケットロスをなくす方法を検討している[2].
しかしこの方法では,上位層がI/Fの変化を識別してしまい,
通信を継続できなくなるという課題があった.本稿では,
Mobile PPCに仮想I/Fを導入することにより,この課題を 解決する方法を提案する.
2.Mobile PPC におけるシームレスハンドオーバ
Mobile PPCでは,端末の移動前後のコネクション情報を
記したCIT(Connection ID Table)をIP層に保持し,CITの 内容に基づいてパケットのIPアドレスを変換することによ り,移動透過性を実現する.MN(Mobile Node)が移動後,
新しくIPアドレスを取得すると,CN(Correspondent Node)
との間で移動情報を交換し,各々のCITを更新する.以後,
両端末はCITを用いてパケットのIPアドレスを移動後のIP アドレスに変換する.以上の処理によりIPアドレスの変化 を上位層から隠蔽し,通信を継続できる.しかし,IP アド レスの取得に多くの時間を要し,パケットロスが大量に発 生する.そこで2つのLAN I/Fを交互に切替えて移動時の ロスの発生を防止する,シームレスハンドオーバの方法を 検討している.しかしトランスポート層では,I/Fを含む経 路情報をホストキャッシュに維持している.そのためI/Fが 切替わるとホストキャッシュとI/Fとの間に相違が生じ,通 信が継続できないという課題がある.
3.Mobile PPC における仮想 I/F の提案
上記課題を解決するため,仮想的な I/F(以下仮想 I/F)
を導入する.仮想I/FのIPアドレスは自律的に生成し,固 定とする.トランスポート層が仮想I/Fを出力I/Fとして通 信を行うことにより,ホストキャッシュには仮想I/Fが登録 され,実I/Fを切替えてもホストキャッシュとI/Fとの間に 相違が生じなくなる.また仮想I/Fを生成後,自分の実 IP アドレスを隠蔽するため,仮想 IP アドレスを移動前の IP アドレス,実IPアドレスを移動後のIPアドレスとしてCIT
に登録しておくこととする.MNが移動した時のMNから CNへのパケットの流れを,Fig.1,Fig.2に示す.
Fig .1,Fig.2においてA → Bは,送信元がA,宛先がB のパケットを示す.V1,V2はそれぞれMN,CNの仮想IP アドレスである.また,MNは2つのI/Fを搭載しており,
R1は移動前に,R2は移動後に取得した実IPアドレスであ る.R3はCNの実IPアドレスである.
移動前,MNはCITを用いてIP層においてパケットの送 信元IPアドレスをV1からR1に変換して送信する.CNは 上記パケットの受信後,宛先IPアドレスをR3からV2に変 換して上位層に渡す.そのため,MN の上位層は自分のア ドレスをV1,CNのアドレスをR3と認識し,同様にCNの 上位層は自分のアドレスをV2,MNのアドレスを通信開始 時のアドレスR1と認識する.ここでMNが通信中に移動す ると,I/Fを切替えてIP アドレスR2 を取得する.ここで MNのI/Fは切替わるが,ホストキャッシュには仮想I/Fが 登録されているため上位層には影響を与えない.MNとCN は移動情報を交換してCITを更新し,以後は送信元IPアド レスがV1からR2に変換される.CNは上記パケットを受 信後,更新したCITによってR2からMNの移動前のR1に 変換する.以上の処理により,I/Fの切替えはトランスポー ト層に意識されず,また仮想I/Fと移動によるIPアドレス の変化を隠蔽することができる.
4.まとめ
Mobile PPCにおける仮想I/Fの必要性と実現方法を述べ た.今後は実装と性能評価を行う予定である.
文 献
[1] 竹内.他:情報処理学会論文誌, Vol. 47, No. 12, pp. 3244-3257, 2006
[2] 金本.他:情報処理学会研究報告, 2008-MBL-44, Vol. 2008, No. 18, pp. 91-98, 2008
R3 V R1 → V2CN V1 → R3MN
V1
R1 - R1 → R3
Virtual I/F Real I/Fs
V2 Fig.1. The packet flow before moving.
R1 → V2CN MN
V1 → R3 V1
R1 R2 R3
V2 R2 → R3
Virtual I/F Real I/Fs
Fig.2. The packet flow after moving.
Mobile PPC
における仮想インタフェースの提案
名城大学 理工学部 水谷智大
,
鈴木秀和,
渡邊晃1
•
移動しながら通信したいという需要が増加–
無線ネットワークの普及,移動端末の増加•
移動しても通信が途切れない移動透過性の研究–
移動に伴い,IP
アドレスが変化– IP
アドレスの変化により,IP
通信は切断•
移動透過性を実現するIPv4
プロトコル–
移動透過性技術はIPv6
に多いが,IPv6
が普及せず–
今後もIPv4
は継続して使用されると予想されるはじめに
Mobile PPC
※ Mobile PPC: Mobile Peer-to-Peer Communication
Mobile IP
Mobile IP
とMobile PPC
HA
カプセル化 登録
Mobile IP
Mobile PPC
プロキシサーバ経由の通信
・
HA
が必要・
HA
へのMN
のIP
アドレスの登録が必要・経路の冗長化
・
HA
による一点障害の脆弱性・カプセル化によるパケットサイズの冗長化
3
Mobile PPC
の動作概要•
移動後,CIT
を基にパケットのIP
アドレスを変換– CIT:
アドレス変換テーブル,IP
層に保持※ CIT: Connection ID Table
A Z
Mobile PPC
の動作概要•
移動後,CIT
を基にパケットのIP
アドレスを変換– CIT:
アドレス変換テーブル,IP
層に保持通信
A Z
5
Mobile PPC
の動作概要•
移動後,CIT
を基にパケットのIP
アドレスを変換– CIT:
アドレス変換テーブル,IP
層に保持CIT
移動前
A ⇔ Z
移動後
--
通信
CIT
移動前
Z ⇔ A
移動後
--
※ CIT: Connection ID Table
A Z
Mobile PPC
の動作概要•
移動後,CIT
を基にパケットのIP
アドレスを変換– CIT:
アドレス変換テーブル,IP
層に保持CIT
移動前
A ⇔ Z
移動後
--
通信
移動
CIT
移動前
Z ⇔ A
移動後
--
A Z
7
Mobile PPC
の動作概要•
移動後,CIT
を基にパケットのIP
アドレスを変換– CIT:
アドレス変換テーブル,IP
層に保持CIT
移動前
A ⇔ Z
移動後
--
通信
移動
CIT
移動前
Z ⇔ A
移動後
--
※ CIT: Connection ID Table
B A Z
Mobile PPC
の動作概要•
移動後,CIT
を基にパケットのIP
アドレスを変換– CIT:
アドレス変換テーブル,IP
層に保持CIT
移動前
A ⇔ Z
移動後
--
通信
移動
移動通知処理
CIT
移動前
Z ⇔ A
移動後
--
B A Z
9
Mobile PPC
の動作概要•
移動後,CIT
を基にパケットのIP
アドレスを変換– CIT:
アドレス変換テーブル,IP
層に保持CIT
移動前
A ⇔ Z
移動後
--
通信
移動
移動通知処理
CIT
移動前
Z ⇔ A
移動後
--
CITの更新
※ CIT: Connection ID Table
B A Z
Mobile PPC
の動作概要•
移動後,CIT
を基にパケットのIP
アドレスを変換– CIT:
アドレス変換テーブル,IP
層に保持CIT
移動前
A ⇔ Z
移動後
--
通信
CIT
移動移動通知処理
CIT
CIT
移動前
Z ⇔ A
移動後
--
B A Z
11
Mobile PPC
の動作概要•
移動後,CIT
を基にパケットのIP
アドレスを変換– CIT:
アドレス変換テーブル,IP
層に保持CIT
移動前
A ⇔ Z
移動後
--
通信
CIT
移動前
Z ⇔ A
移動後
Z ⇔ - B
移動
移動通知処理
変換・通信
CIT
移動前
A ⇔ Z
移動後
B ⇔ - Z
CIT
移動前
Z ⇔ A
移動後
--
CITの更新
※ CIT: Connection ID Table
B A Z
Mobile PPC
によるIP
アドレス変換の様子• CIT
に基づきパケットのIP
アドレスの変換を行う•
上位層に対し,IP
アドレスの変化が隠蔽されるCIT
移動前
Z ⇔ A
移動後
Z ⇔ - B
移動
CIT
移動前
A ⇔ Z
移動後
B ⇔ - Z
IP
層B A Z
13
Mobile PPC
によるIP
アドレス変換の様子• CIT
に基づきパケットのIP
アドレスの変換を行う•
上位層に対し,IP
アドレスの変化が隠蔽されるCIT
移動前
Z ⇔ A
移動後
Z ⇔ - B
移動
CIT
移動前
A ⇔ Z
移動後
B ⇔ - Z
送信元 データ宛先
Z A ***
IP
層B A Z
MN
:A
⇔CN: Z
Mobile PPC
によるIP
アドレス変換の様子• CIT
に基づきパケットのIP
アドレスの変換を行う•
上位層に対し,IP
アドレスの変化が隠蔽されるCIT
移動前
Z ⇔ A
移動後
Z ⇔ - B
移動
CIT
移動前
A ⇔ Z
移動後
B ⇔ - Z
送信元 データ宛先
Z A ***
IP
層B A Z
参照
MN
:A
⇔CN: Z
15
Mobile PPC
によるIP
アドレス変換の様子• CIT
に基づきパケットのIP
アドレスの変換を行う•
上位層に対し,IP
アドレスの変化が隠蔽されるCIT
移動前
Z ⇔ A
移動後
Z ⇔ - B
移動
CIT
移動前
A ⇔ Z
移動後
B ⇔ - Z
送信元 データ宛先
Z A ***
送信元 データ 宛先
Z B ***
IP
層B A Z
参照
MN
:A
⇔CN: Z
Mobile PPC
によるIP
アドレス変換の様子• CIT
に基づきパケットのIP
アドレスの変換を行う•
上位層に対し,IP
アドレスの変化が隠蔽されるCIT
移動前
Z ⇔ A
移動後
Z ⇔ - B
移動
CIT
移動前
A ⇔ Z
移動後
B ⇔ - Z
送信元 データ宛先
Z A ***
IP
層B A Z
参照
MN
:A
⇔CN: Z
17
Mobile PPC
によるIP
アドレス変換の様子• CIT
に基づきパケットのIP
アドレスの変換を行う•
上位層に対し,IP
アドレスの変化が隠蔽されるCIT
移動前
Z ⇔ A
移動後
Z ⇔ - B
移動
CIT
移動前
A ⇔ Z
移動後
B ⇔ - Z
送信元 データ宛先
Z A ***
送信元 データ 宛先
Z B ***
送信元 データ 宛先
Z B ***
IP
層B A Z
参照
MN
:A
⇔CN: Z
Mobile PPC
によるIP
アドレス変換の様子• CIT
に基づきパケットのIP
アドレスの変換を行う•
上位層に対し,IP
アドレスの変化が隠蔽されるCIT
移動前
Z ⇔ A
移動後
Z ⇔ - B
移動
CIT
移動前
A ⇔ Z
移動後
B ⇔ - Z
送信元 データ宛先
Z A ***
IP
層B A Z
参照 参照
MN
:A
⇔CN: Z
19
Mobile PPC
によるIP
アドレス変換の様子• CIT
に基づきパケットのIP
アドレスの変換を行う•
上位層に対し,IP
アドレスの変化が隠蔽されるCIT
移動前
Z ⇔ A
移動後
Z ⇔ - B
移動
CIT
移動前
A ⇔ Z
移動後
B ⇔ - Z
送信元 データ宛先
Z A ***
送信元 データ 宛先
Z B ***
送信元 データ 宛先
Z B ***
送信元 データ 宛先
Z A ***
IP
層B A Z
参照 参照
MN
:A
⇔CN: Z CN
:Z
⇔MN: A
Mobile PPC
の課題• TCP
では2
枚のLAN
インタフェースを使用できない– IP
アドレス取得に時間がかかり,パケットロスが大量発生•
一方で通信中,もう一方でIP
アドレスを取得•
インタフェースを切り替えて通信- Z
A
21
Mobile PPC
の課題• TCP
では2
枚のLAN
インタフェースを使用できない– IP
アドレス取得に時間がかかり,パケットロスが大量発生•
一方で通信中,もう一方でIP
アドレスを取得•
インタフェースを切り替えて通信- Z
B
A
Mobile PPC
の課題• TCP
では2
枚のLAN
インタフェースを使用できない– IP
アドレス取得に時間がかかり,パケットロスが大量発生•
一方で通信中,もう一方でIP
アドレスを取得•
インタフェースを切り替えて通信- Z
B
A
23
Mobile PPC
の課題• TCP
では2
枚のLAN
インタフェースを使用できない– IP
アドレス取得に時間がかかり,パケットロスが大量発生•
一方で通信中,もう一方でIP
アドレスを取得•
インタフェースを切り替えて通信- Z B A
通信開始時,トランスポート層が出力インタフェース情報をキャッシュする インタフェースが切り替わると,出力すべきインタフェースとキャッシュに相違
インタフェースが切り替わると
TCP
通信が切断される提案
–
仮想インタフェースの導入R1 V1
R2 V2
Mobile IP
Mobile PPC
・
HoA
とCoA
を持つ・上位プロセスは
HoA
のみを意識する・ホームネットワークでは
HoA
を実IP
アドレスとして使用する→HoAはグローバルユニークである必要がある
仮想インタフェース
:
上位層と下位層の通信の分離を行うMN
の上位層:
MN
の下位層:
⇔V1 R1
⇔
R2
R2
25
仮想
IP
アドレスについてHA
Mobile IP
Mobile PPC
ホームネットワーク
(ルータ)
プレフィックス: 201.x.x.x
HoA: 201.0.0.1
仮想インタフェース
仮想IPアドレス: 240.0.0.1 ハッシュ化
240.0.0.1 (ex.)
乱数アドレスの管理が必要
アドレスの管理が不要
DHCP等による割り当て
自律生成
• CIT
を参照し,パケットのIP
アドレスを仮想IP
アドレ スから実IP
アドレスに変換する提案方式の動作概要
A Z
V1 V2
27
• CIT
を参照し,パケットのIP
アドレスを仮想IP
アドレ スから実IP
アドレスに変換する提案方式の動作概要
A Z
V1 V2
CITの生成
• CIT
を参照し,パケットのIP
アドレスを仮想IP
アドレ スから実IP
アドレスに変換する提案方式の動作概要
CIT
上位層
V1 ⇔ Z
下位層
A ⇔ - Z
CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - A
A Z
V1 V2
CITの生成
29
• CIT
を参照し,パケットのIP
アドレスを仮想IP
アドレ スから実IP
アドレスに変換する提案方式の動作概要
CIT
上位層
V1 ⇔ Z
下位層
A ⇔ - Z
変換・通信CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - A
A Z
V1 V2
CITの生成
• CIT
を参照し,パケットのIP
アドレスを仮想IP
アドレ スから実IP
アドレスに変換する提案方式の動作概要
CIT
上位層
V1 ⇔ Z
下位層
A ⇔ - Z
変換・通信移動
CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - A
A Z
V1 V2
CITの生成
31
• CIT
を参照し,パケットのIP
アドレスを仮想IP
アドレ スから実IP
アドレスに変換する提案方式の動作概要
CIT
上位層
V1 ⇔ Z
下位層
A ⇔ - Z
変換・通信移動
CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - A
V1
B V1 A V2 Z
CITの生成
• CIT
を参照し,パケットのIP
アドレスを仮想IP
アドレ スから実IP
アドレスに変換する提案方式の動作概要
CIT
上位層
V1 ⇔ Z
下位層
A ⇔ - Z
変換・通信移動
CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - A
V1
B V1 A V2 Z
CITの生成
33
• CIT
を参照し,パケットのIP
アドレスを仮想IP
アドレ スから実IP
アドレスに変換する提案方式の動作概要
CIT
上位層
V1 ⇔ Z
下位層
A ⇔ - Z
変換・通信移動
移動通知処理
CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - A
CIT
の更新V1
B V1 A V2 Z
CITの生成
• CIT
を参照し,パケットのIP
アドレスを仮想IP
アドレ スから実IP
アドレスに変換する提案方式の動作概要
CIT
上位層
V1 ⇔ Z
下位層
A ⇔ - Z
変換・通信移動
CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - A
V1
B V1 A V2 Z
CITの生成
35
• CIT
を参照し,パケットのIP
アドレスを仮想IP
アドレ スから実IP
アドレスに変換する提案方式の動作概要
CIT
上位層
V1 ⇔ Z
下位層
A ⇔ - Z
変換・通信CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - B
移動
移動通知処理
変換・通信
CIT
上位層
V1 ⇔ Z
下位層
B ⇔ - Z
CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - A
CIT
の更新V1
B V1 A V2 Z
CITの生成
提案方式による
IP
アドレス変換の様子CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - B
移動
CIT
上位層
V1 ⇔ Z
下位層
B ⇔ - Z
IP
層V1
B V1 A V2 Z
•
移動後37
提案方式による
IP
アドレス変換の様子CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - B
移動
CIT
上位層
V1 ⇔ Z
下位層
B ⇔ - Z
送信元 データ宛先
Z V1 ***
IP
層V1
B V1 A V2 Z
MN
:V1
⇔CN: Z
•
移動後提案方式による
IP
アドレス変換の様子CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - B
移動
CIT
上位層
V1 ⇔ Z
下位層
B ⇔ - Z
送信元 データ宛先
Z V1 ***
IP
層V1
B V1 A V2 Z
MN
:V1
⇔CN: Z
•
移動後参照
39
提案方式による
IP
アドレス変換の様子CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - B
移動
CIT
上位層
V1 ⇔ Z
下位層
B ⇔ - Z
送信元 データ宛先
Z V1 ***
送信元 データ 宛先
Z B ***
IP
層V1
B V1 A V2 Z
MN
:V1
⇔CN: Z
•
移動後参照
提案方式による
IP
アドレス変換の様子CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - B
移動
CIT
上位層
V1 ⇔ Z
下位層
B ⇔ - Z
送信元 データ宛先
Z V1 ***
IP
層V1
B V1 A V2 Z
MN
:V1
⇔CN: Z
•
移動後参照
41
提案方式による
IP
アドレス変換の様子CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - B
移動
CIT
上位層
V1 ⇔ Z
下位層
B ⇔ - Z
送信元 データ宛先
Z V1 ***
送信元 データ 宛先
Z B ***
送信元 データ 宛先
Z B ***
IP
層V1
B V1 A V2 Z
MN
:V1
⇔CN: Z
•
移動後参照
提案方式による
IP
アドレス変換の様子CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - B
移動
CIT
上位層
V1 ⇔ Z
下位層
B ⇔ - Z
送信元 データ宛先
Z V1 ***
IP
層V1
B V1 A V2 Z
MN
:V1
⇔CN: Z
•
移動後参照 参照
43
提案方式による
IP
アドレス変換の様子CIT
上位層
V2 ⇔ A
下位層
Z ⇔ - B
移動
CIT
上位層
V1 ⇔ Z
下位層
B ⇔ - Z
送信元 データ宛先
Z V1 ***
送信元 データ 宛先
Z B ***
送信元 データ 宛先
Z B ***
送信元 データ 宛先
V2 A ***
IP
層V1
B V1 A V2 Z
MN
:V1
⇔CN: Z CN
:V2
⇔MN: A
•
移動後参照 参照
V1
課題の解決
Z B
A
通信開始時,トランスポート層が出力インタフェース情報をキャッシュする カードを切り替えると出力すべきインタフェースとキャッシュに相違
インタフェースが切り替わると
TCP
通信が切断されるV2
45
V1
課題の解決
Z B
A
通信開始時,トランスポート層が出力インタフェース情報をキャッシュする カードを切り替えると出力すべきインタフェースとキャッシュに相違
インタフェースが切り替わると
TCP
通信が切断されるV2
トランスポート層は出力インタフェースとしては仮想インタフェースをキャッシュ 出力インタフェースが変わってもキャッシュには影響しない
V1
課題の解決
Z B
A
通信開始時,トランスポート層が出力インタフェース情報をキャッシュする カードを切り替えると出力すべきインタフェースとキャッシュに相違
インタフェースが切り替わると
TCP
通信が切断されるV2
47
まとめ
• Mobile PPC
の概要とその課題について述べた•
仮想インタフェース導入による課題の解決方法につ いて述べた•
今後は実装と性能評価を行う付録
付録
49
仮想
IP
アドレスの重複についてR1 V
R2 V
MN
の上位層:
MN
の下位層:
⇔V R1
⇔
R2 R2
CN
の上位層:
CN
の下位層:
⇔V R2
⇔
R1 R1
通信の実際の識別
仮想
IP
アドレスはどんなIP
アドレスでも構わないMobile PPC
のスループット通信
変換
・ 移動
C) D)
A)
通信
B) CN
状態 スループット
[Mbps]
低下率[%]
通常通信