WEIGHT属性とは
BGPのWeight属性は、Ciscoルーターにおいてのみ使用されるローカル属性で、BGPルートの選択において最も優先される要素です。Weight値は他のBGPピアには伝播されず、そのルーター内でのみ使用されます。Weightが高いほど、そのルートが他のルートよりも優先され、選択されます。
BGPのWeight属性の特徴
- ローカル属性:
- Weightは、BGPルーターの内部でのみ使用されます。他のBGPピアに対してこの属性は伝播されません。つまり、Weightの設定はそのルーターでのルート選択にのみ影響を与えます。
- 優先度の決定:
- 複数のルートが同一のプレフィックスを指している場合、最も高いWeight値を持つルートが選択されます。Weightは、BGPのルート選択アルゴリズムの中で最も優先度が高いため、他の属性よりも先に評価されます。
- デフォルト値:
- Ciscoルーターのデフォルトでは、Weightは以下のように設定されています:
- 他のピアから受信したルート: Weight = 0
- 自分自身が生成したルート(
networkコマンドや再配布されたルート): Weight = 32768
- Ciscoルーターのデフォルトでは、Weightは以下のように設定されています:
- 値の範囲:
- Weightは、0から65535の範囲で設定可能です。数値が大きいほど、BGPルート選択において優先されます。
BGP WEIGHTの設定
Weightは、特定のBGPピアから受信するルートに適用できます。また、ルートマップを使用して、特定の条件に基づいてWeightを設定することもできます。
ピアごとにWeightを設定
ネイバー接続に重みを割り当てます。許容される値は 0 ~ 65535 です。
Router(config-router)#neighbor {ip-address | peer-group-name} weight weight
別の BGP ピアから学習されたルートのデフォルトの重みは 0 です。ローカル ルータから送信されたルートのデフォルトの重みは 32768 です。
ルートマップを使ったWeightの設定
ルートマップを使用して、特定の条件に一致するルートに対してWeightを設定することができます。
Router(config)#route-map route-map-name permit number
Router(config-route-map)#match ip address {access-list-number | access-list-name | prefix-list prefix-list-name }
Router(config-route-map)#set weight weight
設定例

ネイバーへの直接重み割り当て
Router4とのネイバー接続のルート情報に重みを割り当てて優先ルートにします。
Router1(config)#router bgp 65001
Router1(config-router)#neighbor 192.168.14.4 weight 100
Router4を経由する通信に重み100が割り当てられて優先ルートになりました。


ルートマップを使用した重みの割り当て
Router4とのネイバー接続のルート情報に重みを割り当てて優先ルートにします。
Router1(config)#route-map SET_WEIGHT permit 10
Router1(config-route-map)#set weight 100
Router1(config-route-map)#exit
Router1(config)#router bgp 65001
Router1(config-router)#neighbor 192.168.14.4 route-map SET_WEIGHT in
Router4を経由する通信に重み100が割り当てられて優先ルートになりました。

