ESP8266入門指南-多點廣播域名系統(mDNS)

文章目錄標題

DNS

不斷的輸入IP地址很麻煩,並且不可能記住所有您喜歡的網站IP,尤其如果它們是使用IPv6。
這就是導入域名的原因:一個容易記憶的簡單字串,例如www.google.com
 
但是,要將請求發送到網站,您的計算機仍然需要知道其IP地址。這就是DNS的來源。它代表網域名稱系統,是一種將網站的域名轉換為其IP地址的方法。在Internet上,有很多DNS服務器。每個DNS服務器都有一長串域名及其對應的IP地址。設備可以連接到DNS服務器並發送域名,然後DNS服務器將使用所請求網站點的IP地址進行回應。
可以將其與電話目錄進行比較:尋找名稱以找到相應的電話號碼。
 
DNS的搜尋是在後台進行:當您在瀏覽器中訪問網站時,它將首先向DNS服務器發送請求(這意味著計算機知道DNS服務器本身的IP地址),等待回應尋找,然後將實際請求發送到正確的IP地址。
 

mDNS

DNS非常適合Internet上的普通站點,但是大多數區域網路沒有自己的DNS服務器。這意味著您無法使用域名訪問本地設備,而使用IP地址則陷入困境…
 
這時,還有另一種方法:多點廣播DNS或mDNS。
mDNS使用帶有.local後綴的域名,例如http://esp8266.local。如果您的計算機需要向以.local結尾的域名發送請求,它將向支持mDNS的LAN上的所有其他設備發送多點廣播查詢,並要求具有該特定域名的設備標識自己。名稱正確的設備隨後將以另一個多點廣播回應並發送其IP地址。現在您的計算機知道設備的IP地址,它可以發送正常的請求了。
 
對我們來說比較幸運的是,ESP8266 Arduino Core支持mDNS,我們測試Arduino IDE的檔案/範例/ESP8266mDNS/mDNS_Web_Server這支程式碼:
 
上傳程式碼並再次打開ping。嘗試ping到esp8266.local:
 
可以看到,Ping會自動為您找到ESP的IP地址。
您也可以通過更改參數來變更ESP的域名MDNS.begin

發佈留言