4.1 IPはインターネット層の プロトコル 4406069 浜田 祥太郎 1 IPとは? OSI基本参照モデルの第3層(ネットワー ク層)に相当する。 複雑なネットワークの中であっても最終 的な宛先にパケットを届ける。 2 ネットワーク層 • 役割は「終点ノード間の通信を実現する」ことにある。 • ネットワーク層の下位にはデータリンク層が位置する。 • データリンク層は同一リンクで直接接続されているノー ド間のパケット転送を行う。 • ネットワーク層がデータリンクをコントロールしながらパ ケットを転送することにより、同一リンクに接続されてい ないコンピュータ間での通信が可能となる。 3 ネットワーク層とデータリンク層の関係 • データリンク層は直接接続された機器同士の通信 を提供 • IPは直接接続されていないネットワーク間の転送 を提供 相互にうまく働きあっているためコン ピュータネットワークが可能になってい る。 4 4.2 IPの基礎知識 4406020 金子 周平 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) • 欠点 ・・・・無駄な通信やデータを取りこぼす 可能性がある • 利点 ・・・・機能の簡略化と高速化 4.3 IPアドレスの基礎知識 4406087 IPアドレスとは ホストに必ず割り当てる必要がある •インターネットに接続やLANでネットワークを作る時に必要 •32ビットの整数値でできている • IPアドレスの構成 •32ビットを8ビットずつに分けている •ネットワーク部とホスト部の分け方はクラスによって決まる • 15 IPアドレスとは(2) 1100000010101000000000100000001 11000000 .1010100 .00000001 .00000001 192 .168 .1 .1 16 IPアドレスとは(3) 17 ネットワーク部とホスト部 ネットワーク部 • データリンクごとに割り当てられる • 他のネットワークのアドレスと重ならないように設定する • 同じデータリンクのホストには同じネットワークアドレスを設 定する ホスト部 • 同一リンク内で重ならない値を設定する 世界中の全てのコンピュータと違うIPアドレス 18 IPアドレスのホスト部 206.111.10.1 ホ ス ト 部 は 異 な る 値 に ルーター 206.100.10.1 ネットワーク部 ホスト部 ホ ス ト 部 は 異 な る 値 に 異 な る セ グ メ ン ト は 違 う 値 に 19 IPアドレスのネットワーク部 192.168.128.0/24 192.168.129.0/24 192.168.130.0/24 ルーター ルーター ルーター 宛先 192.168.130.10 ルーター ルーターは、宛先IPアドレスの ネットワーク部を調べて経路を 決定する 20 IPアドレスのクラス クラスはA,B,C,Dの4つがある それぞれの違い • 先頭から4ビットまでのビット列の組み合わせ • 割り当てられるホストアドレスの数 ホストアドレス割り当て時の注意 • 全てが0の場合 → IP不明の時に使用 • 全てが1の場合 → ブロードキャストアドレス 21 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ネットワークアドレス 22 IPアドレスのクラス(3) 23 ブロードキャストアドレス • 同一リンクに接続されたホストにパケットを送 信するためのアドレス • ローカルブロードキャストとダイレクトブロード キャストの2つがある 24 ブロードキャストアドレス(2) ローカルブロードキャスト • 同一リンク内へのブロードキャスト ダイレクトブロードキャスト • 異なるIPアドレスへのブロードキャスト 25 ローカルブロードキャスト ネットワーク 128.1.0.0の外には ネットワーク パケットは送信されない 128.2.0.0/16 128.1.0.0/16 ルーター 同一ネットワーク内にある 全てのホストにデータが送 信される ブロードキャストアドレス 128.1.225.225 へ送信 26 ダイレクトブロードキャスト ネットワーク 128.1.0.0の外に ネットワーク パケットが送信される 128.2.0.0/16 128.1.0.0/16 ルーター 同一ネットワーク内にある 全てのホストにはデータは 送信されない ブロードキャストアドレス 128.2.225.225 へ送信 27 4.3 IPアドレスの基礎知識 4406073 広畑 クラスの問題点 • ネットワーク部が同じコンピュータは全て同一リンクに接続し なければならない クラス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 経路制御(ルーティング) 4406069 浜田 祥太郎 38 パケットを配送するには IPアドレスと経路制御表が必要である。 ダイナミックルーティング(動的経路制 御) ルーターが他のルーターと情報を交換して 自動的に作成する方法 スタティックルーディング(静的経路制御) 管理者が事前に設定する方法 39 IPアドレスと経路制御(ルーティング) IPパケットは、IPアドレスのネットワークを 利用して経路制御が行われる。 経路制御表には、ネットワークアドレスと次に配送 するべきルーターのアドレスが書かれてとおり、一 致するネットワークアドレスを検索し、次のルーター に配送する。 40 デフォルトルート ・全てのネットワークやサブネットの組を 経路制御表に持つのは無駄が多い。 このためデフォルトルート(Default Route) が利用されている。 ・ 0.0.0.0/0または、defaultと記述する。 41 ホストルート (HOST ROUTE) ・“IPアドレス/32” 例:192.232.153.15/32 ・ IPすべてのビットを使って経路制御すること ・ネットワークアドレスによる経路制御 したくない場合に使われる。 42 ループバックアドレス • 同じコンピューター内部のプログラム間で 通信したい→ループバックアドレス。 127.0.0.1というIPアドレスが使われ る。 • パケットはネットワークに流れない。 43 経路制御表の集約 ・経路制御表は小さくすることができる。 ・経路制御情報の集約(Aggregate)という。 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 ルーターB 192.168.2.192/26 ルーターB ⇒ IPアドレス 次のルーター 192.168.1.0/24 ルーターA 192.168.2.0/24 ルーターB 44 4.5 IPの分割処理 と 再構築処理 4406006 石田 真也 45 4.5.1 データリンクによってMTUは違う MTUとは1回の転送で送信できるデータの最 大値を示す値。 • データリンクによってMTUの大きさが違う • データリンクが目的ごとに作られており、それ ぞれの目的にあったMTUの大きさが決めらた から • IPはデータリンクの上位層 46 4.5.2 IPデータグラムの分割処理と再構築処理 送信ホスト 受信ホスト FDDI MTU=4352 ルーター イーサネット MTU=1500 IPヘッダの識別 子にはユニーク な数字を設定し て送信する UDP UDP データ ヘッダ ヘッダ 4324 8 UDP IP 20 ルーター で分割処 理が行わ れる UDP IP データ ヘッダ ヘッダ 1472 8 20 UDP UDP IP データ ヘッダ ヘッダ 1480 UDP 8 UDP 20 IPヘッダ の識別子 を参照し 再構築し てから上 位部に IP データ ヘッダ ヘッダ 1372 8 20 47 4.5.2-2 IPデータグラムの分割処理と再構築処理 • 再構築の処理は、終点の宛先ホストだけで行われ る。 • 途中で待っていてもパケットが届かないかもしれな い • 分割化された断片が途中で失われてしまい到着し ないかもしれない。 • 途中で再構築しても、また別のルーターを通るとき に分割処理をしなければならないかもしれない。 48 4.5.3 経路MTU探索 (Path MTU Discovery) • 分割化の欠点 ①.ルーターの処理が重くなる(ルーターがしなければ ならない処理の増加による) ②.分割化された断片の1つが失われても、元のIP データグラムのすべてが失われてしまう • これらの弊害を避けるために経路MTU探索が提案 された 49 4.5.3-2 経路MTU探索(2) • 経路MTUとは・・・宛先ホストまでパケットを送 信したときに分割化が必要にならない最大の MTU • 経路MTU探索とは・・・経路MTUを発見し、送 信元のホストで経路MTUの大きさにデータを 分割してから送信する方法 50 4.5.3-3 経路MTU探索の処理 ①IPヘッダの分割禁止フラグの設定をして送信する。 ルーターでパケットは失われる。 ②ICMPにより次のMTUの大きさを知る ③アプリケーションが次のデータを送信するときに、 分割処理を行い送信する。IPにとってはUDPヘッダとア プリケーションのメッセージは区別されない。 ④受信ホストにおいて、全ての断片がそろったら、IP層 で再構築してUDP層へ渡す。 51 4.5.3-3 経路MTU探索の処理 送信ホスト 受信ホスト FDDI MTU=4352 ルーター イーサネット MTU=1500 ① UDP UDP IP データ ヘッダ ヘッダ 4324 ② ③ 8 UDP ヘッダ 20 ICMP UDP UDP IP データ ヘッダ ヘッダ 1472 8 20 UDP UDP ④ IP データ ヘッダ ヘッダ 1480 UDP 8 UDP 20 IP データ ヘッダ ヘッダ 1372 8 20 52 4.5.3-4 TCPの場合の経路MTU探索 経路MTCの大きさを基にして通信を行うデータ単位を 再計算し、その値を元に送信を行う ①②UDPの場合と共通 ③TCPの再送処理によってデータが再送される。 このとき、TCPがIPで分割されない大きさに区切っ てからIP層に渡す。IPでは分割処理は行われない。 ④再構築は不要。データはそのままTCP層へ渡され る。 53 4.6 ARP 4406009 伊藤 将章 ARPの概要 • ARP(Address Resolution Protocol)の略で アドレス解決のためのプロトコル • 宛先アドレスを基に、パケットを受信すべき機器の MACアドレスを取得 • 宛先のホストが同一リンク上にない場合は、次に送 信すべきルーターのMACアドレスをARPで調べる ARPの仕組み(1) • ARPにはARP要求パケットとARP応答パ ケットの2種類が存在 ARP要求パケット:IPアドレスからMACアドレスを知るために送信 ARP応答パケット:自分のMACアドレスを相手に教えるために返送 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) 4406011 IP protocol 岩瀬 彰宏 68 ICMPとは ◆IPのエラーメッセージや制御メッセージを 転送するプロトコル ◆ TCP/IPで接続されたコンピュータやネット ワーク機器間で、互いの状態を確認する ために用いられる ( ネットワーク診断プログラムpingが使う) IP protocol 69 主なICMP メッセージ ◆ICMPには大きく 分類すると2種類 のメッセージがある – Errorメッセージ – Queryメッセージ 70 ICMP到達不能メッセージ(タイプ3) ◆ICMP Destination Unreachable Message ◆IPルーターがIPデータグラムを宛先に配 送 できない場合、送信ホストに対して、 ICMP到達不能メッセージを送信します. ◆このメッセージはさらにどのような原因で 配送することが出来なかったかを示すよ うになっています. IP protocol 71 ホストA ルーター1 ルーター2 ホストB ① パケット送信 ② ルーター2はホストBのMACアドレスを 入手しようとARP発信 ③ ARPリクエスト ④ ARPリクエスト(再送) (しかしホストBは電源OFF) ⑤ 何度かリトライ(再送)する ⑥ ICMP Destination Unreachable をホストAに返す 図. ICMP到達不能メッセージの流れ 72 表. ICMP到達不能メッセージ 73 ICMPリダイレクトメッセージ(タイプ5) ◆ ICMP Redirect Message ◆ルータが送信元ホストが最適でない経 路を使用しているのを検出した時、その ホストに対して送信. ◆送信元ホストへよりよい経路を教える. IP protocol 74 図. 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 ③で追加される経路 192.168.2.1/32 ルータ2 ①.ホストAがホストCと通信しようとする場合、ホストAの経路制御表には 192.168.2.0/24の情報がないため、デフォルトルートのルータ1にパケットを送る ②.ルータ1は、192.168.2.0/24のサブネットがルータ2の先にあることを知っている ので、パケットをルート2に転送する ③.192.168.2.1宛のパケットは直接ルータ2に送る方が効率が良いと考え、 ホストAにICMPリダイレクトメッセージを送る ④.ホストAの経路制御表に情報が追加され、次のパケットからはルータ2に送る IP protocol 75 ICMP時間超過メッセージ(タイプ11) ◆ICMP Time Exceeded Message ◆TTL(Time To Live)がルータを1つ通過す るたびに1ずつ減らし、0になるとIPデー タグラムが破棄される ◆パケットが永久にネットワークを回り続け る状態を防ぐため IP protocol 76 ホストA ルーター1 ルーター2 ルーター3 ルーター4 ホストB TTLが0になると “ICMP Time Exceeded” を返す 図. ICMP時間超過メッセージ IP protocol 77 ICMPエコーメッセージ(タイプ0,8) ◆ICMP Echo Message(タイプ8) ◆ICMP Echo Reply Message(タイプ0) ◆通信したいホストやルータなどに、IPパ ケットが到達するかどうか確認する (pingコマンドで使用されている) IP protocol 78 ホストA ルーター1 ルーター2 ルーター3 ホストB ① ICMP Echo Request ② ICMP Echo Reply 図. ICMPエコーメッセージ IP protocol 79 ping コマンドの例 IP protocol 80 その他のICMPメッセージ ◆ICMP始点抑制メッセージ(タイプ4) ・低速回線上にあるルータのキューの残 りが0に なった際、送信されるメッセージ ◆ICMPルータ選択メッセージ(タイプ9,10) ・自分がつながっているネットワークの ルータを 見つけたい時に利用されるメッセージ ◆ICMPアドレスマスクメッセージ(タイプ17,18) ・サブネットマスクを調べたいホストや ルータが ある場合に利用されるメッセージ IP protocol 81 IPヘッダ 4406042 杉山廣祐 バージョン • 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として定義された部分。 • 品質を表わす。 • ECNフィールドは5.6節で詳しく パケット長 • パケット全体の長さを表わす。 • 16ビット長で最大65535オクテット。 識別子 • 分割したデータ(フラグメント)を復元する際の 識別に使用。 フラグ • パケットの分割に関する制御。 • 3ビットで構成。 ビット 意味 0 未使用。現在は0 1 分割してよいか指示 0: 可能 1: 不可能 2 分割された場合、最後のパケットか 否かを示す 0: 最後 1: 途中 フラグメントオフセット • 分割されたフラグメントがオリジナルデータの 元の場所を表わす。 • 13ビットで構成。 生存時間 (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) • IPヘッダが壊れていないことを保証するため のもの。 • 16ビットで構成されている。 • これによりデータが壊れていないかを判定。 送信元IPアドレス、宛先IPアドレス • それぞれのIPアドレスを表示。 • 32ビットからなる。 オプション(Options) • 可変長である。 • テストやデバックなどを行うとき使用される。 • 例) セキュリティラベル ソースルート ルートレコード タイムスタンプ パディング • オプション使用時にヘッダが32ビットの整数 倍にならない時に使用。 • 32ビットになるように0を入れ調整する役割。 データ • IPの上位層のヘッダも全てデータとして処理 される。
© Copyright 2024 ExpyDoc