概要

マルチホーム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を利用します。

図 LOCAL_PREFの制御を行う例
図 LOCAL_PREFの制御を行う例

NW1宛てのパケットを転送するときにISP1を優先するようにするためには、ISP1から受信するBGPルートがベストパスになればOKです。LOCAL_PREFは、EBGPネイバーからBGPルートを受信するときに付加します。また、LOCAL_PREFは値が大きい方が優先されます。つまり、ISP1から受信するNW1のBGPルートのLOCAL_PREFの値を大きくします。そうすると、ISP1から受信するNW1のBGPルートがベストパスになります。その結果、NW1宛てのIPパケットはISP1を通じて転送されるようになります。

図 LOCAL_PREF

MEDでのベストパス選択の考え方

「ネットワークのおべんきょしませんか?」のいろんな記事で繰り返し繰り返し述べていますが、通信は双方向です。このことを忘れてはいけません。自ASからインターネット宛ての通信だけではなく、インターネットから自AS宛ての通信も考えます。

MEDは、隣のASから自AS内のネットワーク宛てのIPパケットの入り口を決めるために利用します。たとえば、以下の図で、AS1内のNW1宛てのIPパケットをISP1からルーティングされるようにMEDを利用します。

 図 MEDの制御を行う例
図 MEDの制御を行う例

このような制御をするために、R1でNW1のBGPルートをアドバタイズするときにMEDを付加します。MEDは通常EBGPネイバーへアドバタイズするBGPルートに付加します。また、MEDは値が小さい方が優先です。そのため、ISP1へアドバタイズするNW1のBGPルートのMEDを小さくします。

図 MED その1
図 MED その1

ISP1とISP2はIBGPネイバーであり、NW1のBGPルートはISP1からISP2へもアドバタイズされます。ISP2には、NW1のBGPルートをR1とISP1から受信します。MEDが小さいISP1から受信したBGPルートがベストパスになります。

図 MED その2
図 MED その2

つまり、ISP2にNW1宛てのIPパケットがやってくると、R1ではなくISP1へ転送します。

図 MED その3
図 MED その3

ただし、このようなMEDによる制御はいろんな制約があります。MEDによる制御の詳細は、あらためて別の記事で解説します。

まとめ

ポイント

  • マルチホームASにおいて、以下の2つの方向でのベストパスの選択を検討します。
    • 自ASからインターネット宛ての通信
    • インターネット(隣のAS)から自AS宛ての通信
  • ベストパスの選択のために、主に次のパスアトリビュートを利用します。
    • LOCAL_PREF : 自ASからインターネット宛ての通信
    • MED : インターネットから自AS宛ての通信

BGPの仕組み