◆ BGPの同期原則
トランジットASでIBGPフルメッシュを構成しない場合、以下のような問題点が発生する場合があります。
下図では、AS1から「1.0.0.0/8」のBGPアップデートを送信しています。R2とR4とではIBGPピアを形成
しています。その結果、R4は「1.0.0.0/8」を受信して、R5へ「1.0.0.0/8」をアドバタイズするとします。

R2が「1.0.0.0/8」をIGPに再配布しておらず、R3が「1.0.0.0/8」のルート情報を知らないと仮定します。
AS2のR5から「1.0.0.0/8」宛てにトラフィックを送信すると「R5→R4→R3」とパケットが到達しますが、
R3は「1.0.0.0/8」のルート情報を知らない結果、R3で「1.0.0.0/8」宛のパケットを破棄してしまいます。
以上の内容が、同期原則が無効(no synchronization)の動作です。
一方、同期原則が有効(synchronization)の動作では下図のようになります。

同期(synchronization)規定では、ASが他のASから第3のトラフィックを送信している場合は、AS内の
全てのルータがIGPを介してルートを学習するまでは、BGPルータはルートをアドバタイズしてはならない
と定義されています。これにより、BGPルートをアドバタイズしたにも関わらず、そのAS内でパケットが
破棄されることを回避します。最後にIGPで1.0.0.0/8を再配布して通知させた時の動作を見てみましょう。

◆ BGPの同期原則 - 同期を無効化(no synchronization)して良い場合
以下の 1 または 2 の条件に合致する場合、BGPの同期は無効化(no synchronization)に設定できます。
1. 非トランジットASの場合( 別のASからのトラフィックが特定のASを通過しない構成 )
2. AS内の全てのルートでBGPが動作しており、IBGPピアのフルメッシュが確立している場合
つまり、BGP同期を有効化しなければいけないケースなんてほぼないのです。また、同期を無効化することで
IGPで伝達されるルートが減り、IBGPルートをIGPでチェックしないのでBGPのコンバージ速度が向上します。
そのため、現在のIOSではBGP同期設定は無効化(no synchronization)がデフォルトの設定となっています。
先ほどの構成図でも、下図のようにIBGPフルメッシュ構成であれば、IGPルートを伝播させる必要はないです。

◆ BGP - synchronizationの無効化(デフォルトの状態)
Cisco(config)# router bgp 1
Cisco(config-router)#no synchronization
|
◆ BGP - synchronizationの有効化(設定変更した状態)
Cisco(config)# router bgp 1
Cisco(config-router)#synchronization
|
|