科普-DNS原理及解析過程

2022年10月16日20:45:10 科技 1256

概述

當前網絡通訊大部分採用的是tcp/IP協議,而TCP/IP協議的基礎是IP地址,所以計算機在網絡中進行通訊時只能識別由純數字構成的IP地址。但在實際的工作生活中,我們只需在瀏覽器地址欄中輸入一串簡單易記的域名,就能訪問到所對應的網站,在這個過程中發揮重要作用的就是dns。接下來我們就針對DNS的原理和解析過程做下簡單介紹。

什麼是DNS

DNS是Domain Name System的縮寫,翻譯成中文就是「域名系統」。DNS是互聯網中的一項核心服務,是用於實現域名和IP地址相互映射的一個分佈式數據庫,它將簡單明了的域名翻譯成可由計算機識別的IP地址,使用戶可以更快速便捷地訪問互聯。

互聯網連通的是全球資源,單一的域名服務器不足以支撐全部的地址轉換操作,因此全球有多套域名服務器相互配合使用。早在1983年互聯網就開始採用層次樹狀結構的命名方法,並使用分佈式的域名系統進行解析操作。這樣既提升了域名解析的效率,同時也保障了域名解析的穩定性,如果系統中單個域名服務器出現故障,不會對整個DNS系統的正常運行造成太大影響。

域名結構

互聯網採用了層次樹狀結構的命名方法。任何一個連接在互聯網上的主機或路由器,都有一個唯一的層次結構的名字,即域名。

域名的結構由標號序列組成,各標號之間用點隔開。類似於這樣:「….三級域名.二級域名.頂級域名」 。各級域名由其上一級的域名管理機構管理,而最高級的頂級域名則由ICANN進行管理。

科普-DNS原理及解析過程 - 天天要聞

域名由兩個或兩個以上的詞組成,常見域名為二級域名+頂級域名組成,所以一般我們會將域名分為頂級域名、二級域名,除此之外,還有國家代碼頂級域名。

域名服務器

科普-DNS原理及解析過程 - 天天要聞

互聯網上的DNS域名服務器也是按照層次劃分的,每一個域名服務器都只對域名體系中的一部分進行管轄。根據域名服務器所起的作用,可以把域名服務器劃分為四種不同的類型:

根域名服務器

在2016年之前全球一共擁有13台根服務器,1台主根服務器在美國,其他12台為輔根服務器,其中美國9台,英國1台,瑞典1台,日本1台,這13台根服務器主要管理互聯網的主目錄,主要作用IPV4

2016年,中國下一代互聯網工程中心領銜發起雪人計劃,旨在為下一代互聯網(IPV6)提供更多的根服務器解決方案,該計劃於2017年完成,其中包含3台主根服務器,中國1台,美國1台,日本1台,22台輔根服務器,中國3台,美國2台,印度和法國分別有3台,德國2台,俄羅斯、意大利、西班牙、奧地利、智利、南非、澳大利亞、瑞士、荷蘭各1台,共22台,從此形成了13台原有根加25台IPV6根服務器的新格局。

科普-DNS原理及解析過程 - 天天要聞

頂級域名服務器

頂級域名為域名最後一個.號右側部分的單詞,如mail.baidu.com的com就是頂級域名,頂級域名對應的服務器我們稱之為頂級域名服務器,除此之外,常見的頂級域名還有.NET,.TOP,.ORG等,他們都有各自的用途。

  • .COM:用於商業機構,沒有使用限制,所有人都可以註冊
  • .NET:最開始用於網絡組織,如服務商和維修商,現在沒有使用限制,所有人都可以註冊
  • .TOP:用於行業內的頂級企業或個人,所有人都可以註冊
  • .ORG:用於各種組織,如非盈利組織、教育組織等,現在所有人都可以註冊

常見的頂級域名除上述的之外,還有.CN,.UA,.JP等,這些是由兩個字母組成的,是各個國家專用的頂級域名,如.CN是中國專用的頂級域名,.JP是日本專用的頂級域名。

權威域名服務器

當一個權限域名服務器還不能給出最後的查詢回答時,就會告知發出查詢請求的DNS客戶,下一步應當找哪一個權威域名服務器。

如mail.baidu.com中的baidu.com就是二級域名,二級域名沒有固定的單詞,可以由各種字母和數組組成,mail是二級域名baidu.com的MX解析,以此類推,可能還有三級域名服務器,四級域名服務器。

本地域名服務器

本地域名服務器並不屬於下圖中的樹狀結構的DNS域名服務器,但是它對域名系統非常重要。當一個主機發出DNS查詢請求時,這個查詢請求報文就發送給本地域名服務器。每一個互聯網服務提供者ISP都可以擁有一個本地域名服務器。

DNS域名解析過程

下圖是域名解析的一個示例圖,它涵蓋了基本解析步驟和原理。

科普-DNS原理及解析過程 - 天天要聞

下面解析步驟進行講解,後面將採用命令行的形式來跟蹤解析過程。當用戶在地址欄鍵入並敲下回車鍵之後,域名解析就開始了。

第一步:檢查瀏覽器緩存中是否緩存過該域名對應的IP地址

用戶通過瀏覽器瀏覽過某網站之後,瀏覽器就會自動緩存該網站域名對應的地址,當用戶再次訪問的時候,瀏覽器就會從緩存中查找該域名對應的IP地址,因為緩存不僅是有大小限制,而且還有時間限制(域名被緩存的時間通過屬性來設置),所以存在域名對應的找不到的情況。當瀏覽器從緩存中找到了該網站域名對應的地址,那麼整個解析過程結束,如果沒有找到,將進行下一步驟。對於的緩存時間問題,不宜設置太長的緩存時間,時間太長,如果域名對應的發生變化,那麼用戶將在一段時間內無法正常訪問到網站,如果太短,那麼又造成頻繁解析域名。

第二步:如果在瀏覽器緩存中沒有找到IP,那麼將繼續查找本機系統是否緩存過IP

如果第一個步驟沒有完成對域名的解析過程,那麼瀏覽器會去系統緩存中查找系統是否緩存過這個域名對應的地址,也可以理解為系統自己也具備域名解析的基本能力。在系統中,可以通過設置文件來將域名手動綁定到某上,文件位置在。對於普通用戶,並不推薦自己手動綁定域名和,對於開發者來說,通過綁定域名和,可以輕鬆切換環境,可以從測試環境切換到開發環境,方便開發和測試。在系統中,黑客常常修改他的電腦的文件,將用戶常常訪問的域名綁定到他指定的上,從而實現了本地解析,導致這些域名被劫持。在或者系統中,文件在,修改該文件也可以實現同樣的目的。

前兩步都是在本機上完成的,所以沒有在上面示例圖上展示出來,從第三步開始,才正在地向遠程DNS服務器發起解析域名的請求。

第三步:向本地域名解析服務系統發起域名解析的請求

如果在本機上無法完成域名的解析,那麼系統只能請求本地域名解析服務系統進行解析,本地域名系統一般都是本地區的域名服務器,比如你連接的校園網,那麼域名解析系統就在你的校園機房裡,如果你連接的是電信、移動或者聯通的網絡,那麼本地域名解析服務器就在本地區,由各自的運營商來提供服務。對於本地服務器地址,系統使用命令就可以查看,在和系統下,直接使用命令來查看服務地址。一般都緩存了大部分的域名解析的結果,當然緩存時間也受域名失效時間控制,大部分的解析工作到這裡就差不多已經結束了,負責了大部分的解析工作。

第四步:向根域名解析服務器發起域名解析請求

本地域名解析器還沒有完成解析的話,那麼本地域名解析服務器將向根域名服務器發起解析請求。

第五步:根域名服務器返回gTLD域名解析服務器地址

本地域名解析向根域名服務器發起解析請求,根域名服務器返回的是所查域的通用頂級域()地址,常見的通用頂級域有、、、等。

第六步:向gTLD服務器發起解析請求

本地域名解析服務器向gTLD服務器發起請求。

第七步:gTLD服務器接收請求並返回Name Server服務器

服務器接收本地域名服務器發起的請求,並根據需要解析的域名,找到該域名對應的域名服務器,通常情況下,這個服務器就是你註冊的域名服務器,那麼你註冊的域名的服務商的服務器將承擔起域名解析的任務。

第八步:Name Server服務器返回IP地址給本地服務器

服務器查找域名對應的地址,將地址連同值返回給本地域名服務器。

第九步:本地域名服務器緩存解析結果

本地域名服務器緩存解析後的結果,緩存時間由時間來控制。

第十步:返回解析結果給用戶

解析結果將直接返回給用戶,用戶系統將緩存該地址,緩存時間由來控制,至此,解析過程結束。

這裡對解析的步驟進行了一個簡單的介紹分析,後面將通過命令行的形式來解析一個域名的具體解析過程。

AliDNS高可用架構

阿里巴巴集團於2009年收購萬網,2013年1月6日阿里巴巴集團宣布,旗下的阿里雲與萬網將合併為新的阿里雲公司,合併後「萬網」品牌將繼續保留,成為阿里雲旗下域名服務品牌。

作為國內最大的域名註冊服務商,早期萬網的域名解析基於開源bind搭建,由於bind在性能方面存在很大問題,安全防護能力差,以及不支持智能解析等原因,阿里雲接管萬網後走了自研DNS解析道路,取名為AliDNS

AliDNS的想法很快成為現實,通過對DNS 軟件進行升級改造、全面提升其可靠性和承載力,並依靠阿里巴巴集團強大的技術資源和實力,在全國部署多個節點提供高效穩定的解析調度,實現多機房雲計算集群自動宕機遷移,數據備份和回滾,系統性能監測實時報警,並使用自主研發的超百G流量清洗中心,可對攻擊行為迅速做出判斷跟蹤,並按照預案進行處理,確保域名解析服務穩定可靠!

AliDNS作為雲計算服務的入口,將逐步與阿里雲已有雲產品進行融合打通,成為雲產品大家庭中不可或缺的一份子,ECS、SLBRDSCDN等為用戶提供高效可靠的計算、存儲、網站加速和負載均衡服務,AliDNS提供強大穩定的解析調度入口,確保用戶能有順暢的訪問體驗。AliDNS的上線,使阿里雲的產品服務成為一個整體,為用戶提供一站式的服務體驗。

實現DNS高可用,主要靠降低出故障、故障後快速恢復。下圖是dns服務架構簡圖,分為管控層和解析層,後面分別描述這兩層如何實現高可用。

科普-DNS原理及解析過程 - 天天要聞

管控層

管控層最主要的兩個功能:DNS數據的持久化,DNS數據下發到adns(dnsserver)。

科普-DNS原理及解析過程 - 天天要聞

1 數據持久化

管控層接收用戶配置的域名數據後,持久化存儲在數據庫。利用了數據庫團隊的X-Cluster產品,實現數據的高可用,消除了運維誤操作等原因導致的數據丟失:
數據庫採用三地五副本,同城強同步方案部署;
數據庫各個節點間採用Paxos 協議選主,在任意階段出現問題後,數據內部自選主切換;
應用機房部署與數據庫解耦,可以任意機房部署;
在數據庫Leader 故障場景下,數據庫會自動發生切換,應用連入任意節點獲取當前Leader 位置後恢復應用業務。

2 數據下發

管控與adns之間,主要通過穩定的內部網絡來下發數據,數據傳輸出錯的概率低;
管控向adns發送數據時,有數據補償機制,對與下發失敗,做多次重試,如果重試都無法成功,報警轉人工處理。

解析層

解析層由adns集群組成,部署在全球的上百個idc機房,通過anycast發佈大量的服務ip。用戶向這些ip發送dns請求,獲取解析結果。
1 消除單點

解析層主要靠消除單點實現failover,來減少故障。

  • 主機到網絡:每台adns通過雙網口,雙上聯到兩個不同的交換機,避免網口單點、交換機的單點故障
  • 集群內:adns分成多個不同集群,每個集群內多台adns,這些機器向交換機發佈相同的IP,通過ECMP分發流量。同集群內DNS都是熱備的關係,當某台adns出問題,交換機把流量分發到其它服務器。
  • 集群間:多個不同的集群,發佈相同的ip,這些集群之間,通過網絡的anycast技術相互熱備,某個集群不可用,流量被轉到其它可用的集群。
  • NS IP:由於特殊原因(比如運營商黑洞等),個別IP全網都無法訪問。我們對每個NS配置多個IP,LocalDNS會基於SRTT算法,選擇出最短的rt的IP,將請求轉發過去,從而避開有問題的IP。

2 系統容量

監控系統實時監控各個服務器、集群的qps容量;
adns集群,部署上具備水平擴容能力,容量能達到機房的帶寬。

3 如何保證解析正確

部署數據對賬系統,對adns之間做數據對比,adns與管控的DB做數據對比;
部署撥測系統,對zone的soa做撥測,對特定域名的rr記錄做撥測;
通過上面的兩類手段,及時發現數據異常並作出響應,避免異常或者縮短異常的處理時間。
一般通過摘除有問題的服務器的路由,幾秒鐘即可生效。

4 安全防護

作為面向公網的服務,網絡攻擊無法避免,會影響系統可用性。我們採用了下面兩類安防手段,提高dns的可用性。
1) 網絡攻擊防護

常見的dns攻擊,是4層的ddos攻擊。對於超大流量的網絡攻擊,利用機房部署的aliguard,做網絡防護;
為了減少ddos防護系統對dns的影響,我們設置了很高的防護閾值,對應閾值之下的ddos攻擊,通過我們高性能的dnsserver(adns)來承載攻擊。
2) 應用安全

為了應對DNS投毒、欺騙等場景,我們的dnsserver,支持dnssec;
為了應對DNS劫持,我們支持有連接的協議,比如tcp、dns、httpdns、tls等,用戶可以根據自己的需求,選擇合適的安全方案。

AliDNS功能與性能

快速

解析實時生效,多線路智能分配,用戶設置解析記錄後,AliDNS只需5s就會將您的解析記錄同步到全國的DNS權威服務器上,服務器收到解析請求後,能夠在30ms內迅速給出解析結果,確保域名解析實時生效和高速訪問;智能多線路解析通過精準的網絡地址IP庫,智能定位訪問用戶來源,無論是聯通、電信、移動、教育網還是國外用戶,都能迅速分配最佳的訪問解析線路,讓您的網站訪問者獲得最為流暢的訪問體驗!

穩定

100%可用性保證,讓您安心每一刻, AliDNS在全球19個DNS集群節點和DNS智能加速服務,可為用戶提供就近訪問和最低延遲的解析能力,多機房雲計算集群自動宕機遷移,數據備份和回滾,系統性能監測實時報警,確保穩定的域名解析服務,讓您的每一次訪問使命必達!

安全

超100G超強防護能力,讓您放心每一天,AliDNS憑藉阿里巴巴多年的攻防技術積累,依靠自主研發的流量清洗設備,可抵禦超過百G的洪水流量型攻擊,全方位的安全監控體系,可對攻擊行為迅速做出判斷跟蹤,並按照預案進行處理,確保域名解析服務穩定可靠!每秒最高可承受過億次DNS查詢,保障網站或應用服務免受DNS攻擊威脅。

智能

可根據用戶地理位置,智能返回IP地址。線路已覆蓋中國6大運營商及省份,海外6大洲及88個國家/地區


AliDNS除了快速、穩定、安全外,解析設置也非常簡單便捷,解析管理工具使您登錄AliDNS就可以方便的自行添加、修改、刪除各域名記錄,包括域名A、CNAME、MX、AAAA、SRV、TXT、NS等記錄。此外還提供穩定可靠的URL轉發服務、按需自由定義TTL、支持中文域名解析、支持泛域名解析、支持子域名解

科技分類資訊推薦

Neo7 Turbo對友商下狠手 一加對比真我顯單薄 - 天天要聞

Neo7 Turbo對友商下狠手 一加對比真我顯單薄

#雙11國貨出行好物#對比同門品牌一加推出的 Ace 5 競速版,真我Neo7 Turbo 直接用實力完成了一場「自家人打自家人」的無情對決,具體怎麼說,不妨跟着我們一起了解下這款新機吧!
「猴臉識別2.0」上線——不但「辨」猴臉,更「懂」猴子心 - 天天要聞

「猴臉識別2.0」上線——不但「辨」猴臉,更「懂」猴子心

人民網西安5月29日電 (記者李志強)「這隻猴子叫『洋蔥』,可信度85%。」打開手機小程序,對準電腦屏幕上的一張猴子照片進行識別,不到5秒鐘,結果就出來了。隨後的演示圖像中,「洋蔥」的整個身體被標記上了若干個點位,通過分析這些點位的運動規律,就能深度解析它的行為意圖。 5月29日,記者從西北大學獲悉,此前研發出「...
AI眼鏡將取代手機?對話因眼鏡提詞器走紅的杭州公司聯創 - 天天要聞

AI眼鏡將取代手機?對話因眼鏡提詞器走紅的杭州公司聯創

戴着一副透明的眼鏡,你可以在路上導航、脫稿在台上演講,同時還能啟動聲紋支付、語音喚起AI點餐和打車,這些充滿科幻感的場景已經被智能眼鏡頭部廠商Rokid(杭州靈伴科技有限公司)實現了。Rokid即將在6月上線新一代智能眼鏡Rokid Glasses。伴隨AI關鍵技術的發展,尤其是大模型的快速推進,AI眼鏡有望成為下一代人機交互的...
黃仁勛:無論有沒有美國芯片,中國AI發展都會繼續 - 天天要聞

黃仁勛:無論有沒有美國芯片,中國AI發展都會繼續

5月29日,英偉達發佈了第一財季財報。隨後,英偉達CEO黃仁勛、CFO克萊特·克羅斯出席電話會議。會上,談到美國芯片出口管制對英偉達的影響,黃仁勛表示,出口管制對英偉達造成了巨大的損失,但這並不能阻礙中國人工智能的發展,反而會刺激中國的創新,增強中國在海外的實力,削弱美國的地位。他認為,AI競賽不僅僅是關於芯...
川南大數據中心即將投運 政府搭台促成企業間合作 - 天天要聞

川南大數據中心即將投運 政府搭台促成企業間合作

封面新聞記者 黃曉慶5月28日下午,內江市舉行「雲上甜城·算網為先」川南大數據中心助力內江發展新質生產力推介會。記者從會上獲悉,即將投入運營的川南大數據中心總投資4億元、設計機架500個、算力超過10000VCPU、存儲能力50PB,是四川
當手機叫車融入大眾日常,的士為何開始到處排隊趴活? - 天天要聞

當手機叫車融入大眾日常,的士為何開始到處排隊趴活?

在商場邊,打的士似乎越來越好打了,而且直接上車就能走。筆者近日在廣州深圳等地,感受到了街頭打出租的變化。一個工作日的晚7點半左右,廣州北京路天河城門口,停着幾輛的士,車頂的「空車」燈在暮色中格外醒目。司機阿強搖下車窗,望着匆匆而過的行人:「三年前這裡根本不擔心沒活,現在蹲半小時能拉一單就算快了。...
數量銳減30萬台,ATM機借勢AI捲土重來 - 天天要聞

數量銳減30萬台,ATM機借勢AI捲土重來

在移動支付全國普及的今天,當你路過街角的ATM機時,是否曾疑惑:這些金屬櫃體是否終將淪為數字時代的遺迹?最新數據揭示了一個反直覺的現實,2024年全國ATM保有量降至80.27萬台,較峰值縮減近30萬台,但每台設備的價值正經歷前所未有的重構。這場靜默的變革背後,是一場關乎金融普惠與科技革新的生死蛻變。ATM行業的冰火兩...
大模型牽手手機銀行,開啟無菜單時代|銀行APP測評 - 天天要聞

大模型牽手手機銀行,開啟無菜單時代|銀行APP測評

2025年上半年,銀行依舊以將大模型裝進手機銀行作為要務,六大行率先對其大模型進行了升級優化,例如工商銀行在同業中率先發佈企業級千億金融大模型技術體系 「工銀智涌」,累計調用量超 10 億次,賦能 20 多類業務、200 余個場景,較 2024 年在應用場景數量和調用量上有顯著提升,其大模型技術能力在同業中率先輸出至中小...