網(wǎng)絡(luò)地址映射方法、裝置和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種網(wǎng)絡(luò)地址映射方法、裝置和系統(tǒng)。
【背景技術(shù)】
[0002]互聯(lián)網(wǎng)協(xié)議地址(Internet Protocol Address)為國際通用的計(jì)算機(jī)網(wǎng)絡(luò)地址標(biāo)識(shí)符,分為IPv4與IPv6兩個(gè)版本。其中,IPv4:由32位二進(jìn)制數(shù)組成,為便于使用,常以XXX.XXX.XXX.XXX形式表現(xiàn),每組XXX代表小于或等于255的10進(jìn)制數(shù)。例如維基媒體的一個(gè)IP地址是208.80.152.2。IPv4地址可分為A,B, C,D,E五大類,其中E類屬于特殊保留地址。IP地址是唯一的,目前IP技術(shù)可能使用的IP地址最多可有約42億個(gè),由于早期編碼和分配上的問題,使很多區(qū)域的編碼實(shí)際上被空出或不能使用。IPv6:從IPv4到IPv6最顯著的變化就是網(wǎng)絡(luò)地址的長度。具體地,RFC 2373 (request for comments,即請(qǐng)求評(píng)議)和RFC 2374定義的IPv6地址,有128位長;IPv6地址的表達(dá)形式,一股采用32個(gè)十六進(jìn)制數(shù)。IPv6中可能的地址有2128 ^ 3.4X 138個(gè),也可以想象為1632個(gè),因?yàn)?2位地址每位可以取16個(gè)不同的值。
[0003]DNS SRV (即解析,是DNS系統(tǒng)的數(shù)據(jù)庫中支持的一種資源記錄的類型)記錄:為DNS記錄的一種擴(kuò)展,其解決了 A記錄映射過粗的問題,加入了對(duì)端口的映射,最早在RFC2782中得到定義,SRV記錄的格式為:
[0004]service._prot0.name.TTL class SRV pr1rity weight port target
[0005]例如:—sip.—tcp.example, com 86400 IN SRV 10 60 5060 bigbox.example,com.
[0006]DNS(Domain Name System)網(wǎng)絡(luò)地址映射系統(tǒng)是全球通用的應(yīng)用層協(xié)議,旨在為抽象難記的IP地址(特別是IPv6)提供一個(gè)適合人類理解記憶的映射關(guān)系,其總體結(jié)構(gòu)如圖1所示。
[0007]如圖1所示,網(wǎng)絡(luò)地址映射系統(tǒng)主要分為域名服務(wù)器(即域名解析服務(wù)器)與客戶端兩部分。域名解析服務(wù)器結(jié)構(gòu)呈樹狀,父結(jié)點(diǎn)(如圖1示出的根域名服務(wù)器)擁有子結(jié)點(diǎn)的全部內(nèi)容,在當(dāng)前服務(wù)器沒有指定的映射的情況下,當(dāng)前的DNS Server (DNS服務(wù)器)接收到DNS查詢之后,可以選擇向上級(jí)的服務(wù)器查詢(遞歸查詢)或者告訴客戶端查詢其它服務(wù)器(迭代查詢)。
[0008]如圖2所示,客戶端向域名服務(wù)器A查詢域名XXX.0rg,域名服務(wù)器A向客戶端反饋信息請(qǐng)嘗試域名服務(wù)器B ;客戶端向域名服務(wù)器B查詢域名XXX.0rg,域名服務(wù)器B向客戶端反饋信息請(qǐng)嘗試域名服務(wù)器C ;客戶端向域名服務(wù)器C查詢域名XXX.0rg,域名服務(wù)器C向客戶端反饋IP地址:xx.XX.XX.XX。
[0009]在域名服務(wù)器中存在多種映射種類,主要有A記錄、AAAA記錄與CNAME記錄,其中A記錄便是域名與IP地址(以IPv4為例)的映射關(guān)系:
[0010]some, domain, org — [127.0.1.1, 220.12.3.104,120.10.11.18,10.10.8.8]
[0011]如此,應(yīng)用客戶端就可以把“some, domain, org”當(dāng)作對(duì)方地址來使用了,實(shí)現(xiàn)映射。
[0012]如上所述,現(xiàn)有技術(shù)中的地址映射關(guān)系始終是靜態(tài)的,如映射:
[0013]some, domain, org — [127.0.1.1, 220.12.3.104,120.10.11.18,10.10.8.8]
[0014]因?yàn)榈刂酚成潢P(guān)系是靜態(tài)的,那么每次查詢的時(shí)候返回的值都是一樣的,網(wǎng)絡(luò)地址無法動(dòng)態(tài)解析,例如根據(jù)對(duì)方的負(fù)載狀態(tài)、網(wǎng)絡(luò)狀態(tài)等等。
[0015]現(xiàn)有技術(shù)中采用的方法DNS僅存儲(chǔ)一個(gè)映射關(guān)系,對(duì)映射結(jié)果并不做正確性保證,極可能返回?zé)o效的地址,而且其返回的數(shù)據(jù)結(jié)構(gòu)也比較單一,返回?cái)?shù)據(jù)中僅包括映射關(guān)系,無法附帶其它信息如地址的權(quán)重、存活時(shí)間等,其中,DNS SRV使DNS可以存儲(chǔ)IP+port (端口),但仍無法自定義擴(kuò)展;另外,DNS僅僅是個(gè)協(xié)議,并無實(shí)質(zhì)性的約束,對(duì)客戶端的行為很難把控,實(shí)質(zhì)使用中會(huì)經(jīng)常出現(xiàn)變更不生效的情況,原因是系統(tǒng)對(duì)解析請(qǐng)求進(jìn)行了緩存。
[0016]針對(duì)現(xiàn)有技術(shù)中無法動(dòng)態(tài)映射網(wǎng)絡(luò)地址的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0017]針對(duì)相關(guān)技術(shù)中無法動(dòng)態(tài)映射網(wǎng)絡(luò)地址的問題,目前尚未提出有效的解決方案,為此,本申請(qǐng)的主要目的在于提供一種網(wǎng)絡(luò)地址映射方法、裝置和系統(tǒng),以解決上述問題。
[0018]為了實(shí)現(xiàn)上述目的,根據(jù)本申請(qǐng)的一個(gè)方面,提供了一種網(wǎng)絡(luò)地址映射方法,該方法包括:過濾器截取域名解析請(qǐng)求,其中,域名解析請(qǐng)求中攜帶有請(qǐng)求訪問的待解析域名;過濾器檢測(cè)域名存儲(chǔ)內(nèi)存中是否保存有待解析域名,其中,過濾器位于發(fā)送域名解析請(qǐng)求的終端上;過濾器在域名存儲(chǔ)內(nèi)存中保存有待解析域名的情況下,從域名存儲(chǔ)內(nèi)存中讀取與待解析域名對(duì)應(yīng)的IP地址;在域名存儲(chǔ)內(nèi)存中沒有保存待解析域名的情況下,則將域名解析請(qǐng)求轉(zhuǎn)發(fā)至域名解析服務(wù)器。
[0019]進(jìn)一步地,從域名存儲(chǔ)內(nèi)存中讀取與待解析域名對(duì)應(yīng)的IP地址包括:在域名存儲(chǔ)內(nèi)存中查找與待解析域名對(duì)應(yīng)的IP地址;在域名存儲(chǔ)內(nèi)存中查找到與待解析域名對(duì)應(yīng)的IP地址的情況下,讀取與待解析域名對(duì)應(yīng)的IP地址。
[0020]進(jìn)一步地,在域名存儲(chǔ)內(nèi)存中查找與待解析域名對(duì)應(yīng)的IP地址之后,網(wǎng)絡(luò)地址映射方法還包括:在域名存儲(chǔ)內(nèi)存中查找不到與待解析域名對(duì)應(yīng)的IP地址的情況下,從域名配置服務(wù)器上讀取與待解析域名對(duì)應(yīng)的IP地址。
[0021]進(jìn)一步地,域名配置服務(wù)器上保存有預(yù)先獲取的域名信息,域名信息包括預(yù)先獲取的域名和預(yù)先獲取的域名的描述信息IP地址的對(duì)應(yīng)關(guān)系,預(yù)先獲取的域名保存在域名存儲(chǔ)內(nèi)中的第一列表中,描述信息保存在域名存儲(chǔ)內(nèi)中的第二列表中,其中,預(yù)先獲取的域名的描述信息包括預(yù)先獲取的域名對(duì)應(yīng)的IP地址、預(yù)先獲取的域名與IP地址的對(duì)應(yīng)關(guān)系。
[0022]進(jìn)一步地,在檢測(cè)域名存儲(chǔ)內(nèi)存中是否保存有待解析域名之前,網(wǎng)絡(luò)地址映射方法還包括下述更新處理中的至少之一:域名配置服務(wù)器每隔第一預(yù)設(shè)時(shí)間檢測(cè)域名信息中的IP地址是否均為有效地址,在域名信息中的IP地址不為有效地址的情況下,更新域名信息;每隔第二預(yù)設(shè)時(shí)間使用域名配置服務(wù)器中預(yù)先獲取的域名更新第一列表;每隔第三預(yù)設(shè)時(shí)間使用域名配置服務(wù)器中的描述信息更新第二列表。
[0023]為了實(shí)現(xiàn)上述目的,根據(jù)本申請(qǐng)的一個(gè)方面,提供了一種網(wǎng)絡(luò)地址映射裝置,該裝置包括:請(qǐng)求獲取模塊,用于截取域名解析請(qǐng)求,其中,域名解析請(qǐng)求中攜帶有請(qǐng)求訪問的待解析域名;第一檢測(cè)模塊,用于檢測(cè)域名存儲(chǔ)內(nèi)存中是否保存有待解析域名,其中,域名存儲(chǔ)內(nèi)存存儲(chǔ)在發(fā)送域名解析請(qǐng)求的終端上;域名處理模塊,用于在域名存儲(chǔ)內(nèi)存中保存有待解析域名的情況下,從域名存儲(chǔ)內(nèi)存中讀取與待解析域名對(duì)應(yīng)的IP地址;在域名存儲(chǔ)內(nèi)存中沒有保存待解析域名的情況下,則將域名解析請(qǐng)求轉(zhuǎn)發(fā)至域名解析服務(wù)器。
[0024]進(jìn)一步地,域名處理模塊包括:第一查找模塊,用于在域名存儲(chǔ)內(nèi)存中查找與待解析域名對(duì)應(yīng)的IP地址;第一讀取子模塊,用于在域名存儲(chǔ)內(nèi)存中查找到與待解析域名對(duì)應(yīng)的IP地址的情況下,讀取與待解析域名對(duì)應(yīng)的IP地址。
[0025]進(jìn)一步地,網(wǎng)絡(luò)地址映射裝置還包括:第二讀取子模塊,用于在域名存儲(chǔ)內(nèi)存中查找不到與待解析域名對(duì)應(yīng)的IP地址的情況下,從域名配置服務(wù)器上讀取與待解析域名對(duì)應(yīng)的IP地址。
[0026]進(jìn)一步地,域名配置服務(wù)器上保存有預(yù)先獲取的域名信息,域名信息包括預(yù)先獲取的域名和預(yù)先獲取的域名的描述信息IP地址的對(duì)應(yīng)關(guān)系,預(yù)先獲取的域名保存在域名存儲(chǔ)內(nèi)中的第一列表中,描述信息保存在域名存儲(chǔ)內(nèi)中的第二列表中,其中,預(yù)先獲取的域名的描述信息包括預(yù)先獲取的域名對(duì)應(yīng)的IP地址、預(yù)先獲取的域名與IP地址的對(duì)應(yīng)關(guān)系。
[0027]進(jìn)一步地,網(wǎng)絡(luò)地址映射裝置還包括如下更新模塊中的至少之一:第一更新模塊,用于每隔第一預(yù)設(shè)時(shí)間檢測(cè)域名信息中的IP地址是否均為有效地址,在域名信息中的IP地址不為有效地址的情況下,更新域名信息;第二更新模塊,用于每隔第二預(yù)設(shè)時(shí)間使用域名配置服務(wù)器中預(yù)先獲取的域名更新第一列表;第三更新模塊,用于每隔第三預(yù)設(shè)時(shí)間使用域名配置服務(wù)器中的描述信息更新第二列表。
[0028]為了實(shí)現(xiàn)上述目的,根據(jù)本申請(qǐng)的一個(gè)方面,提供了一種網(wǎng)絡(luò)地址映射系統(tǒng),該系統(tǒng)包括:終端,包括過濾器,其中,過濾器用于獲取終端上的域名解析請(qǐng)求,并檢測(cè)域名存儲(chǔ)內(nèi)存中是否保存有待解析域名,若域名存儲(chǔ)內(nèi)存中保存有待解析域名,則從域名存儲(chǔ)內(nèi)存中讀取與待解析域名對(duì)應(yīng)的IP地址,其中,域名解析請(qǐng)求中攜帶有請(qǐng)求訪問的待解析域名;域名存儲(chǔ)內(nèi)存存儲(chǔ)在發(fā)送域名解析請(qǐng)求的終端的過濾器上。
[0029]進(jìn)一步地,網(wǎng)絡(luò)地址映射系統(tǒng)還包括:域名配置服務(wù)器,與終端連接,用于在域名存儲(chǔ)內(nèi)存中查找不到與待解析域名對(duì)應(yīng)的IP地址的情況下,為過濾器提供與待解析域名對(duì)應(yīng)的IP地址;還用于每隔預(yù)設(shè)時(shí)間使用域名配置服務(wù)器中的域名信息更新域名存儲(chǔ)內(nèi)存。
[0030]采用本申請(qǐng)實(shí)施例,可以將上述實(shí)施例中的各個(gè)模塊設(shè)置在過濾器中,在過濾器的請(qǐng)求獲取模塊截取域名解析請(qǐng)求之后,通過第一檢測(cè)模塊檢測(cè)域名存儲(chǔ)內(nèi)存中是否存在待解析域名,在該域名存儲(chǔ)內(nèi)存中存在該待解析域名的情況下,直接讀取與該待解析域名對(duì)應(yīng)的IP地址,而在域名存儲(chǔ)內(nèi)存中沒有待解析域