BGP WEIGHT

WEIGHT属性とは

BGPのWeight属性は、Ciscoルーターにおいてのみ使用されるローカル属性で、BGPルートの選択において最も優先される要素です。Weight値は他のBGPピアには伝播されず、そのルーター内でのみ使用されます。Weightが高いほど、そのルートが他のルートよりも優先され、選択されます。

BGPのWeight属性の特徴

  1. ローカル属性:
    • Weightは、BGPルーターの内部でのみ使用されます。他のBGPピアに対してこの属性は伝播されません。つまり、Weightの設定はそのルーターでのルート選択にのみ影響を与えます。
  2. 優先度の決定:
    • 複数のルートが同一のプレフィックスを指している場合、最も高いWeight値を持つルートが選択されます。Weightは、BGPのルート選択アルゴリズムの中で最も優先度が高いため、他の属性よりも先に評価されます。
  3. デフォルト値:
    • Ciscoルーターのデフォルトでは、Weightは以下のように設定されています:
      • 他のピアから受信したルート: Weight = 0
      • 自分自身が生成したルート(networkコマンドや再配布されたルート): Weight = 32768
  4. 値の範囲:
    • Weightは、0から65535の範囲で設定可能です。数値が大きいほど、BGPルート選択において優先されます。

BGP WEIGHTの設定

Weightは、特定のBGPピアから受信するルートに適用できます。また、ルートマップを使用して、特定の条件に基づいてWeightを設定することもできます。

ピアごとにWeightを設定

ネイバー接続に重みを割り当てます。許容される値は 0 ~ 65535 です。
Router(config-router)#neighbor {ip-address | peer-group-nameweight 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とのネイバー接続のルート情報に重みを割り当てて優先ルートにします。

Router4を経由する通信に重み100が割り当てられて優先ルートになりました。

ルートマップを使用した重みの割り当て

Router4とのネイバー接続のルート情報に重みを割り当てて優先ルートにします。

Router4を経由する通信に重み100が割り当てられて優先ルートになりました。