ネットワーク時代を正しく生き抜くためのネットワーク

財団法人コンピュータ教育開発センター(CEC)
平成18年度 産業協力情報授業
ネットワーク時代を正しく生き抜くための
ネットワークリテラシー
なら情報セキュリティ総合研究所
http://www.nariis.or.jp/
日置慎治
目標
• インターネットは地球規模のネットワークである。
– 今やパソコンやサーバ等のコンピュータだけでなく、
携帯電話や一般の電話までもがインターネットに繋がる
時代になった。
– 上記のような通信機器だけでなく、家電製品までもがイン
ターネットに繋がろうとしている。
– このようなネットワークはどのような仕組みで動いている
のだろうか。
• これからの時代はネットワークのことを知り、
それを活用できることが大切である。
(ネットワークリテラシー)
• ネットワークの仕組を実習の要素を取り入れながら
理解していくことがこの授業の目標である。
2
インターネット:歴史と仕組み
• 歴史
– 戦争(米ソの冷戦)がインターネットを作った。
• 仕組み
– 世界で唯一のIPアドレス
– ルータが宛先IPアドレスに基づきパケットを送る
3
歴史(1) スプートニックショック!
• 1957年 ソ連が世界初の人工衛星「スプートニッ
ク」の打ち上げに成功
• 世界一だと信じていたアメリカの科学技術だが、実
はソ連も同等かもしくはそれ以上の高い科学技術力
を持つことを知りショックを受ける.
→ 「スプートニックショック」
• 衛星を打ち上げるだけの科学技術力があればソ連
に核爆弾落とされるかもしれない。
→ 「なんとかしなければ」
4
歴史(2) 障害に強いネットワーク
中央集権型
分散型
マザー
中央にマザーコンピュータ
障害に弱い
障害に強い
実験的なARPANETが
インターネットに発展した
5
ルーターが大切な役割を担う
ルーターがパケットを自律的に配送
インターネットの発展のためにはルーターが不可欠
6
ところでコンピュータが
作られた背景は?
戦争
インターネット
コンピュータも!
1946年実際の弾よりも速く弾道計算ができるENIAC完成
その後も米国はASCI計画を推し進め、スーパーコンピュー
タ分野で日本とともに世界をリードしていく・・・
ASCI計画では、原爆実験などを計算機で数値的に行うこ
とにより環境破壊などがないことを利点としている
7
ビット
• 「ビット」については、すでに、習っているはず!
• 3本の指で数えることのできる数は「1から3まで」では
なくて「1から8までだ」という人がいる、その理由は?
• コンピュータの理解に欠かせない2進数(ビット)
• ビットの計算ができないとこの授業についていけない!
8
3本の指で数えることのできる数は
1から8まで
• 3本の指の状態を、上向き(↑)下向き(↓)で表現
すると、以下の8通り考えられる。
↓ ↓ ↓、 ↓ ↓ ↑ 、 ↓ ↑ ↓、 ↓ ↑ ↑
↑ ↓ ↓、 ↑ ↓ ↑ 、 ↑ ↑ ↓、 ↑ ↑ ↑
• 矢印を0と1に置き換えても同じことなので、
000 , 001 , 010 , 011
100 , 101 , 110 , 111
• このように3桁の0と1の表現のことを
3桁2進数あるいは3ビットと呼ぶ。
9
4ビットで表現できるのは何通り?
• 0000 、 0001 、 ・・・と順に書いてみよう!
• 0000
0100
1000
1100
、
、
、
、
0001
0101
1001
1101
、
、
、
、
0010
0110
1010
1110
、
、
、
、
0011
0111
1011
1111
• 16通りですね!
10
ビットで表現できる数の種類
• 1ビットなら 0,1 の2種類
• 2ビットなら00,01,10,11の4種類
• 3ビットなら000,001,010,011
100,101,110,111
の8種類
・・・・・・・・・
• 8ビットなら00000000から
11111111の256種類
– 8ビットで0から順に書いてみよう!(後で)
• Nビットなら2N種類・・・わかるかな?
11
2進数と10進数の変換
• 4ビット(4桁2進数)と10進数の対応は
• 0000=0、0001=1、0010=2、0011=3
0100=4、0101=5、0110=6、0111=7
・・・
1000=8
・・・
1111=15
8
4
2
1
の位が0か1か
0101なら4と1の位が1なので4+1=5と計算12
8ビット:各桁
8ビット2進数
00000001
00000010
00000100
00001000
00010000
00100000
01000000
10000000
10進数
1
2
4
8
16
32
64
128
13
8ビット: 2進数から10進数への変換
2進数から10進数への変換は前表を使い
桁ごとに分解すれば簡単!
2の位
1の位
00000011→3
つまり、2が1つと、1が1つで合わせて3
00000011→3
1の位
同様に 64の位 16の位 4の位
01010101
→64+16+4+1=85
最大は11111111→255
14
8ビット: 10進数から2進数への変換
10進数を1,2,4,8,16,32,64,128の和で表すことが
でき、その桁が使われているかどうか調べればよ
い。前頁の逆を例に取れば
3=2+1だから
3→00000011
同様に
85 = 64+16+4+1→01010101
考え方は?
「85の中に128はないが64はある!残りは21でこ
の中に32はないが16はある・・・」
とやっていけばよい。
15
IPアドレスは32ビット
インターネットの世界で1台1台のコンピュータを識別する
のはコンピュータの住所に相当するIPアドレスです。
IPアドレスは世界中で重複しないように管理されています。
IPアドレスは32ビット
例:あるコンピュータのIPアドレス、
10100000111101001001110010001010
さあ、これを覚えられますか?
16
IPアドレスのオクテット表記
32ビットで書いたIPアドレスは扱いにくいけれど、
10100000111101001001110010001010
・8ビットずつ4つの部分に分けて、
10100000
11110100
10011100
10001010
・それぞれの部分を10進数に変換して、
160
244
156
138
・間にピリオドを入れて表現すると、
160.244.156.138
となります。
これなら案外覚えることができるでしょう。
(8ビットのことをオクテットと呼ぶことがあるのでこの表記
のことをオクテット表記と呼ぶこともあります。)
17
IPアドレスにおける注意点
32ビットで書いたIPアドレス(ビット表記)
10100000111101001001110010001010
と、オクテット表記、
160.244.156.138
は、あくまでも
「同一」のものである!
ということに注意しよう。
「表現方法」が違うだけ。
「オクテット表記は人間の理解を助けるためのもので
基本はビット表記である」と考えるとわかりやすい。
18
IPアドレス変換練習
ビット表記⇔オクテット表記の変換を行え。
00100000101101001001010010001110
・8ビットずつ4つの部分に分けて、
・それぞれの部分を10進数に変換して、
・間にピリオドを入れて表現する
19
IPアドレスの2つの部分
ネットワーク部とホスト部
IPアドレスは32ビット、
前後2つの部分に分けることができます。
前がネットワーク部、後がホスト部です。
(前と後がどこで分かれるかは後で説明します)
32ビットのIPアドレス=ネットワーク部+ホスト部
例:ネットワーク部=教室を表す番号
ホスト部
=教室内で5番のPC
例:ネットワーク部=○×会社総務部を表す番号
ホスト部
=部内で15番のPC
なぜ、ネットワーク部を知る必要があるのか?が重要。
(これについては、次回以降に詳しく説明します)
20
ネットワーク部とホスト部
例:総務部にあるPCのIPアドレスが以下であった。
IPアドレス
10101010111100000101010100001111
この32ビットのうち、総務部のアドレスを知りたい。
ネットワーク部が24ビットの場合には、
頭から24ビットをとり、
ネットワーク部 101010101111000001010101
が総務部のアドレスであり、
ホスト部
00001111
は、このPCが総務部の中の15番PCであることを示している。
ただし、ホスト番号は順番に付ける決まりなどないので、
15番PCというのは単なる番号であり、総務部には1台しかPCが
ないかもしれない。
21
ネットワーク部とホスト部
例:ネットワーク部が16ビットの場合
IPアドレス
10101010111100000101010100001111
ネットワーク部 1010101011110000
ホスト部
0101010100001111
例:ネットワーク部が8ビットの場合
IPアドレス
10101010111100000101010100001111
ネットワーク部 10101010
ホスト部
111100000101010100001111
22
(サブ)ネットマスク
ネットワーク部のビット数を指定する方法
ネットワーク部のビット数を指定する方法として、
32ビットのネットマスクを使い、ネットワーク部のビット
の数だけ先頭から1を並べ、残りを0とする。
つまり、
「ネットワーク部が16ビット」という代わりに
1を16個並べた以下のネットマスクを使う。
11111111111111110000000000000000
例:ネットワーク部が8ビットの場合のネットマスクは
11111111000000000000000000000000
例:ネットワーク部が24ビットの場合のネットマスクは
11111111111111111111111100000000
23
ネットワーク部とホスト部
ネットマスクを使って
例:
IPアドレス
10101010111100000101010100001111
ネットマスク 11111111111111110000000000000000
ネットワーク部 1010101011110000
ホスト部
0101010100001111
例:
IPアドレス
10101010111100000101010100001111
ネットマスク 11111111000000000000000000000000
ネットワーク部
10101010
ホスト部
111100000101010100001111
24
ネットワークアドレス
ネットワーク部の後ろに0を追加
IPアドレス
10101010111100000101010100001111
ネットマスク 11111111111111110000000000000000
ネットワーク部 1010101011110000
ネットワーク 10101010111100000000000000000000
アドレス
10進数表記で書くと(通常はこちらがよく使われる)
IPアドレス
ネットマスク
ネットワーク
アドレス
170.240.85.15
255.255.0 . 0
170.240.0 . 0
25
ネットワークアドレス計算
IPアドレス
170.240.85 .15
をもつPCがある。
ネットマスク 255.255.255.0
であるとき、このPCが所属するネットワークのアドレス
を計算したい。
計算方法(ビットで考える)
IPアドレス
10101010111100000101010100001111
ネットマスク 11111111111111111111111100000000
ネットワーク部 101010101111000001010101
ネットワーク 10101010111100000101010100000000
アドレス
10進数
ネットワーク 170.240.85. 0
26
アドレス
ネットワークアドレス計算演習
IPアドレス
170.240.85 .15
をもつPCがある。
ネットマスク 255.0.0.0
であるとき、このPCが所属するネットワークのアドレス
を計算したい。
計算方法(ビットで考える)
IPアドレス
10101010111100000101010100001111
ネットマスク
ネットワーク部
ネットワーク
アドレス
10進数
ネットワーク
27
アドレス
ネットワークアドレスとネットワーク
「ネットワーク」は様々な意味をもつ。
世界規模のインターネットもネットワークの1つである。
ここでは「ネットワークアドレス」で指定される
狭義の「ネットワーク」を考えてみよう。
192.168.10.1
255.255.255.0
A
192.168.10.2
255.255.255.0
B
192.168.10.0 ネットワーク
192.168.11.1
255.255.255.0
C
192.168.11.2
255.255.255.0
D
192.168.11.0 ネットワーク
AとBは同じネットワークアドレスを持つので同一の「ネットワーク」に存在し
ている。CとDも同一「ネットワーク」。
AとCは異なる「ネットワーク」。ネットワークアドレスで判断できる。
28
ネットワークの境界にはルータ
192.168.10.1
255.255.255.0
A
192.168.10.2
255.255.255.0
B
192.168.11.1
255.255.255.0
C
192.168.11.2
255.255.255.0
D
ルータ
192.168.10.0 ネットワーク
192.168.11.0 ネットワーク
「ネットワーク」同士を結びつける役割をもつ
コンピュータを「ルータ」と呼ぶ。
つまり、「ルータ」はネットワークの境界に存在する。
(昔、國境にあった関所のようなものだと考えてもよい)
「ルータ」を通らずには他のネットワークに到達できない。
29
ルータの必要性
• インターネットにおけるメッセージの送信は
郵便局での手紙の送信を例に考えるとわかりやすい。
• 手 紙 発信者→郵便局→・・・→郵便局→受信者
• ネット 発信者→ルータ→・・・→ルータ→受信者
– 郵便局に相当するのが「ルータ」というコンピュータ。
– つまり、インターネットでのパケット(メッセージ)
のやりとりにはルータが必要である。
• ただし、根本的に違う点がある。
– 宛先が送信元と「同じネットワーク」の場合は、ルータを経由
せずに直接メッセージを送信。
– 宛先が「同じネットワーク?か違うネットワークか?」
の判断するために、ネットワークアドレスを比較。
30
同じネットワークかどうか?
• 送信元:192.168.10.1
• 宛先 :192.168.10.101
• ネットマスク:255.255.255.0
ネットワークアドレスを計算してみると、どちらも
192.168.10.0 であることがわかります。
したがって、2つは同じネットワークにあり、
お互いの通信は「直接」行います。
つまり、「ルータ」は経由しません。
×
ルータ
31
同じネットワークかどうか?
• 送信元:192.168.10.1
• 宛先 :192.168.11.1
• ネットマスク:255.255.255.0
ネットワークアドレスを計算してみると、
192.168.10.0 と 192.168.11.0
となり、異なることがわかります。
したがって、2つは同じネットワークになく、
お互いの通信は「ルータ」を経由して行います。
ルータ
32
同じネットワークの通信と違うネットワークの通信
192.168.10.0ネット
A
B
C
ルータ1
192.168.11.0 ネット
D
F
E
ルータ2
192.168.12.0ネット
A→B , E→D , F→Gなど
E→F , B→E
など
G
192.168.13.0ネット
同じネットワークの通信
違うネットワークの通信
33
ネットワーク通信に最低必要な3情報
コンピュータがネットワークに繋がって通信できるために
は、以下の3つの情報が適切に設定されている必要が
ある。(最低限必要な3つの情報)
• IPアドレス
– 世界中で唯一の住所
• ネットマスク
– 通信相手が同じネットワークかどうかの判断に必要
• デフォルトゲートウエイのIPアドレス
– 通信相手が違うネットワークに存在するときには、
近くのルータ(デフォルトゲートウエイ)に通信を依頼する。
このゲートウエイのIPアドレスが必要となる。
34
ネットワーク通信に最低必要な3情報
(Windows XPでの設定)
IPアドレス, サブネットマスク, デフォルトゲートウエイ
35
ネットワークの数は?
(問題)
ルータ
ルータ
36
ネットワークの数は?
(問題)
ルータ
ルータ
ルータ
37
経由するルータは1つとは限らない!
192.168.10.0ネット
ルータA
192.168.11.0ネット
ルータB
192.168.12.0ネット
192.168.13.0ネット
ルータは受け取ったメッセージを
適切な他のルータに転送する → ルーティング
38
ルータは複数のインターフェースを持つ
インターフェースとはルータとネットワークとの境界のこと
192.168.10.0ネット
2つのインターフェース
ルータA
192.168.11.0ネット
ルータB
192.168.12.0ネット
192.168.13.0ネット
3つのインターフェース
39
インターフェースには名前がついている
(ルータBを例に)
192.168.10.0ネット
ルータA
192.168.11.0ネット
ルータB
192.168.12.0ネット
e0
s1
192.168.13.0ネット
s0
40
ルータの2つの仕事
• ルーティングテーブル作成・維持
– スタティックルーティング(手動)と
ダイナミックルーティング(自動)
• パケットのフォワーディング(配送)
– ルーティングテーブルに従い、
パケットの宛先に応じて
適切なインターフェースから配送する
41
ルータはルーティングテーブルに従い、
パケットをフォワーディング(配送)する
ルーティングテーブル
パケットの配送を決めるための配送表で
宛先とインターフェースの対応表。
ここにない宛先のパケットは捨てられる
192.168.10.0ネット
宛先ネットワーク
インターフェース
192.168.10.0
192.168.11.0
192.168.12.0
192.168.13.0
s1
s1
e0
s0
(上はルータBの例)
ルータA
192.168.11.0ネット
ルータB
192.168.12.0ネット
e0
s1
192.168.13.0ネット
s0
42
ルーティングテーブルをどういう仕組みで作るのか?
ルーティングテーブルを作る2つの方法
・スタティックルーティング(静的ルーティング)
・・・管理者が設定
(一度設定すれば、管理者が変更するまではそのままである)
長所:ネットワークを無駄に消費しない
短所:ネットワークが変更になる度に管理者が設定を変更する必要がある
・ダイナミックルーティング(動的ルーティング)
・・・ルータ同士が情報をやりとりして自動的に(定期的にあるいはネット
ワークの変更があった時に自動的に更新する仕組みがある)
代表的なものに、RIPやOSPFなどがある
長所:ネットワークの変更に柔軟に対応できる
短所:ネットワークの変更がなくても情報のやりとりがあり無駄な面がある
43
ダイナミックルーティング例
RIPの場合(1)
192.168.1.0 ネット
e0
192.168.2.0 ネット
e1
e0
ルータA
ルータAのルーティングテーブル
宛先
インターフェース
192.168.1.0
e0
192.168.2.0
e1
192.168.3.0 ネット
e1
ルータB
最初は直接つな
がっているネット
ワークの情報し
かわからない
ルータBのルーティングテーブル
宛先
インターフェース
192.168.2.0
e0
192.168.3.0
e1
RIPによりそれぞれのルータが持つ情報を
隣のルータ同士で交換した後は
宛先
インターフェース
ネットワークでつな
192.168.1.0
e0
がっているあらゆる
192.168.2.0
e1
ネットワークへの配
192.168.3.0
e1
送方法がわかる
宛先
インターフェース
192.168.1.0
e0
192.168.2.0
e0
192.168.3.0
e1
44
ダイナミックルーティング例 RIPの場合(2)
192.168.1.0 ネット
e0
192.168.2.0 ネット
192.168.3.0 ネット
e1
ルータA
ルータAのルーティングテーブル
宛先
インターフェース
192.168.1.0
e0
192.168.2.0
e1
ルータB
最初は直接つな
がっているネット
ワークの情報し
かわからない
192.168.4.0 ネット
ルータC
192.168.5.0 ネット
RIPによる情報交換1回目:ルータBの情報を取得した
宛先
インターフェース
192.168.1.0
e0
192.168.2.0
e1
192.168.3.0
e1
192.168.4.0
e1
192.168.5.0
e1
RIPによる情報交換2回目:ルータCが最初持っていた情報を(ルータB経由で)取得した
宛先
インターフェース
192.168.1.0
e0
192.168.2.0
e1
192.168.3.0
e1
192.168.4.0
e1
45