最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

采用地址冗余技術(shù)實現(xiàn)包重組的方法、裝置及系統(tǒng)的制作方法

文檔序號:7761679閱讀:336來源:國知局
專利名稱:采用地址冗余技術(shù)實現(xiàn)包重組的方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種采用地址冗余技術(shù)實現(xiàn)包重組的方法、 裝置及系統(tǒng)。
背景技術(shù)
現(xiàn)有的交換網(wǎng)包括線卡和交換板卡兩部分,其中線卡又有入口線卡和出口線卡之分,如圖1所示,其為現(xiàn)有交換網(wǎng)的基本結(jié)構(gòu)圖。目前,高速路由器通常采用定長信元交換機制,將到達(dá)的交換網(wǎng)的數(shù)據(jù)包拆分成多個固定長度的信元。信元可以通過不同的交換板卡到達(dá)出口線卡。由于信元經(jīng)過不同交換板卡的時延可能不同,由此導(dǎo)致本屬于一個數(shù)據(jù)包的信元,會以混亂次序到達(dá)出口線卡。在多個入口線卡同時向一個出口線卡發(fā)送數(shù)據(jù)包的情況下,不同數(shù)據(jù)包的信元會間插在一起,加大亂序的程度。如圖2所示,有N個入口線卡同時向出口線卡送數(shù)據(jù)包,這些數(shù)據(jù)包到達(dá)出口線卡后呈亂序狀態(tài)。為了將信元還原成數(shù)據(jù)包,必須在出口線卡內(nèi)采用包重組技術(shù)。現(xiàn)有技術(shù)中,為了實現(xiàn)出口線卡的包重組,通常采用兩種技術(shù)(1)信元保序的技術(shù),在交換板卡的輸出端口使用較大容量緩存對這些信元重新排序,即對交換板卡輸出端口的信元發(fā)送順序進(jìn)行控制,以解決定長信元在通過交換板卡的信元失序問題。采用信元保序技術(shù)時,必須在交換板卡的輸出端口進(jìn)行信元順序控制。目前,大多以信元進(jìn)入交換網(wǎng)的時間作為控制的依據(jù),通過比較不同信元進(jìn)入交換網(wǎng)的時間,實現(xiàn)最早離開入口線卡進(jìn)入交換板卡的信元,最早離開交換板卡,再進(jìn)入出口線卡。因此,信元保序技術(shù)需要在信元的頭部開銷中增加時間信息,并對時間信息進(jìn)行比較。由此,其存在以下缺陷1、信元的頭開銷增大,降低了交換網(wǎng)的交換效率;2、在高速路由器當(dāng)中,系統(tǒng)需要較高頻率的時鐘。對時間信息的比較是建立在時間同步的基礎(chǔ)之上的,而將交換網(wǎng)中各個板卡和線卡之間的時鐘進(jìn)行高精度的同步本身比較困難。同時,系統(tǒng)的穩(wěn)定性難以得到保障;為了實現(xiàn)信元保序,需要在交換板卡中開設(shè)較大的緩存,增加了交換網(wǎng)所需的系統(tǒng)資源。(2)基于CAM (Content-addressable memory,內(nèi)容可尋址存儲器)的重組技術(shù),在出口線卡側(cè)設(shè)置足夠的緩存對亂序信元進(jìn)行存儲,再通過CAM對信元進(jìn)行查找和排序,以還原數(shù)據(jù)包。基于CAM的重組技術(shù)利用CAM基于內(nèi)容查找的特點,根據(jù)信元頭部信息找到相鄰的信元的位置,采用鏈表技術(shù)將屬于同一個數(shù)據(jù)包的信元進(jìn)行串接,以還原信元順序。該方法存在以下缺陷1、CAM資源成本較高,不適合大規(guī)模使用;2、基于CAM的查找速度受系統(tǒng)時鐘和CAM的深度的影響,在線卡處理速度較高及亂序信元較多的情況下難以達(dá)到線速處理。

發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種采用地址冗余技術(shù)實現(xiàn)包重組的方法、裝置及系統(tǒng),旨在以較低的資源成本實現(xiàn)數(shù)據(jù)包的快速重組。本發(fā)明提出一種采用地址冗余技術(shù)實現(xiàn)包重組的方法,包括出口線卡接收來自交換板卡的信元,分離出所述信元的頭開銷部分和凈荷部分;根據(jù)所述頭開銷以及預(yù)設(shè)的信元指針列表對所述信元所屬數(shù)據(jù)包進(jìn)行重組并輸出ο優(yōu)選地,所述根據(jù)頭開銷以及預(yù)設(shè)的信元指針列表對所述信元所屬數(shù)據(jù)包進(jìn)行重組并輸出的步驟包括根據(jù)空閑指針列表的頭指針為所述凈荷分配一地址指針;將所述凈荷按照所述地址指針對應(yīng)的地址存放于出口線卡的緩存內(nèi);根據(jù)所述頭開銷將所述地址指針存放于所述信元指針列表中;當(dāng)所述信元指針列表中地址指針的數(shù)量等于所述信元所屬數(shù)據(jù)包所擁有的信元數(shù)量時,按照信元指針列表中地址指針的排列順序從出口線卡緩存中依次獲取對應(yīng)的凈荷組成數(shù)據(jù)包輸出。優(yōu)選地,所述信元格式包括信元的種類編號、信元所屬入口線卡的ID號、信元所屬數(shù)據(jù)包的ID號、信元在其所屬數(shù)據(jù)包中的ID號、信元所屬數(shù)據(jù)包擁有的信元數(shù)量以及信元凈荷。優(yōu)選地,所述信元指針列表包括信元凈荷的地址指針、與所述地址指針對應(yīng)的信元所屬入口線卡的ID號、與所述地址指針對應(yīng)的信元所屬數(shù)據(jù)包的ID號以及與所述地址指針對應(yīng)的信元的ID號。優(yōu)選地,所述根據(jù)頭開銷將地址指針存放于信元指針列表中的步驟包括從所述頭開銷獲取所述信元的ID號;將所述地址指針存放于所述信元指針列表中對應(yīng)所述信元的ID號的位置。本發(fā)明還提出一種采用地址冗余技術(shù)實現(xiàn)包重組的裝置,包括信元接收和解析模塊,用于接收來自交換板卡的信元,分離出所述信元的頭開銷部分和凈荷部分;數(shù)據(jù)包重組模塊,用于根據(jù)所述頭開銷以及預(yù)設(shè)的信元指針列表對所述信元所屬數(shù)據(jù)包進(jìn)行重組并輸出。優(yōu)選地,所述數(shù)據(jù)包重組模塊包括空閑指針列表單元,用于根據(jù)空閑指針列表的頭指針為所述凈荷分配一地址指針;信元緩存單元,用于將所述凈荷按照所述地址指針對應(yīng)的地址存放于出口線卡的緩存內(nèi);信元指針列表單元,用于根據(jù)所述頭開銷將所述地址指針存放于信元指針列表中;數(shù)據(jù)包管理單元,用于當(dāng)所述信元指針列表中地址指針的數(shù)量等于所述信元所屬數(shù)據(jù)包所擁有的信元數(shù)量時,按照信元指針列表中地址指針的排列順序從出口線卡緩存中依次獲取對應(yīng)的凈荷組成數(shù)據(jù)包輸出。優(yōu)選地,所述信元格式包括信元的種類編號、信元所屬入口線卡的ID號、信元所屬數(shù)據(jù)包的ID號、信元在其所屬數(shù)據(jù)包中的ID號、信元所屬數(shù)據(jù)包擁有的信元數(shù)量以及信元凈荷。優(yōu)選地,所述信元指針列表包括信元凈荷的地址指針、與所述地址指針對應(yīng)的信元所屬入口線卡的ID號、與所述地址指針對應(yīng)的信元所屬數(shù)據(jù)包的ID號以及與所述地址指針對應(yīng)的信元的ID號。優(yōu)選地,所述信元指針列表單元包括信元ID號獲取子單元,用于從所述頭開銷獲取所述信元的ID號;地址指針存放子單元,用于將所述地址指針存放于所述信元指針列表中對應(yīng)所述信元的ID號的位置。本發(fā)明還提出一種采用地址冗余技術(shù)實現(xiàn)包重組的系統(tǒng),包括入口線卡、交換板卡以及出口線卡,其中所述入口線卡,用于向所述交換板卡發(fā)送信元;所述交換板卡,用于將所述入口線卡發(fā)送的信元轉(zhuǎn)發(fā)給所述出口線卡;所述出口線卡,用于接收來自交換板卡的信元,分離出所述信元的頭開銷部分和凈荷部分;根據(jù)所述頭開銷以及預(yù)設(shè)的信元指針列表對所述信元所屬數(shù)據(jù)包進(jìn)行重組并輸
出ο優(yōu)選地,所述出口板卡包括如上所述的裝置。本發(fā)明提出一種采用地址冗余技術(shù)實現(xiàn)包重組的方法、裝置及系統(tǒng),利用地址冗余技術(shù)對進(jìn)入出口線卡的信元進(jìn)行處理,使每個信元以其在所屬數(shù)據(jù)包中的序號作為尋址依據(jù),將其地址指針存放在序號所對應(yīng)的信元指針列表中,通過信元的序號快速確定信元與信元之間的相對位置,再將各信元依次排列重新組成數(shù)據(jù)包輸出,避免了現(xiàn)有技術(shù)中為了確定信元之間相對關(guān)系而進(jìn)行的搜索和查找,在節(jié)省了系統(tǒng)資源的同時,提升了數(shù)據(jù)包重組的速度,且無需在交換板卡中設(shè)置額外的緩存,降低了系統(tǒng)成本;不需要在信元頭部增加額外的開銷,提升了交換網(wǎng)的效率;無需使用CAM資源,在降低了成本的同時,提升了系統(tǒng)的可擴展性。


圖1是現(xiàn)有技術(shù)交換網(wǎng)的基本結(jié)構(gòu)示意圖;圖2是現(xiàn)有技術(shù)中多個入口線卡同時向一個出口線卡發(fā)送數(shù)據(jù)時的數(shù)據(jù)流量模型示意圖;圖3是本發(fā)明采用地址冗余技術(shù)實現(xiàn)包重組的方法一實施例流程示意圖;圖4是本發(fā)明采用地址冗余技術(shù)實現(xiàn)包重組的方法一實施例中信元格式示意圖;圖5是本發(fā)明采用地址冗余技術(shù)實現(xiàn)包重組的方法一實施例中根據(jù)頭開銷、預(yù)設(shè)的空閑指針列表以及信元指針列表對信元所屬數(shù)據(jù)包進(jìn)行重組并輸出的流程示意圖;圖6是本發(fā)明采用地址冗余技術(shù)實現(xiàn)包重組的方法一實施例中根據(jù)頭開銷將地址指針存放于信元指針列表中的流程示意圖7是本發(fā)明采用地址冗余技術(shù)實現(xiàn)包重組的裝置一實施例結(jié)構(gòu)示意圖;圖8是本發(fā)明采用地址冗余技術(shù)實現(xiàn)包重組的裝置一實施例中數(shù)據(jù)包重組模塊的結(jié)構(gòu)示意圖;圖9是本發(fā)明采用地址冗余技術(shù)實現(xiàn)包重組的裝置一實施例中信元指針列表單元的結(jié)構(gòu)示意圖;圖10是本發(fā)明采用地址冗余技術(shù)實現(xiàn)包重組的系統(tǒng)一實施例結(jié)構(gòu)示意圖。為了使本發(fā)明的技術(shù)方案更加清楚、明了,下面將結(jié)合附圖作進(jìn)一步詳述。
具體實施例方式本發(fā)明實施例解決方案主要是利用地址冗余技術(shù)對進(jìn)入出口線卡的信元進(jìn)行處理,使每個信元以其在所屬數(shù)據(jù)包中的序號作為尋址依據(jù),將其地址指針存放在序號所對應(yīng)的信元指針列表中,通過信元的序號快速確定信元與信元之間的相對位置,再將各信元依次排列重新組成數(shù)據(jù)包輸出,以降低出口線卡包重組的難度、提升包重組的速度,并節(jié)省系統(tǒng)資源。如圖3所示,本發(fā)明一實施例提出一種采用地址冗余技術(shù)實現(xiàn)包重組的方法,包括步驟S101,出口線卡接收來自交換板卡的信元,分離出信元的頭開銷部分和凈荷部分; 本實施例方法運行環(huán)境涉及交換網(wǎng)內(nèi)的交換板卡以及入口線卡和出口線卡,入口線卡將接收的數(shù)據(jù)包中的各個信元分別通過不同的交換板卡發(fā)往同一個出口線卡,以便出口線卡對接收的各個信元進(jìn)行數(shù)據(jù)包重組。在本實施例中,通過地址冗余技術(shù)對出口線卡接收的各信元進(jìn)行相應(yīng)處理,實現(xiàn)對數(shù)據(jù)包的重組。出口線卡內(nèi)設(shè)有空閑指針列表、信元指針列表、數(shù)據(jù)包管理單元等,數(shù)據(jù)包管理單元由多個寄存器組組成,每個寄存器組用來管理一個數(shù)據(jù)包以及該數(shù)據(jù)包所對應(yīng)的信元指針列表;空閑指針列表用來管理出口線卡緩存中的空閑存儲區(qū),實現(xiàn)出口線卡緩存的循環(huán)利用;信元指針列表用來存放信元存放于出口線卡緩存中的地址指針。出口線卡中內(nèi)部結(jié)構(gòu)及功能描述詳見下一實施例。在本實施例中,在出口線卡接收到來自交換板卡的信元時,將信元的頭開銷部分和凈荷部分分離出來,以便在進(jìn)行數(shù)據(jù)包重組時,可根據(jù)數(shù)據(jù)包中各信元的頭開銷部分將凈荷進(jìn)行有規(guī)則的存放,將數(shù)據(jù)包還原。信元包括頭開銷部分和凈荷部分,其中信元的格式如圖4所示,信元格式包括TYPE 信元的種類編號,用來區(qū)分信元的用途;IC_ID 代表信元所屬的入口線卡angress Card)的ID號;PKG_ID 代表信元所屬數(shù)據(jù)包的ID號;CELL_ID 信元ID號,代表信元屬于數(shù)據(jù)包的第幾個切片,即信元在所屬數(shù)據(jù)包中的ID號;PACKET_LEN 代表信元所屬的數(shù)據(jù)包擁有的信元數(shù)量;PAYL0AD 信元凈荷。 其中,IC_ID和PKG_ID共同表示數(shù)據(jù)包在當(dāng)前交換網(wǎng)中的唯一編號。TYPE、IC_ID、PKG_ID、CELL_ID以及PACKET_LEN構(gòu)成信元的頭開銷部分。步驟S102,根據(jù)頭開銷、預(yù)設(shè)的空閑指針列表以及信元指針列表對信元所屬數(shù)據(jù)包進(jìn)行重組并輸出。如圖5所示,步驟S102包括步驟S1021,根據(jù)空閑指針列表的頭指針為凈荷分配一地址指針;在本實施例中,為了對接收的各信元按照其原有的相對位置關(guān)系進(jìn)行排序,以便快速的將各信元組成數(shù)據(jù)包發(fā)送出去,需要對信元中的凈荷進(jìn)行緩存,因為各個信元達(dá)到出口線卡的時間并不相同,需要等待整個數(shù)據(jù)包的信元到齊,重新組合成數(shù)據(jù)包之后再發(fā)送出去ο本實施例在對信元中的凈荷進(jìn)行緩存時,需要記錄該凈荷在出口線卡緩存中的存儲地址,具體通過空閑指針列表中頭指針來指定對應(yīng)的地址。根據(jù)空閑指針列表的頭指針為信元的凈荷分配一個地址指針,以便出口線卡按照地址指針對應(yīng)的地址將該凈荷存放于出口線卡的緩存中相應(yīng)的位置。步驟S1022,將凈荷按照地址指針對應(yīng)的地址存放于出口線卡的緩存內(nèi);步驟S1023,根據(jù)頭開銷將地址指針存放于信元指針列表中;其中,信元指針列表反映了信元凈荷的地址指針、與所述地址指針對應(yīng)的信元所屬入口線卡的ID號、與地址指針對應(yīng)的信元所屬數(shù)據(jù)包的ID號、與地址指針對應(yīng)的信元的 ID號之間的對應(yīng)關(guān)系??梢愿鶕?jù)信元頭開銷中的信元ID號,將該信元所對應(yīng)的地址指針存放于信元指
針列表中信元ID號所對應(yīng)的位置,比如將各信元凈荷的地址指針按照序號0、1、2......等
的順序依次存放。由于每個地址指針對應(yīng)一個信元的凈荷在出口線卡緩存中的地址,因此, 可以根據(jù)信元ID號從信元指針列表中查找對應(yīng)的地址指針,然后根據(jù)地址指針對應(yīng)的地址從出口線卡的緩存中獲取該信元的凈荷,當(dāng)整個數(shù)據(jù)包中的所有信元到齊后,依次排序重新組合成數(shù)據(jù)包,從而完成數(shù)據(jù)包的重組。步驟S1024,當(dāng)信元指針列表中地址指針的數(shù)量等于信元所屬數(shù)據(jù)包所擁有的信元數(shù)量時,按照信元指針列表中地址指針的排列順序從出口線卡緩存中依次獲取對應(yīng)的凈荷組成數(shù)據(jù)包輸出。其中,信元所屬數(shù)據(jù)包所擁有的信元數(shù)量可以從信元頭開銷部分中獲取,當(dāng)信元指針列表中地址指針的數(shù)量達(dá)到信元所屬數(shù)據(jù)包所擁有的信元數(shù)量時,說明數(shù)據(jù)包中所有的信元均已到達(dá)出口線卡,可以進(jìn)行數(shù)據(jù)包的重組。如上所述,可以根據(jù)信元ID號從信元指針列表中查找對應(yīng)的地址指針,然后根據(jù)地址指針對應(yīng)的地址從出口線卡的緩存中獲取該信元的凈荷,對所有信元依次排序重新組合成數(shù)據(jù)包,完成數(shù)據(jù)包的重組。本實施例利用地址冗余技術(shù)對進(jìn)入出口線卡的信元進(jìn)行處理,使每個信元以其處于數(shù)據(jù)包中的序號作為尋址的依據(jù),并將其指針存放在信元ID號所對應(yīng)的信元指針列表中相應(yīng)位置。由于數(shù)據(jù)包的長度是不定的,每個信元指針列表都是按照最長數(shù)據(jù)包分配的地址,當(dāng)數(shù)據(jù)包不為最長包時,其所分配的地址會產(chǎn)生冗余。因此成為地址冗余技術(shù)。通過信元的ID號可以快速確定信元的位置,避免了現(xiàn)有技術(shù)當(dāng)中為了確定信元之間相對關(guān)系而進(jìn)行的搜索和查找,在節(jié)省了系統(tǒng)資源的同時,提升了數(shù)據(jù)包重組的速度。下面舉例說明本實施例進(jìn)行數(shù)據(jù)包重組的工作原理假設(shè)系統(tǒng)中最長數(shù)據(jù)包一共由113個信元組成;一次性同時發(fā)包的數(shù)量為38個
8(即產(chǎn)生亂序的包的數(shù)量)。當(dāng)出口線卡接收到來自交換板卡的信元時,分離出該信元的頭開銷部分和凈荷部分,發(fā)送給數(shù)據(jù)包管理模塊。如上所述,數(shù)據(jù)包管理模塊由多個寄存器組組成,每個寄存器組用來管理一個數(shù)據(jù)包以及該數(shù)據(jù)包所對應(yīng)的信元指針列表。假設(shè)數(shù)據(jù)包管理模塊由38個寄存器組組成,則每個寄存器組包括以下幾個寄存器IC_ID+Packet_ID 為當(dāng)前寄存器組管理的數(shù)據(jù)包的唯一標(biāo)識;Packet_len 為當(dāng)前寄存器組管理的數(shù)據(jù)包的長度(信元個數(shù));Cell_counter 為當(dāng)前寄存器組管理的數(shù)據(jù)包已經(jīng)到達(dá)的信元數(shù)量;Current state 指示當(dāng)前寄存器組的狀態(tài)。寄存器組工作狀態(tài)包括空閑態(tài)、準(zhǔn)備態(tài)和結(jié)束態(tài)。當(dāng)前寄存器組沒有任何管理對象時為空閑態(tài);當(dāng)有屬于新的數(shù)據(jù)包的信元到來時,需要申請新的寄存器組來管理,被選擇的寄存器組進(jìn)入準(zhǔn)備態(tài);當(dāng)該寄存器組所管理的數(shù)據(jù)包的所有信元全部到達(dá)以后,寄存器組進(jìn)入結(jié)束態(tài),在數(shù)據(jù)包被完整發(fā)送后,恢復(fù)到空閑態(tài)。依次循環(huán)。數(shù)據(jù)包管理模塊通過包管理組列表管理上述各寄存器。當(dāng)有一個新的信元CELLO到來時,出口線卡通過數(shù)據(jù)包管理模塊進(jìn)行數(shù)據(jù)包重組的過程為1、當(dāng)有一個新的信元CELLO到來時,信元從空閑指針列表獲得當(dāng)前空閑頭指針, 根據(jù)該空閑頭指針為凈荷分配一地址指針;2、將IC_ID和Packet_ID與數(shù)據(jù)包管理模塊中的38個IC_ID和Packet_ID進(jìn)行匹配;3、將信元的凈荷按照地址指針對應(yīng)的地址存放到出口線卡的緩存中,并更新空閑頭指針;4、如果第2步匹配上第0組的IC_ID和I^acketJD,則用寄存器組GroupO管理IC_ ID+Packet_ID所代表的數(shù)據(jù)包。(如果沒有任何一條匹配上,則新建一個寄存器組Group) 將GroupO中的CellCoimter加一,將信元在緩存中的地址對應(yīng)的地址指針寫入信元指針列表(Cell_p0inter_liStO)中的信元ID號對應(yīng)位置;5、判斷GroupO中的Celljen是否與Cellcounter相等,若相等,則說明該數(shù)據(jù)包的信元已經(jīng)全部到齊,則輸出完整的數(shù)據(jù)包并釋放相應(yīng)的寄存器組。如圖6所示,步驟S1023包括步驟S10231,從頭開銷獲取信元的ID號;步驟S10232,將地址指針存放于信元指針列表中對應(yīng)信元的ID號的位置。如圖7所示,本發(fā)明一實施例提出一種采用地址冗余技術(shù)實現(xiàn)包重組的裝置,包括信元接收和解析模塊701以及數(shù)據(jù)包重組模塊702,其中信元接收和解析模塊701,用于接收來自交換板卡的信元,分離出信元的頭開銷部分和凈荷部分;在本實施例中,在出口線卡信元接收和解析模塊701接收到來自交換板卡的信元時,將信元的頭開銷部分和凈荷部分分離出來,以便在進(jìn)行數(shù)據(jù)包重組時,可根據(jù)數(shù)據(jù)包中各信元的頭開銷部分將凈荷進(jìn)行有規(guī)則的存放,將數(shù)據(jù)包還原。
信元包括頭開銷部分和凈荷部分,其中信元的格式如圖4所示,信元格式包括TYPE 信元的種類編號,用來區(qū)分信元的用途;IC_ID 代表信元所屬的入口線卡angress Card)的ID號;PKG_ID 代表信元所屬數(shù)據(jù)包的ID號;CELL_ID 信元ID號,代表信元屬于數(shù)據(jù)包的第幾個切片,即信元在所屬數(shù)據(jù)包中的ID號;PACKET_LEN 代表信元所屬的數(shù)據(jù)包擁有的信元數(shù)量;PAYL0AD 信元凈荷。其中,IC_ID和PKG_ID共同表示數(shù)據(jù)包在當(dāng)前交換網(wǎng)中的唯一編號。TYPE、IC_ID、 PKG_ID、CELL_ID以及PACKET_LEN構(gòu)成信元的頭開銷部分。數(shù)據(jù)包重組模塊702,用于根據(jù)頭開銷、預(yù)設(shè)的空閑指針列表以及信元指針列表對信元所屬數(shù)據(jù)包進(jìn)行重組并輸出。如圖8所示,數(shù)據(jù)包重組模塊702包括空閑指針列表單元7021、信元緩存單元7022、信元指針列表單元7023以及數(shù)據(jù)包管理單元70M,其中空閑指針列表單元7021,用于根據(jù)空閑指針列表的頭指針為凈荷分配一地址指針;在本實施例中,為了對接收的各信元按照其原有的相對位置關(guān)系進(jìn)行排序,以便快速的將各信元組成數(shù)據(jù)包發(fā)送出去,需要對信元中的凈荷進(jìn)行緩存,因為各個信元達(dá)到出口線卡的時間并不相同,需要等待整個數(shù)據(jù)包的信元到齊,重新組合成數(shù)據(jù)包之后再發(fā)送出去ο本實施例在對信元中的凈荷進(jìn)行緩存時,需要記錄該凈荷在出口線卡緩存中的存儲地址,具體通過空閑指針列表中頭指針來指定對應(yīng)的地址。空閑指針列表單元7021用來管理出口線卡緩存中的空閑存儲區(qū),實現(xiàn)出口線卡緩存的循環(huán)利用,根據(jù)空閑指針列表的頭指針為信元的凈荷分配一個地址指針,以便出口線卡按照該地址指針對應(yīng)的地址將該凈荷存放于出口線卡的緩存中相應(yīng)的位置。信元緩存單元7022,用于將凈荷按照地址指針對應(yīng)的地址存放于出口線卡的緩存內(nèi);信元指針列表單元7023,用于根據(jù)頭開銷將地址指針存放于信元指針列表中;其中,信元指針列表反映了信元凈荷的地址指針、與所述地址指針對應(yīng)的信元所屬入口線卡的ID號、與地址指針對應(yīng)的信元所屬數(shù)據(jù)包的ID號、與地址指針對應(yīng)的信元的 ID號之間的對應(yīng)關(guān)系??梢愿鶕?jù)信元頭開銷中的信元ID號,將該信元所對應(yīng)的地址指針存放于信元指
針列表中信元ID號所對應(yīng)的位置,比如將各信元凈荷的地址指針按照序號0、1、2......等
的順序依次存放。由于每個地址指針對應(yīng)一個信元的凈荷在出口線卡緩存中的地址,因此, 可以根據(jù)信元ID號從信元指針列表中查找對應(yīng)的地址指針,然后根據(jù)地址指針對應(yīng)的地址從出口線卡的緩存中獲取該信元的凈荷,當(dāng)整個數(shù)據(jù)包中的所有信元到齊后,依次排序重新組合成數(shù)據(jù)包,從而完成數(shù)據(jù)包的重組。數(shù)據(jù)包管理單元70M,用于當(dāng)信元指針列表中地址指針的數(shù)量等于信元所屬數(shù)據(jù)
10包所擁有的信元數(shù)量時,按照信元指針列表中地址指針的排列順序從出口線卡緩存中依次獲取對應(yīng)的凈荷組成數(shù)據(jù)包輸出。其中,信元所屬數(shù)據(jù)包所擁有的信元數(shù)量可以從信元頭開銷部分中獲取,當(dāng)信元指針列表中地址指針的數(shù)量達(dá)到信元所屬數(shù)據(jù)包所擁有的信元數(shù)量時,說明數(shù)據(jù)包中所有的信元均已到達(dá)出口線卡,可以進(jìn)行數(shù)據(jù)包的重組。如上所述,可以根據(jù)信元ID號從信元指針列表中查找對應(yīng)的地址指針,然后根據(jù)地址指針對應(yīng)的地址從出口線卡的緩存中獲取該信元的凈荷,對所有信元依次排序重新組合成數(shù)據(jù)包,完成數(shù)據(jù)包的重組。以下詳細(xì)說明本實施例進(jìn)行數(shù)據(jù)包重組的工作原理假設(shè)系統(tǒng)中最長數(shù)據(jù)包一共由113個信元組成;一次性同時發(fā)包的數(shù)量為38個 (即產(chǎn)生亂序的包的數(shù)量)。信元接收和解析模塊701接收來自交換板卡的信元,并且分離出該信元的頭開銷部分和凈荷部分,發(fā)送給數(shù)據(jù)包重組模塊702中數(shù)據(jù)包管理單元70M。如上所述,數(shù)據(jù)包管理單元70 由多個寄存器組組成,每個寄存器組用來管理一個數(shù)據(jù)包以及該數(shù)據(jù)包所對應(yīng)的信元指針列表。假設(shè)數(shù)據(jù)包管理單元70M由38個寄存器組組成,則每個寄存器組包括以下幾個寄存器IC_ID+Packet_ID 為當(dāng)前寄存器組管理的數(shù)據(jù)包的唯一標(biāo)識;Packet_len 為當(dāng)前寄存器組管理的數(shù)據(jù)包的長度(信元個數(shù));Cell_counter 為當(dāng)前寄存器組管理的數(shù)據(jù)包已經(jīng)到達(dá)的信元數(shù)量;Current state 指示當(dāng)前寄存器組的狀態(tài)。寄存器組工作狀態(tài)包括空閑態(tài)、準(zhǔn)備態(tài)和結(jié)束態(tài)。當(dāng)前寄存器組沒有任何管理對象時為空閑態(tài);當(dāng)有屬于新的數(shù)據(jù)包的信元到來時,需要申請新的寄存器組來管理,被選擇的寄存器組進(jìn)入準(zhǔn)備態(tài);當(dāng)該寄存器組所管理的數(shù)據(jù)包的所有信元全部到達(dá)以后,寄存器組進(jìn)入結(jié)束態(tài),在數(shù)據(jù)包被完整發(fā)送后,恢復(fù)到空閑態(tài)。依次循環(huán)。數(shù)據(jù)包管理單元70M通過包管理組列表管理上述各寄存器。當(dāng)有一個新的信元CELLO到來時,數(shù)據(jù)包重組模塊702進(jìn)行數(shù)據(jù)包重組的過程為1、當(dāng)有一個新的信元CELLO到來時,信元從空閑指針列表獲得當(dāng)前空閑頭指針, 根據(jù)該空閑頭指針為凈荷分配一地址指針;2、將IC_ID和Packet_ID與數(shù)據(jù)包管理模塊中的38個IC_ID和Packet_ID進(jìn)行匹配;3、將信元的凈荷按照地址指針對應(yīng)的地址存放到出口線卡的緩存中,并更新空閑頭指針;4、如果第2步匹配上第0組的IC_ID和I^acketJD,則用寄存器組GroupO管理IC_ ID+Packet_ID所代表的數(shù)據(jù)包。(如果沒有任何一條匹配上,則新建一個寄存器組Group) 將GroupO中的CellCoimter加一,將信元在緩存中的地址對應(yīng)的地址指針寫入信元指針列表(Cell_p0inter_liStO)中的信元ID號對應(yīng)位置;5、判斷GroupO中的Celljen是否與Cellcounter相等,若相等,則說明該數(shù)據(jù)包的信元已經(jīng)全部到齊,則輸出完整的數(shù)據(jù)包并釋放相應(yīng)的寄存器組。如圖9所示,信元指針列表單元7023包括信元ID號獲取子單元70231以及地址
11指針存放子單元70232,其中信元ID號獲取子單元70231,用于從頭開銷獲取信元的ID號;地址指針存放單元70232,用于將地址指針存放于信元指針列表中對應(yīng)信元的ID 號的位置。如圖10所示,本發(fā)明一實施例提出一種采用地址冗余技術(shù)實現(xiàn)包重組的系統(tǒng),包括入口線卡801、交換板卡802以及出口線卡803,其中入口線卡801,用于向交換板卡發(fā)送信元;交換板卡802,用于將入口線卡發(fā)送的信元轉(zhuǎn)發(fā)給出口線卡803 ;出口線卡803,用于接收來自交換板卡802的信元,分離出信元的頭開銷部分和凈荷部分;根據(jù)頭開銷、預(yù)設(shè)的空閑指針列表以及信元指針列表對信元所屬數(shù)據(jù)包進(jìn)行重組并輸出。具體用于根據(jù)空閑指針列表的頭指針為該凈荷分配一地址指針;將凈荷按照地址指針對應(yīng)的地址存放于出口線卡803的緩存內(nèi);根據(jù)頭開銷將地址指針存放于信元指針列表中;當(dāng)信元指針列表中地址指針的數(shù)量等于信元所屬數(shù)據(jù)包所擁有的信元數(shù)量時,按照信元指針列表中地址指針的排列順序從出口線卡803緩存中依次獲取對應(yīng)的凈荷組成數(shù)據(jù)包輸出。出口板卡803包括上述實施例所述的裝置。本發(fā)明實施例采用地址冗余技術(shù)實現(xiàn)包重組的方法、裝置及系統(tǒng),利用地址冗余技術(shù)對進(jìn)入出口線卡的信元進(jìn)行處理,使每個信元以其在所屬數(shù)據(jù)包中的序號作為尋址依據(jù),將其地址指針存放在序號所對應(yīng)的信元指針列表中,通過信元的序號快速確定信元與信元之間的相對位置,再將各信元依次排列重新組成數(shù)據(jù)包輸出,避免了現(xiàn)有技術(shù)中為了確定信元之間相對關(guān)系而進(jìn)行的搜索和查找,在節(jié)省了系統(tǒng)資源的同時,提升了數(shù)據(jù)包重組的速度,且無需在交換板卡中設(shè)置額外的緩存,降低了系統(tǒng)成本;不需要在信元頭部增加額外的開銷,提升了交換網(wǎng)的效率;無需使用CAM資源,在降低了成本的同時,提升了系統(tǒng)的可擴展性。以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或流程變換,或直接或間接運用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
1權(quán)利要求
1.一種采用地址冗余技術(shù)實現(xiàn)包重組的方法,其特征在于,包括出口線卡接收來自交換板卡的信元,分離出所述信元的頭開銷部分和凈荷部分;根據(jù)所述頭開銷、預(yù)設(shè)的空閑指針列表以及信元指針列表對所述信元所屬數(shù)據(jù)包進(jìn)行重組并輸出。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)頭開銷、預(yù)設(shè)的空閑指針列表以及信元指針列表對所述信元所屬數(shù)據(jù)包進(jìn)行重組并輸出的步驟包括根據(jù)空閑指針列表的頭指針為所述凈荷分配一地址指針;將所述凈荷按照所述地址指針對應(yīng)的地址存放于出口線卡的緩存內(nèi);根據(jù)所述頭開銷將所述地址指針存放于所述信元指針列表中;當(dāng)所述信元指針列表中地址指針的數(shù)量等于所述信元所屬數(shù)據(jù)包所擁有的信元數(shù)量時,按照信元指針列表中地址指針的排列順序從出口線卡緩存中依次獲取對應(yīng)的凈荷組成數(shù)據(jù)包輸出。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述信元格式包括信元的種類編號、信元所屬入口線卡的ID號、信元所屬數(shù)據(jù)包的ID號、信元在其所屬數(shù)據(jù)包中的ID號、 信元所屬數(shù)據(jù)包擁有的信元數(shù)量以及信元凈荷。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述信元指針列表包括信元凈荷的地址指針、與所述地址指針對應(yīng)的信元所屬入口線卡的ID號、與所述地址指針對應(yīng)的信元所屬數(shù)據(jù)包的ID號以及與所述地址指針對應(yīng)的信元的ID號。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)頭開銷將地址指針存放于信元指針列表中的步驟包括從所述頭開銷獲取所述信元的ID號;將所述地址指針存放于所述信元指針列表中對應(yīng)所述信元的ID號的位置。
6.一種采用地址冗余技術(shù)實現(xiàn)包重組的裝置,其特征在于,包括信元接收和解析模塊,用于接收來自交換板卡的信元,分離出所述信元的頭開銷部分和凈荷部分;數(shù)據(jù)包重組模塊,用于根據(jù)所述頭開銷、預(yù)設(shè)的空閑指針列表以及信元指針列表對所述信元所屬數(shù)據(jù)包進(jìn)行重組并輸出。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述數(shù)據(jù)包重組模塊包括空閑指針列表單元,用于根據(jù)空閑指針列表的頭指針為所述凈荷分配一地址指針;信元緩存單元,用于將所述凈荷按照所述地址指針對應(yīng)的地址存放于出口線卡的緩存內(nèi);信元指針列表單元,用于根據(jù)所述頭開銷將所述地址指針存放于信元指針列表中;數(shù)據(jù)包管理單元,用于當(dāng)所述信元指針列表中地址指針的數(shù)量等于所述信元所屬數(shù)據(jù)包所擁有的信元數(shù)量時,按照信元指針列表中地址指針的排列順序從出口線卡緩存中依次獲取對應(yīng)的凈荷組成數(shù)據(jù)包輸出。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述信元格式包括信元的種類編號、信元所屬入口線卡的ID號、信元所屬數(shù)據(jù)包的ID號、信元在其所屬數(shù)據(jù)包中的ID號、 信元所屬數(shù)據(jù)包擁有的信元數(shù)量以及信元凈荷。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述信元指針列表包括信元凈荷的地址指針、與所述地址指針對應(yīng)的信元所屬入口線卡的ID號、與所述地址指針對應(yīng)的信元所屬數(shù)據(jù)包的ID號以及與所述地址指針對應(yīng)的信元的ID號。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述信元指針列表單元包括信元ID號獲取子單元,用于從所述頭開銷獲取所述信元的ID號;地址指針存放子單元,用于將所述地址指針存放于所述信元指針列表中對應(yīng)所述信元的ID號的位置。
11.一種采用地址冗余技術(shù)實現(xiàn)包重組的系統(tǒng),其特征在于,包括入口線卡、交換板卡以及出口線卡,其中所述入口線卡,用于向所述交換板卡發(fā)送信元;所述交換板卡,用于將所述入口線卡發(fā)送的信元轉(zhuǎn)發(fā)給所述出口線卡;所述出口線卡,用于接收來自交換板卡的信元,分離出所述信元的頭開銷部分和凈荷部分;根據(jù)所述頭開銷、預(yù)設(shè)的空閑指針列表以及信元指針列表對所述信元所屬數(shù)據(jù)包進(jìn)行重組并輸出。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述出口板卡包括權(quán)利要求6-10中任一項所述的裝置。
全文摘要
本發(fā)明涉及一種采用地址冗余技術(shù)實現(xiàn)包重組的方法、裝置及系統(tǒng),其方法包括出口線卡接收來自交換板卡的信元,分離出信元的頭開銷部分和凈荷部分;根據(jù)頭開銷、預(yù)設(shè)的空閑指針列表以及信元指針列表對信元所屬數(shù)據(jù)包進(jìn)行重組并輸出。本發(fā)明利用地址冗余技術(shù)對進(jìn)入出口線卡的信元進(jìn)行處理,使每個信元以其在所屬數(shù)據(jù)包中的序號作為尋址依據(jù),提升了數(shù)據(jù)包重組的速度,節(jié)省了系統(tǒng)資源,提升了交換網(wǎng)的效率以及系統(tǒng)的可擴展性。
文檔編號H04L29/12GK102447607SQ20101050200
公開日2012年5月9日 申請日期2010年10月8日 優(yōu)先權(quán)日2010年10月8日
發(fā)明者徐健, 黃師 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1