今回はネットワークの中でも重要なルーティングについて書きます。
Contents
ルーティングって?
今では当たり前となったインターネットは、世界の各ネットワーク同士がルータを通じて繋がっています。
このインターネットを流れるパケットは各ネットワークを渡る際に宛先にIPアドレスを付与します。ルータはそのIPアドレスと自身がもつ『ルーティングテーブル(経路表)』を参照し、どのネットワークへ送り出せば効率よく相手先に届けられるかを判断し、中継しています。
このルータが届けたい相手先へルーティングテーブルを参照し、効率よくパケットを中継する処理のことを『ルーティング』といいます。
ルーティングテーブルとはルータが接続されているネットワークアドレスと方向や距離、ネットワークの回線状態(リンク状態)などの情報を持った表です。ルーティングはこの表を見て、宛先にはどのネットワークを経由したら、少ない距離や潤沢な回線を渡り効率よく届けられるかを判断しています。
2つの方法でルーティングテーブルは作られる
ルーティングテーブルは作成する方法によって以下の2種類あります。
・スタティックルーティングテーブル
・ダイナミックルーティングテーブル
スタティックルーティングテーブル
ネットワーク管理者などが手動で作成したルーティングテーブルです。
小規模なネットワークならば、作成するのには現実的でありますが、ネットワークに変更があった場合は管理下のルータ全ての設定を変更する必要があります。
ダイナミックルーティングテーブル
自動で作成されたルーティングテーブルです。
特に大規模なネットワークの場合は、手動ではとてもルーティングテーブルが作成できないため、こちらの方法で作成するのが一般です。
プロトコルの構想
ルーティングは「外」と「内」という考え方でプロトコルが設計されています。インターネットは冒頭でも説明したようにネットワーク同士のつながりであり、ルーティングでは各ネットワークを自律システム(AS)という概念で考え、そのAS同士のルーティングプロトコルをEGP(Exterior Gateway Protocol)と呼び、AS内のルーティングプロトコルをIGP(Interior Gateway Protocol)と呼んでいます。
ASはISPや地域でとらえることが多いです。
IGP(Interior Gateway Protocol)
IGPはネットワーク「内」のルーティングをする上で使われるプロトコルです。IGPには代表的なプロトコルとしていかの3つがあります。
・RIP(Routing Information Protocol)
・RIP2(Routing Information Protocol2)
・OSPF(Open Shortest Path First)
RIP
ネットワークのルーティングにポップ数という、ルータの経由数を距離としてカウントする概念を採用したプロトコルです。
・経路情報を30秒周期でブロードキャストでルータに通知する
・距離が小さい方向を採用する
・経路情報を教えられたルータにはそのルータに教えられた経路情報は流さないようにして無限カウントアップを防いでいる(スプリットホライズン)
・スプリットホライズンに加えて通信不能である距離16を流す(スプリットリバース)
RIP2
RIPの改良版です。
・経路情報を30秒周期でマルチキャストでルータに通知する
・サブネットマスクに対応
OSPF
リンクの状態を考慮してルーティングするプロトコルです。
・ルータ間で10秒に1回HELLOパケットを送ってネットワークのリンク状態を交換し、ネットワークのトポロジー情報を作成
・各リンクに重みをつけて合計コストが小さい方へ送り出す
・ネットワークが大きくなるにつれてトポロジー情報が膨大になるため、エリアという概念を採用
エリアとは、ネットワーク同士やホスト同士をまとめてグループ化したものです。AS内でもルータ一つ一つで管理していると膨大な数となるため、扱い易い単位としています。エリアは下図のようにルータの置かれる位置によって、名称が異なります。
![](https://kitsuneblg.com/wp-content/uploads/2018/10/ネットワークに関するキーワード4.png)
エリア内に置かれるルータを『内部ルータ』、エリア同士の境界に置かれるルータを『エリア境界ルータ』、エリア外に置かれるルータを『バックボーンルータ』と呼びます。
OSPFにはリンクの状態を他のルータに知らせるために『LSA』という各ルータに接続されているネットワークの情報や経路のコストが格納されている情報を伝搬する仕組みがあります。このLSAの情報も置かれる場所によって役割が異なります。
1.Router-LSA
・・・全てのルータが作成するLSA。各ルータがもつインターフェースのIPアドレスなどが格納されている。伝搬対象は同エリア内部のみ。
2.Network-LSA
・・・代表的なルータのみが作成するLSA。代表的なルータのIPアドレスや同エリア内の各ルータのIDなどが格納されています。伝搬対象は同エリア内のみ。
3.Summary-LSA
・・・エリア境界ルータのみが作成するLSA。各エリアのネットワークアドレスなどが格納されています。伝搬対象はOSPFを採用しているネットワークの中核のバックボーンエリアと外部のエリアとなる。
4.AS-External-LSA
・・・AS間に位置するルータのみが作成するLSA。OSPFを採用していないネットワークのネットワークアドレスなどが格納されている。伝搬対象はバックボーンエリアとASの内部となる。
EGP(Exterior Gateway Protocol)
EGPはネットワーク「外」のルーティングをする上で使われるプロトコルです。EGPには代表するプロトコルとして以下があります。
BGP(Border Gateway Protocol)
BGP
AS間をルーティングするプロトコルです。
ASを識別するAS番号は2オクテットまたは、4オクテットと決められています。
・ネットワークアドレスと距離で経路を判断
・通過するASの数をもとに経路制御を行う
・AS間の経路が変化したときだけ、差分の情報のみを送信する
BGPルータはAS内の他の全てのBGPルータ間でセッションを張って差分情報の交換を行います。この時にBGPルータが多くなればセッション数が大量になりスケーラビリティが問題となります。
そこで、情報を伝搬するルータとそうでないルータに分け、伝搬するルータが差分情報を受け取ったら自動的に伝搬される側に流します。この仕組みをルートリフレクションといいます。
まとめ
・ルーティングとは効率よくパケットを中継する処理のこと
・ルーティングテーブルにはスタティックルーティングテーブルとダイナミックルーティングテーブルがある
・ルーティングにはAS内で使うIGPとAS間で使うEGPがある
・IGPにはRIPやRIP2、OSPFといったプロトコルがある
・EGPにはBGPといったプロトコルがある
以上