BGPとは

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

 BGPは、クラスフルルーティングにしか対応していないBGPv1から歴史が始まります。現在、主に使われているBGPv4では、ルート集約、VLSMをサポートしており、インターネット網を支える重要なルーティングプロトコルとなっています。

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

BGPの主な特徴は、下記の通りです。

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

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

 IGPであるRIP、IGRP、EIGRP、OSPFは、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が受け取る経路情報は、膨大であるため、ルータには、非常に負荷がかかります。ルータの負荷を軽減させるためには、ルート集約を行ったり、ルートリフレクタなどを使って、BGPルータにかかる負荷を軽減させる必要があります。