第4章 IP プロトコル - 教職員・研究者のためのコンピュータ利用案内

Download Report

Transcript 第4章 IP プロトコル - 教職員・研究者のためのコンピュータ利用案内

第4章 IPプロトコル
4407036 榊原 悠
4.1 IPはインターネット層の
プロトコル
4407036 榊原 悠
IPとは
OSI参照モデルの第3層(ネットワーク層)
に相当する
 複雑なネットワークの中でも最終的な宛
先にパケットを届ける

ネットワーク層
終点ノード間の通信を実現する
 ネットワーク層の下位にはデータリンク層
が位置している
 データリンク層は同一リンクで直接接続
されているノード間のパケット転送を行う
 ネットワーク層がデータリンクをコントロ
ールしながらパケットを配送することによ
って、同一リンクに接続されていないコン
ピュータ間での通信が可能となる

ネットワーク層とデータリンク層の関係
データリンク層は直接接続された機器同
士の通信を提供
 IPは直接接続されていない機器同士の
通信を提供
 双方を組み合わせることで遠くの機器へ
の通信が可能となる

4.2 IPの基本知識
4407036 榊原 悠
IPの3つの役割
IPアドレス
 終点ホストまでのパケット配送
(ルーティング)
 IPパケットの分割処理と再構築処理

4.2.1 IPアドレス
ネットワーク層であるIPで使用されている
アドレス
 通信の宛先の識別を行う
 インターネットに接続されるすべてのホス
トやルーターには、必ず設定しなければ
ならない
 どのようなデータリンクでも同じ形式のIP
アドレスが利用される

4.2.2 経路制御(ルーティング)
宛先のIPアドレスのホストまでパケットを
届けるための機能(パケットの通り道を
決め、目的ホストへの経路が決定する)
 IPアドレスを設定したホストまで、どのよ
うにして配送されるのか・・・?

終点ホストまでのパケット配送
ホップバイホップルーティングを利用
(ホップとは1区間を意味する)
 IPでは、データリンクの1区間ごとにルー
トが決定され、パケットが送信される

経路制御表(ルーティングテーブル)
宛先のホストまでパケットを送るため、
すべてのホストやルーターが持っている
情報
 IPパケットを次にどのルーターへ送れば
いいかが記されている
 IPパケットはこれに従って各リンクへ配送
される

4.2.3 データリンクの抽象化


配送先によってMTUの大きさのちがうパケットを
送信する場合がある。この問題に対処するために
IPでは分割化処理を行う。
分割化処理・・・IPを小さな複数のパケットに分割
※ IPは、データリンクの特性を抽象化して、
上層部から細かいネットワークの構造を
見えなくする役割を持つ。
4.2.4 IPはコネクションレス型

コネクションレス型
事前にコネクションの確立を行わない方式
(上位層に送信すべきデータが発生したら、
すぐにデータを詰めて発送する)

コネクション型
通信に先立ってコネクションの確立を行う方
式
4.2.4 IPはコネクションレス型

利点
機能の簡略化と高速化

欠点
無駄な通信やパケットを取りこぼす可能
性がある
4.3
IPアドレスの基礎知識
工学部第一部 経営工学科 3年
4407010 榎本健太
IPアドレスとは
個々のホストに必ず割り当てる必要がある
インターネットに接続やLANでネットワークを作る時に必要
32ビットの正数値でできている

IPアドレスの構成
32ビットを8ビットずつに分けている
ネットワーク部とホスト部の分け方はクラスによって決まる

16
IPアドレスとは(2)
1100000010101000000000100000001
11000000 .1010100 .00000001 .00000001
192
.168
.1
.1
17
IPアドレスとは(3)
18
ネットワーク部とホスト部
 ネットワーク部



データリンクのセグメントごとに割り当てられる
接続されているすべてのセグメントのアドレスと重ならないよ
うに設定する
同じセグメントに接続されているホストには同じネットワーク
アドレスを設定する
 ホスト部

同一セグメント内で重ならない値を割り当てる
同じIPアドレスを持つコンピュータが1台しか存在しない
19
IPアドレスのホスト部
206.111.10.1
ホ
ス
ト
部
は
異
な
る
値
に
ルーター
206.100.10.1
ネットワーク部
ホスト部
ホ
ス
ト
部
は
異
な
る
値
に
異
な
る
セ
グ
メ
ン
ト
は
違
う
値
に
20
IPアドレスのネットワーク部
192.168.128.0/24
192.168.129.0/24
192.168.130.0/24
ルーター
ルーター
ルーター
宛先 192.168.130.10
ルーター
ルーターは、宛先IPアドレスの
ネットワーク部を調べて経路を
決定する
21
IPアドレスのクラス
クラスはA,B,C,Dの4つがある
それぞれの違い
 先頭から4ビットまでのビット列の組み合わせ
 割り当てられるホストアドレスの数
ホストアドレス割り当て時の注意
 全てが0の場合 →
IP不明の時に使用
 全てが1の場合 → ブロードキャストアドレス
22
IPアドレスのクラス(2)
 クラスA(ホストアドレス数 約1700万)
• 先頭1ビットが0
• 先頭から8ビットがIPネットワークアドレス
 クラスB(ホストアドレス数 65534)
• 先頭2ビットが10
• 先頭から16ビットがIPネットワークアドレス
 クラスC(ホストアドレス数 254)
• 先頭3ビットが110
• 先頭から24ビットがIPネットワークアドレス
 クラスD(IPマルチキャストで利用→5章)
• 先頭4ビットが1110
• 先頭から32ビットがIPネットワークアドレス
23
IPアドレスのクラス(3)
24
ブロードキャストアドレス

同一リンクに接続されたホストにパケット
を送信するためのアドレス

ローカルブロードキャストとダイレクトブ
ロードキャストの2つがある
25
ブロードキャストアドレス(2)
ローカルブロードキャスト

同一リンク内へのブロードキャスト
ダイレクトブロードキャスト

異なるIPアドレスへのブロードキャスト
26
ローカルブロードキャスト
ネットワーク
128.1.0.0の外には
ネットワーク
パケットは送信されない
128.2.0.0/16
128.1.0.0/16
ルーター
同一ネットワーク内にある
全てのホストにデータが送
信される
ブロードキャストアドレス
128.1.225.225
へ送信
27
ダイレクトブロードキャスト
ネットワーク
128.1.0.0の外に
ネットワーク
パケットが送信される
128.2.0.0/16
128.1.0.0/16
ルーター
同一ネットワーク内にある
全てのホストにはデータは
送信されない
ブロードキャストアドレス
128.2.225.225
へ送信
28
クラスの問題点
•
ネットワーク部が同じコンピュータは全て同一リンクに
接続しなければならない
クラスB 6万5千台のホスト接続可能
現実的なネットワーク構成ではない
無駄を小さくしたい
サブネットマスクの導入
サブネットワーク
•
•
ネットワークアドレスの表し方が拡張
ネットワークを分割し数を増やす
ネットワーク
アドレス部
ホスト部
ネットワーク サブネット
ホスト
アドレス部 ワーク
部
アドレス部
サブネットマスク
ネットワーク部の長さを表す
• クラスに縛られずIPアドレスのネットワー
ク部を決める事が可能
サブネットマスクの表示
•
26ビットネットワークアドレスの場合
IPアドレス
172.20.100.52
ネットマスク
255.255.255.192
IPアドレス
172.20.100.52/26
サブネットマスクの例

IPアドレス(172.20.100.52/26)
172.
20.
100.
52.
10101100000101000110010000110100
クラスによるネットワーク部
サブネットマスクで拡張され
るネットワーク部
26桁をマスク
ホスト部
CIDRとクラスレス
インターネットの普及によりクラスBの絶対数
が不足
短期的な解決
•
•
•
CIDR導入
クラス分けをなくしたIPネットワークアドレス、I
Pホストアドレスの考え方
IPのアドレス空間を有効利用
経路情報を集約し圧縮
CIDRの適用例
203.183.224.0/23
11001011.10110111.11100000.00000001
ネットワーク部
IPホストホ
スト部
11001011.10110111.11100001.11111110
23桁
(203.183.224.1)
510個
(203.183.225.254)
9桁
2^9-2=510個のホスト数
特別なIPアドレス
インターネットに接続されているホストには、必
ずユニークなIPアドレスを割り当てる
プライベートIPアドレス
外部と通信できないが私的なネットワーク内で
の利用が可能
• アプリケーションゲートウェイやNAT(Network
Address Translator→5章)を利用すれば外部
と通信する事は可能
•
IPアドレスは誰が決める
IPアドレス決定機関
•
•
•
ICANN
全世界的にIPアドレスやドメイン名を管
理
JPNIC
日本国内のIPアドレスやAS番号を管理
ISP
プロバイダ
IPアドレスは誰が決める(2)
IPアドレス申請の流れ
申請者
ISP
JPNIC非会員
JPNIC
ISP
JPNIC会員
IPアドレスの割り当て申請
特定のIPアドレスの割り当て処理を代行
4.4 経路制御
(ルーティング)
4407402 丹野 雅弘
1.1.IPアドレスと経路制御
•
•
•
IPパケットを目的のノード(ルータやコンピュータ)に転送するために
、IPパケットをどのようなルート(通信路)で送信すればよいかなどの
道先案内を行うナビゲーション・システム(インターネット・ナビゲー
ション)をもつ必要があります。これが、経路制御プロトコル(Routing
Protocol、ルーティング・プロトコル)です。
インターネット内の各ノードは、経路制御プロトコルによって生成さ
れる経路表(ルーティング・テーブル)を基に、IPパケットを目的のノ
ードに向かってバケツ・リレーのように転送します。
経路表には、宛先(目的地)にIPパケット(小包)を届けるための次
の中継ノード(例えば、郵便局のような機能をもつルータ)の情報が
書き込まれています。経路表は、経路制御プロトコルによって自動
的に生成されますが(動的経路制御、Dynamic Routing)、管理者に
よって手作業で書き込まれる場合(静的経路制御、Static Routing)
もあります。
1.2.経路の種類
・デフォルトルート(Default Route)
経路制御に登録されているどのアドレスにもマッチ
しない場合に使われる。
0.0.0.0/0または、defaultと記述される。
・ホストルート(Host Route)
IPアドレスのすべてのビットを使って経路制御する
という意味。
(IPアドレス)/32で表わされる。
ネットワークインターフェースに付けたIPアドレスに
基づいて制御される。
・ホストルート(Host Route)の続き
ネットワークアドレスによる経路制御を利
用したくない場合に使われる。
但し、多用すると経路制御表が大きくなり
、ルーターに負荷がかかり、ネットワーク
の性能が低下する原因になる。
・ループバックアドレス
同じコンピュータ内部のプログラム間で通
信したい場合に使われる。
127.0.0.1というIPアドレスが使われる。
localhostというホスト名も利用される。
パケットはネットワークには流れない
2.1.経路制御表の集約

経路制御表を小さくすること。
小さくすることで、
メモリやCPUパワー
の節約ができ、
検索時間や
IPパケットの
転送能力が
上がる。

4407402 丹野 雅弘
4.5 IPの分割処理と再構築処理
1.1.MTU(Maximum Transmission Unit)
とは
通信ネットワークにおいて、1回の転送で送信できるデ
ータの最大値を示す値。
• 送信する側が接続ごとに値を設定できる。送信側ホス
トが受信側ホストより大きいMTUを持っていた場合は
、送信側が受信側のMTUに従ってデータを再分割し
て送信する。
• エラーデータの再送信はMTUに指定されたサイズを
単位として行われるため、劣悪な通信環境ではMTU
を小さい値に設定した方が転送速度が速くなり、逆に
安定した通信環境では制御信号が少なくなる分MTU
の大きい方が転送速度が速くなる。
• MTUの単位はバイトで、Ethernetでは1500程度、電話
回線によるダイヤルアップ接続では576程度が最適と
される。
•
1.2.データリンクによってMTUは違う

データリンクが目的ごとに作られていて、MTU
の大きさが決められているので異なる。
2. IPデータグラムの分割処理と再構築
 再構築の処理は、終点の宛先ホストだ
けで行われる。
 途中で待っていてもパケットが届かない
かもしれない
 分割化された断片が途中で失われてし
まい到着しないかもしれない。
 途中で再構築しても、また別のルーター
を通るときに分割処理をしなければなら
ないかもしれない。
3. 1. 経路MTU探索(Path MTU Discovery)

分割化の欠点
①.ルーターの処理が重くなる(ルーターがしな
ければならない処理の増加による)
②.分割化された断片の1つが失われても、元
のIPデータグラムのすべてが失われてしまう

これらの弊害を避けるために経路MTU探索
が提案された
3.2.各MTUにつて
経路MTUとは・・・宛先ホストまでパケット
を送信したときに分割化が必要にならな
い最大のMTU
 経路MTU探索とは・・・経路MTUを発見し
、送信元のホストで経路MTUの大きさに
データを分割してから送信する方法

3.3.経路MTUの仕組み(UDP)
①IPヘッダの分割禁止フラグの設定をして送信する。ルーターでパケットは失われる。
②ICMPにより次のMTUの大きさを知る
③アプリケーションが次のデータを送信するときに、
分割処理を行い送信する。IPにとってはUDPヘッダとアプリケーションのメッセージは区別されない。
④受信ホストにおいて、全ての断片がそろったら、IP層で再構築してUDP層へ渡す。
3.4. 経路MTU探索の仕組み(TCP)
経路MTCの大きさを基にして通信を行うデータ単位を再計算し、その値を元に送信
を行う
①②UDPの場合と共通
③TCPの再送処理によってデータが再送される。
このとき、TCPがIPで分割されない大きさに区切ってからIP層に渡す。IPでは分
割処理は行われない。
④再構築は不要。データはそのままTCP層へ渡される。
4.6 ARP
4407036 榊原 悠
ARPの概要
ARP(Address Resolution Protocol)
の略で
アドレス解決のためのプロトコル
 宛先アドレスを基に、パケットを受信すべ
き機器のMACアドレスを取得
 宛先のホストが同一リンク上にない場合
は、次に送信すべきルーターのMACアド
レスをARPで調べる

ARPの仕組み

ARPにはARP要求パケットとARP応答
パケットの2種類が存在
ARPの仕組み

ARP要求パケットをブロードキャスト

すべてのホストが受信し、該当するIP
アドレスが見つかると、MACアドレスを
埋めて返送

リンク内の通信可能
ARPの仕組み

アドレス解決は自動的に行われる

MACアドレスは意識する必要はない
ARPの仕組み

一度取得したMACアドレスはしばらく記
憶される(キャッシュされる)

ARPパケットがネット上に散乱することを
防いでいる
IP,MACアドレスは二つとも必要?
IP,MACアドレスは二つとも必要?

送信先がルーターを介して別のネットワ
ークに存在する場合、直接送信が不可
能

別のデータリンクに送信するため、ルー
ターのMACアドレス宛に送信する

どのルーターを経由するか、を表すため
にMACアドレスが必要
IP,MACアドレスは二つとも必要?

2段階の通信になるため、性能低下が考
えられる

キャッシュ機能(しばらくの間、アドレスを
記憶する機能)で解決
RARP

RARP(Reverse Address Resolution
Protocol)の略

RARPというのはARPの逆で、MACアドレ
スからIPアドレスを知りたいときに利用
RARP

通常のマシンにはIPアドレスは格納され
ている。しかし・・・

ディスクレスマシンには保存できず、IPア
ドレスが分からない

RARPリクエストを行うRARPサーバー
が必要
代理ARP

代理ARP(Proxy ARP)
サブネットマスクを定義できない
コンピューターの接続時などに利用

ルーターが「うそ」をつくことにより、別の
サブネットワークのホストと通信できる
代理ARP
代理ARP

代理ARPの設定は手作業

「IPパケットの配送先は経路制御表(ル
ーティングテーブル)が決定」に反する

障害発生時の原因解決を複雑化
4.7 ICMP(Internet Control
Message Protocol)
4407036 榊原 悠
4.7.1 IPを補助するICMP
IPのエラーメッセージや制御メッセージを
転送するプロトコル
 TCP/IPで接続されたコンピュータやネッ
トワーク機器間で、互いの状態を確認す
るために用いられる
 IPを使って配送される

4.7.2 主なICMPメッセージ
ICMPには大きく
分類すると2種類の
メッセージがある
Errorメッセージ
Queryメッセージ
ICMP到達不能メッセージ(タイプ3)
ICMP Destination Unreachable Message
 IPルーターがIPデータグラムを宛先に配
送 できない場合、送信ホストに対して、
ICMP到達不能メッセージを送信する
 配送不能原因も示す

ホストA
ルーター1
ルーター2
ホストB
電源
OFF
① パケット送信
② ルーター2はホストBのMACアドレスを
入手しようとARP発信
③ ARPリクエスト
④ ARPリクエスト(再送)
(しかしホストBは電源OFF)
⑤ 何度かリトライ(再送)する
⑥ ICMP Destination Unreachable
をホストAに返す
図. ICMP到達不能メッセージの流れ
71
表.ICMP到達不能メッセージ
ICMPリダイレクトメッセージ(タイプ5)
ICMP Redirect Message
 ルータが送信元ホストが最適でない経路
を使用しているのを検出した時、そのホ
ストに対して送信
 送信元ホストへよりよい経路を教える

図. ICMPリダイレクトメッセージ
ホストB
192.168.1.1
192.168.1.0/24
ホストC
192.168.2.1
ルータ1の経路制御表
192.168.1.0/24ルータ1
192.168.2.0/24ルータ2
192.168.3.0/24ルータ3
192.168.2.0/24
ルータ2
ルータ1
②
192.168.3.0/24
①
③
④
ホストAの経路制御表
ホストA
192.168.3.1
0.0.0.0/0
ルータ1
192.168.3.0/24 ホストA
③で追加される経路
①.ホストAがホストCと通信しようとする場合、ホストAの経路制御表には
192.168.2.0/24の情報がないため、デフォルトルートのルータ1にパケットを送る
②.ルータ1は、192.168.2.0/24のサブネットがルータ2の先にあることを知っている
ので、パケットをルート2に転送する
③.192.168.2.1宛のパケットは直接ルータ2に送る方が効率が良いと考え、
ホストAにICMPリダイレクトメッセージを送る
ICMP時間超過メッセージ(タイプ11)
ICMP Time Exceeded Message
 TTL(Time To Live)がルータを1つ通過
するたびに1ずつ減らし、0になるとIPデ
ータグラムが破棄される
 パケットが永久にネットワークを回り続け
る状態を防ぐため

異常
経路にループ
が発生
TTLが0になると “ICMP Time Exceeded” を返す
図. ICMP時間超過メッセージ
ICMPエコーメッセージ(タイプ0,8)
ICMP Echo Message(タイプ8)
 ICMP Echo Reply Message(タイプ0)
 通信したいホストやルータなどに、IPパケ
ットが到達するかどうか確認する
(pingコマンドで使用されている)

ホストA
ルーター1
ルーター2
① ICMP Echo Request
② ICMP Echo Reply
図. ICMPエコーメッセージ
ルーター3
ホストB
pingコマンドの例
4.7.3 その他のICMPメッセージ

ICMP始点抑制メッセージ(タイプ4)
・低速回線上にあるルータのキューの残りが0に
なった際、送信されるメッセージ

ICMPルータ選択メッセージ(タイプ9,10)
・自分がつながっているネットワークのルータを
見つけたい時に利用されるメッセージ

ICMPアドレスマスクメッセージ(タイプ
17,18)
・サブネットマスクを調べたいホストやルータが
ある場合に利用されるメッセージ
4.8 IPヘッダ
工学部第一部 経営工学科
3年4407010 榎本健太
バージョン

IPヘッダのバージョン番号を示す。現在は4。
バージョン
略称
プロトコル
4
IP
Internet Protocol
5
ST
ST Datagram Mode
6
IPv6
Internet Protocol version 6
7
TP/IX
TP/IX: The Next Internet
8
PIP
The P Internet Protocol
9
TUBA
TUBA
ヘッダ長
IPヘッダ自体の大きさを表わす。
 単位は4オクテット。

サービスタイプ
サービスの品質を表わす。
 8ビットで構成される。
 値はアプリケーションに
よって指定されるが、現在
はほとんど無視されてい
る。

ビット
意味
012
優先度
3
最低限の遅延
4
最大限の
スループット
5
最大限の信頼
性
最小限の経費
6
(3~6)
最大限の
セキュリティ
7
未使用
DSCPフィールド、ECNフィールド
TOSとして定義された部分。
 現在はDiffServと呼ばれる品質制御で利
用される。
 品質を表わす。

パケット長
パケット全体のオクテット長を表わす。
 IPヘッダとIPデータを加えたもの
 16ビット長で最大65535オクテット。

識別子

分割したデータ(フラグメント)を復元する
際の識別に使用。
フラグ
パケットの分割に関する制御。
 3ビットで構成。

ビット
意味
0
未使用。現在は0
1
分割してよいか指示
0: 可能 1: 不可能
2
分割された場合、最後のパケットか
否かを示す
0: 最後 1: 途中
フラグメントオフセット
分割されたフラグメントがオリジナルデー
タの元の場所を表わす。
 13ビットで構成。

生存時間 (TTL: Time To Live)
もとの意味:パケットがネットワークに存在してよ
い時間を秒単位で示したもの。
↓
実際のインターネット上では
何個のルーターを中継してもよいかという意味に。
プロトコル (Protocol)
8ビットで構成され、上位層のプロトコ
ルが何であるかを示す
番号
略称
プロトコル名
1
ICMP
Internet Control Message Protocol
2
IGMP
Internet Group Management Protocol
4
IP
IP in IP (encapsulation)
6
TCP
Transmission Control Protocol
8
EGP
Exterior Gateway Protocol
17
UDP
User Datagram Protocol
41
IPv6
IPv6
ヘッダチェックサム
(Header Checksum)
IPヘッダが壊れていないことを保証するため
のもの。
 16ビットで構成されている。
 これによりIPヘッダが壊れていないかを判定。

送信元IPアドレス、宛先IPアドレス
それぞれのIPアドレスを表示。
 32ビットからなる。

オプション(Options)
可変長である。
 テストやデバックなどを行うとき使用される。


例) セキュリティラベル
ソースルート
ルートレコード
タイムスタンプ
パディング
オプション使用時にヘッダが32ビットの
整数倍にならない時に使用。
 32ビットの整数倍になるように0を入れ
調整する役割。

データ

IPの上位層のヘッダも全てデータとして
処理される。