ネットワーク層
TCP/IPプロトコルスイート ネットワーク層プロトコル IP IPアドレス と マスク ルーティング ARP ICMP PING・Traceroute トランスポート層プロトコル TCP UDP
ICMP(Internet Control Message Protocol) システムの状態情報とエラー情報 上位レベルのプロトコルが伝送に関する問題の修復に利用 ネットワーク上のトラブルの検出に利用 ICMPを利用した代表的なアプリケーション ping(ICMP ECHO Request/ECHO Reply) IPホストの接続確認 traceroute (ICMP ECHO Request/ECHO Reply) 宛先までの経路確認・接続確認 Microsoft OSの場合tracert
メッセージの主な種類 宛先到達不能 エコー要求/応答 リダイレクト(経路変更) 時間超過 ルータアドバタイズ/ルータ要求 要求/応答メッセージとエラーメッセージに大別する
宛先到達不能 ルータが最終宛先にパケットを届けられないこと ルータはオリジナルのパケットを廃棄 宛先到達不能メッセージの基本4タイプ(全16タイプ) ネットワーク到達不能network unreachable ルーティングあるいはパケットのアドレッシング障害発生 ホスト到達不能host unreachable 間違ったサブネットマスクを指定したなど、配信障害 プロトコル到達不能protocol unreachable パケットに指定されている上位層プロトコルが宛先でサポートされていない ポート到達不能port unreachable TCP/UDPポートが使用できない
リダイレクト 送信元 R1 通信相手 R2
リダイレクト 送信元 R1 通信相手 R2
リダイレクト 送信元 R1 通信相手 R2
ping C:\>ping www.none.net Pinging www.none.net [192.168.5.60] with 32 bytes of data: Reply from 192.168.2.2: TTL expired in transit. (以下略) C:\>ping www.none.net Pinging www.none.net [192.168.2.60] with 32 bytes of data: Request timed out. (以下略)
tracert C:\>tracert -d www.axisnet.co.jp Tracing route to axisnet.co.jp [203.138.214.11] over a maximum of 30 hops: 1 <10 ms <10 ms <10 ms 192.168.0.250 2 1 ms 1 ms <10 ms 192.168.2.2 3 5 ms 4 ms 3 ms 218.227.247.11 (中略) 8 7 ms 6 ms 4 ms 202.239.114.209 9 6 ms 6 ms 8 ms 202.239.114.79 10 6 ms 5 ms 7 ms 202.239.114.7 11 * * * Request timed out. 12 * * * Request timed out.
traceroute [root@200L root]# traceroute -I www.axisnet.co.jp traceroute to axisnet.co.jp (203.138.214.11), 30 hops max, 38 byte packets 1 p200.axisnet.net (192.168.0.250) 0.402 ms 0.337 ms 0.401 ms 2 gw02. axisnet.net (192.168.2.2) 1.368 ms 0.958 ms 0.948 ms 3 218.227.247.11 (218.227.247.11) 5.937 ms 4.450 ms 3.597 ms (中略) 10 g0-11-kanda-arena-gw26.sphere.ad.jp (202.239.114.7) 5.909 ms 8.118 ms 6.823 ms 11 * * * UNIX互換OSではデフォルトでUDPパケットを利用する。-IオプションでICMPを利用する
IP(Internet Protocol) パケットの通信経路は不定 受信順序の無保証 追い越し可能(送信した順序で届かない事もある) パケット消失の可能性 パケットを確実に届けたい場合、上位層で対応 TCPプロトコル アプリケーション
IP(Internet Protocol) あ い う え お
IP(Internet Protocol) あ う い え お
IP(Internet Protocol) あ い う え お
IP(Internet Protocol) あ う お え
IP(Internet Protocol) あ う え お
IP(Internet Protocol) あ え う お
IP(Internet Protocol) あ え う お
ルーティング 任意のネットワークから別のネットワークへのパケット転送 インターネット内では障害や遅延など回線状況は刻々と変化する パケットは、その回線状況に応じて別の回線に進むこともある 様々な経路を通じて最終的に相手に到着
ルータ ルーティングを行う機器 複数のネットワークインターフェースを持つ それぞれのインターフェースに届くIPパケットのヘッダにある宛先アドレスを見て、 自分の持っているルーティングテーブルに従い、 適切なインターフェースにパケットを送出
ルーティングテーブル 別のネットワーク上のIPホストと通信する時に、自分がパケットを転送する直接の転送先となるルータと宛先ネットワークを対応させた一覧表 IPネットワーク上のホストは全てルーティングテーブルを持つ 送信ホストは自分のルーティングテーブルを見て、「宛先が属するネットワークはローカルネットワークなのか別ネットワークなのか」を判断 別ネットワークの場合、そのローカルネットワークから外部への接続を持つルータへパケットを転送
ルーティングテーブル ルータは自分のルーティングテーブルと、受取ったパケットのIPヘッダに記述された宛先IPアドレスを見て、適切な送出インターフェースを決定 ルータのインターフェースが属するネットワーク内のコンピュータが宛先であれば、直接転送 宛先が別ネットワークならばその別ネットワークへの接続を持つルータに転送
ルーティングテーブル 192.168.1.1 192.168.4.0へは192.168.4.4から それ以外(0.0.0.0)は192.168.4.20へ .20 192.168.2.0/24 192.168.1.0/24 192.168.1.0へは192.168.1.1から それ以外(0.0.0.0)は192.168.1.20へ 192.168.3.0/24 192.168.4.0/24 .20 192.168.4.0へは192.168.4.20から 192.168.1.0へは192.168.1.20から 192.168.4.4
ルーティングテーブル 192.168.1.1 .20 192.168.2.0/24 192.168.1.0/24 192.168.1.0へは192.168.1.1から それ以外(0.0.0.0)は192.168.1.20へ 192.168.3.0/24 192.168.4.0/24 .20 192.168.4.4
ルーティングテーブル 192.168.1.1 .20 192.168.2.0/24 192.168.1.0/24 192.168.3.0/24 192.168.4.0/24 .20 192.168.4.0へは192.168.4.20から 192.168.1.0へは192.168.1.20から 192.168.4.4
ルーティングテーブル 192.168.1.1 192.168.4.0へは192.168.4.4から それ以外(0.0.0.0)は192.168.4.20へ .20 192.168.2.0/24 192.168.1.0/24 192.168.3.0/24 192.168.4.0/24 .20 192.168.4.4
ルーティングテーブル 192.168.1.1 .20 192.168.2.0/24 192.168.1.0/24 192.168.3.0/24 192.168.4.0/24 .20 192.168.4.0へは192.168.4.20から 192.168.1.0へは192.168.1.20から 192.168.4.4
ルーティングテーブルの確認 Microsoft OSの場合、netstat -rnでも表示可 C:\>route print ===============================================================Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.0.250 192.168.0.11 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.0.0 255.255.255.0 192.168.0.11 192.168.0.11 1 192.168.0.11 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.0.255 255.255.255.255 192.168.0.11 192.168.0.11 1 224.0.0.0 224.0.0.0 192.168.0.11 192.168.0.11 1 255.255.255.255 255.255.255.255 192.168.0.11 192.168.0.11 1 Default Gateway: 192.168.0.250 =============================================================== Microsoft OSの場合、netstat -rnでも表示可 IPv6ではnetsh int ipv sh routeでも表示可
IPアドレスとマスク IPv4アドレスは32ビット長 現在主流 IPv6アドレスは128ビット長 次世代 連続してビットが立っているとネットワーク部分を表す IPアドレスのネットワークアドレス部分が 同じだと同一ネットワーク 異なると別ネットワーク
IPv4アドレスの表記方法 32ビット(4バイト)を1バイトずつドットで区切る マスクの表記は2通り 例)172.16.0.254 1バイトずつの区切りをオクテットと呼ぶ 左の始まりが第1オクテット、右の終りが第4オクテット マスクの表記は2通り 例)255.255.255.128 例)/25 上記いずれも先頭から25ビット1が立っている 11111111.11111111.11111111.10000000
IPv4アドレスの表記方法 10進数 60 120 129 2進数 00111100 01111000 10000001 マスクビットと比較 今回は第4オクテットのみを比較 172.16.0.60/25と 172.16.0.120/25と 172.16.0.129/25というIPホスト 172.16.0.60/25と172.16.0.120/25が172.16.0.0/25というネットワークに属する 172.16.0.129/25は172.16.0.128/25というネットワークに属する 10進数 60 120 129 2進数 00111100 01111000 10000001 マスクビットと比較 00000000 10000000 10進数 128
IPv4アドレス 同一ネットワークに属するIPアドレスのうち、 属するネットワークが異なるIPホスト同士の通信には、ルータが必要 先頭はネットワークアドレス 172.16.0.0/25 最後はブロードキャストアドレス 172.16.0.127/25 ホストでは使用不可 属するネットワークが異なるIPホスト同士の通信には、ルータが必要 172.16.0.0/25 172.16.0.128/25 .60 .120 .129
IPv6アドレスの表記方法 128ビット(16バイト)を16ビット(2バイト)ずつコロンで区切り、16進数で表す Prefix長の表記 例)2001:610:240:0:53::4 0の連続は一箇所のみ省略可 上位64ビットがネットワークアドレスを表す Prefixと呼ぶ 下位64ビットがホストアドレスを表す Interface IDと呼ぶ Prefix長の表記 例)/64 通常、ISPはホストに対して/64でPrefixを払い出す 例)/48 通常、ISPはネットワークに対して/48でPrefixを払 い出す。ローカルネットワークの管理者は16ビッ トを補完して使用する。
インターネット上のIPv6対応状況