包處理方法及裝置製造方法
2023-10-10 21:59:14 2
包處理方法及裝置製造方法
【專利摘要】本發明公開了一種包處理方法及裝置。其中,該包處理方法包括:通過與多條鏈路中的第一鏈路對應的第一埠接收來自第一鏈路的包數據;使用多個包處理方式中與第一埠對應的第一包處理方式對包數據進行包處理,其中,多個包處理方式的數目與多條鏈路的數目是相同的。通過本發明,達到了節省報文查找、匹配的時間,提高網絡處理器的包處理效率的效果。
【專利說明】
包處理方法及裝置
【技術領域】
[0001]本發明涉及通信領域,具體而言,涉及一種包處理方法及裝置。
【背景技術】
[0002]隨著網絡系統的高速發展,網絡系統的中間設備先後經歷了通用處理器、專用集成電路(Applicat1n Specific Integrated Circuit,簡稱為ASIC)晶片,通用網絡處理器的發展階段。由於網絡處理器具有成本低和可編程的靈活性特點,得到越來越廣泛的應用。
[0003]網絡處理器如果僅具有上述兩個優點是不夠的,還得具有超出常規ASIC晶片的高性能。例如,網絡處理器的作用主要是以軟體方式控制包的處理過程,因此,除了硬體本身的設計外,一個好的軟體設計,也可以提高網絡處理器的包處理性能。
[0004]圖1是根據相關技術的網絡處理器的包處理方法流程圖,在該包處理流程中,主要包括以下幾個步驟:(I)進入到物理鏈路模塊中的所有物理鏈路/通道中的合法報文,通過唯一的埠(port)進入報文查找匹配識別模塊;(2)報文查找匹配識別模塊根據控制軟體的配置已經預先準備好了業務或者通道對應的表項,報文查找匹配識別模塊中的搜尋引擎或者HASH引擎根據進入的合法報文的特徵,對內部表項一一查找、匹配,並將匹配出來的合法報文發送給包處理模塊;(3)包處理模塊使用與表項相關聯的包處理方法對包進行處理。這種軟體設計方式中需要對報文進行大量的查找、匹配工作,因此導致網絡處理器的包處理能力比較低。可以看出,目前的網絡處理器的軟體設計性能方面無法滿足在包處理方面的高性能要求,導致其包處理能力比較低。
[0005]針對相關技術中網絡處理器的包處理能力比較低的問題,目前尚未提出有效的解決方案。
【發明內容】
[0006]本發明提供了一種包處理方法及裝置,以至少解決上述問題。
[0007]根據本發明的一個方面,提供了一種包處理方法,包括:通過與多條鏈路中的第一鏈路對應的第一埠接收來自第一鏈路的包數據;使用多個包處理方式中與第一埠對應的第一包處理方式對包數據進行包處理,其中,多個包處理方式的數目與多條鏈路的數目是相同的。
[0008]優選地,第一鏈路的類型包括:物理鏈路或物理通道。
[0009]優選地,當第一鏈路的類型為物理鏈路時,多條鏈路中除第一鏈路之外的其它鏈路的類型為物理鏈路,其中,其它鏈路包括:第二鏈路;當第一鏈路的類型為物理通道時,多條鏈路中除第一鏈路之外的其它鏈路的類型為物理通道,其中,其它鏈路包括:第二鏈路。
[0010]優選地,多條鏈路中的第二鏈路與預先設置的多個埠中的第二埠是對應的,其中,多個埠包括:第一埠和第二埠,第二埠與第一埠是不相同的。
[0011 ] 優選地,第二埠與多個包處理方式中的第二包處理方式是對應的。
[0012]優選地,包數據包括:合法報文。
[0013]根據本發明的另一方面,提供了一種包處理裝置,包括:接收模塊,用於通過與多條鏈路中的第一鏈路對應的第一埠接收來自第一鏈路的包數據;處理模塊,用於使用多個包處理方式中與第一埠匹配的第一包處理方式對包數據進行包處理,其中,多個包處理方式的數目與多條鏈路的數目是相同的。
[0014]優選地,第一鏈路的類型包括:物理鏈路或物理通道。
[0015]優選地,當第一鏈路的類型為物理鏈路時,多條鏈路中除第一鏈路之外的其它鏈路的類型為物理鏈路,其中,其它鏈路包括:第二鏈路;當第一鏈路的類型為物理通道時,多條鏈路中除第一鏈路之外的其它鏈路的類型為物理通道,其中,其它鏈路包括:第二鏈路。
[0016]優選地,多條鏈路中的第二鏈路與預先設置的多個埠中的第二埠是對應的,其中,多個埠包括:第一埠和第二埠,第二埠與第一埠是不相同的。
[0017]優選地,第二埠與多個包處理方式中的第二包處理方式是對應的。
[0018]優選地,包數據包括:合法報文。
[0019]通過本發明,採用預先為每條物理鏈路或物理通道設置一個具有對應關係的埠後,對於通過該埠後的報文可以直接使用與該埠對應的包處理方式對合法報文進行包處理操作的方式,解決了相關技術中網絡處理器的包處理能力比較低的問題,進而達到了節省報文查找、匹配的時間,提高網絡處理器的包處理效率的效果。
【專利附圖】
【附圖說明】
[0020]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:
[0021]圖1是根據相關技術的網絡處理器的包處理方法的過程示意圖;
[0022]圖2是根據本發明實施例的包處理方法流程圖;
[0023]圖3是根據本發明實施例的包處理裝置的結構框圖;
[0024]圖4是根據本發明優選實施例的包處理方法的過程示意圖;
[0025]圖5是根據本發明優選實施例的包處理裝置中各個模塊間的控制關係示意圖。
【具體實施方式】
[0026]下文中將參考附圖並結合實施例來詳細說明本發明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。
[0027]本實施例提供了一種包處理方法。圖2是根據本發明實施例的包處理方法流程圖,如圖2所示,該方法主要包括以下步驟(步驟S202-步驟S204):
[0028]步驟S202,通過與多條鏈路中的第一鏈路對應的第一埠接收來自第一鏈路的包數據;
[0029]步驟S204,使用多個包處理方式中與第一埠對應的第一包處理方式對包數據進行包處理,其中,多個包處理方式的數目與多條鏈路的數目是相同的。
[0030]通過上述兩個步驟,對於通過預先為物理鏈路或物理通道設置的埠後的報文,可以直接使用與該埠對應的包處理方式對合法報文進行包處理操作。
[0031]在本實施例中,第一鏈路的類型可以包括:物理鏈路或物理通道。上述多條鏈路可以都是物理鏈路,也可以都是物理通道,當然在實際應用中,在多條鏈路中,一部分鏈路採用物理鏈路,一部分鏈路採用物理通道也是可行的。在本實施例中,(I)當第一鏈路的類型為物理鏈路時,多條鏈路中除第一鏈路之外的其它鏈路的類型為物理鏈路,其中,其它鏈路包括:第二鏈路;(2)當第一鏈路的類型為物理通道時,多條鏈路中除第一鏈路之外的其它鏈路的類型為物理通道,其中,其它鏈路包括:第二鏈路。
[0032]在本實施例中,多條鏈路中的第二鏈路與預先設置的多個埠中的第二埠是對應的,其中,多個埠可以包括:第一埠和第二埠,第二埠與第一埠是不相同的。優選地,第二埠與多個包處理方式中的第二包處理方式是對應的。
[0033]在本實施例中,包數據可以包括:合法報文。在實際應用中,對於一個物理鏈路或物理通道而言,其在接收到所有的報文時,會將非法報文丟棄掉,只傳輸合法報文。這使得到的與該物理鏈路或物理通道對應的埠的報文均是合法報文。
[0034]當對應於每個物理鏈路或物理通道的埠接收到合法報文時,其不用再像現有包處理方式一樣對需要採用的包處理方式與合法報文進行查找匹配,這是因為在設置埠時,已經在埠和包處理方式之間建立了對應關係,這樣,可以直接採用相應的包處理方式對被埠傳輸後的合法報文進行包處理操作,省去了查找匹配流程,提高了包處理的效率。
[0035]本實施例提供了一種包處理裝置。圖3是根據本發明實施例的包處理裝置的結構框圖,該裝置用於實現上述實施例提供的包處理方法,如圖3所示,該裝置包括:接收模塊10和處理模塊20。其中,接收模塊10,用於通過與多條鏈路中的第一鏈路對應的第一埠接收來自第一鏈路的包數據;處理模塊20,連接至接收模塊10,用於使用多個包處理方式中與第一埠匹配的第一包處理方式對包數據進行包處理,其中,多個包處理方式的數目與多條鏈路的數目是相同的。
[0036]在本實施例中,第一鏈路的類型可以包括:物理鏈路或物理通道。優選地,當第一鏈路的類型為物理鏈路時,多條鏈路中除第一鏈路之外的其它鏈路的類型為物理鏈路,其中,其它鏈路包括:第二鏈路;當第一鏈路的類型為物理通道時,多條鏈路中除第一鏈路之外的其它鏈路的類型為物理通道,其中,其它鏈路包括:第二鏈路。當然在實際應用中,在多條鏈路中,一部分鏈路採用物理鏈路,一部分鏈路採用物理通道也是可行的。
[0037]在本實施例提供的包處理裝置中,多條鏈路中的第二鏈路與預先設置的多個埠中的第二埠是對應的,其中,多個埠包括:第一埠和第二埠,第二埠與第一埠是不相同的。其中,第二埠與多個包處理方式中的第二包處理方式是對應的。
[0038]優選地,包數據可以包括:合法報文。
[0039]下面結合圖4和圖5以及優選實施例對上述實施例提供的包處理方法進行更詳細的說明。
[0040]在以下優選實施例中,將以四個功能模塊為基礎對整個包處理流程進行描述。
[0041]首先,對以下用的四個功能模塊的功能進行適當說明:
[0042]控制軟體模塊,負責通過控制軟體的方式控制包處理的過程,該模塊內置的軟體中集成有:物理鏈路的設置、報文查找匹配識別硬體表項的設置,以及包處理過程和流程的設置等。
[0043]物理鏈路模塊,該模塊包括:物理層(Physical Layer,簡稱為PHY)片、現場可編程門陣列(Field — Programmable Gate Array,簡稱為 FPGA),或者 UFE3 等。
[0044]報文查找匹配模塊,該模塊中主要包含有網絡處理器內部的一些硬體表項,和搜索、散列算法(Hash Funct1n,簡稱為HASH)引擎等。
[0045]包處理模塊,該模塊中主要包含有網絡處理器內部的一些軟體資源,例如:緩衝區,隊列等,主要用來對包進行修改,增加,刪除操作。
[0046]圖4是根據本發明優選實施例的包處理方法的過程示意圖,如圖4所示,該過程主要包括:(1)對於物理鏈路模塊的每一個鏈路或者通道,其在將非法報文丟棄後將合法報文發送給在報文查找匹配模塊上預先分配的一個對應的埠(port),其中,port就代表了通道,間接代表了該通道中的合法報文的處理需求;(2)報文查找匹配模塊不必再浪費大量的時間在大量的硬體表裡查找、匹配等操作了,可以直接將合法報文發送給包處理模塊;
(3)包處理模塊直接使用對應於上述傳輸合法報文的埠的包處理方式(即與port相關聯的包處理方式)對合法報文進行包處理操作(即:對包進行修改,增加,刪除操作)。
[0047]請同時參考圖5,圖5是根據本發明優選實施例的包處理裝置中各個模塊間的控制關係示意圖,如圖5所示:控制軟體模塊根據需要向其它三個模塊下發控制命令,以控制整個包處理流程;物理鏈路模塊接受控制軟體模塊的控制命令後,配置物理屬性,從物理鏈路或者通道上接收合法的包(即合法報文),並丟棄掉非法的包(非法報文);報文查找匹配模塊接受控制軟體模塊的控制命令後,準備相應的硬體表項和搜索、HASH引擎,一旦有包從port進入時不再對包進行查找、匹配等操作,而是將包直接發給包處理模塊;包處理模塊直接使用對應於預先設置在報文查找匹配模塊終端的埠(對應於每物理鏈路或物理通道)的包處理方式對包進行處理。
[0048]在實現本優選實施例(即實現網絡處理器的包處理性能)的過程中,可以通過控制軟體來控制對網絡處理器的配置來實現,其中,對於每條通道業務而言,控制軟體配置的過程可以包括:
[0049](I)根據一條通道業務的需求,配置該物理通道,主要是PHY片,FPGA, UFE3等;
[0050](2)由於一條通道業務的需求決定該通道上包的處理方法,因此在包處理模塊中為該通道增加一個包處理方法;
[0051](3)在報文查找匹配模塊裡建立一個port,用該port把物理通道和增加的包處理方法關聯起來;
[0052](4)有報文進入物理通道時,非法包會被丟棄,合法包進入port ;
[0053](5) port上進入查找匹配流程的開關關閉,包直接進入與port關聯的包處理方法;
[0054](6)包處理方法對包進行增加、刪除、修改操作,完成了包處理過程。
[0055]採用上述實施例提供的包處理方法及裝置,可以通過增加的port將物理通道和包處理方法進行關聯的方式,避免了採用查找匹配表項來關聯方式導致的包處理性能比較低的問題,從而提高了網絡處理器的包處理效率。
[0056]從以上的描述中,可以看出,本發明實現了如下技術效果:採用預先為每條物理鏈路或物理通道設置一個具有對應關係的埠後,對於通過該埠後的報文可以直接使用與該埠對應的包處理方式對合法報文進行包處理操作的方式,解決了相關技術中網絡處理器的包處理能力比較低的問題,進而達到了節省報文查找、匹配的時間,提高網絡處理器的包處理效率的效果。
[0057]顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,並且在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟,或者將它們分別製作成各個集成電路模塊,或者將它們中的多個模塊或步驟製作成單個集成電路模塊來實現。這樣,本發明不限制於任何特定的硬體和軟體結合。
[0058]以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種包處理方法,其特徵在於,包括: 通過與多條鏈路中的第一鏈路對應的第一埠接收來自所述第一鏈路的包數據;使用多個包處理方式中與所述第一埠對應的第一包處理方式對所述包數據進行包處理,其中,所述多個包處理方式的數目與所述多條鏈路的數目是相同的。
2.根據權利要求1所述的方法,其特徵在於,所述第一鏈路的類型包括:物理鏈路或物理通道。
3.根據權利要求2所述的方法,其特徵在於, 當所述第一鏈路的類型為所述物理鏈路時,所述多條鏈路中除所述第一鏈路之外的其它鏈路的類型為所述物理鏈路,其中,所述其它鏈路包括:第二鏈路; 當所述第一鏈路的類型為所述物理通道時,所述多條鏈路中除所述第一鏈路之外的其它鏈路的類型為所述物理通道,其中,所述其它鏈路包括:第二鏈路。
4.根據權利要求1所述的方法,其特徵在於,所述多條鏈路中的第二鏈路與預先設置的多個埠中的第二埠是對應的,其中,所述多個埠包括:所述第一埠和所述第二埠,所述第二埠與所述第一埠是不相同的。
5.根據權利要求4所述的方法,其特徵在於,所述第二埠與所述多個包處理方式中的第二包處理方式是對應的。
6.根據權利要求1至5中任一項所述的方法,其特徵在於,所述包數據包括:合法報文。
7.一種包處理裝置,其特徵在於,包括: 接收模塊,用於通過與多條鏈路中的第一鏈路對應的第一埠接收來自所述第一鏈路的包數據; 處理模塊,用於使用多個包處理方式中與所述第一埠匹配的第一包處理方式對所述包數據進行包處理,其中,所述多個包處理方式的數目與所述多條鏈路的數目是相同的。
8.根據權利要求7所述的裝置,其特徵在於,所述第一鏈路的類型包括:物理鏈路或物理通道。
9.根據權利要求8所述的裝置,其特徵在於, 當所述第一鏈路的類型為所述物理鏈路時,所述多條鏈路中除所述第一鏈路之外的其它鏈路的類型為所述物理鏈路,其中,所述其它鏈路包括:第二鏈路; 當所述第一鏈路的類型為所述物理通道時,所述多條鏈路中除所述第一鏈路之外的其它鏈路的類型為所述物理通道,其中,所述其它鏈路包括:第二鏈路。
10.根據權利要求7所述的裝置,其特徵在於,所述多條鏈路中的第二鏈路與預先設置的多個埠中的第二埠是對應的,其中,所述多個埠包括:所述第一埠和所述第二埠,所述第二埠與所述第一埠是不相同的。
11.根據權利要求10所述的裝置,其特徵在於,所述第二埠與所述多個包處理方式中的第二包處理方式是對應的。
12.根據權利要求7至11中任一項所述的裝置,其特徵在於,所述包數據包括:合法報文。
【文檔編號】H04L12/863GK104168199SQ201310182462
【公開日】2014年11月26日 申請日期:2013年5月15日 優先權日:2013年5月15日
【發明者】趙繼誠 申請人:中興通訊股份有限公司