要約
- EAPS のトランジットノードは、障害リンクが物理的に復旧しても、保護 VLAN をその場で開放しない。マスターのリング完全性確認と FDB フラッシュを待つ PRE-FORWARDING は、復旧が複数段階であることを明示する。
- link-up、制御フレームの帰還、ポートのブロック、分散 FDB の再学習、パケット品質、アプリケーション受理は別々の観測である。最初の緑色を最後の証明にしてはならない。
緑になったリンクの向こうにループがいた
切断されていたイーサネットリンクが再び上がる。ローカルの光信号もインターフェース状態も正常だ。通常の監視なら、ここで障害を閉じたくなる。
しかし EAPS のトランジットノードは、その瞬間に保護 VLAN の転送を再開しない。マスターはまだ ring-fault 状態で、セカンダリポートを開けたままかもしれない。復旧リンクも開けば、物理リングの両方向が同時につながり、ループを再生する可能性がある。
RFC 3619 はこの時間差を PRE-FORWARDING という状態として保存した。トランジットノードは復旧ポート上の保護 VLAN をブロックする。マスターからフラッシュ指示を受け、分散状態が新しいトポロジーに合わせられるまで待つ。状態名そのものが、物理的事実と転送権限は同一ではないと述べている。
この RFC は 2003 年 10 月に Informational として公開され、Extreme Networks が発明した EAPS Version 1 を記録した。Internet Standard を規定するものではない。本文の 1 秒未満、しばしば 50 ミリ秒未満という収束説明は歴史的な機構の記述であり、現在のネットワークの測定値でも製品保証でもない。
重要なのは古い数値ではなく、プロトコルがあえて一つの「未確定」を可視化したことである。
マスターの判断は一つのドメインに限られる
EAPS ドメインには一台のマスターと複数のトランジットノードがある。マスターはプライマリポートとセカンダリポートを指定する。正常時にはセカンダリで非制御トラフィックをブロックし、Control VLAN だけを通す。これにより物理リングは通常のブリッジ学習に対してループのない形になる。
マスターはプライマリから health-check フレームを送り、セカンダリで帰還を待つ。障害を判断すればセカンダリを開き、残る方向を保護 VLAN が利用できるようにする。復旧を判断すれば再び閉じる。
この権限は正確に狭い。対象は特定のドメイン、設定された VLAN 集合、一つのゲートである。外部経路、帯域、キュー、アプリケーションの状態まで知る権限ではない。記録にはドメイン ID、マスター、Control VLAN、保護 VLAN、両ポート、タイマー値、設定版を含めなければならない。
Heng Lu が論じる権威と現実の区別はここで具体化する。共有ルールはマスターに決定を表現させ、running code はその決定を実行する。それでも、制御フレームが見た範囲以上の現実を創作することはできない。
障害通知と不在推定は同じ証人ではない
障害検出には二つの経路がある。トランジットノードがローカルな link-down を検出すると、LINK-DOWN 制御フレームを直ちにマスターへ送る。別にマスターは定期的な health-check を送り、fail-period 内に戻らなければリング障害と判断する。通知が失われてもポーリングが代替できる。
両方ともセカンダリ開放に結び付くが、意味は異なる。LINK-DOWN は一台のノードが一つのポートについて行う積極的な観測である。タイムアウトは、期待したフレームが所定時間に現れなかったという不在からの推論である。
イベントには、どちらが先に作動したか、対象ポートまたはシーケンス、観測時刻、タイマー設定、もう一方の証拠が一致したかを残す必要がある。「ring fault」という結論だけでは原因の完全な説明にならない。
Control VLAN のフレームが戻らないことは、すべての保護 VLAN が同じ状態だとは証明しない。戻ることも、別 VLAN の損失や遅延、到達性を保証しない。安全動作は同じでも、不確実性を消してはならない。
フラッシュは知識を一度捨てる命令だった
障害時、マスターはセカンダリを開き、自分の forwarding database をフラッシュし、トランジットノードにもフラッシュを命じる。古いトポロジーで学習した MAC の位置を保持すれば、既に存在しない方向へ送る危険があるためだ。
フラッシュ完了はサービス復旧ではない。むしろ新しい学習時代の開始である。直後のスイッチは以前より少ない知識しか持たない。未知宛先をフラッドし、流量から新しい位置を学ぶ。静かな宛先は長く未知のままになり、最初の観測が過渡状態に依存することもある。
必要な時刻は少なくとも、フラッシュ指示、各ノードの実行、重要宛先の最初の正しい再学習、未知ユニキャストの安定、最初の利用者トランザクションである。損失、重複、順序逆転、遅延、誤接続も観測する。
後の RFC 4427 は、検出、相関、通知、recovery switching、total recovery time を分離した。hitless は損失、重複、順序乱れ、ビットエラーがないという厳しい意味を持つ。ポートが 50 ミリ秒で切り替わっても、低頻度の宛先が再学習されるまで、あるいはアプリケーションが受理するまでの時計は続く。
復旧は障害の逆再生ではない
マスターは ring-fault 中も health-check を送り続ける。復旧したリングを通ったフレームがセカンダリへ戻ると、正常状態へ移行し、セカンダリの非制御トラフィックをブロックし、再び全体へフラッシュを命じる。PRE-FORWARDING のノードはその調整後に保護 VLAN を開放する。
つまり故障切替と復旧切戻しは、二回のトポロジー変更であり、二回の FDB 世代交代である。最終状態が同じでも、危険は対称ではない。故障時には生存経路を開く。復旧時には完全な物理リングが戻る前に、開いていた経路を安全に閉じなければならない。
運用記録は二つのイベント ID を用意すべきだ。復旧リンク観測、PRE-FORWARDING への遷移、health-check 帰還、マスターの復帰判断、セカンダリ遮断、フラッシュ、新しい学習、サービス確認を順に保存する。最後の normal だけで途中を上書きしてはならない。
障害保護が成功したのに、復旧操作で第二の停止が起こることはあり得る。二つの時計を持たなければ、その事実は「一度の長い障害」に吸収され、改善場所が消える。
同じリングに複数の真実が置かれる
RFC 3619 は一台のスイッチが複数リングへ参加することを認め、リングごとにインスタンスを要求する。また同じリング上に複数 EAPS ドメインを置き、それぞれ別のマスターと保護 VLAN を持たせられる。
物理線が同じでも、状態機械は同じではない。あるドメインは normal、別のドメインは failed、さらに別のドメインは PRE-FORWARDING になり得る。Control VLAN、タイマー、マスター、設定版も異なる。
シャーシや光ファイバーだけを緑にする画面は、共通の物理証拠を全ドメインの結論へ拡張してしまう。イベントはドメインと VLAN 範囲で索引しなければならない。後の保護アーキテクチャが recovery domain を区切るのも、回復には境界があるからだ。
境界内の機構は、入口前、出口後、上位層、アプリケーションを自動的に保護しない。複数層が同じ故障へ反応する場合、hold-off と切戻し方針も必要になる。内側の自動化同士が互いの回復を壊してはならない。
制御フレームは権限を自己証明しない
RFC 3619 のセキュリティ節は、イーサネット接続へ物理的にアクセスできる者が bridge または EAPS フレームを偽造し、ネットワークを混乱させ得ると述べる。能動攻撃が重大なら、リンク暗号化または適切な上位層保護を推奨する。
フレーム種別は構文を示すだけで、送信者の権限を証明しない。信号は許可された物理インターフェース、発信元、ドメイン、設定世代、期待シーケンスに結び付けるべきだ。不可能な状態遷移や繰り返しトリガーを警告し、元のフレームまたはカウンター証拠を保持する必要がある。
一つの制御観測が多くのノードの FDB を無効化できるほど、由来の保存は重要になる。高速な自動保護を弱めるためではない。高速な権限を説明可能にするためである。
「まだ」は失敗ではなく、正しい状態である
最小の証拠連鎖は、物理観測、通知またはポーリング、マスター判断、ポート操作、フラッシュ配布、FDB 世代、再学習、パケット挙動、アプリケーション結果から成る。それぞれに所有者と不確実性がある。
マスター遷移だけを測れば、チームはタイマーを短くする一方で誤切替や反復フラッシュを隠せる。アプリケーションだけを測れば、遅延がどの段階で生じたか分からない。両者を保ち、互いの代理にしないことが必要だ。
PRE-FORWARDING は、緑色のリンクへ「まだ」と答えた。その一語は慎重さの象徴ではなく、正確な権限境界である。物理層は復旧を報告できる。制御面は安全な転送を許可できる。パケットとアプリケーションだけが、サービスの最後の証明を完成できる。
情報源
- https://www.rfc-editor.org/rfc/rfc3619.html
- https://www.rfc-editor.org/rfc/rfc3619.txt
- https://www.rfc-editor.org/info/rfc3619/
- https://datatracker.ietf.org/doc/rfc3619/
- https://www.rfc-editor.org/errata_search.php?rec_status=0&rfc=3619
- https://www.rfc-editor.org/rfc/rfc3386.html
- https://www.rfc-editor.org/rfc/rfc3469.html
- https://www.rfc-editor.org/rfc/rfc4427.html
- https://www.rfc-editor.org/rfc/rfc5654.html
- https://www.rfc-editor.org/rfc/rfc5921.html
- https://www.rfc-editor.org/rfc/rfc6371.html
- https://www.rfc-editor.org/rfc/rfc6372.html
- https://www.rfc-editor.org/rfc/rfc6378.html
- https://www.rfc-editor.org/rfc/rfc6974.html
- https://www.rfc-editor.org/rfc/rfc8227.html
- https://www.rfc-editor.org/rfc/rfc9522.html
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
- https://heng.lu/on-authority-belief-and-the-internets-addressing-system/
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
