距離ベクトル型ルーティングプロトコル (キョリベクトルガタルーティングプロトコル) とは | 意味や読み方など丁寧でわかりやすい用語解説
距離ベクトル型ルーティングプロトコル (キョリベクトルガタルーティングプロトコル) の読み方
日本語表記
きょりべくとるがたるーてぃんぐぷろとこる (きょりべくとるがたるーてぃんぐぷろとこる)
英語表記
distance-vector routing protocol (ディスタンスベクタールーティングプロトコル)
距離ベクトル型ルーティングプロトコル (キョリベクトルガタルーティングプロトコル) の意味や用語解説
距離ベクトル型ルーティングプロトコルとは、IPネットワークにおいて、データパケットが目的地に到達するための最適な経路をルータが学習し、ルーティングテーブルを構築する方式の一つである。この方式では、各ルータが自身の隣接するルータに対して、自分が知っているネットワークの経路情報とその経路までの「距離」を定期的に送信する。そして、隣接ルータから受け取った情報と自身のルーティングテーブルを比較し、より良い経路があれば更新することで、ネットワーク全体に経路情報が伝播していく。あたかも「隣のルータが教えてくれた最短経路を信用する」という考え方に基づき、シンプルな仕組みで動作する点が特徴である。代表的なプロトコルには、Routing Information Protocol (RIP) がある。 距離ベクトル型ルーティングプロトコルの基本的な動作原理は、各ルータが「距離(メトリック)」と「方向(ベクトル)」という二つの情報を使って経路を決定することにある。メトリックとは、ある宛先ネットワークまでの遠さを数値で表したもので、たとえばRIPではホップ数、つまり経由するルータの数がメトリックとして用いられる。メトリック値が小さいほど、その経路は近い、あるいは優れていると判断される。ベクトルとは、その宛先ネットワークに到達するためにはどの隣接ルータを経由すれば良いかという方向を示す情報であり、次にパケットを転送すべき隣接ルータを指す。 ルータは起動すると、まず自身に直接接続されているネットワークをルーティングテーブルに登録し、そのネットワークへのメトリックを0とする。その後、定期的に(RIPでは30秒ごと)、自身が持つルーティングテーブルの全情報、または変化した部分の情報を、接続されている全ての隣接ルータに送信する。この送信される情報には、宛先ネットワークアドレス、その宛先までのメトリック、そして経路の次のホップ(隣接ルータ)が含まれる。 隣接ルータがこの情報を受信すると、まず自身が送信元ルータから受け取った経路のメトリックに、送信元ルータまでの自身のメトリック(通常は1ホップ)を加算する。例えば、送信元ルータが「ネットワークAまでメトリック2」という情報を持っていた場合、受信ルータは「ネットワークAまでメトリック3(2+1)」として認識する。これは、受信ルータがネットワークAに到達するには、まず送信元ルータを経由する必要があるためである。 次に、受信ルータは自身のルーティングテーブルを確認し、同じ宛先ネットワークへの経路が既に登録されているかを確認する。もし、同じ宛先ネットワークへの経路がまだ登録されていなければ、新しく受け取った経路情報を自身のルーティングテーブルに追加する。 既に登録されている場合は、既存の経路のメトリックと、新しく受け取った経路のメトリックを比較する。新しい経路のメトリックが既存の経路より小さい(より近い)場合、その新しい経路の方が優れていると判断し、ルーティングテーブルを更新する。これによって、より効率的な経路が選択される。もし新しい経路のメトリックが既存の経路より大きい、あるいは同じであれば、通常はルーティングテーブルを更新しない。ただし、既存の経路情報が特定の隣接ルータから来ており、その隣接ルータからの新しい情報であれば、メトリック値が同じか悪化していても更新することがある。 このプロセスをネットワーク内の全てのルータが繰り返すことで、各ルータは自身のルーティングテーブルにネットワーク全体の最適な経路情報を徐々に構築していく。しかし、この方式にはいくつかの課題も存在する。 一つは、ネットワークの状態変化が全体に伝播する「収束時間」が比較的遅い点である。ある経路に障害が発生した場合、その情報がネットワーク内の全てのルータに伝わるまでに時間がかかり、その間、データパケットが障害の発生した古い経路に送られてしまう可能性がある。 また、ルーティングループが発生しやすいという課題がある。ルーティングループとは、パケットが目的地に到達することなく、ネットワーク内を無限に循環してしまう現象である。これは、古い経路情報が残っている状態で新しい経路情報が伝播する際に、誤った判断をしてしまうことで発生しやすい。この対策として、「ホライズンスプリット」や「ポイズンリバース」といった技術が考案された。ホライズンスプリットは、あるルータが受け取った経路情報を、その情報を受け取ったインターフェースからは送信しないというルールであり、ルーティングループの発生を抑制する効果がある。ポイズンリバースは、到達不能になった経路のメトリック値を最大値(RIPでは16、これは到達不能を意味する)として、あえて隣接ルータに送信することで、その経路を使わないように促すものである。さらに、経路情報に変化があった際に即座にアップデートを送信する「トリガアップデート」も、収束時間の短縮に貢献する。 距離ベクトル型ルーティングプロトコルは、設定が比較的容易であり、小規模なネットワークで利用されることが多い。しかし、定期的なルーティングテーブルの全交換によるネットワーク帯域の消費や、RIPにおける最大ホップ数15という制限などから、大規模で複雑なネットワークには不向きである。ルーティングテーブルのサイズがネットワークの規模に比例して大きくなるため、大規模ネットワークでは更新情報量が増大し、ルータの処理負荷やネットワーク帯域の消費が問題となる。これらの理由から、大規模ネットワークでは、ネットワーク全体のトポロジ情報を共有するリンクステート型ルーティングプロトコル(OSPFなど)が一般的に利用される。