成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

速度法拉利 Google DNS服務器提速技術揭秘

原創
運維 服務器運維
Google推出了“Google免費公共DNS服務器”據Google官方聲稱,Google DNS的目標是速度、安全性和有效性,它意味著完全沒有劫持、沒有阻截、沒有過濾的DNS查詢,而且速度飛快。那么為什么Google敢說自己的DNS服務器速度快呢?Google官方出具了一份文檔說明,我們這就來看一看。

【51CTO.com獨家特稿】Google推出了“Google免費公共DNS服務器”據Google官方聲稱,Google DNS的目標是速度、安全性和有效性,它意味著完全沒有劫持、沒有阻截、沒有過濾的DNS查詢,而且速度飛快。那么為什么Google敢說自己的DNS服務器速度快呢?Google官方出具了一份文檔說明,我們這就來看一看。

傳統的DNS服務器緩慢的原因

隨著網頁越做越復雜,引用的資源可能來自多個域,于是DNS查找成為網頁瀏覽過程的瓶頸。無論何時,客戶端需要查詢DNS服務器的時候,由于要查詢的DNS服務器數量和它所處的地理位置不同,時間延遲有很大的差異。例如,下圖顯示由PageSpeed測量出的瀏覽一個網頁時時間都花到哪些動作上了,每個條塊表示網頁中引用的一個資源,黑色區域表示DNS查找所花掉的時間,在這個頁面中,前11秒執行了13次DNS查找,雖然很多查找是并行執行的,圖中顯示仍然有5個串行查找時間,它們就占據了11秒的大部分時間。

 

圖 1 PageSpeed報告的頁面瀏覽過程各個操作的時間

DNS延遲由兩部分組成

1、在客戶端(用戶)和DNS服務器之間的延遲,受網絡通信情況的約束,這個時間所占的比例是非常大的,如客戶端和服務器之間的距離,網絡擁塞,數據包丟失和長時間重傳延遲,服務器本身超載運行,拒絕服務攻擊等。

2、DNS服務器之間的延遲,這種延遲主要是以下因素造成的:

(1)緩存丟失。如果某個查詢請求不能從緩存中直接返回結果,請求就會遞歸查詢其它DNS服務器,如果遇到根服務器出現這種問題,那影響更厲害。

(2)如果DNS服務器超載運行,所有查詢請求必須排隊。

(3)惡意流量。拒絕服務器攻擊可以給DNS服務器帶來過度的負載。

我們認為緩存丟失是DNS延遲最主要的因素。

緩存丟失

即使DNS服務器有充足的本地資源,但與遠程DNS服務器之間的延遲是不可避免的,當本地緩存丟失時,解析器至少需要和一個其它DNS服務器溝通,有時甚至是兩個或多個,通過對Google搜索的觀察,我們發現平均每次解析時間需要130毫秒,由于UDP包丟失或服務器不能響應,大約有4-6%的搜索請求會超時。如果我們采取措施解決如數據包丟失,死掉的DNS服務器,或DNS配置錯誤,那響應時間會上升到300-400毫秒。

雖然各個DNS緩存丟失率不盡相同,但由于以下原因,緩存丟失是不可避免的:

1、互聯網規模在不斷變大。隨著互聯網爆炸式增長,不斷有新用戶和新的網站加入,互聯網內容已經非常龐大。

2、TTL值。DNS TTL值降低的趨勢迫使任何解析都需要頻繁的查找。

3、緩存隔離。DNS服務器通常都采用了負載均衡技術,每個獨立的服務器都維護一份獨立的緩存,而不能共用共享緩存池中的解析。

Google免費公共DNS服務器如何提高DNS查找速度

在Google公共DNS中,我們采用了多種技術手段來提高DNS查找速度,其中一些方法是實驗性質的,另外一些是遵循標準的。

1、充分配置服務器處理來自客戶端的通信,包括惡意流量。

2、預防DoS和放大攻擊,雖然這是一個安全問題,但阻止DoS攻擊可以提高DNS服務器處理正常請求的能力。

3、共享緩存負載均衡,提高跨服務器集群的緩存命中率。

4、域名預取技術??朔鹘y的被動式緩存缺陷,我們將通過這個技術滿足流量有限和緩存分區等技術挑戰。

5、提供給全球用戶使用。

Google免費公共DNS服務器提速法寶一:正確配置服務器集群

緩存DNS解析器必須執行比權威服務器更多的工作,因為很多響應不能直接從內存中找到結果,相反,它們需要與其它域名服務器通信,因此需要大量的網絡I/O。此外,開放式解析器容易遭受攻擊,如發送一些不能解析的全球,這增加了緩存丟失率,同時DoS攻擊會增加通信負載。如果解析器沒有正確配置集群,合理分配工作負載,可能也會帶來負面的性能影響。如數據包被丟掉,需要重傳,抵達域名服務器的請求必須排隊等。所有這些因素都會引起延遲。

因此,為DNS解析器提供大容量的I/O非常重要,包括處理可能的DoS攻擊,唯一有效的方法就是提供非常多的服務器,同時,增加服務器最重要的就是不能降低緩存命中率,這需要采用有效的負載均衡策略。

Google免費公共DNS服務器提速法寶二:共享緩存負載均衡

如果負載均衡配置不當,增加服務器反倒會降低緩存命中率,在一個常見的部署中,多臺服務器位于一臺負載均衡器背后,使用諸如循環這樣的簡單算法來分配請求,這樣做的結果是每臺服務器維護它們自己的獨立緩存,因此緩存內容是孤立的。如果每個請求根據通信情況被隨機分配,緩存丟失率將不斷增長,例如,對于那些長TTL重復查詢的域名,緩存丟失率會隨集群中服務器數量的增加而增長。

為了提高緩存命中率,最重要的是負載均衡,避免緩存分散在各個服務器上,目前有兩種方法:一是使所有服務器使用全局緩存,二是按域名將緩存分區,所有同一域名的查詢就會被定向到同一臺服務器。在Google公共DNS中,我們同時使用了這兩種技術,每臺服務器都共享一個小的全局緩存,包括最流行的域名,這些服務器負載均衡就很好控制了,如果這些緩存不能滿足查詢,它會根據域名將請求發給另一個服務器,所有相同域名的查詢都會發給同一臺服務器。

Google免費公共DNS服務器提速法寶三:域名預取技術

隨著互聯網規模的擴大,傳統解析器命中率有些限制,它們一般緩存的都是比較流行的域名,我們希望也能夠處理冷門的域名,在傳統DNS服務器上,由于這些冷門域名訪問次數較少,過不了多長時間就會過期,就會從緩存中清除。

為了實現這些目標,我們正在試驗域名預取技術,當前主要面臨兩大挑戰:

1、考慮其他域名服務器的限制。為了確保我們的預取技術不會給其它域名服務器帶來過多的負載,我們隊我們的傳出請求做了限制,確保其它服務器的容量不被用盡。

2、管理我們自己服務器的容量限制。由于我們的服務器沒有無限的內存和CPU,在挑選域名預取服務器時要謹慎。此外,為了保護緩存不被偽造的攻擊吃掉,我們將主要緩存分成主/次分區,并根據流量類型授予每個分區上的讀/寫權限。

為了最大限度使用固定域名服務器,我們需要權衡每個域名記錄的成本,不過要確定每個域名的成本是一項復雜的任務,因為我們想實現以下所有目標,其中一些是相互沖突的:

1、最小化緩存丟失。這意味著我們不需要預取流行的域名,因為考正常的用戶訪問流量足以保證它不被清除出緩存。

2、即使我們的服務器正在遭受拒絕服務攻擊,但仍然要為流行的域名提供服務在,這意味著我們需要預取流行的域名。

3、避免假域名污染攻擊,這意味著我們不能完全依靠域名來選擇流量。

4、保持選中的域名更新,我們須臾根據流行度,成本等因素調整候選域名。

域名選擇問題的復雜性使得它不能在線完成,因此我們將預取系統分成了兩部分:管道組件,它是一個外部運行的,脫機的,周期性的過程,它選擇域名提交到預取系統;另一個是運行時組件,定期根據它們的TTL窗口解析選中的域名。

管道組件綜合來自各個不同源的域名,主要是Google搜索索引和最近的Google公共DNS服務器日志,根據效益進行排列,效益是各種因素的結合,包括命中率、緩存丟失成本和知名度。管道然后參照TTL成本,重新對所有記錄進行排列,從頂部選擇所有域名,知道成本預算用盡,管道不斷更新選定的域名,運行時組件解析選中的域名記錄,并根據它們的TTL設置刷新它們。

Google免費公共DNS服務器提速法寶四:分布式DNS服務集群

對于封閉式解析器,不存在這個問題,但對于開放式解析器,服務器越接近用戶越好,他們在客戶端看到的延遲會更少,此外,足夠的地域覆蓋也是保證端到端低延遲的重要手段,域名服務器通常會返回優化后的結果,也就是說,如果一個內容提供商在全世界都托管了他們的鏡像站點,該提供商的域名服務器將會返回離訪問IP最近的IP地址。

Google公共DNS托管在全球的數據中心中,并使用選播路由將用戶轉向最近的數據中心。

注意,由于域名服務器根據解析器的IP地址而不是用戶的IP地址作為定位依據的,Google公共DNS服務器和其它開放式DNS服務有相同的限制:用戶可能不會被定向到本地DNS提供商的服務器。這可能導致某些網站瀏覽起來仍然很慢。

【51CTO.com譯稿,非經授權請勿轉載。合作站點轉載請注明原文譯者和出處為51CTO.com,且不得修改原文內容?!?

【編輯推薦】

  1. Google大腳踢向DNS服務器 OpenDNS做出五項回應
  2. Google稱自己的公共DNS服務速度更快安全性更高
  3. Google為何推出公共DNS服務器
責任編輯:桑丘 來源: 51CTO.com
相關推薦

2020-04-20 13:39:49

網絡安全投資網絡安全網絡安全框架

2014-11-10 10:15:59

云技術OpenStack開源

2012-04-17 09:55:16

法拉利黑莓RIM

2009-12-04 10:27:45

公共DNS服務器

2023-03-21 17:21:51

2012-04-17 16:09:48

黑莓

2016-03-20 17:45:39

2011-07-22 13:55:48

架構

2010-01-29 09:47:45

DNS服務器Google

2009-12-04 09:42:44

Google免費公共D

2012-10-17 10:00:53

虛擬化

2019-01-10 11:12:15

Nginx服務器架構

2009-12-04 09:58:51

DNS服務器

2009-11-23 17:23:59

DNS服務器內部建立

2010-01-04 16:46:44

Ubuntu DNS

2010-02-06 15:35:31

Ubuntu DNS

2010-01-04 16:54:00

Ubuntu DNS

2009-12-04 10:17:47

公共DNS服務

2009-08-15 10:47:14

DNS服務器技術檢查排除網絡故障

2010-05-19 17:06:33

Subversion服
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产乱码久久久久久久久 | 91啪影院 | 午夜小视频在线播放 | 91看片网 | 青久草视频 | 亚洲日韩第一页 | 国产激情在线播放 | 精品日本久久久久久久久久 | 亚洲深夜福利 | 一级在线观看 | 欧美国产一区二区三区 | 欧美a在线 | 欧美一级在线观看 | 精品久久国产 | 九九综合 | 日日久 | 欧美日韩黄色一级片 | 久久九九99| 久久综合入口 | 亚洲欧美一区二区三区1000 | 日韩视频一区二区 | 亚洲综合视频 | 一级黄色影片在线观看 | 国产不卡一区 | 99在线国产 | 免费永久av | 亚洲电影一区 | 91传媒在线观看 | 2023亚洲天堂 | 国产精品亚洲精品日韩已方 | 麻豆av一区二区三区久久 | 久久久久亚洲视频 | 久久99精品久久久久久琪琪 | aaa一区| 日本一卡精品视频免费 | 精品国产欧美一区二区 | 亚洲一区二区三区免费视频 | 欧美日韩久 | 国产一区二区三区四区在线观看 | 欧美精品video | 久久99国产精品 |