【old】BGP synchronization

※noteから引っ越してきた記事

経路はないけど学習する

iosv-3のlo0: 30.30.30.30/32はiosv-3のBGPプロセスのnetworkコマンドによって広告されている。
30.30.30.30/32はiosv-0へ広告され、その後iBGPピアのiosv-2へ、そしてiosv-4へと伝わっていく。
この時、iosv-0でBGP経路をIGP(今回はOSPF)への再配送を行っていないため、BGPプロセスを起動していないiosv-1では30.30.30.30/32の経路を学習しない。(下記)

結果として、iosv-4は30.30.30.30/32を知っているのに到達できないことになる。(下記)

synchronization

synchronizationを有効化すると、経路が確立しているルートのみeBGPに広告するようになる。

30.30.30.30/32は(iosv-0の他の経路もそうだけど)BGPテーブルには載っているが、ルーティングテーブルには記載がない。
そのため、bgp synchronizationの機能によりiosv-4へ30.30.30.30/32が広告されない。

iosv-2とピアリングしているが、経路は一切受け取っていないことがわかる。

IGPに再配送して経路を確保する

iosv-0でBGPで受け取った30.30.30.30/32をOSPFへ再配送すると、iosv-1,2でも30.30.30.30/32を学習し、その結果iosv-4も30(ryの経路をルーティングテーブルに載せる。

参考

BGP – synchronization / no synchronization