目 次
目 次/関連項目

3.4 BGP

3.4.1 BGPの概要


 これまで登場してきたRIPやOSPFはISPなどの自立システム内で使用されるルーティングプロトコルである。このようなルーティングプロトコルを総称してIGP(Interior Gateway Protocol)という。

 本節ではASとASを中継するBGP(Border Gateway Protocol) を取り上げる。BGPは現在のバージョンが4であるため、BGP4とも呼ばれる。各ASにはAS番号が割り当てられており、その管理は日本ではJPNICが行う。国内のAS番号は以下に示すJPNICのサイトで参照できる。
http://www.nic.ad.jp/jpnic/ipaddress/as-numbers.txt
ASが相互に接続されるインターネット相互接続点は「IX」(Internet eXchange)といって、IXでは、接続されるAS内全ての経路情報を把握していなければならない。その数はRIPやOSPFのそれよりもはるかに多い。BGPは経路情報が極めて多い、大規模なルーティングテーブルを制御するためのプロトコルである。また、BGPのように自立システム同士を中継するルーティングプロトコルをEGP(Exterior Gateway Protocol)という。BGP4についてはRFC1771で規定されている。

 BGPには2種類ある。ISP同士を中継するEBGP(external BGP)とISP内で中継するIBGP(Internal BGP)である(図3.4.1)。

図3.4.1:IBGPとEBGP


3.4.2 BGPによる経路制御

 BGPで経路制御を行うルータはBGPスピーカと呼ばれる。BGPでは自身のASが持っている経路情報をAS番号とともに相手ASにEBGPで送信し、逆に相手から経路情報を受け取る。

 EBGPでは経路情報を相手ASに送信するときに経路情報に自分のAS番号を追加する。こうすることにより、経路情報はどのプロバイダを経由してきたのかを示すことができる。これをAS Pathと呼ぶ。BGPスピーカは内部でAS Path Listを作成する。

 BGPスピーカはAS Pathからルーティングテーブルを作成する。BGPのルーティングテーブルはRIPやOSPFのそれとは少し異なり、「このアドレスだったらこのASに送信する」という一覧表である。つまり、そのアドレスが所属するASにパケットが渡ったら、残りの処理はOSPFやRIPのルータに任せることになる。

 例えば、下の図においてホストAからホストXへパケットを送信することを考える。各ASは経路情報を互いに交換しているので、ホストXがAS8に所属していることは、AS1のBGPスピーカは知っている。次にどのような経路でAS8に送信するかを決めることになるのだが、BGPでは最も経由するASが少ないAS Pathが選択される。これはホップ数の少ない経路を選択するRIPに考え方が似ている。


図3.4.2:BGPによる経路決定

 また、AS同士で情報交換していると、一度自分を経由して相手に送った経路情報が再び自分に帰ってくることがある。このとき、再び自分のAS番号を加えて相手に送るとAS Pathがループすることになる。このようなことを避けるために、相手から送られてくる経路情報をチェックして自分のAS番号がすでに追加されていれば、その情報は破棄し、相手には送らない。このようにしてループが発生するのを防ぐ。

 同じAS間のBGPスピーカ同士の経路情報交換はIBGPを用いて行う。