日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HttpDNS与传统DNS的区别

發(fā)布時間:2024/4/15 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HttpDNS与传统DNS的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、DNS

1、什么是DNS

DNS(Domain Name System,域名系統(tǒng)),DNS 服務(wù)用于在網(wǎng)絡(luò)請求時,將域名轉(zhuǎn)為 IP 地址。能夠使用戶更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機器直接讀取的 IP 數(shù)串。

傳統(tǒng)的基于 UDP 協(xié)議的公共 DNS 服務(wù)極易發(fā)生 DNS 劫持,從而造成安全問題。

2、DNS 域名系統(tǒng)結(jié)構(gòu)

Root 域名:DNS 域名使用時,規(guī)定由尾部句號來指定名稱位于根或更高級別的域?qū)哟谓Y(jié)構(gòu)

Top Level 頂級域名:用來指示某個國家、地區(qū)或組織使用的名稱的類型名稱。如 .com

Second Level 域名:個人或組織在 Internet 上使用的注冊名稱。如 taobao.com

Third Level 域名:已注冊的二級域名派生的域名。如 www.taobao.com

3、DNS解析過程

當(dāng)一個用戶在地址欄輸入www.taobao.com時,DNS解析有大致十個過程,如下:

  • 瀏覽器查緩存:瀏覽器先檢查自身緩存中有沒有被解析過的這個域名對應(yīng)的ip地址,如果有,解析結(jié)束。同時域名被緩存的時間也可通過TTL屬性來設(shè)置。

  • 操作系統(tǒng)緩存:如果瀏覽器緩存中沒有,瀏覽器會檢查操作系統(tǒng)緩存中有沒有對應(yīng)的已解析過的結(jié)果。而操作系統(tǒng)也有一個域名解析的過程。

    # 查看 windows 本地緩存DNS 解析記錄的命令C:\Users\Admin>ipconfig /displaydns --->> 查看命令# 清除 windows 客戶端本地緩存的DNS 解析記錄的命令C:\Users\Admin>ipconfig /flushdns# windows 系統(tǒng)下的hosts 域名解析記錄的位置C:\Windows\System32\drivers\etc\hosts

    ?

  • 請求本地域名服務(wù)器(LDNS):如果至此還沒有命中域名,才會真正的請求本地域名服務(wù)器(LDNS)來解析這個域名,這臺服務(wù)器一般在你的城市的某個角落,距離你不會很遠,并且這臺服務(wù)器的性能都很好,一般都會緩存域名解析結(jié)果,大約80%的域名解析到這里就完成了。

  • Root Server 域名服務(wù)器:如果LDNS仍然沒有命中,就直接跳到Root Server 域名服務(wù)器請求解析

  • 根域名服務(wù)器返回給LDNS一個所查詢域的主域名服務(wù)器(gTLD Server,國際頂尖域名服務(wù)器,如.com .cn .org等)地址

  • 此時LDNS再發(fā)送請求給上一步返回的gTLD

  • 接受請求的gTLD查找并返回這個域名對應(yīng)的Name Server的地址,這個Name Server就是網(wǎng)站注冊的域名服務(wù)器

  • Name Server根據(jù)映射關(guān)系表找到目標ip,返回給LDNS

  • LDNS緩存這個域名和對應(yīng)的ip

  • LDNS把解析的結(jié)果返回給用戶,用戶根據(jù)TTL值緩存到本地系統(tǒng)緩存中,域名解析過程至此結(jié)束

  • )LocalDNS服務(wù)器

    如果 hosts 與本地解析器緩存都沒有相應(yīng)的網(wǎng)址映射關(guān)系,則本地解析器會向 TCP/IP 參數(shù)中設(shè)置的首選 DNS 服務(wù)器(我們叫它 Local DNS 服務(wù)器,本地DNS服務(wù)器)發(fā)起一個遞歸的查詢請求。

    Local DNS 服務(wù)器,這臺服務(wù)器一般在你的城市的某個角落,距離你不會很遠,并且這臺服務(wù)器的性能都很好,一般都會緩存域名解析結(jié)果,大約80%的域名解析到這里就完成了。

    2)域名劫持

    瀏覽器中輸入 www.taobao.com,發(fā)出解析請求。本機的域名解析器 resolver 程序查詢本地緩存和 host 文件中是否為域名的映射關(guān)系,如果有則調(diào)用這個 IP 地址映射,完成解析。

    這種操作系統(tǒng)級別的域名解析規(guī)則也被很多黑客利用,通過修改你的hosts文件里的內(nèi)容把特定的域名解析到他指定的ip地址上,造成所謂的域名劫持。所以在windows7中將hosts文件設(shè)置成了readonly,防止被惡意篡改。

    如何解決?

    “域名劫持”的根源在于:域名服務(wù)器上的記錄被人給改了。最直接的辦法就是不要使用這種 ISP 提供的Local DNS 域名服務(wù)器,TCP/IP 參數(shù)中設(shè)置的首選 DNS 服務(wù)器,改用國外那些比較靠譜的。
    目前口碑最好的,大概是 Google 提供的兩個域名服務(wù)器,IP地址 分別是 8.8.8.8 和 8.8.4.4 ——這倆不光是地址好記,更重要的是,不會耍流氓。

    ?

    二、HttpDNS

    HTTPDNS 利用 HTTP 協(xié)議與 DNS 服務(wù)器交互,代替了傳統(tǒng)的基于 UDP 協(xié)議的 DNS 交互,繞開了運營商的 Local DNS,能夠有效避開 DNS 層面的攔截和故障,比如域名污染,域名遞歸服務(wù)器緩存不刷新,運營商域名劫持等問題,提高域名解析效率。

    另外,由于 DNS 服務(wù)器端獲取的是真實客戶端 IP 而非 Local DNS 的 IP,能夠精確定位客戶端地理位置、運營商信息,從而有效改進調(diào)度精確性,提高分發(fā)精準度,解決用戶 DNS 設(shè)置錯誤造成的訪問時延加大,響應(yīng)過慢的問題。

    1、HTTPDNS原理

    • 常規(guī)域名解析是通過 DNS 協(xié)議進行解析的,其最終結(jié)果就是獲取域名對應(yīng)的真實服務(wù)器地址,無法繞開 DNS 攔截和故障問題。
    • HTTPDNS 則是以 HTTP 的方式代替?zhèn)鹘y(tǒng) DNS 協(xié)議傳遞解析結(jié)果,能夠有效避開 DNS 層面的攔截和故障。
    • 客戶端直接訪問 HTTPDNS 接口(直接通過ip訪問,而不是通過域名訪問),根據(jù)客戶端源IP地址,查詢 CDN 內(nèi)部調(diào)度策略,通過響應(yīng)請求的方式,獲取域名的最優(yōu)節(jié)點 IP,緩存到本地。(基于容災(zāi)考慮,建議保留使用運營商 LocalDNS 解析域名的方式作為備選。)
    • 客戶端獲取到業(yè)務(wù) IP 后,就向直接往此 IP 發(fā)送業(yè)務(wù)協(xié)議請求。以 HTTP 請求為例,通過在 header 中指定 host 字段,向 HTTPDNS 返回的 IP 發(fā)送標準的 HTTP 請求即可。
    • 請求方式如:
    請求: curl http://106.2.xxx.xxx/d?dn=c.m.163.com 響應(yīng):{"dns":[{"host":"c.m.163.com","ips":["223.252.199.12"],"ttl":300,"http2":0}],"client":{"ip":"106.2.81.50","line":269692944}}

    HTTPDNS解決的問題

    1. 運營商域名劫持

    運營商為了減少跨網(wǎng)結(jié)算成本,會在本地運營商網(wǎng)內(nèi)搭建內(nèi)容緩存服務(wù)器。本地本網(wǎng)用戶訪問時,運營商把域名強行指向內(nèi)容緩存服務(wù)器的 IP 地址,從而把本地本網(wǎng)流量完全留在了本地,減少了跨網(wǎng)訪問

    為了獲取更多利益,部分運營商們還會將對應(yīng)解析內(nèi)容替換成第三方廣告聯(lián)盟的廣告或是釣魚網(wǎng)站等

    2. 轉(zhuǎn)發(fā)解析請求

    運營商的 LocalDNS 會存在解析轉(zhuǎn)發(fā)的情況,解析轉(zhuǎn)發(fā)是指運營商自身不進行域名遞歸解析,而是把域名解析請求轉(zhuǎn)發(fā)到其它運營商的遞歸 DNS 上

    客戶使用 CDN 加速服務(wù)后,當(dāng)解析被運營商轉(zhuǎn)發(fā), DNS服務(wù)端收到的域名解析請求的來源 IP 就成了其它運營商或其他地區(qū)的 IP (DNS 服務(wù)端會根據(jù)來源 IP 進行解析調(diào)度),那么用戶流量就被導(dǎo)向了錯誤的節(jié)點,造成跨域、跨省、跨運營商訪問后果:網(wǎng)站訪問緩慢甚至無法訪問。

    3. DNS 多出口

    DNS 多出口,是指運營商的 LocalDNS 按照標準 DNS 協(xié)議進行遞歸查詢時,由于存在網(wǎng)絡(luò)多出口且配置了目標路由 NAT 的情況,最終導(dǎo)致 LocalDNS進行遞歸解析的出口 IP 非本網(wǎng) IP 地址。DNS 多出口的情況會造成調(diào)度系統(tǒng)收到的域名解析請求來源 IP 變成其它運營商的 IP ,最終引發(fā)域名解析錯誤、流量跨網(wǎng)。

    4. DNS 攻擊

    當(dāng)前網(wǎng)絡(luò)攻擊越來越激烈,從歷史來看,每次攻擊的影響范圍都很大,主要攻擊類型:

    ① 針對公網(wǎng) dns 服務(wù)的攻擊,這個攻擊影響的是所有解析用戶。一旦受攻擊,意味著所有用戶的域名解析都會出問題,大家上網(wǎng)都會出現(xiàn)故障。

    ② 針對特定 dns 服務(wù)的攻擊,通常為 ddos 攻擊,網(wǎng)宿平臺可應(yīng)對,其余類型攻擊則影響網(wǎng)宿平臺該 DNS 服務(wù)的所有用戶。

    由于 CDN 加速是通過 CNAME 的方式別名到網(wǎng)宿入口,無論是公網(wǎng) DNS 受到攻擊還是網(wǎng)宿 DNS 受到攻擊,都將對客戶的服務(wù)造成嚴重影響,甚者直接導(dǎo)致區(qū)域服務(wù)中斷。

    總結(jié)

    以上是生活随笔為你收集整理的HttpDNS与传统DNS的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。