第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の上位層のヘッダも全てデータとして
処理される。