GLBP その2

GLBPの仕組み

GLBPのパケットはUDPポート3222でカプセル化されています。また、GLBPパケットの送信先IPアドレスは、224.0.0.102のマルチキャストアドレスです。GLBPでは、ルータの役割としてAVG(Active Virtual Gateway)とAVF(Active Virtual Forwarder)があります。

  • AVG
    GLBPグループ全体を管理するルータです。AVGはAVFへの仮想MACアドレスを割り当てます。そして、仮想IPアドレスに対するARPリクエストに応答します。
    応答するMACアドレスはAVGが選択したAVFの仮想MACアドレスです。
  • AVF
    AVGも含めてGLBPグループのルータはAVFとなります。すべてのAVFは仮想IPアドレスを共有していますが、仮想MACアドレスはそれぞれ個別のMACアドレスです。自身に割り当てられている仮想MACアドレスのイーサネットフレームを受信して、パケットをルーティングします。

AVGは最もプライオリティが高いルータです。GLBPを有効にするとGLBP Helloメッセージを交換して、グループ内のルータで仮想ルータの仮想IPアドレスを共有しAVGを決定します。そして、AVGがAVFに対して仮想MACアドレスを割り当てます。
以下の図では、R1、R2 Fa0/0でGLBPを有効化しています。GLBP Helloメッセージを交換して、仮想ルータのIPアドレスを共有し、プライオリティが高いR1がAVGになります。そして、AVGが自身も含めた各AVFへ仮想MACアドレスを割り当てている様子です。R1にはAVF1として00-07-b4-00-01-01、R2にはAVF2として00-07-b4-00-01-02という仮想MACアドレスが割り当てられています。

glbp03.png
図 GLBPの仕組み その1

PCのデフォルトゲートウェイには仮想ルータのIPアドレスを指定します。PCが他のネットワーク宛てに通信をするときには、デフォルトゲートウェイである仮想ルータのIPアドレスに対するMACアドレスを解決するためARPリクエストを送信します。これに応答するのがAVGです。AVGは、負荷分散アルゴリズムにしたがってAVFの仮想MACアドレスを返します。GLBPの負荷分散アルゴリズムは以下の3つあります。

  • host-dependent
    同じホスト(同じ送信元MACアドレス)に対しては同じ仮想MACアドレスを返すようにします。
  • round-robin
    ホストのARPリクエストに対して、AVFの仮想MACアドレスを順番に返します。デフォルトの負荷分散アルゴリズムです。
  • weighted
    AVFに設定しているWeight値に基づいてAVFの仮想MACアドレスを返します。

GLBPの動作

round-robin負荷分散アルゴリズムを想定して、具体的な例を考えます。図のPC1が他のネットワーク宛てにパケットを送信するために、デフォルトゲートウェイの192.168.1.5に対するARPリクエストを実行したとします。AVGがARPリクエストに応答して、AVF1(R1)に割り当てられた仮想MACアドレス00-07-b4-00-01-01を返します。PC1はイーサネットフレームの宛先MACアドレスに解決したMACアドレス00-07-b4-00-01-01を指定して、他のネットワーク宛てのパケットを送
信します。このパケットは、R1へと転送されてR1がルーティングします。

glbp04.png
図 GLBPの仕組み その2

続いて、図のPC2が他のネットワーク宛てにパケットを送信するために、デフォルトゲートウェイの192.168.1.5に対するARPリクエストを実行したとします。AVGがARPリクエストに応答します。このとき、round-robinなのでAVFの仮想MACアドレスを順番に返します。今度はAVF2(R2)の仮想MACアドレス00-07-b4-00-01-02を返します。PC2はイーサネットフレームの宛先MACアドレスに解決したMACアドレス00-07-b4-00-01-02を指定して、他のネットワーク宛てのパケットを送信します。このパケットはR1へと転送されたR2がルーティングします。
このようにAVGが仮想IPアドレスに対するARPリクエストについて、AVFの仮想MACアドレスを返すことで負荷分散を実現しています。

glbp05.png
図 GLBPの仕組み その3

AVGであるR1がダウンすると、R2が新しいAVGになります。また、AVF1の仮想MACアドレス00-07-b4-01-01もR2が引き継ぎます。デフォルトゲートウェイのIPアドレスに対してAVF1の仮想MACアドレスを解決したPC1は、R1がダウンしても継続して他のネットワーク宛ての通信が可能です。

glbp06.png
図 GLBPの仕組み その4

また、R2がダウンした場合は、R1がAVF2の仮想MACアドレス00-07-b4-01-02を引継ぎます。デフォルトゲートウェイのIPアドレスに対してAVF2の仮想MACアドレスを解決したPC2は、R2がダウンしても継続して他のネットワーク宛ての通信が可能です。

glbp07.png
図 GLBPの仕組み その5