小村軟體有限公司
第 2 章

快取與 bailiwick — 能相信到哪裡

區分 referral、glue、bailiwick,整理出哪些資訊可以放進 cache。

前章回顧: 第 1 章中,我們確認了當 shared recursive resolver 的 cache 殘留偽造的 RRset 時,所有使用者都會收到相同錯誤答案的整體圖像。本章中,我們將整理 referral / glue / bailiwick,作為判斷「resolver 可以把什麼放進 cache」的依據。

委任時回傳的不是「最終 answer」而是「下一站」

recursive resolver 並不會一次就收到最終答案。父區域會回傳指向 child zone 之 NS 的 referral,resolver 再依這份指引前往下一台 authoritative server。

位置常見內容思考方式
ANSWER最終 RRset是否確實是所要名稱與型別的答案
AUTHORITYNS / SOA是 referral 還是否定回應
ADDITIONALglue / 輔助位址是前往下一站的立足點,還是無關的附加資料

練習 2-1 — glue 是作為橋樑的立足點

若 Additional 中含有對應 in-bailiwick NS 名稱的 A / AAAA,resolver 就更容易到達 child zone。

Q1. 父區域 example.comshop.example.com 委任給 ns1.shop.example.com,referral 的 Additional 中含有 ns1.shop.example.com A 192.0.2.53。對於這筆附加資訊的說明,最貼切的是哪一個?

思考這是否是到達子區域的「立足點」。

Q2. 在 dig 的輸出中,delegation 的 NS 群主要出現在哪個位置?

referral 指示的是「下一站」而非「最終 answer」。

bailiwick 判定的 3 種情境

Additional 中的記錄要如何處理,取決於它所在的委任範圍是在內側(in-bailiwick)還是外側(out-of-bailiwick)。

1. in-bailiwick glue
當委任目標的 NS 名稱位於子區域之下時的 A/AAAA。可作為推進委任的立足點使用。
2. out-of-bailiwick additional
在委任範圍外的名稱之記錄。不視為權威資料來相信,必要時另行解析。
3. 容易與最終 answer 混淆的例子
Additional 中的記錄不應被視為使用者所查詢名稱的最終 answer。

此處的判定是為了概念學習。實作細節各有不同,但「委任的立足點」與「無關的附加資料」要分開思考的觀點相當重要。

謹慎處理 out-of-bailiwick additional

若 referral 的 Additional 混入了 unrelated 的資料就會很危險。因此 resolver 的實作在判斷哪些範圍的 glue 要如何相信時,會格外嚴格。這種情境下常出現的概念就是 bailiwick

bailiwick 的語源: 原本是中世紀英格蘭法律中指「bailiff(執行官)的管轄區域」的法律用語,具有「某主體所負責範圍」的含義。在 DNS 的脈絡中,將其轉用為判斷 「是否在委任源區域所負責的名稱空間範圍內」 的觀念。出現在 referral 的 Additional 中的記錄,若位於該委任的範圍 (bailiwick) 之內,就稱為 in-bailiwick;位於之外,就稱為 out-of-bailiwick。

練習 2-2 — 謹慎處理 out-of-bailiwick additional

若 referral 的 Additional 中混入無關的資料就會很危險。bailiwick 是用來限制「哪些範圍的 glue 要如何相信」的觀念。

Q3.example.com 指向 ns.partner.net 的 referral 中,Additional 附帶了 ns.partner.net A 198.51.100.10。最保守的處理方式是哪一個?

確認那筆附加的 A 是否在 example.com 的管轄範圍內。

Q4. 關於 bailiwick 概念的主要目的,最貼切的是哪一個?

思考「在哪個範圍的介紹信上要嚴格對待其接受方式」。

Q5. 關於 Additional 中的 glue,正確的是哪一個?

glue 很方便,但它的角色是「橋樑」。

第 2 章重點整理

  • delegation 的 NS 主要出現在 AUTHORITY,作為立足點的 glue 出現在 ADDITIONAL
  • in-bailiwick glue 與 out-of-bailiwick additional 不應以相同的強度相信
  • bailiwick 是抑制無關附加資料混入的觀點