このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

  • 追加された行はこの色です。
  • 削除された行はこの色です。
*ルーティングアルゴリズム [#gfbef5c7]
*目次 [#s0257036]

**ディスタンスベクター方式 [#g62fa3e2]
#contents

 各ノードは自ネットワークに接続されているリモートネットワークの情報をもとに最適な経路を割り出す方式。

 ルーティングプロトコルとして[[RIP]]、[[IGRP]]などが用いられる。
*ルーティングとは? [#k55734ec]

**リンクステート方式 [#cee1d356]
 ''ルーティング''とは目的のホストまでパケットを送るとき、経路情報を交換しあいながら、効率的なパケットの転送を行うことができる経路を決定し制御することである。もっとわかりやすくいえばコンピュータ間でデータの送受信する際にデータを転送する経路を決定することである。

 ネットワーク全体の接続がわかる情報(トポロジー情報)を管理していて、この情報をもとにルーティングテーブルを作成・管理する方式。
 ルーティングを行うためのネットワーク機器が[[ルーター]]である。ルーター本体がなくてもソフトウェア自体でルーティングを制御することもできる。

 ルーティングプロトコルとして[[OSPF]]などが用いられる。

*経路制御の手順 [#dee3e5aa]

1:データリンク層のプロトコル(OSIの参照モデルでは、IPの下に位置する)が、受信したフレーム(データリンク層を流れるパケットのこと)からデータ部分を取り出して、IPデータグラムとして、上位のIPプロトコルモジュールに渡す。

2:IPはデータグラムのヘッダに書かれている宛先アドレスをチェックして、自分宛てのものであれば、上位のトランスポート層に渡す処理をする。

3:自分宛て出なかった場合は、別のホストに転送するための処理を行う。別のホストに転送するためには、まずルーティングテーブルと呼ばれる経路制御のためのデータバースを検索して、どのホストに送るか、またそのためのネットワークインターフェース(IPプロトコルモジュールとデータリンクのプロトコルモジュールを結ぶ接点と考えてください)は何かを調べて、適切なネットワークインターフェースに送るための処理を行う。

4:ルーティングテーブルを検索しても情報が得られなかった場合は、IPはデータグラムを転送することができないので、データグラムを捨ててしまう。


*ルーティングの分類 [#d41ae7ed]

**スタティック(静的)ルーティング [#t3e5f9e8]

-経路は固定。
-経路情報はあらかじめ決めて、各ゲートウェイに送っておく。
-小規模ネットワークでは、管理が簡単。
-故障や混雑に対処できない。
-ゲートウェイが多い大規模ネットワークでは、管理が大変。
-routeコマンドでルーティングテーブルを作成する。

**ダイナミック(動的)ルーティング [#sebebca2]

-経路はケースバイケースで動的に選択。
-経路情報の交換を運用中に行う。
-故障や混雑を回避できる。
-(ルーティングプロトコルにもよるが)管理は、スタティックルーティングより複雑。 -ルーティングデーモンを使用する。

[補講]UNIXのTCPでは、ダイナミックルーティングがサポートされているが、その他のOSでは、ほとんどスタティックルーティングしかサポートされていません。


*参考文献 [#ndda3dbc]

-『UNIXネットワークプログラミング』 
-『Linuxネットワーク入門』 
-『Windowsハッキングマニュアル2000』 
-『安全対策 NTTコミュニケーションズ インターネット検定 .com Master★★2005』 
-『一人で作れるLinuxインターネットサーバー入門』 
-『TCP/IPセキュリティ』