2016年6月14日火曜日

BGP 3.BGPアトリビュートとベストルートの選択基準

◆BGPアトリビュートとベストルートの選択基準


■BGPアトリビュート(パス属性)について

BGPではルート情報をコントロール及び管理する為に、
 Updateパケットに対してBGPのアトリビュートを付与する事が出来ます。
 
 BGPアトリビュートは以下の通りです。

 【BGPアトリビュート
Cisco独自アトリビュート
Well-knownアトリビュート :BGP全ルータでサポート有
  →Well-known mandatory :全Updateパケットに必須情報
  →Well-known discretionary :Updateパケットに含むか任意の情報


Optionalアトリビュート(サポートの有無についてはBGPルータに依存)
 →Optional transitive :自ルータがサポートしていない場合も、他のBGPルータへ伝達必須
 →Optional non-transitive :自ルータがサポートしていない場合、本アトリビュートを削除


* Cisco独自アトリビュート

Weight
   内部ASのBGPルータに対して、優先パスを示す属性

* Well-known mandatory

BGP全ルータでサポートしておりかつ、全Updateパケットに必須なアトリビュート
 ※各アトリビュート値の詳細については、次章以降で解説します。

 Origin(タイプコード:1)
   経路情報の発生元を示している属性
 AS-Path(タイプコード:2)
   経由したASを示している属性
 Next Hop(タイプコード:3)
   BGPのNext Hopルータを示している属性

* Well-known discretionary

BGP全ルータでサポートしておりかつ、
 Updateパケットに含むか否かについては任意のアトリビュート

 Local-Preference(タイプコード:5)
  内部ASのBGPルータに対して、優先パスを示す属性
 Atomic Aggregate(タイプコード:6)
  ルート集約されていて一部ルート情報が欠落されている事を示す属性

* Optional transitive

サポートの有無についてはBGPルータに依存かつ、
 自ルータがサポートしていない場合も他のBGPルータへ伝達が必須のアトリビュート

 Aggregator(タイプコード:7)
  集約経路を生成したAS番号やBGPルータのルータIDを示す属性
 Community(タイプコード:8)
  ルート情報に対して目印「タグ」付けを実施し、タグに基づいてルート制御を実施する属性

* Optional non-transitive

サポートの有無についてはBGPルータに依存かつ、
 自ルータがサポートしていない場合、以下のアトリビュートを削除して他のBGPルータへ伝送する

 MED(タイプコード:4)
  他のASに対して、自ASへの優先パスを示す属性

■ BGPアトリビュートの優先順位

BGPで学んだ経路情報において、最適な経路のみルーティングテーブルに反映されます。
尚、BGPのベストルートの選択基準は以下の通りです。

*ベストルートの選択基準

「前提」
 AS-Pathに自分のAS番号が含まれるルート「破棄」
 Next-HopのIPアドレスへの到達性がないルート「無効」
「選択基準」
 ※以下の数値は優先後です。 例>①優先度「高」⇔⑦優先度「低」
①Weight値を比較して最大値のルートを優先する
②Local Preference値を比較して最大値のルートを優先する
③ローカルルータから生成されたルートを優先する。
④AS-Path長を比較して最短のルートを優先する。
⑤Originコードを比較して最小のルート(IGP < EGP < incomplete)を優先する
⑥MED値を比較して最小値のルートを優先する
⑦IBGPルートよりもEBGPルートを優先する