BGPは、経路にさまざまな「属性」を付けて広告し、その属性をもとに最適な経路を選びます。CCNPのENCORやENARSIでは、属性の種類と役割を正しく区別できるかがよく問われます。この記事では、属性を4つの分類に分けて整理します。
先に結論から
- BGPの属性は「ウェルノウン必須」「ウェルノウン任意」「オプション通知」「オプション非通知」の4つに分類されます。
- すべての経路に必ず付くのは、ORIGIN、AS_PATH、NEXT_HOPの3つです。
- ローカルプリファレンスは自分のAS内で使い、MEDは隣のASに希望を伝えるために使います。
- Weightはシスコ独自の値で、BGPの属性としてほかのルーターには送られません。
BGPの属性の4つの分類

| 分類 | 意味 | 主な属性 |
|---|---|---|
| ウェルノウン必須 | すべてのBGPルーターが理解し、必ず付ける | ORIGIN、AS_PATH、NEXT_HOP |
| ウェルノウン任意 | すべてのBGPルーターが理解するが、付けるかは任意 | LOCAL_PREF、ATOMIC_AGGREGATE |
| オプション通知 | 理解できないルーターも、そのまま次へ渡す | COMMUNITY、AGGREGATOR |
| オプション非通知 | 理解できないルーターは、次へ渡さない | MED、ORIGINATOR_ID、CLUSTER_LIST |
主な属性の役割
| 属性 | 役割 | 優先されるのは | 初期値など |
|---|---|---|---|
| Weight(シスコ独自) | そのルーターの中だけで使う優先度 | 大きいほう | 自分で作った経路は32768、それ以外は0 |
| LOCAL_PREF | 自分のAS全体で、出口を選ぶための優先度 | 大きいほう | 100 |
| AS_PATH | 経路が通ってきたASの番号の並び | 短いほう | ASを出るときに自分のAS番号を追加 |
| ORIGIN | 経路をBGPに入れた方法 | i(IGP)> e(EGP)> ?(不明) | networkコマンドならi、再配送なら? |
| MED | 隣のASに、入ってきてほしい入口を伝える | 小さいほう | 0(シスコの場合) |
| NEXT_HOP | 次に転送する先のIPアドレス | — | eBGPで受け取った経路はiBGPで広告しても変わらない |
| COMMUNITY | 経路にタグを付けて、まとめて扱う | — | no-export、no-advertiseなどの予約値がある |
属性が影響する範囲

同じ「優先度」でも、効く範囲が違います。Weightはそのルーターだけ、ローカルプリファレンスは自分のAS全体、MEDは隣のASへの「お願い」です。自分のASから出ていく通信を制御したいならWeightやローカルプリファレンス、入ってくる通信を制御したいならMEDやAS_PATHの付け足し(プリペンド)を使います。
試験で問われやすいポイント
- NEXT_HOPの扱い:eBGPで学んだ経路をiBGPで広告すると、ネクストホップは変わりません。iBGPの相手がネクストホップに届かない場合は、
next-hop-selfを設定します。 - MEDは、初期設定では同じASから受け取った経路どうしでしか比べません。
- COMMUNITYを送るには、
neighbor send-communityの設定が必要です。
属性を使って最適な経路を選ぶ順番は、BGPのベストパス選択で詳しく解説しています。
よくある質問
WeightはBGPの属性ですか?
Weightはシスコ独自の値で、ルーターの中だけで使われます。ほかのルーターには送られないため、BGPの標準の属性ではありません。
ローカルプリファレンスの初期値はいくつですか?
100です。値が大きいほど優先されます。
MEDは大きいほうと小さいほう、どちらが優先されますか?
小さいほうが優先されます。
