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等の際に利用されます。

2014年10月19日日曜日

マルチキャスト 3.IGMPv1



◆IGMPとは
  
 IPマルチキャストを効率よく配送する為にマルチキャストグループを制御する為のプロトコルです。
 IGMPを利用する事によりどのホストがどのマルチキャストグループに属しているか把握する事が出来ます。
 バージョンv1,2,3はございます。

◆IGMPv1とは
 IGMPの1つ。特徴としてはマルチキャストルータが定期的にクエリを送信し、
 マルチキャスとメンバーが属しているが確認する必要がございます。

◆マルチキャストの基本動作
 (1)グループへの参加
  マルチキャストグループに参加したい場合は、マルチキャストグループアドレスに対して、
  レポート「IGMP Join メッセージ」を送信します。
  
 (2)グループの維持
  マルチキャストグループを維持し続けるためには、60秒毎にクエリを送信する必要があります。
  尚、マルチキャストグループ内の1メンバーのみクエリ応答するだけで良い仕様になっております。

 (3)グループ離脱
  (2)の応答がなければ、マルチキャストグループに属しているメンバーはないと判断し、
  グループから離脱する事が出来ます。
  ※離脱する際に、クエリ等を送信する必要はございません。

◆IGMPv1の問題点
 ・参加/離脱遅延
   マルチキャストグループへの参加をし、60秒以内にグループから離脱賭した場合に、
   離脱したマルチキャストホストへパケットを送ってしまう。

マルチキャスト 2.Dense ModeとSparse Mode

マルチキャスト 2.Dense ModeとSparse Mode

◆マルチキャスト概要
 マルチキャスとアドレスは、専用のアプリケーションを起動してないと受信する事が出来ません。
 従ってマルチポップルータに対して明示的にマルチキャストアドレスを受信したいと、
 要求する必要がございます。
 受信要求する為に利用されるプロトコルがIMGPです。

◆マルチキャストのルーティングプロトコル

 ・PIM-Dense Mode(デンスモード)

  全てのホストへ配信して、配布不要と通知(Pruningメッセージ)があった該当ホストへは3分間マルチキャストパケットを送信しない方式です。
  主にマルチキャストメンバーが集約されている場合に利用されます。
  
  ユニキャストルーテリングプロトコルに依存しない為、EIGRPのようなネットワーク下でも動作します。
  しかし、不要な帯域を使ってしまう点、3分毎にPruningメッセージが必要である点が問題点です。
  
   Router(config)# ip multicast-routing 
   Router(config)# int fa0/0 
   Router(config-router)# ip pim dense-mode  

 ・PIM-Sparse Mode(スパースモード)


  配信要求があったホストについてマルチキャストパケットを送信する方式です。

  マルチキャストメンバーが分散されていて、帯域幅に余裕がない時に利用されます。
  最初に空のディストリビューションツリーを作成し、配信要求及び脱退要求に応じて本ツリーを変更していきます。
  尚、ディストリビューションツリーの中心にはRP(ランデブーポイント)があり、配信要求等を処理します。

   Router(config)# ip multicast-routing 

   Router(config)# ip pim rp-address {配信元アドレス}
   Router(config)# int fa0/0 
   Router(config-router)# ip pim sparse-mode

マルチキャスト 1.マルチキャスト基礎



◆マルチキャスト

◆マルチキャストとは
マルチキャストとは、特定のネットワークに対して1つのデータを同時に送信する送信方式です。
マルチキャストはトラフィックを受信するグループ(マルチキャストグループ)のマルチキャストアドレスに対して1つのパケットを送信する為、
トラフィックを効率よく伝送する事が出来ます。
又、マルチキャストグループに属していないホストへは送信しない(IGMPスヌーピング)為、
不要な帯域消費を防ぐ事が出来ます。
 ※利用されているテクノロジー ストリーミング配信

◆マルチキャストの用語
 (1) マルチキャストグループ
   マルチキャストはトラフィックを受信するグループ

 (2) マルチキャストアドレス
   マルチキャストグループの宛先アドレス(クラスD 224.0.0.0 ~ 239.255.255.255)
    *マルチキャスト種類
     ・リンクローカルアドレス(224.0.0.0 ~ 224.0.0.255)
       ネットワークプロトコル用(ルートの伝達)で予約されている。
       224.0.0.2 サブネット内の全ルータ
       224.0.0.5 OSPF
       224.0.0.6 OSPF(指定ルータ)
       224.0.0.9 RIP
       224.0.0.12 DHCPリレーエージェント
       224.0.0.13 PIMルータ

     ・グローバルスコープアドレス(224.0.1.0 ~ 238.255.255.255)
       組織間及びインターネット経由でマルチキャスト配信可能であるアドレス
     
     ・SSMアドレス(232.0.0.0 ~ 232.255.255.255)
           1対多コミュニケーションにおける効率的なデータ配信用として予約されているアドレス
       PIMプロトコルの拡張機能

     ・GLOPアドレス(233.0.0.0 ~ 233.255.255.255)
           AS番号を保持している組織に対して静的定義するアドレス

     ・限定スコープアドレス(239.0.0.0 ~ 239.255.255.255)
           組織内(ローカル)限定で使用可能であるアドレス

 (3)マルチキャストルータ
   マルチキャストが有効になっているルータ


 (4)クエリア
   クエリを送信するルータ

 (5)ファーストポップルータ
   送信元に一番近いルータ

 (6)ラストポップルータ
   受信元に一番近いルータ