本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其是涉及一種域名服務(wù)的跟蹤和聚合方法。
背景技術(shù):
隨著社會的發(fā)展,互聯(lián)網(wǎng)用戶快速增長帶動了互聯(lián)網(wǎng)經(jīng)濟(jì)的蓬勃發(fā)展,移動互聯(lián)網(wǎng)、電子商務(wù)、網(wǎng)絡(luò)視頻、品牌網(wǎng)絡(luò)廣告、網(wǎng)上招聘、網(wǎng)絡(luò)游戲等在極短的時間得到快速發(fā)展并積累了眾多用戶,成為了人們生活中不可或缺的一部分。
在現(xiàn)有CDN技術(shù)中,需要通過調(diào)度系統(tǒng)對用戶的ip地址進(jìn)行分析,判斷出ip地址來源于哪個區(qū)域,屬于哪個運營商,從而實現(xiàn)對用戶訪問的就近調(diào)度,也就是在CDN領(lǐng)域經(jīng)常提到的智能調(diào)度。而這里所謂的智能也就是根據(jù)請求用戶來對同一域名作出相應(yīng)不同的解析,所以CDN的調(diào)度準(zhǔn)確性也就完全依賴于DNS智能解析的質(zhì)量。但由于DNS是互聯(lián)網(wǎng)上較早設(shè)計的協(xié)議,并沒有考慮到今天網(wǎng)絡(luò)的情況與應(yīng)用,因此實際上其調(diào)度的準(zhǔn)確性受到很大的影響。
在整個解析過程中,CDN使用DNS獲取查詢IP,根據(jù)IP對用戶進(jìn)行地域調(diào)度。公共DNS代替用戶向根、頂級域、權(quán)威DNS去查詢結(jié)果并把結(jié)果返回給用戶,被查詢的權(quán)威DNS服務(wù)器是無法知道具體是哪個用戶來查詢。因此這里獲取的IP地址是DNS地址,而不是用戶真實的IP地址。大多數(shù)情況下,我們假設(shè)用戶通過會使用離自己網(wǎng)絡(luò)最近的Local DNS進(jìn)行解析,CDN調(diào)度基本還是準(zhǔn)確的。
但在很多情況下,存在Local DNS設(shè)置錯誤的問題,或者用戶使用google public dns(nameserver 8.8.8.8/8.8.4.4)或opendns進(jìn)行DNS解析。比如國內(nèi)很多用戶設(shè)置nameserver為8.8.8.8(dig xxx.com@8.8.8.8),我們得到的DNS query IP是74.125.16.208,判斷IP屬于美國,加利福尼亞州山景市谷歌公司,這個時候,我們的DNS會返回離美國加州最近的CDN節(jié)點IP給用戶,直接的后果就是將國內(nèi)用戶錯誤的調(diào)度到美國節(jié)點,這樣CDN加速的效果就不是很理想。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種域名服務(wù)的跟蹤和聚合的方法,以解決上述背景技術(shù)中提出的問題和缺陷,跟蹤域名在各個cdn廠商的權(quán)威dns的ip分布情況,根據(jù)這些ip的質(zhì)量或其他策略,對這些ip進(jìn)行聚合,對這個域名的流量在這些ip之間重新分配。
為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種域名服務(wù)的跟蹤和聚合的方法,通過edns-client-subnet選項,用戶在發(fā)起dns請求的時候?qū)⒂脩糇约旱膇p放在dns請求中,發(fā)給權(quán)威dns服務(wù)器,權(quán)威dns服務(wù)器就根據(jù)用戶ip的實際歸屬地返回給調(diào)度節(jié)點,調(diào)度節(jié)點依據(jù)用戶ip地址的實際歸屬進(jìn)行調(diào)度,這個ip地址是用戶的真實ip地址,而不是公共DNS的ip地址,從而探測cdn廠商的某一域名針對特定區(qū)域用戶出的ip地址,使調(diào)度更精準(zhǔn)。
作為上述技術(shù)方案的進(jìn)一步說明,本發(fā)明實施例的一種域名服務(wù)的跟蹤和聚合的方法,探測cdn廠商的某一域名針對特定區(qū)域用戶出的ip地址,步驟如下:
Q1:在探測節(jié)點構(gòu)建一個dns請求,在該dns請求中添加edns-client-subnet選項,在該選項的ip地址設(shè)置為一個歸屬地是特定區(qū)域的ip地址;
Q2:將上述構(gòu)建的攜帶edns-client-subnet選項的dns請求發(fā)送給該cdn廠商的權(quán)威dns服務(wù)器;
Q3:cdn廠商的權(quán)威dns服務(wù)器收到該dns請求后,解析該請求的edns-client-subnet選項,判斷選項中的ip歸屬地為其特定區(qū)域,權(quán)威dns服務(wù)器根據(jù)歸屬地找到該域名在該區(qū)域的A記錄;
Q4:cdn廠商的權(quán)威dns服務(wù)器將特定區(qū)域的A記錄返回給探測節(jié)點;
Q5:最終探測節(jié)點得到cdn廠商的某個域名在特定區(qū)域的ip地址信息,從而可以通過該域名在特定區(qū)域的IP地址進(jìn)行調(diào)度。
本發(fā)明的優(yōu)點:
1、根據(jù)用戶的實際IP地址進(jìn)行調(diào)度,而不是根據(jù)公共DNS的IP地址進(jìn)行調(diào)度,從而提高的調(diào)度的精準(zhǔn)性。
2、通過權(quán)威dns服務(wù)器的響應(yīng)機(jī)制,匯聚各個cdn廠商在全國各省運營商的調(diào)度ip及質(zhì)量數(shù)據(jù),形成IP地址池,從而全局掌握各個CDN廠商節(jié)點的服務(wù)質(zhì)量。
3、支持從IP地址池中選取質(zhì)量最好的IP地址響應(yīng)用戶的解析請求,繞過了cdn廠商的dns給用戶提供ip地址的環(huán)節(jié),提高了DNS響應(yīng)速度。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為一種域名服務(wù)的跟蹤和聚合的方法裝置的結(jié)構(gòu)示意圖。
圖2為一種域名服務(wù)的跟蹤和聚合的方法的示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
請參閱圖1,edns-client-subnet dns的edns-client-subnet是一份dns擴(kuò)展協(xié)議,其目的是使權(quán)威智能dns服務(wù)器返回的ip地址離用戶更近更精確。該協(xié)議允許DNS resolver傳遞用戶的ip地址給authoritative DNS server。
其基本原理如下:edns-client-subnet是存在于dns報文中的一個選項,這個選項攜帶用戶ip地址信息。權(quán)威dns服務(wù)器接收到攜帶edns-client-subnet選項的dns請求后,可以根據(jù)edns-client-subnet中的ip地址判斷用戶歸屬地,從而根據(jù)用戶歸屬地返回離edns-client-subnet中的ip地址最近的ip地址。在本發(fā)明中利用edns-client-subnet dns的主要目的就是通過用戶的真實ip地址而不是用戶的dns服務(wù)器地址來進(jìn)行dns查詢,這樣在CDN在進(jìn)行DNS智能調(diào)度時可以大大提高調(diào)度的精準(zhǔn)性。
本發(fā)明實施例給出一個實例,探測cdn廠商的某一域名針對北京電信的用戶出的ip地址是多少,步驟如下:
Q1:在我們的探測節(jié)點構(gòu)建一個dns請求,在該dns請求中添加edns-client-subnet選項,在該選項的ip地址設(shè)置為一個歸屬地是北京電信的ip地址;
Q2:將上述構(gòu)建的攜帶edns-client-subnet選項的dns請求發(fā)送給該cdn廠商的權(quán)威dns服務(wù)器;
Q3:cdn廠商的權(quán)威dns服務(wù)器收到該dns請求后,解析該請求的edns-client-subnet選項,判斷選項中的ip歸屬地為北京電信,權(quán)威dns服務(wù)器根據(jù)歸屬地找到該域名在北京電信區(qū)域的A記錄;
Q4:cdn廠商的權(quán)威dns服務(wù)器將北京電信的A記錄返回給我們的探測節(jié)點;
Q5:最終我們的探測節(jié)點得到cdn廠商的某個域名在北京電信的ip地址信息,從而可以通過該域名在北京電信的IP地址進(jìn)行調(diào)度。
在本發(fā)明中,將需要加速的域名通過多個cname分配給多個cdn廠商,我們?yōu)槊總€省區(qū)域運營商選取樣本ip,使用這些樣本ip構(gòu)造攜帶edns-client-subnet選項的dns請求發(fā)送給各cdn廠商的權(quán)威dns服務(wù)器,從權(quán)威dns服務(wù)器返回的響應(yīng)中得到各個cdn廠商在全國各省運營商的調(diào)度ip。我們對全網(wǎng)所有這些ip的質(zhì)量做監(jiān)控分析,按質(zhì)量、可用性等維度對這些ip進(jìn)行分類。
我們在拿到全網(wǎng)ip以及這些ip質(zhì)量數(shù)據(jù)之后形成一個ip地址池,我們的dns對這些ip進(jìn)行聚合和流量重新分配。
用戶向我們的dns發(fā)起對某域名的dns解析請求時,我們的dns根據(jù)用戶歸屬地等屬性按照一定策略從ip池中選取ip直接返回給用戶。以上方案通過ip的分配策略實現(xiàn)流量在各省運營商及cdn廠商之間的分配,繞過了cdn廠商的dns給用戶提供ip地址的環(huán)節(jié)。
以上所述僅為本發(fā)明的較佳實施方式作了詳細(xì)說明,但是本發(fā)明并不限于上述實施方式,保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi),本發(fā)明實施例還可以在不脫離本專利宗旨的前提下做出各種變化。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。