IP層(1)

I P 層 (1)
ネットワークシステムⅠ
第8回
今回の概要

IPパケットの構造

IPアドレス(復習)

IPパケットの配送
I P パ ケ ッ ト の 構 造 (1)

IPデータグラム
 IPパケットのこと
 IPヘッダとデータからなる
 ヘッダ 荷札(宅配便の伝票)みたいなもの
I P パ ケ ッ ト の 構 造 (2)
このパケットを送り出す
ノードのIPアドレス
(差出ノード)
ヘッダ
このパケットを受け取る
ノードのIPアドレス
(宛先ノード)
I P パ ケ ッ ト の 構 造 (3)

チェックサムとは(復習)

対象部分に何らかの演算を行った結果


受け取った方でも,同じ演算を行い,その結果と
比べる
途中で,値が変わると,一致しない
I P パ ケ ッ ト の 構 造 (4)
ヘッダチェックサムの対象部分
(ヘッダチェックサムを除くヘッダ)
I P パ ケ ッ ト の 構 造 (5)

IPではチェックサムの対象は,ヘッダ部分だけ

つまり,データが変わっていても分からない

だから,IPではデータが正しいことは保証されな
い
IPアドレス
復 習
前回のスライドから
I P ア ド レ ス (1)


ノードを区別するユニークなアドレス
 同じIPアドレスを複数のノードに付けられない
32ビット
 0 ~ 4294967295 (インターネット上のノードの
上限)
 v6では,128ビット
I P ア ド レ ス (2)

表記法
 8ビットずつ,10進法で表記して,“.”で区切る

192.168.10.5
1100 0000
1010 1000
0000 1010
0000 0101
ネットワークアドレス,ホストアドレス(1)

IPアドレスは


ネットワークアドレス部
ホストアドレス部
に分けることができる
ネットワークアドレス,ホストアドレス(2)



ネットワークアドレス
 そのノード(ホスト)が接続しているネットワー
ク(セグメント)のアドレス
ホストアドレス
 そのノードのネットワーク内でのアドレス
教室の番号301(階数+その階での番号)
ネットワークアドレス,ホストアドレス(3)



32ビットの中で,ネットワークアドレスのビット数
を明示する
192.168.10.68/26
前26ビットがネットワークアドレス,
後6ビットがホストアドレス
ネットワークアドレス,ホストアドレス(4)

192.168.10.68/26

ネットワークアドレス・ホストアドレス

11000000 10101000 00001010 01000100

ネットワークアドレスはホストアドレス部を0に


11000000 10101000 00001010 01000000
つまり,192.168.10.64/26
ネットワークアドレス,ホストアドレス(5)

ネットワークアドレス部とホストアドレス部の区切
りの記法
 ビット数(例 /26)
 “ネットマスク”という方法もある
パケットの配送
パ ケ ッ ト の 配 送(1)


各ノードは,パケットの送り先を記録してある
ルーティングテーブル
を持つ
これは,
“パケットの宛先のノードがあるネットワークの
ネットワークアドレス”と
“パケットを次に送るノードのIPアドレス”
の対応表
パ ケ ッ ト の 配 送 (2)
 ルーティングテーブルの例
終点IPアドレス(宛先)が
192.168.0.5 とする
始めの24ビットは192.168.0.0
宛先のノードは,このネットワークアド
レスをもつネットワークに属している
とりあえず
このノードに送る
パ ケ ッ ト の 配 送 (3)

例えとなるかどうか
 高崎に行きたい
 高崎は,高崎線の
駅
 高崎線に乗るには,
新町駅に行く

パケットの配送
 パケットの宛先
 宛先のあるネット
ワークのアドレス
 そのネットワークに
送るには,どのノー
ドに送ればよいか
ここで終わりではない
先がある
パ ケ ッ ト の 配 送 (4)


直接配送
 送り先が自分自身
 宛先が,自分と直接つながっている
 ネットワークインタフェースに任せる
間接配送
 送り先が自分自身でない
 宛先が,自分と直接つながっていない
 “送り先(中継ノード ルータ)”に送る
 実際に送るのはネットワークインタフェース
パ ケ ッ ト の 配 送 (5)


ルーティングテーブルに,すべての情報を格納す
ることは不可能
“その他”の送り先を指定できる
 デフォルトルート(default route)
 テーブルでは,0.0.0.0/0
 パケットの送り先をデフォルトゲートウェイ
(default gateway)
パ ケ ッ ト の 配 送 (6)

宛先のノードが,“192.168.0.0/24”のネット
ルーティングテーブルの例
ワークにないときは,“192.168.0.1”に送る
宛先のノードが,このネットワークアドレスのネッ
トワークにあるときは,“192.168.0.5”に送る
左側のネットワークの
ネットワークアドレス
右側のネットワークの
ネットワークアドレス
パケットの配送例(1)

このルータは,二つのネットワーク
ネットワークの例
につながっているので,
IPアドレスを二つもつ
PCのIPアドレス
パケットの配送例(2)
パケットの配送例(3)

直接配送
192.168.0.5から192.168.0.6へ送る
自分に送る
パケットの配送例(4)


直接配送
送り先が自分自身
 宛先が,自分と直接つながっている
ネットワークインタフェースに任せる
 IPの仕事は終了
パケットの配送例(5)

間接配送
192.168.0.5から192.168.1.10へ送る
“192.168.1.10”は,“192.168.0.0/24”のネットワークにない
デフォルトルートを選ぶ 間接配送
“192.168.0.1(ルータ)”に送る
パケットの配送例(6)
パケットの配送例(7)


送り先が自分自身でない
 宛先が直接つながっていない
ルータに送る
 後はルータに任せる
間接配送
ルーティングテーブル(1)


単純に,テーブルの上の方から調べるわけでは
ない
詳細は省略
ルーティングテーブル(2)

ルーティングテーブルの例 netstat -r
IP層とネットワークインタフェー
ス層の関係
Ethernetの場合
MACアドレスとIPアドレス(1)



Ethernetでは,MACアドレスによりデータ(フレー
ム)の送り先を指定する
MACアドレス(Ethernet固有のもの)と
IPアドレスの関係は?
ARP (Address Resolution Protocol)
MACアドレスとIPアドレス(2)

ARP要求パケット

ブロードキャストにより,
“このIPアドレスのノードのMACアドレスを教え
て!”
というメッセージをセグメント内のすべてのノード
に送る
MACアドレスとIPアドレス(3)


ARP応答パケット
該当IPアドレスのノードは,自分の“MACアドレ
ス”を返答する
MACアドレスとIPアドレス(4)

arp -a
パケットの分割


IP層のパケットの長さは,ネットワークインタ
フェース層のパケットの長さより長い
ネットワークインタフェース層のパケット長に合わ
せて,分割して送り,終点で再構築する
ま と め
今日のポイント
ま と め (1)

IPではチェックサムの対象は,ヘッダ部分だけ

つまり,データが変わっていても分からない

だから,IPではデータが正しいことは保証されな
い
ま と め (2)


各ノードは,ルーティングテーブルを持つ
宛先のノードが属するネットワークのネットワーク
アドレスと同じものをルーティングテーブルで探
す

送り先を見つけ,そこに送る

デフォルトルート(0.0.0.0/0)

デフォルトゲートウェイ
ま と め (3)


直接配送
 送り先が自分自身
 宛先が,自分と直接つながっている
 ネットワークインタフェースに任せる
間接配送
 送り先が自分自身でない
 宛先が,自分と直接つながっていない
 “送り先”に送る
 実際に送るのはネットワークインタフェース
次 回

パケットは,世界を駆け巡る

どうやって?