要約

  • RFC 2105 は Cisco の Informational な構想であり、短い固定長タグで Tag Information Base を引き、各ホップでタグとリンク層情報を交換する転送方式を記録した。
  • OSPF や BGP が作る到達性に、タグの割当てと配布を重ねた。宛先経路のタグはトラフィック到来ではなく、FIB に現れたトポロジーから先に作ることができた。
  • 同じ転送動作の上に宛先ルーティング、マルチキャスト、階層、明示経路、ATM、QoS の制御を載せられたが、タグが証明したのは局所バインディングだけであり、標準合意、本人性、権限、配送、経路全体ではない。

タグの交換は、判断の履歴を交換しなかった

RFC 2105 の転送処理は短い。受信タグを TIB の索引にし、一致する項目から出力タグ、出力インターフェース、リンク層情報を取り出す。装置はそれらを置き換え、パケットを送る。ユニキャストなら出力は一つ、マルチキャストなら複数になり得るが、基本動作は同じである。

固定長の正確一致は、ネットワーク層の最長一致検索より単純で、ハードウェア化しやすいとされた。ただし、速さは判断を不要にしたのではない。判断をパケット処理の前に移したのである。

観測者が一つのタグ交換を見ても、どの経路がその項目を作ったか、どの隣接装置が広告したか、現在もその装置がネクストホップか、明示経路の方針は誰が承認したか、パケットが最後まで届いたかは分からない。タグは局所状態の実行キーであって、判断の台帳ではなかった。

変わらない高速処理と、増やせる制御

構想の核心は、フォワーディングとコントロールを切り分けたことにある。転送部は索引、交換、送出を繰り返す。制御部はタグと経路対象のバインディングを作り、装置間に配布する。新しいルーティング機能は制御モジュールを追加すればよく、転送部そのものを作り直す必要はない。

この分離は進化を容易にした。同時に、証拠の層を分けた。ASIC が正しいタグを交換しても、その状態を作ったモジュールの入力が新しいとは限らない。配布が収束しているとも、方針が許可されているとも限らない。データプレーンは、古いコントロール状態を正確に実行できる。

FIB が先にあり、タグは後から付いた

宛先ベースの動作では、タグスイッチも OSPF や BGP に参加し、FIB を構築した。タグが経路計算を置き換えるのではない。経路計算の結果を短い局所値に投影した。

割当てには下流、下流オンデマンド、上流の三方式が示された。通常の下流方式では、スイッチが FIB の各経路にタグを割り当て、TIB を作り、隣接装置へバインディングを知らせる。受信側は、その経路のネクストホップが発したタグを出力タグとして登録する。配布には既存ルーティングプロトコルへの付加、または提案された TDP を利用できた。

順序を崩してはいけない。到達性が先で、その実行用ハンドルが後である。また、TDP を後年の LDP と同一視することもできない。RFC 5036 の LDP は、発見、セッション、マッピング、エラー処理を持つ別個の標準である。

最初のパケットより先に状態を作る

宛先経路に対するタグは、フロー検出を待たずに割り当てられた。RFC 2105 は、データパケットの到来ではなく FIB 項目の存在が割当てを引き起こす、トポロジー駆動の方式だと明記している。

一つのタグを一つの経路だけでなく、経路群に結び付けることもできた。状態量を会話数ではなく経路数に寄せ、トラフィック変動のたびに分類器が制御状態を増やす事態を避ける設計である。

しかし、事前作成された状態も、元になった経路、ネクストホップ、隣接関係、配布時点より新しくはなれない。変更後も古い TIB が残れば、装置は非常に効率よく、すでに無効な答えを実行する。

ネットワーク層の検索が必要な場所

タグのないパケットに最初のタグを付けるには、通常のネットワーク層検索が必要だった。最初のルーター、または経路上で最初に Tag Switching を理解する装置が、その仕事を担う。

集約点にも例外がある。複数経路を一つのタグにまとめても、それらが同じネクストホップを共有しなければ、装置は宛先を再び調べなければならない。集約で捨てた差異が、次の判断に必要になるからだ。

この例外は弱点というより境界である。高速経路は判断を再利用する。入口や文脈が足りなくなった地点では、元の問いに戻る必要がある。

スタックは知識を境界へ寄せた

外部経路情報をすべての域内装置に持たせないため、RFC 2105 はタグのスタックを使った。ドメインへ入ると、入口境界が内側用タグを上に積む。コアは最上位タグだけで出口境界まで運び、その下のタグは出口側の判断に残る。上位タグは出口またはペナルティメットホップで外せる。

これにより、外部ルーティングの知識を境界に集中し、内部は小さな状態で動けた。ただし、二枚のタグは移動記録ではない。各値は異なる局所文脈に属し、どの候補が捨てられ、どの制御更新が間に起きたかを語らない。

同じ転送部に異なる制御を載せる

マルチキャストでは、まず PIM などが共有木または送信元別木を作る。制御モジュールは各出力インターフェースに局所タグを割り当て、複数出力の TIB を作る。タグは木を作らず、受信者も発見しない。完成した転送状態を実行するだけである。

明示経路では、宛先ベースの経路と異なるバインディングを入れられた。転送部を変えずにトラフィックエンジニアリングを行える一方、経路を選んだ理由や容量、承認はタグの外に残る。

ATM の VPI/VCI はタグを載せやすかったが、ATM スイッチにもネットワーク層ルーティングと Tag Switching 制御が必要だった。集約ではネットワーク層転送も残る。従来の ATM 制御面と資源を分けて併存できても、一方が他方の正しさを保証するわけではない。

QoS では、入口で分類したクラスをタグで示し、後段が再分類せずスケジューリング状態を探せた。実際のキューイングとスケジューリングは直交する。クラスのタグを見ても、帯域、損失、遅延、配送を証明したことにはならない。

Informational は標準でも運用実績でもない

RFC 2105 は IETF ワーキンググループの成果ではなく、標準化トラックでもなく、Internet Standard を定めない。Datatracker は現在 Legacy とし、IETF の承認も標準化プロセス上の正式な地位もないと示す。セキュリティ章は「議論しない」とだけ記し、知的財産章には Cisco が保護を求める可能性が書かれている。

2001年の標準化トラック RFC 3031 は、局所的に意味を持つラベル、FEC、ラベルスタック、ホップごとの交換を MPLS として規定した。構造上の連続性は見えるが、RFC 3031 は RFC 2105 を番号や題名で引用していない。したがって、Tag Switching が後の MPLS へ向かう一つの道を示したとは言えても、直接の因果、実装継承、普及を証明したとは言えない。

Lu Heng の議論を借りれば、文書は仕組みを説明できるが、実装と運用が実行事実を作る。最小の共通仕様、後の局所判断、現実の実行層を区別するなら、RFC、制御バインディング、TIB、配送結果は別々の証拠である。

出典