專利名稱:一種家庭網關及其實現數據包快速轉發的方法
技術領域:
本發明涉及數據通信技術領域,尤其涉及一種家庭網關及其實現數據包快速轉發的方法。
背景技術:
隨著網絡技術的飛速發展,家庭網關設備的種類越來越多,而人們對家庭網關產品的性能要求也越來越高。傳統的家庭網關中數據包的轉發方式都是要通過家庭網關的cpu,進入到Iinux的協議棧進行轉發,數據包通過家庭網關時,要經過很多路徑和相關的規則匹配,這樣就會消耗大量的時間,尤其是一些類型相同的數據包短時間內需要多次轉發的情況下,大量的數據包占用比較大的系統資源的同時,不必要的重復的匹配過程也會嚴重影響數據包轉發的頻率和網關的性能。如果能想到一個將這些類型相同的數據包快速的進行轉發的方法,則提高了家庭網關設備的性能。現有技術中有采用軟件進行加速的方式,但是占用cpu資源的問題還是解決不了,cpu占用率過高,反而會影響到數據轉發的速度。有些也會在部分設備如交換機上增加加速功能,但現在網關對交換機要求也更高,需要千兆,交換機芯片自已的處理已不夠用了,難以承受加速帶來的壓力。而且這種設計擴展性不大,往往處理能力有限,無法滿足現有的網絡發展需要。
發明內容
本發明的目的在于提供一種家庭網關及其實現數據包快速轉發的方法,提高數據包的轉發速度,提高家庭網關的工作性能。本發明的目的是通過以下技術方案實現的。一種家庭網關,包括第一 CPU,還包括第二 CPU ;
所述第二 CPU,用于首先接收來自網絡的數據包,對該數據包的類型進行識別并判斷該數據類型是否已被編碼,若已被編碼,則獲取所存儲的對應路由規則并據此直接將當前數據包轉發至交換機;若未被編碼,則將當前數據包發送至第一 CPU ;
所述第一 CPU,用于接收第二 CPU發送來的數據包,對該數據包進行編碼排序并通過協議棧轉發至交換機;同時,記錄當前數據包的編碼信息及路由規則并交由第二 CPU存儲。其中,所述第一 CPU,還用于對當前數據流量進行統計,在當前數據流量超過預設閾值時將所記錄的編碼信息及路由規則交由第二 CPU存儲。其中,所述第二 CPU還用于采用延時刪除方式來定時整理所存儲的路由規則對應表。其中,所述第二 CPU包括數據包輸入接口、數據包輸出接口及路由規則存儲器;所述路由規則存儲器用于存儲數據包的編碼信息及對應的路由規則。一種如上所述家庭網關的實現數據包快速轉發的方法,包括步驟
在家庭網關接收到新的數據包時,將該數據包先發送給第二 CPU ;
第二 CPU對所接收到的數據包的類型進行識別并判斷該數據類型是否已被編碼,若已被編碼,則獲取所存儲的對應路由規則,并據此直接轉發當前的數據包至交換機;若未被編碼,則將當前的數據包發送至第一 CPU ;
第一 CPU對所接收到的數據包進行編碼排序,并將當前的數據包通過協議棧按序轉發至交換機;同時,記錄當前數據包的編碼信息及該數據包在協議棧中的路由規則并交由第二 CPU存儲。其中,第一 CPU在將編碼信息及路由規則交由第二 CPU存儲之前,先對當前數據流量進行統計,在當前數據流量超過預設閾值時再將當前記錄的編碼信息及路由規則交由第二 CPU存儲。其中,還包括第二 CPU定時整理所存儲的路由規則對應表。
其中,所述路由規則對應表中的表項采用延時刪除方式整理。與現有技術相比,本發明實施例具有以下有益效果。與現有的家庭網關相比,本發明增加了一個低成本的CPU (稱為第二 CPU),專用于數據轉發家庭網關在接收到來自網絡的數據包后,第二 CPU對該數據包與本地存儲的路由規則進行匹配,若匹配成功,則直接從交換機轉發;若匹配不成功,則交由第一 CPU,由(PU通過協議棧進行轉發,同時記錄下路由規則,這樣下次再有相同類型的數據包通過時就可以直接通過第二 CPU轉發了。通過這種方式達到硬件加速的目的,在加速的過程中不占用主CPU的資源,大大提高了數據包的轉發速度;且由于第二 CPU僅用來實現數據轉發功能,因而對其要求并不高,實現成本較低。
圖I是本發明實施例提供的家庭網關實現數據包快速轉發的方法流程圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。本實施例中,家庭網關中已有的CPU稱為主CPU,增加的CPU稱為加速CPU。如圖I所示,實現數據包快速轉發的方法,借助家庭網關中加速CPU對數據包進行路由規則匹配過程來實現,關鍵是在家庭網關的加速CPU中增設數據包輸入、輸出接口以及路由規則存儲器,在此基礎上進行如下步驟。101、家庭網關接收來自網絡的數據包。102、將數據包發送給加速CPU。103、加速CPU對所接收到的數據包的類型進行識別,并判斷該數據類型是否已被編碼,若已被編碼,則執行步驟104 ;若未被編碼,則執行步驟105。104、加速CPU依據編碼序號從路由規則存儲器中查找存儲的對應的路由規則,匹配成功后直接由加速CPU輸出接口輸出當前數據包,之后執行步驟107。105、加速CPU將當前數據包轉發至主CPU,并執行步驟106。106、主CPU對所接收到的數據包進行編碼排序,并將數據包轉發給協議棧,通過協議棧輸出數據包;與此同時,記錄此數據包的編碼信息及其在協議棧中的路由規則并將記錄信息交由加速CPU,加速CPU將信息存儲在路由規則存儲器中,用以下次相同類型數據包轉發時用。107、等待接收下一個數據包。在上述流程中,主CPU在通過Iinux協議棧進行轉發數據包的同時還可統計當前數據流量,如果當前數據流量超過預設閾值,則將記錄的編碼信息及路由規則交由加速CPU存儲,這樣之后可通過加速CPU來轉發相同類型的數據包,減輕主CPU的壓力;如果當前數據流量未超過預設閾值,說明主CPU的數據包轉發速度已滿足使用需求,則不必將路由規則等信息發送給加速CPU,而一直通過主CPU轉發數據包即可。本發明在具體實施時,數據包進來后就與路由規則存儲器中存儲的路由規則進行匹配,如果能夠匹配成功,則直接從加速CPU中進行轉發,如果匹配不成功,則將進入Iinux協議棧,通過Iinux協議棧進行轉發,并將這個路由規則記錄到路由規則存儲器的規則表中,下次再有相同類型的數據包通過時,就可以直接通過加速CPU轉發了。如果經過一段時間沒有相關的數據包通過,相關的規則將 會超時并從規則表中刪除,由于加速CPU在數據包轉發的開始階段,所以匹配的規則不能太多,太多的話查找時間會很長,加大存儲器的負荷,這樣反而影響性能。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種家庭網關,包括第一 CPU,其特征在于,還包括第二 CPU ; 所述第二 CPU,用于首先接收來自網絡的數據包,對該數據包的類型進行識別并判斷該數據類型是否已被編碼,若已被編碼,則獲取所存儲的對應路由規則并據此直接將當前數據包轉發至交換機;若未被編碼,則將當前數據包發送至第一 CPU ; 所述第一 CPU,用于接收第二 CPU發送來的數據包,對該數據包進行編碼排序并通過協議棧轉發至交換機;同時,記錄當前數據包的編碼信息及路由規則并交由第二 CPU存儲。
2.如權利要求I所述的家庭網關,其特征在于,所述第一CPU,還用于對當前數據流量進行統計,在當前數據流量超過預設閾值時將所記錄的編碼信息及路由規則交由第二 CPU存儲。
3.如權利要求I或2所述的家庭網關,其特征在于,所述第二CPU還用于采用延時刪除方式來定時整理所存儲的路由規則對應表。
4.如權利要求I所述的家庭網關,其特征在于,所述第二CPU包括數據包輸入接口、數據包輸出接口及路由規則存儲器;所述路由規則存儲器用于存儲數據包的編碼信息及對應的路由規則。
5.一種家庭網關實現數據包快速轉發的方法,其特征在于,該方法包括步驟 在家庭網關接收到新的數據包時,將該數據包先發送給第二 CPU ; 第二 CPU對所接收到的數據包的類型進行識別并判斷該數據類型是否已被編碼,若已被編碼,則獲取所存儲的對應路由規則,并據此直接轉發當前的數據包至交換機;若未被編碼,則將當前的數據包發送至第一 CPU ; 第一 CPU對所接收到的數據包進行編碼排序,并將當前的數據包通過協議棧按序轉發至交換機;同時,記錄當前數據包的編碼信息及該數據包在協議棧中的路由規則并交由第二 CPU存儲。
6.如權利要求5所述的實現數據包快速轉發的方法,其特征在于,該方法中,第一CPU在將編碼信息及路由規則交由第二 CPU存儲之前,先對當前數據流量進行統計,在當前數據流量超過預設閾值時再將當前記錄的編碼信息及路由規則交由第二 CPU存儲。
7.如權利要求5或6所述的實現數據包快速轉發的方法,其特征在于,該方法還包括第二 CPU定時整理所存儲的路由規則對應表。
8.如權利要求7所述的實現數據包快速轉發的方法,其特征在于,所述路由規則對應表中的表項采用延時刪除方式整理。
全文摘要
本發明提供了一種家庭網關及其實現數據包快速轉發的方法,所述方法包括步驟啟動第二CPU的數據包快速轉發功能;在家庭網關接收到新的數據包時,將該數據包先發送給第二CPU;第二CPU對所接收到的數據包的類型進行識別并判斷該數據類型是否已被編碼,若已被編碼,則獲取所存儲的對應路由規則,并據此直接轉發當前的數據包至交換機;若未被編碼,則將當前的數據包發送至第一CPU;第一CPU對所接收到的數據包進行編碼排序,并將當前的數據包通過協議棧按序轉發至交換機;同時,記錄當前數據包的編碼信息及該數據包在協議棧中的路由規則并交由第二CPU存儲。本發明大大提高了數據包的轉發速度,且實現成本較低。
文檔編號H04L12/66GK102624628SQ20121007775
公開日2012年8月1日 申請日期2012年3月22日 優先權日2012年3月22日
發明者王金桂, 胡一報 申請人:深圳市共進電子股份有限公司