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