在甚高速數字用戶環路上實現乙太網承載點到點協議認證的方法
2023-07-08 08:46:01 1
專利名稱:在甚高速數字用戶環路上實現乙太網承載點到點協議認證的方法
技術領域:
本發明屬於網絡通信技術領域,尤其涉及乙太網承載點到點協議(PPPoE)認證的方法。
傳統上,BRAS對PPPoE所有報文的終結處理都是使用網絡處理器(NP)或CPU來實現的。使用NP處理,轉發效率高,但開發難度大,結構複雜,設計製造成本高昂;使用CPU處理雖然成本低,但轉發效率差。
另外,由於PPPoE是點到點的協議,無法直接支持新興的IP組播業務,如果靠BRAS來複製分發,因為一臺BRAS處理的PPPoE會話數太多,報文複製的工作量就很大,會嚴重佔用BRAS的資源,造成轉發效率急劇下降。而且傳統BRAS在網絡的位置比較高,複製太多的報文會引起網絡數據量增大,因而失去了組播協議的優勢。
仔細分析一下PPPoE的報文可以發現,這些報文可以分成兩類一類是控制報文,控制報文的處理方式比較複雜,但其流量很小;另一類是業務報文,流量很大,但處理方式比較簡單。控制報文包括Discovery報文、LCP報文、CHAP/PAP報文、IPCP報文。業務報文只包括IP over PPPoE報文。
基於此,本發明的技術方案如下在VDSL上實現PPPoE協議認證的方法,是將終結PPPoE的設備分布化,同時下移,PPPoE的控制報文由CPU來處理,業務報文由ASIC或FPGA處理。
分布化是指原來使用1個大規模的集中的PPPoE終結設備,現在變成多個相對較小規模的PPPoE終結設備;下移是指在網絡拓樸上,原來的集中PPPoE終結設備在二層匯聚網的上級,用戶報文需要經過接入設備、二層匯聚設備後才送到PPPoE終結設備上,而現在把PPPoE終結直接做在接入設備中,用戶報文在接入設備中就完成PPPoE的終結。這樣,通過使用ASIC/FPGA硬體轉發和普通CPU處理相結合,將PPPoE終結功能融合到DSLAM中。
CPU處理PPPoE的控制報文對本領域的普通技術人員來講,已經是常見技術。ASIC/FPGA處理PPPoE業務報文的機制,也可以有多種實現方式。這裡,給出一種優選的方案。首先,該技術處理兩種輸入,即IP over PPPoE數據輸入與IP overEthernet協議數據輸入,IP over PPPoE數據輸入和IP over Ethernet協議數據輸入是同時存在的,但它們出現在PPPoE終結設備的不同平面上。IP over PPPoE數據在設備與用戶接口的平面上,IP over Ethernet數據在設備與Internet網絡接口的平面上。下面分別介紹。
IP over PPPoE輸入1.當檢測到PPPoE的數據包輸入時,首先判斷PPPoE封裝的數據包是否為IP數據包,如果不是IP數據包,不進行處理,直接將數據包交換至輸出埠;如果是IP數據包,進入2;2.判斷IP數據包是否是多播數據包,如果不是多播數據包,保持PPPoE數據包的Ethernet報文頭源mac欄位與目的mac欄位不變,將Ethernet報文頭協議類型欄位改為IP包類型(0x0080),刪除掉PPPoE報文頭及PPP報文頭。將IP報文部分直接放到Ethernet報文頭後,將處理過的數據包轉發至輸出埠;如果是多播數據包,進入3;3.根據多播數據包的多播IP位址生成對應的多播mac地址,並用這個多播
mac地址替換PPPoE數據包的Ethernet報文頭的目的mac地址欄位,更換Ethernet報文頭協議類型欄位為IP包類型(0x0080),然後去除PPPoE報文頭和PPP報文頭,將IP報文部分直接放到Ethemet報文頭後,將處理過的數據轉發至輸出埠。替換目的MAC的目的是使IGMP報文可以正常地被負責IGMP Snooping的設備所捕獲。
IP over Ethernet輸入1.首先判斷Ethernet封裝的數據包是否為IP數據包,如果不是IP數據包,不進行處理,直接將數據包交換至輸出埠;如果是IP數據包,進入2;2.判斷IP數據包是否為多播數據包,如果不是多播數據包,保持數據包Ethernet報文頭的源mac與目的mac不變,更換Ethernet報文頭包類型為PPPoE的數據包(0x8864),在Ethernet報文頭與IP報文間加入PPPoE報文頭與PPP報文頭。將處理過的數據包交換至輸出埠;如果是多播數據包,進入3;3.對這個多播地址對應的所有埠做如下循環操作對各埠的mac地址表進行如下循環操作,替換數據包的Ethernet報文頭目的mac欄位為mac地址表的當前mac地址,更換數據報文的源MAC欄位為PPPoE集中器的MAC地址,更換數據包的Ethernet報文頭協議類型為PPPoE的數據包類型(0x8864),在數據包Ethernet報文頭與IP報文之間加入PPPoE報文頭和PPP報文頭,將處理過的數據包轉發至輸出埠。進入mac地址表的下一項。進入下一個埠。更換MAC地址是因為在PPPoE情況下對端只識別單播報文,如果保持多播MAC不變的話,報文會被對端丟棄。
從上面的處理流程可以看出,PPPoE的業務報文處理方法比較簡單,使用不很複雜的ASIC/FPGA即可勝任。這樣本發明使用普通CPU和ASIC/FPGA轉發相結合,複雜的控制報文由CPU來處理,大流量的業務報文由ASIC或FPGA處理,使PPPoE終結的實現變得廉價而高效。
本發明的優點和積極效果採用本發明的技術方案,可以有效地降低支持PPPoE的設備成本,因為普通CPU和ASIC/FPGA的成本都可以降得很低,相比使用複雜的NP的集中PPPoE終結設備,硬體成本和開發成本都大大降低了。因為PPPoE設備分布化了,每個PPPoE終結設備的組播報文拷貝工作量也減少了,實用化的PPPoE模式下的組播也就實現了。因為這種分布特性,PPPoE終結可以完全融合在VDSL DSLAM中。
在Hammer 10000 VDUB業務板利用FPGA實現了IP over PPPoE與IP overEthernet的轉換模塊,並作為Hammer 10000 PPPoE模塊的一個部分。如果使用ASIC實現,與FPGA實現的算法是完全相同的,只是晶片工藝的變化。ASIC實現的前期投入比較大,但批量成本要比FPGA低得多,因此對成熟的大批量產品使用ASIC會更合適。
在Hammer 10000的控制臺上配置對用戶埠的進行PPPoE支持,並配置好二三層交換核心相關數據,配置好上行業務口,上行業務口與internet、Radius Server相連接。
用戶首先啟動PPPoE撥號過程,VDUB業務板的PPPoE控制報文處理模塊辨識出PPPoE控制報文後,將控制報文發往主控板的主控中央處理器模塊。主控中央處理器與用戶的PPPoE客戶端,Radius Server進行交互,完成用戶認證,記費。利用PPPoE模塊的驅動程序模塊設置允許用戶接入。
用戶開始訪問internet,PPPoE模塊的IP over PPPoE與IP over Ethernet的轉換模塊在此過程中對用戶的數據包進行處理,並提供組播支持能力。即在設備與Internet網絡接口的平面上,對於IP over PPPoE數據輸入進行如下處理(1)當檢測到PPPoE的數據包輸入時,首先判斷PPPoE封裝的數據包是否為IP數據包,如果不是IP數據包,不進行處理,直接將數據包交換至輸出埠;如果是IP數據包,進入(2);(2)判斷IP數據包是否是多播數據包,如果不是多播數據包,保持PPPoE數據包的Ethernet報文頭源mac欄位與目的mac欄位不變,將Ethernet報文頭協議類型欄位改為IP包類型(0x0080),刪除掉PPPoE報文頭及PPP報文頭。將IP報文部分直接放到Ethernet報文頭後,將處理過的數據包轉發至輸出埠;如果是多播數據包,進入(3);(3)根據多播數據包的多播IP位址生成對應的多播mac地址,並用這個多播mac地址替換PPPoE數據包的Ethernet報文頭的目的mac地址欄位,更換Ethernet報文頭協議類型欄位為IP包類型(0x0080),然後去除PPPoE報文頭和PPP報文頭,將IP報文部分直接放到Ethernet報文頭後,將處理過的數據轉發至輸出埠。
在設備與用戶接口的平面上,對於IP over Ethernet協議數據輸入進行如下處理(1)首先判斷Ethernet封裝的數據包是否為IP數據包,如果不是IP數據包,不進行處理,直接將數據包交換至輸出埠;如果是IP數據包,進入(2);(2)判斷IP數據包是否為多播數據包,如果不是多播數據包,保持數據包Ethernet報文頭的源mac欄位與目的mac欄位不變,更換Ethernet報文頭包類型為PPPoE的數據包(0x8864),在Ethernet報文頭與IP報文間加入PPPoE報文頭與PPP報文頭。將處理過的數據包交換至輸出埠;如果是多播數據包,進入(3);(3)對這個多播地址對應的所有埠做如下循環操作對各埠的mac地址表進行如下循環操作,替換數據包的Ethernet報文頭目的mac欄位為mac地址表的當前mac地址,更換數據報文的源MAC欄位為PPPoE集中器的MAC地址,更換數據包的Ethernet報文頭協議類型為PPPoE的數據包類型(0x8864),在數據包Ethernet報文頭與IP報文之間加入PPPoE報文頭和PPP報文頭,將處理過的數據包轉發至輸出埠。進入mac地址表的下一項。進入下一個埠。
用戶發出斷開請求的PPPoE控制報文,PPPoE控制報文處理模塊將此控制報文發往主控中央處理器模塊,主控中央處理器與用戶的PPPoE客戶端、Radius Server進行交互,完成用戶下線、記費結束。利用PPPoE模塊的驅動程序模塊設置禁止用戶接入。
權利要求
1.在VDSL上實現PPPoE協議認證的方法,其特徵在於,將終結PPPoE的設備分布化,同時下移,PPPoE的控制報文由CPU來處理,業務報文由ASIC或FPGA處理。
2.如權利要求1所述的在VDSL上實現PPPoE協議認證的方法,其特徵在於,所述業務報文的處理方法如下在設備與用戶接口的平面上,對於IP over PPPoE數據輸入的處理(1)當檢測到PPPoE的數據包輸入時,首先判斷PPPoE封裝的數據包是否為IP數據包,如果不是IP數據包,不進行處理,直接將數據包交換至輸出埠;如果是IP數據包,進入(2);(2)判斷IP數據包是否是多播數據包,如果不是多播數據包,保持PPPoE數據包的Ethernet報文頭源mac欄位與目的mac欄位不變,將Ethernet報文頭協議類型欄位改為IP包類型,刪除掉PPPoE報文頭及PPP報文頭;將IP報文部分直接放到Ethernet報文頭後,將處理過的數據包轉發至輸出埠;如果是多播數據包,進入(3);(3)根據多播數據包的多播IP位址生成對應的多播mac地址,並用這個多播mac地址替換PPPoE數據包的Ethernet報文頭的目的mac地址欄位,更換Ethernet報文頭協議類型欄位為IP包類型,然後去除PPPoE報文頭和PPP報文頭,將IP報文部分直接放到Ethernet報文頭後,將處理過的數據轉發至輸出埠在設備與Internet網絡接口的平面上,對於IP over Ethernet協議數據輸入的處理(1)首先判斷Ethernet封裝的數據包是否為IP數據包,如果不是IP數據包,不進行處理,直接將數據包交換至輸出埠;如果是IP數據包,進入(2);(2)判斷IP數據包是否為多播數據包,如果不是多播數據包,保持數據包Ethernet報文頭的源mac欄位與目的mac欄位不變,更換Ethernet報文頭包類型為PPPoE的數據包,在Ethernet報文頭與IP報文間加入PPPoE報文頭與PPP報文頭;將處理過的數據包交換至輸出埠;如果是多播數據包,進入(3);(3)對這個多播地址對應的所有埠做如下循環操作對各埠的mac地址表進行如下循環操作,替換數據包的Ethernet報文頭目的mac欄位為mac地址表的當前mac地址,更換數據報文的源MAC欄位為PPPoE集中器的MAC地址,更換數據包的Ethernet報文頭協議類型為PPPoE的數據包類型,在數據包Ethernet報文頭與IP報文之間加入PPPoE報文頭和PPP報文頭,將處理過的數據包轉發至輸出埠;進入mac地址表的下一項;進入下一個埠。
全文摘要
本發明提供了一種在甚高速數字用戶環路(VDSL)上實現乙太網承載點到點(PPPoE)協議認證的方法,是將終結PPPoE的設備分布化,同時下移,PPPoE的控制報文由CPU來處理,業務報文由ASIC或FPGA處理。採用本發明的技術方案,可以有效降低支持PPPoE的設備成本,同時由於PPPoE設備分布化了,每個PPPoE終結設備的組播報文拷貝工作量也減少了,實用化的PPPoE模式下的組播也就實現了。
文檔編號H04Q3/545GK1477832SQ0315004
公開日2004年2月25日 申請日期2003年7月31日 優先權日2003年7月31日
發明者李希昆 申請人:北京港灣網絡有限公司