• 検索結果がありません。

年度 卒 業 論 文

N/A
N/A
Protected

Academic year: 2021

シェア "年度 卒 業 論 文"

Copied!
19
0
0

読み込み中.... (全文を見る)

全文

(1)

平成

23

年度 卒 業 論 文

邦文題目

双方向通信が可能な無線メッシュネットワー クのインターネット接続方法

英文題目

Interconnections between the Internet of the wireless mesh network in which two-way

communication is possible

情報工学科 渡邊研究室 (学籍番号: 080430093)

松尾 辰也

提出日: 平成2429

(2)
(3)

内容要旨

無線メッシュネットワークは無線LANインフラを容易に構築できる有用な技術であ る.無線メッシュネットワークは災害発生時に被災地などに展開することにより,迅速 にネットワークを再構築できる.このとき,ネットワークのグローバルアドレスの数が 十分に確保できない可能性があるため,メッシュネットワークはプライベートアドレス を使用できることが望ましい.プライベートアドレスを使用するためにはNATを設置す る必要があるが,NAT越え問題によりインターネット側から通信を開始することができ なくなるという課題がある.そこで,本稿ではこの課題を解決するために無線メッシュ ネットワ−クWAPLWireless Access Point Link)とNAT越え技術NTSSNAT Traversal Support System)を組み合わせる方式を提案する.この方法により,被災地にWAPL 展開し,外部ネットワークと自由に通信を行えることが可能となる.

Abstract

A wireless mesh network is the useful technology in which a wireless LAN infrastructure can be built easily. By developing to a stricken area etc. at the time of disaster generating, the wireless mesh network can reconstruct a network quickly. As for a mesh network, since the number of network global addresses may fully be unable to secure at this time, it is desirable that a private address can be used. In order to use a private address, it is necessary to install NAT but, and the subject of it becoming impossible to start communication from the Internet side by an NAT traversal problem occurs. So, in this paper, in order to solve this subject, the system which combines wireless mesh network WAPL(Wireless Access Point Link) and the NAT traversal technology NTSS(NAT Traversal Support System) is proposed.WAPL is developed to a stricken area and this method enables it to be able to communicate to an external network and freedom.

(4)

目 次

1 はじめに 2

2 要素技術 3

2.1 WAPL . . . . 3 2.2 NTSS . . . . 4

3 提案方式 6

3.1 NTSSの改造 . . . . 6 3.2 NTSSv2 . . . . 6 3.3 セキュリティ . . . . 8

4章 実装 12

5 まとめ 13

謝辞 15

参考文献 16

(5)

1

章 はじめに

近年,スマートフォンやタブレット端末の普及により,無線通信の需要が高まってい る.しかし,無線通信で使われる無線LANAPAccess Point)は,有線で接続される ことが一般的であり,APの設置場所が限定されたり,配線に多大なコストを要する.

この問題を解決するために,無線LANAPを網目状に展開し,AP間をアドホック モードで接続する無線メッシュネットワークが提案されている.これはAP間を無線で 接続しているので,無線LANインフラを容易に構築することができる.また,無線メッ シュネットワークにおける端末/AP間の通信はインフラストラクチャモードのため,既 存の端末は容易にネットワークに参加することが可能である.そのため,災害発生時の 被災地ような有線インフラを構築することが困難な場合や,有線の維持費を捻出できな いイベントで運用されることが期待される.

そこで,無線メッシュネットワークを災害発生時に被災地などに展開する場合,ネッ トワークのグローバルアドレスの数が十分に確保できない可能性がある.このため,無 線メッシュネットワークはNATNetwork Address Translation)によるプライベートアド レスを使用できることが望ましい.NATは一つのグローバルでIPアドレスを複数のコン ピュータで共有する技術であり,プライベートアドレスを使用することでIPアドレスを 十分に確保することができる.しかし,NATはインターネット側の端末からプライベー トアドレス側の端末へ通信を開始できないという課題があり,これをNAT越え問題と呼 ぶ.これまでのインターネットの利用形態はWebページの閲覧やメールの利用など,一 般にグローバルアドレス空間に設置されたサーバに対してプライベートアドレス空間に 存在する端末側から通信を開始していたため,NAT越え問題が表面化することはなかっ た.しかし,近年ではネットワークの普及に伴い,企業だけでなく一般家庭にもネット ワークを構築をする例があるため,インターネット側から無線メッシュネットワークを 介してサーバなどに自由にアクセスしたいというニーズは十分に考えられる.

そこで,本稿ではこの課題を解決するために無線メッシュネットワークWAPLWireless Access Point Link[1]NAT越え技術NTSSNAT Traversal Support System[2]を組み 合わせる方式を提案する.この方法により,被災地にWAPLを展開し,外部ネットワー クと自由に通信を行えることが可能となる.

提案方式では,WAPLをプライベートアドレスで展開し,WAPLのゲートウェイにNTSS と類似機能を搭載した機器を設置することにより,双方向の通信を可能としている.ま た,NTSSの機能をプライベートネットワークを管理するDDNSDynamic DNS)を改 造して実現することにより,NATテーブル生成に必要な事前登録処理を不要とした.

以降,第2章では要素技術であるWAPLNTSSの解説を行い,第3章で提案方式の 説明,第4章で実装について検討を示し,第5章でまとめる.

(6)

2

章 要素技術

2.1 WAPL

WAPLとはシームレスハンドオーバが実現できる独自の無線メッシュネットワークで ある.アドホックルーティングプロトコルとWAPLの機能を完全に独立させることによ り,ルーティングプロトコルを自由に選択できる.またWAPと呼ばれる各APが近隣 WAPの通信状況を把握しておくことにより,ハンドオーバ時のパケットロスを大幅に低 減させている.

2.1WAPLによるカプセル化通信を示す.WAPLはルーティングテーブルとは独 立したLTLink Table)と呼ばれるWAP間の経路制御用テーブルを必要に応じてオンデ マンドに生成する.通信を開始する際,送信端末はARP requestを送信する.メッシュ ネットワーク上の各WAPは端末からのARP requestを受信すると,LTが生成されてい ない他のWAPへ生成要求をフラッディングにより通知する.このフラッディングにより WAPLTが生成され,宛先端末にARP requestが送信される.その後,パケットは ハンドオーバの実現のためにWAP間でMACヘッダを含めてカプセル化されて,宛先端 末にパケットが送信される.

STA1 STA2

Infrastructuer mode

A1 A2 Information A1 A2 Information

src dst

IP:A1 IP:W1 IP:W2

IP:A2 W1 W2 A1 A2 Information

Capsulated Packet src dst

Ad-hoc mode

packet

src dst

packet packet

2.1 WAPLの構成

(7)

2.2 NTSS

NTSSはユーザ端末の改造が不要な独自のNAT越え技術である.ENExternal Node のプライマリDNSNATルータを改造し,この両者が協調動作をすることにより,NAT テーブルを強制的に生成することでNAT越え通信を実現する.

2.2NTSSの構成を示す.NTSサーバはENのプライマリDNSを改造した装置,

NTSルータはNATルータをNTSS用に改造した装置である.DDNSサーバはINInternal Node)のアドレス登録用サーバで既存の装置を使用する.

事前設定として,DDNSサーバにはINの名前とNTSルータのグローバルIPアドレス の対応関係をRRResorce Record)に登録し,NTSルータにはINの名前とプライベー IPアドレスの対応関係をPHLPrivate Host List)と呼ぶテーブルに登録しておく必要 がある.また,ENのプライマリDNSとしてNTSサーバを登録しておく.

2.3に動作シーケンスを示す.ENからINalice)への通信を例に説明する.EN 通信を開始するにあたり,aliceの名前解決をNTSサーバへ依頼する.NTSサーバはDNS の再帰検索により,aliceの管理するDDNSサーバよりNTSルータのIPアドレス(GA2 を取得する.この時,NTSサーバは名前解決結果をENへ応答する前に,ENからalice への接続要求をNTS requestとしてNTSルータへ送信する.この通知を受け取ったNTS ルータはPHLを参照し,aliceのプライベートIPアドレス(PA1)を取得する.そして,

ENINIPアドレスの対応関係をRCRequest Cash)へ記憶して,NTSサーバへNTS responseを返信する.NTS responseを受信したNTSサーバは,先ほど取得した名前解決 結果(GA2)をENに応答する.

名前解決後,ENIPアドレスが GA2 であるNTSルータに向けて通信を開始する.

NTSルータはインターネット側からパケットを受け取ると,送信元IPアドレスをキーと してRCの内容を確認する.RCに該当するデータがあれば,NTSルータは以下のような NATテーブルを動的に作成する.

GA1:s↔ {GA2:dPA1:d}

上記NATテーブルの意味は,ENとの通信はではNATINIPアドレスとポート番号 が対応していることを意味する.sENのカーネルが選択した任意のポート番号,d INがサービスを提供しているポート番号である.

NATテーブルが作成されると,パケットはアドレス変換処理が施され,aliceにパケッ トが送信される.以後,ENaliceはエンドエンドの通信を行うことが可能となる.

(8)

Internet

EN

IP:GA1

IP:GA2 NTS router NTS server

DDNS server (example.net)

RR

PHL

IN(alice)

IN(bob) IP:PA1

IP:PA2 RR: Resource Record

PHL:Private Host List

Private Network

alice = GA2 bob = GA2

alice = PA1 bob = PA2

2.2 NTSSの構成

EN NTS server DDNS server

NTS router

DNS query IP:GA1

Create RC RC IP:GA2

DNS response

DNS response NTS request NTS response

IN(alice)

IP:PA1

Data packet

Create NAT table NAT table

GA1:s→GA2:d

GA1:s→PA1:d

GA1:s←PA1:d GA1:s←GA2:d

RC: Request Cache fa: Foreign Address ga: Global Address pa: Private Address

From To GA1 PA1

fa ga pa

GA1:s GA2:d PA1:d

PHL

Response packet

Data packet

Response packet

Private Network

GA1:s↔{GA2:d⇔PA1:d}

アドレス変換

alice = PA1 bob = PA2

2.3 NTSSの動作シーケンス

(9)

3

章 提案方式

WAPLをプライベートアドレスで展開し,WAPLのゲートウェイにNTSSと類似機能 を搭載した機器を設置することにより,双方向の通信を可能とする方式である.

3.1 NTSSの改造

NTSSではEN側のDNSサーバを改造することによりNAT越えを実現している.そ のため,ENはあらかじめNTSサーバをプライマリDNSとして登録しておく必要があ る.しかし,プライマリDNSの登録変更はいくつかの操作を行う必要があるため,一般 ユーザが容易に変更することができない可能性がある.そこで,提案方式であるNTSSv2 ではDDNS側を改造することにより,EN側のプライマリDNS登録変更を不要とした.

DDNSDHCPDDNSWAPを一体化させたNTS WAPという装置として改造する ことにより,動的にRRPHLを生成するようにした.これにより,ユーザは事前登録 DNS登録変更をする必要が無くなるので,NTSSv2を容易に利用することができる.

3.2 NTSSv2

3.1に提案方式の構成,図3.2NTSSv2のシーケンスを示す.ENのプライマリDNS は既存のDNSサーバを使用している.NTS WAPDDNSを改造した装置であり,NTS WAPの配下はWAPLで構成されている.動作シーケンスはNTSSと同様にENからIN

alice)への通信を例に説明する.

ENはプライマリDNSに対してINの名前解決を依頼する.NTS WAPはこれを受けて NTSSと同様にRCを生成する.しかし,この段階ではEN側のIPアドレスを特定でき ないので,ソースアドレスの部分は any としておく.この any RC生成後,一番 初めにパケットが到達したENIPアドレスをソースアドレスとしてNATテーブルを生 成することを意味する.そして,名前解決結果としてENにはNTS WAPのグローバルア ドレスである(GA2)が報告される.

名前解決後,ENNTS WAPに向けてパケットを送信する.NTS WAPRCを参照 し,先ほど述べたように any の部分をENIPアドレスとしてNATテーブルを作成 する.これにより,NTSSと同様にENのパケットはアドレス変換されて,WAPLによる アドホック通信によりENaliceはエンドエンドで通信が可能となる.

(10)

EN

DNS server

IN(alice) Private

Network

NTS WAP

IP:GA1 IP:GA2 IP:PA1

Internet

3.1 NTSSv2の構成

EN DNS server NTSWAP

DNS query

DNS response

IN(alice)

Data packet Create NAT table

Response packet Private network

WAPL Data packet

Response packet

WAP

Create Request Cash

RC From To

any PA1

IP:PA1 IP:GA1 IP:GA2

RC: Request Cache fa: Foreign Address ga: Global Address pa: Private Address

NAT table fa ga pa

GA1:s GA2:d PA1:d

GA1:s→GA2:d

GA1:s→PA1:d

GA1:s←PA1:d GA1:s←GA2:d

GA1:s↔{GA2:d⇔PA1:d}

アドレス変換

PHL alice = PA1 bob = PA2

3.2 NTSSv2のシーケンス

(11)

3.3 セキュリティ

NTSSv2では,NTS WAPEN側のIPアドレスを特定することができないため,NTSS で生成されるRCとは中身が異なったものになる.そのため,NTSSv2では以下の項目が 懸念される.

1. 名前解決を行ったENNTS WAPに通信要求を行う前に,第三者が通信要求をし た場合(乗っ取り)

2. 複数のENが同時に1つのNTS WAPを経由して通信した場合(同時通信)

以下,これらの項目の説明し,現状の解決策を示す.

3.3.1 乗っ取り

この場合の例として,図3.3の通信に第三者であるハッカーが参加した場合を想定す る.ハッカーはNTS WAPIPアドレス(GA2)を既知とする.

ENは通常のシーケンス通りに名前解決を行い,名前解決結果(GA2)を得る.そして,

ENNTS WAPに向けて通信要求を行うが,その前にハッカーがNTS WAPに通信要求 をすると,NTS WAPはハッカーのIPアドレスである GA3 をソースとしたNATテー ブルを生成し,INalice)に通信要求をしてしまう.この時,NTSSでは同時にRCを削 除してしまうので,ENが通信要求をする時には,既にハッカーによりRCが削除されて いる可能性がため,NATテーブルの生成ができなくなる問題が発生する.

この問題の原因は,NTSSではNATテーブル生成時と同時にRCを削除してしまうた め,ENRCを参照できなくなってしまうことにある.そこで図3.3のように,NTSSv2 ではRCに適切な有効時間決めてタイマーによって削除するようにした.これにより,第 三者によってRCが勝手に削除される心配がなくなるので,ENは確実にRCを参照する ことができる.

またハッカーが通信できてしまう問題は,NTSSv2に限って発生した問題ではなく通 常のNATによるUDP通信にも発生する問題である.これを防ぐために通常のセキュリ ティ対策として,NTS WAPに予めフィルタを掛ければ防げるのではないかというものが

あるが,NTS WAPは名前解決時にIPアドレスを特定することができないため困難であ

る.そのため,NTSSv2ではハッカーによる通信をスルーし,各端末に搭載されている ファイアーウォールによって怪しい通信をブロックするという方針で考えている.

(12)

EN DNS server NTSWAP

DNS query

DNS response

IN(alice)

Data packet

Create NAT table Private network

WAPL Data packet(hacker)

WAP

Create Request Cash RC

From To

any PA1

IP:PA1 IP:GA1 IP:GA2

RC: Request Cache fa: Foreign Address ga: Global Address pa: Private Address

NAT table(hacker)

fa ga pa

GA3:s GA2:d PA1:d

GA1:s→GA2:d

GA1:s→PA1:d

PHL

hacker

IP:GA3

Data packet GA3:s→GA2:d

fa fa fa

GA1:s GA2:d PA1:d

Create NAT table NAT table(EN)

Data packet(EN) GA1:s→PA1:d

Response packet(EN) Response packet(EN)

Reference

Blocks by a firewall

alice = PA1 bob = PA2

”GA2”

already knows

3.3 1.を解決した場合のシーケンス

(13)

3.3.2 同時通信

この場合の例として,EN1INalice)に,EN2INbob)にそれぞれ通信したい 場合を例とする.NTS WAPは複数のシーケンスを受けた時には先着順に処理を行うもの とし,RCは複数個生成できるものとする.

EN1EN2はほぼ同時に名前解決を行うと,それぞれの問い合わせが僅かな時間差で NTS WAPに到着する.このとき,EN1の問い合わせが先に到着したとすると,NTS WAP EN1RCを先に生成し,その後EN2RCを生成する.RC作成後,EN1EN2 名前解決結果(GA2)が応答される.

名前解決後,EN1EN2NTS WAPに向けてパケットを送信する.このとき,通信 路の遅延や送信タイミングなどにより,EN1よりEN2のパケットが先に到着したとする.

そうすると,NTS WAPは最初に作成されたEN1用のRCを参照して any の部分をEN2 IPアドレスとしてNATテーブルを作成する.これにより,EN2は名前解決を行って いないINalice)に通信要求をしてしまう.同様にEN1も名前解決を行っていないIN

bob)に通信要求をしてしまうことになるので,正しい相手と通信できない状態が発生 してしまう.

この問題の原因は,NTS WAPENを特定できないにも関わらず,複数の端末を同時 に処理することにある.NTSSにおいてNTSルータはENIPアドレスが通知されるた め,RCを複数個保持していてもENを特定することが可能であった.しかし,NTSSv2 ではENIPアドレスが通知されないので,複数の端末を同時に処理すること適切でな いと考えた.

そこで解決策として,図3.4NTS WAPRC生成からアドレス変換までの一連処理 をクエリ到着順に1つずつ行うようにした.これにより,一定時間は1台のENだけが 通信要求を行っていると見なせるので,間違ったRCを参照してしまうという心配はな くなる.この方法により,スループットが多少低下する可能性があるが,ENは正しい宛 先と確実に通信を行うことができる.

(14)

EN1 DNS server NTS WAP

DNS query

IN(alice)

Data packet

Data packet(EN2)

WAPL

Private Network

EN2 DNS server

IN(bob)

Data packet(EN1) From From

any PA1 From From any PA2

RC(EN1)

RC(EN2)

DNS query

DNS response

IP:GA1 IP:GA2 IP:GA3

fa ga pa

GA1:s GA2:d PA1:d NAT table(EN1)

fa ga pa

GA3:s GA2:d PA2:d NAT table(EN2)

IP:PA1 IP:PA2

RC: Request Cache fa: Foreign Address ga: Global Address pa: Private Address Response packet(EN1)

DNS response

Data packet Create NAT table

Response packet

Response packet(EN2)

Response packet Create NAT table Processing of 1

Processing of 2

Create RC

Delete RC(EN2) Delete RC(EN1)

3.4 2.を解決した場合のシーケンス

(15)

4

章 実装

実装に向けてNTS WAPのモジュール構成を以下のように検討した.NTS sever module NTSSにおけるNTSサーバが搭載しているモジュールに改良を加えたもので,名前解 決をBINDDDNS)に依頼し,BINDから返される名前解決結果を元にRC生成を行う.

NTS router moduleNTSルータが搭載しているモジュールに改良を加えたもので,RC を参照して疑似パケットを作成し,NATテーブルを生成する.BINDDDNSのアプリ ケーションであり,natdNATのデーモンである.Create table moduleDHCPと協調 してRRPHLを作成するモジュールである.WAPLWAPLを実現するためのモジュー ル構成群を示している.

4.1にモジュール構成を示す.NTS router moduleNATデーモン内に実装し,そ の他のモジュールは独立したものである.矢印はモジュール間で通信を行うことを示し ている.今後は実装に向けて,Create table moduleの詳細構成やNTS sever moduleNTS router moduleの改良箇所の検討,WAPLとの連携方法を検討をしていく予定である.

NTS server module

NTS WAP

NTS router module natd BIND(DDNS)

DHCP

WAPL

From/To IN From/To IN

From/To NTS server module

From/To EN From/To EN

From/To WAPL

Create table module

From/To create table module

The module is new-created

(16)

5

章 まとめ

本論文ではNTSSv2により,被災地に容易にWAPLを展開できる方式を提案した.提 案方式ではDDNS側を改造することにより,ENのプライマリDNS登録変更を不要とし た.またNTSSの類似機能を搭載し,DHCPDDNSWAPを一体化させたNTS WAP という装置として改造することにより,動的にRRPHLを生成するようにした.これ により,ユーザは環境設定を変更する必要無くなるのでNTSSv2を容易に利用すること ができる.また提案方式の具体的な構成と動作シーケンスを示し,それに関するセキュリ ティについて考えられる課題と解決策を述べた.また実装に向けてNTS WAPのモジュー ル構成を検討した.今後は実装を進めていきたいと考えている.

(17)
(18)

謝辞

本研究にあたり,多大なる御指導と御教授を賜りました,渡邊晃教授には心から感謝 いたします.

本研究にあたり,快く査読を引き受けて下さり,熱心にご指摘を頂きました,鈴木秀 和教授には心から感謝いたします.

本研究にあたり,快く査読を引き受けて下さり,熱心にご指摘を頂きました,旭健作 教授には心から感謝いたします.

最後に,本研究を進めるにあたり,数々の有益なご助言や御討論を賜りました,渡邊 研究室,鈴木研究室の諸氏に感謝します.

(19)

参考文献

[1] 伊藤将志,鹿間敏弘,渡邊晃.無線メッシュネットワーク WAPL の提案とシミュ レーション評価,情報処理学会論文誌, Vol. 49, pp. 1859-1871, Jun.2008.

[2] 宮崎悠,鈴木秀和,渡邊晃.端末の改造が不要なNAT越え通信システムNTSSの提 案と評価,情報処理学会論文誌, Vol. 51, pp. 1873-1880, Sep.2010.

図 4.1 にモジュール構成を示す. NTS router module は NAT デーモン内に実装し,そ の他のモジュールは独立したものである.矢印はモジュール間で通信を行うことを示し ている.今後は実装に向けて, Create table module の詳細構成や NTS sever module , NTS router module の改良箇所の検討, WAPL との連携方法を検討をしていく予定である.

参照

関連したドキュメント

PEDOT:PSS 溶液を回転速度 2500 rpm ,回転時間 60 秒の条件でスピンキャストし,溶媒を 除去するため大気中で 140 ℃, 10 分のアニールを行う. PEDOT:PSS の膜厚は 30 nm となっ

はじめに 長引く消費不況、競合激化による単価安でショッピングセンター業界は苦境に立たされてい

Bookmarklet For Myanmar Font とはウェブサイトにミャンマー語 WEB

を実現するプログラムは CAVE Lib 及び OpenGL を用いており、さらに VFIVE のフレームワークに組み込むことで CAVE

宇宙天気予報プロジェクトの一環として Yin-Yang 格子上の MHD データを可視化す るプログラム SV4 を開発した。 SV4 は Yin-Yang

隠れ端末問題とは、 2 つの互いに電波の到達範囲外にいる送信ノードが、同じ受信ノー

アドホックネットーワークにおける通信では、隠れ端末問題が発生する。この問題を解決 するために IEEE802.11 では RTS/CTS(Requet to send/Clear

NTMobile 固有の FQDN が指定されていた場合は , R-NTMfw の機能により NTMobile シグナリング処理を実行し , トンネル 経路を生成するとともに ,