一種PPPoE會話標(biāo)識分配方法及設(shè)備的制作方法
【專利摘要】本發(fā)明公開一種PPPoE會話標(biāo)識分配方法及設(shè)備。該方法包括:PPPoE服務(wù)器接收PPPoE客戶端發(fā)送的PPPoE請求后,選取空閑狀態(tài)的會話標(biāo)識,廣播攜帶有所述會話標(biāo)識和本服務(wù)器MAC地址的探測請求報文;若所述PPPoE服務(wù)器在預(yù)設(shè)時長內(nèi)接收到PPPoE客戶端返回的攜帶有所述會話標(biāo)識的探測應(yīng)答報文,則拆除與返回所述探測應(yīng)答報文的PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路,并將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端;否則,將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端。采用本發(fā)明可解決PPPoE服務(wù)器重啟后會話標(biāo)識分配沖突的問題,提高PPPoE會話的可靠性。
【專利說明】一種PPPoE會話標(biāo)識分配方法及設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種PPPoE會話標(biāo)識分配方法及設(shè)備?!颈尘凹夹g(shù)】
[0002]PPPoE (Point-to-Point Protocol over Ethernet,以太網(wǎng)上承載點(diǎn)對點(diǎn)協(xié)議)可以通過一個遠(yuǎn)端接入設(shè)備為以太網(wǎng)上的主機(jī)提供因特網(wǎng)接入服務(wù),并對每個接入的主機(jī)實(shí)現(xiàn)控制、計(jì)費(fèi)功能,被廣泛應(yīng)用于小區(qū)組網(wǎng)等環(huán)境中。
[0003]PPPoE協(xié)議采用Client/Server (客戶端/服務(wù)器)方式,將PPP報文封裝在以太網(wǎng)幀之內(nèi),在以太網(wǎng)上提供點(diǎn)對點(diǎn)的連接。PPPoE服務(wù)器依據(jù)對端PPPoE客戶端設(shè)備的MAC(Media Access Control,介質(zhì)訪問控制)地址和會話標(biāo)識(Session ID)唯一標(biāo)識會話。在同一 PPPoE服務(wù)器上,如果有多個相同MAC地址的PPPoE客戶端請求建立連接,PPPoE服務(wù)器會為每個客戶端建立會話,并為每個客戶端分配不同的Session ID。
[0004]PPPoE有兩個階段:Discovery (發(fā)現(xiàn))階段和Session (會話)階段。Discovery階段為PPPoE協(xié)商階段,在Discovery階段,PPPoE服務(wù)器根據(jù)PPPoE客戶端發(fā)起的請求,為該P(yáng)PPoE客戶端分配Session ID,將該Session ID設(shè)置為在用狀態(tài),建立PPPoE會話。當(dāng)PPPoE會話建立后,如果有PPPoE客戶端發(fā)起拆鏈,或者PPPoE服務(wù)器主動踢用戶下線,PPPoE客戶端清除相應(yīng)會話,PPPoE服務(wù)器回收Session ID資源,并將該Session ID置為空閑狀態(tài)。
[0005]PPPoE服務(wù)器分配Session ID時只能保證這一時刻Session ID在本設(shè)備內(nèi)是唯一的,如果PPPoE服務(wù)器進(jìn)程異常重起或者故障重啟,重啟前分配的Session ID和會話信息全部會丟失。而PPPoE客戶端無法馬上感知到PPPoE服務(wù)器的故障,依然使用老會話向已經(jīng)斷開的鏈路發(fā)送數(shù)據(jù),直到PPPoE客戶端的上層協(xié)議PPP保活定時器超時后,PPPoE客戶端才能夠感知到鏈路故障,并拆除老的PPPoE鏈路。在PPPoE客戶端感知到PPPoE鏈路故障之前,如果PPPo服務(wù)器接收到另一 PPPoE客戶端的會話建立請求,可能會把重啟前已經(jīng)分配給其它客戶端的Session ID分配給新的客戶端。如果這兩個PPPoE客戶端的MAC地址相同,就會出現(xiàn)PPPoE鏈路點(diǎn)對多點(diǎn)的情況,即一個PPPoE會話(同一 Session ID)對應(yīng)兩個PPPoE客戶端,導(dǎo)致數(shù)據(jù)處理錯誤。
[0006]因此,亟需一種PPPoE會話標(biāo)識分配方案以解決以上問題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實(shí)施例提供了一種PPPoE會話標(biāo)識分配方法及設(shè)備,用以解決PPPoE服務(wù)器重啟后會話標(biāo)識分配沖突的問題,提高PPPoE會話的可靠性。
[0008]為此,本發(fā)明實(shí)施例采用如下技術(shù)方案:
[0009]一種PPPoE會話標(biāo)識分配方法,包括:
[0010]PPPoE服務(wù)器接收PPPoE客戶端發(fā)送的PPPoE請求,并根據(jù)所述PPPoE請求,選取空閑狀態(tài)的會話標(biāo)識;所述PPPoE服務(wù)器廣播攜帶有所述會話標(biāo)識和本服務(wù)器MAC地址的探測請求報文;若所述PPPoE服務(wù)器在預(yù)設(shè)時長內(nèi)接收到PPPoE客戶端返回的攜帶有所述會話標(biāo)識的探測應(yīng)答報文,則拆除與返回所述探測應(yīng)答報文的PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路,并將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端;否則,將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端。
[0011 ] 一種PPPoE會話標(biāo)識分配方法,包括:
[0012]PPPoE客戶端接收PPPoE服務(wù)器發(fā)送的探測請求報文,其中攜帶有會話標(biāo)識和所述PPPoE服務(wù)器的MAC地址,所述會話標(biāo)識是所述PPPoE服務(wù)器欲分配給一請求建立PPPoE會話的PPPoE客戶端的空閑會話標(biāo)識;若PPPoE客戶端根據(jù)所述探測請求報文中攜帶的會話標(biāo)識和PPPoE服務(wù)器的MAC地址,判斷出自身與所述PPPoE服務(wù)器之間建立有與所述PPPoE會話標(biāo)識匹配的PPPoE鏈路,則向所述PPPoE服務(wù)器返回?cái)y帶有所述會話標(biāo)識的探測應(yīng)答報文,以使得所述PPPoE服務(wù)器根據(jù)所述探測應(yīng)答報文拆除與本PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路。
[0013]一種PPPoE服務(wù)器,包括:PPPoE會話模塊和沖突探測處理模塊;
[0014]PPPoE會話處理模塊,用于接收PPPoE客戶端發(fā)送的PPPoE請求,并根據(jù)所述PPPoE請求,選取空閑狀態(tài)的會話標(biāo)識,指示所述沖突探測處理模塊廣播探測請求報文;以及,在拆除與返回所述探測應(yīng)答報文的PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路之后,或者,在預(yù)設(shè)時長內(nèi)未接收到PPPoE客戶端返回的攜帶有所述會話標(biāo)識的探測應(yīng)答報文時,將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端;
[0015]沖突探測處理模塊,用于廣播攜帶有所述PPPoE會話處理模塊選取的會話標(biāo)識和本服務(wù)器的MAC地址的探測請求報文;以及,在預(yù)設(shè)時長內(nèi)接收到PPPoE客戶端返回的攜帶有所述會話標(biāo)識的探測應(yīng)答報文時,指示所述PPPoE會話處理模塊拆除與返回所述探測應(yīng)答報文的PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路。
[0016]一種PPPoE客戶端設(shè)備,包括PPPoE會話處理模塊,還包括:
[0017]沖突探測模塊,用于接收PPPoE服務(wù)器發(fā)送的攜帶有會話標(biāo)識和所述PPPoE服務(wù)器的MAC地址的探測請求報文,所述會話標(biāo)識是所述PPPoE服務(wù)器欲分配給一請求建立PPPoE會話的PPPoE客戶端的空閑會話標(biāo)識,以及,根據(jù)所述探測請求報文中攜帶的會話標(biāo)識和PPPoE服務(wù)器的MAC地址,判斷自身與PPPoE服務(wù)器之間是否建立有與所述PPPoE會話標(biāo)識匹配的PPPoE鏈路,并在判斷出本PPPoE客戶端與PPPoE服務(wù)器之間建立有與所述PPPoE會話標(biāo)識匹配的PPPoE鏈路時,向發(fā)送探測請求報文的PPPoE服務(wù)器返回?cái)y帶有所述會話標(biāo)識的探測應(yīng)答報文,以使得所述PPPoE服務(wù)器根據(jù)所述探測應(yīng)答報文拆除與本PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明的上述實(shí)施例具有以下有益技術(shù)效果:
[0019]本發(fā)明實(shí)施例提供的PPPoE會話標(biāo)識分配方案,PPPoE服務(wù)器在接收到PPPoE請求后,選取空閑的會話標(biāo)識,若通過會話標(biāo)識探測機(jī)制判斷該會話標(biāo)識已被其它PPPoE客戶端使用,則指示該客戶端拆除與該會話標(biāo)識對應(yīng)的PPPoE鏈路,并將該會話標(biāo)識分配給發(fā)送PPPoE請求的PPPoE客戶端,若判斷出該會話標(biāo)識未被使用,則將該會話標(biāo)識分配給發(fā)送PPPoE請求的PPPoE客戶端,解決了 PPPoE服務(wù)器重啟后會話標(biāo)識分配沖突的問題,為數(shù)據(jù)處理提供了保證,提高PPPoE會話的可靠性;在發(fā)現(xiàn)會話標(biāo)識使用沖突后,拆除舊鏈路,加快PPPoE客戶端重建會話,提高資源利用率;避免了 PPPoE客戶端在感知到PPPoE鏈路故障之前仍然通過該故障鏈路發(fā)送數(shù)據(jù)而導(dǎo)致的CPU資源浪費(fèi)。
【專利附圖】
【附圖說明】
[0020]圖1為本發(fā)明實(shí)施例所應(yīng)用的網(wǎng)絡(luò)架構(gòu)示意圖;
[0021]圖2為本發(fā)明實(shí)施例提供的PPPoE會話標(biāo)識分配流程示意圖;
[0022]圖3為本發(fā)明實(shí)施例提供的服務(wù)器結(jié)構(gòu)示意圖;
[0023]圖4為本發(fā)明實(shí)施例提供的客戶端設(shè)備結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024]針對現(xiàn)有技術(shù)存在的上述問題,本發(fā)明實(shí)施例提供了一種PPPoE會話標(biāo)識分配方案,用以解決PPPoE服務(wù)器重啟后會話標(biāo)識分配沖突的問題,為數(shù)據(jù)處理提供保證,提高PPPoE會話可靠性。PPPoE服務(wù)器在發(fā)現(xiàn)會話標(biāo)識使用沖突后,拆除舊鏈路,加快PPPoE客戶端重建會話,提高資源利用率,此外,還避免了 PPPoE客戶端在感知到PPPoE鏈路故障之前仍然通過該故障鏈路發(fā)送數(shù)據(jù)而導(dǎo)致的CPU資源浪費(fèi)。
[0025]下面結(jié)合附圖對本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。
[0026]本發(fā)明實(shí)施例提供的PPPoE會話標(biāo)識分配方案,應(yīng)用于包括PPPoE服務(wù)器和至少2個PPPoE客戶端的系統(tǒng)中。如圖1所示,設(shè)備Router B為PPPoE服務(wù)器,位于運(yùn)營商網(wǎng)絡(luò),用于根據(jù)PPPoE客戶端的請求進(jìn)行會話處理;設(shè)備Router A和Router C上安裝有PPPoE客戶端軟件,可以通過交換機(jī)設(shè)備分別與PPPoE服務(wù)器建立PPPoE會話,用戶主機(jī)(Host)可通過RouterA或Router C與PPPoE服務(wù)器之間的PPPoE會話訪問Internet。
[0027]PPPoE會話建立過程主要包括發(fā)現(xiàn)階段(Discovery)和會話階段(PPPSession),會話標(biāo)識分配流程發(fā)生于發(fā)現(xiàn)階段。在發(fā)現(xiàn)階段中PPPoE客戶端以廣播方式尋找所連接的所有PPPoE服務(wù)器,并獲得其以太網(wǎng)MAC地址。然后選擇需要連接的PPPoE服務(wù)器,并確定所要建立的PPP會話標(biāo)識。發(fā)現(xiàn)階段有4個步驟,當(dāng)此階段完成,通信的兩端都知道PPPoE會話標(biāo)識(SESSION_ID)和對端的以太網(wǎng)地址,它們一起唯一定義PPPoE會話。
[0028]以下結(jié)合圖2詳細(xì)說明PPPoE服務(wù)器與PPPoE客戶端建立PPPoE會話過程中會話標(biāo)識分配流程,本發(fā)明實(shí)施例以2個PPPoE客戶端為例進(jìn)行說明,該流程包括以下步驟:
[0029]步驟201,PPPoE 客戶端 I 廣播PADI(PPPoE Active Discovery Initiation, PPPoE主動發(fā)現(xiàn)初始)報文。
[0030]具體的,PPPoE客戶端I廣播PADI報文,用于向網(wǎng)絡(luò)內(nèi)的PPPoE服務(wù)器請求提供服務(wù),PADI報文至少包含一個服務(wù)名稱類型的標(biāo)簽(標(biāo)簽類型字段值為0x0101),其目的地址為以太網(wǎng)的廣播地址Oxffffffffffff,其CODE (代碼)字段值為0x09,SESSION_ID字段值為 0x0000。
[0031]步驟202,PPPoE服務(wù)器收到PADI報文后,向PPPoE客戶端I發(fā)送PADO (PPPoEActive Discovery Offer, PPPoE 主動發(fā)現(xiàn)提供)報文。
[0032]具體的,PPPoE服務(wù)器收到服務(wù)范圍內(nèi)的PADI報文后,若對PPPoE客戶端I提供服務(wù),則向PPPoE客戶端I返回PADO報文,PADO文中攜帶有PPPoE服務(wù)器名稱類型的標(biāo)簽(標(biāo)簽類型字段值為0x0102),以及用于表示服務(wù)種類的服務(wù)名稱類型標(biāo)簽。PADO報文的目的地址為PPPoE客戶端I的MAC地址,CODE字段值為0x07,SESSION_ID字段值仍為0x0000。[0033]當(dāng)網(wǎng)絡(luò)中存在多個PPPoE服務(wù)器時,多個PPPoE服務(wù)器會分別向PPPoE客戶端I返回PADO報文,以響應(yīng)PPPoE客戶端I的服務(wù)請求。
[0034]步驟203,PPPoE客戶端I根據(jù)接收到的PADO報文選擇出相應(yīng)的PPPoE服務(wù)器,并向所選擇出的 PPPoE 服務(wù)器發(fā)送 PADR (PPPoE Active Discovery Request, PPPoE 主動發(fā)現(xiàn)請求)報文。
[0035]具體的,當(dāng)PPPoE客戶端I接收到多個PPPoE服務(wù)器返回的PADO報文時,PPPoE客戶端I選擇一個合適的PPPoE服務(wù)器,以建立PPPoE會話,并向所選擇的PPPoE服務(wù)器發(fā)送PADR報文。PADR報文攜帶有用于表示請求的服務(wù)類型的標(biāo)簽,PADR報文目的地址為所選擇的PPPoE服務(wù)器的MAC地址,CODE字段為0x19,SESSION_ID字段值仍為0x0000。
[0036]若PPPoE客戶端I在預(yù)設(shè)超時重傳時長內(nèi)未接收到PPPoE返回的PADO報文,可以重新廣播發(fā)送PADI報文,以再次請求提供服務(wù)。
[0037]步驟204,PPPoE服務(wù)器在接收到PPPoE客戶端I發(fā)送的PADR報文后,選取一個空閑狀態(tài)的SESSION_ID。
[0038]具體的,SESSION_ID的狀態(tài)可以包括:空閑狀態(tài)、待分配狀態(tài)、在用狀態(tài)幾種,PPPoE服務(wù)器根據(jù)SESSION_ID的狀態(tài)屬性,選取一個空閑狀態(tài)的SESSION_ID,作為為PPPoE客戶端I預(yù)留的SESSION_ID。
[0039]優(yōu)選的,PPPoE服務(wù)器在為PPPoE客戶端I選取出空閑的SESSION_ID之后,將該SESSION_ID的狀態(tài)設(shè)置為待分配狀態(tài)。這樣就避免了在將該SESSION_ID分配給PPPoE客戶端I之前,PPPoE服務(wù)器接收到其它PPPoE客戶端發(fā)送的PADI報文,將該SESSION_ID分配給其它PPPoE客戶端,從而引起SESSION_ID分配沖突,
[0040]步驟205,PPPoE服務(wù)器廣播探測請求報文,用以探測該SESSION_ID是否被PPPoE客戶端使用。
[0041]具體的,PPPoE服務(wù)器在將該SESSION_ID分配給PPPoE客戶端I之前,廣播探測請求報文,用以探測該SESSION_ID是否被PPPoE客戶端使用,其中,探測請求報文中攜帶有該SESSION_ID和PPPoE服務(wù)器的MAC地址。
[0042]步驟206,若接收到探測請求報文的PPPoE客戶端(PPPoE客戶端I和2),根據(jù)探測請求報文的中攜帶的SESSION_ID和PPPoE服務(wù)器的MAC地址,判斷出自身與該P(yáng)PPoE服務(wù)器之間建立有與該SESSION_ID匹配的PPPoE鏈路,則向發(fā)送探測請求報文的PPPoE服務(wù)器返回探測應(yīng)答報文。(在本發(fā)明實(shí)施例中,PPPoE客戶端2判斷出自身與該P(yáng)PPoE服務(wù)器之間建立有與該SESSION_ID匹配的PPPoE鏈路)。
[0043]具體的,若探測請求報文中攜帶的SESSION_ID與PPPoE客戶端2本地存儲的PPPoE會話信息中的SESSION_ID匹配,并且探測請求報文中攜帶的PPPoE服務(wù)器MAC地址與本地存儲的PPPoE會話信息中的PPPoE服務(wù)器MAC地址匹配,則說明該SESSION_ID被該P(yáng)PPoE客戶端2所使用,則PPPoE客戶端2根據(jù)探測請求報文中攜帶的PPPoE服務(wù)器的MAC地址,向PPPoE服務(wù)器返回探測應(yīng)答報文,該探測應(yīng)答報文中攜帶有該SESSION_ID、該P(yáng)PPoE客戶端的MAC地址和PPPoE服務(wù)器的MAC地址。
[0044]若探測請求報文中攜帶的SESSION_ID與PPPoE客戶端(PPPoE客戶端I)本地存儲的PPPoE會話信息中的SESSION_ID不匹配,或者,探測請求報文中攜帶的PPPoE服務(wù)器MAC地址與本地存儲的PPPoE會話信息中的PPPoE服務(wù)器MAC地址不匹配,則說明該SESS10N_ID未被PPPoE客戶端I所使用,則PPPoE客戶端I不向PPPoE服務(wù)器返回探測應(yīng)答報文。
[0045]步驟207,PPPoE服務(wù)器根據(jù)PPPoE客戶端2返回的探測應(yīng)答報文中攜帶的SESS10N_ID,向PPPoE客戶端2發(fā)送PADT(PPPoE Active Discovery Terminate,PPPoE 主動發(fā)現(xiàn)停止)報文,以通知PPPoE客戶端2拆除該SESSION_ID對應(yīng)的PPPoE鏈路。
[0046]具體的,PADT報文中攜帶有SESSION_ID (即PPPoE客戶端2返回的探測應(yīng)答報文中攜帶的SESSION_ID),目的地址為PPPoE客戶端2的MAC地址,CODE字段為0xa7。
[0047]PPPoE客戶端2接收到PPPoE服務(wù)器發(fā)送的PADT報文后,根據(jù)其中攜帶的SESSION_ID,拆除該SESSION_ID對應(yīng)的PPPoE鏈路,即,刪除本地存儲的與該SESSION_ID對應(yīng)的會話信息(包括SESSION_ID信息以及PPPoE服務(wù)器的MAC地址),至此,該P(yáng)PPoE會話結(jié)束。PPPoE客戶端2可以再次向PPPoE服務(wù)器發(fā)送PADI報文,以請求建立新的PPPoE會話。
[0048]需要注意的是,PADT報文也可以由PPPoE客戶端主動發(fā)送,即,PPPoE客戶端2在向PPPoE服務(wù)器返回探測應(yīng)答報文后,主動向PPPoE服務(wù)器發(fā)送PADT報文,并刪除本地存儲的與該SESSION_ID對應(yīng)的會話信息,以結(jié)束相應(yīng)的PPPoE會話。
[0049]步驟208,PPPoE 服務(wù)器向 PPPoE 客戶端 I 發(fā)送 PADS (PPPoE Active DiscoverySession-confirmation, PPPoE主動發(fā)現(xiàn)會話確認(rèn))報文,用以將該預(yù)留的SESSION_ID分配給PPPoE客戶端I。
[0050]具體的,PPPoE服務(wù)器在向PPPoE客戶端2發(fā)送PADT報文,以通知PPPoE客戶端2拆除該SESSION_ID對應(yīng)的PPPoE鏈路之后,向PPPoE客戶端I發(fā)送PADS報文,向其分配該 SESSION_ID。
[0051]PADS報文中攜帶有為PPPoE客戶端I預(yù)留的SESSION_ID,以及Service-Name類型的標(biāo)簽,用以確認(rèn)向PPPoE客戶端I提供的服務(wù)。PADS報文的目的地址為PPPoE客戶端I的MAC地址,CODE字段為0x65。
[0052]優(yōu)選的,在步驟205中,PPPoE服務(wù)器廣播探測請求報文后觸發(fā)定時器開始計(jì)時,其中,該定時器的時長通常應(yīng)大于PPPoE客戶端處理探測請求報文的時長與報文在服務(wù)器和客戶端之間的往返時長的和值,還應(yīng)小于PPPoE客戶端因超時未收到PADS報文而重傳PADR報文的超時時長。該定時器的時長可以依據(jù)經(jīng)驗(yàn)進(jìn)行具體設(shè)置,也可以針對具體的網(wǎng)絡(luò)環(huán)境統(tǒng)計(jì)出上述和值進(jìn)而進(jìn)行設(shè)置。在PPPoE服務(wù)器廣播探測請求報文(步驟205)之后,若PPPoE服務(wù)器在定時器超時時,未接收到PPPoE客戶端返回的探測應(yīng)答報文,說明為PPPoE客戶端I預(yù)留的該SESSION_ID不存在使用沖突,則執(zhí)行上述步驟208,即,PPPoE服務(wù)器向PPPoE客戶端I發(fā)送PADS報文,用以將該預(yù)留的SESSION_ID分配給PPPoE客戶端
1
[0053]優(yōu)選的,PPPoE服務(wù)器將該預(yù)留的SESSION_ID分配給PPPoE客戶端I之后,將SESSION_ID設(shè)置為在用狀態(tài),以避免PPPoE服務(wù)器將該SESSION_ID再次分配給其它PPPoE
客戶端。
[0054]當(dāng)PPPoE客戶端I收到PADS報文后,PPPoE會話發(fā)現(xiàn)階段結(jié)束,PPPoE客戶端I和PPPoE服務(wù)器進(jìn)入PPP會話階段,PPPoE客戶端I可以使用為其分配的SESSION_ID與PPPoE服務(wù)器進(jìn)行PPP會話。
[0055]通過上述流程可以看出,PPPoE服務(wù)器在接收到PPPoE請求后,獲取空閑的會話標(biāo)識,在判斷該會話標(biāo)識已被其它PPPoE客戶端使用時,拆除與使用該會話標(biāo)識的PPPoE客戶端之間的PPPoE鏈路,將該會話標(biāo)識分配給發(fā)送PPPoE請求的PPPoE客戶端,以根據(jù)該會話標(biāo)識與該P(yáng)PPoE客戶端建立PPPoE會話,解決了 PPPoE服務(wù)器重啟后會話標(biāo)識分配沖突的問題,為數(shù)據(jù)處理提供了保證,提高PPPoE會話可靠性;在發(fā)現(xiàn)會話標(biāo)識使用沖突后,拆除舊鏈路,加快PPPoE客戶端重建會話,提高資源利用率;避免了 PPPoE客戶端在感知到PPPoE鏈路故障之前仍然通過該故障鏈路發(fā)送數(shù)據(jù)而導(dǎo)致的CPU資源浪費(fèi)。
[0056]基于相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供了一種PPPoE服務(wù)器,如圖3所示,包括=PPPoE會話模塊31和沖突探測處理模塊32,其中:
[0057]PPPoE會話處理模塊31,用于接收PPPoE客戶端發(fā)送的PPPoE請求,并根據(jù)所述PPPoE請求,選取空閑狀態(tài)的會話標(biāo)識,指示沖突探測處理模塊32廣播探測請求報文;以及,在拆除與返回所述探測應(yīng)答報文的PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路之后,或者,在預(yù)設(shè)時長內(nèi)未接收到PPPoE客戶端返回的攜帶有所述會話標(biāo)識的探測應(yīng)答報文時,將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端;
[0058]沖突探測處理模塊32,用于廣播攜帶有PPPoE會話處理模塊31選取的會話標(biāo)識和本服務(wù)器的MAC地址的探測請求報文;以及,在預(yù)設(shè)時長內(nèi)接收到PPPoE客戶端返回的攜帶有所述會話標(biāo)識的探測應(yīng)答報文時,指示PPPoE會話處理模塊31拆除與返回所述探測應(yīng)答報文的PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路。
[0059]優(yōu)選的,所述預(yù)設(shè)時長大于PPPoE客戶端處理探測請求報文的時長。
[0060]進(jìn)一步的,PPPoE會話模塊31還用于,在選取空閑的會話標(biāo)識之后,將該會話標(biāo)識設(shè)置為待分配狀態(tài);以及,在將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端之后,將所述會話標(biāo)識設(shè)置為在用狀態(tài)。
[0061]具體的,PPPoE會話處理模塊31具體用于:向返回所述探測應(yīng)答報文的PPPoE客戶端發(fā)送攜帶有所述會話標(biāo)識的鏈路拆除通知,用于指示返回所述探測應(yīng)答報文的PPPoE客戶端拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路;或者,接收到返回所述探測應(yīng)答報文的PPPoE客戶端發(fā)送的攜帶有所述會話標(biāo)識的鏈路拆除通知后,并根據(jù)該通知拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路;其中,所述鏈路拆除通知是所述PPPoE客戶端在收到所述PPPoE服務(wù)器發(fā)送的所述探測請求報文,并判斷出自身與所述PPPoE服務(wù)器建立有與所述會話標(biāo)識對應(yīng)的PPPoE鏈路后發(fā)送的。
[0062]基于相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供了一種PPPoE客戶端設(shè)備,如圖4所示,包括=PPPoE會話處理模塊41和沖突探測模塊42,其中:
[0063]PPPoE會話處理模塊41可以是模塊,主要用于進(jìn)行PPPoE會話處理,包括發(fā)送PPPoE會話建立請求,PPPoE會話建立處理,發(fā)送拆除PPPoE會話的請求,拆除PPPoE會話等;
[0064]沖突探測模塊42,用于接收PPPoE服務(wù)器發(fā)送的攜帶有會話標(biāo)識和所述PPPoE服務(wù)器的MAC地址的探測請求報文,所述會話標(biāo)識是所述PPPoE服務(wù)器欲分配給一請求建立PPPoE會話的PPPoE客戶端的空閑會話標(biāo)識,以及,根據(jù)所述探測請求報文中攜帶的會話標(biāo)識和PPPoE服務(wù)器的MAC地址,判斷自身與PPPoE服務(wù)器之間是否建立有與所述PPPoE會話標(biāo)識匹配的PPPoE鏈路,并在判斷出本PPPoE客戶端與PPPoE服務(wù)器之間建立有與所述PPPoE會話標(biāo)識匹配的PPPoE鏈路時,向發(fā)送探測請求報文的PPPoE服務(wù)器返回?cái)y帶有所述會話標(biāo)識的探測應(yīng)答報文,以使得所述PPPoE服務(wù)器根據(jù)所述探測應(yīng)答報文拆除與本PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路。
[0065]進(jìn)一步的,PPPoE會話處理模塊42還用于:在沖突探測模塊42向所述PPPoE服務(wù)器返回?cái)y帶有所述會話標(biāo)識的探測應(yīng)答報文之后,接收所述PPPoE服務(wù)器發(fā)送的鏈路拆除通知,并根據(jù)所述鏈路拆除通知中攜帶的所述會話標(biāo)識,拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路;或者,向所述PPPoE服務(wù)器發(fā)送鏈路拆除通知,其中攜帶有所述會話標(biāo)識,用于通知所述PPPoE服務(wù)器拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路。
[0066]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺客戶端設(shè)備(可以是手機(jī),個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。
[0067]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種以太網(wǎng)上承載點(diǎn)對點(diǎn)協(xié)議PPPoE會話標(biāo)識分配方法,其特征在于,所述方法包括: PPPoE服務(wù)器接收PPPoE客戶端發(fā)送的PPPoE請求,并根據(jù)所述PPPoE請求,選取空閑狀態(tài)的會話標(biāo)識;所述PPPoE服務(wù)器廣播攜帶有所述會話標(biāo)識和本服務(wù)器MAC地址的探測請求報文;若所述PPPoE服務(wù)器在預(yù)設(shè)時長內(nèi)接收到PPPoE客戶端返回的攜帶有所述會話標(biāo)識的探測應(yīng)答報文,則拆除與返回所述探測應(yīng)答報文的PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路,并將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端;否則,將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端。
2.如權(quán)利要求1所述的方法,其特征在于,所述PPPoE服務(wù)器在選取空閑的會話標(biāo)識之后,還將該會話標(biāo)識設(shè)置為待分配狀態(tài); 所述PPPoE服務(wù)器將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端之后,還將所述會話標(biāo)識設(shè)置為在用狀態(tài)。
3.如權(quán)利要求1所述的方法,其特征在于,所述拆除與返回所述探測應(yīng)答報文的PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路,具體包括: 所述PPPoE服務(wù)器向返回所述探測應(yīng)答報文的PPPoE客戶端發(fā)送攜帶有所述會話標(biāo)識的鏈路拆除通知,用于指示返回所述探測應(yīng)答報文的PPPoE客戶端拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路; 或者,所述PPPoE服務(wù)器接收返回所述探測應(yīng)答報文的PPPoE客戶端發(fā)送的攜帶有所述會話標(biāo)識的鏈路拆除通知,并根據(jù)該通知拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路;其中,所述鏈路拆除通知是所述PPPoE客戶端在收到所述PPPoE服務(wù)器發(fā)送的所述探測請求報文,并判斷出自身與所述PPPoE服務(wù)器建立有與所述會話標(biāo)識對應(yīng)的PPPoE鏈路后發(fā)送的。
4.一種以太網(wǎng)上承載點(diǎn)對點(diǎn)協(xié)議PPPoE會話標(biāo)識分配方法,其特征在于,所述方法包括: PPPoE客戶端接收PPPoE服務(wù)器發(fā)送的探測請求報文,其中攜帶有會話標(biāo)識和所述PPPoE服務(wù)器的MAC地址; 若PPPoE客戶端根據(jù)所述探測請求報文中攜帶的會話標(biāo)識和PPPoE服務(wù)器的MAC地址,判斷出自身與所述PPPoE服務(wù)器之間建立有與所述PPPoE會話標(biāo)識匹配的PPPoE鏈路,則向所述PPPoE服務(wù)器返回?cái)y帶有所述會話標(biāo)識的探測應(yīng)答報文。
5.如權(quán)利要求4所述的方法,其特征在于,所述向所述PPPoE服務(wù)器返回?cái)y帶有所述會話標(biāo)識的探測應(yīng)答報文之后,所述方法還包括: 所述PPPoE客戶端接收所述PPPoE服務(wù)器發(fā)送的鏈路拆除通知,并根據(jù)所述鏈路拆除通知中攜帶的所述會話標(biāo)識,拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路; 或者,所述PPPoE客戶端向所述PPPoE服務(wù)器發(fā)送鏈路拆除通知,其中攜帶有所述會話標(biāo)識,用于通知所述PPPoE服務(wù)器拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路。
6.一種以太網(wǎng)上承載點(diǎn)對點(diǎn)協(xié)議PPPoE服務(wù)器,其特征在于,包括=PPPoE會話模塊和沖突探測處理模塊; PPPoE會話處理模塊,用于接收PPPoE客戶端發(fā)送的PPPoE請求,并根據(jù)所述PPPoE請求,選取空閑狀態(tài)的會話標(biāo)識,指示所述沖突探測處理模塊廣播探測請求報文;以及,在拆除與返回所述探測應(yīng)答報文的PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路之后,或者,在預(yù)設(shè)時長內(nèi)未接收到PPPoE客戶端返回的攜帶有所述會話標(biāo)識的探測應(yīng)答報文時,將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端; 沖突探測處理模塊,用于廣播攜帶有所述PPPoE會話處理模塊選取的會話標(biāo)識和本服務(wù)器的MAC地址的探測請求報文;以及,在預(yù)設(shè)時長內(nèi)接收到PPPoE客戶端返回的攜帶有所述會話標(biāo)識的探測應(yīng)答報文時,指示所述PPPoE會話處理模塊拆除與返回所述探測應(yīng)答報文的PPPoE客戶端之間的所述會話標(biāo)識對應(yīng)的PPPoE鏈路。
7.如權(quán)利要求6所述的PPPoE服務(wù)器,其特征在于,所述PPPoE會話模塊還用于,在選取空閑的會話標(biāo)識之后,將該會話標(biāo)識設(shè)置為待分配狀態(tài);以及,在將所述會話標(biāo)識分配給發(fā)送所述PPPoE請求的PPPoE客戶端之后,將所述會話標(biāo)識設(shè)置為在用狀態(tài)。
8.如權(quán)利要求6所述的PPPoE服務(wù)器,其特征在于,所述PPPoE會話處理模塊具體用于,向返回所述探測應(yīng)答報文的PPPoE客戶端發(fā)送攜帶有所述會話標(biāo)識的鏈路拆除通知,用于指示返回所述探測應(yīng)答報文的PPPoE客戶端拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路;或者,接收到返回所述探測應(yīng)答報文的PPPoE客戶端發(fā)送的攜帶有所述會話標(biāo)識的鏈路拆除通知后,并根據(jù)該通知拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路;其中,所述鏈路拆除通知是所述PPPoE客戶端在收到所述PPPoE服務(wù)器發(fā)送的所述探測請求報文,并判斷出自身與所述PPPoE服務(wù)器建立有與所述會話標(biāo)識對應(yīng)的PPPoE鏈路后發(fā)送的。
9.一種以太網(wǎng)上承載點(diǎn)對點(diǎn)協(xié)議PPPoE客戶端設(shè)備,包括PPPoE會話處理模塊,其特征在于,還包括: 沖突探測模塊,用于接收PPPoE服務(wù)器發(fā)送的探測請求報文,根據(jù)所述探測請求報文中攜帶的會話標(biāo)識和PPPoE 服務(wù)器的MAC地址,判斷自身與PPPoE服務(wù)器之間是否建立有與所述PPPoE會話標(biāo)識匹配的PPPoE鏈路,并在判斷出本PPPoE客戶端與PPPoE服務(wù)器之間建立有與所述PPPoE會話標(biāo)識匹配的PPPoE鏈路時,向發(fā)送探測請求報文的PPPoE服務(wù)器返回?cái)y帶有所述會話標(biāo)識的探測應(yīng)答報文。
10.如權(quán)利要求9所述的PPPoE客戶端,其特征在于,所述PPPoE會話處理模塊還用于,在所述沖突探測模塊向所述PPPoE服務(wù)器返回?cái)y帶有所述會話標(biāo)識的探測應(yīng)答報文之后,接收所述PPPoE服務(wù)器發(fā)送的鏈路拆除通知,并根據(jù)所述鏈路拆除通知中攜帶的所述會話標(biāo)識,拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路;或者,向所述PPPoE服務(wù)器發(fā)送鏈路拆除通知,其中攜帶有所述會話標(biāo)識,用于通知所述PPPoE服務(wù)器拆除與所述會話標(biāo)識對應(yīng)的PPPoE鏈路。
【文檔編號】H04L12/911GK104009961SQ201310059601
【公開日】2014年8月27日 申請日期:2013年2月25日 優(yōu)先權(quán)日:2013年2月25日
【發(fā)明者】邱元香 申請人:杭州華三通信技術(shù)有限公司