本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種報文處理方法及裝置。
背景技術(shù):
PPP(Point-to-Point Protocol,點對點協(xié)議)是一種點對點的鏈路層協(xié)議。它能夠提供用戶認(rèn)證,易于擴(kuò)充,并且支持同/異步通信。PPPoE(Point-to-Point Protocol over Ethernet,在以太網(wǎng)上承載PPP協(xié)議)是在以太網(wǎng)上建立PPPoE會話及封裝PPP報文的技術(shù)。PPPoE協(xié)議將PPP報文封裝在以太網(wǎng)幀之內(nèi),在以太網(wǎng)上提供點對點的連接。
PPPoE協(xié)議通常使用Client/Server(主機(jī)/服務(wù)器)模型。PPPoE Client向PPPoE Server發(fā)起連接請求,兩者之間會話協(xié)商通過后,就建立PPPoE會話,此后PPPoE Server向PPPoE Client提供接入控制、認(rèn)證、計費等功能。
PPPoE的典型應(yīng)用是將PPPoE會話建立在主機(jī)和運(yùn)營商的路由器之間,為每一個主機(jī)建立一個PPPoE會話,每個主機(jī)使用一個帳號,方便運(yùn)營商對用戶進(jìn)行計費和控制。PPPoE組網(wǎng)結(jié)構(gòu)如圖1所示,在PPPoE主機(jī)和PPPoE服務(wù)器之間還可以連接有交換設(shè)備,用于PPPoE報文的轉(zhuǎn)發(fā)。
目前,在PPPoE應(yīng)用中可能會存在非法用戶攻擊行為,例如使用窮舉法試探正常用戶的口令,這樣會占用設(shè)備的處理資源,降低設(shè)備的工作效率。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種報文處理方法方法及裝置,以避免PPPoE應(yīng)用中的非法用戶攻擊,提高設(shè)備的工作效率。
為達(dá)到上述目的,本發(fā)明實施例公開了一種報文處理方法,應(yīng)用于交換設(shè)備,包括:
接收主機(jī)發(fā)送的PPPoE會話報文;
獲得所述PPPoE會話報文的第一信息,其中,所述第一信息中包括會話標(biāo)識信息;
將所述第一信息與安全表項進(jìn)行匹配,其中,所述安全表項中包括會話標(biāo)識信息;
如果匹配不成功,將所述PPPoE會話報文丟棄。
為達(dá)到上述目的,本發(fā)明實施例還公開了一種報文處理裝置,應(yīng)用于交換設(shè)備,包括:
第一接收模塊,用于接收主機(jī)發(fā)送的PPPoE會話報文;
第一獲得模塊,用于獲得所述PPPoE會話報文的第一信息,其中,所述第一信息中包括會話標(biāo)識信息;
匹配模塊,用于將所述第一信息與安全表項進(jìn)行匹配,其中,所述安全表項中包括會話標(biāo)識信息;
丟棄模塊,用于當(dāng)所述匹配模塊匹配不成功時,將所述PPPoE會話報文丟棄。
由上述技術(shù)方案可見,應(yīng)用本發(fā)明實施例,在發(fā)現(xiàn)階段建立安全表項,將會話階段接收到的主機(jī)發(fā)送的報文與建立的安全表項進(jìn)行匹配,也就是將主機(jī)發(fā)送的PPPoE會話報文中的的會話標(biāo)識信息與安全表項中的會話標(biāo)識信息進(jìn)行匹配,安全表項中的會話標(biāo)識信息為服務(wù)器為主機(jī)分配的唯一標(biāo)識該會話的信息,如果匹配不成功,表示該主機(jī)為非法用戶,將該P(yáng)PPoE會話報文丟棄,避免了PPPoE應(yīng)用中的非法用戶攻擊,提高了設(shè)備的工作效率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為PPPoE組網(wǎng)結(jié)構(gòu)示意圖;
圖2為PPPoE協(xié)議中客戶端與服務(wù)器通信流程示意圖;
圖3為本發(fā)明實施例提供的一種報文處理方法的流程示意圖;
圖4為本發(fā)明實施例中提供的安全表項的狀態(tài)示意圖;
圖5為本發(fā)明實施例提供的一種報文裝置方法的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
為了解決現(xiàn)有技術(shù)問題,本發(fā)明實施例提供了一種報文處理方法及裝置,應(yīng)用于交換設(shè)備。下面首先對本發(fā)明實施例提供的一種報文處理方法進(jìn)行詳細(xì)說明。
PPPoE協(xié)議包括兩個階段:發(fā)現(xiàn)階段(PPPoE Discovery Stage)和會話階段(PPPoE Session Stage)。
發(fā)現(xiàn)階段的主要流程包括:
假設(shè)主機(jī)A需要PPPoE服務(wù),主機(jī)A在網(wǎng)絡(luò)上廣播發(fā)現(xiàn)服務(wù)器(PADI,PPPoE Active Discovery Initiation)報文,尋找能夠提供服務(wù)的服務(wù)器;
能夠提供服務(wù)的服務(wù)器B接收到PADI報文后回復(fù)發(fā)現(xiàn)響應(yīng)(PADO,The PPPoE Active Discovery Offer)報文給主機(jī)A;
主機(jī)A接收到PADO報文后發(fā)送服務(wù)請求(PADR,The PPPoE Active Discovery Request)報文給服務(wù)器B,申請PPPoE服務(wù);
服務(wù)器B接收到PADR報文后為主機(jī)A分配一個會話標(biāo)識信息,用于唯一標(biāo)識該會話,具體的,該會話標(biāo)識信息可以為會話ID。服務(wù)器B根據(jù)所分配的會話標(biāo)識信息生成會話資源分配(PADS,The PPPoE Active Discovery Session-confirmation)報文,將該P(yáng)ADS報文發(fā)送至主機(jī)A,至此,建立了主機(jī)A與服務(wù)器B的會話進(jìn)程。
之后,進(jìn)入主機(jī)A與服務(wù)器B會話階段,如圖2所示,會話階段可以包括LCP(Link Control Protocol,鏈路控制協(xié)議)階段、Authentication(認(rèn)證階段)、NCP(Network Control Protocol,即網(wǎng)絡(luò)控制協(xié)議)階段、PPP業(yè)務(wù)階段。在這個階段中,已建立好點對點連接的雙方(主機(jī)A與服務(wù)器B)采用PPP協(xié)議來交換數(shù)據(jù)報文,進(jìn)行網(wǎng)絡(luò)層數(shù)據(jù)報文的傳送。
需要說明的是,主機(jī)A與服務(wù)器B交互的報文都可以經(jīng)交換設(shè)備轉(zhuǎn)發(fā)。
圖3為本發(fā)明實施例提供的報文處理方法的第一種流程示意圖,包括:
S101:接收主機(jī)發(fā)送的PPPoE會話報文。
PPPoE會話報文即為會話階段主機(jī)與服務(wù)器交互的報文,在本發(fā)明所示實施例中,主機(jī)與服務(wù)器交互的報文都經(jīng)交換設(shè)備轉(zhuǎn)發(fā)。
S102:獲得所述PPPoE會話報文的第一信息。其中,所述第一信息中包括會話標(biāo)識信息。
會話標(biāo)識信息即為上述發(fā)現(xiàn)階段服務(wù)器為主機(jī)分配的唯一標(biāo)識該會話的信息,可以為會話ID。
S103:將所述第一信息與安全表項進(jìn)行匹配。其中,所述安全表項中包括會話標(biāo)識信息。
由于與服務(wù)器成功建立會話進(jìn)程的主機(jī)才會被分配會話標(biāo)識信息,且只有合法用戶才能與服務(wù)器成功建立會話進(jìn)程,因此,為保證有效驗證主機(jī)是否為合法用戶,安全表項中需包括會話標(biāo)識信息。
由于服務(wù)器生成PADS報文并向主機(jī)發(fā)送該P(yáng)ADS報文后,可以認(rèn)為成功建立了服務(wù)器與主機(jī)之間的會話進(jìn)程,因此,可以在發(fā)現(xiàn)階段建立安全表項,當(dāng)然,也可以預(yù)先建立安全表項,在發(fā)現(xiàn)階段再對其進(jìn)行填充,在此不做限制。由于上述安全表項中包括會話標(biāo)識信息,而PADS報文中包含會話標(biāo)識信息,鑒于此,作為本發(fā)明的一種實施方式,所述安全表項的建立過程,可以包括:
接收服務(wù)器發(fā)送的PADS報文;
獲得所述PADS報文的第二信息,其中,第二信息中包括會話標(biāo)識信息;
根據(jù)所述第二信息,建立安全表項。
由于與服務(wù)器成功建立會話進(jìn)程的主機(jī)才會被分配會話標(biāo)識信息,且這樣的主機(jī)可以認(rèn)為是合法用戶,因此,可以簡單的理解為:上述所建立的安全表項中存儲的信息為合法用戶的信息,進(jìn)而可以通過會話標(biāo)識信息進(jìn)行安全表項匹配的方式確定發(fā)送上述PPPoE會話報文的主機(jī)是否為合法用戶。
在發(fā)現(xiàn)階段,接收PADS報文后,可以獲得服務(wù)器為主機(jī)分配的會話標(biāo)識信息;在會話階段,通過該會話標(biāo)識信息對主機(jī)發(fā)送的PPPoE會話報文進(jìn)行驗證,如果驗證不通過,則表示該主機(jī)為非法用戶,如果驗證通過,則表示該主機(jī)為合法用戶。
還以上述例子進(jìn)行說明,會話標(biāo)識信息即為服務(wù)器B為主機(jī)A分配的唯一標(biāo)識該會話的信息。在發(fā)現(xiàn)階段,根據(jù)服務(wù)器B發(fā)送的PADS報文中包括的會話標(biāo)識信息建立安全表項。進(jìn)入會話階段后,若接收到主機(jī)A發(fā)送至服務(wù)器B的PPPoE會話報文,從中提取出會話標(biāo)識信息,并將所提取的信息與之前已建立的安全表項進(jìn)行匹配,若經(jīng)匹配發(fā)現(xiàn)所提取的會話標(biāo)識信息為安全表項中記錄的服務(wù)器B為主機(jī)A分配的會話標(biāo)識信息,則可以認(rèn)為匹配通過,表示主機(jī)A為合法用戶,反之,表示主機(jī)A為非法用戶。
在本發(fā)明所示實施例中,所述第一信息中還可以包括MAC地址,所述安全表項中還可以包括會話標(biāo)識信息與MAC地址的對應(yīng)關(guān)系,所述第二信息中還可以包括MAC地址。
也就是說,在發(fā)現(xiàn)階段,當(dāng)交換設(shè)備接收到服務(wù)器發(fā)送的PADS報文后,交換設(shè)備獲得該P(yáng)ADS報文的會話標(biāo)識信息、目的MAC地址,并根據(jù)該會話標(biāo)識信息、目的MAC地址,建立安全表項。
在會話階段,交換設(shè)備接收到主機(jī)發(fā)送的PPPoE會話報文后,獲得該P(yáng)PPoE會話報文的會話標(biāo)識信息、源MAC地址,將所獲得的會話標(biāo)識信息、源MAC地址與上述安全表項中包括的會話標(biāo)識信息、目的MAC地址進(jìn)行匹配。
需要說明的是,PPPoE會話報文的源MAC地址即為發(fā)送該P(yáng)PPoE會話報文的主機(jī)的MAC地址。PADS報文的目的MAC地址為接收該P(yáng)ADS報文的主機(jī)的MAC地址。當(dāng)該主機(jī)為合法用戶時,PADS報文的目的MAC地址與PPPoE會話報文的源MAC地址相同。
通過會話標(biāo)識信息、MAC地址對PPPoE會話報文進(jìn)行驗證,進(jìn)一步提高了驗證的準(zhǔn)確性。
作為本發(fā)明的一種實施方式,還可以將上述MAC地址替換為VLAN標(biāo)識,將PPPoE會話報文的VLAN標(biāo)識與PADS報文的VLAN標(biāo)識進(jìn)行匹配,也能起到驗證主機(jī)是否為合法用戶的目的。
作為本發(fā)明的另一種實施方式,所述第一信息中包括會話標(biāo)識信息、MAC地址和VLAN標(biāo)識,所述安全表項中包括會話標(biāo)識信息與MAC地址和VLAN標(biāo)識的對應(yīng)關(guān)系,所述第二信息中通過包括會話標(biāo)識信息、MAC地址和VLAN標(biāo)識。
也就是說,在發(fā)現(xiàn)階段,當(dāng)交換設(shè)備接收到服務(wù)器發(fā)送的PADS報文后,交換設(shè)備獲得該P(yáng)ADS報文的會話標(biāo)識信息、目的MAC地址和VLAN標(biāo)識,并根據(jù)該會話標(biāo)識信息、目的MAC地址和VLAN標(biāo)識,建立安全表項。
在會話階段,交換設(shè)備接收到主機(jī)發(fā)送的PPPoE會話報文后,獲得該P(yáng)PPoE會話報文的會話標(biāo)識信息、源MAC地址和VLAN標(biāo)識,將所獲得的會話標(biāo)識信息、源MAC地址和VLAN標(biāo)識與上述安全表項中包括的會話標(biāo)識信息、目的MAC地址和VLAN標(biāo)識進(jìn)行匹配。
通過會話標(biāo)識信息、MAC地址、VLAN標(biāo)識三方面的信息對PPPoE會話報文進(jìn)行驗證,更進(jìn)一步地提高了驗證的準(zhǔn)確性。
由前面的描述可以得知,完整的發(fā)現(xiàn)階段會涉及多次報文交互,作為本發(fā)明的一種實施方式,所述安全表項的建立過程,可以包括:
上述交換設(shè)備接收主機(jī)發(fā)送的發(fā)現(xiàn)服務(wù)器報文,獲得所述發(fā)現(xiàn)服務(wù)器報文的第三信息,其中,所述第三信息中包括源MAC地址;根據(jù)所述第三信息,建立安全表項(由于此時服務(wù)器還沒有給主機(jī)分配會話標(biāo)識信息,因此所建立的安全表項中不包括會話標(biāo)識信息,還不是完整的安全表項);將所述發(fā)現(xiàn)服務(wù)器報文進(jìn)行廣播;
接收到上述交換設(shè)備廣播的發(fā)現(xiàn)服務(wù)器報文、且能夠為該主機(jī)提供服務(wù)的服務(wù)器會響應(yīng)該報文,并通過上述交換設(shè)備向該主機(jī)發(fā)送發(fā)現(xiàn)響應(yīng)報文,因此,上述交換設(shè)備接收服務(wù)器發(fā)送的發(fā)現(xiàn)響應(yīng)報文并轉(zhuǎn)發(fā)至該主機(jī);
該主機(jī)接收到上述發(fā)現(xiàn)響應(yīng)報文后,即可獲知哪些服務(wù)器是可能與之建立會話進(jìn)程的服務(wù)器,因此會通過上述交換設(shè)備向這些服務(wù)器發(fā)送服務(wù)請求報文,以建立會話進(jìn)程,這樣上述交換設(shè)備接收該主機(jī)發(fā)送的服務(wù)請求報文并轉(zhuǎn)發(fā)至該服務(wù)器;
該服務(wù)器接收到上述服務(wù)請求報文后,為該主機(jī)分配會話標(biāo)識信息并生成會話資源分配報文,然后通過上述交換設(shè)備向該主機(jī)發(fā)送上述會話資源分配報文,這樣上述交換設(shè)備接收該服務(wù)器發(fā)送的會話資源分配報文后,從中獲得所述會話資源分配報文的第四信息,第四信息中包括會話標(biāo)識信息、目的MAC地址;根據(jù)所述會話資源分配報文的目的MAC地址,確定所述會話資源分配報文匹配的安全表項;在所確定的安全表項中加入所述會話資源分配報文的會話標(biāo)識信息。此時的安全表項中加入了會話標(biāo)識信息,是完整的安全表項,該主機(jī)對應(yīng)的安全表項建立完成。交換設(shè)備將所述會話資源分配報文轉(zhuǎn)發(fā)至所述主機(jī),至此主機(jī)和服務(wù)器之間的會話進(jìn)程建立完成。
在上述實施方式中,第一信息中包括會話標(biāo)識信息、MAC地址,安全表項中包括會話標(biāo)識信息與MAC地址的對應(yīng)關(guān)系,通過會話標(biāo)識信息、MAC地址對PPPoE會話報文進(jìn)行驗證,進(jìn)一步提高了驗證的準(zhǔn)確性。
作為本發(fā)明的另一種實施方式,上述第三信息中還可以包括入端口。當(dāng)交換設(shè)備接收到主機(jī)發(fā)送的發(fā)現(xiàn)服務(wù)器報文時,獲得所述發(fā)現(xiàn)服務(wù)器報文的源MAC地址及入端口,根據(jù)該源MAC地址及入端口,建立安全表項。也就是說,最終建立的安全表項中包括會話標(biāo)識信息、MAC地址、入端口。
與之相對應(yīng)的,在會話階段,交換設(shè)備接收到主機(jī)發(fā)送的PPPoE會話報文后,獲得所述PPPoE會話報文的會話標(biāo)識信息、源MAC地址、入端口,將獲得的上述信息與本實施方式中建立的安全表項進(jìn)行匹配。
需要說明的是,發(fā)現(xiàn)服務(wù)器報文的入端口即為交換設(shè)備接收主機(jī)發(fā)送該發(fā)現(xiàn)服務(wù)器報文的端口,PPPoE會話報文的入端口即為交換設(shè)備接收主機(jī)發(fā)送該P(yáng)PPoE會話報文的端口。通常情況下,交換設(shè)備通過同一端口接收同一主機(jī)發(fā)送的報文。因此,可以通過入端口對主機(jī)的合法性進(jìn)行驗證。
在上述實施方式中,第一信息中包括會話標(biāo)識信息、入端口、MAC地址,安全表項中包括會話標(biāo)識信息與入端口、MAC地址的對應(yīng)關(guān)系,通過會話標(biāo)識信息、入端口、MAC地址對PPPoE會話報文進(jìn)行驗證,進(jìn)一步提高了驗證的準(zhǔn)確性。
在本發(fā)明另一實施例中,交換設(shè)備接收主機(jī)發(fā)送的發(fā)現(xiàn)服務(wù)器報文,獲得所述發(fā)現(xiàn)服務(wù)器報文的第三信息,其中,所述第三信息中包括入端口、源MAC地址、VLAN標(biāo)識;根據(jù)所述第三信息,建立安全表項(由于此時服務(wù)器還沒有給主機(jī)分配會話標(biāo)識信息,因此所建立的安全表項中不包括會話標(biāo)識信息,還不是完整的安全表項);將所述發(fā)現(xiàn)服務(wù)器報文進(jìn)行廣播;
接收到上述交換設(shè)備廣播的發(fā)現(xiàn)服務(wù)器報文、且能夠為該主機(jī)提供服務(wù)的服務(wù)器會響應(yīng)該報文,并通過上述交換設(shè)備向該主機(jī)發(fā)送發(fā)現(xiàn)響應(yīng)報文,因此,上述交換設(shè)備接收服務(wù)器發(fā)送的發(fā)現(xiàn)響應(yīng)報文并轉(zhuǎn)發(fā)至該主機(jī);
該主機(jī)接收到上述發(fā)現(xiàn)響應(yīng)報文后,即可獲知哪些服務(wù)器是可能與之建立會話進(jìn)程的服務(wù)器,因此會通過上述交換設(shè)備向這些服務(wù)器發(fā)送服務(wù)請求報文,以建立會話進(jìn)程,這樣上述交換設(shè)備接收該主機(jī)發(fā)送的服務(wù)請求報文并轉(zhuǎn)發(fā)至該服務(wù)器;
該服務(wù)器接收到上述服務(wù)請求報文后,為該主機(jī)分配會話標(biāo)識信息并生成會話資源分配報文,然后通過上述交換設(shè)備向該主機(jī)發(fā)送上述會話資源分配報文,這樣上述交換設(shè)備接收該服務(wù)器發(fā)送的會話資源分配報文后,從中獲得所述會話資源分配報文的第四信息,第四信息中包括會話標(biāo)識信息、目的MAC地址、VLAN標(biāo)識;根據(jù)所述第四信息中的目的MAC地址、VLAN標(biāo)識,確定所述會話資源分配報文匹配的安全表項;在所確定的安全表項中加入所述會話資源分配報文的會話標(biāo)識信息。此時的安全表項中加入了會話標(biāo)識信息,是完整的安全表項,該主機(jī)對應(yīng)的安全表項建立完成。交換設(shè)備將所述會話資源分配報文轉(zhuǎn)發(fā)至所述主機(jī),至此主機(jī)和服務(wù)器之間的會話進(jìn)程建立完成。
在本實施例中,第一信息中包括會話標(biāo)識信息、入端口、MAC地址、VLAN標(biāo)識,安全表項中包括會話標(biāo)識信息與入端口、MAC地址、VLAN標(biāo)識的對應(yīng)關(guān)系,通過會話標(biāo)識信息、入端口、MAC地址、VLAN標(biāo)識對PPPoE會話報文進(jìn)行驗證,更進(jìn)一步提高了驗證的準(zhǔn)確性。
在本發(fā)明所示實施例中,交換設(shè)備可以通過偵聽主機(jī)與服務(wù)器之間交互的報文,建立安全表項,依據(jù)交換設(shè)備所接收到的報文不同,可以將主機(jī)與服務(wù)器器之間的交互過程劃分為不同狀態(tài),具體的,參見圖4,可以劃分為5種狀態(tài):
NO_BIND:安全表項還未建立,空狀態(tài)。
INIT:在NO_BIND狀態(tài)接收到PADI報文之后安全表項遷移至本狀態(tài)。
RCV_PADO:在INIT狀態(tài)接收到PADO報文之后安全表項遷移至本狀態(tài)。
RCV_PADR:在RCV_PADO狀態(tài)或者NO_BIND狀態(tài)接收到PADR報文之后安全表項遷移至本狀態(tài)。
RCV_PADS:在RCV_PADR狀態(tài)接收到PADS報文之后安全表項遷移至本狀態(tài)。
鑒于上述情況,安全表項中還可以包含狀態(tài)信息,以能夠在建立安全表項的過程中使用戶更直觀地了解主機(jī)與服務(wù)器的交互過程中當(dāng)前所處的狀態(tài)。
還以上述例子進(jìn)行說明,當(dāng)交換設(shè)備接收到主機(jī)A發(fā)送的PADI報文,交換設(shè)備上新建INIT狀態(tài)的安全表項(以下內(nèi)容簡稱表項);獲得PADI報文的入端口(Port 1)、源MAC地址(主機(jī)A的MAC地址)、VLAN標(biāo)識;將獲得的信息添加到表項中;將該P(yáng)ADI報文進(jìn)行廣播;
交換設(shè)備在Port 2上接收到服務(wù)器B發(fā)送的PADO報文,根據(jù)PADO報文的目的MAC地址(主機(jī)A的MAC地址)及VLAN標(biāo)識查找表項,更新表項狀態(tài)為RCV_PADO;將該P(yáng)ADO報文轉(zhuǎn)發(fā)至主機(jī)A;
交換設(shè)備在Port 1上接收到主機(jī)A發(fā)送的PADR報文,根據(jù)PADR報文的源MAC地址(主機(jī)A的MAC地址)及VLAN標(biāo)識查找表項,更新表項狀態(tài)為RCV_PADR;將該P(yáng)ADR報文轉(zhuǎn)發(fā)至服務(wù)器B;
交換設(shè)備在Port 2上接收到服務(wù)器B發(fā)送的PADS報文,根據(jù)PADS報文的目的MAC地址(主機(jī)A的MAC地址)及VLAN標(biāo)識查找表項,在查找到的表項中加入PADS報文的會話標(biāo)識信息,更新表項的狀態(tài)為BOUND。
由于發(fā)現(xiàn)階段會涉及到主機(jī)與服務(wù)器之間的多次報文交互,一旦進(jìn)入發(fā)現(xiàn)階段后,由于網(wǎng)絡(luò)狀態(tài)等各種因素的影響,若主機(jī)或者服務(wù)器在一定時長內(nèi)未接收到相應(yīng)報文,可以結(jié)束等待,退出本次發(fā)現(xiàn)階段,以免占用網(wǎng)絡(luò)資源,然后可以在間隔一定時長后再次嘗試進(jìn)入發(fā)現(xiàn)階段。
鑒于上述情況,作為本發(fā)明的一種實施方式,在所述接收主機(jī)發(fā)送的發(fā)現(xiàn)服務(wù)器報文之后,還可以包括:
判斷是否在第一預(yù)設(shè)時間段內(nèi)接收到服務(wù)器發(fā)送的發(fā)現(xiàn)響應(yīng)報文,如果否,刪除建立的安全表項;
在所述接收服務(wù)器發(fā)送的發(fā)現(xiàn)響應(yīng)報文之后,還可以包括:
判斷是否在第二預(yù)設(shè)時間段內(nèi)接收到所述主機(jī)發(fā)送的服務(wù)請求報文,如果否,刪除建立的安全表項;
在所述接收所述主機(jī)發(fā)送的服務(wù)請求報文之后,還可以包括:
判斷是否在第三預(yù)設(shè)時間段內(nèi)接收到所述服務(wù)器發(fā)送的會話資源分配報文,如果否,刪除建立的安全表項。
如圖4中所示,可以設(shè)定一個定時器,在定時器中設(shè)定三個時間段,當(dāng)然也可以設(shè)定三個定時器,比如:
當(dāng)交換設(shè)備接收到主機(jī)A發(fā)送的PADI報文后,啟動第一個定時器,判斷是否在第一預(yù)設(shè)時間段內(nèi)接收到服務(wù)器B發(fā)送的PADO報文,如果定時器超時,則刪除建立的安全表項,當(dāng)然也可以將安全表項的狀態(tài)變更為NO_BIND;、
當(dāng)交換設(shè)備接收到服務(wù)器B發(fā)送的PADO報文后,啟動第二個定時器,判斷是否在第二預(yù)設(shè)時間段內(nèi)接收到主機(jī)A發(fā)送的PADR報文,如果定時器超時,則刪除建立的安全表項,當(dāng)然也可以將安全表項的狀態(tài)變更為NO_BIND;
當(dāng)交換設(shè)備接收到主機(jī)A發(fā)送的PADR報文后,啟動第三個定時器,判斷是否在第三預(yù)設(shè)時間段內(nèi)接收到服務(wù)器B發(fā)送的PADS報文,如果定時器超時,則刪除建立的安全表項,當(dāng)然也可以將安全表項的狀態(tài)變更為NO_BIND。
上述三個預(yù)設(shè)時間段可以相同,也可以不同。
如上所述,交換設(shè)備接收到服務(wù)器B發(fā)送的PADS報文,將會話標(biāo)識信息加入至安全表項后,安全表項建立完成。
在實際應(yīng)用中,如果出現(xiàn)定時器超時的情況,也就是說,交換設(shè)備沒有在預(yù)定的時間內(nèi)接收到相應(yīng)的報文,則表示沒有成功搭建針對此次會話的鏈路,因此也就不再保留針對此次會話建立的安全表項。
在上述圖4所示實施例中,記錄表項狀態(tài),能夠使用戶在建立安全表項的過程中更直觀地了解安全表項當(dāng)前所處的狀態(tài),當(dāng)出現(xiàn)故障時,能夠清楚地掌握出現(xiàn)故障的過程,更及時地對故障進(jìn)行處理。
S104:如果匹配不成功,將所述PPPoE會話報文丟棄。
進(jìn)入會話階段后,將接收到的主機(jī)發(fā)送的PPPoE會話報文中包括的第一信息與建立的安全表項進(jìn)行匹配,如果匹配成功,表示發(fā)送該報文的用戶合法,對該報文正常轉(zhuǎn)發(fā),如果匹配不成功,則表示發(fā)送該報文的用戶不合法,將該報文丟棄,避免了PPPoE應(yīng)用中的非法用戶攻擊,提高了設(shè)備的工作效率。
應(yīng)用本發(fā)明圖3所示實施例,在發(fā)現(xiàn)階段建立安全表項,將會話階段接收到的主機(jī)發(fā)送的報文與建立的安全表項進(jìn)行匹配,也就是將主機(jī)發(fā)送的PPPoE會話報文中的的會話標(biāo)識信息與安全表項中的會話標(biāo)識信息進(jìn)行匹配,安全表項中的會話標(biāo)識信息為服務(wù)器為主機(jī)分配的唯一標(biāo)識該會話的信息,如果匹配不成功,表示該主機(jī)為非法用戶,將該P(yáng)PPoE會話報文丟棄,避免了PPPoE應(yīng)用中的非法用戶攻擊,提高了設(shè)備的工作效率。
與上述的方法實施例相對應(yīng),本發(fā)明實施例還提供一種報文處理裝置。
圖5為本發(fā)明實施例提供的一種報文裝置的結(jié)構(gòu)示意圖,包括:
第一接收模塊201,用于接收主機(jī)發(fā)送的PPPoE會話報文;
第一獲得模塊202,用于獲得所述PPPoE會話報文的第一信息,其中,所述第一信息中包括會話標(biāo)識信息;
匹配模塊203,用于將所述第一信息與安全表項進(jìn)行匹配,其中,所述安全表項中包括會話標(biāo)識信息;
丟棄模塊204,用于當(dāng)匹配模塊203匹配不成功時,將所述PPPoE會話報文丟棄。
在本發(fā)明所示實施例中,所述裝置還可以包括:第二接收模塊、第二獲得模塊和第一建立模塊(圖中未示出),其中,
第二接收模塊,用于接收服務(wù)器發(fā)送的會話資源分配報文;
第二獲得模塊,用于獲得所述會話資源分配報文的第二信息,其中所述第二信息中包括會話標(biāo)識信息;
第一建立模塊,用于根據(jù)所述第二信息,建立安全表項。
在本發(fā)明所示實施例中,所述第一信息中還可以包括MAC地址和/或VLAN標(biāo)識,所述安全表項中還可以包括會話標(biāo)識信息與MAC地址和/或VLAN標(biāo)識的對應(yīng)關(guān)系,所述第二信息中還可以包括MAC地址和/或VLAN標(biāo)識。
在本發(fā)明所示實施例中,所述第一信息中還可以包括MAC地址、或入端口及MAC地址,所述安全表項中還可以包括會話標(biāo)識信息與MAC地址、或會話標(biāo)識信息與入端口及MAC地址的對應(yīng)關(guān)系;所述裝置還可以包括:第三接收模塊、第三獲得模塊、第一接收轉(zhuǎn)發(fā)模塊、第二接收轉(zhuǎn)發(fā)模塊、第四接收模塊、第四獲得模塊、確定模塊和加入模塊(圖中未示出),其中,
第三接收模塊,用于接收主機(jī)發(fā)送的發(fā)現(xiàn)服務(wù)器報文;
第三獲得模塊,用于獲得所述發(fā)現(xiàn)服務(wù)器報文的第三信息,其中,所述第三信息中包括源MAC地址、或入端口及源MAC地址;
第一接收轉(zhuǎn)發(fā)模塊,用于接收服務(wù)器發(fā)送的發(fā)現(xiàn)響應(yīng)報文并轉(zhuǎn)發(fā)至所述主機(jī);
第二接收轉(zhuǎn)發(fā)模塊,用于接收所述主機(jī)發(fā)送的服務(wù)請求報文并轉(zhuǎn)發(fā)至所述服務(wù)器;
第四接收模塊,用于接收所述服務(wù)器發(fā)送的會話資源分配報文;
第四獲得模塊,用于獲得所述會話資源分配報文的第四信息,其中所述第四信息中包括會話標(biāo)識信息、目的MAC地址;
確定模塊,用于根據(jù)所述目的MAC地址,確定所述會話資源分配報文匹配的安全表項;
加入模塊,用于在所確定的安全表項中加入所述會話資源分配報文的會話標(biāo)識信息。
在本發(fā)明所示實施例中,所述第一信息中還可以包括VLAN標(biāo)識,所述安全表項中還可以包括會話標(biāo)識信息與VLAN標(biāo)識的對應(yīng)關(guān)系,所述第三信息中還可以包括VLAN標(biāo)識,所述第四信息中還可以包括VLAN標(biāo)識;
所述確定模塊,具體可以用于:
根據(jù)所述第四信息中的目的MAC地址及VLAN標(biāo)識,確定所述會話資源分配報文匹配的安全表項。
在本發(fā)明所示實施例中,所述裝置還可以包括:第一判斷模塊、第二判斷模塊、第三判斷模塊和刪除模塊(圖中未示出),其中,
第一判斷模塊,用于判斷在所述接收主機(jī)發(fā)送的發(fā)現(xiàn)服務(wù)器報文之后,是否在第一預(yù)設(shè)時間段內(nèi)接收到服務(wù)器發(fā)送的發(fā)現(xiàn)響應(yīng)報文;
第二判斷模塊,用于判斷在所述接收服務(wù)器發(fā)送的發(fā)現(xiàn)響應(yīng)報文之后,是否在第二預(yù)設(shè)時間段內(nèi)接收到所述主機(jī)發(fā)送的服務(wù)請求報文;
第三判斷模塊,用于判斷在所述接收所述主機(jī)發(fā)送的服務(wù)請求報文之后,是否在第三預(yù)設(shè)時間段內(nèi)接收到所述服務(wù)器發(fā)送的會話資源分配報文;
刪除模塊,用于當(dāng)所述第一判斷模塊判斷結(jié)果為否時,或當(dāng)所述第二判斷模塊判斷結(jié)果為否時,或當(dāng)所述第三判斷模塊判斷結(jié)果為否時,刪除建立的安全表項。
應(yīng)用本發(fā)明圖5所示實施例,在發(fā)現(xiàn)階段建立安全表項,將會話階段接收到的主機(jī)發(fā)送的報文與建立的安全表項進(jìn)行匹配,也就是將主機(jī)發(fā)送的PPPoE會話報文中的的會話標(biāo)識信息與安全表項中的會話標(biāo)識信息進(jìn)行匹配,安全表項中的會話標(biāo)識信息為服務(wù)器為主機(jī)分配的唯一標(biāo)識該會話的信息,如果匹配不成功,表示該主機(jī)為非法用戶,將該P(yáng)PPoE會話報文丟棄,避免了PPPoE應(yīng)用中的非法用戶攻擊,提高了設(shè)備的工作效率。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機(jī)可讀取存儲介質(zhì)中,這里所稱得的存儲介質(zhì),如:ROM/RAM、磁碟、光盤等。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。