要約

  • TRILLのAppointed Forwarderは、特定リンク上の特定VLANについてネイティブフレームを出入りさせる役割であり、TRILL DataやIS-ISの処理権限ではない。
  • DRB、root bridgeの変更、VLANごとのinhibition timerが動作中でも任命は残り得る。その間、対象のネイティブフレームだけを抑止する。
  • 運用証跡では、DRB選挙、任命元、ポート適格性、発火イベント、timer、実フレーム、再任命、端末サービスを分離しなければならない。

夜間作業の問いを一つに絞る。「この装置はAppointed Forwarderなのに、なぜVLAN 41のフレームを通さないのか」。

答えが「inhibitedだから」だけでは、まだ半分しか分からない。どの任命が残り、何をきっかけに、どの範囲で、いつまで止めているのか。さらに、止める対象はネイティブフレームであって、TRILL内部のデータやIS-ISまで停止させるものではない。こうした状態の切り分けが、矛盾して見える表示を一つの安全動作へ変える。

Radia Perlmanの業績は、この問いへの歴史的な入口になる。Internet Hall of Fameは2014年のPioneerとして彼女を紹介し、IS-IS、spanning tree、TRILL、ネットワークセキュリティと教育への貢献を挙げる。2026年9月に確認したIETF Datatrackerには22件のRFCとSecurity Area Directorateのreviewer役が記録されていた。これは公開経歴であり、特定装置の実装保証ではない。

Appointed Forwarderを詳述した2011年のRFC 6439は、Perlman、Donald Eastlake 3rd、Yizhou Li、Ayan Banerjee、Fangwei Huの共同著作である。ただし、現在形で語るなら2017年のRFC 8139を外せない。異なる著者陣がまとめた同RFCは6439をobsoleteとし、RFC 6325と7177を更新した。人物への正確な帰属と、現行仕様への正確な参照は両立する。

役割はリンクとVLANに縛られる

TRILL campusの内部では、IS-ISでトポロジーを把握し、hop countを持つヘッダーでデータをカプセル化して運ぶ。端末が接続する境界では、通常のEthernetフレームが出入りする。同一のmulti-access linkに複数のTRILL switchがいる場合、全員が同じVLANの入口と出口になれば安全ではない。

そこで、VLAN-xと一つのリンクの組み合わせごとにAppointed Forwarderを決める。その装置がリンクからネイティブフレームを取り込み、TRILLから戻るフレームをリンクへ出す。Designated RBridge、DRBが初期の担当者であり、他のswitchにVLANを割り当てることもできる。

したがって、この任命はcampus全体の「主系」ではない。別リンクの役割も、ポート設定後の適格性も、TRILL Dataの中継も証明しない。最低限、リンク、VLAN、ネイティブフレームという三つの限定を表示しなければ、appointedという一語は過大な意味を持つ。

さらに任命元がある。RFC 8139では、DRB自身の選択、E-L1CSで配布される割当て、Helloで届く割当て、DRB選挙、Port-Shutdown、ローカル設定が状態を変え得る。各switchは比較的持続するE-L1CSのdatabaseと、最後のHelloを反映するdatabaseを持つ。同じ最終表示でも、根拠の寿命が異なる。

止まる理由は一つではない

同じリンクとVLANで二台が同時にネイティブフレームを出し入れすると、ループの一部はTRILLの外側を流れる。その部分にはhop countがない。LAN内のVLAN mappingが加われば、異なるVLAN番号をまたぐ循環も起こり得る。

選挙や割当てだけで重複を避けようとしても、分散した装置が同時に同じ情報へ到達するとは限らない。inhibitionは、見解がそろうまでローカルに行動を留保する仕組みである。

新たにDRBになったと判断したポートはHolding Timeの間、DRB inhibition timerを動かす。別の送信者がVLAN-xのAppointed Forwarderだと主張するHelloを受けたときは、受信したHolding Timeと現在の残り時間の長い方までVLAN timerを延ばす。以前無効だったVLANを有効にする場合にも待機が入る。接続先LANの共通root bridgeが変われば、既定30秒のroot bridge change timerが始まる。収束時間を把握している環境では短縮や最適化が可能だ。

これらを一律に「blocked」と書くのは危険である。新しい選挙、競合する自己申告、設定変更、spanning treeの変化では、原因も解決者も異なる。発火イベントを残して初めて、待つべきか、設定を直すべきか、別のforwarderを指名すべきかが判断できる。

timerの粒度は可用性を左右する。VLANごとなら、VLAN 41の不確実性を42へ広げずに済む。実装制約で統合する場合も、RFC 8139は少なくとも二種類を求め、自機が担当するVLANと担当しないVLANを同じtimerへ混ぜることを禁じる。広く止めれば安全側になっても、損失は増える。

任命を広告しながらネイティブ処理を抑える

対象timerが未満了なら、inhibitedなAppointed Forwarderは、復号したネイティブフレームを当該リンクへ出力せず、出力待ちにも置かない。リンクから入ってくるネイティブフレームも、アドレス学習を除いて無視する。

その一方で、Helloでは自分がAppointed Forwarderだと考えているかを引き続き示す。周囲が不一致を発見し、収束するために信念を隠さない。TRILL DataとIS-ISも動き続ける。これは装置停止ではなく、境界機能に限定した抑止である。

revocationとの違いはここにある。revocationは担当者を変える。inhibitionは担当者を残したまま、一定時間だけ対象行為を許さない。前者だと思い込めば不要な再割当てを生み、後者を見落とせば任命表示だけを根拠に早すぎる再開を行う。

運用記録は少なくとも、DRB選挙の世代、任命のdatabaseと送信元、リンクとVLAN、ポートmode、trigger packet、timerの開始・延長・満了、ネイティブの入出力counter、TRILL DataとIS-ISの継続、引継ぎ、新しいforwarder、端末から見た復旧を別々に持つべきだ。任命表だけでは、フレームの挙動は分からない。

負の約束から検証する

実機試験では「通ること」より先に「通ってはいけないこと」を測る。管理された環境で競合Helloまたは対象トポロジー変化を起こし、packetとHolding Timeを保存する。該当timerが正しく設定された後、LAN側とcampus側からネイティブフレームを送る。

装置counter、独立capture、peer観測の三者が、対象VLANでingressもegressも起きなかったと一致する必要がある。同時にIS-ISとTRILL Dataが継続し、無関係なVLANが自身の条件に従って動くことも確認する。全停止は仕様どおりの抑止ではなく、単なる障害である。

満了時には、timerがゼロになった時刻、残る任命根拠、最初に許可されたネイティブフレーム、重複の有無、端末の到達性を記録する。timerの満了は実行許可の再評価であって、サービス成功の代替ではない。

任命先とのadjacencyを失った場合、必要なトラフィックについてDRBは自ら引き受けるか別のswitchを迅速に任命すべきだ。Port-Shutdown messageは検知を早めるが、受信した事実だけでは引継ぎ完了を証明しない。旧経路の停止、新任命の有効化、端末復旧が続く。

安全性が可用性を消費する場面

inhibitionはループ回避のために一時的なネイティブフレーム損失を受け入れる。この損失を「安全」という言葉で隠してはいけない。収束特性が不明なLANでは30秒が妥当でも、十分に計測されたLANでは過大かもしれない。根拠なく短縮すればループ危険が増え、粗い範囲で長く待てば不必要な停止が広がる。

Appointed Forwarderの不要な変更もサービスを切りやすいため、RFC 8139は避けるよう求める。VLAN配分の見た目を常に均等にする制御は、得られる均衡以上に遷移時間を増やすことがある。

目標はtimerを一律最短にすることではない。競合が見えるだけの時間、影響を一つのVLANへ閉じ込める粒度、そして観測可能な復旧経路を合わせて設計することだ。

単独発明の物語にしない

Perlmanの仕事には、不完全な情報を持つ分散参加者が安全に動くための工夫が一貫して現れる。ただし、RFCの著者名は単独所有権ではなく、実装の証明書でもない。

RFC 6325は五人の共同著作、RFC 6439もPerlmanを含む五人の共同著作である。RFC 8139は別の五人がそれを置き換え、二つの任命databaseや停止通知などを加えた。後継者が改訂しても、核となる証跡境界は残る。

引継ぎ記録に必要な結論は簡潔である。「このswitchは任命中」と「このswitchはinhibited」は同時に真になれる。そして、どちらも端末サービスの成功までは証明しない。

出典