ルートリフレクタ

読み:るーとりふれくた / 英語表記:route reflector

同じAS内のiBGPで学習した経路を、ほかの内部ピアへ反射して再広告する役割を持つBGPスピーカである。経路情報の配布を集約し、通常必要になるフルメッシュのセッションを減らす。

イマシルちゃんの解説

BGPでは、ルータ同士が接続して、どの宛先に到達できるかを知らせ合うんだ。
同じASの中では、内部の相手から受け取った経路をさらに別の内部の相手へ伝えないという規則があるよ。
そのため、全員が全員と接続するフルメッシュが必要になり、台数が増えるほど設定する接続相手も増えてしまうの。
そこで経路を受け取り、決められた相手へ配る役を担うのが、ルートリフレクタというBGPスピーカなんだ。
周りのルータはこの装置を通して経路を知ることができるよ。
経路情報の配布を集めることで、一台増やすたびに全員と接続する負担を減らせるんだ。

より深い解説

内部の接続を集約する

同じASのBGPスピーカ間で使うセッションをiBGPという。通常のiBGPでは、内部のピアから受信した経路を別の内部ピアへ再広告しない。この制約の下で各装置が経路を共有するには、全組合せのセッションを張るフルメッシュが必要になる。

装置がn台なら、組合せの数はn×(n−1)÷2である。ルータA・B・C・Dの4台では6セッションとなり、5台目を追加すると既存の4台すべてとの接続が増える。ここで数えるのは経路交換のための論理的な接続であり、物理回線の本数ではない。

ルートリフレクタ(RR)は、この再広告の制約を緩和する。内部から学習した経路を決められた相手へ送り直すことを反射といい、その仕組みをルートリフレクションという。次の例ではDをRRにして、A・B・Cの経路情報を配る役を集める。

同じ4台のiBGPセッションを比較。フルメッシュは6セッション、DをRRにした構成は3セッション。
同じ4台のiBGPセッションを比較。フルメッシュは6セッション、DをRRにした構成は3セッション。

この構成ではA・B・CがDと接続すればよく、セッションは3本になる。一般に、n台のうち1台をRRにし、残りをその配下に置く単純な構成ではn−1本である。RRを複数置く構成では本数が変わる。

利点は、経路交換の接続先と設定箇所を減らし、装置の追加に対応しやすくなることである。 一方、配布を担うRRには処理と役割が集まるため、障害対策や経路の選び方も設計する必要がある。

受け取った経路を誰へ知らせるか

RRから見た内部ピアのうち、経路の反射を受ける相手として指定した装置をクライアントという。それ以外の内部ピアが非クライアントである。これはRRとの関係を表す設定であり、利用者の端末とサーバを区別する呼び方ではない。RRとそのクライアントのまとまりをクラスタという。

RRは受信した経路を無条件にすべて配るのではなく、通常はBGPの選択規則で選んだ最良経路を反射する。経路の広告や変更を知らせるメッセージはUPDATEである。図の下側でA・B・CをDのクライアントにした場合は、次のように伝わる。

  1. Aが宛先203.0.113.0/24への経路を学習し、DへUPDATEで広告する。
  2. Dは受信した候補を比較する。Aからの経路を最良経路として選ぶと、BとCへUPDATEで反射する。
  3. BとCは、Aと直接iBGPセッションを張っていなくても、その宛先の経路を受け取れる。

受信元が非クライアントの場合は送り先が異なる。広告ポリシーによる制限がない場合の基本規則は次のとおりである。

内部ピアである受信元経路を知らせる相手
クライアントほかのクライアントと非クライアント
非クライアントクライアント

非クライアントから受け取った経路を、別の非クライアントへ反射することはない。このため、単に中央の装置へiBGP接続を集めるだけでは経路を共有できない。RR側でどの内部ピアをクライアントにするかを設定する。クライアント側に専用の通信プロトコルを導入する必要はない。

戻ってきた経路を見分ける

BGPでは経由したASをAS_PATHに記録するが、iBGPの広告では自ASの番号を追加しない。そのため、AS内部での経路情報の循環は、この属性だけでは見分けられない。RRは次の二つの属性を使って、広告元や通過済みのまとまりへ戻った経路を検出する。

ORIGINATOR_IDは、そのAS内で経路を生成・持ち込んだBGPスピーカの識別子を記録する属性である。識別子には32ビットのBGP Identifierを使う。RRは初めて反射するときに付け、既に存在する場合は元の値を保つ。受信した値が自分のBGP Identifierと一致すれば、自分が出した経路が戻ってきたと分かるため、その広告を受け入れない。

もう一つのCLUSTER_LISTは、経路が反射されたクラスタの履歴である。各クラスタは32ビットのCluster ID(CLUSTER_ID、クラスタID、クラスターID)で識別する。IPv4アドレスの形で表記しても、転送先を指定するアドレスではない。RRは反射する際に自分のCluster IDを一覧の先頭へ加える。受信した一覧に自分のCluster IDが含まれていれば、同じクラスタへ戻った経路として受け入れない。

例えば、同じAS内でAをRR-Dのクライアント、Bを別のクラスタに属するRR-Eのクライアントとする。RR-DとRR-Eは互いに非クライアントとして接続する。AのBGP Identifierは192.0.2.11であり、Cluster IDはRR-Dが192.0.2.100、RR-Eが192.0.2.200である。Aが広告した経路は次のように伝わる。

  1. RR-DからRR-Eへ送る経路には、ORIGINATOR_IDとして192.0.2.11が入り、CLUSTER_LISTは[192.0.2.100]となる。
  2. RR-EからBへ送るときも、ORIGINATOR_IDは192.0.2.11のままである。CLUSTER_LISTは[192.0.2.200, 192.0.2.100]となる。

この情報がAへ戻れば広告元の識別子で、RR-Dへ戻れば履歴中の192.0.2.100で検出できる。広告元の装置を示す値と、経路情報を配ったまとまりの履歴を区別する。 どちらも経路広告に付く情報であり、利用者のパケットが通った装置の記録ではない。

経路を配る装置と次ホップを区別する

RRが中継するのは経路を制御する情報である。経路情報を扱う役割をコントロールプレーン、利用者のパケットを実際に転送する役割をデータプレーンという。経路広告がRRを経由して届くことだけでは、利用者のパケットの通り道は決まらない。

RRは反射するとき、通常は次ホップを表すNEXT_HOPを保持する。例えばBがDから経路を受け取っても、そのNEXT_HOPがAのアドレスなら、BはAへの到達経路に従ってパケットを送る。Dを通過するかどうかは実際の転送経路による。RRを使っただけで、利用者のパケットが必ずRRへ集まるわけでも、必ずRRを避けるわけでもない。

RRとのセッションが成立することと、広告された次ホップへ到達できることは別の条件である。 NEXT_HOPへの経路がなければ、経路情報を受信できても転送には利用できない。経路が届かない場合はクライアントの指定や広告方針を確認し、届いているのに通信できない場合は次ホップへの到達性も確認する。

EVPNでは、MACアドレスなどの到達情報をMP-BGPで配る際にもRRを利用できる。VTEPが経路情報を受け取る相手を集約できる一方、VXLANのデータ転送は広告で得た宛先VTEPなどの情報に従う。到達情報の内容やカプセル化の動作は、それぞれEVPNとVXLANの記事で扱う。

配布を止めないための構成と制約

1台のRRだけに依存すると、その装置が経路情報の配布における単一障害点になる。RRとのセッションが切れると、通常はその相手から学習した経路が取り除かれる。ほかに有効な経路がなければ、利用者の通信にも影響する。

この依存を減らすには、複数のRRを用意する冗長化が有効である。各クライアントを2台のRRに接続し、両方から必要な経路を受け取れるようにする。一方が停止しても、もう一方から受け取った有効な経路を利用できる。ただし、障害の検出と経路の選び直しに時間がかかるため、必ず無瞬断になるわけではない。

RRが1台のクラスタでは、通常そのRRのBGP IdentifierをCluster IDとして使う。複数のRRを同じクラスタに属させる構成では、共通のCluster IDを設定する。これにより、同じクラスタの別RRを経由して戻った経路もCLUSTER_LISTで検出できる。各RR自身を識別するBGP Identifierは別々の値にする。

同じCluster IDを含む広告は受け入れないため、同じクラスタのRR同士が互いの反射経路を取り込むことに依存してはならない。各クライアントから必要なRRへ経路が届くように接続する。一方、別のクラスタとして設計したRRには異なるCluster IDを使う。AS内のすべてのRRに同じ値を設定するという規則ではない。

RRは通常、自分が選んだ最良経路を配るので、受信側がフルメッシュなら知り得た候補を受け取れない場合がある。また、RRから次ホップまでの条件と、クライアントからの条件が違えば、選ばれる経路がフルメッシュ時と同じになるとは限らない。セッション数を減らす効果に加え、どのRRがどの経路を配るか、障害後も必要な経路が残るかを確認する。

参考資料

実際の試験ではここに出る!全1問

ネットワークスペシャリスト

午後Ⅱ

この用語が出てくる記事

↑