インターネットのプロトコル階層 ネットワーク層(IPアドレス)
インターネットプロトコル階層とOSI OSIの7層モデルはインターネットでは5層と考えられる 下図はwebアクセスの例
レイヤ1(物理層)
レイヤ1 たとえば10BaseTの規定では
レイヤ2
レイヤ2 レイヤ2はLANの範囲内で直接つながる相手との通信
レイヤ3(ネットワーク層) レイヤ3はデータを相手まで届ける
レイヤ3 レイヤ3はレイヤ2を利用し,レイヤ2はレイヤ1を利用する
レイヤ4(トランスポート層) データの品質を管理し,目的のアプリケーションにデータを渡す
レイヤ4 TCPとUDP
レイヤ5(アプリケーション) アプリケーション同士がやりとり
レイヤを通して見たら
ネットワーク層(IP層)の役割 第3層(ネットワーク層)の役割 データの転送単位:IPデータグラム 下位層を用い両端のシステム間でデータの伝送や中継を行う 異なる種類の回線を経由して相手までデータを届ける役割を担う データの転送単位:IPデータグラム IPヘッダ+データ データ IPヘッダ ルータ データリンク層 ネットワーク層
IP層の役割 IPの機能その1:アドレス管理 IPの機能その2:経路制御 ネットワークに接続しているコンピュータの中から,通信を行う宛先を指定する IPの機能その2:経路制御 宛先コンピュータまでの経路を決定する
IPアドレス構成(IPv4) IPアドレス:インターネット上で一意に決まる識別子 ホストのネットワークインタフェースに付与される 32ビット固定長(232=4,294,967,296個の識別子) ネットワーク識別子+ホスト識別子 8ビットずつ区切って10進数で表現し、ピリオドで区切って並べる 11000000 10101000 10100111 11110111 192.168.167.247 約40億
IPアドレスの構造とクラスわけ IPアドレスはネットワーク部とホスト部からなる ネットワーク部の大きさによってクラスわけ ネットワーク部:組織をあらわす ホスト部:組織内での番地をあらわす ネットワーク部の大きさによってクラスわけ 202.255.229. 102 ネットワーク部 24bit ホスト部 8bit 10 110 24bit 16bit 8bit クラスA クラスB クラスC
IPアドレス(ホストとNWのアドレス) 通信相手指定とルーチングのため、アドレスを付与 ルーチングのためのNWアドレス NW規模(ホスト数)に応じた3つのNW-IDのクラス クラスフル・アドレス 126個のネットワーク,0.0.0.0は自分,127.0.0.0はループバック用 256×256×256-2=16,777,214個のホスト Class A (1.0.0.0 – 126.0.0.0) ホストの全0はネットワークアドレスとして,全1はそのネットワークのすべてのホストに放送でパケットを届けるためののアドレスとして予約されているため2引く ユニキャストアドレス Network ID Host ID (191-127)×256=16,384個のネットワーク 256×256-2=65,534個のホスト Class B (128.0.0.0 – 191.255.0.0) 1 Network ID Host ID (223-191)×256×256=2,097,152個のネットワーク 256-2=254個のホスト Class C (192.0.0.0 – 223.255.255.0) 1 Network ID Host ID 第1オクテット 第2オクテット 第3オクテット 第4オクテット 第1オクテットを見たらクラスがわかる
サブネットマスク サブネット:枯渇するNWアドレスを増やすため、ホストアドレス領域をNWアドレスとして利用可能とする仕組み サブネットマスク:どこまでがNWアドレス領域なのかを指定 クラスBのNetwork アドレス クラスBのHost アドレス 10000001 10101000 10100111 11110111 11111111 11111111 11111100 00000000 10000001 10101000 10100100 00000000 129.168.167.247 255.255.252.0 129.168.164.0 AND Subnet address Network part Subnet part Host part Subnet mask ネットワークアドレスの計算法
サブネットアドレスの求め方 自分の IPアドレス 10000001 10101000 10100111 11110111 11111111 11111111 11111100 00000000 10000001 10101000 10100100 00000000 129.168.167.247 255.255.252.0 129.168.164.0 サブネット マスク 自分の属する (サブ)ネットアドレス 自分の属するネットワークのアドレスが129.168.164.0とわかる. このとき,このネットワーク全体に割り当てられているアドレスの範囲は,ホストアドレス部がall”0”からall”1”の範囲と考えられるので 10000001 10101000 10100100 00000000 (129.168.164.0) 10000001 10101000 10100111 11111111 (129.168.167.255) ただし,129.168.164.0はネットワークのアドレス,129.168.167.255は放送用(ネットワーク内全てに届く)としてホストには割り振らない
CIDR(ネットワークアドレスの表現法) 1991-:CIDR(Classless Inter-Domain Routing) 手ごろな大きさであるクラスBアドレスの枯渇が見え出した. クラスCを複数まとめて,組織に配付. 経路表(ルーティング・テーブル)の肥大. 経路制御性能の悪化 アドレスクラスを完全に捨て,ネットワークを「プレフィックス(接頭辞)」で表現. prefix:=IPアドレス/プレフィックス長 192.32.1.0 255.255.255.0 <=>192.32.1.0/24 192.32.0.0 255.255.0.0 <=>192.32.0.0/16 前ページの例は, ネットアドレス129.168.164.0で,ネットマスク255.255.252.0と表現していたが,それを 129.168.164.0/22と表現する. 上から数えて何ビットまでがホストアドレス部分かを示す
CIDRによる経路集約 201.23.1.0 201.23.2.0 201.23.3.0 201.24.1.0 23 : 00010111 24 : 00011000 16 : 00010000 201.16.0.0/12 201.23.1.0 201.23.2.0 201.23.3.0 201.24.1.0 201.23.0.0/16 201.24.0.0/16 201.23.1.0 201.23.1.0 201.23.2.0 201.23.2.0 201.24.1.0 201.24.1.0 201.23.3.0 201.23.3.0
CIDRによる経路集約 212.56.132.0/24 11010100.00111000.10000100.00000000 212.56.133.0/24 11010100.00111000.10000101.00000000 212.56.134.0/24 11010100.00111000.10000110.00000000 212.56.135.0/24 11010100.00111000.10000111.00000000 すべてのアドレスに共通のプレフィクスを判別すると 以下のように集約できる(管理するアドレスの数を減らせる) 212.56.132.0/22 11010100.00111000.10000100.00000000
サブネットアドレスの求め方の例 ホストのIPアドレス 212. 62. 31. 90 サブネットマスク 255.255.255.224 サブネットマスク 255.255.255.224 のとき,このホストの属するサブネットアドレスを求めなさい 11010100 00111110 00011111 010 11010 (212.62.31.90) × 11111111 11111111 11111111 111 00000 (255.255.255.224) 11010100 00111110 00011111 010 00000 (212.62.31.64) → サブネットアドレスは,212.62.31.64となる CIDRで表記すれば,212.62.31.64/27 となる このサブネットに割当てられるIPアドレスは,ホストアドレス部がall 0 からall 1の範囲なので 11010100 00111110 00011111 010 00000 (212.62.31.64) から 11010100 00111110 00011111 010 11111 (212.62.31.95) 212.62.31.64 から 212.62.31.95となる. このうち,64はネットワーク,95は放送用なので,65から94の30個がホスト用に割り当てられる
ICMP (Internet Control Message Protocol) IPはコネクションレス型通信のためパケット転送を保証しない パケットが宛先まで届かない場合の状況を通知する必要がある ICMPはIPフレームのプロトコル番号で識別され, 宛先不到達通知 経路変更通知 生存時間カウンタ(TTL)オーバ通知 到達確認メッセージ ... などの情報を提供する ping, traceroute は ICMPを使用している ping→宛先コンピュータの生存確認を行うコマンド traceroute→宛先までの経路確認を行うコマンド
どうやって通信するか あなたのPCは IPアドレス 192.168.1.10 (10=00001010) サブネットマスク 255.255.255.248 (248=11111000) とすると,あなたの属するネットワークアドレスはマスクをかけ算して,192.168.1.8 となる(8=00001000) ここで 192.168.1.12にパケット送りたいとする 宛先アドレスに自ネットマスクかけてみるとネットワークアドレスが一致 192.168.1.12×255.255.255.248=192.168.1.8 →自ネット! 12=00001100 248=11111000 → 00001000=8
さてどうやって通信するか こんどは 宛先アドレスに自ネットマスクかけてみると不一致 他ネットなのでデフォルトゲートウェイに投げる 192.168.1.20 にパケット送りたいとする 宛先アドレスに自ネットマスクかけてみると不一致 192.168.1.20×255.255.255.248=192.168.1.16→ 他ネット! 20=00010100 248=11111000 → 00010000=16 他ネットなのでデフォルトゲートウェイに投げる デフォルトゲートウェイが他ネットワークとの接続を行う装置=ルータ