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ルータにかかる負荷を軽減させる必要があります。