第4章 IP プロトコル

Download Report

Transcript 第4章 IP プロトコル

4章まとめ
4405023 加治正記
目次
4.1 IPはインターネット層のプロトコル
4.2 IPの基礎知識
4.3 IPアドレスの基礎知識
4.4 経路制御(ルーティング)
4.5 IPの分割処理と再構築処理
4.6 ARP
4.7 ICMP
4.8 IPヘッダ
4.1 IPはインターネット層の
プロトコル
4405023 加治正記
IP(Internet Protocol)とは?
TCP/IPも心臓部ともいえるインターネット層
を構成するのがIPとICMP。
IPはOSI参照モデルの第3層のネットワーク
層に相当する。
ネットワークをまたいでパケットを配送し、イン
ターネット全体にパケットを送り届ける。
ネットワーク層
終点ノード間の通信を実現する。
end-to-end
下位にデータリンク層を持つ。
アドレス体系を決めたり経路選択をする。
上位層から渡されたデータにアドレス情報な
どをつけてデータリンク層に送る。
データリンク層
同一リンクで直接接続されているノード間の
パケット転送を行う。
ネットワーク層とデータリンク層
の関係
ネットワーク層が全体の経路を選択してデー
タリンク層がホストやルータ間のパケット転送
を行う。⇒end-to-endの通信が可能。
4.2
IPの基礎知識
4405074
浜田 洋之
IPの3つの役割
IPアドレス
終点ホストまでのパケット配送
(ルーティング)
IPパケットの分割処理と再構築処理
4.2.1
IPアドレス
 ネットワーク層であるIPで使用されているアドレス
通信の宛先の識別するため
 インターネットに接続されるすべてのホストやルーターに
は、必ず設定しなければならない
 どのようなデータリンクでも同じ形式のIPアドレスが利用
される
4.2.2
経路制御(ルーティング)
宛先のIPアドレスのホストまでパケットを届ける
ための機能(パケットの通り道を決め、目的ホス
トへの経路が決定する)
IPアドレスを設定したホストまで、どのようにして配
送されるのか・・・?
終点ホストまでのパケット配送
ホップバイホップルーティングを利用
(ホップとは1区間を意味する)
IPでは、データリンクの1区間ごとに
ルートが決定され、パケットが送信さ
れる
経路制御表(ルーティングテーブル)
宛先のホストまでパケットを送るため、すべ
てのホストやルーターが持っている情報
IPパケットはこれに従って各リンクに配送される
4.2.3
データリンクの抽象化
配送先によってMTUの大きさのちがうパケットを
送信する場合がある。この問題に対処するために、
IPでは分割化処理を行う。
分割化処理・・・IPを小さな複数のパケットに分割
※ IPは、データリンクの特性を抽象化して、
上層部から細かいネットワークの構造を
見えなくする役割を持つ。
4.2.4
IPはコネクションレス型(1)
 コネクションレス型
・・・・事前にコネクションの確立を行わない方式
(上位層に送信すべきデータが発生したら、
すぐにデータを詰めて発送する)
 コネクション型
・・・・通信に先立ってコネクションの確立を行う
方式
4.2.4
IPはコネクションレス型(2)
欠点
・・・・無駄な通信やデータを取りこぼす
可能性がある
利点
・・・・機能の簡略化と高速化
IPアドレスの基礎知識
4405019 小尾雅人
IPアドレスとは
• ホストに必ず割り当てる必要がある
• インターネットに接続やLANでネットワークを
作る時に必要
• 32ビットの整数値でできている
IPアドレスの構成
• 32ビットを8ビットずつに分けている
• ネットワーク部とホスト部の分け方はクラスに
よって決まる
IPアドレスとは(2)
11000000 1010100 00000001 00000001
11000000.1010100.00000001.00000001
192
.168
.1
.1
IPアドレスとは(3)
ネットワーク部とホスト部
 ネットワーク部
• データリンクごとに割り当てられる
• 他のネットワークのアドレスと重ならないように設定する
• 同じデータリンクのホストには同じネットワークアドレスを設
定する
 ホスト部
• 同一リンク内で重ならない値を設定する
世界中の全てのコンピュータと違うIPアドレス
IPアドレスのホスト部
206.111.10.1
ホ
ス
ト
部
は
異
な
る
値
に
ルーター
206.100.10.1
ネットワーク部
ホスト部
ホ
ス
ト
部
は
異
な
る
値
に
異
な
る
セ
グ
メ
ン
ト
は
違
う
値
に
IPアドレスのネットワーク部
192.168.128.0/24
192.168.129.0/24
192.168.130.0/24
ルーター
ルーター
ルーター
宛先 192.168.130.10
ルーター
ルーターは、宛先IPアドレスの
ネットワーク部を調べて経路を
決定する
IPアドレスのクラス
クラスはA,B,C,Dの4つがある
それぞれの違い
• 先頭から4ビットまでのビット列の組み合わせ
• 割り当てられるホストアドレスの数
ホストアドレス割り当て時の注意
• 全てが0の場合 → IP不明の時に使用
• 全てが1の場合 → ブロードキャストアドレス
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ネットワークアドレス
IPアドレスのクラス(3)
ブロードキャストアドレス
• 同一リンクに接続されたホストにパケットを送
信するためのアドレス
• ローカルブロードキャストとダイレクトブロード
キャストの2つがある
ブロードキャストアドレス(2)
ローカルブロードキャスト
• 同一リンク内へのブロードキャスト
ダイレクトブロードキャスト
• 異なるIPアドレスへのブロードキャスト
ローカルブロードキャスト
ネットワーク
128.1.0.0の外には
ネットワーク
パケットは送信されない
128.2.0.0/16
128.1.0.0/16
ルーター
同一ネットワーク内にある
全てのホストにデータが送
信される
ブロードキャストアドレス
128.1.225.225
へ送信
ダイレクトブロードキャスト
ネットワーク
128.1.0.0の外に
ネットワーク
パケットが送信される
128.2.0.0/16
128.1.0.0/16
ルーター
同一ネットワーク内にある
全てのホストにはデータは
送信されない
ブロードキャストアドレス
128.2.225.225
へ送信
クラスの問題点
• ネットワーク部が同じコンピュータは全て同一リンクに接続し
なければならない
クラス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とクラスレス
インターネットの普及によりIPアドレスが不足
短期的な解決
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アドレスやドメイン名を管理
• ISP
プロバイダ
IPアドレスは誰が決める(2)
IPアドレス申請の流れ
申請者
ISP
JPNIC非会員
JPNIC
ISP
JPNIC会員
IPアドレスの割り当て申請
特定のIPアドレスの割り当て処理を代行
4.4
経路制御(ルーティング)
4405020
帯金 秀行
4.4.0
はじめに
パケット配信→IPアドレスだけでなくルータや
ホストに送り出す手続きが必要
(経路制御表、ルーティングテーブル)
2種類の作成法
→ダイナミックルーティング(動的経路制御)
→スタティックルーティング(静的経路制御)
4.4.1
IPアドレスと経路制御(ルーティング)
デフォルトゲート
経路制御表に登録されていない場合の経路
0.0.0.0/0またはdefaultで記述
ホストルート
全てのビットを使って経路制御をするもの
経路制御を利用したくない場合に使用
→多用するとルータに負荷がかかる
4.4.2
経路制御表の集約
経路制御情報の集約
(Aggregate)
経路制御表を小さくする
こと、小さくすることでメモ
リやCPUの負荷がへり、
転送能力低下しない
IPアドレス
次のルータ
192.168.1.0/25
ルータA
192.168.1.128/25
ルータA
192.168.2.0/26
ルータB
192.168.2.64/26
ルータB
192.168.2.128/26
IPアドレス
192.168.1.192/26
192.168.1.0/2
4
192.168.2.0/2
4
ルータB
次のルー
タ
ルータB
ルータA
ルータB
4.5
IPの分割処理と再構築処理
4405023 加治正記
データリンクによってMTU(Maximum
Transmission Unit)は異なる
IPデータグラムの
分割処理と再構築処理
ホストやルータはネットワークにデータグラムに送信し
ようとしたときに、そのままの大きさでは転送できない場
合にIPデータグラムの分割処理を行う。
分割されたIPデータグラムは終点の宛先ホストで再
構築をする。途中のルータではすることはない。
 同じ経路を通る保証がない
 分割された断片が途中で失われてしまったかもしれない
 再構築しても別のルータで再び分割する必要があるか
もしれない
 ルータに負担をかける
分割処理の欠点
ルータが重くなる
ルータもネットワークの伝送速度に合わせて高速
化が望まれている
分割された断片の1つが失われると元のIPデータグ
ラムのすべてが失われる
これを回避するためにTCPでは分割されないよう
な小さいサイズでパケットを送信する結果ネットワー
クの利用効率が悪くなる
経路MTU検索
(Path MTU Discovery)
経路MTUとは宛先ホストまでパケットを送
信したときに分割処理が必要にならない最大
のMTU
経路MTU検索は経路MTUを発見し送信源
のホストで経路MTUの大きさにデータを分割
してから送信する方法
4.6 ARP
4405071 野村 尚吾
ARPの概要
 ARP(Address Resolution Protocol)の略で
アドレス解決のためのプロトコル
 宛先アドレスを基に、パケットを受信すべき機器の
MACアドレスを取得
 宛先のホストが同一リンク上にない場合は、次に送
信すべきルーターのMACアドレスをARPで調べる
ARPの仕組み(1)
ARPにはARP要求パケットとARP応答パ
ケットの2種類が存在
ARPの仕組み(2)
ARP要求パケットをブロードキャスト
すべてのホストが受信し、該当するIP
アドレスが見つかると、MACアドレスを
埋めて返送
リンク内の通信可能
ARPの仕組み(3)
アドレス解決は自動的に行われる
MACアドレスは意識する必要はない
ARPの仕組み(4)
一度取得したMACアドレスはしばらく記憶さ
れる(キャッシュされる)
ARPパケットがネット上に散乱することを防い
でいる
IP,MACアドレスは二つとも必要?
(1)
IP,MACアドレスは二つとも必要?(2)
 送信先がルーターを介して別のネットワークに存在
する場合、直接送信が不可能
 別のデータリンクに送信するため、ルーターのMAC
アドレス宛に送信する
 どのルーターを経由するか、を表すためにMACアド
レスが必要
IP,MACアドレスは二つとも必要?(3)
2段階の通信になるため、性能低下が考えら
れる
キャッシュ機能(しばらくの間、アドレスを記憶
する機能)で解決
RARP(1)
RARP(Reverse Address Resolution Pro
tocol)の略
RARPというのはARPの逆で、MACアドレスか
らIPアドレスを知りたいときに利用
RARP(2)
通常のマシンにはIPアドレスは格納されて
いる。しかし・・・
ディスクレスマシンには保存できず、IPアド
レスが分からない
RARPリクエストを行うRARPサーバーが
必要
代理ARP(1)
代理ARP(Proxy ARP)
サブネットマスクを定義できない
コンピューターの接続時などに利用
ルーターが「うそ」をつくことにより、別のサブ
ネットワークのホストと通信できる
代理ARP(2)
代理ARP(3)
代理ARPの設定は手作業
「IPパケットの配送先は経路制御表(ルーティ
ングテーブル)が決定」に反する
障害発生時の原因解決を複雑化
4.7 ICMP
(Internet Control Message Protocol)
4405082
4.7.1 IPを補助するICMP
◆IPのエラーメッセージや制御メッセージを転
送するプロトコル
◆ TCP/IPで接続されたコンピュータやネット
ワーク機器間で、互いの状態を確認するため
に用いられる
◆IPを使って配送される
4.7.2主なICMPメッセージ
◆ICMPには大きく
分類すると2種類
のメッセージがある
Errorメッセージ
Queryメッセー
ジ
タイプ
コード
0
0
3
内容
分類
エコー応答
Query
0-12
到達不能
Error
4
0
始点抑制
Error
5
0-3
リダイレクト
Error
8
0
エコー要求
Query
9
0
ルータ通知
Query
10
0
ルータ選択
Query
11
0-1
時間超過
Error
12
0
パケットパラメータにおけるエラー
Error
13
0
タイムスタンプ保持要求
Query
14
0
タイムスタンプ保持要求への返答
Query
15
0
情報請求(未使用)
Query
16
0
情報応答(未使用)
Query
17
0
アドレスマスク要求
Query
18
0
アドレスマスク応答
Query
67
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到達不能メッセージの流れ
69
表. ICMP到達不能メッセージ
コード番号
ICMP到達不能メッセージ
0
Network Unreachable
1
Host Unreachable
2
Protocol Unreachable
3
Port Unreachable
4
Fragmentation Needed and Don't Fragment was Set
5
Source Route Filed
6
Destination Network Unknown
7
Destination Host Unknown
8
Source Host Isolated
9
Communication with Destination Network is Administratively Prohibited
10
Communication with Destination Host is Administratively Prohibited
11
Destination Network Unreachable for Type of Service
12
Destination Host Unreachable for Type of Service
70
ICMPリダイレクトメッセージ(タイプ5)
◆ ICMP Redirect Message
◆ルータが送信元ホストが最適でない経路を
使用しているのを検出した時、そのホストに
対して送信.
◆送信元ホストへよりよい経路を教える.
ホスト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
③で追加される経路
192.168.2.1/32 ルータ2
図. ICMPリダイレクトメッセージ
ICMP時間超過メッセージ(タイプ11)
◆ICMP Time Exceeded Message
◆TTL(Time To Live)がルータを1つ通過する
たびに1ずつ減らし、0になるとIPデータグラ
ムが破棄される
◆パケットが永久にネットワークを回り続ける状
態を防ぐため
ホストA
ルーター1
ルーター2
ルーター3
ルーター4
異常
経路にループ
が発生
TTLが0になると “ICMP Time Exceeded” を返す
図. ICMP時間超過メッセージ
ホストB
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
4.7.3 その他のICMPメッセージ
◆ICMP始点抑制メッセージ(タイプ4)
・低速回線上にあるルータのキューの残りが0に
なった際、送信されるメッセージ
◆ICMPルータ選択メッセージ(タイプ9,10)
・自分がつながっているネットワークのルータを
見つけたい時に利用されるメッセージ
◆ICMPアドレスマスクメッセージ(タイプ17,18)
・サブネットマスクを調べたいホストやルータが
ある場合に利用されるメッセージ
4.8 IPヘッダ
4405074
浜田 洋之
IPヘッダからわかること
データにはIPヘッダが付けられて送信され
る
IPヘッダにはパケットの配送を制御すると
き
に必要な情報が格納されている
⇒IPが備えている機能の詳細を知ることが
できる
バージョン (Version)
4bitで構成され、IPヘッダのバージョン番号を表
す。
バージョン
略称
プロトコル
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
ヘッダ長
(IHL: Internet Header Length)
 IPヘッダ自身の大きさを表す。
 単位は4オクテット (32bit)。
 オプションを持たないIPパケットの場合の値
は5
→ヘッダ長は4×5=20オクテットになる。
サービスタイプ(TOS:Type Of Service)
 8bitで構成され、送信
しているIPのサービ
ス品質を表す。
 TOSでの制御の実現
は難しく、現在のイン
ターネットではほとん
ど利用されていない。
ビット
012
3
4
意味
優先度
最低限の遅延
5
最大限の信頼
性
最小限の経費
最大限の
セキュリティ
未使用
6
(3~6)
7
最大限の
スループット
DSCPフィールド、ECNフィールド
 DSCPフィールド(ビット0~5)
(Differentiated Services Codepoint)
TOSとして定義されていた部分。現在は
DiffServと呼ばれる品質制御で利用されてい
る。
 ECNフィールド(ビット6,7)
(Explicit Congestion Notification)
ネットワークがふくそうしていることを通知す
るためのフィールド。
パケット長(Total Length)
IPヘッダとIPデータを加えたパケット全
体のオクテット長を表す。
16ビット長の場合、IPが運べるパケット
の最大サイズは65535オクテット。
識別子 (ID: Identification)
16bitで構成される、フラグメントを復
元する際の識別子。
同じフラグメントでは同じ値、違うフラ
グメントでは異なる値になる。
IPパケットを送信するたびに1つずつ
増やされる。
※フラグメント→転送のために分割された元データ
の断片
フラグ (Flags)
3bitで構成され、パケットの分割に関する制
御を指示する。
ビット
意味
0
未使用。現在は0
1
分割してよいか指示
0: 可能 1: 不可能
2
分割された場合、最後のパケットか
否かを示す
0: 最後 1: 途中
フラグメントオフセット
(FO: Fragment Offset)
13bitで構成され、分割されたフラグメント
がオリジナルデータのどこに位置してい
たかを示す。
最初の値は0から始まり、2の13乗である
8192まで表現できる。
→単位は8オクテットなので、最大は
8×8192=65538オクテット。
生存時間 (TTL: Time To Live)
もとの意味:パケットがネットワークに存在してよい時間
を秒単位で示したもの。
↓
実際のインターネット上では
何個のルーターを中継してもよいかという意味に。
 ルーターを通過するたびにTTLは1つずつ減らされ、0
になるとパケットは破棄される。
 これによりIPパケットが永遠にネットワーク内に存在す
ることを防ぐ。
プロトコル (Protocol)
8bitで構成され、上位層のプロトコルが何であ
るかを示す
番号
略称
プロトコル名
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)
16bitで構成され、IPヘッダのチェックサム
を表す。
IPヘッダが壊れていないことを保証する
ためのもの。
途中のルーター内部でのメモリの故障や
プログラムのバグなどによりヘッダが破壊
されたことを検出することができる。
IPアドレス
送信元IPアドレス (Source Address)
32bitで構成され送信元のIPアドレスを表
す。
宛先IPアドレス (Destination Address)
32bitで構成され宛先のIPアドレスを表す。
オプション(Options)
可変長である。
テストやデバックなどを行うとき使用される。
例) セキュリティラベル
ソースルート
ルートレコード
タイムスタンプ
パディング (Padding)
詰め物とも呼ばれる。
オプションを付けた場合には可変長のた
め、ヘッダ長が32bitの整数倍にならない
場合があるので、その場合は詰め物とし
て”0”を入れ、32bitの整数倍にする。
データ (Data)
TCPやUDP、ICMPなどのプロトコルの
ヘッダとデータで構成されている。
IPの上位層のヘッダもすべてデータとし
て処理される。