前回の課題 IPv6アドレス IP ARP ICMP NAT インターネット層 2003年12月4日 情報ネットワーク論 新村太郎
HTTP, SMTP, FTP, TELNET, etc. TCP/IPからみたインターネット層 TCP/IP プロトコル, アプリケーション, 規格など アプリケーション層 HTTP, SMTP, FTP, TELNET, etc. トランスポート層 TCP, UDP インターネット層 IP (v4, v6), ICMP, ARP ネットワーク インターフェース層 Ethernet, FDDI, ATM データの送信元から送信先へ正しくデータを届ける - 識別、経路制御、通知 -
前回の課題
練習問題3 172.16.0.0/16のネットワークが与えられている。ここで、ホスト数10000個を接続するサブネットを3つ設定する。できる限り最小規模のサブネットにする場合、2つ目のサブネットのIPアドレスとサブネット長を書け。
練習問題3の解答 先ず、ホスト数10000を接続する場合、最低でも何ビットのネットワーク が必要であるか決める。 24ビットでは 2(32-24) - 2 = 28 - 2 = 256 23ビットでは 2(32-23) - 2 = 29 - 2 = 510 ・・・ 19ビットでは 2(32-19) - 2 = 213 - 2 = 8190 18ビットでは 2(32-18) - 2 = 214 - 2 = 16384 したがって、18ビットのでサブネットを設定する。 最初のサブネットは 172.16.0.0/18 であるから、範囲は 10101100 00010000 00000000 00000000 ~ 10101100 00010000 00111111 11111111 すなわち 172.16.0.0 ~ 172.16.63.255 次の範囲の最初のIPアドレスは前の範囲の最後に1を加えて 10101100 00010000 00111111 11111111 + 1 = 10101100 00010000 01000000 00000000 (172.16.64.0) したがって、解答は 172.16.64.0/18 (ちなみに、範囲は 172.16.64.0 ~ 172.16.127.255 である)
HTTP, SMTP, FTP, TELNET, etc. プロトコル階層モデル OSI参照モデル TCP/IP プロトコル, アプリケーション, 規格など アプリケーション層 HTTP, SMTP, FTP, TELNET, etc. プレゼンテーション層 セッション層 トランスポート層 TCP, UDP ネットワーク層 インターネット層 IP (v4, v6), ICMP, ARP データリンク層 ネットワーク インターフェース層 Ethernet, FDDI, ATM 物理層
IPv6アドレス
IPv6 IPアドレス 128ビット(IPv4は32ビット・・・何倍?) → 確保できる数は非常に大きい → 確保できる数は非常に大きい 割り当てに困ることは当分ない 様々な通信機器に使用可能・・・家電、携帯電話、etc. IPv4のアドレスシステムの良い部分は踏襲、欠点を改善 新しい技術・需要に対応 表記 16ビットごとに : で区切る 16進数表記 0 の部分を省略できる
IPv6 IPアドレス表記 例 ↓ 3ffe:0501:1887:0001:0000:0000:0000:0003 0011111111111110 0000010100000001 0001100010000111 0000000000000001 0000000000000000 0000000000000000 0000000000000000 0000000000000011 ↓ 3ffe:0501:1887:0001:0000:0000:0000:0003 0 がずっと続く箇所をすべて省略して :: に 各まとまりで先頭の0を省略 3ffe:501:1887:1::3
IP
IP (Internet Protocol) フラグメント化&カプセル化 アプリケーションデータ アプリケーション データ1 アプリケーション データ2 アプリケーション データ3 アプリケーション データ4 アプリケーション データ5 TCPセグメント トランスポート層 ・・・・・ TCPヘッダ アプリケーション データ IPパケット (IPデータグラム) インターネット層 ・・・・・ IPヘッダ TCPヘッダ アプリケーション データ ネットワークインターフェース層 ・・・・・ イーサネット ヘッダ IPヘッダ TCPヘッダ アプリケーション データ イーサネット トレイラ イーサネットフレーム
IP IPパケット アプリケーションデータと上位のプロトコルのヘッダ(TCPヘッダ)をデータとして扱う TCPヘッダ IPヘッダ IPヘッダ
IP IPv4ヘッダ IPヘッダ データ 32ビットごと 8 16 24 31 バージョン ヘッダ長 サービスタイプ パケット長 識別子 8 16 24 31 識別子 フラグ フラグメントオフセット TTL(生存時間) プロトコル ヘッダチェックサム 送信元IPアドレス あて先IPアドレス オプション(可変長) パディング
IP IPv6ヘッダ 8 16 24 31 バージョン 優先度 フローラベル ペイロード長 次ヘッダ 中継限界数 送信元IPアドレス 8 16 24 31 バージョン 優先度 フローラベル ペイロード長 次ヘッダ 中継限界数 送信元IPアドレス あて先IPアドレス IPv6拡張ヘッダ(オプション・可変長)
IPの役割 IPアドレスを使用してネットワーク上で識別 IPアドレスを使用してネットワーク上でグループを形成 → 経路制御(ルーティング) → 経路制御を行う機器:ルータ
IPの役割 ルーティング ルータ:パケットを正しい方向へ送り出す 192.168.12.0/24 192.168.10.0/24 例: 192.168.10.2 から 192.168.12.34 へ ルータ ↓ 192.168.12.0/24 192.168.10.0/24 192.168.11.0/24
IPの役割 ルーティング 192.168.10.2 から 192.168.12.34 へ 192.168.10.2 ルータ 192.168.10.32/28 192.168.10.0/28 192.168.10.16/28
IPの役割 ルーティング 192.168.10.2 から 192.168.12.34 へ ルータ ↓ 192.168.12.0/24 192.168.10.0/24 192.168.11.0/24
IPの役割 ルーティング 192.168.10.2 から 192.168.12.34 へ 192.168.12.34 ルータ 192.168.12.32/28 192.168.12.0/28 192.168.12.16/28
ARP Address Resolution Protocol
ARP ネットワーク機器が実際に信号をやりとりするのはネットワークインターフェース層
ARP ネットワークインターフェース層ではIPアドレスは処理できない・・・互いをMACアドレス(物理アドレス)で識別
ARP コンピュータやネットワーク機器が最初に認識できるのは直接つながっているホストのMACアドレス(物理アドレス) MAC(Media Access Control)アドレス(物理アドレス) ネットワーク機器のネットワークインターフェースに1つ設定されている 基本的に変更することはできない(製造された時点で設定されている) 16進数表示 00-90-27-2E-4E-7D 00-90-27-2E-4E-DE
ARP IPアドレスを使用して通信先を選ぶので IPアドレスとMACアドレスの対応付けをする 00-90-27-2E-4E-7D 192.168.0.6 192.168.0.5 00-90-27-2E-4E-DE 誰が 192.168.0.7の IPアドレスを持っている? MACアドレスを 00-90-27-2E-4E-7D に返事して下さい。 ARPリクエストをブロードキャストする 00-90-27-2E-4E-5A 192.168.0.7
ARP 該当のIPアドレスを持っているホストが応答 僕は違うから無視しよう 00-90-27-2E-4E-7D 192.168.0.5 00-90-27-2E-4E-DE 192.168.0.6 私のことを呼んでる! 返事しなきゃ。 00-90-27-2E-4E-5A 192.168.0.7
ARP 該当のIPアドレスを持つホストが自分のMACアドレスを送る (ARP reply) 00-90-27-2E-4E-7D 192.168.0.5 00-90-27-2E-4E-DE 192.168.0.6 192.168.0.7 は、私、 00-90-27-2E-4E-5A が持っています ARPリプライ 00-90-27-2E-4E-5A 192.168.0.7
ARP IPアドレスとMACアドレスの対応付けができたら、通信が開始される 00-90-27-2E-4E-7D 192.168.0.5 00-90-27-2E-4E-DE こんにちは 192.168.0.7 こと、 00-90-27-2E-4E-5A さん。 192.168.0.6 通信開始 00-90-27-2E-4E-5A 192.168.0.7
ARP いくつかのルータを介して 192.168.0.5 から 192.168.2.4 へ 通信を行いたい場合 ・・・ 192.168.0.5 から 192.168.2.4 へ 通信を行いたい場合 ・・・ 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ とりあえず 192.168.0.1 へ とりあえず、192.168.0.1 へ送ればいいのだけれど、MACアドレスはいくつだろう? 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ ARPリクエスト 192.168.0.1 の IP アドレスを持っていたら MACアドレスを教えて下さい! 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ ARPリプライ 192.168.0.1 の IP アドレス持っています。MACアドレスは 00-90-27-2E-77-2C です。 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ IPで通信 192.168.0.5 から送られたこのデータを 192.168.2.4 へ届けて下さい。 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ とりあえず 192.168.1.1 へ 192.168.2.4 へ送るには、とりあえず、192.168.1.1 へ送ればいいのだけれど、MACアドレスはいくつだろう? 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ ARPリクエスト 192.168.1.1 の IP アドレスを持っていたら MACアドレスを教えて下さい! 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ ARPリプライ 192.168.1.1 の IP アドレス持っています。MACアドレスは 00-90-27-21-A7-BC です。 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ IPで通信 192.168.0.5 から送られたこのデータを 192.168.2.4 へ届けて下さい。 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ 同じネットワークにある 192.168.2.4 へ 192.168.2.4 は同じネットワークにつながっているはずなのだけれど、MACアドレスはいくつだろう? 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ ARPリクエスト 192.168.2.4 の IP アドレスを持っていたら MACアドレスを教えて下さい! 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ ARPリプライ 192.168.2.4 の IP アドレス持っています。MACアドレスは 00-90-27-8A-A7-22 です。 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ IPで通信 192.168.0.5 から あなた 192.168.2.4 へ送られたこのデータを届けます。 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP 192.168.0.5 から 192.168.2.4 へ データ受信 192.168.0.5 からデータが送られてきたな。どんなデータだろう? 00-90-27-2E-77-2C 00-90-27-2E-4E-7D 00-90-27-CC-17-3C 192.168.1.4 192.168.0.5 192.168.2.1 192.168.1.1 192.168.0.1 192.168.2.4 00-90-27-21-A7-BC 00-90-27-8A-A7-22 00-90-27-2E-4E-5D
ARP まとめ IPで処理するIPアドレスと、ネットワークインターフェース層で処理されるMACアドレスを関連付ける役割 逆にMACアドレスを元にIPアドレスを検索するプロトコルをRARP(Reverse ARP)という
ICMP Internet Control Message Protocol
ICMP IPパケットがあて先に送られ、途中でエラーになった時に知らせるためのプロトコル ネットワークの状況を調べることにも使用される
ICMP ICMPで伝えられる各種メッセージ タイプ 意味 0 Echo Reply 3 Destination Unreachable タイプ 意味 0 Echo Reply 3 Destination Unreachable 4 Source Quench Message 5 Redirect 8 Echo 11 Time Exceeded 12 Parameter Problem 13 Timestamp 14 Timestamp Reply 15 Information Request 16 Information Reply 17 Address Mask Request 18 Address Mask Reply
ICMP ICMPで伝えられる各種メッセージ 応答性確認 0 Echo Reply Destination Unreachable Source Quench Message Redirect Echo Time Exceeded Parameter Problem Timestamp Timestamp Reply Information Request Information Reply Address Mask Request Address Mask Reply 応答性確認 実習: スタート → ファイル名を指定して実行 → command → ping 202.24.147.232 → exit で終了
ICMP ICMPで伝えられる各種メッセージ 情報収集 0 Echo Reply Destination Unreachable Source Quench Message Redirect Echo Time Exceeded Parameter Problem Timestamp Timestamp Reply Information Request Information Reply Address Mask Request Address Mask Reply 情報収集
ICMP ICMPで伝えられる各種メッセージ エラー通知 0 Echo Reply Destination Unreachable Source Quench Message Redirect Echo Time Exceeded Parameter Problem Timestamp Timestamp Reply Information Request Information Reply Address Mask Request Address Mask Reply エラー通知
ICMP ICMPで伝えられる各種メッセージ 経路変更 0 Echo Reply Destination Unreachable Source Quench Message Redirect Echo Time Exceeded Parameter Problem Timestamp Timestamp Reply Information Request Information Reply Address Mask Request Address Mask Reply 経路変更
NAT Network Address Translation
パブリックIPアドレスを持ったネットワーク NAT プライベートIPアドレスを持つネットワークと パブリックIPアドレスを持つネットワークは 直接通信できない ・・・ ルータを介す プライベートアドレスを持つネットワーク ルータ パブリックIPアドレスを持ったネットワーク 192.168.0.2 192.168.0.1 202.24.147.231 192.168.0.3 192.168.0.4
パブリックIPアドレスを持ったネットワーク NAT プライベートIPアドレスを持つ1つのホストのデータを、肩代わりして自分のパブリックIPアドレスを付けて送り出す プライベートアドレスを持つネットワーク ルータ パブリックIPアドレスを持ったネットワーク 192.168.0.2 192.168.0.1 202.24.147.231 192.168.0.2 のデータをパブリックIPアドレスを持ったネットワークに送り出す時、ルータのパブリックIPアドレスを付けて送り出す ・・・ NAT
パブリックIPアドレスを持ったネットワーク NAPT プライベートIPアドレスを持つネットワークにある複数のホストのデータをすべて、肩代わりして自分のパブリックIPアドレスを付けて送り出す・・・NAPT (IPマスカレード) プライベートアドレスを持つネットワーク ルータ パブリックIPアドレスを持ったネットワーク 192.168.0.2 192.168.0.1 202.24.147.231 192.168.0.3 NAPT: Network Address and Port Translation 192.168.0.4
パブリックIPアドレスを持ったネットワーク NAPT 逆にパブリックIPアドレスを持ったネットワークからの応答データを、ポートによって、プライベートIPアドレスを持つネットワークのどのホストあてにするか区別する プライベートアドレスを持つネットワーク ルータ パブリックIPアドレスを持ったネットワーク 192.168.0.2 192.168.0.1 202.24.147.231 192.168.0.3 192.168.0.4