專利名稱:上鏈聚合端口的流量均衡方法、裝置及設備的制作方法
技術領域:
本發明涉及流量均衡技術,尤其涉及一種上鏈聚合端口的流量均衡方法、裝置及設備,屬于網絡技術領域。
背景技術:
模塊化交換機是一種具有多個插槽的交換機。一般說來,這種結構的交換機的插槽數量不能低于2個。插槽槽位可以用來插入引擎板、線卡板和交換板。引擎板用于管理整臺交換機,線卡板提供了不同的接口類型,用于網絡接口的接入,交換板用于轉發線卡板之間的數據報文。部分交換機將引擎板與交換板做在一起。線卡板與交換板之間可以通過上鏈聚合端口連接在一起。對于跨線卡板槽位的交換,需要通過交換板轉發。由于上鏈聚合端口包括多個上鏈端口,在線卡板到交換板的數據轉發的過程中,具體走哪個上鏈端口便成為一個問題。如果數據報文在上鏈端口上分配不當,會導致如下兩種情況的發生一種是數據流量不均衡,發生丟包。由于線卡前面板端口的端口帶寬綜合大于等于單個上鏈端口的端口帶寬,因此,如果每個前面板端口都走同一個上鏈端口的話,必定會導致該上鏈端口擁塞,從而丟包。另一種是發生幀亂序。如果同一個類型的數據報文被分配到不同的上鏈端口,就意味著不同的路徑,如果不同路徑的延遲無法控制的話,就可能會導致幀亂序的產生。現有技術上鏈聚合端口的流量均衡方法可以分為三種第一種是基于數據報文內容的哈希算法,即在接收到數據報文之后,對數據報文進行拆分,提取里面的數據信息,如 IP信息、MAC地址信息、MPLS信息等等,然后將提取到的數據信息做運算,得到一個哈希值, 根據該哈希值把數據報文發往不同的上鏈端口。第二種是基于源端口號的哈希算法,即將接收到的數據報文的源端口號與上鏈聚合端口號進行取模運算后得到一個哈希值,根據該哈希值把數據報文發往不同的上鏈端口。第三種是將接收到的所有報文平均分配到所有上鏈端口上。上述三種流量均衡的方法都均在一定的問題,第一種和第二種方法在數據報文都是同一類型或者同一源端口發送的數據報文時,會將所有的數據報文都發往同一個上鏈端口,導致該上鏈端口的擁塞,從而丟包。而第三種方法會將同一類型的數據報文隨機分配給各個上鏈端口,很可能導致亂序現象的發生。
發明內容
為了有效降低丟包現象和亂序現象的發生,本發明的第一個方面是提供一種上鏈聚合端口的流量均衡方法,包括根據數據報文的目的線卡上交換芯片的標識,為所述數據報文分配上鏈端口號;判斷所述上鏈端口號對應的上鏈端口的流量計數是否小于所述上鏈端口的端口帶寬;如果是,將所述數據報文發往該上鏈端口 ;
如果否,將所述數據報文發往第一上鏈端口,所述第一上鏈端口為組成上鏈聚合端口的全部上鏈端口中緩存堆積小于預設值的端口。本發明的另一個方面是提供一種上鏈聚合端口的流量均衡裝置,包括分配模塊,用于根據數據報文的目的線卡上交換芯片的標識,為所述數據報文分配上鏈端口號;判斷模塊,用于判斷所述上鏈端口號對應的上鏈端口的流量計數是否小于所述上鏈端口的端口帶寬;均衡模塊,用于如果所述判斷模塊的判斷結果為是,將所述數據報文發往該上鏈端口 ;如果所述判斷模塊的判斷結果為否,將所述數據報文發往第一上鏈端口,所述第一上鏈端口為組成上鏈聚合端口的全部上鏈端口中緩存堆積小于預設值的端口。本發明的又一個方面是提供了一種上鏈聚合端口的流量均衡設備,該設備中包括如上所述的裝置。本發明的技術效果是當同一類型的數據流量小于上鏈端口的帶寬時,將該類型的數據都發往同一個上鏈端口,可以有效避免擁塞和亂序現象的產生;當同一類型的數據流量大于等于上鏈端口的帶寬時,由于緩存小的端口延遲也短,所以將該類型的數據發往上鏈端口中緩存堆積小于預設值的端口,有效避免擁塞的同時,將亂序現象控制在最小的范圍之內。
圖1為本發明實施例一提供的上鏈聚合端口的流量均衡方法流程圖;圖2為本發明實施例二提供的上鏈聚合端口的流量均衡方法流程圖;圖3為本發明實施例三提供的上鏈聚合端口的流量均衡方法流程圖;圖4為本發明實施例四提供的上鏈聚合端口的流量均衡方法流程圖;圖5為本發明實施例五提供的上鏈聚合端口的流量均衡裝置結構示意圖;圖6為本發明實施例六提供的上鏈聚合端口的流量均衡設備結構示意圖。
具體實施例方式圖1為本發明實施例一提供的上鏈聚合端口的流量均衡方法流程圖,如圖1所示, 該方法包括步驟101、根據數據報文的目的線卡上交換芯片的標識,為數據報文分配上鏈端口號。其中,一般情況下,一個交換芯片對應一個MOD-ID值(即目的線卡上交換芯片的標識)。對于模塊化交換機,每個板卡的交換芯片都會分配一個MOD-ID值,用來跨卡轉發時區分和識別交換芯片。這里使用MOD-ID值作為分配上鏈端口的依據好處在于相同MODID 的報文都是發往同一塊線卡的,也就是目的地是一樣的;這在轉發過程中有利于同樣目的地的報文走同一條路徑,減少亂序的產生。而若采用數據內容或者源端口號分配上鏈端口, 則達不到這個效果。步驟103、判斷該上鏈端口號對應的上鏈端口的流量計數是否小于該上鏈端口的端□帶寬;
如果是,執行步驟105;如果否,執行步驟107。步驟105、將數據報文發往該上鏈端口。步驟107、將數據報文發送第一上鏈端口,該第一上鏈端口為組成上鏈聚合端口的全部上鏈端口中緩存堆積小于預設值的端口。優選的,第一上鏈端口為符合條件的端口中緩存堆積最小的端口。預設值可以根據經驗或者實際情況設定。本發明實施例提供的上鏈聚合端口的流量均衡方法,當同一類型的數據流量小于上鏈端口的帶寬時,將該類型的數據都發往同一個上鏈端口,可以有效避免擁塞和亂序現象的產生;當同一類型的數據流量大于等于上鏈端口的帶寬時,由于緩存小的端口延遲也短,所以將該類型的數據發往上鏈端口中緩存堆積小于預設值的端口,有效避免擁塞的同時,將亂序現象控制在最小的范圍之內。在上述實施方式的基礎上,圖2為本發明實施例二提供的上鏈聚合端口的流量均衡方法流程圖,如圖2所示,在步驟101之前,該方法還可以包括步驟100、接收數據報文,從該數據報文中獲得數據報文的目的MAC地址。根據數據報文的目的MAC地址,在目的MAC地址與目的MOD-ID值的對應關系中,獲得數據報文的目的MOD-ID值。其中,上述方法的執行主體可以是計算機中的軟件,也可以是線程可編程門陣列 (Field Programmable Gate Array,簡稱為FPGA)。使用FPGA的好處在于硬件的運算速度非常快,有效提高數據報文的轉發速度。在FPGA中可以包括一個輸入口緩存,用于緩存輸入端口的數據報文。還可以包括一個數據報文的輸入處理模塊(又稱為輸入口 hgress 模塊),該模塊主要是對FPGA接收到的數據報文進行拆分處理、地址學習等操作。對于數據報文進行拆分處理后,可以獲得數據報文的目的MAC地址。根據數據報文獲得目的MAC地址可以通過已知的技術實現,此處不做贅述。在FPGA中還可以包括一個地址解析模塊,該模塊主要是用來存放交換芯片地址學習的結果。其中包括目的MAC地址和目的MOD-ID的對應關系。可以使用該模塊,根據目的MAC地址,在目的MAC地址和目的MOD-ID的對應關系中獲得數據報文的MOD-ID值。在上述實施方式的基礎上,圖3為本發明實施例三提供的上鏈聚合端口的流量均衡方法流程圖,如圖3所示,步驟101可以包括步驟101a、將數據報文的目的MOD-ID與全部上鏈端口的數目做求余運算,得到相應的上鏈端口號,分配給數據報文。其中,FPGA中還可以包括一個轉發判定模塊,用于判定端口接收到的數據報文需要轉發的上鏈端口。以上鏈端口數為4為例進行本步驟的說明。則MOD-ID與上鏈端口號之間的對應關系可以但不限于如表1所示表 1
MOD-ID目的上鏈端口號4N0
權利要求
1.一種上鏈聚合端口的流量均衡方法,其特征在于,包括根據數據報文的目的線卡上交換芯片的標識,為所述數據報文分配上鏈端口號;判斷所述上鏈端口號對應的上鏈端口的流量計數是否小于所述上鏈端口的端口帶寬;如果是,將所述數據報文發往該上鏈端口 ;如果否,將所述數據報文發往第一上鏈端口,所述第一上鏈端口為組成上鏈聚合端口的全部上鏈端口中緩存堆積小于預設值的端口。
2.根據權利要求1所述的方法,其特征在于,所述根據數據報文的目的線卡上交換芯片的標識,為所述數據報文分配上鏈端口號之前,所述方法還包括接收數據報文,從所述數據報文中獲得所述數據報文的目的介質接入控制地址;根據所述數據報文的目的介質接入控制地址,在目的介質接入控制地址與目的線卡上交換芯片的標識的對應關系中,獲得所述數據報文的目的線卡上交換芯片的標識。
3.根據權利要求1或2所述的方法,其特征在于,所述根據數據報文的目的線卡上交換芯片的標識,為所述數據報文分配上鏈端口號的過程包括將所述數據報文的目的線卡上交換芯片的標識與全部上鏈端口的數目做求余運算,得到相應的上鏈端口號,分配給所述數據報文。
4.根據權利要求1或2所述的方法,其特征在于,所述判斷所述上鏈端口號對應的上鏈端口的流量計數是否小于所述上鏈端口的端口帶寬之前,所述方法還包括獲得所述上鏈端口號對應的上鏈端口的流量計數和端口帶寬,所述流量計數為預設時間內所述上鏈端口對應的數據流量。
5.一種上鏈聚合端口的流量均衡裝置,其特征在于,包括分配模塊,用于根據數據報文的目的線卡上交換芯片的標識,為所述數據報文分配上鏈端口號;判斷模塊,用于判斷所述上鏈端口號對應的上鏈端口的流量計數是否小于所述上鏈端口的端口帶寬;均衡模塊,用于如果所述判斷模塊的判斷結果為是,將所述數據報文發往該上鏈端口 ; 如果所述判斷模塊的判斷結果為否,將所述數據報文發往第一上鏈端口,所述第一上鏈端口為組成上鏈聚合端口的全部上鏈端口中緩存堆積小于預設值的端口。
6.根據權利要求5所述的裝置,其特征在于,還包括接收模塊,用于接收數據報文,從所述數據報文中獲得所述數據報文的目的介質接入控制地址;標識獲得模塊,用于根據所述數據報文的目的介質接入控制地址,在目的介質接入控制地址與目的線卡上交換芯片的標識的對應關系中,獲得所述數據報文的目的線卡上交換芯片的標識。
7.根據權利要求5或6所述的裝置,其特征在于,所述分配模塊包括分配單元,用于將所述數據報文的目的線卡上交換芯片的標識與全部上鏈端口的數目做求余運算,得到相應的上鏈端口號,分配給所述數據報文。
8.根據權利要求5或6所述的裝置,其特征在于,還包括數據獲得模塊,用于獲得所述上鏈端口號對應的上鏈端口的流量計數和端口帶寬,所述流量計數為預設時間內所述上鏈端口對應的數據流量;相應的,所述判斷模塊用于根據所述數據獲得模塊獲得的數據進行判斷。
9.根據權利要求5所述的裝置,其特征在于,所述裝置為現場可編程門陣列FPGA。
10.一種上鏈聚合端口的流量均衡設備,其特征在于,所述設備包含如權利要求5至9 中任一項所述的裝置。
全文摘要
本發明提供一種上鏈聚合端口的流量均衡方法、裝置及設備。方法包括根據數據報文的目的線卡上交換芯片的標識,為所述數據報文分配上鏈端口號;判斷所述上鏈端口號對應的上鏈端口的流量計數是否小于所述上鏈端口的端口帶寬;如果是,將所述數據報文發往該上鏈端口;如果否,將所述數據報文發往第一上鏈端口,所述第一上鏈端口為組成上鏈聚合端口的全部上鏈端口中緩存堆積小于預設值的端口。裝置包括分配模塊、判斷模塊和均衡模塊。設備包括上述裝置。本發明實施例提供的技術方案,可以有效避免擁塞的產生,并將亂序現象控制在最小的范圍之內。
文檔編號H04L12/56GK102437956SQ201110422910
公開日2012年5月2日 申請日期2011年12月16日 優先權日2011年12月16日
發明者張壽棋, 彭少寧 申請人:福建星網銳捷網絡有限公司