Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
コンピュータ科学III 担当:武田敦志 <[email protected]>
http://takeda.cs.tohoku-gakuin.ac.jp/
page 2
インターネットの通信(1)
パケットを用いた通信
インターネットではパケット単位で通信を行う
パケットとは?
ヘッダを付加したデータのかたまり
ヘッダには宛先アドレスや送信元の情報などが含まれる
Data Header
Packet
宛先アドレスなど 送りたいメッセージ
page 3
インターネットの通信(2)
パケットの送受信
パケットを送受信することにより、情報通信を行う
パケットは送信されるだけ
送信者は受信されたかどうかを知らない
パケットの大きさには限界がある
パケットの限界サイズ以上のデータは送信できない
Internet
送信 受信
インターネットの通信(3)
IPパケットの内容 32bit
version ヘッダ長 パケット長
識別子 フラグ
生存時間 プロトコル チェックサム
送信元IPアドレス
宛先IPアドレス
データ
オプション
IPパケット
宛先MACアドレス (6オクテット)
送信元MACアドレス (6オクテット)
タイプ (2オクテット)
FCS (4オクテット)
送信データ 46~1500オクテット
イーサネットフレーム
page 5
インターネットの通信(4)
インターネットのネットワーク構造
組織
組織
IX
組織
組織
組織
組織
組織
組織
組織
組織
IX
組織
組織
組織
NOC
ISP ISP
ISP
ISP ISP
page 6
インターネットの通信(5)
インターネットのネットワークトポロジ 複雑だが信頼性の高いネットワーク型 プロトコルは IP (Internet Protocol) を使う
To : B Data
to : z
page 7
インターネットの通信(6)
コンピュータ間の通信
To : B Data
to : x To : B Data
to : x to : y To : B Data
to : y to : z
to : B To : B Data
to : B A
B
x y
z p
q
r
宛先Bのパケットは y に渡す
宛先Bのパケットは z に渡す
ルーティング情報
page 8
インターネットの通信(7)
IPの問題点
パケットを処理出来ず Aからのデータをロスト
To : B Data-1
to : x
A x y
To : B Data-1
to : z To : B Data-1
to : y
p q
r
To : B Data-2
to : z
z
To : B Data-1
to : z
To : B Data-2
to : z
C
To : B Data-2
to : r
B
To : B Data-2
to : z
損失データの回復(再送制御)を行わない
IPアドレス(1)
page 9
IPアドレス
IPアドレスは 32bitの整数値で表現される 表現範囲 : 0 ~ 4294967295
通常は、8bit 毎の値を10進数で表記する 例 : 2130706433 ⇔ 127.0.0.1
ネットワークインタフェースに割り当てられる 1個のホストが2個以上のアドレスを持つこともある
IPアドレス(2)
page 10
IPアドレスの構成
IPアドレスはネットワーク部とホスト部で構成される
例 : 192.168.1.34 / 24
ネットワーク部 ホスト部
ネットワーク部の長さ
データリンクのセグメント毎に割り当てられる ネットワーク部
ホスト部 セグメント内のホスト毎に割り当てられる
⇒ ネットワークアドレス
IPアドレス(3)
page 11
ネットワークアドレス
データリンクのセグメント毎に割り当てられる
同じネットワークアドレスを持つホストは データリンク層のプロトコルによる直接通信が可能
10.1.1.1 / 24
10.1.2.1 / 24
10.1.1.2 / 24
10.1.1.4 / 24
10.1.1.3 / 24
10.1.2.23 / 24
10.1.2.85 / 24 10.1.2.193 / 24
ネットワークの境界
IPアドレス(4)
page 12
IPアドレスの割り当て(1) ネットワークアドレスを考慮して割り当てを行う
router bridge 10.1.4.1 / 24
10.1.13.1 / 24
10.1.6.1 / 24 10.1.6.2 / 24
10.1.6.3 / 24
10.1.6.4 / 24
10.1.6.5 / 24 10.1.13.23 / 24 10.1.13.126 / 24 10.1.13.11 / 24
10.1.4.45 / 24
10.1.4.13 / 24
bridgeはLayer2の通信を中継
ホスト部は(重複しなければ)ランダムに割り当ててもよい
routerにもIPアドレスは割り当てられる
ホスト部は連番で割り当ててもよい
routerとの L2通信が可能
ネットワークアドレスを割り当てる
IPアドレス(5)
page 13
IPアドレスの割り当て(2)
ネットワークの境界はどこでしょう?
router bridge 10.1.4.1 / 24
10.1.13.1 / 24
10.1.6.1 / 24 10.1.6.2 / 24
10.1.6.3 / 24
10.1.6.4 / 24
10.1.6.5 / 24 10.1.13.23 / 24 10.1.13.126 / 24 10.1.13.11 / 24
10.1.4.45 / 24
10.1.4.13 / 24
IPアドレス(6)
IPアドレスのクラス ネットワーク部とホスト部を分けるためのルール
クラスA : 0.0.0.0 / 8 ~ 127.0.0.0 / 8
クラスB : 128.0.0.0 / 16 ~ 191.255.0.0 / 16
先頭 8bit がネットワーク部
クラスC : 192.0.0.0 / 24 ~ 223.255.255.0 / 24
クラスD : 224.0.0.0 ~ 239.255.255.255
先頭 16bit がネットワーク部
先頭 24bit がネットワーク部
マルチキャストアドレス(ネットワーク部は無い)
IPアドレス(7)
サブネットマスク(1) アドレスのクラス分けは無駄が多い
クラスA : 0.0.0.0 / 8 ~ 127.0.0.0 / 8 先頭 8bit がネットワーク部
11.0.0.0 / 8 のネットワークには 16777214 個のホストを接続することができる
例えば:
⇒ 1個のネットワークに接続できるホスト数は限られる
1600万個以上のアドレスが使用されない
IPアドレス(8)
page 16
サブネットマスク(2) ネットワーク部とホスト部を判別するための情報
: 192.168.34.199 IPアドレス サブネットマスク : 255.255.255.0
192.168.34.199
ネットワーク部 ホスト部
192.168.34.199 / 24 サブネットマスクを含んだIPアドレス表記法
特殊なIPアドレス(1)
page 17
ブロードキャストアドレス
ホスト部のビットがすべて 1 のアドレス ネットワーク内の全てのホスト宛てのアドレス
10.1.1.1 / 24
10.1.2.1 / 24
10.1.1.2 / 24
10.1.1.4 / 24
10.1.1.3 / 24
10.1.2.23 / 24
10.1.2.85 / 24 10.1.2.193 / 24 10.1.1.255 宛て
特殊なIPアドレス(2)
page 18
ホスト部の設定方法
ホスト部に指定できないアドレスがある すべてのビットが 1 のアドレス
(ブロードキャストアドレス)
すべてのビットが 0 のアドレス(予約アドレス) 10.1.0.0 / 16 ⇒ 10.1.255.255
10.1.0.0 / 16 ⇒ 10.1.0.0
10.1.0.0 / 16 のネットワークに収納できるホストの数 例えば :
65536 (2の16乗) - 2 = 65534個
特殊なIPアドレス(3)
page 19
プライベートアドレス
IPアドレスはホストを一意に識別するための識別子 インターネット上でIPアドレスが重複してはならない ⇒ 通常、IPアドレスを自由に設定することは出来ない
自由に設定できるIPアドレス:プライベートアドレス
独自のネットワーク内で自由に設定できる 10.0.0.0 / 8, 172.16.0.0 / 12, 192.168.0.0 / 16
インターネットでの通信にはNATなどの仕組みが必要
経路制御(1)
ルーティング(経路制御)
目的のノードまでパケット(データ)を届ける機能
(a1)
(a2)
(a3) (e1)
(d1) (d2)
(d0)
(b0) (a0)
(b1)
(b3)
(b2)
(c0) (c1)
(e0)
(e2)
d1
page 20
経路制御(2)
ルーティング(経路制御) ノードは直接接続されているノードしか知らない
⇒ データ(パケット)を中継する機能が必要
(a1)
(a2)
(a3) (e1)
(d1) (d2)
(d0)
(b0) (a0)
(b1)
(b3)
(b2)
(c0) (c1)
(e0)
(e2) page 21
(a1) が直接通信できる範囲 (d1) が直接通信できる範囲
経路制御(3)
ルーティングテーブル(経路制御表)
パケットを中継する先を設定した経路表
(a1)
(a2)
(a3) (e1)
(d1) (d2)
(d0)
(b0) (a0)
(b1)
(b3)
(b2)
(c0) (c1)
(e0)
(e2)
d1
page 22
d? => b2 e? => c1
経路制御(4)
page 23
ルーティングテーブル
目的地・中継先はIPアドレスで指定する
Destination Gateway Flags Refs Use Netif default 130.34.209.1 UGS 0 105935521 fxp1 10.128/16 10.137.0.2 UG1 0 439517 fxp0 10.134/16 130.34.209.16 UG1 0 2 fxp1 10.137.1/24 10.137.240.2 UGS 0 2015273 tun0 10.137.2/24 10.137.240.2 UGS 0 983298 tun0 10.137.3/24 10.137.240.2 UGS 0 340944 tun0 10.137.240/25 10.137.240.2 UGS 0 131655 tun0 10.137.240.2 10.137.240.1 UH 5 0 tun0 172.16.50/24 10.137.240.2 UG1 0 222 tun0
ルーティングテーブルの例
経路制御(5)
ルーティングテーブルの設定(1)
(10.1.1.2/24)
(10.1.1.3/24)
(10.1.1.4/24) (10.1.5.2/24)
(10.1.4.2/24) (10.1.4.3/24)
(10.1.4.1/24)
(10.1.2.1/24) (10.1.1.1/24)
(10.1.2.2/24)
(10.1.2.4/24)
(10.1.2.3/24)
(10.1.3.1/24) (10.1.3.2/24)
(10.1.5.1/24)
(10.1.5.3/24)
page 24
10.1.3.0/24
10.1.0.0/24 10.1.2.0/24 10.1.4.0/24
10.1.5.0/24
サブネットワークの情報を整理する
経路制御(6)
ルーティングテーブルの設定(2)
(10.1.1.2/24)
(10.1.1.3/24)
(10.1.1.4/24) (10.1.5.2/24)
(10.1.4.2/24) (10.1.4.3/24)
(10.1.4.1/24)
(10.1.2.1/24) (10.1.1.1/24)
(10.1.2.2/24)
(10.1.2.4/24)
(10.1.2.3/24)
(10.1.3.1/24) (10.1.3.2/24)
(10.1.5.1/24)
(10.1.5.3/24)
page 25
直接通信できるネットワーク 10.1.4.0/24
10.1.5.0/24
中継が必要となるネットワーク(ノード)を探す
経路制御(7)
ルーティングテーブルの設定(3)
(10.1.1.2/24)
(10.1.1.3/24)
(10.1.1.4/24) (10.1.5.2/24)
(10.1.4.2/24) (10.1.4.3/24)
(10.1.4.1/24)
(10.1.2.1/24) (10.1.1.1/24)
(10.1.2.2/24)
(10.1.2.4/24)
(10.1.2.3/24)
(10.1.3.1/24) (10.1.3.2/24)
(10.1.5.1/24)
(10.1.5.3/24) page 26
目的ノード : 中継ノード 10.1.4.0/24 : 10.1.2.3 10.1.5.0/24 : 10.1.3.2
ルーティングテーブルを設定する
経路制御(8)
デフォルトルート
(10.1.1.2/24)
(10.1.1.3/24)
(10.1.1.4/24) (10.1.5.2/24)
(10.1.4.2/24) (10.1.4.3/24)
(10.1.4.1/24)
(10.1.2.1/24) (10.1.1.1/24)
(10.1.2.2/24)
(10.1.2.4/24)
(10.1.2.3/24)
(10.1.3.1/24) (10.1.3.2/24)
(10.1.5.1/24)
(10.1.5.3/24) page 27
default : 10.1.2.1
経路情報に登録されていないノード宛のパケットの中継先 ⇒ すべてのノードを登録する必要はない
経路制御(9)
page 28
ルーティングテーブル
Destination Gateway Flags Refs Use Netif default 130.34.209.1 UGS 0 105935521 fxp1 10.128/16 10.137.0.2 UG1 0 439517 fxp0 10.134/16 130.34.209.16 UG1 0 2 fxp1 10.137.1/24 10.137.240.2 UGS 0 2015273 tun0 10.137.2/24 10.137.240.2 UGS 0 983298 tun0 10.137.3/24 10.137.240.2 UGS 0 340944 tun0 10.137.240/25 10.137.240.2 UGS 0 131655 tun0 10.137.240.2 10.137.240.1 UH 5 0 tun0 172.16.50/24 10.137.240.2 UG1 0 222 tun0