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