目次
概要
マルチホームASでインターネット接続を冗長化したときに、ベストパスの選択を制御してパケットの転送を制御します。マルチホームASでのベストパス選択のポイントについて解説します。
関連記事
マルチホームASでのベストパス選択
マルチホームASでインターネット接続を冗長化した場合、実際にパケットをどのようにルーティングするかを考えないといけません。つまり、自ASからインターネットにパケットを転送するときにどのISPを利用するかを考えます。また、インターネットから自ASへパケットが転送されてくるときにどのISP経由させるかを考えます。パケットの転送は、結局は最適ルート(ベストパス)の選択によって決まります。
BGPのルート情報にはさまざまなパスアトリビュートが付加されています。パスアトリビュートを利用して、インターネット側に出て行くパケットをルーティングするためのベストパス、インターネット側から転送されるルートのベストパスの選択を行います。
マルチホームASでのベストパスの選択に利用するパスアトリビュートは主に次の2つです。
- LOCAL_PREF
- MED(MULTI_EXIT_DISC)
LOCAL_PREFは、自ASからインターネットへパケットを転送するときの出口を決めたいときに利用します。MEDはインターネットから自ASへパケットが転送されてくるときの入り口を決めたいときに利用します。
MEDを利用するのは、正確には、隣のASから自AS宛てへパケットが転送されてくるときの入り口を決めます。
LOCAL_PREFでのベストパス選択の考え方
自ASからインターネット上のネットワークへパケットをルーティングするときのベストパスを制御するためにLOCAL_PREFを利用します。たとえば、以下の図でAS1のR1からインターネット上のNW1へパケットをルーティングするときにISP1を優先するためにLOCAL_PREFを利用します。
NW1宛てのパケットを転送するときにISP1を優先するようにするためには、ISP1から受信するBGPルートがベストパスになればOKです。LOCAL_PREFは、EBGPネイバーからBGPルートを受信するときに付加します。また、LOCAL_PREFは値が大きい方が優先されます。つまり、ISP1から受信するNW1のBGPルートのLOCAL_PREFの値を大きくします。そうすると、ISP1から受信するNW1のBGPルートがベストパスになります。その結果、NW1宛てのIPパケットはISP1を通じて転送されるようになります。
MEDでのベストパス選択の考え方
「ネットワークのおべんきょしませんか?」のいろんな記事で繰り返し繰り返し述べていますが、通信は双方向です。このことを忘れてはいけません。自ASからインターネット宛ての通信だけではなく、インターネットから自AS宛ての通信も考えます。
MEDは、隣のASから自AS内のネットワーク宛てのIPパケットの入り口を決めるために利用します。たとえば、以下の図で、AS1内のNW1宛てのIPパケットをISP1からルーティングされるようにMEDを利用します。
このような制御をするために、R1でNW1のBGPルートをアドバタイズするときにMEDを付加します。MEDは通常EBGPネイバーへアドバタイズするBGPルートに付加します。また、MEDは値が小さい方が優先です。そのため、ISP1へアドバタイズするNW1のBGPルートのMEDを小さくします。
ISP1とISP2はIBGPネイバーであり、NW1のBGPルートはISP1からISP2へもアドバタイズされます。ISP2には、NW1のBGPルートをR1とISP1から受信します。MEDが小さいISP1から受信したBGPルートがベストパスになります。
つまり、ISP2にNW1宛てのIPパケットがやってくると、R1ではなくISP1へ転送します。
ただし、このようなMEDによる制御はいろんな制約があります。MEDによる制御の詳細は、あらためて別の記事で解説します。
まとめ
ポイント
- マルチホームASにおいて、以下の2つの方向でのベストパスの選択を検討します。
- 自ASからインターネット宛ての通信
- インターネット(隣のAS)から自AS宛ての通信
- ベストパスの選択のために、主に次のパスアトリビュートを利用します。
- LOCAL_PREF : 自ASからインターネット宛ての通信
- MED : インターネットから自AS宛ての通信
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プレフィックスの交換