DNS 是由解析器和域名服務器組成的。域名服務器是指保存有該網絡中所有主機的域名和對應IP地址,並具有將域名轉換為IP地址功能的服務器。其中域名必須對應一個IP地址,而IP地址不一定有域名。域名系統采用類似目錄樹的等級結構。
80年底初發明DNS的主要原因是隨著互聯網上主機數量的不斷上升,通過本地的hosts.txt文件找到對方越來越困難,也越來越不可靠 .DNS成功解決了這一問題,總體看很健壯,規模應用的擴展性也很好,也很容易延伸到一些新的領域(如IPv6, E.164)。
作為互聯網關鍵基礎設施的DNS,目前仍然存在4個方面的主要問題:
技術方面:RFC1035規定DNS協議基於UDP,最長只能是512字節,全球最多只能有13台根服務器,IP分片難以處理,DNSSEC和IPv6也難以支持等。解決的方案提出了兩個,一是雖然做了ENDS0的擴展但實際應用的很少,二是鼓勵基於TCP的DNS但可能會帶來更大的問題。其他的問題還有緩沖區投毒,無法知道非法的gTLD和ccTLD而導致的根服務器污染,UDP的欺騙攻擊,DNSSEC中的根密鑰管理和更新問題等,與IPv6共存時DNS串行解析增加的新延遲,利用相似字符進行網絡釣魚等。
實現方面:常用的名字服務器軟件(BIND和Windows)歷史上有一些可以被利用的安全漏洞,可用來做投毒、中間人攻擊和DOS攻擊等,尤其是在遞歸解析時。另外,由於無效TLD、重復解析和源地址錯誤(如RFC1918)等,根服務器上75%-98%的流量實際上是沒必要的,缺少緩存、UDP缺乏循環監測機制和anycast以及超額部署DNS,都污染了DNS.另外,WEB浏覽器也喜歡為應用增加一些沒法解析的名字上去。
運營方面:如不合格的代理機構,網絡的差異性,開放的解析軟件,沒有SOA,名字服務器復雜的相互依賴,TTL的設置,名字空間的隨意擴展,把DNS當作負載均衡技術用等。
注冊方面:市場的混亂,無需多言。
下面就DNS的重定向的缺陷,作出如下分析:
這一種路由解決方案,由於充分利用了現有的網絡結構,結構簡單,因而被人們認為是一種有效的技術,是現階段CDN 應用中主要采用的路由技術。但是,它的性能瓶頸非常突出。
(1)DNS 重定向的RTT 遠大於內容服務器提供內容的RTT.需要花較長的往返時間去定位離用戶非常近的內容服務器。重定向的過程包括了訪問遠端根DNS、重定向DNS 服務器的過程 .相反,最後訪問的內容服務器離用戶卻很近。顯而易見,DNS 重定向耗費的RTT遠大於用戶訪問內容服務器的RTT .RTT 成了CDN 性能提高的瓶頸之一。
(2) 當我們提高網絡帶寬,則縮短了用戶請求,到達根DNS ,重定向服務器的時間。DNS 海量數據的查詢、重定向DNS 復雜的定位選擇過程的延遲,無形中造成了網絡性能提高的又一瓶頸。