專利名稱:PPPoE二層透傳端口用戶名綁定檢查的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于接入交換機(jī)對寬帶用戶賬號(hào)進(jìn)行有效管理的的相關(guān)領(lǐng)域,尤其涉及一種PPPoE(Pointer To Pointer Protocol Over Ehternet,以太網(wǎng)上的點(diǎn)到點(diǎn)協(xié)議)二層透傳端口用戶名綁定檢查的方法。
背景技術(shù):
目前,寬帶接入交換機(jī)給用戶提供寬帶上網(wǎng)功能獲得大規(guī)模商業(yè)應(yīng)用,在很多運(yùn)營網(wǎng)絡(luò)上對用戶上網(wǎng)的控制方式是采用PPP(點(diǎn)到點(diǎn)協(xié)議)認(rèn)證來驗(yàn)證用戶賬號(hào)合法性和計(jì)費(fèi)功能。
PPP認(rèn)證可以直接由接入交換機(jī)內(nèi)嵌的BAS(寬帶認(rèn)證服務(wù)器)在本地提供認(rèn)證服務(wù),也可以通過將PPPoE數(shù)據(jù)包透傳到遠(yuǎn)程BAS服務(wù)器方式認(rèn)證。寬帶用戶上網(wǎng)需要在PPP認(rèn)證客戶端輸入用戶名和密碼,客戶端和服務(wù)器通信協(xié)商認(rèn)證模式和認(rèn)證參數(shù),在服務(wù)器上檢查此用戶賬號(hào)是否合法,如果合法則認(rèn)證通過,用戶可以上網(wǎng),否則認(rèn)證失敗,接入交換機(jī)拒絕該用戶上網(wǎng)。
這種認(rèn)證方式由寬帶認(rèn)證服務(wù)器對用戶賬號(hào)的合法性進(jìn)行檢查,認(rèn)證服務(wù)器不需要知道一個(gè)合法用戶的認(rèn)證報(bào)文從接入交換機(jī)的哪個(gè)端口進(jìn)來,也就是說,只要用戶賬號(hào)合法,不管是從接入交換機(jī)的哪一個(gè)端口進(jìn)行的認(rèn)證,該賬號(hào)的用戶主機(jī)被認(rèn)證服務(wù)器允許上網(wǎng)并啟動(dòng)計(jì)費(fèi)。這樣在接入交換機(jī)上配置在指定端口上的用戶賬號(hào)也可以從別的端口進(jìn)行認(rèn)證上網(wǎng),從而可能造成合法用戶賬號(hào)在別的端口上被非法盜用問題,合法用戶賬號(hào)在認(rèn)證服務(wù)器上的計(jì)費(fèi)時(shí)間額外增加,用戶權(quán)益受到侵犯。
要提高網(wǎng)絡(luò)系統(tǒng)安全性,防止這種用戶賬號(hào)被盜用現(xiàn)象,可以在接入交換機(jī)上進(jìn)行端口用戶名綁定來實(shí)現(xiàn)。在PPP認(rèn)證過程中檢查用戶名與當(dāng)前端口的綁定關(guān)系,符合綁定規(guī)則則認(rèn)證成功,否則失敗。
含有用戶名的數(shù)據(jù)包在PPP協(xié)商的授權(quán)階段由認(rèn)證客戶端向認(rèn)證服務(wù)器發(fā)出。如果組網(wǎng)方式為在本地由接入交換機(jī)提供PPP認(rèn)證服務(wù),則PPP認(rèn)證過程所有的數(shù)據(jù)包都送到接入交換機(jī)的CPU處理,CPU從包含用戶名的認(rèn)證數(shù)據(jù)包中取出用戶名,驗(yàn)證用戶賬號(hào)的合法性,同時(shí)進(jìn)行端口號(hào)用戶名綁定檢查,達(dá)到控制用戶賬號(hào)合法使用目的;如果組網(wǎng)方式為本地接入交換機(jī)配置PPPoE二層透傳到BAS上進(jìn)行認(rèn)證,那么PPPoE數(shù)據(jù)包不經(jīng)過接入交換機(jī)的CPU處理,直接被轉(zhuǎn)發(fā)出去,此時(shí)無法實(shí)現(xiàn)對用戶名端口號(hào)綁定檢查。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在接入交換機(jī)配置PPPoE二層透傳模式下實(shí)現(xiàn)用戶名端口號(hào)綁定檢查的方法。
本發(fā)明的PPPoE二層透傳模式下實(shí)現(xiàn)用戶名端口號(hào)綁定檢查的方法,其步驟包括1、根據(jù)數(shù)據(jù)報(bào)文的Ethertype、PPP Protocol(PPP協(xié)議)和Code(標(biāo)識(shí))三個(gè)特征字段設(shè)置接入交換機(jī)芯片的流選擇表和流表項(xiàng);2、接入交換機(jī)的端口接收到PPPoE數(shù)據(jù)包以后,根據(jù)目的MAC(BAS服務(wù)器MAC地址)或芯片提供的數(shù)據(jù)包進(jìn)流表功能,使所有的PPPoE數(shù)據(jù)包進(jìn)入流表;3、進(jìn)入流表的PPPoE數(shù)據(jù)包按照流選擇表的設(shè)置取出特征字段并計(jì)算Hash值(哈希值,由選定的字段根據(jù)在芯片中設(shè)定好的哈希算法計(jì)算得出,作為流表中流表項(xiàng)的索引值),然后和Hash值指向的流表項(xiàng)匹配,包含認(rèn)證用戶賬號(hào)的PAP Authentication報(bào)文(密碼認(rèn)證協(xié)議認(rèn)證報(bào)文)或CHAP Response報(bào)文(挑戰(zhàn)性握手認(rèn)證協(xié)議響應(yīng)報(bào)文)(PPP支持兩種認(rèn)證授權(quán)協(xié)議PAP(Password Authentication Protocol密碼認(rèn)證協(xié)議)和CHAP(Challenge HandAuthentication Protocol挑戰(zhàn)性握手認(rèn)證協(xié)議)被匹配,并送到CPU處理;4、CPU解析上述PAP Authentication或CHAP Response報(bào)文,從中取出認(rèn)證用戶名,并根據(jù)數(shù)據(jù)包中的源MAC地址獲取對應(yīng)端口號(hào);5、根據(jù)設(shè)定的檢查規(guī)則進(jìn)行用戶名端口綁定檢查;如果檢查通過,CPU轉(zhuǎn)發(fā)該認(rèn)證報(bào)文到寬帶認(rèn)證服務(wù)器認(rèn)證;不通過則丟棄,認(rèn)證服務(wù)器收不到該報(bào)文,認(rèn)證最終失敗。
系統(tǒng)配置PPPoE二層透傳模式,實(shí)質(zhì)就是配置接入交換機(jī)所有的PPP認(rèn)證用戶端口和寬帶認(rèn)證服務(wù)器連接的上行端口在同一個(gè)二層VLAN內(nèi),從端口進(jìn)來的PPPoE數(shù)據(jù)包根據(jù)交換芯片的MAC表查找以太幀的目的MAC后轉(zhuǎn)發(fā)出去實(shí)現(xiàn)透傳。
由于是二層VLAN,數(shù)據(jù)包不會(huì)被轉(zhuǎn)發(fā)到CPU處理,而要在接入交換機(jī)上實(shí)現(xiàn)端口號(hào)和用戶賬號(hào)綁定檢查,必須讓包含用戶名的PAP Authentication報(bào)文或CHAP Response報(bào)文送到CPU,這也是本發(fā)明實(shí)現(xiàn)的關(guān)鍵之處。
本發(fā)明實(shí)現(xiàn)的基本原理是利用三層交換芯片具有的流分類功能,按照PPP協(xié)議會(huì)話階段(PPP Session階段)攜帶認(rèn)證用戶賬號(hào)認(rèn)證數(shù)據(jù)包區(qū)別于其它PPPoE數(shù)據(jù)包的特征字段,從PPPoE數(shù)據(jù)包中過濾出包含認(rèn)證用戶名的認(rèn)證報(bào)文送到CPU,由CPU進(jìn)行端口號(hào)用戶名綁定檢查并作后續(xù)處理。
實(shí)現(xiàn)PPPoE二層透傳模式下對用戶名端口號(hào)綁定檢查,可以生產(chǎn)廠家和運(yùn)營商都帶來很多好處,有很大意義1、接入交換機(jī)硬件結(jié)構(gòu)采用二層交換+三層上行擴(kuò)展板卡,降低生產(chǎn)成本,從而降低運(yùn)營商采購成本,大規(guī)模應(yīng)用效益顯著。
2、在接入增加用戶賬號(hào)合法性檢查,防止用戶賬號(hào)被盜用問題,增強(qiáng)寬帶網(wǎng)絡(luò)安全性。
通過PPPoE認(rèn)證報(bào)文進(jìn)行端口號(hào)用戶名綁定檢查流程圖
具體實(shí)施例方式本發(fā)明的接入交換機(jī)配置PPPoE二層透傳模式,用戶PPP認(rèn)證客戶端到寬帶認(rèn)證服務(wù)器(BAS)上進(jìn)行PPP認(rèn)證時(shí),檢查端口用戶名綁定的合法性。
本發(fā)明首先配置流選擇表和流表項(xiàng)。PPP的PAP和CHAP包傳遞認(rèn)證參數(shù)和用戶賬號(hào),是PPP Session階段的數(shù)據(jù)包,分別有不同的PPP協(xié)議號(hào),在協(xié)議號(hào)后面有Code標(biāo)識(shí)字段,Code標(biāo)識(shí)在每個(gè)階段不同的包有不同的含義,含有認(rèn)證用戶賬號(hào)的PAP Autentication和CHAP Response報(bào)文分別有對應(yīng)的Code值。因此從一個(gè)數(shù)據(jù)報(bào)中選取三個(gè)特征字段Ethertype、PPP Protocol和Code,根據(jù)這三個(gè)特征字段設(shè)置流選擇表和流表項(xiàng),就可以從PPPoE數(shù)據(jù)包中取出攜帶認(rèn)證用戶賬號(hào)的認(rèn)證報(bào)文。
目前PPP認(rèn)證支持PAP和CHAP兩種認(rèn)證方式,在流表中需要過濾出來送到CPU處理的認(rèn)證報(bào)文的三個(gè)關(guān)鍵匹配特征字段分別如下PAPEthernet TypePPP Session StagePPP protocol PAP
PPP Code Authentication packetCHAPEthernet TypePPP Session StagePPP protocol CHAPPPP Code Response Packet然后PPPoE數(shù)據(jù)包從端口接收到以后,根據(jù)目的MAC(BAS服務(wù)器MAC地址)或芯片提供的數(shù)據(jù)包進(jìn)流表功能,讓所有的PPPoE數(shù)據(jù)包進(jìn)入流表;接著進(jìn)入流表的PPPoE數(shù)據(jù)包按照流選擇表的設(shè)置取出特征字段并計(jì)算Hash值,然后和Hash值指向的流表項(xiàng)匹配,包含認(rèn)證用戶賬號(hào)的PAPAuthentication或CHAP Response報(bào)文被匹配并送到CPU處理;然后CPU解析PAP Authentication或CHAP Response報(bào)文,從中取出認(rèn)證用戶名,并根據(jù)源MAC地址獲取對應(yīng)端口號(hào);最后,根據(jù)調(diào)用端口號(hào)用戶名綁定檢查程序,設(shè)定的檢查規(guī)則進(jìn)行用戶名端口綁定檢查;如果檢查通過,CPU轉(zhuǎn)發(fā)該認(rèn)證報(bào)文到寬帶認(rèn)證服務(wù)器認(rèn)證;不通過則丟棄,認(rèn)證服務(wù)器收不到該報(bào)文,認(rèn)證最終失敗。將PPPoE數(shù)據(jù)包進(jìn)流表。
以下是一具體實(shí)施例按照本發(fā)明的技術(shù)方案,以一支持PPPoE二層透傳功能的接入交換機(jī)為例,該交換機(jī)提供用作用戶PPP認(rèn)證接入交換機(jī),上行端口連接寬帶認(rèn)證服務(wù)器BAS。
假定該交換機(jī)端口2:1接用戶端口,認(rèn)證用戶名是test,上行端口0:2接認(rèn)證服務(wù)器。配置用戶端口2:1和上行端口0:2在同一個(gè)二層VLAN內(nèi)。不配置綁定檢查時(shí),該交換機(jī)的交換芯片直接根據(jù)二層MAC表和VLAN表轉(zhuǎn)發(fā)PPP認(rèn)證客戶端和認(rèn)證服務(wù)器發(fā)出的PPPoE數(shù)據(jù)包。
通過該交換機(jī)的命令行輸入命令啟用PPPoE二層透傳端口號(hào)用戶名綁定檢查功能,啟用該命令后完成兩個(gè)操作1、初始化交換芯片的流選擇表和流表項(xiàng)。
從數(shù)據(jù)包起始位置處計(jì)算Ethertype、PPP protocol和PPP code三個(gè)特征字段的偏移位置。流選擇表和流表項(xiàng)依據(jù)這三個(gè)字段設(shè)置。
PAPEthernet Type0x8864PPP protocol 0xC023PPP Code 0x1CHAPEthernet Type0x8864PPP protocol 0xC223PPP Code 0x22、配置交換芯片端口發(fā)送所有進(jìn)入的PPPoE數(shù)據(jù)包到流分類單元處理。
通過命令配置端口2:1綁定用戶名test。
用戶主機(jī)上PPP認(rèn)證客戶端發(fā)出的PPPoE數(shù)據(jù)包從端口2:1上來,該交換機(jī)的交換芯片對該P(yáng)PPoE數(shù)據(jù)包不再是直接在二層轉(zhuǎn)發(fā),而是送到流分類單元做進(jìn)一步處理按照流選擇表選擇特征字段,計(jì)算Hash值,匹配具有特征字段的流表項(xiàng),PAP Authentication和CHAP Response包匹配送到CPU處理,不匹配則轉(zhuǎn)發(fā)出去。
CPU收包流程發(fā)現(xiàn)已經(jīng)啟用綁定檢查功能,則進(jìn)入綁定檢查流程,在該流程中獲取用戶賬號(hào)test和端口號(hào)2:1,調(diào)用綁定檢查函數(shù)按照既定的綁定規(guī)則進(jìn)行檢查,發(fā)現(xiàn)用戶賬號(hào)test和端口號(hào)2:1符合綁定規(guī)則,則根據(jù)目的MAC轉(zhuǎn)發(fā)到端口0:2,到認(rèn)證服務(wù)器進(jìn)一步驗(yàn)證;否則不通過,丟棄認(rèn)證報(bào)文,認(rèn)證失敗。
通過命令配置端口2:1綁定用戶名ppp或用戶名test綁定到端口2:2等不符合端口用戶名綁定規(guī)則情況,2:1端口用戶PPPoE二層透傳認(rèn)證失敗。
通過命令停止使用該綁定檢查功能,設(shè)置PPPoE數(shù)據(jù)包不轉(zhuǎn)發(fā)到流分類單元即可。
這樣在該交換機(jī)上就實(shí)現(xiàn)了PPPoE二層透傳用戶名綁定檢查功能。
權(quán)利要求
1.PPPoE二層透傳模式下實(shí)現(xiàn)用戶名端口號(hào)綁定檢查的方法,其步驟包括1)根據(jù)數(shù)據(jù)報(bào)文的三個(gè)特征字段Ethertype、PPP Protocol、Code設(shè)置接入交換機(jī)芯片的流表;2)接入交換機(jī)芯片端口接收到的所有PPPoE數(shù)據(jù)包進(jìn)入流表;3)按照流表的設(shè)置在進(jìn)入流表的PPPoE數(shù)據(jù)包中找出匹配的數(shù)據(jù)報(bào)文,送到CPU處理;4)CPU解析匹配的數(shù)據(jù)報(bào)文,從中取出認(rèn)證用戶名,并根據(jù)源MAC地址獲取對應(yīng)端口號(hào);5)CPU根據(jù)預(yù)定的檢查規(guī)則進(jìn)行用戶名端口綁定檢查;如果檢查通過,CPU轉(zhuǎn)發(fā)該認(rèn)證報(bào)文到寬帶認(rèn)證服務(wù)器認(rèn)證;不通過則丟棄,認(rèn)證服務(wù)器收不到該報(bào)文,認(rèn)證最終失敗。
2.如權(quán)利要求1所述的PPPoE二層透傳模式下實(shí)現(xiàn)用戶名端口號(hào)綁定檢查的方法,其特征在于所述設(shè)置流表包括設(shè)置流選擇表和流表項(xiàng)。
3.如權(quán)利要求2所述的PPPoE二層透傳模式下實(shí)現(xiàn)用戶名端口號(hào)綁定檢查的方法,其特征在于進(jìn)入流表的PPPoE數(shù)據(jù)包按照流選擇表的設(shè)置取出特征字段并計(jì)算Hash值,然后和Hash值指向的流表項(xiàng)匹配,包含認(rèn)證用戶賬號(hào)的密碼認(rèn)證協(xié)議認(rèn)證報(bào)文或挑戰(zhàn)性握手認(rèn)證協(xié)議響應(yīng)報(bào)文被匹配并送到CPU處理。
4.如權(quán)利要求1所述的PPPoE二層透傳模式下實(shí)現(xiàn)用戶名端口號(hào)綁定檢查的方法,其特征在于接入交換機(jī)端口接收到的PPPoE數(shù)據(jù)包根據(jù)目的MAC地址或芯片提供的數(shù)據(jù)包進(jìn)流表功能進(jìn)入流表。
全文摘要
本發(fā)明涉及一種PPPoE二層透傳端口用戶名綁定檢查的方法。利用三層交換芯片具有的流分類功能,按照PPP協(xié)議會(huì)話階段攜帶認(rèn)證用戶賬號(hào)認(rèn)證數(shù)據(jù)包區(qū)別于其它PPPoE數(shù)據(jù)包的特征字段,從PPPoE數(shù)據(jù)包中過濾出包含認(rèn)證用戶名的認(rèn)證報(bào)文送到CPU,由CPU進(jìn)行端口號(hào)用戶名綁定檢查并作后續(xù)處理。在接入交換機(jī)配置PPPoE二層透傳模式下實(shí)現(xiàn)了用戶名端口號(hào)綁定檢查??梢越档瓦\(yùn)營商采購成本,防止用戶賬號(hào)被盜用,增強(qiáng)寬帶網(wǎng)絡(luò)安全性??蓮V泛應(yīng)用于網(wǎng)絡(luò)通信領(lǐng)域。
文檔編號(hào)H04L12/28GK1486025SQ0315381
公開日2004年3月31日 申請日期2003年8月22日 優(yōu)先權(quán)日2003年8月22日
發(fā)明者李以鑫, 任成珺, 趙鐵強(qiáng), 劉曉輝, 梁理 申請人:北京港灣網(wǎng)絡(luò)有限公司