為什么域名訪問比IP慢?
時(shí)間:2023-02-27 11:42:01 | 來源:建站知識(shí)
時(shí)間:2023-02-27 11:42:01 來源:建站知識(shí)
為什么域名訪問比IP慢?:姚冬同學(xué)回答的很棒,補(bǔ)充一點(diǎn)個(gè)人看法。
題主的問題其實(shí)有點(diǎn)模糊,如果訪問服務(wù)器先采用域名訪問很慢,然后題主通過本地nslookup 獲得DNS本地緩存映射(域名-IP),直接用IP地址訪問很快,即兩次訪問使用相同的IP地址,兩次訪問的客戶端為同一臺(tái)機(jī)器,那么兩次訪問的唯一不同:
第一次DNS,DNS域名解析會(huì)介入一次到多次DNS迭代、遞歸查詢,一句話:會(huì)有多次RTT延時(shí)的引入。
第二次IP,直接就IP封包出去了,所以會(huì)快的多。
但還有一種場(chǎng)景,有多個(gè)服務(wù)器(域名一樣,但I(xiàn)P不一樣)提供服務(wù),有的使用電信的IP,而有的使用聯(lián)通的IP,如果客戶端是電信的,那么域名解析最好是電信的服務(wù)器,那么客戶端和服務(wù)器在電信網(wǎng)絡(luò)里,訪問會(huì)快,同理聯(lián)通的客戶端則訪問位于聯(lián)通網(wǎng)絡(luò)的服務(wù)器,智能DNS會(huì)根據(jù)客戶端IP來做出以上的決策。
但如果客戶端位于電信網(wǎng)絡(luò),而返回的服務(wù)器IP卻位于聯(lián)通,則流量必須經(jīng)過電信與聯(lián)通的互聯(lián)通道,這個(gè)通道比較窄,容易堵車、丟包,給用戶的感受就是訪問特別慢(丟包特別影響性能)。
我的懷疑是:
采用IP訪問快,是因?yàn)榭蛻舳伺c服務(wù)器IP在一個(gè)網(wǎng)絡(luò),而DNS域名解析的服務(wù)器IP與客戶端不在一個(gè)網(wǎng)絡(luò),丟包、延遲大都會(huì)造成題主所說的訪問慢。