BGP びーじーぴー
BGPBorder Gateway ProtocolASインターネットルーティングEGP
BGPについて教えて
BGPとは
BGP(Border Gateway Protocol)は、AS(Autonomous System:自律システム)間の経路情報を交換する外部ゲートウェイプロトコル(EGP)です。RFC 4271で標準化されたBGP-4が現在のインターネットの事実上の標準です。
インターネットは数万ものASの集合体で、各ISP・大企業・クラウドプロバイダーがそれぞれ1つ以上のASを持ちます。BGPは隣接するASのBGPルーター(BGPピア)間でTCPポート179番を使って接続し、保有するIPアドレスプレフィックスの情報を交換します。
OSPFなどのIGP(Interior Gateway Protocol)がASの内部で使われるのに対し、BGPはAS間(Internet)で使われます。また、AS内部での管理にも「iBGP(internal BGP)」が使われます。
eBGPとiBGPの違い
| 種別 | 範囲 | 用途 |
|---|---|---|
| eBGP(external BGP) | 異なるAS間 | ISP間・企業-ISP間の経路交換 |
| iBGP(internal BGP) | 同一AS内 | 大規模ネットワーク内での経路配布 |
歴史と背景
- 1989年:BGP-1がRFC 1105で策定
- 1991年:BGP-2(RFC 1163)・BGP-3(RFC 1267)と改訂
- 1994年:BGP-4がRFC 1771で標準化(CIDR・ルート集約対応)
- 2006年:RFC 4271でBGP-4の最新統合仕様が公開
- 現在:BGPルーティングテーブルのエントリ数は90万超(2024年)
BGPの経路選択プロセス
BGPは単純な最短距離(ホップ数)でなく、複数の属性を組み合わせて「最良経路」を選択します:
| 優先順位 | 属性 | 説明 |
|---|---|---|
| 1 | Weight | Cisco独自。ローカル設定値 |
| 2 | Local Preference | AS内の優先度(大きい方が優先) |
| 3 | AS_PATH | 経由するAS数(少ない方が優先) |
| 4 | Origin | 経路の起源(IGP > EGP > Incomplete) |
| 5 | MED | 複数経路への優先度ヒント |
| 6 | eBGP > iBGP | 外部経由を優先 |
| 7 | IGPメトリック | ネクストホップへのコスト |
BGPの接続確立フロー
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 4271 | BGP-4(最新統合仕様) |
| RFC 4760 | マルチプロトコルBGP(MP-BGP) |
| RFC 7911 | BGP Additional Paths |
関連用語
- AS番号 — BGPが管理するAS(自律システム)の番号
- BGPコミュニティ — BGPルートにタグを付ける属性
- BGPルートリフレクター — iBGPスケーラビリティを改善する機能
- ルーティングテーブル — BGPが学習した経路が記録される