專利名稱:一種域名和服務(wù)器建立http連接的域名解析方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種增強(qiáng)域名服務(wù)器功能的域名解析方法,特別是涉及一種快速建立域名和服務(wù)器HTTP連接的域名解析方法。
背景技術(shù):
DNS (Domain Name System)服務(wù)器是由解析器和域名服務(wù)器組成的。域名服務(wù)器是指保存有該網(wǎng)絡(luò)中所有主機(jī)的域名和對應(yīng)IP地址,并具有將域名轉(zhuǎn)換為IP地址功能的服務(wù)器。其中域名必須對應(yīng)一個IP地址,而IP地址不一定有域名。域名系統(tǒng)采用類似目錄樹的等級結(jié)構(gòu)。域名服務(wù)器為客戶機(jī)/服務(wù)器模式中的服務(wù)器方,它主要有兩種形式主服務(wù)器和轉(zhuǎn)發(fā)服務(wù)器。將域名映射為IP地址的過程就稱為“域名解析”。在Internet上域名與IP地址之間是一對一(或者多對一)的,域名雖然便于人們記憶,但機(jī)器之間只能互相認(rèn)識IP地址,它們之間的轉(zhuǎn)換工作稱為域名解析,域名解析需要由專門的域名解析服務(wù)器來完成,DNS就是進(jìn)行域名解析的服務(wù)器。
隨著互聯(lián)網(wǎng)技術(shù)的普及,網(wǎng)絡(luò)應(yīng)用平臺已成為最大的社交和商務(wù)窗口。作為一個開放性的網(wǎng)站,網(wǎng)站建設(shè)者的初衷都希望自己的網(wǎng)頁有更多的訪問量,以更好地推廣自己的產(chǎn)品、企業(yè)知名度或/和商業(yè)價(jià)值。而網(wǎng)頁要達(dá)到更多的訪問量的最基本的前提和要求就是必須解決網(wǎng)頁打開速度的問題。通常,普通用戶打開一個網(wǎng)頁的時間主要由四部分組成域名通過DNS服務(wù)器解析到IP地址的時間,通過IP地址和服務(wù)器建立HTTP連接的時間,服務(wù)器接受連接請求后進(jìn)行計(jì)算的時間,網(wǎng)頁內(nèi)容通過HTTP協(xié)議傳輸?shù)接脩舻臅r間。 其中,DNS域名解析時間占了整個訪問時間的1/3之多,以及解析出的IP地址又不能保證是建立HTTP最快的,所以嚴(yán)重拖慢了用戶打開網(wǎng)頁的速度。發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)不足,提出一種域名和服務(wù)器建立HTTP連接的域名解析方法,通過找出一個從域名解析到建立HTTP連接所需要的時間最短的IP地址,有效地加快了用戶打開網(wǎng)頁的速度。
本發(fā)明所采用的技術(shù)方案一種域名和服務(wù)器建立HTTP連接的域名解析方法,包括下述步驟1)統(tǒng)計(jì)DNS在運(yùn)行使用過程中的解析查詢記錄,將這些記錄保存在相應(yīng)的數(shù)據(jù)庫中, 建立DNS數(shù)據(jù)庫,提取DNS緩存中的域名;2)解析域名找到每個域名對應(yīng)的所有IP地址向不同的權(quán)威服務(wù)器進(jìn)行查詢,獲取這個域名的比較全面的IP地址A記錄(A記錄代表〃主機(jī)名稱〃與"IP"地址的對應(yīng)關(guān)系,作用是把名稱轉(zhuǎn)換成IP地址);3)對域名相應(yīng)的IP地址分別進(jìn)行加速測試和處理,獲取所需要的IP地址;4)根據(jù)需要設(shè)定TTL值,即記錄在DNS緩存中的生存時間,利用域名以及加速測試得到的IP地址,建立緩存記錄,對DNS緩存進(jìn)行修改或者增加記錄操作。
所述的域名和服務(wù)器建立HTTP連接的域名解析方法,對域名進(jìn)行加速測試獲取 IP的步驟包括1)發(fā)送TCP的三次握手的數(shù)據(jù)包和FIN包,模擬建立連接;2)在TCP連接的基礎(chǔ)之上發(fā)送HTTP請求,建立連接;3)獲取數(shù)據(jù)包返回的時間,得到建立連接用時最短的IP地址。
bind-uti I s是bind軟件提供的一組DNS工具包,使用工具包中的這些工具 dig, host, nslookup, nsupdate,向不同的權(quán)威服務(wù)器進(jìn)行查詢獲取域名的IP,從而可以進(jìn)行域名解析和DNS調(diào)試工作。對獲取的IP地址分別進(jìn)行TCP的三次發(fā)包和FIN包,以及 HTTP連接工作;計(jì)算時間,可以得到建立連接時間最短的IP地址。
所述的域名和服務(wù)器建立HTTP連接的域名解析方法,獲取建立連接時間最短的一個IP之后,根據(jù)需要設(shè)置TTL值建立一條RR (資源記錄),導(dǎo)入到緩存,對DNS源碼的再次開發(fā),將域名、IP以及TTL值轉(zhuǎn)化成內(nèi)部的可操作NAME (域名)、RDATA (記錄值),得到一個完整的資源記錄設(shè)置(Resource Record set,即RRSET),在CACHE(緩存)內(nèi)部的DNS DB (數(shù)據(jù)庫)接口允許存儲和檢索命名。
DNS在解析查詢中的記錄都會保存在已經(jīng)建立的數(shù)據(jù)庫中,包括域名、查詢時間、 所在線路以及查詢量,可以根據(jù)數(shù)據(jù)庫來獲取查詢量比較大的域名;緩存種的域名,通過 rndc (DNS的一個終端控制工具,主要用作控制DNS進(jìn)程及其配置文件)進(jìn)行導(dǎo)出提取。利用域名,TTL值,線路名,IP地址建立一條緩存記錄,通過rndc插入到緩存,緩存對象包含一個虛擬類的DNS數(shù)據(jù)。多個虛擬類,將通過創(chuàng)建多個線路,和一個不同的類與它自己的緩存處理。
本發(fā)明的有益積極效果I、本發(fā)明域名和服務(wù)器建立HTTP連接的域名解析方法,通過找出一個從域名解析到建立HTTP連接所需要的時間最短的IP地址,可以大大加快該域名的解析時間,進(jìn)而保證解析出的IP地址是所訪問最快的。
2、本發(fā)明域名和服務(wù)器建立HTTP連接的域名解析方法,實(shí)現(xiàn)方式簡單,使用效果明顯,能夠顯著提升用戶打開網(wǎng)頁的速度,增加網(wǎng)站的訪問量,提高網(wǎng)站的商業(yè)價(jià)值和實(shí)用價(jià)值。
圖I :本發(fā)明域名和服務(wù)器建立HTTP連接的域名解析方法方框圖;圖2 :本發(fā)明域名解析方法對緩存內(nèi)部記錄的操作示意圖。
具體實(shí)施方式
實(shí)施例一參見圖I。本實(shí)施例的域名和服務(wù)器建立HTTP連接的域名解析方法, 包括下述步驟1)統(tǒng)計(jì)DNS在運(yùn)行使用過程中的解析查詢記錄,將這些記錄保存在相應(yīng)的數(shù)據(jù)庫中, 建立DNS數(shù)據(jù)庫,提取DNS緩存中的域名;2)解析域名找到每個域名對應(yīng)的所有IP地址向不同的權(quán)威服務(wù)器進(jìn)行查詢,獲取這個域名的比較全面的IP地址A記錄;3)對域名相應(yīng)的IP地址分別進(jìn)行加速測試和處理,獲取所需要的IP地址;4)根據(jù)需要設(shè)定TTL值,即記錄在DNS緩存中的生存時間,利用域名以及加速測試得到的IP地址,建立緩存RRSET記錄,對DNS緩存進(jìn)行修改或者增加記錄操作。
實(shí)施例二 參見圖1,本實(shí)施例的域名和服務(wù)器建立HTTP連接的域名解析方法,與實(shí)施例一不同的是,采用下述方法對域名進(jìn)行加速測試,獲取IP地址1)發(fā)送TCP的三次握手的數(shù)據(jù)包和FIN包,模擬建立連接;2)在TCP連接的基礎(chǔ)之上發(fā)送HTTP請求,建立連接;3)獲取數(shù)據(jù)包返回的時間,得到建立連接用時最短的IP地址。
因?yàn)槭悄M連接,數(shù)據(jù)包的發(fā)送和處理要避免協(xié)議棧的處理,因而可以保證直接傳送到應(yīng)用程序而不經(jīng)過內(nèi)核處理。
實(shí)施例三參見圖I、圖2,本實(shí)施例的域名和服務(wù)器建立HTTP連接的域名解析方法,與實(shí)施例一不同的是,在獲取建立連接時間最短的一個IP之后,根據(jù)需要設(shè)置TTL值建立一條RRSET,導(dǎo)入到緩存,對DNS源碼的再次開發(fā),將域名、IP以及TTL值轉(zhuǎn)化成內(nèi)部的可操作NAME,RDATA,得到一個完整的RRSET,在CACHE內(nèi)部的DNS DB接口允許存儲和檢索命名。
DB類型就像是一個“虛擬CLASS”。在實(shí)際使用DB時,一個類的實(shí)現(xiàn)是必需的。 該模塊可確保適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)同步,創(chuàng)建和操縱;其中在DNS內(nèi)部,DB有三重定義,CACHE, ZONE, STUB (是一個zone的副本,只包含那些資源記錄要確定的權(quán)威DNS系統(tǒng)),需要對其進(jìn)行分別。
實(shí)施例四參見圖I、圖2,本實(shí)施例的域名和服務(wù)器建立HTTP連接的域名解析方法,實(shí)現(xiàn)步驟如下統(tǒng)計(jì)出常用的10萬個左右域名放入DNS數(shù)據(jù)庫,解析域名找到每個域名對應(yīng)的所有IP 地址,之后對域名相應(yīng)的IP地址分別發(fā)送TCP的三次握手的數(shù)據(jù)包和四次揮手?jǐn)?shù)據(jù)包,獲取數(shù)據(jù)包返回的時間,在TCP連接的基礎(chǔ)之上發(fā)送HTTP請求,建立連接。用此數(shù)據(jù)判斷每個IP對應(yīng)的WEB服務(wù)器的服務(wù)質(zhì)量。這樣就可以獲得訪問域名最快的IP地址,然后根據(jù)情況設(shè)置TTL值建立一條RRSET導(dǎo)入到緩存,這樣不但可以大大加快該域名的解析時間,而且也能保證解析出的IP地址是所訪問最快的。
在統(tǒng)計(jì)出來的域名數(shù)據(jù)庫中或者是緩存導(dǎo)出的域名記錄中,對其中域名IP地址進(jìn)行測試,找出對應(yīng)的訪問時間最短的一個,之后建立緩存記錄,對緩存進(jìn)行修改或者增加記錄操作(比如,WWW. ifeng. com 域名對應(yīng)的 IP 地址有 61. 158. 133. 75,60. 5. 255. 231,61. 158. 133. 74……分別對其中的IP測試,假設(shè)找到61. 158. 133. 75訪問的時間最短,就建立緩存記錄www. ifeng. com TTL INA 61. 158. 133. 75插入緩存)。圖2中(a)、(b)所不即是對緩存內(nèi)部記錄的操作。
在統(tǒng)計(jì)出來的域名數(shù)據(jù)庫中提取域名,經(jīng)過DNS加速測試和處理,得到所要的域名,設(shè)置TTL建立緩存記錄,之后插入或者修改緩存。
權(quán)利要求
1.一種域名和服務(wù)器建立HTTP連接的域名解析方法,其特征是包括下述步驟1)統(tǒng)計(jì)DNS在運(yùn)行使用過程中的解析查詢記錄,將這些記錄保存在相應(yīng)的數(shù)據(jù)庫中, 建立DNS數(shù)據(jù)庫,提取DNS緩存中的域名;2)解析域名找到每個域名對應(yīng)的所有IP地址向不同的權(quán)威服務(wù)器進(jìn)行查詢,獲取這個域名的比較全面的IP地址A記錄;3)對域名相應(yīng)的IP地址分別進(jìn)行加速測試和處理,獲取所需要的IP地址;4)根據(jù)需要設(shè)定TTL值,即記錄在DNS緩存中的生存時間,利用域名以及加速測試得到的IP地址,建立緩存記錄,對DNS緩存進(jìn)行修改或者增加記錄操作。
2.根據(jù)權(quán)利要求I所述的域名和服務(wù)器建立HTTP連接的域名解析方法,其特征是對域名進(jìn)行加速測試獲取IP的步驟包括1)發(fā)送TCP的三次握手的數(shù)據(jù)包和FIN包,模擬建立連接;2)在TCP連接的基礎(chǔ)之上發(fā)送HTTP請求,建立連接;3)獲取數(shù)據(jù)包返回的時間,得到建立連接用時最短的IP地址。
3.根據(jù)權(quán)利要求2所述的域名和服務(wù)器建立HTTP連接的域名解析方法,其特征是獲取建立連接時間最短的一個IP之后,根據(jù)需要設(shè)置TTL值建立一條資源記錄,導(dǎo)入到緩存, 對DNS源碼再次開發(fā),將域名、IP以及TTL值轉(zhuǎn)化成內(nèi)部的可操作域名、記錄值,得到一個完整的資源記錄設(shè)置,在緩存內(nèi)部的DNS數(shù)據(jù)庫接口允許存儲和檢索命名。
全文摘要
本發(fā)明涉及一種增強(qiáng)域名服務(wù)器功能的域名解析方法。一種快速建立域名和服務(wù)器HTTP連接的域名解析方法,包括下述步驟1)統(tǒng)計(jì)DNS在運(yùn)行使用過程中的解析查詢記錄,建立DNS數(shù)據(jù)庫;2)解析域名找到每個域名對應(yīng)的所有IP地址向不同的權(quán)威服務(wù)器進(jìn)行查詢,獲取這個域名的比較全面的IP地址A記錄;3)對域名相應(yīng)的IP地址分別進(jìn)行加速測試和處理,獲取所需要的IP地址;4)根據(jù)需要設(shè)定TTL值,即記錄在DNS緩存中的生存時間,利用域名以及加速測試得到的IP地址,建立緩存記錄,對DNS緩存進(jìn)行修改或者增加記錄操作。本發(fā)明通過找出一個從域名解析到建立HTTP連接所需要的時間最短的IP地址,有效地加快了用戶打開網(wǎng)頁的速度。
文檔編號H04L29/12GK102546854SQ20121000572
公開日2012年7月4日 申請日期2012年1月10日 優(yōu)先權(quán)日2012年1月10日
發(fā)明者張水華 申請人:上海西默通信技術(shù)有限公司