LLMNR定義
在DNS 伺服器不可用時,DNS 客戶端計算機可以使用本地鏈路多播名稱解析 (LLMNR—Link-Local Multicast Name Resolution)(也稱為多播 DNS 或 mDNS)來解析本地網段上的名稱。例如,如果路由器出現故障,從網路上的所有 DNS 伺服器切斷了子網,則支持 LLMNR 的子網上的客戶端可以繼續在對等基礎上解析名稱,直到網路連線還原為止。
除了在網路出現故障的情況下提供名稱解析以外,LLMNR 在建立臨時對等網路(例如,機場候機區域)方面也非常有用。
LLMNR工作過程
(1) 主機在自己的內部名稱快取中查詢名稱。如果在快取中沒有找到了名稱,那么主機就會向自己配置的主DNS伺服器傳送查詢請求。如果主機沒有收到回應或收到了錯誤信息,主機還會嘗試搜尋配置的備用DNS伺服器。如果主機沒有配置DNS伺服器,或者如果在連線DNS伺服器的時候沒有遇到錯誤但失敗了,那么名稱解析會失敗,並轉為使用LLMNR。
(2) 主機通過用戶數據報協定(UDP)傳送多播查詢,查詢主機名對應的IP位址,這個查詢會被限制在本地子網(也就是所謂的鏈路局部)內。
(3) 鏈路局部範圍內每台支持LLMNR,並且被配置為回響傳入查詢的主機在收到這個查詢請求後,會將被查詢的名稱和自己的主機名進行比較。如果沒有找到匹配的主機名,那么計算機就會丟棄這個查詢。如果找到了匹配的主機名,這台計算機會傳輸一條包含了自己IP位址的單播信息給請求該查詢的主機。