專利名稱:一種檢測和維護ppp鏈路的方法
技術領域:
本發(fā)明涉及PPP(Point-to-Point Protocol點到點協(xié)議,簡稱PPP)鏈路,具體地說涉及一種檢測和維護PPP鏈路的方法。
背景技術:
PPP(Point-to-Point Protocol點到點協(xié)議)是為在同等單元之間傳輸數(shù)據(jù)包這樣的簡單鏈路設計的鏈路層協(xié)議,使用該種鏈路層協(xié)議建立的數(shù)據(jù)通信鏈路稱為PPP鏈路。這種鏈路提供全雙工操作,并按照順序傳遞數(shù)據(jù)包,主要作用是通過撥號或?qū)>€方式建立點對點連接并發(fā)送數(shù)據(jù)。目前,PPP鏈路已成為各種主機、網(wǎng)橋和路由器之間實現(xiàn)簡單連接的一種共通的解決方案,它具有簡單、具備用戶驗證能力、可以解決IP分配等優(yōu)點,是目前廣域網(wǎng)上應用最廣泛的協(xié)議之一。例如,家庭撥號上網(wǎng)就是通過PPP鏈路在用戶端和運營商(如中國網(wǎng)通)的接入服務器之間建立通信。在寬帶接入的應用中,PPP鏈路也衍生出新的形式。例如,在ADSL(非對稱數(shù)據(jù)用戶環(huán)線,AsymmetricalDigital Subscriber Loop)接入方式中,采用PPP協(xié)議與其它的協(xié)議共同派生出了符合寬帶接入要求的新的協(xié)議,如PPPoE(PPP over Ethernet),PPPoA(PPP over ATM)。上述各種協(xié)議也屬于廣義的PPP協(xié)議,使用上述協(xié)議建立的鏈路也可以稱之為PPP鏈路。本發(fā)明在廣義意義上使用PPP協(xié)議以及PPP鏈路的概念。
數(shù)據(jù)通信鏈路是很少完美的。由于各種原因(例如線路噪音,設備失敗,緩存溢出等等),鏈路上的包可能被丟掉或者被破壞,這種情況被稱之為“鏈路丟失”。在很多情況下,需要準確掌握鏈路狀態(tài),在發(fā)生鏈路丟失時采取措施重新建立鏈路。上述過程被稱為“鏈路的檢測和維護”。
現(xiàn)有技術下,為了檢測和維護PPP鏈路,可以使用ICMP(因特網(wǎng)控制信息協(xié)議,Internet Control Message Protocol)的Echo Request(回音請求)或PPP協(xié)議本身的LCP Echo Request(鏈路控制協(xié)議回音請求)。即每間隔一段時間就發(fā)送所述Echo Request給服務器,并檢測響應。如果發(fā)送若干次請求后沒有收到響應,就可以認為PPP鏈路已經(jīng)丟失。
所述ICMP在Internet上用于錯誤處理和傳遞控制信息。它的功能之一是與主機聯(lián)系,通過發(fā)送一個“回音請求”(Echo Request)信息包看看主機是否正常工作。最普通的ping程序就使用了這個功能。
在TPC/IP協(xié)議棧中,用于處理ICMP Echo Request的應用程序的優(yōu)先級比較高,因此,這就導致服務器易受到DOS(Deny of Service,拒絕服務)攻擊。也就是說,如果有大量的ICMP Echo Request到來,服務器忙于處理這些請求,而無法提供其它的服務。
因此,提供網(wǎng)絡連接服務的網(wǎng)絡運營商為了避免服務器受到攻擊,就拒絕響應ICMP Echo Request請求。所以,在客戶端利用ICMP Echo Request來維護和檢測PPP鏈路是不可靠的。
由于類似的原因,利用PPP自身的LCP Echo Request來維護和檢測PPP鏈路也同樣不可靠。
發(fā)明內(nèi)容
針對上述缺陷,本發(fā)明解決的技術問題在于,提供一種檢測和維護PPP鏈路的方法,該方法不會由于網(wǎng)絡運營商拒絕響應ICMP Echo Request或者LCP Echo Request而無法檢測到鏈路連接狀態(tài)。
本發(fā)明提供的檢測和維護點到點協(xié)議PPP鏈路的方法,包括11)客戶端通過PPP接口向?qū)Χ税l(fā)出DNS請求;12)判斷是否接收到對端對所述DNS請求的響應;若是,則判定PPP鏈路工作正常;若否,則判定PPP鏈路丟失,啟動重連進程。
優(yōu)選地,步驟11)后,等待若干時間,再進入步驟12)。
優(yōu)選地,所述步驟11)之前,檢測PPP接口是否啟動,若未啟動,則再次檢測;若PPP接口啟動則進入下一步驟。
優(yōu)選地,所述檢測PPP接口是否啟動的檢測結果若為PPP接口啟動,則檢測PPP接口是否接收到對端數(shù)據(jù);若否,則進入步驟11);若是,則重新檢測PPP接口是否啟動。
優(yōu)選地,所述步驟11)之前設置預定次數(shù)M;所述步驟12)中判斷未接收到對端對所述DNS請求的響應時,進一步判斷連續(xù)出現(xiàn)該種狀況的次數(shù),若超過M次,判斷PPP鏈路丟失,啟動重連進程;若未超過M次,則將所述未接收到對端響應的次數(shù)加1后返回步驟11),再次進行DNS請求;所述計數(shù)在接收到對端的DNS請求響應后清零。
優(yōu)選地,所述再次進行DNS請求前,等待一較短的等待時間。
優(yōu)選地,所述判斷PPP接口未啟動,或判斷PPP接口啟動但是接收到對端數(shù)據(jù)時,等待一較長時間,再重新檢測PPP接口是否啟動。
優(yōu)選地,所述等待一較長時間后,檢測PPP接口是否啟動前,將未接收到對端DNS請求響應連續(xù)出現(xiàn)的次數(shù)的計數(shù)清零。
優(yōu)選地,所述步驟12)中判斷PPP鏈路正常時,則等待一較長時間后,再重復進行上述PPP鏈路檢測和維護。
本發(fā)明利用每個網(wǎng)絡運營商都必須提供的DNS服務,實現(xiàn)對PPP鏈路的檢測和維護,與現(xiàn)有技術采用Echo Request進行連路的檢測和維護相比,本發(fā)明提供的方法具有下述優(yōu)勢1、可靠性高。本發(fā)明提供的方法建立在運營商必須提供的DNS服務基礎上,由于運營商不可能關閉DNS服務,因此,此種方式適用于各種PPP鏈路。而使用Echo Request則可能由于運營商關閉該功能而無法進行鏈路檢測和維護。
2、可以避免被惡意利用。由于DNS是一個普通的服務請求,不具有高優(yōu)先級,因此,不會被惡意使用者用于攻擊服務器。
3、無需增加任何費用。DNS請求和服務是網(wǎng)絡中已經(jīng)具有的服務請求,因此,使用DNS請求檢測和維護PPP鏈路不需要增加費用。
圖1是本發(fā)明第一實施例的流程圖。
具體實施例方式
DNS(Domain Name System)的含義是域名管理系統(tǒng),也可以指域名解析服務器,它的作用是提供域名解析服務。所謂域名解析服務是把域名轉(zhuǎn)換成為網(wǎng)絡可以識別的IP地址。例如上網(wǎng)時,輸入域名www.sohu.com會由DNS自動轉(zhuǎn)換成為IP地址61.135.132.6。使用域名解析服務的原因是因為人們更容易記住名字,如www.sohu.com,而不是IP地址61.135.132.6。每一個提供網(wǎng)絡接入服務的網(wǎng)絡運營商都會通過域名解析服務器提供所述域名解析服務,可以簡稱為DNS服務。
由于每一個網(wǎng)絡運營商都會提供DNS服務,可以采用如下方式檢測和維護PPP鏈路每間隔一段時間發(fā)送DNS請求給DNS服務器,并檢測響應。如果發(fā)送若干次請求始終沒有收到響應,則判斷PPP鏈路已經(jīng)丟失。
請參看圖1,為本發(fā)明第一實施例的流程圖。
步驟S100,開始。
該步驟中,包括設置等待時間t,其中長等待時間的時間值為T1;短等待時間值為T2。首先將等待時間t設置為長等待時間T1。
所述等待時間t,是使用DNS請求檢測和維護鏈路的間隔時間。當鏈路情況正常時,該間隔時間可以較長,可以使用長等待時間T1;如果鏈路情況異常,則應縮短DNS請求的時間,以便及時檢測和維護鏈路,這時使用短等待時間T2。
步驟S101,將計數(shù)器置零。
所述計數(shù)器用于計量發(fā)送DNS請求進行鏈路檢測的次數(shù),在進行判斷前首先將該計數(shù)器置零。
步驟S102,等待設置的等待時間t。
該段時間t是進行鏈路檢測和維護的間隔時間。
步驟S103,判斷PPP接口是否啟動;若是,則進入步驟S104;若否,則進入步驟S109。
所述PPP接口啟動的含義是指該網(wǎng)絡接口已經(jīng)準備好,可以用于接收和發(fā)送數(shù)據(jù)。
如果用戶沒有啟動PPP接口,表明PPP鏈路未被使用,此時沒有進行PPP鏈路檢測和維護的必要。如果PPP接口已經(jīng)啟動,說明需要使用PPP鏈路,因此,有必要進行后續(xù)步驟,進行PPP鏈路檢測與維護。
步驟S104,判斷PPP接口是否接收到對端數(shù)據(jù);若是,則進入步驟S109;若否,則進入步驟S105。
若PPP接口接收到對端數(shù)據(jù),則說明PPP鏈路工作正常,無需進行PPP鏈路檢測。否則,則存在PPP鏈路丟失的可能,需要進行PPP鏈路檢測。
步驟S105,發(fā)送DNS請求并等待響應。
所述DNS請求,就是客戶端通過所述PPP接口向提供網(wǎng)絡接入服務的網(wǎng)絡運營商的DNS服務器發(fā)送域名,由網(wǎng)絡運營商的DNS服務器根據(jù)發(fā)送的DNS請求,產(chǎn)生對應的IP地址,并將該IP地址作為響應,返回客戶端,當客戶端PPP接口收到所述響應時,則說明PPP鏈路工作正常。由于該DNS請求和響應機制是每個網(wǎng)絡運營商都必須提供的,因此,可以用該方法有效的檢驗鏈路的狀況。同時,所述DNS請求是普通的服務請求,不具有高優(yōu)先級,不會被惡意用戶用于攻擊服務器。
用于進行PPP鏈路檢測的DNS請求應當包括若干知名域名,以保證DNS請求的有效性。
步驟S106,判斷PPP接口是否接收對端對所述DNS請求的響應;若是,則進入步驟S109;若否,則進入步驟S107。
如果PPP接口接收到DNS響應,即域名解析后的IP地址,則說明PPP鏈路工作正常;否則,說明鏈路工作不正常。
步驟S107,計數(shù)器加1,將等待時間t的值設置為短等待時間T2。
進行一次DNS請求獲得的鏈路檢測結果可能并不正確,這是由于可能由于DNS服務器忙或其它原因,而使DNS服務器沒有及時作出響應,如果依據(jù)這一次的情況作出檢測結論,則可能出錯。為避免此種情況,設置專用計數(shù)器,對DNS請求未獲得響應的情況計數(shù)。
由于出現(xiàn)DNS請求未獲得正常響應的情況,因此,PPP鏈路有可能出現(xiàn)問題,有必要將所述等待時間t設為短等待時間T2,以進行更頻繁的DNS鏈路檢測,以便及時發(fā)現(xiàn)鏈路丟失的情況。
步驟S108,判斷計數(shù)器是否大于某個預定值M。若是,則進入步驟S110;若否,則返回步驟S102。
所述預定值M是預設的門檻值,當超過M次的DNS請求都未獲得響應時,則判斷PPP鏈路已經(jīng)斷開,應當進入相關步驟進行處理。如果進行DNS請求的次數(shù)尚未超過M次,則應該繼續(xù)采用DNS請求的方式進行檢測。
步驟S109,將等待時間t設置為所述長等待時間T1,并進入步驟S101。
由于PPP接口并未啟動,或者最近接收的信息或進行的檢測表明PPP鏈路工作正常,則沒有必要頻繁進行PPP鏈路檢測,因此,可以將等待時間設置為所述長等待時間后,返回步驟S101。重新開始新一輪的PPP鏈路檢測過程。
步驟S110,判斷PPP鏈路已經(jīng)斷開,啟動重連進程或進行其它處理。
由于已經(jīng)過若干次的檢測,都表明客戶端的DNS服務請求沒有獲得響應,因此,可以判斷PPP鏈路丟失,需要啟動重連進程,該進程用于重新建立PPP鏈接,從而實現(xiàn)對PPP鏈路的維護。當然,也可以同時發(fā)出PPP鏈路丟失的報警信息或者進行其它相關處理。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。
權利要求
1.一種檢測和維護點到點協(xié)議PPP鏈路的方法,其特征在于,包括11)客戶端通過PPP接口向?qū)Χ税l(fā)出DNS請求;12)判斷是否接收到對端對所述DNS請求的響應;若是,則判定PPP鏈路工作正常;若否,則判定PPP鏈路丟失,啟動重連進程。
2.根據(jù)權利要求1所述的方法,其特征在于,步驟11)后,等待若干時間,再進入步驟12)。
3.根據(jù)權利要求2所述的方法,其特征在于,所述步驟11)之前,檢測PPP接口是否啟動,若否,則再次檢測;若是,則進入下一步驟。
4.根據(jù)權利要求3所述的方法,其特征在于,所述檢測PPP接口是否啟動的檢測結果若為PPP接口啟動,則檢測PPP接口是否接收到對端數(shù)據(jù),若否,則進入步驟11);若是,則重新檢測PPP接口是否啟動。
5.根據(jù)權利要求4所述的方法,其特征在于,所述步驟11)之前設置預定次數(shù)M;所述步驟12)中判斷未接收到對端對所述DNS請求的響應時,進一步判斷連續(xù)出現(xiàn)該種狀況的次數(shù),若超過M次,判斷PPP鏈路丟失,啟動重連進程;若未超過M次,則將所述未接收到對端響應的次數(shù)加1后返回步驟11),再次進行DNS請求;所述計數(shù)在接收到對端的DNS請求響應后清零。
6.根據(jù)權利要求5所述的方法,其特征在于,所述再次進行DNS請求前,等待一較短的等待時間。
7.根據(jù)權利要求6所述的方法,其特征在于,所述判斷PPP接口未啟動,或判斷PPP接口啟動但是接收到對端數(shù)據(jù)時,等待一較長時間,再重新檢測PPP接口是否啟動。
8.根據(jù)權利要求7所述的方法,其特征在于,所述等待一較長時間后,檢測PPP接口是否啟動前,將未接收到對端DNS請求響應連續(xù)出現(xiàn)的次數(shù)的計數(shù)清零。
9.根據(jù)權利要求1至8所述的方法,其特征在于,所述步驟12)中判斷PPP鏈路正常時,則等待一較長時間后,再重復進行上述PPP鏈路檢測和維護。
全文摘要
本發(fā)明公開一種檢測和維護點到點協(xié)議PPP鏈路的方法,包括11)客戶端通過PPP接口向?qū)Χ税l(fā)出DNS請求;12)判斷是否接收到對端對所述DNS請求的響應;若是,則判定PPP鏈路工作正常;若否,則判定PPP鏈路丟失,啟動重連進程。與現(xiàn)有技術采用Echo Request進行連路的檢測和維護相比,本發(fā)明提供的方法建立在運營商必須提供的DNS服務基礎上,由于運營商不可能關閉DNS服務,因此,此種方式適用于各種PPP鏈路,并可以避免被惡意利用。
文檔編號H04L12/56GK1808998SQ20061000203
公開日2006年7月26日 申請日期2006年1月20日 優(yōu)先權日2006年1月20日
發(fā)明者朱會瑩 申請人:北京朗通環(huán)球科技有限公司