要約
- RFC 3508 は
h323:URL にセミコロン区切りのパラメーター欄を許す一方、個々の定義を将来検討とし、文字集合と大文字小文字規則も各定義へ委ねた。 - 文字列保存、構文受理、搬送、解決、機能要素への到達、gatekeeper 許可、呼設定、メディア、受信者結果は別々の証拠であり、未知値の転送から命令権限を推論できない。
送信ログと受信ログの URL は一致していた。にもかかわらず、送信側が要求した処理は実行されなかった。障害報告は「相手が命令を無視した」と結論したが、共有されていたのはパラメーターの置き場所だけだった。
RFC 3508 は 2003 年 4 月に Informational RFC として公開された。H.323 第 4 版の H323-URL 定義を参照しやすくし、IANA 登録するために再掲した文書であり、Internet Standard を定めるものではない。
IANA 登録が固定するのはスキーム名である
現在の IANA URI Schemes レジストリは h323 を Permanent として RFC 3508 に結び付ける。RFC が述べる効果は、h323 というスキーム名の重複を防ぐことだった。
これは名前空間の調整であり、実装、配備、別名所有、サービス稼働や通話成功の証明ではない。レジストリの永続性と実行時の対応状況は別の台帳に属する。
登録済みという事実は、パーサーがどの文書を参照すべきかを示す。ある URL が現在どこへ届くかは示さない。
三つのアドレス形が異なる空白を残す
アドレスは user のみ、@hostport、または user と hostport の組合せを取れる。host はホスト名、IPv4、角括弧付き IPv6 で、port は省略可能である。
user はユーザー、装置、サービスの別名であり、位置情報を含まない。外部の解決コンテキストが必要になる。hostport は Endpoint、Gatekeeper、Border Element などの機能要素を指し得るが、その要素が別名を所有することを証明しない。
構文上完全であることと、運用上十分な解決情報を持つことは同じではない。パーサーは欠けている権限とコンテキストを明示すべきである。
パラメーター定義が比較規則を所有する
基礎文法は ; に続く一つ以上のパラメーターを許す。しかし具体的なパラメーターは将来検討とされ、その文字集合と大文字小文字の扱いは各定義が決める。
したがって、基礎パーサーが知るのは境界であって意味ではない。未知パラメーターが必須か、無視可能か、転送すべきか、セキュリティに関わるかを独自に決めてはならない。
証跡は生の名前と値、参照した定義、バージョン、サポート判定、未知値ポリシー、実際の効果を含む。文字列が残ったことは、意味が保存された証明ではない。
user の比較も単純な文字列比較ではない
user は Unicode 文字列を UTF-8 にし、必要に応じて escape する。値が 0x80 未満の文字は大文字小文字を区別せず、それ以上は区別する。host は大文字小文字を区別しない。
全 Unicode を小文字化する実装は RFC が分ける別名を併合できる。受信オクテットだけを比較する実装は ASCII の同一扱いを失う。percent decoding やディレクトリ固有の正規化も別の変換である。
受信オクテット、escape 後のバイト、UTF-8 文字列、比較キーを保存し、アルゴリズムと版を記録する。比較一致は手続き上の一致であって本人性ではない。
搬送はパラメーターの権限を作らない
H.323 URL は H.225.0、SIP、TRIP、ウェブページ、XML で運べる。RFC 3508 は H.225.0 の安全性を H.235 に、他の搬送を対応するプロトコルへ委ねる。
SIP の完全性保護は、保護された URI が SIP peer から来たことを示せる。未知 H.323 パラメーターの標準意味や別名所有者の許可までは示さない。
TRIP が値を運び、XML が文字を保持しても、受信側の解釈は別である。搬送 peer、保護フィールド、信頼領域、変換履歴を記録する必要がある。
別名は位置も所有権も含まない
user 部は別名であり、場所を含まない。同じ綴りが異なる gatekeeper zone で別の装置を指すことがある。サービス別名は一人ではなくプールへ向くこともある。
URL 自体に発行者、有効期間、所有証明はない。ディレクトリ応答には管理者、スコープ、版、鮮度、認証済み応答者を結び付ける。
最終 IP だけを保存すると、どの台帳が文字列を経路へ変えたかが失われる。
相互接続機能は翻訳元を選ぶ
RFC 4123 は SIP-H.323 相互接続機能が gatekeeper、SIP registrar、他のデータベース、LDAP、DNS、TRIP などを使ってアドレスを翻訳できるとする。
これは等価な権威の列挙ではない。ソースごとに管理者、時間、スコープ、衝突規則が異なる。同じ URL が二つの IWF で別方向へ変換されても、構文は両方正しい場合がある。
入力、出力、マッピング元、レコード版、優先順位、選択時刻を保存する。古い表に忠実な変換は、現在の権限に忠実とは限らない。
解決後に許可と結果が待っている
機能要素を見つけた後も、接続、登録、gatekeeper admission、呼シグナリング、能力とメディアの交渉、受信者認証、アプリ結果、資源解放が残る。
解決は成功しても admission は拒否される。シグナリングは成立してもメディアが流れない。メディアは別人へ届く。相手が応答しても要求サービスは失敗する。
状態表示は「解決」「到達」「許可」「呼設定」「メディア確立」「受信者確認」「結果確認」を分けるべきである。
必要な証跡
元 URL、出所、搬送、オクテット、escape、UTF-8、構造フィールド、比較キーを保存する。パラメーターごとの定義、版、未知値処理と効果を加える。
次に別名ディレクトリ、鮮度、DNS/TRIP/LDAP/registrar/gatekeeper の問い合わせ、選択された機能役割と接続を残す。IWF なら変換入出力とルールが要る。
最後に registration、admission、最終シグナリング、メディアアドレスと鍵、受信者の本人性と許可、認証済み結果、teardown と代替解決の再実行を結ぶ。
証拠の境界
この記事は現在の製品、endpoint、gatekeeper、運用者、通話、利用者、事件、採用率、相互接続率、メディア品質を主張しない。IANA の Permanent はレジストリ状態だけである。
RFC 3305 の URL/URN、ipn、Gopher、VEMMI、SIP voicemail の既存記事とも重複しない。ここで扱うのは RFC 3508 が残したパラメーター意味の局所性と、搬送された文字列から共有命令を推論しない境界である。
Heng Lu の最小初期仕様と running code は、開示した編集上の視点である。細い共通構文と実行経路の証拠を重視するが、H.323 の配備測定ではない。
限定した結論はこうである。未知パラメーターを一字も落とさず届けても、意味と権限が共有されたことにはならない。
Sources
- https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3508.xml
- https://datatracker.ietf.org/api/v1/doc/document/rfc3508/?format=json
- https://datatracker.ietf.org/doc/rfc3508/
- https://datatracker.ietf.org/doc/rfc3508/history/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
- https://www.rfc-editor.org/errata_search.php?rfc=3508
- https://www.rfc-editor.org/info/rfc3508
- https://www.rfc-editor.org/rfc/rfc2119.html
- https://www.rfc-editor.org/rfc/rfc2234.html
- https://www.rfc-editor.org/rfc/rfc2279.html
- https://www.rfc-editor.org/rfc/rfc3219.html
- https://www.rfc-editor.org/rfc/rfc3261.html
- https://www.rfc-editor.org/rfc/rfc3263.html
- https://www.rfc-editor.org/rfc/rfc3508.html
- https://www.rfc-editor.org/rfc/rfc3508.txt
- https://www.rfc-editor.org/rfc/rfc3880.html
- https://www.rfc-editor.org/rfc/rfc3986.html
- https://www.rfc-editor.org/rfc/rfc4123.html
- https://www.rfc-editor.org/rfc/rfc4355.html
- https://www.rfc-editor.org/rfc/rfc7595.html
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
