要約
- RFC 5222は、場所とサービスURNをURIへ変換し、その判断に使った位置、マッピングの出所、更新時刻、期限、境界、解決経路を記録できる。これは変換の証拠であって、通話成立の証拠ではない。
- プロトコルは不確実性を隠していない。市民住所の一部は未検証になり、期限切れのマッピングも通常応答で返り得る。代替サービスや既定URIには警告が付く。
- 運用側は、位置取得からマッピング、キャッシュ再利用、境界確認、シグナリング、応答者の受理、サービス結果までを個別のレシートとして接続しなければならない。
「見つかった」と「つながった」の間
実在の事故ではなく、監査用に作った時系列を考える。08時14分02秒、端末は市民住所を添えて urn:service:sos.police を問い合わせ、住所検証も要求する。08時14分03秒、LoSTリゾルバはSIP URI、サービス境界への参照、path、locationUsed、さらに source、sourceId、lastUpdated、expires を返す。
08時14分04秒、マッピング監視は成功になる。ところが08時14分20秒になっても、SIPセッション確立、相手側の受理、メディア確立、実際の対応を示すイベントはない。ここで「宛先発見」は正しい。「緊急通報成功」は観測されていない。
RFC 5222はLocation-to-Service Translationを定義する。役割は、位置情報とサービス識別子を一つ以上の連絡用URIに写像することだ。URIは次の処理が向かう座標であり、その処理の完了通知ではない。
locationUsed は採用した入力を指す
要求には複数の location を入れられる。サーバは理解できる要素を選び、そのIDを locationUsed で返す。この仕組みがなければ、どの場所表現が結果を決めたのかを後から特定できない。
ただし、そのIDは位置取得の履歴を持たない。測定主体、測定時刻、誤差、端末の移動、利用者との対応関係は別の証拠である。RFC 4119はGEOPRIV位置オブジェクト、RFC 5139は市民住所形式、RFC 5491はPIDF-LO利用上の条件を扱う。RFC 5985、RFC 5986、RFC 6155は位置配送、LIS発見、デバイス識別をさらに分離する。
この分業から、書式の妥当性と現実の現在地を同一視できないことが分かる。LoSTは古い位置を正しく処理できる。その場合、プロトコル実装は正しくても運用結果は適切でない。
市民住所検証も目的が限定される。validateLocation=true に対して、サーバは住所要素を valid、invalid、unchecked に分けられる。validは写像に使えたこと、uncheckedは検査も利用もしていないことを意味する。矛盾した郵便番号と都市名のどちらを採るかはローカル方針になり得る。これは住所トークンの写像適合性であり、人の在席証明ではない。
更新時刻と有効期限は別物である
各マッピングには source、sourceId、lastUpdated が必要だ。権威ある生成元が値を作り、キャッシュは変更しない。同じsource/sourceIdに対して、より新しいlastUpdatedを持つ版が置換候補になる。
これで「どの版か」は説明できる。しかし「世界のどの状態か」までは説明できない。lastUpdatedは生成元がそのマッピングを更新した時刻であり、発呼者の移動時刻でも、URIの最終疎通時刻でも、応答機関の能力変更時刻でもない。
expires は再利用可能期間を示す。絶対時刻のほか NO-CACHE と NO-EXPIRATION がある。さらにRFC 5222は、サーバがやむを得ず期限切れマッピングを通常の応答として返す場合を認め、クライアントに期限確認とローカル判断を求める。
位置移動もキャッシュを無効化する。期限内でもサービス領域外へ出れば再問い合わせが必要だ。従って最低でも、位置観測時刻、lastUpdated、expires、再利用判断時の位置、シグナリング開始時刻を別々に保持する必要がある。最新のログ時刻一つで上書きしてはならない。
NO-EXPIRATION は、マッピング自身が期限を設けないという宣言である。URIや組織、ネットワークが永遠に不変だという保証ではない。
境界参照を受け取っても、境界を検査したことにはならない
サービス境界は値として返せる一方、serviceBoundaryReference としてsourceとkeyだけを返すこともできる。クライアントは希望を示せるが、最終選択はサーバにある。
参照の場合、クライアントは指定された権威サーバへ直接 getServiceBoundary を送る。この処理は再帰しない。ここには二段階のレシートがある。マッピングがどの参照を示したか、そしてその参照から実際にどの境界を取得したかである。
参照を解決していなければ、現在地が領域内だと検査したとは言えない。取得した図形とsource/key、版、比較時刻を結び付けなければ、境界は由来不明のデータになる。RFC 5582が示す広いアーキテクチャでも、境界は回答を再利用できる条件であって、恒久的な支配権ではない。
再帰の経路は透明性を増すが、万能な信頼連鎖ではない
再帰モードでは、最初のサーバが依頼者の代わりに次のサーバを照会する。反復モードでは、次に尋ねるべきサーバへのリダイレクトを返す。path の via は関与したLoSTサーバを残し、ループや警告の発生点を調べやすくする。
それでもpathは、DNS発見、TLS名検証、同期の最新性、各ローカル方針、最終URIの到達性を一括証明しない。RFC 5223はDHCPによるLoSTサーバ発見を定義し、RFC 8917は検証サービスに固有の発見タグを追加した。RFC 5069は緊急通報の標識と写像に対する脅威を整理する。
RFC 5222はTLS実装を必須とし、利用とサーバID検証を推奨する。これは改ざんやキャッシュ汚染、偽サーバを抑える。しかしTLSは、送られてきた位置の正しさも、相手先が応答することも証明しない。
HTTPの成功とLoSTの意味は分けて読む
LoSTの警告やエラーを含むすべての応答はHTTP 2xx、通常は200 OKで運ばれる。HTTP監視だけでは、XMLが正確なマッピング、既定マッピング、リダイレクト、エラーのどれを含むか分からない。
locationValidationUnavailable は検証要求を満たせなかったままマッピングを返せる。serviceSubstitution は要求サービスが別のURNに置き換わったことを示す。defaultMappingReturned は要求位置を解決できず、近隣PSAPなどの既定URIを返したことを示す。
既定値は有用な救済策になり得る。だからこそ警告を消してはいけない。「完全に失敗しなかった」と「正確な管轄先が得られた」は異なる。
凍結したRFC Editorのerrata一覧には、Verified 2件、Reported 1件、Held for Document Update 2件がある。規格の地位ではなく、実装がどの本文と訂正を採用したかを記録する必要がある。
同期署名はクライアントの通話まで署名しない
RFC 6739はLoSTノード間でマッピングを同期する。source/sourceId/lastUpdatedを比較に使い、受信マッピングの改変を禁じ、権限のない参加者が領域を主張できないよう権威サーバに配布マッピングの署名を求める。
この署名はバックエンド配布の出所と完全性を強くする。一方、クライアントが問い合わせたリゾルバが最新版を受信済みか、選択済みか、キャッシュ判断が適切か、返却URIでセッションが成立したかは別の事実だ。
RFC 5031はサービスURNを定義する。RFC 5012は緊急コンテキスト解決の要件、RFC 6881は緊急通報を支える端末と網のベストプラクティスを述べる。サービス種別、宛先選択、通話成立は連続するが別々の責任である。
証跡は短い結論より長くなる
必要な順序は、位置の出所と時刻、採用位置IDとprofile、市民住所検証、サービスURN、発見・DNS・TLS、再帰とリダイレクト、マッピング版、期限と移動判定、境界、URIと警告、セッション、応答・結果である。
途中までしか証跡がないなら、結論も途中で止める。LoST成功は「どこへ連絡を試みるかが得られた」という強い事実だ。それを「連絡できた」に膨らませないことが、規格への最も実務的な敬意になる。
Sources
- RFC 5222
- RFC 5222 Datatracker
- RFC 5222 status
- RFC 5222 history
- RFC 5222 errata
- RFC 5139
- RFC 4119
- RFC 5491
- RFC 5012
- RFC 5031
- RFC 5223
- RFC 6739
- RFC 6881
- RFC 5582
- RFC 5069
- RFC 8917
- RFC 5985
- RFC 5986
- RFC 6155
- Heng Lu — Running-Code Primacy
- Heng Lu — Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
