2016年6月21日火曜日

5.BGPアトリビュート(MED、Local Preference、Atomic Aggregate)

◆ BGPアトリビュート(MED、Local Preference、Atomic Aggregate)


* MED属性(タイプコード:4)


自身のASに複数の入口がある場合、
EBGPネイバーに対して、優先入口を示す事が出来る属性です。
その為、異なる隣接ASが実施するパス選択に対して影響を及ぼす事が出来るパス属性です。
又、MEDは隣接AS内部に対してのみ影響を及ぼす事が出来ます。
※隣接ASの次のASへ送信される事は出来ません。

MED値は低い値方が優先されます。
尚、MED値を設定しなかった場合、デフォルト値は「0」です。



* Local Preference属性(タイプコード:5)


自身のASに複数の入口がある場合、
優先したい出口のBGPルータを自AS内部に示す事が出来る属性です。
Local PreferenceはWell-known discretionaryとなっております。

Local Preference値はIBGPネイバーに対して送信され、高い方が優先されます。
尚、Local Preference値を設定しなかった場合、デフォルト値は「100」です。



* Atomic Aggregate属性(タイプコード:6)


ルート集約されている経路である事を示す属性です。

Atomic AggregateはWell-known discretionaryとなっております。

2016年6月15日水曜日

BGP 4.Well-known mandatory(Origin、AS-Path、Next-Hop)

◆ Well-known mandatory(Origin、AS-Path、Next-Hop)について


■ Origin属性(タイプコード:1)


Origin属性はルーティングアップデートの発信元を示している属性です。
本属性のステータスは3種類(IGP,EGP,incomplete)ございます。

・Origin属性のステータス

IGP(BGPテーブル上「i」と表示されます)
  自ASで経路を生成したルートの事。networkコマンドにて生成される。

 EGP(BGPテーブル上「e」と表示されます)
  他ASでEGPを利用し経路を学習したルートの事。

 incomplete(BGPテーブル上「?」と表示されます)
  IGPより経路を再配送されたルートの事。



■ AS-Path属性(タイプコード:2)


AS-Path属性は通過したAS番号一覧を示している属性です。
各BGPルータは自身のAS番号が一覧にあるアップデートを受信した場合、
無視する事によりルーティングループを防いでおります。



AS300#show ip bgp
BGP table version is 20, local router ID is 172.23.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.1/32       69.0.0.6                 0            32768   200 100 i


■ Next-Hop属性(タイプコード:3)


 ネクストポップルータのIPアドレスを示す属性です。
 尚、NextHopはEBGPで学習したルートの際はNextHopは変更されますが、
 IBGPで学習したルート場合は変更させません。
 ※変更する必要がある場合、NextHop-selfを有効にする必要があります。
 

<注意>IBGPの場合、NextHopへの到達性がない際、無効なルートと認識されます。

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ルートを優先する

2016年6月13日月曜日

BGP 2.BGPネイバーの確立〜BGPテーブルの作成

◆ BGPネイバーの確立〜BGPテーブルの作成


■ BGPパケット種類


BGPパケットの種類は以下の通りです。

Open
BGPネイバーを確立後、経路情報交換を開始する際に利用するパケット種別
Update
BGPの経路情報を交換する際に利用するパケット種別
Keepalive
BGPセッションを継続する為、送受信されるパケット種別
デフォルトでは60秒毎に送受信されます。
尚、KeepaliveパケットはOSPFやEIGRPのHelloパケットと同意です。
Nortification
BGPビアの切断の際に利用されるパケット種別
RouteRefresh
Updateパケットの再送要求時に利用されるパケット種別
RouteRefreshパケットはclear ip bgp * in等の際に利用されます。

■ BGPネイバーの確立


BGPはIGPと異なり、BGPネイバーの設定を手動で設定する必要がある。
ネイバーの確立順序は以下の通りです。

①TCP Three-Way Handshake(TCPセッション)確立

BGPはTCPを利用する為、まずはTCPセッションを確立する。


②Openメッセージ交換


お互いのルータでOPENメッセージを交換します。
このOPENメッセージには、ASの番号、ルータID等の情報が含まれています。

③Updateメッセージ交換

お互いのルータが持っている経路情報を交換し、BGPテーブル及びルーティングテーブルを作成する。


■BGPネイバーの確立後、生存確認及びトポロジ変更時野処理


①Keepaliveメッセージの交換

双方でKeepaliveメッセージを交換し合う事により、BGPネイバーの生存確認をする。

②トポロジ変更が発生した場合

差分情報のみを示したUpdateメッセージを交換する。


2016年6月12日日曜日

BGP 1.BGP基礎

◆BGPとは


ISP等の大規模ネットワーク上で経路交換及び制御を実現する為に使用される、
AS間におけるルーティングプロトコルです。
大規模ネットワークでは、組織・会社・団体毎にAS(Autonomous System)と呼ばれる単位で
管理されております。
BGPでは、各AS内のアドバタイズネットワークをAS単位に纏めて他ASへアドバタイズされます。

BGPの特徴は以下の通りです。

■特徴
・ポート番号は179/TCPを利用する。
・32ビットのAS番号を利用する。
・クラスレスルーティングプロトコル(CIDR及びVLSMサポート)
・パスベクタルーティングアルゴリズムを利用してルーティングを実施する。
・メトリックはパス属性に基づき経路選択を実施する。
・Administrative DistanceはEBGPが20、IBGPが200。
・ネイバー認証をサポート
・ネットワーク情報に変更が生じた際は、差分情報のみをアップデートする(トリガーアップデート)。


■BGP用語

IBGP

同じAS内部のルータ間で実行するBGPの事をIBGPと呼ぶ。
 同じAS内部のルータでは、IBGPを利用して、ピアを張ります。
 尚、dministrative Distance(AD)は200です。

EBGP

異なるAS内部のルータ間で実行するBGPの事をEBGPと呼ぶ。
 異なるAS内部のルータでは、IBGPを利用して、ピアを張ります。
 尚、dministrative Distance(AD)は20です。

BGPスピーカ

 BGPが動作しているルータの事。

BGPピア

BGPネイバールータの事。

※BGPには他にもたくさんの用語がございます。ここでは基本的な用語のみ掲載しております。

■BGPパケット種類

Open

 BGPネイバーを確立後、経路情報交換を開始する際に利用するパケット種別

Update

BGPの経路情報を交換する際に利用するパケット種別

Keepalive

BGPセッションを継続する為、送受信されるパケット種別
 デフォルトでは60秒毎に送受信されます。
 尚、KeepaliveパケットはOSPFやEIGRPのHelloパケットと同意です。

Nortification

BGPビアの切断の際に利用されるパケット種別

RouteRefresh

Updateパケットの再送要求時に利用されるパケット種別
 RouteRefreshパケットはclear ip bgp * in等の際に利用されます。