目次
概要
networkコマンドで、ルーティングテーブル上の既知のネットワークアドレスをBGPルートとして生成できます。networkコマンドによって、BGPの集約ルートを生成することについて解説します。
関連記事
BGPルート集約の2つの方法
BGPでは8ビット単位のクラス境界だけでなく、任意の境界での手動集約も可能です。集約は基本的には手動集約を行います。CiscoルータでBGPのルート集約を行うには、次の方法があります。
- networkコマンド
- aggregate-addressコマンド
基本的にはaggregate-addressコマンドで集約を行います。一応、networkコマンドでの集約の設定についても紹介します。
関連記事
networkコマンドによる集約
networkコマンドは、BGPルートを生成するためのコマンドです。networkコマンドでBGPルートを生成するためには、ルーティングテーブル上に完全一致するルート情報が必要です。完全に一致しなくてはいけないのがポイントです。たとえば、ルーティングテーブルに次のようなルート情報があるとします。
- 192.168.0.0/24
- 192.168.1.0/24
- 192.168.2.0/24
- 192.168.3.0/24
この4つのルートを集約した192.168.0.0/22のルート情報を生成しようとして、以下のようにnetworkコマンドを設定します。
router bgp <AS> network 192.168.0.0 mask 255.255.252.0
ただ、この設定で集約ルートは生成されません。ルーティングテーブルには、networkコマンドで指定した192.168.0.0/22というルート情報が存在していないからです。networkコマンドが機能するように、ルーティングテーブル上に一致するルート情報を登録すればいいという考え方が、networkコマンドを利用した集約ルートの設定です。
次のようにnull0を出力インタフェースにするスタティックルートを追加で設定すれば、networkコマンドが機能するようになります。
ip route 192.168.0.0 255.255.252.0 null0
null0を出力インタフェースとしているのは、集約ルートの範囲に含まれているが実際には存在しないネットワーク宛てのパケットのループを防止するためです。
networkコマンドによる集約の設定の問題点
このようにnetworkコマンドでも集約ルートの設定はできるのですが、問題点があります。
- 常に集約ルートをアドバタイズする
- 集約ルートのアトリビュートを柔軟に設定できない
null0を出力インタフェースとするスタティックルートは常にルーティングテーブルに存在します。そのため、たとえ集約前のネットワークがすべてダウンしていたとしても、networkコマンドが常に有効になりネイバーに集約ルートがアドバタイズされることになります。その結果、ダウンしているネットワークへのパケットがルーティングされ、ネットワークリソースが無駄になってしまう可能性があります。
また、networkコマンドで集約ルートを生成しているので、アトリビュートも普通にnetworkコマンドで生成したルートと同じ、柔軟な設定ができません。
一方、aggregate-addressコマンドで集約ルートを生成すれば、集約前ルートがすべてダウンしてしまうと集約ルートのアドバタイズを止めます。また、コマンドのオプションの設定によって、集約前ルートに付加されているアトリビュートを集約ルートに継承することもできます。
まとめ
ポイント
- BGPルートを生成するためのnetworkコマンドで集約ルートを生成することもできます。
- networkコマンドで集約ルートを生成するためには、Null0を出力インタフェースとする集約ルートのスタティックルートを設定したうえで、networkコマンドを利用します。
BGPの仕組み
- BGPの概要 ~AS間でルート情報を交換~
- BGPの動作
- BGPの基本設定と確認コマンド
- BGPピアグループ(Peer Group) ~ネイバーの設定をまとめよう~
- BGPネイバーの状態
- BGPコンフェデレーションの設定
- BGPコンフェデレーションの設定例
- BGPネイバー認証
- BGP Well Known Mandatory アトリビュート -ORIGIN/AS_PATH/NEXT_HOP-
- 図解!BGPベストパス選択アルゴリズム
- BGP 基本的な設定についての演習[Cisco]
- BGPの基本的な設定についての演習 ~トラブルシュート~
- BGP KEEPALIVEタイマ/ホールドタイムの設定
- BGPルート 最小送信間隔の設定
- BGPルートダンプニング
- マルチホーム – インターネット接続の冗長化 –
- マルチホームAS BGPルートフィルタのポイント
- マルチホームAS ベストパス選択のポイント
- マルチホームAS IGPとBGPの連携のポイント
- マルチホームAS BGPの設定例
- IP-VPNでのBGPの利用 設定例
- BGPルートフィルタの種類
- BGPルートフィルタ -ディストリビュートリスト-
- BGPルートフィルタ -ディストリビュートリスト設定例-
- BGPルートフィルタ -プレフィクスリスト-
- BGPルートフィルタ -プレフィクスリスト設定例-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)設定例-
- BGPルートフィルタ -ルートマップ(route-map)-
- BGPルートフィルタ -ルートマップ(route-map)設定例-
- BGP neighbor allowas-inコマンド
- BGP neighbor as-overrideコマンド
- BGPルート RIB Failure
- BGPルート アドミニストレイティブディスタンスの制御
- BGPルートの負荷分散
- BGPルート 条件付き生成
- BGPルート 条件付きアドバタイズ
- BGP ルート集約 自動集約
- BGPルート集約 networkコマンドによる集約
- BGPルート集約 networkコマンドによる集約 設定例
- BGP ルート集約 aggregate-addressコマンドによる集約
- aggregate-addressコマンドのオプション summary-only
- aggregate-addressコマンドのオプション attribute-map
- aggregate-addressコマンドのオプション as-set
- aggregate-addressコマンドのオプション advertise-map
- aggregate-addressコマンド as-set/attribute-map/advertise-map 設定例
- BGP選択型集約の概要
- BGP選択型集約 suppress-map
- BGP選択型集約 unsuppress-map
- BGP 選択型集約 suppress-map/unsuppress-map 設定例
- BGP local-as ~ネイバーに他のASのように見せる~
- BGP neighbor remove-private-ASコマンド
- bgp fast external-fallover
- BGP プレフィクス数の制限
- BGP COMMUNITYアトリビュートの使い方
- BGP Well-known COMMUNITYのルートフィルタ設定例
- BGP プライベートCOMMUNITYによるルート制御の設定例
- [演習]BGP応用 Part1:BGP基本設定
- [演習]BGP応用 Part2:ルート集約
- [演習]BGP応用 Part3:ポリシーベースルーティング
- [演習]BGP応用 Part4:トラブルシューティング
- BGP 設定ミスの切り分けと修正 Part1
- BGP 設定ミスの切り分けと修正 Part2
- BGP 設定ミスの切り分けと修正 Part3
- BGP 設定ミスの切り分けと修正 Part4
- BGP 設定ミスの切り分けと修正 Part5
- BGP 設定ミスの切り分けと修正 Part6
- BGP 設定ミスの切り分けと修正 Part7
- IPv6 BGPの設定例 Part1
- IPv6 BGPの設定例 Part2
- 2021年10月4日 Facebookに何が起こったか?
- IPv4 BGPネイバーでのIPv6プレフィックスの交換