Webエンジニアのブログ

「マスタリングTCP/IP 入門編」要約 第7章「ルーティングプロトコル(制御プロトコル)」


マスタリングTCP/IP 入門編 第5版」の第7章の要約。

この章ではルーティングプロトコル(制御プロトコル)について説明する。

経路制御(ルーティング)とは

パケットを正しく宛先ホストへ届けるためには、ルーターが正しい方向へパケットを転送しなければならない。この処理を経路制御、またはルーティングと呼ぶ。 ルーターは経路制御表(ルーティングテーブル)を参照してパケットを転送する。

ルーティングテーブルの作成方法や管理方法には、スタティックルーティングとダイナミックルーティングの2種類がある。 スタティックルーティングは、ルーターやホストに固定的に経路情報を設定する。それに対しダイナミックルーティングは、ルーティングプロトコルを動作させ、隣り合うルーター間とやり取りをしながら自動的に経路情報を設定する。

経路制御アルゴリズム

経路制御のアルゴリズムには、代表的なものが2つある。

1つは距離ベクトル型という、距離と方向によって目的のネットワークやホストの位置を決定する方法である。これは向きと距離だけの情報であるため、ネットワークの構造が複雑になると、経路制御情報が安定になるまで時間がかかったりループが生じたりしやすくなる。

2つ目はリンク状態型で、これは各ルーターが同じ情報を持つことになる。そのため安定した経路制御を行うことができるが、経路制御表を求める計算が複雑であるため、ある程度のCPU能力やメモリが必要になる。

RIP(Routing Information Protocol)

RIPは距離ベクトル型のルーティングプロトコルで、LANで広く使用されている。 RIPは経路制御情報を30秒周期でネットワーク上にブロードキャストし、この経路制御情報が来なくなったら接続が切れたと判断する。パケットが失われた可能性もあるため、5回まではパケットを待つ。

RIPは距離ベクトルにより経路を決定し、距離(メトリック)の単位はホップ数という通過するルーターの数のことになる。RIPではできるだけ少ない数のホップ数になるよう経路を制御する。

RIPは無限カウントという、過去に伝えた情報を教えられ、それをお互いに伝えあってしまう問題がある。それを解決するため、以下のような方法がある。

  • 距離16を通信不能とし、120秒後に削除して無限カウントの時間を短くする。
  • 経路情報を教えられたインターフェースには、教えられた経路情報を流さない。(スプリットホライズン)

他にもループに対応するための方法などがあるが、複雑なネットワークの場合は経路情報が安定するまでにどうしても時間がかかってしまう。そのため後述するOSPFなどのルーティングプロトコルを利用する必要がある。

OSPF(Open Shortest Path First)

OSPFはリンク状態型のプロトコル。OSPFでは各リンクに重みを付けることができ、この重みが小さくなるように経路制御される。またRIPでは1種類のパケットしかなかったが、OSPFでは役割ごとに5種類のパケットを用意している。

BGP(Border Gateway Protocol)

BGPは組織間を接続するときに利用されるプロトコルで、各ISP間の接続部分などに利用されている。このBGPとRIPやOSPFが協調的に経路制御を行っている。 ISPや地域ネットワークなどを1つの自立システム(AS:Autonomous System)として取り扱い、それぞれに16ビットのAS番号が割り当てられている。BGPではこのAS番号を使って経路制御を行う。

MPLS(Multi Protocol Label Switching)

現在、IPパケットの転送にはルーティングだけでなくラベルスイッチングという技術も利用されている。ラベルスイッチングではIPアドレスではなく、それぞれのIPパケットにラベルを設定して、そのラベルに基づいて転送する。通常のルーターではラベル転送はできないが、転送処理の高速化が行える。

第7章 終わり

以上がルーティングプロトコルについての説明になる。


{ "name": "hareku", "job": "Software Engineer" }