2002 12 11,12 情報ネットワーク論 - IPルーティング - ネットワークを介した情報のやりとり 機械のしくみとして見ると... 機械のしくみとして見ると... = ホスト間でのパケットのやりとり パケットがどのようにして目的のホストに届けられる?
パケット パケット(2進数の羅列・・・ビットからなる) 元々の情報を符号化して分割したもの + それぞれに多くの付加的な情報 付加的な情報 元々の情報を符号化して分割したもの + それぞれに多くの付加的な情報 付加的な情報 “送信元のIPアドレス” “送信先のIPアドレス”
パケット 人間・・・ホストAを使って、同じネットワークにあるWEBサーバであるホストBにあるホームページを見る コンピュータ・・・ホストAからホストBへhttpを使用してファイルを送ってもらうようリクエストをかけると、ホストBから該当のファイルを送ってくれる。 ホストA ホストB 202.24.147.231 クライアント 202.24.147.232 WEBサーバ
同じネットワークにおけるhttpの パケットのやりとり 1 同じネットワークにおけるhttpの パケットのやりとり 1 ホストAがリクエストのパケットをネットワークに送り出す。 リクエストするファイルの内容、ポート番号80 送り元IPアドレス:202.24.147.231 送り先IPアドレス:202.24.147.232 etc… パケット ホストA ホストB 202.24.147.231 クライアント 202.24.147.232 WEBサーバ
同じネットワークにおけるhttpの パケットのやりとり 2 同じネットワークにおけるhttpの パケットのやりとり 2 同じネットワーク上にあるので、直接届く ホストBが届いたパケットの中身を読む。 リクエストするファイルの内容、ポート番号80 送り元IPアドレス:202.24.147.231 送り先IPアドレス:202.24.147.232 etc… パケット ホストA ホストB 202.24.147.231 クライアント 202.24.147.232 WEBサーバ
同じネットワークにおけるhttpの パケットのやりとり 3 同じネットワークにおけるhttpの パケットのやりとり 3 ホストAからのリクエストに応じてファイル(データ)の入っているパケットをホストAに向けてネットワーク上へ送り出す。 ファイルの内容、ポート番号 送り元IPアドレス:202.24.147.232 送り先IPアドレス:202.24.147.231 etc… パケット ホストA ホストB 202.24.147.231 クライアント 202.24.147.232 WEBサーバ
同じネットワークにおけるhttpの パケットのやりとり 4 同じネットワークにおけるhttpの パケットのやりとり 4 ホストBから届いたパケットを読むことによって、その中に入っているファイルのデータを読んでブラウザに表示する。 パケット ホストA ホストB 202.24.147.231 クライアント 202.24.147.232 WEBサーバ
異なるネットワークにおけるhttpの パケットのやりとり 1 異なるネットワークにおけるhttpの パケットのやりとり 1 ホストAから異なるネットワーク上にあるホストBにhttpのリクエストを出したい。 異なるネットワークにある・・・ホストAはホストBの居場所を知らない。 ? パケット ホストA ホストB 202.24.147.231 クライアント 202.24.14.232 WEBサーバ
異なるネットワークにおけるhttpの パケットのやりとり 2 異なるネットワークにおけるhttpの パケットのやりとり 2 ルータについて ルータは複数の異なるネットワークに接続し、パケットの交通整理、道案内をする ルータ
異なるネットワークにおけるhttpの パケットのやりとり 3 異なるネットワークにおけるhttpの パケットのやりとり 3 自分が知らない宛て先へのパケットは自分のネットワークのルータ(デフォルトゲートウェイ)に送って、後は全くのおまかせ。 ルータ パケット ホストA ホストB 202.24.147.231 クライアント 202.24.14.232 WEBサーバ
異なるネットワークにおけるhttpの パケットのやりとり 4 異なるネットワークにおけるhttpの パケットのやりとり 4 ルータはお互いパケットをどうやって送ったらよいかという情報(経路情報)を交換し合い、経路表を作成する。それにしたがって経路を決める。 ルータ ルータ ルータ パケット ルータ ホストA ホストB ルータ 202.24.147.231 クライアント 202.24.14.232 WEBサーバ
異なるネットワークにおけるhttpの パケットのやりとり 5 異なるネットワークにおけるhttpの パケットのやりとり 5 ルータは経路表を元にして、次にはどこのルータに送ったら良いかを知っている。他のルータに送ったら、後は全くおまかせ。 ルータ パケット ルータ ルータ パケット ルータ パケット ホストA ホストB パケット ルータ 202.24.147.231 クライアント 202.24.14.232 WEBサーバ
異なるネットワークにおけるhttpの パケットのやりとり 6 異なるネットワークにおけるhttpの パケットのやりとり 6 自分の直接つながっているネットワークにあるホストあてのパケットは、直接該当するホストに届ける。 ルータ パケット ルータ ルータ ルータ パケット ホストA ホストB ルータ 202.24.147.231 クライアント 202.24.14.232 WEBサーバ
異なるネットワークにおけるhttpの パケットのやりとり 7 異なるネットワークにおけるhttpの パケットのやりとり 7 ホストBは届いたパケットを読んで、ホストAに向けてリクエストされたデータをパケットにしてネットワーク上に送り出す。 ルータ ルータ ルータ ルータ パケット パケット ホストA ホストB ルータ 202.24.147.231 クライアント 202.24.14.232 WEBサーバ
異なるネットワークにおけるhttpの パケットのやりとり 8 異なるネットワークにおけるhttpの パケットのやりとり 8 パケットは同様にしてルータを通ってリクエスト元に届けられる。 ルータ ルータ ルータ ルータ パケット ホストA パケット ホストB ルータ 202.24.147.231 クライアント 202.24.14.232 WEBサーバ
相手に届くこと ルーティングで必要なこと 1 ホストA ホストB 202.24.147.231 202.24.14.232 クライアント ルーティングで必要なこと 1 相手に届くこと ルータ ルータ ルータ ルータ ルータ ルータ ルータ ルータ ホストA ルータ ホストB ルータ 202.24.147.231 クライアント 202.24.14.232 WEBサーバ
意味なく遠回りしないこと 3 2 4 6 5 1 4 1 2 ルーティングで必要なこと 2 3 ホストA ホストB ルーティングで必要なこと 2 意味なく遠回りしないこと 3 2 ルータ ルータ 4 ルータ 6 5 1 ルータ ルータ ルータ ルータ ルータ 4 1 2 3 ホストA ルータ ホストB ルータ 202.24.147.231 クライアント 202.24.14.232 WEBサーバ 通過するルータの数・・・HOP数
混雑した回線、や負荷の多いルータは避けること ルーティングで必要なこと 3 混雑した回線、や負荷の多いルータは避けること ルータ ルータ ルータ ルータ ルータ ルータ ルータ 混雑 ホストA ルータ ホストB ルータ 202.24.147.231 クライアント 202.24.14.232 WEBサーバ
経路表 Linux, Windows2000とも netstat –r で確認可能 202.24.147.1 eth0 受信先サイト ゲートウェイ ネットマスク インターフェース 192.168.0.0 * 255.255.255.0 eth1 202.24.147.0 * 255.255.255.0 eth0 127.0.0.0 * 255.0.0.0 lo default 202.24.147.1 0.0.0.0 eth0 202.24.147.1 eth0 202.24.147.0/24 192.168.0.0/24 eth1 local host
経路表の作成方法による 経路制御の分類 静的経路制御(static routing) 人間がネットワーク設定、ホストの接続状況などを見て経路表を作成 設定を変更しない限り一定 動的制御(dynamic routing) ルータどうしがつながっているネットワーク、ホスト等の情報を経路情報として流して、交換し合って自動的に経路表を作成、定期的に更新 何を基準にして“良い経路か”の定義によって種類がある
静的経路制御(1) 規模が比較的小さいネットワークで用いる 規模が小さい ルール トラブル時には手動で経路を書き換える必要ある 変更が楽 トラブルの確率が小さい ルール ネットワークごとにゲートウェイを設定 それ以外はデフォルトゲートウェイを通らせる トラブル時には手動で経路を書き換える必要ある
ホストAからホストBへ パケットを送る 静的経路制御(2) 192.168.2.4 → 192.168.5.6 ホストAの経路表 例 静的経路制御(2) ホストAからホストBへ パケットを送る 100110111100101010001111000 192.168.1.0/24 192.168.3.0/24 192.168.4.0/24 .2 .3 .3 .4 .3 .4 .5 ホストAの経路表 IPアドレス 転送先 0 . 0 . 0 . 0 192.168.2.1 192.168.2.0/24 192.168.2.4 100110111100101010001111000 192.168.4.2 192.168.1.1 192.168.3.1 192.168.4.1 ルータB ルータC ルータA 192.168.3.2 100110111100101010001111000 192.168.5.1 192.168.5.2 192.168.2.1 192.168.2.0/24 192.168.5.0/24 ホストA ホストB .2 .3 .4 .3 .4 .5 .6
静的経路制御(3) 192.168.2.4 → 192.168.5.6 ルータAの経路表 IPアドレス 転送先 例 静的経路制御(3) 192.168.1.0/24 192.168.3.0/24 ルータAの経路表 IPアドレス 転送先 192.168.1.0/24 192.168.1.1 192.168.2.0/24 192.168.2.1 192.168.3.0/24 192.168.3.1 192.168.4.0/24 192.168.3.2 192.168.5.0/24 192.168.3.2 192.168.4.0/24 .2 .3 .3 .4 .3 .4 .5 192.168.4.2 192.168.1.1 192.168.3.1 192.168.4.1 ルータB ルータC ルータA 192.168.3.2 100110111100101010001111000 192.168.5.1 192.168.5.2 192.168.2.1 ルータAの経路表 IPアドレス 転送先 192.168.1.0/24 192.168.1.1 192.168.2.0/24 192.168.2.1 192.168.3.0/24 192.168.3.1 192.168.4.0/24 192.168.3.2 192.168.5.0/24 192.168.3.2 192.168.2.0/24 192.168.5.0/24 ホストA ホストB .2 .3 .4 .3 .4 .5 .6
静的経路制御(4) 192.168.2.4 → 192.168.5.6 ルータAの経路表 IPアドレス 転送先 例 静的経路制御(4) 192.168.1.0/24 192.168.3.0/24 192.168.4.0/24 .2 .3 .3 .4 .3 .4 .5 192.168.4.2 192.168.1.1 192.168.3.1 100110111100101010001111000 192.168.4.1 ルータB ルータC ルータA 192.168.3.2 100110111100101010001111000 192.168.5.1 192.168.5.2 192.168.2.1 ルータAの経路表 IPアドレス 転送先 192.168.1.0/24 192.168.1.1 192.168.2.0/24 192.168.2.1 192.168.3.0/24 192.168.3.1 192.168.4.0/24 192.168.3.2 192.168.5.0/24 192.168.3.2 192.168.2.0/24 192.168.5.0/24 ホストA ホストB .2 .3 .4 .3 .4 .5 .6
静的経路制御(5) 192.168.2.4 → 192.168.5.6 ルータBの経路表 IPアドレス 転送先 例 静的経路制御(5) 192.168.1.0/24 192.168.3.0/24 192.168.4.0/24 .2 .3 .3 .4 .3 .4 .5 192.168.4.2 192.168.1.1 192.168.3.1 100110111100101010001111000 192.168.4.1 ルータB ルータC ルータA 192.168.3.2 192.168.5.1 192.168.5.2 192.168.2.1 ルータBの経路表 IPアドレス 転送先 192.168.1.0/24 192.168.3.1 192.168.2.0/24 192.168.3.1 192.168.3.0/24 192.168.3.2 192.168.4.0/24 192.168.4.1 192.168.5.0/24 192.168.5.1 192.168.2.0/24 192.168.5.0/24 ホストA ホストB .2 .3 .4 .3 .4 .5 .6
静的経路制御(6) 192.168.2.4 → 192.168.5.6 ルータBの経路表 IPアドレス 転送先 例 静的経路制御(6) 192.168.1.0/24 192.168.3.0/24 192.168.4.0/24 .2 .3 .3 .4 .3 .4 .5 192.168.4.2 192.168.1.1 192.168.3.1 100110111100101010001111000 192.168.4.1 ルータB ルータC ルータA 192.168.3.2 192.168.5.1 192.168.5.2 192.168.2.1 ルータBの経路表 IPアドレス 転送先 192.168.1.0/24 192.168.3.1 192.168.2.0/24 192.168.3.1 192.168.3.0/24 192.168.3.2 192.168.4.0/24 192.168.4.1 192.168.5.0/24 192.168.5.1 192.168.2.0/24 192.168.5.0/24 ホストA ホストB .2 .3 .4 .3 .4 .5 .6 100110111100101010001111000
静的経路制御(7) 192.168.2.4 ← 192.168.5.6 ホストBの経路表 IPアドレス 転送先 例 静的経路制御(7) 192.168.1.0/24 ホストBの経路表 IPアドレス 転送先 0 . 0 . 0 . 0 192.168.5.1 192.168.5.0/24 192.168.5.6 192.168.3.0/24 192.168.4.0/24 .2 .3 .3 .4 .3 .4 .5 192.168.4.2 192.168.1.1 192.168.3.1 192.168.4.1 ルータB ルータC ルータA 192.168.3.2 192.168.5.1 192.168.5.2 192.168.2.1 192.168.2.0/24 192.168.5.0/24 ホストA ホストB .2 .3 .4 .3 .4 .5 .6 100110111100101010001111000
各ルータについてもそれぞれ手動で書き換え 192.168.2.4 ← 192.168.5.6 例 各ルータについてもそれぞれ手動で書き換え 経路表を手動で書き換え IPアドレス 転送先 0 . 0 . 0 . 0 192.168.5.1 ↓ 0 . 0 . 0 . 0 192.168.5.2 静的経路制御(8) 192.168.1.0/24 192.168.3.0/24 192.168.4.0/24 .2 .3 .3 .4 .3 .4 .5 192.168.4.2 192.168.1.1 192.168.3.1 192.168.4.1 ルータB ルータC ルータA 192.168.3.2 192.168.5.1 192.168.5.2 192.168.2.1 回線 トラブル 192.168.2.0/24 192.168.5.0/24 ホストA ホストB .2 .3 .4 .3 .4 .5 .6 100110111100101010001111000 100110111100101010001111000
動的経路制御(1) 比較的規模の大きいネットワークで使用 経路情報をお互いに交換し、定期的に更新する・・・変化あり 途中の経路が使えなくなったら自動的に別の経路を知らせる 経路情報の交換方法、良い経路の定義によって種類がある RIP RIP2 OSPF BGP4
RIP (1) Routing Information Protocol version1 ベクトル距離経路制御 Vector = destination(目的とするネットワーク) 距離 = HOP数(通過したルータの数) → 同じDestination ではHOP数が小さい方を採用 30秒ごとに経路情報がBroadcastされる
RIP (2) 経路情報の有効期限・・・3分 障害時 ルータの数×3分で経路回復 アドレスのみ伝播 ・・・ネットマスクだめ 障害時 ルータの数×3分で経路回復 アドレスのみ伝播 ・・・ネットマスクだめ ・・・クラスレベルでのネットワーク
RIP2 Routing Information Protocol version 2 netmaskを伝播できる ベクトル距離経路制御 Multicastを利用可能
OSPF Open Shortest Path First netmask を伝播できる Multicastを利用 Load-balancingを行う コスト(インターネットIFに設定された値を合計する)という概念で経路を決める 素早いバックアップルーティング
BGP4 Border Gateway Protocol version 4 EBGP IBGP AS pathの長さによって経路を選択 複数の経路が存在する場合は最適経路のみ伝播する Load-balancingは行わない CIDR対応
熊本学園 経済学部の サーバからのルーティングについて 熊本学園 経済学部の サーバからのルーティングについて st.econ.kumagaku.ac.jp から どのような経路でインターネット上のサーバに パケットが到達するか? ? ? ? ? ? ? st.econ.kumagaku.ac.jp 202.24.147.234/24
熊本学園 経済学部の ホームページサーバ ダイレクトにパケットが届く 同じネットワーク 202.24.147.0/24 www.econ. 熊本学園 経済学部の ホームページサーバ 同じネットワーク 202.24.147.0/24 ダイレクトにパケットが届く www.econ. kumagaku.ac.jp st.econ. kumagaku.ac.jp
熊本学園の ホームページサーバ 202.24.147.1 別のネットワークへ ・・・デフォルトゲートウェイを通過 www.kumagaku.ac.jp st.econ. www. econ. ネットワーク 202.24.147.0/24 202.24.147.1 202.24.147.0/24 の デフォルトゲートウェイ
kumagaku-net-gw.kumagaku. 熊本県立大学の ホームページサーバ 学外のネットワーク・・・学内の SINETのゲートウェイを通過 kumamoto-1-FE1-0-0.sinet.ad.jp SINETの熊本ルータを通過 kumamoto-1-FE1-0-0.sinet.ad.jp kumagaku-net-gw.kumagaku. ac.jp kumamoto-kenritsu-u.gw.sinet.ad.jp 県立大のnetwork st.econ. 202.24.147.1 www. Kumagaku. 202.26.160.254 www.pu-kumamoto.ac.jp
熊本大学図書館の ホームページサーバ SINET熊本ルータを通過 熊大のnetwork st.econ. kumamoto-1-FE1-0-0.sinet.ad.jp SINET熊本ルータを通過 kumamoto-1-FE1-0-0.sinet.ad.jp 熊大のnetwork kumamoto-u-ATM.gw.sinet.ad.jp www.pu-kumamoto. ac.jp 133.95.3.62 st.econ. 133.95.60.201 www.lib.kumamoto-u.ac.jp
九州大学のホームページの ホームページサーバ kyushu-u-LAN3.sinet.ad.jp 九 大 www.kyushu-u.ac.jp 133.5.3.1 kyushu-S1-GE6-1.sinet.ad.jp 県立大 熊大 kumamoto-1-FE1-0-0.sinet.ad.jp 熊学
東京大学のホームページサーバ tokyo-S1-P9-0.sinet.ad.jp UTnet-G2-0-0.sinet.ad.jp 九大 ky JT-osaka-S1-P6-0.sinet.ad.jp JT-tokyo-S1-P1-0.sinet.ad.jp ku 県立大 熊大 tokyo-S1-P9-0.sinet.ad.jp UTnet-G2-0-0.sinet.ad.jp ra36-msfc-vlan3.nc.u-tokyo.ac.jp ra35-msfc.nc.u-tokyo.ac.jp foundry1.nc.u-tokyo.ac.jp www.u-tokyo.ac.jp 熊学
東北大学のホームページサーバ 熊学 ky ku sasaya.net.tohoku.ac.jp topicgw-1.sinet.ad.jp www.tohokuac.jp topicgw-1.sinet.ad.jp tohoku-S1-P3-3.sinet.ad.jp 九大 ky os to ku 東大 県立大 熊大 熊学
SINET
熊本朝日放送の ホームページサーバ 熊学 SI SI SI SI IIJ NII IIJ IIJ IIJ NII IIJ IIJ www.kab.co.jp
IIJのバックボーン http://www.iij.ad.jp/network/japan.html より IIJのバックボーン