第09回ロボットプログラミング(レポート無し)

情報工学実験 1
アドホックネットワーク
作成者:宮城隼人 (045755J)
実験日:7 月 1 日,8 日
提出日:7 月 15 日(金)
締切日:7 月 15 日(金)
グループ名:adhocB 班
045708:上原研太
045714:大城信孝
045721:金城巨樹
045725:座間味秀人
045747:野原健太
045748:比嘉哲也
045749:備瀬健
045755:宮城隼人
045759:山城拓也
1
目次
1
実験の目的
3
2
実験
3
2.1
2.2
1 週目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 週目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 マルチホップが起きる環境を作成せよ。 . . . . . . . . . . . . . . . . . . .
3
3
3
サークル上のネットワークの構築 . . . . . . . . . . . . . . . . . . . . . . .
7
2.2.2
3
4
考察
7
3.1
3.2
OLSR プロトコル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
アドホックネットワークの構築 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
8
3.3
3.2.1 アドホックネットワークについての考察 . . . . . . . . . . . . . . . . . . .
3.2.2 今回の実験についての考察 . . . . . . . . . . . . . . . . . . . . . . . . . . .
アドホックネットワークの活用 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
8
9
参考文献
9
2
実験の目的
1
アドホックネットワークとは何かを学ぶとともに、実際に ibook を用いて 20-30 台規模のアド
ホックネットワークを構築し、実践を交えてネットワーク構築の基礎を理解する。
実験
2
2.1
1 週目
1 週目の実験では OLSRD と NTTCP のソースを入手して各自の ibook にインストールを行っ
た。各々のプログラムは以下のような特徴をもっている。
• OLSRD
OLSR プロトコルの機能を実装したプログラム。起動させるとルーティングテーブルを作成
し、距離の近いノードとと接続する。OLSRD は通信を行う間は起動させ続ける必要があり、
一定時間毎に経路情報を更新する。ちなみに、OLSRD を実行するには管理者権限が必要で
ある。
• NTTCP
スループットを測定するプログラム。コマンド nttcp − i でデーモンを起動して、コマンド
nttcp − T でスループットを測定できる。
2.2
2.2.1
2 週目
マルチホップが起きる環境を作成せよ。
私達の班は屋上の担当である。実験室から屋上までの配置を学籍番号で示すと、実験室から順に
55、21、49、8、59、25、47、48、14 である。実験状況は図 1∼9 である。
図 1: 実験室∼55 番
図 2: 4 階エレベーター前∼21 番
3
図 3: 4,5 階階段踊り場∼49 番
図 4: 5,6 階階段踊り場∼8 番
図 5: 6 階階段前∼59 番
図 6: 6,7 階階段踊り場∼25 番
図 7: 7 階階段前∼47 番
図 8: 7 階, 屋上の階段踊り場∼48 番
4
図 9: 屋上∼14 番
[j04014:~] j04014$ traceroute 192.168.4.55
traceroute to 192.168.4.55 (192.168.4.55), 64 hops max, 40 byte packets
1 192.168.4.25 (192.168.4.25) 426.550 ms 23.442 ms 134.824 ms
2
3
192.168.4.8 (192.168.4.8) 29.588 ms 66.479 ms 8.494 ms
192.168.4.49 (192.168.4.49) 100.926 ms 53.931 ms 136.023 ms
4 192.168.4.55 (192.168.4.55) 56.195 ms 16.307 ms 216.964 ms
[j04014:~] j04014$ traceroute 192.168.4.55
traceroute to 192.168.4.55 (192.168.4.55), 64 hops max, 40 byte packets
1
2
192.168.4.47 (192.168.4.47)
192.168.4.25 (192.168.4.25)
12.101 ms
20.948 ms
44.007 ms 16.679 ms
1.333 ms 2.173 ms
3
4
5
192.168.4.8 (192.168.4.8) 9.922 ms 7.418 ms 8.523 ms
192.168.4.49 (192.168.4.49) 17.367 ms 20.333 ms 5.048 ms
192.168.4.55 (192.168.4.55) 7.107 ms 6.417 ms 36.540 ms
[j04014:~] j04014
2 週目のネットワークを構築する実験で以下のコマンドを使用した。それぞれのコマンドの機能
は以下の通りである。
• ping hostname
指定のホストとのパケットの送受信ができるかを調べることができる。今回の実験では、最
後尾のノードからのパケットが先頭まで送信されるのを確認するために使用した。
• traceroute hostname
ネットワークがどの経路で接続されているかを表示する。今回の実験では、どこの中継端末
を経由して接続されるのを確認するために使用した。
• netstat − r
ルーティングテーブルを表示する。ルーティングテーブルを表示することで、どの端末が記
憶してるのかが分かる。
5
[Hayato-Miyagi:~] j04055% sudo ipfw show
00100
412
20192 deny udp from 192.168.6.1 to 192.168.6.255 698 via en1
00200
00300
113
137
8296 deny udp from 192.168.6.2 to 192.168.6.255 698 via en1
9184 deny udp from 192.168.6.3 to 192.168.6.255 698 via en1
00400
00500
00600
128
136
137
8984 deny udp from 192.168.6.4 to 192.168.6.255 698 via en1
9224 deny udp from 192.168.6.5 to 192.168.6.255 698 via en1
9240 deny udp from 192.168.6.6 to 192.168.6.255 698 via en1
00700
00800
129
116
9140 deny udp from 192.168.6.7 to 192.168.6.255 698 via en1
10512 deny udp from 192.168.6.11 to 192.168.6.255 698 via en1
00900
01000
01100
318
0
50
18064 deny udp from 192.168.6.12 to 192.168.6.255 698 via en1
0 deny udp from 192.168.6.13 to 192.168.6.255 698 via en1
2776 deny udp from 192.168.6.14 to 192.168.6.255 698 via en1
01200
01300
62
53
3672 deny udp from 192.168.6.15 to 192.168.6.255 698 via en1
2920 deny udp from 192.168.6.16 to 192.168.6.255 698 via en1
01400
0
0 deny udp from 192.168.6.17 to 192.168.6.255 698 via en1
01500
29
2036 deny udp from 192.168.6.18 to 192.168.6.255 698 via en1
65535 507423 267387488 allow ip from any to any
[Hayato-Miyagi:~] j04055% traceroute 192.168.6.1
traceroute to 192.168.6.1 (192.168.6.1), 30 hops max, 40 byte packets
1
2
3
192.168.6.8 (192.168.6.8)
192.168.6.7 (192.168.6.7)
192.168.6.6 (192.168.6.6)
57.925 ms 0.597 ms 0.451 ms
0.937 ms 1.039 ms 1.01 ms
1.615 ms 1.592 ms 1.242 ms
4
5
6
192.168.6.5 (192.168.6.5)
192.168.6.4 (192.168.6.4)
192.168.6.3 (192.168.6.3)
3.03 ms 2.042 ms 1.807 ms
12.154 ms 2.525 ms 2.079 ms
2.889 ms 1.853 ms 1.718 ms
7
8
192.168.6.2 (192.168.6.2)
192.168.6.1 (192.168.6.1)
3.993 ms 2.309 ms 2.865 ms
11.183 ms 4.218 ms 2.194 ms
[Hayato-Miyagi:~] j04055% traceroute 192.168.6.18
1 192.168.6.10 (192.168.6.10) 18.729 ms 3.794 ms 1.753 ms
2 192.168.6.11 (192.168.6.11) 2.981 ms 2.91 ms 2.898 ms
3
4
192.168.6.12 (192.168.6.12)
192.168.6.13 (192.168.6.13)
5.76 ms
6.89 ms
5
6
7
192.168.6.14 (192.168.6.14)
192.168.6.15 (192.168.6.15)
192.168.6.16 (192.168.6.16)
3.442 ms
5.936 ms
7.923 ms
8
9
192.168.6.17 (192.168.6.17)
192.168.6.18 (192.168.6.18)
7.035 ms 8.931 ms 19.22 ms
16.746 ms 11.272 ms 13.983 ms
6
9.253 ms
5.008 ms
7.713 ms
4.672 ms
4.62 ms 4.579 ms
4.695 ms 3.981 ms
5.675 ms 5.309 ms
2.2.2
サークル上のネットワークの構築
6 ページに実行結果を示す。
アドホックネットワークをサークル上にするため ipf w を使用した。ipf w はファイアーウォールを設定
するためのコマンドである。今回の実験では ipf w add allow udp f rom 192.168.6.x to 192.168.6.255 698 via en1
と設定した。これは x のアドレスからのパケットを拒否するという意味である。サークル上にネッ
トワークを構築するには自分の IP アドレスの4オクテットの番号の IP アドレスだけのパケット
を通過させればよい。私の IP アドレスは 192.168.6.9 で中継地点の IP アドレスを順序良く通過さ
せることに成功した。
考察
3
今回の実験では,OLSRD を用いて,アドホックネットワーク構築を行い,サークル型のアドホッ
クネットワークを構築することにも成功した。ネットワークの構築を行うソフトウェア OLSRD,
アドホックネットワークの構築,およびその活用について考察を行う。
3.1
OLSR プロトコル
OLSRD は OLSR プロトコルというルーティングプロトコル実装したソフトウェアで,アドホッ
クネットワーク環境を構築することができる。無線通信で使用されるルーティングプロトコルは大
別すると Proactive 型と Reactive 型に分けられ、OLSRD プロトコルは前者の部類に入る.2 つの
型の特徴は以下の通りである。
• Proactive 型
あらかじめルーティングテーブルを作成して,通信を行う前に,経路を確保するしてるので
遅延が発生しない。ルーティングテーブルを最新の状態にするために,常に周囲のノードに
パケットを送らないといけないので消費電力が大きい。そのため頻繁に通信を行い、かつド
ポロジの変化が少ないネットワークに向いている。Proactive 型ルーティングプロトコルと
して OLSR、TBRPF がある。
• Reactive 型
通信が要求されてからルーティングテーブルを作成して経路を確保する。そのため通信して
ないときは電波を使用しないので,Proactive 型と比べて消費電力は小さい。通信開始時間
は,ルーティングテーブルを作成するので,Proactive 型より時間がかかるが,それが問題
にならないのであれば効率的な手法であるといえる。Reactive 型ルーティングプロトコルと
して DSR、AODV がある。
OLSR プロトコルの特徴としてフラッディング (一斉配信) の効率化である.一般的なフラッディ
ングは図 x のように全ノードへの配信を行う。そうすると,同じノードに同じパケットが複数送ら
れて,先に受信したパケット以外は破棄されるので効率が悪い。そこで,OLSR プロトコルでは必
要最小限のノードでパケットの送信を行うことができる。これは,アドホックネットワークのよう
なマルチホップの無線環境では効果的に実行できるルーティングプロトコルである。
7
3.2
3.2.1
アドホックネットワークの構築
アドホックネットワークについての考察
アドホックネットワークは固定のアクセスポイントなしで,無線端末ネットワークだけで構築す
ることができる。別名として,自立分散型無線ネットワークとも呼ばれる。アドホックネットワー
クではノードが直接同士通信できないときは他のノードを中継地点としてマルチホップ通信を行う
ことにより情報交換を実現する。アドホックネットワークの利点と欠点として以下のものが考えら
れる。
• 利点
1. その場限りのネットワークを構築するのに便利
2. 特定のインフラに依存する必要がない
3. モノの移動・撤去・追加により通信が途切れることはない
• 欠点
1. 端末の相互間での通信が確実ではない
2. ネットワークの規模が大きいほど通信への信頼感がなくなる
3. セキュリティーが弱い
3.2.2
今回の実験についての考察
今回のアドホックネットワークを構築するにあたっていくつかの問題点があった。
まず、通信を行う端末の始点と終点でのネットワーク確立を行うまでに非常に時間がかかったこと
があげられる。どちらもシングルホップでの通信は確認していたので、マルチホップ間での通信が
上手くいってなかったと思われる。OLSRD は端末を順序よく中継するわけではないので、中継地
点で相互通信が確実でない端末とマルチホップするときには通信が中断されることもあった。
次の問題点として、通信が不安定であるということである。私達の班では実験室から屋上までが担
当で、マルチホップでの通信がされたことを確認した。しかし、ライブ映像が微弱にしか通信され
ず、一時は通信が途中で途切れることもあった。
しかし、問題点だけでなくいくつかの利点もあることに気が付いた。
最もよいと思ったことはネットワークの構築が簡単ということである。各々の端末間で通信できる
ように設定する必要はあるが、アクセスポイントを設置せずにすむので前者を実現する方が容易で
ある。
別の利点として、物理的に近い場合の通信は安定してることである。その利点を利用して、マルチ
ホップ通信を物理的に近い端末同士だけで行えば効率の良い通信が行えると思われる。ただし、そ
うするとアドホックネットワークとしての利点が薄くなるので良く考える必要がある。
以上のことから、アドホックネットワークは手軽にネットワークを構築を行うのに有効であるとい
うことが実感できた。しかし、それと同時にネットワークとしては不安定な要素も持ち合わせてい
ることも感じた。
8
3.3
アドホックネットワークの活用
アドホックネットワークの活用例として、災害発生地などでのインフラを利用するが困難である
状況が考えられる。アドホックネットワークなのでモノの移動や撤去といったことを考慮せずにす
み、端末を追加することによって簡単にネットワークの規模を大きくすることができるので被災地
での救助活動に置いて柔軟に対応することが可能である。今回の実験でしようしたライブ映像の通
信を行えれば被害の状況をより明確に伝えれば救助での更なる効率化も望める。現状ではまだ本格
的な実用に至ってはいない。しかし無線 LAN の普及に伴って、アドホックネットワークの開発は
活発に行われている。そして、近い将来に災害対策としてはもちろん、きたるユビキタス時代にお
いて不可欠のネットワーク技術として大きく期待されている。
4
参考文献
• アドホックネットワーク:システム開発研究所:HIRACHI
http://www.sdl.hitachi.co.jp/japanese/people/adhoc/
• 無線アドホックネットワークの最新技術動向
新潟大学大学院自然科学研究家教授 間瀬憲一
9