域名解析 - 見解
時間:2023-02-08 17:54:01 | 來源:建站知識
時間:2023-02-08 17:54:01 來源:建站知識
最近有個小伙伴向我提問,域名解析是怎樣的流程的,我心想這個問題不是好簡單的什么A解析設(shè)置,訪問時候先到哪里找的過程嗎?
但他提了一個問題,我買了個域名之后,是如何登記到某個地方的,又怎樣去到根域名服務(wù)器
第一個問題,購買域名信息登記,如何登記到某個地方的一個公共機(jī)構(gòu)?
第二個問題,是如何解析到根域名服務(wù)器, 現(xiàn)在這么多域名它是怎樣存儲的,又是怎樣被快速解析的
第三個問題,DNS 如何優(yōu)化
第二個問題好解析,對于第一個問題,也是可以隨便說,到某某供應(yīng)商那里,進(jìn)行登記人家就會提交到某個機(jī)構(gòu)進(jìn)行登記,這樣水過去,但心想這樣水我自己也不行,為了求證,我需要
解答第一個問題
我們應(yīng)該進(jìn)行提問,我是如何成為域名提供商的,這個好辦google一下
得到一個解析
域名注冊商(英語:domain name registrar)是一個商業(yè)實體或組織,它們由互聯(lián)網(wǎng)名稱與數(shù)字地址分配機(jī)構(gòu)(ICANN)或者一個國家性的國家代碼頂級域名(ccTLD)域名注冊局委派,以在指定的域名注冊數(shù)據(jù)庫中管理互聯(lián)網(wǎng)域名,向公眾提供此類服務(wù)
這里分兩個部分,一個是ICANN機(jī)構(gòu),一個是國家性質(zhì)的頂級域名,如我國的CN域名
一類是一般性頂級域名(gTLD),比如.com、.net、.edu、.org、.xxx
另一類是國別頂級域名(ccTLD),代表不同的國家和地區(qū),比如.cn(中國
簡單總結(jié)為
通用的域名 .com/.net 的管理機(jī)構(gòu)是ICANN, 通過verisign進(jìn)行注冊,注冊流程如下
https://www.verisign.com/zh_CN/channel-resources/become-a-registrar/verisign-domain-registrar/index.xhtmlhttps://www.icann.org/resources/pages/accreditation-2012-02-25-zh申請資質(zhì)
申請成為國際域名注冊商,需要先向ICANN提出申請,等待申請通過后,再向Verisign申請認(rèn)證
申請材料
1、資金存款證明及公司人員說明(ICANN網(wǎng)站提供的申請表)
2、500萬美金以上額度的商業(yè)保險
3、業(yè)務(wù)發(fā)展計劃書
4、公司商業(yè)執(zhí)照
5、近3個月的財務(wù)報表
CN域名的管理機(jī)構(gòu)是CNNIC,CNNIC授權(quán)注冊商
http://www.cnnic.cn/jczyfw/CNym/CNymzc/201206/t20120612_25112.htm申請成為CN域名注冊管理機(jī)構(gòu)的,應(yīng)當(dāng)向信息產(chǎn)業(yè)部提交下列材料:
(一)有關(guān)資金和人員的說明材料;CNNICCNNIC
(二)對境內(nèi)的頂級域名服務(wù)器實施有效管理的證明材料;
(三)證明申請人信譽(yù)的材料;
(四)業(yè)務(wù)發(fā)展計劃及相關(guān)技術(shù)方案;
(五)域名注冊服務(wù)監(jiān)督機(jī)制和網(wǎng)絡(luò)與信息安全技術(shù)保障措施;
(六)擬與域名注冊服務(wù)機(jī)構(gòu)簽署的協(xié)議范本;
(七)法定代表人簽署的遵守國家有關(guān)法律、政策和我國域名體系的承諾書
Ip地址也是在這里申請
http://www.cnnic.cn/jczyfw/ipas/ipasCNNICfplm/好了,假設(shè)成為了域名注冊商,
人家需要進(jìn)行向你申請域名你是怎樣進(jìn)行查詢是否能用
他們會提供一些協(xié)議接口進(jìn)行對接
域名查詢,域名鎖定,域名資料提交申請,按照下面鏈接說明
https://datatracker.ietf.org/doc/html/rfc5730#section-2.9.3.1https://www.verisign.com/zh_CN/channel-resources/domain-registry-products/epp-sdks/index.xhtmlhttps://who.is/ 查詢域名注冊信息
域名定價這個沒有找到,本注冊域名不是一個賺錢的東西,交易才賺錢,另外都是配套一些服務(wù)器網(wǎng)站服務(wù)等
注冊域名后只是告訴你已經(jīng)擁有這個域名,但人家還不能訪問,這個時候就需要一個叫做DNS域名解析的服務(wù)進(jìn)行你的域名與IP地址進(jìn)行解析訪問對應(yīng)的服務(wù)了
第二個問題,是如何解析到根域名服務(wù)器, 現(xiàn)在這么多域名它是怎樣存儲的,又是怎樣被快速解析的域名層次解析域名組成
www.google.cn
www 是三級域名
google 是 二級域名
cn 是頂級域名,一級域名
www. google . com .hk
Hk 是頂級域名,一級域名
Com 二級域名
google 三級域名
www 是四級
頂級域名如下
https://baike.baidu.com/item/%E9%A1%B6%E7%BA%A7%E5%9F%9F%E5%90%8D解析流程解析過程是自頂向下進(jìn)行解析,解析服務(wù)器是就近原則,如本機(jī)先獲取,在去本地域名,在市,一層層區(qū)域向上找,直到找到根域名服務(wù)
為了減少根的解析量問題,會設(shè)置一個DNS域名空間的層次結(jié)構(gòu),叫做區(qū)域zone
① 主機(jī)先查詢優(yōu)先使用自己緩存或者綁定了host,如果沒有則向下去指定的DNS服務(wù)查詢
② 查找主機(jī)指定的DNS解析服務(wù)地址,可通過nslookup進(jìn)行域名解析查詢
③ 如果都沒有,則查詢則去域名的根于查詢,這個域名根域為CN,則去CN服務(wù)器查詢
DNS的查詢方式一種是,遞歸查詢,如果請求的DNS服務(wù)器沒有找到解析,就會繼續(xù)去找這個DNS指定的下一級DNS解析服務(wù)器,客戶主機(jī)一直等待
另外一種,迭代查詢,如果DNS服務(wù)器查不到,就會返回一個可能知道域名解析服務(wù)器的地址,然后客戶端在向這個域名主機(jī)發(fā)起查詢
本地域名服務(wù),如局域網(wǎng),進(jìn)行遞歸查詢,如果沒有,就向根域進(jìn)行查詢時候就進(jìn)行迭代查詢
為什么DNS會返回多個IP地址如圖,一個域名返回多個ip,這個是DNS負(fù)載均衡,叫做輪詢,DNS服務(wù)器能夠?qū)Φ刂氛埱蟮捻憫?yīng)來提供多個冗余的IP地址,但每次訪問的順序與ip都可能不一樣,也不知道對方服務(wù)是否有訪問問題,解決這個需要DNS服務(wù)器定期輪詢鏡像服務(wù)器可用性和負(fù)載系數(shù),沒有這些數(shù)據(jù)則刪除
這種方式設(shè)置可以針對地域進(jìn)行不同IP的設(shè)置返回
DNS協(xié)議結(jié)構(gòu)【Mac頭】【ip頭】【UPD頭】【DNS內(nèi)容】
其中DNS請求內(nèi)容為
dig 命令內(nèi)容
Transation ID 查詢ID
Flags :QR RR RA
Question: 查詢域名數(shù)
Answer RRs 回應(yīng)節(jié)點(diǎn)數(shù)
Authority RRs 權(quán)威節(jié)點(diǎn)數(shù)
Additional RRs 權(quán)威節(jié)點(diǎn)詳細(xì)解析數(shù)
DNS 返回內(nèi)容
Transation ID 查詢ID
Flags :QR RR RA
Question: 查詢域名數(shù)
Answer RRs 回應(yīng)節(jié)點(diǎn)數(shù)
Authority RRs 權(quán)威節(jié)點(diǎn)數(shù)
Additional RRs 權(quán)威節(jié)點(diǎn)詳細(xì)解析數(shù)
上面數(shù)字填充外,還包含
具體的域名解析,域名解析服務(wù)器地址內(nèi)容
http://www.firewall.cx/networking-topics/protocols/domain-name-system-dns/161-protocols-dns-response.htmlDNS 查找算法DNS 記錄同步是一個最終一致性的分布式系統(tǒng),不是只有13臺根服務(wù)器,他們有鏡像分布在不同的地方
一個服務(wù)器不可能會存儲這么多數(shù)據(jù),這個時候,就需要分布式存儲,設(shè)計的算法有hashtable找節(jié)點(diǎn),平衡二叉樹找記錄
當(dāng)查找的時候,會進(jìn)行就近原則查詢,先查本地,在查頂級域一路查詢
總結(jié),域名購買后,在域名管理后臺上添加對應(yīng)的IP,然后這個域名就會拆開結(jié)構(gòu)分別到對應(yīng)的域名區(qū)域進(jìn)行記錄登記DNS性能優(yōu)化
應(yīng)該 DNS 傳播時間的因素有哪些?
您的 TTL(生存時間)設(shè)置,較短的 TTL 可能會提高傳播速度。但是,這也會增加查詢域名服務(wù)器的次數(shù),從而降低網(wǎng)站的性能
您的 ISP(互聯(lián)網(wǎng)服務(wù)提供商),ISP 通過在本地存儲數(shù)據(jù)而非從 DNS 服務(wù)器檢索新數(shù)據(jù)來緩存 DNS 記錄。這可以提高 Web 瀏覽速度并減少流量,但可能會延長傳播時間
您的域名注冊局,NS(域名服務(wù)器)記錄發(fā)布到他們的根區(qū)。大多數(shù)注冊局都會及時更新其區(qū)域,但是有些注冊局可能需要花費(fèi)幾個小時甚至幾天的時間。
https://sg.godaddy.com/zh/help/what-factors-affect-dns-propagation-time-1746優(yōu)化前,我們需要先知道如何衡量
對于 前端能夠使用
https://www.webpagetest.org/ 進(jìn)行分析
解決方案
分析
一個鏈接需要經(jīng)過,DNS 查詢、建立 TCP 連接、數(shù)據(jù)傳輸、斷開連接
前端瀏覽器 添加 DNS Prefetch,在 HTTP 建立之前,將 DNS 查詢的結(jié)果緩存到系統(tǒng)/瀏覽器中,提升網(wǎng)頁的加載效率
<link rel="dns-prefetch" href="https://example.com/">
https://caniuse.com/link-rel-dns-prefetchhttps://github.com/amandakelake/blog/issues/50移動端或PC端使用 HTTPDNS 也就是DNS over httpsHTTPDNS 利用 HTTP 協(xié)議與 DNS 服務(wù)器交互,代替了傳統(tǒng)的基于 UDP 協(xié)議的 DNS 交互
原理
客戶端,請求 HTTPDNS api + 域名作為參數(shù), HTTPDNS api 查詢權(quán)威DNS或者自己的綁定映射,返回給客戶端對應(yīng)的IP
解決問題
域名防劫持(HTTPS),域名解析請求直接發(fā)送至HTTPDNS服務(wù)器,繞過運(yùn)營商Local DNS,避免域名劫持問題
調(diào)度精準(zhǔn),由于運(yùn)營商策略的多樣性,其 Local DNS 的解析結(jié)果可能不是最近、最優(yōu)的節(jié)點(diǎn),HTTPDNS 能直接獲取客戶端 IP ,基于客戶端 IP 獲得最精準(zhǔn)的解析結(jié)果,讓客戶端就近接入業(yè)務(wù)節(jié)點(diǎn)
實時生效,快速更新DNS映射ip的變更
HTTPS 也防止 HTTP的隊頭阻塞
問題:
當(dāng)客戶端使用HTTPDNS解析域名時,請求URL中的host會被替換成HTTPDNS解析出來的IP,導(dǎo)致服務(wù)器獲取到的域名為解析后的IP,無法找到匹配的證書,只能返回默認(rèn)的證書或者不返回,所以會出現(xiàn)SSL/TLS握手不成功的錯誤
解決 :
在createSocket時替換為HTTPDNS的IP,并進(jìn)行SNI/HostNameVerify配置,
SNI指定具體的域名證書進(jìn)行通信 https://help.aliyun.com/document_detail/30143.htmlhttps://help.aliyun.com/document_detail/30102.html?spm=a2c4g.11186623.6.542.7129572cjCvf6QiOS HTTPS SNI 業(yè)務(wù)場景“IP直連”方案說明
https://help.aliyun.com/knowledge_detail/60147.htmlDNS TTL(DNS緩存時間)TTL值大,修改解析后等待生效的時間就會越長,
TTL值小,域名解析的穩(wěn)定性和解析速度就會受到影響
如果你不是經(jīng)常換ip的話設(shè)置長一些一天也可以,如果你需要遷移的話就設(shè)置短一些5分鐘左右
常見DNS命令nslookup命令用法輸入 nslookup 進(jìn)入命令交互
Set type=mx 查看 域名郵件
Set type=ns 查看域名解析服務(wù)器 或 nslookup -query=ns 域名
Set type=soa 查看起始授權(quán)機(jī)構(gòu)記錄,多NS記錄中那一臺是主服務(wù)器
nslookup -query=any 域名 查看所有域名下的解析信息
https://geek-university.com/linux/nslookup-command/dig 語法dig google.com ns
dig google.com soa
dig google.com mx 查看郵件服務(wù)解析到哪個服務(wù)器
dig google.com +trace 查看經(jīng)過根服務(wù)器各個區(qū)域的域名解析服務(wù)器解析的速度
返回解析參考
http://luodw.cc/2015/12/27/dns03/; <<>> DiG 9.10.6 <<>> google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39680 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 8 qr 查詢標(biāo)志 rd 希望使用遞歸查 ra 代表服務(wù)器支持遞歸 QUERY 查詢多少次 ANSWER 返回結(jié)果數(shù) AUTHORITY 權(quán)威域名服務(wù)器多少個 ADDITIONAL 權(quán)威域名服務(wù)器具體信息數(shù) ;; QUESTION SECTION: 查詢內(nèi)容 ;google.com. IN A ;; ANSWER SECTION: 返回結(jié)果 google.com. 600 IN A 8.7.198.46 ;; AUTHORITY SECTION: 權(quán)威域名服務(wù)器 google.com. 47614 IN NS ns3.google.com. google.com. 47614 IN NS ns2.google.com. google.com. 47614 IN NS ns1.google.com. google.com. 47614 IN NS ns4.google.com. ;; ADDITIONAL SECTION: 權(quán)威域名服務(wù)器具體信息 ns2.google.com. 154788 IN A 216.239.34.10 ns3.google.com. 166727 IN A 216.239.36.10 ns1.google.com. 330818 IN A 216.239.32.10 ns4.google.com. 169904 IN A 216.239.38.10 ns2.google.com. 171516 IN AAAA 2001:4860:4802:34::a ns3.google.com. 171516 IN AAAA 2001:4860:4802:36::a ns1.google.com. 324727 IN AAAA 2001:4860:4802:32::a ns4.google.com. 344783 IN AAAA 2001:4860:4802:38::a ;; Query time: 45 msec 查詢多少個 ;; SERVER: 192.168.3.1#53(192.168.3.1) 本地域名解析服務(wù)器 ;; WHEN: Fri Jul 09 21:39:05 CST 2021 ;; MSG SIZE rcvd: 292
清理DNS緩存
windows
ipconfig /flushdns
linux dns 服務(wù)多,大概如下 ps aux | grep xx 查詢下
service dnsmasq restart
service nscd restart
service named restart
sudo systemd-resolve --flush-caches.
Mac
sudo dscacheutil -flushcache
案例
滬江從DNS到httpdns的演進(jìn)
https://zhuanlan.zhihu.com/p/52361092【鵝廠網(wǎng)事】全局精確流量調(diào)度新思路-HttpDNS服務(wù)詳解
https://mp.weixin.qq.com/s?__biz=MzA3ODgyNzcwMw==&mid=201837080&idx=1&sn=b2a152b84df1c7dbd294ea66037cf262&scene=2&from=timeline&isappinstalled=0#rd美圖App的移動端DNS優(yōu)化實踐:HTTPS請求耗時減小近半
https://cloud.tencent.com/developer/article/1377693百度APP移動端網(wǎng)絡(luò)深度優(yōu)化實踐分享(一):DNS優(yōu)化篇
http://www.52im.net/thread-2472-1-1.html參考資料頂級域名數(shù)據(jù)庫與域名解析
https://www.iana.org/domains/root/db/aaa.htmlhttps://www.iana.org/domains/root/db域名根服務(wù)器
https://www.iana.org/domains/root/servershttp://www.ruanyifeng.com/blog/2018/05/root-domain.htmlhttps://mp.weixin.qq.com/s/eaD1Hedtl_3atbLsbanTqwDNS 輪詢
https://aws.amazon.com/cn/premiumsupport/knowledge-center/multivalue-versus-simple-policies/https://care.qumulo.com/hc/en-us/articles/115007926128-Configure-DNS-Round-Robin-on-a-Windows-Server-for-Qumulo-Corehttps://www.cloudflare.com/zh-cn/learning/dns/glossary/round-robin-dns/https://skyao.io/learning-dns/dns/tool/