不久前,字節跳動旗下的火山引擎正式上線TrafficRoute解析調度套件,讓國內用戶又有了一個新的公共DNS可選。根據火山引擎方面的說法,這一新的套件提供了從公網到私網、從遞歸到權威的全鏈路DNS服務,以及基於DNS的流量調度服務,其中包含雲解析(DNS)、雲調度(GTM)、私網解析(PrivateZone)、移動解析(HTTPDNS)、公共解析(PublicDNS)。
目前,字節跳動的公共DNS僅支持IPv4協議,主DNS的IP為180.184.1.1、備用DNS的IP為180.184.2.2 ,當前僅提供基本的DNS解析功能。但是根據官方公佈的信息顯示,後續該DNS將支持DoH、DoT和DoQ加密DNS查詢協議,至於IPv6版本則暫未有詳情透露。
在產品介紹中表明,字節跳動所提供的公共DNS採用了BGP Anycast技術,具有高性能、可靠、安全等特點,並且其在全國提供了多個接入點,當用戶發起請求時會轉發至最近的節點。此外,該DNS還會緩存DNS記錄,當用戶請求命中緩存時,則無需向權威DNS服務器發送請求、即可快速返回解析結果,並且其還使用了流量清洗和IP黑名單等抗DDoS攻擊的方案,字節跳動方面也強調絕不會利用公共DNS來劫持用戶。
事實上,DNS是Domain Name System的縮寫,也是互聯網中的一項核心服務,用於實現域名和IP地址相互映射的一個分佈式數據庫,它的核心工作是將域名翻譯成可由計算機識別的IP地址,使得用戶可以更快速、便捷的訪問互聯網。眾所周知,互聯網連通的是全球,所以單一的域名服務器顯然不足以支撐全部的地址轉換操作,這一點早在先驅們設計互聯網底層架構時就有著清晰的認知。
由於互聯網採用了層次樹狀結構的命名方式,所以任何一個連接在互聯網上的主機或路由器都有一個唯一的層次結構名字,也就是所謂的域名。但問題是域名作為互聯網中的“門牌號碼”,它是人類可讀名稱、也就是給人看的,計算機看的卻是IP地址。比如說通過在瀏覽器地址欄輸入網站的網址或其所對應的IP地址,訪問的都是同一個網站。
那麼IP地址和域名是怎麼對應上的呢?靠的就是電腦裡的Hosts文件。這玩意主要是將一些常用的網址域名與其對應的IP地址建立一個關聯數據庫,當用戶在瀏覽器中輸入一個需要登錄的網址時,系統會首先自動從Hosts文件中尋找對應的IP地址,一旦找到就會立即打開對應的網頁。
但遺憾的是,Hosts文件畢竟是有限的,就好像微信裡肯定加不滿全世界每一位微信用戶的好友一樣,Hosts文件只會存儲類似於微軟、谷歌、亞馬遜等知名網站的域名和IP,類似於我們三易生活這樣的肯定不在其中。所以這時候DNS服務器就出場了,一旦用戶的瀏覽器在系統的Hosts文件裡找不到域名所對應的IP,就會將網址提交DNS服務器來進行IP地址的解析。
通常來說,DNS服務器是由寬帶運營商負責提供,那為什麼字節跳動會“重複造輪子”呢?當然是因為用戶有需求。許多朋友大概率都碰到過這樣的情況,那就是QQ明明可以登錄、遊戲也能正常玩,可網頁就是打不開。去搜索解決方案時會發現需要修改DNS服務器的地址,比如改成大名鼎鼎的8.8.8.8、國內知名的114.114.114.114,乃至如今字節跳動提供的180.184.1.1。
更為重要的是,有一些DNS服務提供商是會作惡的。因為DNS服務器是負責告訴你的電腦,A網站的IP地址是AAA、B網站的IP地址是BBB,可如果DNS服務器告訴你A網站的地址是BBB呢?此時用戶明明想要訪問A網站,結果卻被導向了B網站。又或者說DNS服務器在返回用戶瀏覽器的信息中,用寫入JavaScript等方式“附贈”一段額外的信息,來讓瀏覽器顯示廣告,這就是所謂的DNS劫持。
毫無疑問,DNS劫持對於網絡訪問的影響和體驗是非常嚴重的,所以這時候大家勢必就會下意識的尋找替代品,此時字節跳動提供的公共DNS就成為了一個可選項。當然,字節跳動也不是做慈善的,因為公共DNS服務其實是分析互聯網流量構成的重要工具之一,它的原理就決定了字節跳動藉助公共DNS可以知道哪些IP地址被經常訪問,而這則是極其有價值的數據。
“貴”並不是理由,淺析智能手錶的無線充電難題
在旗艦手機上已成為標配的無線充電,在智能手錶上卻並未普及。