要約
- RFC 2443はATM上の複数のマルチキャスト・アドレス解決サーバー間でクライアントとグループの状態を共有したが、各クライアントの登録先は一台のままだった。
- 生存通知を二回続けて受け取れないと、他のサーバーはその発信元から学んだ状態を破棄する。クライアントはバックアップへ再登録し、以前のグループに入り直さなければならなかった。
三台の表示はそろっている。だが、元の一台は沈黙した
三台のMARSサーバーに同じ行が表示されている。あるクライアントがマルチキャストグループに参加している、という行だ。共有キャッシュは正常に見える。ところが、そのクライアントを最初に登録したサーバーから、定期的なリダイレクト更新が届かなくなる。残る二台は同じ記録を持っているが、RFC 2443はその一致を、元のサーバーやクライアントがまだ稼働している証拠とはみなさない。更新を連続二回受信できなければ、両者はそのサーバー由来の会員状態を消去する。
この区別が設計の要だった。RFC 2022が定義したMARS(Multicast Address Resolution Server)は、ATM網上のレイヤー3マルチキャストについて、アドレスと接続の情報を配布する。分散モデルでは、同じLogical IP Subnet(LIS)内のどのMARSサーバーも、その中のあらゆるグループについて答えられなければならない。1998年11月にExperimental RFCとして公表されたRFC 2443は、Server Cache Synchronization Protocol(SCSP)を使い、サーバー間で記録を複製した。
共有されたのは記録であり、登録の持ち主ではない
SCSPは、サーバー間の関係を確立し、キャッシュを照合し、その後の変更を伝える枠組みを提供する。RFC 2443はMARS用のプロトコルIDを0x0003とし、LISをサーバーグループの境界とした。クライアントが一台に登録すると、そのサーバーは登録や後続のグループ変更を仲間に伝える。それでも、各クライアントが登録するMARSは一台だけであり、クライアントはそのサーバーのCluster Control Virtual CircuitまたはServer Control Virtual Circuitに接続する。複製で広がるのはグループの可視性であって、一つの登録関係が複数のサーバーに移るわけではない。
識別子の割り当て権限も、同期だけでは生まれない。MARSクライアントのCluster Member IDはLIS全体で一意でなければならない。RFC 2443は各サーバーに重ならないID範囲が設定されていることを前提にした。外部の割り当て方式も可能だが、文書の対象外である。衝突した値をすべてのキャッシュに同じように複製しても、一意性を保証する主体にはならない。
ハートビートは古い状態を無効化する境界
各サーバーはMARS Server Redirect Entryを少なくとも二分ごとに更新する必要があり、一分ごとが推奨された。ある発信元から更新を連続二回受け取れなければ、仲間のサーバーはその発信元から学んだクライアントおよびグループの情報をすべてフラッシュする。この規則はバックアップ一覧を新しく保つだけではない。情報の鮮度を特定の発信元に結び付け、その根拠を失った情報だけを捨てる。
その後の回復操作はクライアントに残される。自分のMARS障害を検知すると、クライアントはバックアップを選び、登録を試みる。登録できて初めて、以前のグループに再参加する。失敗すれば次の候補へ進む。リダイレクトマップは接続先の候補を示すが、そのクライアントが移行、再登録、グループ復帰を完了したことや、マルチキャストを再び受信できることまでは示さない。
会員情報の行が戻っても、ATMのポイント・ツー・マルチポイント回線が再構成されたとは限らない。パケットがアプリケーションに届いた証拠でもない。制御面の記録は次の処理に必要な入力であり、その処理が成功したという受領証ではない。
認証は入口を絞る一方、信頼の波及範囲を広げた
RFC 2443はMARS固有のキャッシュ状態フィールドを暗号化しない。SCSPの共通部分が提供するセキュリティ機能を利用する構成だ。認証を使えば、未認証の偽パケットを拒否できる。しかしRFCは、正しく認証されたサーバーから受け取った状態を信頼してグループ全体に伝播させる、とも記している。認証済みサーバー一台の侵害が、共有データベース全体の改ざんにつながりうる。認証は発言者を絞っても、その発言内容の正しさや侵害時の封じ込めまでは保証しない。
2004年のRFC 3790は、RFC 2443がIPv4向けの既定値を与えつつ、適切なIANA定義を用意すればIPv6にも拡張できると評価した。これは設計上の拡張性が文書化されていた証拠であって、実装や運用の実績を示すものではない。RFCは要求事項と注意点を記録するが、どれほど導入され、各実装がどう動いたかまでは証明しない。
したがって教訓は「複製すれば可用性が上がる」にとどまらない。各レコードの発信元、最後に生存を確かめた時刻、その証拠が切れた際に消すべき範囲、次の行動を担う主体を分けて追う必要がある。登録、グループ再参加、回線再構成、パケット転送、アプリケーションの受信も別々に測る。三つのキャッシュは過去について一致できる。マルチキャストが戻ったと示せるのは、稼働中のクライアントとデータ経路だけだ。
出典
- RFC 2443 — A Distributed MARS Service Using SCSP
- RFC 2334 — Server Cache Synchronization Protocol
- RFC 2022 — Support for Multicast over UNI 3.0/3.1 based ATM Networks
- RFC 2149 — ATM Forum multiprotocol BOF に対する IP over ATM WG の勧告
- RFC 2335 — 分散 NHRP サービス
- RFC 2366 — ATM 上の Classical IP/ARP 管理オブジェクト
- RFC 3790 — IPv4 Addresses in the IETF Internet Area
- RFC 2443 — RFC Editor の記録
- RFC 2443 — IETF Datatracker の記録
- RFC 2443 — RFC Editor の正誤表検索
- Heng Lu — Running-Code Primacy
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
