專利名稱:上鏈聚合端口的流量均衡方法、裝置及設備的制作方法
技術領域:
本發(fā)明涉及流量均衡技術,尤其涉及一種上鏈聚合端口的流量均衡方法、裝置及設備,屬于網(wǎng)絡技術領域。
背景技術:
模塊化交換機是一種具有多個插槽的交換機。一般說來,這種結構的交換機的插槽數(shù)量不能低于2個。插槽槽位可以用來插入引擎板、線卡板和交換板。引擎板用于管理整臺交換機,線卡板提供了不同的接口類型,用于網(wǎng)絡接口的接入,交換板用于轉發(fā)線卡板之間的數(shù)據(jù)報文。部分交換機將引擎板與交換板做在一起。線卡板與交換板之間可以通過上鏈聚合端口連接在一起。對于跨線卡板槽位的交換,需要通過交換板轉發(fā)。由于上鏈聚合端口包括多個上鏈端口,在線卡板到交換板的數(shù)據(jù)轉發(fā)的過程中,具體走哪個上鏈端口便成為一個問題。如果數(shù)據(jù)報文在上鏈端口上分配不當,會導致如下兩種情況的發(fā)生一種是數(shù)據(jù)流量不均衡,發(fā)生丟包。由于線卡前面板端口的端口帶寬綜合大于等于單個上鏈端口的端口帶寬,因此,如果每個前面板端口都走同一個上鏈端口的話,必定會導致該上鏈端口擁塞,從而丟包。另一種是發(fā)生幀亂序。如果同一個類型的數(shù)據(jù)報文被分配到不同的上鏈端口,就意味著不同的路徑,如果不同路徑的延遲無法控制的話,就可能會導致幀亂序的產(chǎn)生。現(xiàn)有技術上鏈聚合端口的流量均衡方法可以分為三種第一種是基于數(shù)據(jù)報文內容的哈希算法,即在接收到數(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ā)明內容
為了有效降低丟包現(xiàn)象和亂序現(xiàn)象的發(fā)生,本發(fā)明的第一個方面是提供一種上鏈聚合端口的流量均衡方法,包括將第一數(shù)據(jù)報文切割成N個分片,所述分片中至少攜帶如下信息第一數(shù)據(jù)報文的目的線卡上交換芯片的標識、第一數(shù)據(jù)報文標識、分片標識以及N,其中,N為大于等于1 的正整數(shù);將N個分片依次發(fā)送給組成上鏈聚合端口的各上鏈端口,以使每個上鏈端口根據(jù)所述第一數(shù)據(jù)報文的目的線卡上交換芯片的標識將分片轉發(fā)給相應的目的線卡,所述第一數(shù)據(jù)報文標識、所述分片標識以及N用于所述目的線卡將攜帶所述第一數(shù)據(jù)報文標識的N 個分片組成第一數(shù)據(jù)報文,根據(jù)所述分片標識排列N個分片組成第一數(shù)據(jù)報文的順序。本發(fā)明的另一個方面是提供一種上鏈聚合端口的流量均衡裝置,包括切割模塊,用于將第一數(shù)據(jù)報文切割成N個分片,所述分片中至少攜帶如下信息 第一數(shù)據(jù)報文的目的線卡上交換芯片的標識、第一數(shù)據(jù)報文標識、分片標識以及N,其中,N 為大于等于1的正整數(shù);發(fā)送模塊,用于將N個分片依次發(fā)送給組成上鏈聚合端口的各上鏈端口,以使每個上鏈端口根據(jù)所述第一數(shù)據(jù)報文的目的線卡上交換芯片的標識將分片轉發(fā)給相應的目的線卡,所述第一數(shù)據(jù)報文標識、所述分片標識以及N用于所述目的線卡將攜帶所述第一數(shù)據(jù)報文標識的N個分片組成第一數(shù)據(jù)報文,根據(jù)所述分片標識排列N個分片組成第一數(shù)據(jù)報文的順序。本發(fā)明的又一個方面是提供了一種上鏈聚合端口的流量均衡設備,該設備中包括如上所述的裝置。本發(fā)明的技術效果是將數(shù)據(jù)報文切割成分片后,依次分配給各個上鏈端口,達到精細流量均衡的效果,并避免巨型幀帶來的影響,如丟包等問題。根據(jù)報文標識、分片標識以及分片個數(shù)對數(shù)據(jù)報文進行重組,對于亂序的調整不影響報文的處理,有效避免了亂序現(xiàn)象的發(fā)生。
圖1為本發(fā)明實施例一提供的上鏈聚合端口的流量均衡方法流程圖;圖2為本發(fā)明實施例二提供的上鏈聚合端口的流量均衡方法流程圖;圖3為本發(fā)明實施例三提供的上鏈聚合端口的流量均衡方法流程圖;圖4為本發(fā)明實施例四提供的接收端對分片報文進行重組的方法流程圖;圖5為本發(fā)明實施例五提供的上鏈聚合端口的流量均衡裝置結構示意圖;圖6為本發(fā)明實施例六提供的上鏈聚合端口的流量均衡設備結構示意圖。
具體實施例方式圖1為本發(fā)明實施例一提供的上鏈聚合端口的流量均衡方法流程圖,如圖1所示, 該方法包括步驟101、將第一數(shù)據(jù)報文切割成N個分片,每個分片中至少攜帶如下信息第一數(shù)據(jù)報文的目的線卡上交換芯片的標識、第一數(shù)據(jù)報文標識、分片標識以及N,其中,N為大于等于1的正整數(shù)。其中,一般情況下,一個交換芯片對應一個MOD-ID值(即目的線卡上交換芯片的標識)。對于模塊化交換機,每個板卡的交換芯片都會分配一個MOD-ID值,用來跨卡轉發(fā)時區(qū)分和識別交換芯片。第一數(shù)據(jù)報文是任意數(shù)據(jù)報文的代指,不用以限制本發(fā)明的保護范圍。步驟102、將N個分片依次發(fā)送給組成上鏈聚合端口的各上鏈端口,以使每個上鏈端口根據(jù)第一數(shù)據(jù)報文的目的線卡上交換芯片的標識將分片轉發(fā)給相應的目的線卡,以使目的線卡根據(jù)第一數(shù)據(jù)報文標識、分片標識以及N將攜帶第一數(shù)據(jù)報文標識的N個分片按照分片標識的順序組成第一數(shù)據(jù)報文。本發(fā)明實施例提供的上鏈聚合端口的流量均衡方法,將數(shù)據(jù)報文切割成分片后, 依次分配給各個上鏈端口,達到精細流量均衡的效果,并避免巨型幀帶來的影響,如丟包等問題。根據(jù)報文標識、分片標識以及分片個數(shù)對數(shù)據(jù)報文進行重組,對于亂序的調整不影響報文的處理,有效避免了亂序現(xiàn)象的發(fā)生。在上述實施方式的基礎上,圖2為本發(fā)明實施例二提供的上鏈聚合端口的流量均衡方法流程圖,如圖2所示,在步驟101之前,該方法還可以包括步驟100、接收第一數(shù)據(jù)報文,從該數(shù)據(jù)報文中獲得第一數(shù)據(jù)報文的目的MOD-ID值。其中,上述方法的執(zhí)行主體可以是計算機中的軟件,也可以是線程可編程門陣列 (Field Programmable Gate Array,簡稱為FPGA)。使用FPGA的好處在于硬件的運算速度非常快,有效提高數(shù)據(jù)報文的轉發(fā)速度。在FPGA中可以包括一個輸入口緩存,用于緩存輸入端口的數(shù)據(jù)報文。還可以包括一個數(shù)據(jù)報文的輸入處理和地址解析模塊(又稱為輸入口 hgress&ARL模塊),該模塊主要是對FPGA接收到的數(shù)據(jù)報文進行拆分處理、地址學習等操作。對于數(shù)據(jù)報文進行拆分處理后,可以獲得數(shù)據(jù)報文的目的MAC地址。根據(jù)數(shù)據(jù)報文獲得目的MAC地址可以通過已知的技術實現(xiàn),此處不做贅述。該模塊還用來存放交換芯片地址學習的結果。其中包括目的MAC地址和目的MOD-ID的對應關系??梢允褂迷撃K,根據(jù)目的MAC地址,在目的MAC地址和目的MOD-ID的對應關系中獲得數(shù)據(jù)報文的MOD-ID值。在上述實施方式的基礎上,圖3為本發(fā)明實施例三提供的上鏈聚合端口的流量均衡方法流程圖,如圖3所示,步驟100之后可以包括步驟100a、將第一數(shù)據(jù)報文存入先入先出(First In First Out,簡稱為FIF0)緩存。其中,F(xiàn)PGA中還可以包括一個入口 FIFO,一方面可以對接收到的數(shù)據(jù)包進行緩存,另一方面對接收到的數(shù)據(jù)包進行排隊處理,以保證先到達的數(shù)據(jù)包線得到處理,為了后面的數(shù)據(jù)包的順序發(fā)出做準備。相應的,基于步驟100a,步驟101變化為步驟101a、從FIFO緩存中取出第一數(shù)據(jù)報文后,將該第一數(shù)據(jù)報文切割成N個分片。其中,F(xiàn)PGA中還可以包括一個報文編號&分片處理模塊,該模塊用于對從FIFO緩存中取出的每個報文,基于其目的M0D-ID,進行分類,將相同MOD-ID的報文分為一類。并在分類的同時或分類之后根據(jù)報文的先后順序對報文進行編號,即為I^cket-Num,又稱為數(shù)據(jù)報文標識。即發(fā)往同一個目的線卡的報文,分為一類,并按照進入該模塊的時間順序獨立進行編號。例如,線卡2的MOD-ID為2,則將需要轉發(fā)到線卡2的報文,按照到達的時間順序,I^acket-Num分別為1、2、3、...,或者A、B、C...等等形式,同樣的,線卡3的MOD-ID為 3,則將需要轉發(fā)給線卡3的報文,按照到達的時間順序,Packet-Num分別為1、2、3、...,或者A、B、C...等等形式。編號完成之后,該模塊對報文進行切割、分片處理。例如將報文切割成1 字節(jié)的等長分片,每個報文的分片個數(shù)為N。當然也可以不等長分片,此處不做限定,優(yōu)選為等長分CN
片。每個分片按照其組成報文的順序先后有一個編號,即為分片標識(Slice-Num)。每個分片需要增加一個頭部信息,頭部信息中至少攜帶M0D-ID、Packet-Num, Slice-Num以及N, 以便于后續(xù)對分片報文的調度和接收端的重組。一個分片報文可以但不限于如表1所示的形式及內容表 權利要求
1.一種上鏈聚合端口的流量均衡方法,其特征在于,包括將第一數(shù)據(jù)報文切割成N個分片,所述分片中至少攜帶如下信息第一數(shù)據(jù)報文的目的線卡上交換芯片的標識、第一數(shù)據(jù)報文標識、分片標識以及N,其中,N為大于等于1的正整數(shù);將N個分片依次發(fā)送給組成上鏈聚合端口的各上鏈端口,以使每個上鏈端口根據(jù)所述第一數(shù)據(jù)報文的目的線卡上交換芯片的標識將分片轉發(fā)給相應的目的線卡,以使所述目的線卡根據(jù)所述第一數(shù)據(jù)報文標識、所述分片標識以及N將攜帶所述第一數(shù)據(jù)報文標識的N 個分片按照所述分片標識的順序組成第一數(shù)據(jù)報文。
2.根據(jù)權利要求1所述的方法,其特征在于,所述接收第一數(shù)據(jù)報文之后,所述方法還包括將所述第一數(shù)據(jù)報文存入先入先出緩存;相應的,將第一數(shù)據(jù)報文切割成N個分片包括從所述先入先出緩存中取出所述第一數(shù)據(jù)報文后,將所述第一數(shù)據(jù)報文切割成N個分片。
3.根據(jù)權利要求1所述的方法,其特征在于,所述將N個分片依次發(fā)送給組成上鏈聚合端口的各上鏈端口包括將N個分片依次發(fā)送給組成上鏈聚合端口的各上鏈端口的先入先出緩存,以使所述每個上鏈端口從各自的先入先出緩存中獲得分片,并根據(jù)所述第一數(shù)據(jù)報文的目的線卡上交換芯片的標識將分片轉發(fā)給相應的目的線卡。
4.根據(jù)權利要求1至3中任一項所述的方法,其特征在于,所述方法還包括目的線卡接收到分片,根據(jù)所述分片中攜帶的第一數(shù)據(jù)報文標識將所述分片放入該第一數(shù)據(jù)報文標識對應的緩存中;如果第一數(shù)據(jù)報文標識對應的緩存中的分片個數(shù)達到N,則按照分片標識的順序組成第一數(shù)據(jù)報文。
5.根據(jù)權利要求1所述的方法,其特征在于,所述N個分片的大小相等。
6.一種上鏈聚合端口的流量均衡裝置,其特征在于,包括切割模塊,用于將第一數(shù)據(jù)報文切割成N個分片,所述分片中至少攜帶如下信息第一數(shù)據(jù)報文的目的線卡上交換芯片的標識、第一數(shù)據(jù)報文標識、分片標識以及N,其中,N為大于等于1的正整數(shù);發(fā)送模塊,用于將N個分片依次發(fā)送給組成上鏈聚合端口的各上鏈端口,以使每個上鏈端口根據(jù)所述第一數(shù)據(jù)報文的目的線卡上交換芯片的標識將分片轉發(fā)給相應的目的線卡,以使所述目的線卡根據(jù)所述第一數(shù)據(jù)報文標識、所述分片標識以及N將攜帶所述第一數(shù)據(jù)報文標識的N個分片按照所述分片標識的順序組成第一數(shù)據(jù)報文。
7.根據(jù)權利要求6所述的裝置,其特征在于,還包括第一FIFO緩存,用于對接收模塊接收到的所述第一數(shù)據(jù)報文進行緩存;相應的所述切割模塊用于從所述第一 FIFO緩存中取出所述第一數(shù)據(jù)報文后,將所述第一數(shù)據(jù)報文切割成N個分片。
8.根據(jù)權利要求6所述的裝置,其特征在于,所述發(fā)送模塊用于將N個分片依次發(fā)送給組成上鏈聚合端口的各上鏈端口的先入先出緩存,以使所述每個上鏈端口從各自的先入先出緩存中獲得分片,并根據(jù)所述第一數(shù)據(jù)報文的目的線卡上交換芯片的標識將分片轉發(fā)給相應的目的線卡。
9.根據(jù)權利要求6至8中任一項所述的裝置,其特征在于,還包括重組模塊,用于目的線卡接收到分片,根據(jù)所述分片中攜帶的第一數(shù)據(jù)報文標識將所述分片放入該第一數(shù)據(jù)報文標識對應的緩存中;如果第一數(shù)據(jù)報文標識對應的緩存中的分片個數(shù)達到N,則按照分片標識的順序組成第一數(shù)據(jù)報文。
10.根據(jù)權利要求6所述的裝置,其特征在于,所述切割模塊用于將第一數(shù)據(jù)報文切割成N個大小相等的分片。
11.根據(jù)權利要求6所述的裝置,其特征在于,所述裝置為現(xiàn)場可編程門陣列FPGA。
12.—種上鏈聚合端口的流量均衡設備,其特征在于,所述設備包含如權利要求6至11 中任一項所述的裝置。
全文摘要
本發(fā)明提供一種上鏈聚合端口的流量均衡方法、裝置及設備。方法包括將第一數(shù)據(jù)報文切割成N個分片,所述分片中至少攜帶如下信息第一數(shù)據(jù)報文的目的線卡上交換芯片的標識、第一數(shù)據(jù)報文標識、分片標識以及N,其中,N為大于等于1的正整數(shù);將N個分片依次發(fā)送給組成上鏈聚合端口的各上鏈端口,以使每個上鏈端口根據(jù)所述第一數(shù)據(jù)報文的目的線卡上交換芯片的標識將分片轉發(fā)給相應的目的線卡,以使所述目的線卡根據(jù)所述第一數(shù)據(jù)報文標識、所述分片標識以及N將攜帶所述第一數(shù)據(jù)報文標識的N個分片按照所述分片標識的順序組成第一數(shù)據(jù)報文。裝置包括切割模塊和發(fā)送模塊。設備包括上述裝置。
文檔編號H04L12/56GK102546397SQ20111042299
公開日2012年7月4日 申請日期2011年12月16日 優(yōu)先權日2011年12月16日
發(fā)明者張壽棋, 陳武 申請人:福建星網(wǎng)銳捷網(wǎng)絡有限公司