時間:2023-02-02 15:28:01 | 來源:建站知識
時間:2023-02-02 15:28:01 來源:建站知識
DNS(Domain Name System)是互聯(lián)網(wǎng)的基礎(chǔ)核心協(xié)議之一,我們在日常工作不知不覺中經(jīng)常使用到該協(xié)議,我們需要對其有很好的了解。那么他的主要用途是什么呢?都應(yīng)用在哪些方面呢?下面我們先來了解一下 DNS 協(xié)議及其原理。AlandeMacBook-Pro:~ alan$ dig -t A www.google.cn +trace; <<>> DiG 9.10.6 <<>> -t A www.google.cn +trace;; global options: +cmd. 57 IN NS a.root-servers.net.. 57 IN NS d.root-servers.net.. 57 IN NS i.root-servers.net.. 57 IN NS j.root-servers.net.. 57 IN NS c.root-servers.net.. 57 IN NS g.root-servers.net.. 57 IN NS k.root-servers.net.. 57 IN NS l.root-servers.net.. 57 IN NS h.root-servers.net.. 57 IN NS b.root-servers.net.. 57 IN NS f.root-servers.net.. 57 IN NS e.root-servers.net.. 57 IN NS m.root-servers.net.;; Received 228 bytes from 223.5.5.5#53(223.5.5.5) in 57 mscn. 172800 IN NS a.dns.cn.cn. 172800 IN NS b.dns.cn.cn. 172800 IN NS c.dns.cn.cn. 172800 IN NS d.dns.cn.cn. 172800 IN NS e.dns.cn.cn. 172800 IN NS f.dns.cn.cn. 172800 IN NS g.dns.cn.cn. 172800 IN NS ns.cernet.net.cn. 86400 IN DS 57724 8 2 5D0423633EB24A499BE78AA22D1C0C9BA36218FF49FD95A4CDF1A4AD 97C67044cn. 86400 IN RRSIG DS 8 1 86400 20211120050000 20211107040000 14748 . RsJoclM7GXR5uwuTeTwmDt09HTxQXG+dIKA3aCI9E7YPIFqCCuoW3iwA HA9FeNDUoznV+YvAZsMQA+mgwtBdrUWiABuVT69Zv3ye9KBQaLpUV3fQ iNikwG1KAFke2SJ0sH8+7OTTIFoHsWhbmfGWOJiYlaO27FGKjwRDQBgL /GNAYx8Mw7yKvt1qXWHBa8G8d1Xa9GLDYTv3m3zoEPn5rNwYo/I/QTNm J5dFmngsLDS+gPVz5L2u2EGnBPorbipmZrG2xnC9DXLX9Oafk+Ex/RaL /qErKsq6DfJrPruiAbCCbhzPEPBRiq4y/8rjT1sJEmzmnMz/MFX2CmgV wtLYCw==;; Received 704 bytes from 192.58.128.30#53(j.root-servers.net) in 393 msgoogle.cn. 86400 IN NS ns1.google.com.google.cn. 86400 IN NS ns3.google.com.google.cn. 86400 IN NS ns2.google.com.google.cn. 86400 IN NS ns4.google.com.3QDAQA092EE5BELP64A74EBNB8J53D7E.cn. 21600 IN NSEC3 1 1 10 AEF123AB 3QM14FQ32F1CJFTP8D3J5BCTNP5BIELO NS SOA RRSIG DNSKEY NSEC3PARAM3QDAQA092EE5BELP64A74EBNB8J53D7E.cn. 21600 IN RRSIG NSEC3 8 2 21600 20211203071642 20211103061642 38388 cn. qyrAppcU/gK8pzkFh+SkyX+rkvFSyeBK3c9r4XKAzO7QFkh5Hw/aVydP 2nEApdBhFvG2DbH/YVS81XOtiFQkhBmIL6vyByLUGGFcAgn3a7mgIx0n +8Ae2FWLogR0gRRNisU1obpVEvEG9G47fpEZ9iVifc2pLT+ekz3EOJnj N+k=8TKMCNJ923RR3GI4UAK4FF8RHB788CNF.cn. 21600 IN NSEC3 1 1 10 AEF123AB 8UHOOPIE1URLUSVICNFBIDOLA9HMRV82 CNAME RRSIG8TKMCNJ923RR3GI4UAK4FF8RHB788CNF.cn. 21600 IN RRSIG NSEC3 8 2 21600 20211203071642 20211103061642 38388 cn. Jy9qk55fGKqi/iuJuefBQXGKw0GJkmRDxguQDGmWLBwrdUj7hJjWJiP9 5hvYe96UNgnSm5cPdYXUe/yL2X8jPyYxXJW/bf/uHKK65jwnnEGghkS4 yDVkSCWOsDU2gmGdmm5ytga4xcl1ZNx8+98fhTir49m/uo93DqB7CRin oHQ=;; Received 615 bytes from 66.198.183.65#53(g.dns.cn) in 294 mswww.google.cn. 300 IN A 180.163.150.162;; Received 58 bytes from 216.239.32.10#53(ns1.google.com) in 54 ms
我們可以看出,首先會向預(yù)置的 13 組根域名服務(wù)器發(fā)出請求獲取頂級域名的地址:;; global options: +cmd. 57 IN NS a.root-servers.net.. 57 IN NS d.root-servers.net.. 57 IN NS i.root-servers.net.. 57 IN NS j.root-servers.net.. 57 IN NS c.root-servers.net.. 57 IN NS g.root-servers.net.. 57 IN NS k.root-servers.net.. 57 IN NS l.root-servers.net.. 57 IN NS h.root-servers.net.. 57 IN NS b.root-servers.net.. 57 IN NS f.root-servers.net.. 57 IN NS e.root-servers.net.. 57 IN NS m.root-servers.net.;; Received 228 bytes from 223.5.5.5#53(223.5.5.5) in 57 ms
根域名服務(wù)器(root name server)是互聯(lián)網(wǎng)域名解析系統(tǒng)(DNS)中最高級別的域名服務(wù)器,負(fù)責(zé)返回頂級域的權(quán)威域名服務(wù)器地址。它們是互聯(lián)網(wǎng)基礎(chǔ)設(shè)施中的重要部分,因?yàn)樗杏蛎馕霾僮骶x不開它們。由于 DNS 和某些協(xié)議(未分片的用戶數(shù)據(jù)報協(xié)議(UDP)數(shù)據(jù)包在 IPv4 內(nèi)的最大有效大小為512字節(jié))的共同限制,根域名服務(wù)器地址的數(shù)量被限制為 13 個。幸運(yùn)的是,采用任播技術(shù)架設(shè)鏡像服務(wù)器可解決該問題,并使得實(shí)際運(yùn)行的根域名服務(wù)器數(shù)量大大增加。截至2019 年 8 月,全球共有 1008 臺根域名服務(wù)器在運(yùn)行。(具體這13個服務(wù)器的IP地址以及運(yùn)營商請參考這里:https://www.iana.org/domains/root/servers )由于中國互聯(lián)網(wǎng)發(fā)展的較晚,國內(nèi)沒有根服務(wù)器,為了防止其他國家因?yàn)檎卧虼驌糁袊?,從而對中國互?lián)網(wǎng)產(chǎn)生重大打擊。截至 2021 年 7 月,中國共有F、I、J、K、L這5個根域的 21 臺 DNS 鏡像在提供服務(wù)。而通過根服務(wù)器(http://j.root-servers.net),我們獲得了 13 個cn.定義的頂級 DNS 服務(wù)器:
cn. 172800 IN NS a.dns.cn.cn. 172800 IN NS b.dns.cn.cn. 172800 IN NS c.dns.cn.cn. 172800 IN NS d.dns.cn.cn. 172800 IN NS e.dns.cn.cn. 172800 IN NS f.dns.cn.cn. 172800 IN NS g.dns.cn.cn. 172800 IN NS ns.cernet.net.cn. 86400 IN DS 57724 8 2 5D0423633EB24A499BE78AA22D1C0C9BA36218FF49FD95A4CDF1A4AD 97C67044cn. 86400 IN RRSIG DS 8 1 86400 20211120050000 20211107040000 14748 . RsJoclM7GXR5uwuTeTwmDt09HTxQXG+dIKA3aCI9E7YPIFqCCuoW3iwA HA9FeNDUoznV+YvAZsMQA+mgwtBdrUWiABuVT69Zv3ye9KBQaLpUV3fQ iNikwG1KAFke2SJ0sH8+7OTTIFoHsWhbmfGWOJiYlaO27FGKjwRDQBgL /GNAYx8Mw7yKvt1qXWHBa8G8d1Xa9GLDYTv3m3zoEPn5rNwYo/I/QTNm J5dFmngsLDS+gPVz5L2u2EGnBPorbipmZrG2xnC9DXLX9Oafk+Ex/RaL /qErKsq6DfJrPruiAbCCbhzPEPBRiq4y/8rjT1sJEmzmnMz/MFX2CmgV wtLYCw==;; Received 704 bytes from 192.58.128.30#53(j.root-servers.net) in 393 ms
再通過上述的頂級 DNS 服務(wù)器(http://g.dns.cn)一共獲得 4 個權(quán)威 DNS 服務(wù)器的地址:google.cn. 86400 IN NS ns1.google.com.google.cn. 86400 IN NS ns3.google.com.google.cn. 86400 IN NS ns2.google.com.google.cn. 86400 IN NS ns4.google.com.3QDAQA092EE5BELP64A74EBNB8J53D7E.cn. 21600 IN NSEC3 1 1 10 AEF123AB 3QM14FQ32F1CJFTP8D3J5BCTNP5BIELO NS SOA RRSIG DNSKEY NSEC3PARAM3QDAQA092EE5BELP64A74EBNB8J53D7E.cn. 21600 IN RRSIG NSEC3 8 2 21600 20211203071642 20211103061642 38388 cn. qyrAppcU/gK8pzkFh+SkyX+rkvFSyeBK3c9r4XKAzO7QFkh5Hw/aVydP 2nEApdBhFvG2DbH/YVS81XOtiFQkhBmIL6vyByLUGGFcAgn3a7mgIx0n +8Ae2FWLogR0gRRNisU1obpVEvEG9G47fpEZ9iVifc2pLT+ekz3EOJnj N+k=8TKMCNJ923RR3GI4UAK4FF8RHB788CNF.cn. 21600 IN NSEC3 1 1 10 AEF123AB 8UHOOPIE1URLUSVICNFBIDOLA9HMRV82 CNAME RRSIG8TKMCNJ923RR3GI4UAK4FF8RHB788CNF.cn. 21600 IN RRSIG NSEC3 8 2 21600 20211203071642 20211103061642 38388 cn. Jy9qk55fGKqi/iuJuefBQXGKw0GJkmRDxguQDGmWLBwrdUj7hJjWJiP9 5hvYe96UNgnSm5cPdYXUe/yL2X8jPyYxXJW/bf/uHKK65jwnnEGghkS4 yDVkSCWOsDU2gmGdmm5ytga4xcl1ZNx8+98fhTir49m/uo93DqB7CRin oHQ=;; Received 615 bytes from 66.198.183.65#53(g.dns.cn) in 294 ms
最后通過 Google 的 DNS 服務(wù)器(http://ns1.google.com)返回他的 IP 地址:www.google.cn. 300 IN A 180.163.150.162;; Received 58 bytes from 216.239.32.10#53(ns1.google.com) in 54 ms
從整個解析過程,我們可以看出 DNS 域名服務(wù)器大體分成三類,根域名服務(wù)、頂級域名服務(wù)以及權(quán)威域名服務(wù)三種,獲取域名對應(yīng)的 IP 地址時,也會像遍歷一棵樹一樣按照從頂層到底層的順序依次請求不同的服務(wù)器。.:53 { errors health kubernetes cluster.local. in-addr.arpa ip6.arpa { pods insecure upstream fallthrough in-addr.arpa ip6.arpa } prometheus :9153 forward . /etc/resolv.conf cache 30 reload loadbalance}example.io:53 { errors log file /etc/coredns/zones/example.io.db}coredns.io:5300 { file /etc/coredns/zones/coredns.io.db}
通過上面的 Corefile,我們可以看出一共定義了 2 個 DNS Server,但有3個配置塊,分別監(jiān)聽的是 53 和 5300 端口,那么 CoreDNS 又是怎么解析這個配置的呢?nameserver 10.6.98.183search default.svc.cluster.local svc.cluster.local cluster.localoptions ndots:5
第一行 nameserver 就是CoreDns的Service的ClusterIP,而第二行便是搜索域。curl nginx-democurl nginx-demo.default
他們的流程分別是:options ndots:5
這一行的含義是:如果查詢的域名包含的點(diǎn)“.”,不到5個,那么進(jìn)行DNS查找,將使用非完全限定名稱(或者叫絕對域名),如果你查詢的域名包含點(diǎn)數(shù)大于等于5,那么 DNS 查詢,默認(rèn)會使用絕對域名進(jìn)行查詢。關(guān)鍵詞:深度,協(xié)議
客戶&案例
營銷資訊
關(guān)于我們
微信公眾號
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。