【CCNP ENARSI 勉強メモ】BGPまとめ

CCNP

 専門ネタばかりですいません。勉強のノートとして使わせてもらってます。

目次

【新CCNP勉強メモ】BGPまとめ

 BGPはインターネット上でNWを交換するためのプロトコルで、780,000を超えるIPv4ルートがある。

 プロトコルの概念

・IGP・・・RIP、OSPF、EIGRPなど

・EGP・・・BGP(IBGPとEBGPがある。)

AS

BGPはASというネットワークに分割される。AS番号はICANNによって管理されている。

とりあえず、全部で65,535あり、64,511までが、グローバルASと覚える。

ASはどのネットワークに接続されるかにより、下記の通り分類がある。

  • スタブAS・・・他のASと1つだけ接続されている。
  • トランジットAS・・・複数のASに接続されているAS
  • 非トランジットAS・・・複数のASに接続されているASだが、他のASからアドバタイズされた情報は隣接ASに渡さない。

BGPテーブルと使われるパケット

BGPで使われるテーブル

  • BGPネイバーテーブル・・・BGPピア(情報を交換する相手のルータ)
  • ルーティングテーブル
  • BGPテーブル・・・BGPピアからアドバタイズされた情報がすべてのっているテーブル。

テーブルを維持するための4つのパケット

  • OPEN・・・AS番号や認証などを交換。TCP確立してから最初に送られる。
  • UPDATE・・・経路情報をアドバタイズ
  • NOTIFICATION・・・デフォルト60秒、ホールドタイム180秒。エラー通知など
  • KEEPALIVE・・・生存確認

確立した状態は、Established

iBGPとeBGP

違うAS番号ではeBGP同じAS番号内はiBGPが使われる。

  • iBGP・・・iBGPで受信した経路情報は、同じAS内の他のiBGPピアにアドバタイズされない。これをスプリットホライズンという。BGPではパケットのTTLが255となるため、直接接続していないルータであってもiBGPピアとなれる。AD値は200
  • eBGP・・・・eBGPではBGPパケットのTTLが1であるため、ネイバー関係を確立するためにはルータ間で直接接続している関係がある。(直接接続でない場合はebgp-multihopコマンドでTTLを変更できる。)eBGPでアドバタイズされているルートはAD値が20となる。

R2はR4へ経路情報をアドバタイズしない。アドバタイズするためには、フルメッシュにする必要がある。

パス属性

  • ORIGIN well known mandatory
  • AS_PASS well known mandatory
  • NEXT HOP well known mandatory
  • Multi exit disc optional non-transitive
  • local pref well known discretionary
  • atomic aggregate well known discretionary
  • aggregator optional transitive
  • community optional transitive
  • originator ID optional non-transitive
  • cluster list optional non-transitive
  • weight シスコ独自

origin属性

origin属性は、値が小さいほど優先される。

AS-PATH属性

リップのディスタンスベクタみたいな感じ。経由しているルータが少ない方が、優先される。

NEXT_HOP属性

OSPFとかと異なり、次に向かうASのIPアドレスが、ネクストホップになる。

multi exit disc属性(MED)

MULTI_EXIT_DISC(MED)属性は外部のASとの接続口を複数持っているASで機能し、外部のASから自ASへ向かってくる通信を制御する。MED値を設定することで他のASに対して優先的に使用させたい経路を選択させることができる。MED値のデフォルト値は0、小さいほど優先される。

AS2からAS1に通信があるとき、MED値が小さいR3→R1の経路が優先される。

LOCAL PREF値

LOCAL_PREF属性は外部のASとの接続口を複数持っているASで機能し、自ASから外部へ送信される通信を制御する。またLOCAL_PREF属性はAS内部独自の属性でiBGPピア間でのみ交換される。デフォルトの値は100で値の大きい経路が優先されます。

R5は、Local Pref値が高いR4を最適経路と判断する。

Weight値


BGPに対してアドバタイズされる値ではなく、そのルータでのみ有効な属性。Weight値のデフォルトはローカルルータで生成したルートは「32768」で、BGPピアから受け取るルートは「0」。値が高いルートが優先される。

上記の場合は、Weight値が高いR4の経路が優先される。設定されているルーターでのみ機能する。

BGPの経路判断

BGPは、1つのルートしか経路情報に登録されない。その際の判断材料は以下の通り。

  • ①Weight属性の値の最も大きい経路
  • ②LOCAL_PREF属性が最も大きい経路
  • ③自身が発信したネットワークが優先
  • ④AS_PATH属性が最も短い経路
  • ⑤ORIGIN属性が最も小さいもの
  • ⑥MULTI_EXIT_DISC属性が最も小さいもの
  • ⑦BGPで学習した経路の方がiBGPで学習したものよりも優先
  • ⑧ネクストホップに対して最小のIGPのメトリックを持つもの
  • ⑨先に登録されていたルート
  • ⑩ルータIDが最小のルート

BGPのコンフィグ

(config)#router bgp as番号

(config-router)#neighbor ピアのIPアドレス remote-as ピアのAS番号

(config-router)#network IPアドレス mask サブネットマスク

→EIGRPやOSPFのように動的にネイバーを検出しないので、neighborコマンドで明示的に設定する。remote asの設定は、iBGPでも同じAS番号を入力する。

確認コマンド

#sh ip bgp neighbors

①:自身のBGPルータIDとAS番号を確認できる。

②:ネットワークのエントリ数と使用メモリを確認できる。

③:ピア(ネイバー)のBGPのバージョン、AS番号などが確認できる。右側のStateがIdleやActive状態だと設定を見直す必要がある。

#sh ip bgp

上は自身が作成した経路情報

下は、ピアからアドバタイズされた情報

*は経路が有効であることを示す。>は最適経路であることを示す。

#sh ip route

その他補足

 ①ルータ間通信

上の図で、R2とR4がBGPピアになれるのは、TCPでネイバーが確立されているから。途中のR3のルートの問題などで相手に通信が到達していないと、当然ピアになれない。

②#sh bgp ipv4 unicast x.x.x.x

③アドレスの集約

(config-router)#aggregate-address x.x.x.x x.x.x.x summary-only

コメント

タイトルとURLをコピーしました