BGP とは

 BGPは、EGP(Exterior Gateway Protocol)です。異なる自律システム(AS)間でルーティング情報を交換することができるルーティングプロトコルです。BGPでは、AS内部のルーティングは、IGPに任せています。

 BGPは、クラスフルルーティングにしか対応していないBGPv1から歴史が始まります。現在、主に使われているBGPv4では、ルート集約、VLSMをサポートしており広く普及しています。

BGPの通信や、セッションの確立には、信頼性のあるTCPが使われています。

BGPの特徴をいくつか挙げてみます。

  • CIDR(クラスレスルーティング)
  • VLSMのサポート
  • ポップス数が無制限
  • 差分アップデート
  • 手動集約
  • パス属性による経路制御
  • ネイバーの検出と隣接関係の維持

 BGPは、AS間をルーティングするプロトコルだけあって、複雑な動きをします。経路制御にパス属性を使用します。そのため、習得するのが難しいプロトコルです。

 RIP、IGRP、EIGRP、OSPFは、IGP(Interior Gateway Protocol)で、AS内でルーティングさせるためのルーティングプロトコルで、AS間でルーティングを行うことができません。しかし、BGPでは、異なるAS間をルーティングさせることができます。

 ここで、ASについて、おさらいしておきます。ASとは、同一の管理下にあるネットワークの集合体で、1つのASは、複数のIGP、1つのEGPで構成されることもあります。

 BGPでは、AS内ルーティングを行う内部BGP(iBGP)とAS間のルーティングを行う外部BGP(eBGP)の2つの形態でルーティングを行います。

 AS内部では、iBGPが動作しており、同じAS内のBGPスピーカーとピア張り、外部AS間では、eBGPで、各ASのBGPスピーカーとピアを張ります。

 ここで、「BGPスピーカー」というBGP用語が出てきたので、捕捉で説明します。BGPスピーカーとは、BGPが動作しているルータを指す用語です。

 BGPは、ポリシーに基づいてルーティングを行う複雑なルーティングプロトコルです。BGPには、ローカルプリファレンスなど、様々なパス属性があり、複雑な条件でルートを決定します。

 また、BGPが受け取る経路情報は、膨大であるため、ルータには、非常に負荷がかかります。ルータの負荷を軽減させるためには、ルート集約を