資源服務(wù)器的IP地址發(fā)送給用戶。
[0035]在一個(gè)實(shí)施例中,可以只發(fā)送與用戶所在的網(wǎng)絡(luò)服務(wù)提供點(diǎn)距離最近的資源服務(wù)器的IP地址,也可以對(duì)多個(gè)資源服務(wù)器的IP地址進(jìn)行排序,生成優(yōu)化的排序結(jié)果,根據(jù)預(yù)訂的規(guī)則,將與用戶所在的網(wǎng)絡(luò)服務(wù)提供點(diǎn)距離最近的資源服務(wù)器的IP地址排在最前,用戶能夠優(yōu)先使用。
[0036]本發(fā)明的DNS解析方法,計(jì)算各個(gè)網(wǎng)站與用戶所在網(wǎng)絡(luò)服務(wù)提供點(diǎn)(或稱局端)POP點(diǎn)的距離,選擇一個(gè)距離用戶最近的網(wǎng)站資源提供給用戶訪問(wèn),可最大限度節(jié)省網(wǎng)絡(luò)帶寬,并能為用戶提供最佳的業(yè)務(wù)體驗(yàn)。
[0037]在一個(gè)實(shí)施例中,接收到用戶發(fā)送的指定目標(biāo)域名的DNS解析請(qǐng)求,從DNS解析請(qǐng)求獲取用戶IP地址,用戶IP地址由用戶所屬的網(wǎng)絡(luò)服務(wù)提供點(diǎn)分配。將用戶IP地址與各個(gè)網(wǎng)絡(luò)服務(wù)提供點(diǎn)的IP網(wǎng)段地址進(jìn)行匹配,確定用戶所屬的網(wǎng)絡(luò)服務(wù)提供點(diǎn)。
[0038]在一個(gè)實(shí)施例中,基于網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)進(jìn)行DNS解析,本地DNS服務(wù)器基于網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)計(jì)算各個(gè)網(wǎng)站與用戶所在POP點(diǎn)的距離,選擇一個(gè)距離用戶最近的網(wǎng)站資源提供給用戶訪問(wèn)。本地DNS服務(wù)器可以通過(guò)運(yùn)營(yíng)商的IP網(wǎng)管或互聯(lián)網(wǎng)核心路由器獲取全網(wǎng)網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)數(shù)據(jù)。
[0039]如圖3所示,當(dāng)全網(wǎng)網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí),IP網(wǎng)管或互聯(lián)網(wǎng)核心路由器更新網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)數(shù)據(jù),同時(shí)向本地DNS服務(wù)器同步更新全網(wǎng)網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)數(shù)據(jù)。此時(shí),本地DNS服務(wù)器獲取的網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)數(shù)據(jù)能夠?qū)崟r(shí)反映全網(wǎng)拓?fù)洹?br>[0040]用戶IP地址一般由所在POP點(diǎn)進(jìn)行分配,本地DNS服務(wù)器需要獲取其服務(wù)范圍內(nèi)各個(gè)POP點(diǎn)的IP網(wǎng)段地址。如圖4所示,P0P1對(duì)應(yīng)IP網(wǎng)段11,IP網(wǎng)段12,…;POP2對(duì)應(yīng)IP網(wǎng)段21,IP網(wǎng)段22,…;POP3對(duì)應(yīng)IP網(wǎng)段31,IP網(wǎng)段32,…;P0P4對(duì)應(yīng)IP網(wǎng)段41,IP網(wǎng)段42,…;P0P5對(duì)應(yīng)IP網(wǎng)段51,IP網(wǎng)段52,…等等。
[0041]當(dāng)用戶向本地DNS服務(wù)器發(fā)出某個(gè)指定域名的DNS解析請(qǐng)求時(shí),本地DNS服務(wù)器從用戶域名解析請(qǐng)求報(bào)文中獲取用戶的IP地址,并與各個(gè)POP點(diǎn)的IP網(wǎng)段地址進(jìn)行匹配,根據(jù)匹配結(jié)果得到用戶所屬的POP點(diǎn)。
[0042]本地DNS服務(wù)器經(jīng)過(guò)DNS遞歸查詢,可能得到多個(gè)資源服務(wù)器的IP地址。ICP會(huì)在同一運(yùn)營(yíng)商網(wǎng)絡(luò)不同區(qū)域或不同運(yùn)營(yíng)商網(wǎng)絡(luò)部署內(nèi)容資源服務(wù)器,ICP授權(quán)DNS服務(wù)器會(huì)把用戶訪問(wèn)資源域名對(duì)應(yīng)的所有服務(wù)器IP地址返回給本地DNS服務(wù)器,而本地DNS服務(wù)器會(huì)不加選擇地向用戶回復(fù)遞歸查詢得到的域名對(duì)應(yīng)的IP地址。
[0043]在一個(gè)實(shí)施例中,本地DNS服務(wù)器基于可基于跳數(shù)、網(wǎng)內(nèi)優(yōu)先、傳輸延遲等策略分別計(jì)算這些IP地址到用戶所在POP點(diǎn)的距離并排序,優(yōu)化結(jié)果存放在緩存中。如圖5所示,對(duì)于被解析的域名1,對(duì)應(yīng)P0P1的解析優(yōu)化結(jié)果為IP1,IP2,IP3, IP4, IP5 ;對(duì)于POP2的解析優(yōu)化結(jié)果為IP2,IP1, IP3, IP4, IP5 ;對(duì)于POP3的解析優(yōu)化結(jié)果為IP3, IP1, IP2, IP4, IP5 ;P0P4 的解析優(yōu)化結(jié)果為 IP4,IP1, IP2, IP3, IP5 ;對(duì)于 P0P5 的解析優(yōu)化結(jié)果為IP5,IP1, IP2, IP3, IP4。向用戶返回經(jīng)過(guò)優(yōu)化的DNS解析結(jié)果。用戶總是訪問(wèn)最優(yōu)的網(wǎng)站資源。若最優(yōu)的網(wǎng)站資源不可得,依次訪問(wèn)次優(yōu)的網(wǎng)站資源。
[0044]在一個(gè)實(shí)施例中,根據(jù)網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)計(jì)算多個(gè)資源服務(wù)器的IP地址到達(dá)用戶所屬的網(wǎng)絡(luò)服務(wù)提供點(diǎn)的跳數(shù)。根據(jù)跳數(shù)最少原則,對(duì)多個(gè)資源服務(wù)器的IP地址的訪問(wèn)順序進(jìn)行排序,將排序結(jié)果返回給用戶并存儲(chǔ)。
[0045]在一個(gè)實(shí)施例中,如圖6所示,本地DNS服務(wù)器通過(guò)遞歸查詢得到來(lái)自數(shù)據(jù)中心IDC1、IDC2、IDC3、IDC4的四個(gè)網(wǎng)站的IP地址。本地DNS服務(wù)器根據(jù)網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)計(jì)算這4個(gè)IP地址到用戶所在POP的跳數(shù)。例如,根據(jù)實(shí)際網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù),以POP點(diǎn)連接的路由器作為根節(jié)點(diǎn),根據(jù)Di jkstra算法,計(jì)算根節(jié)點(diǎn)到域名對(duì)應(yīng)各個(gè)服務(wù)器IP地址的跳數(shù),得到一個(gè)最少跳數(shù)的路徑對(duì)應(yīng)的服務(wù)器IP地址。
[0046]POP點(diǎn)到IDC1經(jīng)過(guò)了 4跳路由器,POP點(diǎn)到IDC2經(jīng)過(guò)了 5跳路由器,POP點(diǎn)到IDC3經(jīng)過(guò)了 6跳路由器,POP點(diǎn)到IDC4經(jīng)過(guò)了 7跳路由器。
[0047]根據(jù)跳數(shù)最少原則,本地DNS服務(wù)器按照這四個(gè)網(wǎng)站的IP地址到POP點(diǎn)跳數(shù)由小到大進(jìn)行排序,排序結(jié)果為Dipl〈Dip2〈Dip3〈Dip4。本地DNS服務(wù)器把優(yōu)化結(jié)果存放在緩存中,同時(shí)向用戶返回DNS解析優(yōu)化結(jié)果。用戶默認(rèn)使用解析得到域名對(duì)應(yīng)的第一個(gè)ipl訪問(wèn)網(wǎng)站資源。若ipl不可達(dá),依次使用ip2、ip3、ip4對(duì)應(yīng)的網(wǎng)站資源。
[0048]在一個(gè)實(shí)施例中,根據(jù)網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)計(jì)算多個(gè)資源服務(wù)器的IP地址到達(dá)用戶所屬的網(wǎng)絡(luò)服務(wù)提供點(diǎn)的跳數(shù)。按照網(wǎng)內(nèi)優(yōu)先原則,將與用戶在同一運(yùn)營(yíng)商網(wǎng)絡(luò)中的資源服務(wù)器的IP地址的訪問(wèn)順序排在前列,并且,根據(jù)跳數(shù)最少原則,對(duì)同一運(yùn)營(yíng)商網(wǎng)絡(luò)或不同運(yùn)營(yíng)商網(wǎng)絡(luò)中的資源服務(wù)器的IP地址的訪問(wèn)順序進(jìn)行排序,將排序結(jié)果返回給用戶并存儲(chǔ)。
[0049]在一個(gè)實(shí)施例中,如圖7所示,本地DNS服務(wù)器通過(guò)遞歸查詢得到來(lái)自數(shù)據(jù)中心IDC1、IDC2、IDC3、IDC4的四個(gè)網(wǎng)站的IP地址。本地DNS服務(wù)器根據(jù)網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)計(jì)算這4個(gè)IP地址到用戶所在POP的跳數(shù)。POP點(diǎn)到IDC1經(jīng)過(guò)了 5跳路由器,POP點(diǎn)到IDC2經(jīng)過(guò)了 6跳路由器,POP點(diǎn)到IDC3經(jīng)過(guò)了 7跳路由器,POP點(diǎn)到IDC4經(jīng)過(guò)了 4跳路由器。
[0050]由于IDC4位于跨運(yùn)營(yíng)商網(wǎng)絡(luò),盡管IDC4到POP點(diǎn)經(jīng)過(guò)的跳數(shù)最少,根據(jù)網(wǎng)內(nèi)優(yōu)先原則,本地DNS服務(wù)器對(duì)這四個(gè)網(wǎng)站的IP地址的優(yōu)先順序進(jìn)行排序,排序結(jié)果為Dipl〈Dip2〈Dip3〈Dip4。本地DNS服務(wù)器把優(yōu)化結(jié)果存放在緩存中,同時(shí)向用戶返回DNS解析優(yōu)化結(jié)果。用戶默認(rèn)使用解析得到域名對(duì)應(yīng)的ipl訪問(wèn)網(wǎng)站資源。若ipl不可達(dá),依次使用ip2、ip3、ip4對(duì)應(yīng)的網(wǎng)站資源。
[0051]在一個(gè)實(shí)施例中,根據(jù)網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)計(jì)算多個(gè)資源服務(wù)器的IP地址到達(dá)用戶所屬的網(wǎng)絡(luò)服務(wù)提供點(diǎn)的傳輸延遲。根據(jù)傳輸延遲最短原則,將多個(gè)資源服務(wù)器的IP地址的訪問(wèn)順序進(jìn)行排序,將排序結(jié)果返回給用戶并存儲(chǔ)。
[0052]在一個(gè)實(shí)施例中,如圖8所示,假設(shè)本地DNS服務(wù)器通過(guò)遞歸查詢得到來(lái)自數(shù)據(jù)中心IDC1、IDC2、IDC3、IDC4的四個(gè)網(wǎng)站的IP地址。本地DNS服務(wù)器根據(jù)網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)計(jì)算這4個(gè)IP地址到用戶所在POP的傳輸延遲。例如,根據(jù)實(shí)際網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù),以POP點(diǎn)連接的路由器作為根節(jié)點(diǎn),根據(jù)Di jkstra算法,計(jì)算根節(jié)點(diǎn)到域名對(duì)應(yīng)各個(gè)服務(wù)器IP地址的延遲,得到一個(gè)延遲最小的路徑對(duì)應(yīng)的服務(wù)器IP地址。
[0053]POP點(diǎn)到IDC1經(jīng)過(guò)了 500毫秒,POP點(diǎn)到IDC2經(jīng)過(guò)了 600毫秒,POP點(diǎn)到IDC3經(jīng)過(guò)了 700毫秒,POP點(diǎn)到IDC4經(jīng)過(guò)了 800毫秒。根據(jù)傳輸延遲最短原則,本地DNS服務(wù)器對(duì)這四個(gè)網(wǎng)站的IP地址的優(yōu)先順序進(jìn)行排序,排序結(jié)果為Dipl〈Dip2〈Dip3〈Dip4。本地DNS服務(wù)器把優(yōu)化結(jié)果存放在緩存中,同時(shí)向用戶返回DNS解析優(yōu)化結(jié)果。用戶默認(rèn)使用解析得到域名對(duì)應(yīng)的ipl訪問(wèn)網(wǎng)站資源。若ipl不可達(dá),依次使用ip2、ip3、ip4對(duì)應(yīng)的網(wǎng)站資源。
[0054]在一個(gè)實(shí)施例中,用戶接收到排序結(jié)果,根據(jù)排序結(jié)果中資源服務(wù)器的IP地址的排序依次訪問(wèn)資源服務(wù)器。當(dāng)接收到屬于網(wǎng)絡(luò)服務(wù)提供點(diǎn)的用戶發(fā)送的、對(duì)目標(biāo)域名的DNS解析請(qǐng)求時(shí),將存儲(chǔ)的排序結(jié)果返回給此用戶。例如,當(dāng)下一個(gè)屬于同一個(gè)POP點(diǎn)的用戶再次發(fā)出上述域名的DNS解析請(qǐng)求時(shí),本地DNS服務(wù)器直接查找存放在緩存中已有的域名解析優(yōu)化結(jié)果,返回給用戶,無(wú)需再次為該用戶重新計(jì)算優(yōu)化結(jié)果。
[0055]如圖9所示,本發(fā)明提供一種DNS服務(wù)器4,包括:地址獲取單元41、距離計(jì)算單元42、地址返回單元43、請(qǐng)求接收單元44、POP點(diǎn)獲取單元45和地址排序單元46。
[0056]地址獲取單元41獲取目標(biāo)域名的多個(gè)資源服務(wù)器的IP地址。距離計(jì)算單元42計(jì)算多個(gè)資源服務(wù)器的IP地址與用戶所在的網(wǎng)絡(luò)服務(wù)提供點(diǎn)的距離。地址排序單元46按照距離由近到遠(yuǎn)的順序?qū)λ龆鄠€(gè)資源服務(wù)器的IP