Border Gateway Protocol (BGP)

NOTE

Peering

bgp router-id

  • ルータID を明示的に設定する

neighbor remote-as

  • Peeingする対向ASを指定
  • 自ASと異なるAS番号か同じAS番号かでeBGP, iBGP
  • AS番号は2byte,4byteいずれも対応 (1-4294967295)
  • dot表記も対応
    – bgp asnotation dot

neighbor update-source

  • sourceを任意のIFにする
  • たいていはiBGP 接続の時にLoopback IF を指定する

neighbor ebgp-multihop

  • eBGP接続する際に直接接続以外の相手とピアを張る際に使う
  • eBGPは直接接続が想定なのでTTL 1で出ていく

neighbor password

  • MD5認証
  • NG Message
    – no md5        相手が認証設定自体をしていない
    – invalid md5  認証設定はあるがPWが一致していない
  • PW変更してもすぐにはピア断にはならない、ホールドダウン内に相手も変更されればOK

neighbor next-hop-self

  • ネイバーに渡す際にNextHopを自身に書き換える
  • iBGP接続の際に利用、eBGPは使わなくても自動で書き換える
  • route-map を使い、その中でNextHopを書き換えて送る方法もある
    – [参考] BGP set ip next-hop peer-address

neighbor next-hop-unchanged

  • next-hop-selfの逆でNextHopは書き換えない
  • eBGPとのマルチホップ接続の時に使う

neighbor peer-group (creating)

neighbor peer-group (assigning members)

  • 同じポリシーを適用する複数のpeerをまとめて設定できる

bgp listen

  • 動的にpeerを張ることができる
  • neighbor コマンドで静的にアドレスの設定は不要
    – 対象となるレンジで指定して、その範囲からセッションがきた場合に生成
    – peer-groupに参加させることで、ポリシーはpeer-groupにおこなう
  • [参考] BGP Dynamic Neighbor (bgp listen)

neighbor disable-connected-check

neighbor ttl-security

 

Large Scale Design

neighbor route-reflector-client

  • Route Reflector 側で設定

bgp cluster-id

  • クラスタ内に複数のRRを持つ時にループ防止として設定する
  • 設定しない時はルータIDが使われる

bgp client-to-client reflection

  • デフォルトで設定されている
  • no で消すと反射しなくなる

bgp confederation identifier

  • BGPルータ全てに設定する
  • 親ASのAS番号

bgp confederation peers

 

Best Path Selection Algorithm

 

Advertising Prefixes

network (BGP and multiprotocol BGP)

  • network ~ mask

network X.X.X.X mask Y.Y.Y.Y backdoor

  • AS間でIGPを使う場合、eBGPのAD値を落とさないとIGPが勝てない
  • eBGPでデフォルトルートをもらいながら、IGP側から広報されるデフォルトルートを優先させる時にもnetwork 0.0.0.0 mask 0.0.0.0 backdoorでAD200に落とすことでIGPを優先させる。

redistribute (IP)

  • IGPを再配送
  • OSPFの場合はエリア内とエリア間
    – 外部経路を渡す時はmatch ~
  • BGPをIGPに再配送する時はeBPG経路のみ渡す、iBGP経由で学習した経路は渡さない
    – 再配送したい時は bgp redistribute-internal を使う
    – ループのリスクが高まるので必要な経路のみなるようにフィルタ利用推奨

aggregate-address

  • 集約経路を生成する
  • オプションが豊富でこれを使いこなせる必要がある
  • [参考] BGP aggregate-address

inject-map

 

Control Prefixes

 

neighbor soft-reconfiguration

 

Control AS

neighbor local-as

neighbor remove-private-as

  • [AS65000]—[AS100]—[AS200]—[AS300]
  • グローバルとプライベートの混在している場合、その中のプライベートだけを削除することはできない
  • 混在のままプライベートが広報される
  • AS200でAS300に対して設定すると、AS300にはAS65000が流れる

allowas-in

  • 自分と同じAS番号を持つPrefixを受け入れる

 

as-override

 

Default Routing

default-information originate

neighbor default-originate

  • グローバルかピア単位か

 

Aggregating Prefixes

aggregate-address

  • 集約経路を生成する
  • オプションが豊富でこれを使いこなせる必要がある
  • [参考] BGP aggregate-address

auto-summary (BGP)

  • 自動で集約してくれるコマンドではない
  • [参考] BGP auto-summary

 

Filtering Prefixes

neighbor filter-list

  • ip as-path access-list と正規表現を使ってAS単位で制御

neighbor distribute-list

  • Prefix 単位、使えるのはACLのみ

neighbor prefix-list

  • Prefix 単位、使えるのはprefix-list のみ

neighbor route-map with ACL/prefix-list

  • route-map 内では ACL/prefix-listどちらも可

neighbor capability orf prefix-list

bgp maxas-limit

  • 指定した数字を超えるAS-PATH 長の経路は破棄される。bgp maxas-limit 5 の場合は、5はOK、6以上は破棄。

neighbor maximum-prefix

  • neighborから受け取れる最大prefix
  • ○ greater than
    × greater than or equal to

 

Load Balance

bgp dmzlink-bw

neighbor dmzlink-bw

maximum-paths

maximum-paths ibgp

maximum-paths eibgp

 

Timer

 

BGP Commands
timers bgp

  • キープアライブとホールド

neighbor advertisement-interval

  • アップデートを受け取ってから、ネイバーに渡す際のインターバル
  • デフォルトではすぐに渡すようなことはしない
R1(config-router)#neighbor X.X.X.X advertisement-interval XX

R1#show ip bgp nei | inc runs
  Default minimum time between advertisement runs is 0 seconds
  Default minimum time between advertisement runs is 30 seconds

R1#show ip bgp nei | inc advertisement
  Default minimum time between advertisement runs is 0 seconds
  Default minimum time between advertisement runs is 30 seconds

 

  • デフォルトに変更を加えると
R1#show ip bgp nei | inc advertisement
  Default minimum time between advertisement runs is 0 seconds
  Minimum time between advertisement runs is 60 seconds
  Default minimum time between advertisement runs is 30 seconds
  Minimum time between advertisement runs is 60 seconds
R1#

 

Others

bgp fast-external-fallover

  • デフォルト有効
  • リンクが落ちると即ピア断になる。無効化(no)すると、リンク断してもhold timeがくるまでピアは落ちない
  • これはイーサのようなmultiple accessでは使えない
  • その進化版が neighbor ~ fall-over
  • 接続形態(P-to-P、Multiple Access)に関係なくできる
  • iBGP、eBGPにかかわらず適用できる
  • iBGPの場合はIGP到達性が切れると即座にピアが落ちる

BGP over GRE

正規表現

  • ラボでそこまで必須かと言われると微妙

synchronization

neighbor transport

bgp dampening

BGP Next Hop Tracking

  • bgp nexthop
  • bgp scan-time
    – デフォルト60秒
    – BGP経路の有効性を確認するためにnext-hop へのIGP到達性を●秒毎に確認する。その間にIGP変更があっても気づけない。

bgp nexthop trigger enable

  • 12.3(14)Tから変更になった。これまでは●秒毎に定期的な確認だったが、イベントドリブンになった。
  • IGPに変更が発生するとIGPハンドラに登録されたbgp nexthopが起動して、bgpプロセスにnexthop到達性をチェックさせる。

bgp nexthop trigger delay ● (秒)

  • イベントドリブンの実行を遅らせる

BGP Prefix Independent Convergence (PIC)

  • 予めRIBに代替パスを持っておく
  • IPv4かVPNv4で利用可能(IPv4の場合はAFモードのみ)
  • bgp additional-path install

 

REFERENCE

 

コメント