專利名稱:一種高速數(shù)據(jù)流的傳輸方法、裝置及數(shù)據(jù)交換設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)通信領(lǐng)域,尤其涉及高速數(shù)據(jù)流的傳輸方法、裝置以及數(shù)據(jù)交換設(shè)備。
背景技術(shù):
線卡是數(shù)據(jù)進(jìn)出高速數(shù)據(jù)交換設(shè)備,例如高速路由器或者交換機(jī)的端口,提供了從物理層和更高層到交換網(wǎng)的接口。以路由器為例,圖1示出了一個(gè)典型的分布式路由器的結(jié)構(gòu),其中多個(gè)線卡11、路由控制器13、管理控制器14都通過交換網(wǎng)(Switching Fabric)12相互連接。如圖2所示,線卡11由接口芯片(Framer)111,轉(zhuǎn)發(fā)芯片(Packet Forward Engine,PFE)112以及流量管理器(Traffic Management,TM)113組成。
接口芯片111負(fù)責(zé)處理物理和鏈路層,例如將因特網(wǎng)協(xié)議(Internet Protocol,IP)數(shù)據(jù)包封裝到同步數(shù)字系列(Synchronous Digital Hierarchy,SDH)容器中,通過光模塊完成光電轉(zhuǎn)換,從光纖上接收IP數(shù)據(jù)包,并將IP數(shù)據(jù)包發(fā)送到光纖上。接口芯片111包括OC48c、OC192c和OC768c等各種類別。
轉(zhuǎn)發(fā)芯片112通過查找IPv4路由轉(zhuǎn)發(fā)表、IPv6路由轉(zhuǎn)發(fā)表以及多協(xié)議標(biāo)簽交換(Mutiprotocol Label Switching,MPLS)轉(zhuǎn)發(fā)表等得到轉(zhuǎn)發(fā)的輸出端口信息,同時(shí)完成接入控制列表(Access Control List,ACL)和標(biāo)記(Remark)等處理。
流量管理器113主要完成服務(wù)質(zhì)量(Quality of Service,QoS)的處理,在交換網(wǎng)12或物理端口擁塞時(shí)將數(shù)據(jù)包緩存在大容量存貯器中,按優(yōu)先級做隊(duì)列調(diào)度、丟數(shù)據(jù)包處理以及流量統(tǒng)計(jì)等。
隨著路由器的速率從OC11C、OC48C、OC192C向OC768C發(fā)展,線卡對各種轉(zhuǎn)發(fā)芯片的處理性能要求越來越高。OC192C端口的數(shù)據(jù)包轉(zhuǎn)發(fā)率為25Mpps(pps=packet per second,代表網(wǎng)絡(luò)芯片轉(zhuǎn)發(fā)IP數(shù)據(jù)包的性能單位,含義為“數(shù)據(jù)包每秒”),OC768C端口的數(shù)據(jù)包轉(zhuǎn)發(fā)率是100Mpps。
目前,利用專用集成電路(Application Specific Integrated Circuit,ASIC)或網(wǎng)絡(luò)處理器(Network Process)實(shí)現(xiàn)10Gbps和25Mpps轉(zhuǎn)發(fā)能力是比較容易的。例如在ASIC芯片中,使用多級流水線做數(shù)據(jù)包轉(zhuǎn)發(fā)處理,一級流水線周期為5個(gè)時(shí)鐘周期,則內(nèi)核工作頻率為115MHz的芯片可實(shí)現(xiàn)25Mpps的轉(zhuǎn)發(fā)性能。
OC768C端口的單流線速轉(zhuǎn)發(fā)要求轉(zhuǎn)發(fā)芯片的處理能力為100Mpps,實(shí)現(xiàn)難度較大。例如每級流水線仍使用5拍時(shí)鐘,則ASIC芯片內(nèi)核頻率為100Mpps×5=500MHz。使用0.13微米工藝時(shí),內(nèi)核要運(yùn)行在500MHz存在很大的難度。另一方面,轉(zhuǎn)發(fā)芯片內(nèi)部采用了三態(tài)內(nèi)容尋址存儲器(TCAM),在處理每個(gè)數(shù)據(jù)包時(shí)要查多次TCAM,例如IP轉(zhuǎn)發(fā)一次,QoS一次,ACL一次,單播反向路徑檢查(uRPF)一次。如果單芯片處理100Mpps的數(shù)據(jù)包,則需要500M查表每秒的TCAM芯片,這種TCAM芯片難以找到,而且價(jià)格比較貴。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種高速數(shù)據(jù)流的傳輸方法,旨在解決現(xiàn)有技術(shù)中存在的在實(shí)現(xiàn)高速單流線速轉(zhuǎn)發(fā)時(shí),轉(zhuǎn)發(fā)芯片的實(shí)現(xiàn)難度較大,實(shí)現(xiàn)成本較高的問題。
本發(fā)明的另一目的在于一種高速數(shù)據(jù)流的傳輸裝置。
本發(fā)明的另一目的在于提供一種線卡。
本發(fā)明的另一目的在于提供一種數(shù)據(jù)交換設(shè)備。
本發(fā)明是這樣實(shí)現(xiàn)的,一種高速數(shù)據(jù)流的傳輸方法,所述方法包括下述步驟A.接收高速數(shù)據(jù)流,按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號,將數(shù)據(jù)包及其順序號分發(fā)到N路并行低速轉(zhuǎn)發(fā)通路上,其中,N≥2;B.利用所述N路并行低速轉(zhuǎn)發(fā)通路發(fā)送所述數(shù)據(jù)包及其順序號;C.接收N路并行低速轉(zhuǎn)發(fā)通路發(fā)送的數(shù)據(jù)包及其順序號,按數(shù)據(jù)包的順序號將數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出。
在對數(shù)據(jù)包及其順序號進(jìn)行分發(fā)時(shí),將數(shù)據(jù)包及其順序號均勻分發(fā)到所述N路并行低速轉(zhuǎn)發(fā)通路上,或者在不同處理能力的轉(zhuǎn)發(fā)通路上分發(fā)不同數(shù)量的數(shù)據(jù)包。
在所述步驟C中,在對數(shù)據(jù)包排序過程中,若判斷數(shù)據(jù)包接收超時(shí),則不再等待,直接輸出已經(jīng)接收到的該超時(shí)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包。
所述判斷數(shù)據(jù)包接收超時(shí)的步驟包括下述步驟A.在每個(gè)數(shù)據(jù)包中設(shè)置下一個(gè)數(shù)據(jù)包的通路指示;B.根據(jù)當(dāng)前接收到的數(shù)據(jù)包攜帶的下一個(gè)數(shù)據(jù)包的通路指示監(jiān)視下一個(gè)數(shù)據(jù)包的發(fā)送通路;C.如果所述下一個(gè)數(shù)據(jù)包的發(fā)送通路已經(jīng)收到了順序號比所述下一個(gè)數(shù)據(jù)包的順序號更大的數(shù)據(jù)包,則判決所述下一個(gè)數(shù)據(jù)包接收超時(shí)。
所述判斷數(shù)據(jù)包接收超時(shí)的步驟包括下述步驟A.在每個(gè)數(shù)據(jù)包中設(shè)置上一個(gè)數(shù)據(jù)包的通路指示;B.根據(jù)當(dāng)前接收到的數(shù)據(jù)包攜帶的上一個(gè)數(shù)據(jù)包的通路指示監(jiān)視上一個(gè)數(shù)據(jù)包的發(fā)送通路;C.如果所述上一個(gè)數(shù)據(jù)包的發(fā)送通路已經(jīng)收到了順序號比所述上一個(gè)數(shù)據(jù)包的順序號更大的數(shù)據(jù)包,則判決所述上一個(gè)數(shù)據(jù)包接收超時(shí)。
一種高速數(shù)據(jù)流的傳輸裝置,所述裝置包括數(shù)據(jù)流分發(fā)單元,用于接收數(shù)據(jù)包,按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號,將數(shù)據(jù)包及其順序號分發(fā)到N路并行低速轉(zhuǎn)發(fā)通路上;N個(gè)并行低速轉(zhuǎn)發(fā)芯片,用于提供N路并行低速轉(zhuǎn)發(fā)通路,并利用所述N路并行低速轉(zhuǎn)發(fā)通路發(fā)送所述數(shù)據(jù)包及其順序號,其中,每個(gè)轉(zhuǎn)發(fā)芯片提供一路轉(zhuǎn)發(fā)通路;以及數(shù)據(jù)流排序單元,用于接收所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片發(fā)送的數(shù)據(jù)包及其順序號,按數(shù)據(jù)包的順序號將數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出;其中,N≥2。
所述數(shù)據(jù)流分發(fā)單元包括數(shù)據(jù)包接收模塊,用于接收數(shù)據(jù)包;順序號添加模塊,用于按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號;以及數(shù)據(jù)包分發(fā)模塊,用于以數(shù)據(jù)包為單位將數(shù)據(jù)包及其順序號分發(fā)到所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片上。
所述數(shù)據(jù)流排序單元包括數(shù)據(jù)包接收模塊,用于接收來自所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包;以及數(shù)據(jù)包排序模塊,用于根據(jù)數(shù)據(jù)包的順序號將所述來自N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出。
所述數(shù)據(jù)流排序單元進(jìn)一步包括超時(shí)判決模塊,用于在判斷數(shù)據(jù)包接收超時(shí)時(shí),向所述數(shù)據(jù)包排序模塊發(fā)出控制信號,控制所述數(shù)據(jù)包排序模塊直接輸出已經(jīng)接收到的該超時(shí)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包。
數(shù)據(jù)流分發(fā)單元用于在對數(shù)據(jù)包及其順序號進(jìn)行分發(fā)時(shí),將數(shù)據(jù)包及其順序號均勻分發(fā)到所述N路并行低速轉(zhuǎn)發(fā)芯片上,或者在不同處理能力的轉(zhuǎn)發(fā)芯片上分發(fā)不同數(shù)量的數(shù)據(jù)包。
一種線卡,包括接口芯片、流量管理器,所述接口芯片和流量管理器均包含一個(gè)數(shù)據(jù)流分發(fā)單元以及一個(gè)數(shù)據(jù)流排序單元,所述線卡還包括N個(gè)并行低速轉(zhuǎn)發(fā)芯片,其中數(shù)據(jù)流分發(fā)單元,用于接收數(shù)據(jù)包,按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號,將數(shù)據(jù)包及其順序號分發(fā)到N路并行低速轉(zhuǎn)發(fā)通路上;N個(gè)并行低速轉(zhuǎn)發(fā)芯片,用于提供N路并行低速轉(zhuǎn)發(fā)通路,并利用所述N路并行低速轉(zhuǎn)發(fā)通路發(fā)送所述數(shù)據(jù)包及其順序號,其中,每個(gè)轉(zhuǎn)發(fā)芯片提供一路轉(zhuǎn)發(fā)通路;數(shù)據(jù)流排序單元,用于接收所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片發(fā)送的數(shù)據(jù)包及其順序號,按數(shù)據(jù)包的順序號將數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出;其中,N≥2。
所述數(shù)據(jù)流分發(fā)單元包括數(shù)據(jù)包接收模塊,用于接收數(shù)據(jù)包;順序號添加模塊,用于按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號;以及數(shù)據(jù)包分發(fā)模塊,用于以數(shù)據(jù)包為單位將數(shù)據(jù)包及其順序號分發(fā)到所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片上。
所述數(shù)據(jù)流排序單元包括數(shù)據(jù)包接收模塊,用于接收來自所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包;以及數(shù)據(jù)包排序模塊,用于根據(jù)數(shù)據(jù)包的順序號將所述來自N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出。
所述數(shù)據(jù)流排序單元進(jìn)一步包括超時(shí)判決模塊,用于在判斷數(shù)據(jù)包接收超時(shí)時(shí),向所述數(shù)據(jù)包排序模塊發(fā)出控制信號,控制所述數(shù)據(jù)包排序模塊直接輸出已經(jīng)接收到的該超時(shí)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包。
數(shù)據(jù)流分發(fā)單元用于在對數(shù)據(jù)包及其順序號進(jìn)行分發(fā)時(shí),將數(shù)據(jù)包及其順序號均勻分發(fā)到所述N路并行低速轉(zhuǎn)發(fā)芯片上,或者在不同處理能力的轉(zhuǎn)發(fā)芯片上分發(fā)不同數(shù)量的數(shù)據(jù)包。
所述轉(zhuǎn)發(fā)芯片和流量管理器為單工或者雙工芯片。
一種數(shù)據(jù)交換設(shè)備,包括線卡,所述線卡包括接口芯片、流量管理器,所述接口芯片和流量管理器均包含一個(gè)數(shù)據(jù)流分發(fā)單元以及一個(gè)數(shù)據(jù)流排序單元,所述線卡還包括N個(gè)并行低速轉(zhuǎn)發(fā)芯片,其中數(shù)據(jù)流分發(fā)單元,用于接收數(shù)據(jù)包,按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號,將數(shù)據(jù)包及其順序號分發(fā)到N路并行低速轉(zhuǎn)發(fā)通路上;N個(gè)并行低速轉(zhuǎn)發(fā)芯片,用于提供N路并行低速轉(zhuǎn)發(fā)通路,并利用所述N路并行低速轉(zhuǎn)發(fā)通路發(fā)送所述數(shù)據(jù)包及其順序號,其中,每個(gè)轉(zhuǎn)發(fā)芯片提供一路轉(zhuǎn)發(fā)通路;數(shù)據(jù)流排序單元,用于接收所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片發(fā)送的數(shù)據(jù)包及其順序號,按數(shù)據(jù)包的順序號將數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出;其中,N≥2。
所述數(shù)據(jù)流分發(fā)單元包括數(shù)據(jù)包接收模塊,用于接收數(shù)據(jù)包;順序號添加模塊,用于按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號;以及數(shù)據(jù)包分發(fā)模塊,用于以數(shù)據(jù)包為單位將數(shù)據(jù)包及其順序號分發(fā)到所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片上。
所述數(shù)據(jù)流排序單元包括數(shù)據(jù)包接收模塊,用于接收來自所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包;以及數(shù)據(jù)包排序模塊,用于根據(jù)數(shù)據(jù)包的順序號將所述來自N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出。
所述數(shù)據(jù)流排序單元進(jìn)一步包括超時(shí)判決模塊,用于在判斷數(shù)據(jù)包接收超時(shí)時(shí),向所述數(shù)據(jù)包排序模塊發(fā)出控制信號,控制所述數(shù)據(jù)包排序模塊直接輸出已經(jīng)接收到的該超時(shí)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包。
數(shù)據(jù)流分發(fā)單元用于在對數(shù)據(jù)包及其順序號進(jìn)行分發(fā)時(shí),將數(shù)據(jù)包及其順序號均勻分發(fā)到所述N路并行低速轉(zhuǎn)發(fā)芯片上,或者在不同處理能力的轉(zhuǎn)發(fā)芯片上分發(fā)不同數(shù)量的數(shù)據(jù)包。
所述轉(zhuǎn)發(fā)芯片和流量管理器為單工或者雙工芯片。
在本發(fā)明中,將高速數(shù)據(jù)流分成N個(gè)低速數(shù)據(jù)流,并為每個(gè)數(shù)據(jù)包標(biāo)上順序號,通過N路低速轉(zhuǎn)發(fā)通道發(fā)送數(shù)據(jù)包,然后按數(shù)據(jù)包的順序號將數(shù)據(jù)包重排序,將N個(gè)低速數(shù)據(jù)流恢復(fù)成一個(gè)高速數(shù)據(jù)流。本發(fā)明通過對數(shù)據(jù)包進(jìn)行分流和重排序,實(shí)現(xiàn)了數(shù)據(jù)包的高速單流線速轉(zhuǎn)發(fā)處理,滿足了數(shù)據(jù)包的高速轉(zhuǎn)發(fā)要求,降低了轉(zhuǎn)發(fā)芯片的實(shí)現(xiàn)難度和實(shí)現(xiàn)成本。
圖1是現(xiàn)有技術(shù)中一種典型的分布式路由器的結(jié)構(gòu)圖;圖2是現(xiàn)有技術(shù)中線卡的結(jié)構(gòu)圖;圖3示出了本發(fā)明提供的高速數(shù)據(jù)流傳輸?shù)膶?shí)現(xiàn)流程圖;圖4示出了本發(fā)明提供接口芯片和流量管理器為雙工芯片時(shí)線卡的結(jié)構(gòu)圖;圖5示出了本發(fā)明提供接口芯片和流量管理器為單工芯片時(shí)線卡的結(jié)構(gòu)圖;圖6是本發(fā)明提供的數(shù)據(jù)流分發(fā)單元的結(jié)構(gòu)圖;圖7是本發(fā)明提供的數(shù)據(jù)流排序單元的結(jié)構(gòu)圖;圖8是本發(fā)明一個(gè)示例中提供的線卡的結(jié)構(gòu)圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明中,將高速數(shù)據(jù)流分成N個(gè)低速數(shù)據(jù)流,并為每個(gè)數(shù)據(jù)包標(biāo)上順序號,通過N路低速轉(zhuǎn)發(fā)通道發(fā)送數(shù)據(jù)包,然后按數(shù)據(jù)包的順序號將數(shù)據(jù)包重排序,將N個(gè)低速數(shù)據(jù)流恢復(fù)成一個(gè)高速數(shù)據(jù)流。
圖3示出了本發(fā)明提供的高速數(shù)據(jù)流傳輸?shù)膶?shí)現(xiàn)流程,詳述如下在步驟S301中,接收到高速數(shù)據(jù)流后,按接收數(shù)據(jù)包的先后順序?yàn)槊總€(gè)數(shù)據(jù)包添加一個(gè)順序號,該順序號可以添加在數(shù)據(jù)包的包頭、包尾或者包的中間,只要能夠解析處理即可。順序號用來標(biāo)識數(shù)據(jù)包的接收順序,可以是遞增或者遞減的序列號,例如一個(gè)位長為k的序列號,依次增大0,1,2,3,...,n,0,1,2,...,n,0,1,...;(n=2k-1)。然后,以數(shù)據(jù)包為分配單位將數(shù)據(jù)包及其順序號分發(fā)到N路并行低速轉(zhuǎn)發(fā)通路上,這樣就把一路高速數(shù)據(jù)流分成了N路低速數(shù)據(jù)流(N≥2)。分發(fā)時(shí)可以將數(shù)據(jù)包及其順序號均勻分發(fā)各并行低速轉(zhuǎn)發(fā)通路上,也可以根據(jù)各低速轉(zhuǎn)發(fā)通路的不同處理能力或者處理性能進(jìn)行分發(fā),例如對于處理能力或者性能較高的通路分發(fā)較多的數(shù)據(jù)包,相應(yīng)的,處理能力或者性能較小的通路分發(fā)較少的數(shù)據(jù)包。
在步驟S302中,利用N路并行低速轉(zhuǎn)發(fā)通路發(fā)送數(shù)據(jù)包及其順序號,在每個(gè)轉(zhuǎn)發(fā)通路中,數(shù)據(jù)包仍保持原來的順序,并一直攜帶原來的順序號。
在步驟S303中,接收N路并行低速轉(zhuǎn)發(fā)通路發(fā)送的數(shù)據(jù)包及其順序號。由于每路低速轉(zhuǎn)發(fā)通路的處理時(shí)延不同,收到的數(shù)據(jù)包會有亂序,因此在對數(shù)據(jù)包輸出前,先按數(shù)據(jù)包的順序號對數(shù)據(jù)包進(jìn)行排序,將N路低速數(shù)據(jù)流恢復(fù)成一路高速數(shù)據(jù)流后輸出。
作為本發(fā)明的一個(gè)實(shí)施例,在對數(shù)據(jù)包進(jìn)行排序的過程中,采用超時(shí)機(jī)制防止死鎖。例如N路并行低速轉(zhuǎn)發(fā)通路上轉(zhuǎn)發(fā)有1,2,3,4四個(gè)數(shù)據(jù)包,其中將數(shù)據(jù)包3丟了,收到數(shù)據(jù)包的順序號為2,1,4。因?yàn)轫樞蛱枮?的數(shù)據(jù)包沒有收到,故順序號為4的數(shù)據(jù)包不能處理。當(dāng)判斷接收超時(shí)后,若順序號為3的數(shù)據(jù)包仍未收到,則不再等待,直接輸出順序號為4的數(shù)據(jù)包。
判斷數(shù)據(jù)包的接收是否超時(shí)可以通過多種方式實(shí)現(xiàn),在本發(fā)明的一個(gè)實(shí)施例中,在每個(gè)數(shù)據(jù)包中用next_path指示下一個(gè)數(shù)據(jù)包的通路號,每接收到一個(gè)順序號為k的數(shù)據(jù)包后,監(jiān)視該數(shù)據(jù)包攜帶的next_path對應(yīng)的通路以期望得到下一個(gè)數(shù)據(jù)包k+1。如果next_path通路已經(jīng)收到了更大順序號的數(shù)據(jù)包,卻沒有收到數(shù)據(jù)包k+1,則說明數(shù)據(jù)包k+1已經(jīng)丟失,不需要再繼續(xù)等待數(shù)據(jù)包k+1。
在本發(fā)明的另一實(shí)施例中,在每個(gè)數(shù)據(jù)包中用pre_path指示上一個(gè)數(shù)據(jù)包的通路號,每接收到一個(gè)順序號為k的數(shù)據(jù)包后,監(jiān)視該數(shù)據(jù)包攜帶的pre_path對應(yīng)的通路。如果pre_path通路已經(jīng)收到了更大順序號數(shù)據(jù)包卻沒有收到數(shù)據(jù)包k-1,則說明數(shù)據(jù)包k-1已經(jīng)丟失,不需要再繼續(xù)等待數(shù)據(jù)包k-1。
另外,也可以采取在數(shù)據(jù)包中添加時(shí)標(biāo)的方式,收到當(dāng)前數(shù)據(jù)包后,讀取當(dāng)前數(shù)據(jù)包中的時(shí)標(biāo),并監(jiān)視下一個(gè)順序號的數(shù)據(jù)包,如果從當(dāng)前數(shù)據(jù)包中的時(shí)標(biāo)記載的時(shí)間開始超過設(shè)置的時(shí)間門限仍未收到下一個(gè)順序號的數(shù)據(jù)包或者收到一個(gè)空閑包,則說明該下一個(gè)順序號的數(shù)據(jù)包已經(jīng)丟失,不需要再繼續(xù)等待。
圖4示出了本發(fā)明提供的線卡的結(jié)構(gòu),該線卡可以廣泛應(yīng)用于各種數(shù)據(jù)交換設(shè)備如高速路由器或者交換機(jī)中。
在本發(fā)明中,線卡11使用N路(N≥2)并行低速轉(zhuǎn)發(fā)芯片112、1路流量管理器113、1路接口芯片111和1路交換網(wǎng)12進(jìn)行配合,其中N個(gè)并行低速轉(zhuǎn)發(fā)芯片112提供N路并行低速轉(zhuǎn)發(fā)通路,對數(shù)據(jù)包進(jìn)行并行處理,每路轉(zhuǎn)發(fā)芯片處理能力可以相同,也可以不同。N的大小根據(jù)單個(gè)轉(zhuǎn)發(fā)芯片的轉(zhuǎn)發(fā)能力以及系統(tǒng)要求的轉(zhuǎn)發(fā)能力而定。
轉(zhuǎn)發(fā)芯片112和流量管理器113可以是雙工芯片(一個(gè)芯片同時(shí)處理上行和下行流量),如圖4所示,也可以是單工芯片(一個(gè)芯片只處理上行流量或只處理下行流量),如圖5所示。轉(zhuǎn)發(fā)芯片112和流量管理器113均包括一個(gè)數(shù)據(jù)包分發(fā)單元41和數(shù)據(jù)包排序單元42。數(shù)據(jù)包分發(fā)單元41用來將一個(gè)高速數(shù)據(jù)流分發(fā)到N個(gè)并行低速轉(zhuǎn)發(fā)芯片上,數(shù)據(jù)包排序單元42則將N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包重排序恢復(fù)成一個(gè)高速數(shù)據(jù)流,為了便于描述,以下分別以a、b進(jìn)行區(qū)分。
在接收方向(從路由器物理端口到交換網(wǎng)端口),數(shù)據(jù)流分發(fā)單元41a從物理端口(如光纖)收到數(shù)據(jù)包后,按接收數(shù)據(jù)包的先后順序?yàn)槊總€(gè)數(shù)據(jù)包添加一個(gè)順序號,然后以數(shù)據(jù)包為分配單位將流量分發(fā)到N個(gè)并行低速轉(zhuǎn)發(fā)芯片112上,從而將一路高速數(shù)據(jù)流分成N路低速數(shù)據(jù)流。在分發(fā)時(shí)可以是均勻分發(fā),也可以根據(jù)各個(gè)轉(zhuǎn)發(fā)芯片的不同處理能力進(jìn)行分發(fā)。
N個(gè)并行低速轉(zhuǎn)發(fā)芯片112對收到的數(shù)據(jù)包進(jìn)行并行處理,例如查找IPv4轉(zhuǎn)發(fā)表,做ACL等,處理完后將數(shù)據(jù)包和順序號發(fā)送給流量管理器113。在每個(gè)轉(zhuǎn)發(fā)芯片112中,數(shù)據(jù)包仍保持原來的順序,并一直攜帶原來的順序號。
在數(shù)據(jù)流排序單元42a,來自N個(gè)并行低速轉(zhuǎn)發(fā)芯片112的N路低速數(shù)據(jù)流恢復(fù)成一路高速數(shù)據(jù)流。由于各個(gè)轉(zhuǎn)發(fā)芯片的處理時(shí)延不同,數(shù)據(jù)流排序單元42a收到的數(shù)據(jù)包會有亂序。以4路轉(zhuǎn)發(fā)芯片為例,數(shù)據(jù)流分發(fā)單元41a送出的數(shù)據(jù)包順序號為1,2,3,4,假設(shè)2號轉(zhuǎn)發(fā)芯片處理速率快于其它三個(gè)芯片,則數(shù)據(jù)流排序單元42a收到的數(shù)據(jù)包順序號依次為2,1,3,4。數(shù)據(jù)流排序單元42a在對數(shù)據(jù)包輸出前,先按數(shù)據(jù)包的順序號對數(shù)據(jù)包進(jìn)行排序,即將2,1,3,4排序成1,2,3,4后輸出。
作為本發(fā)明的一個(gè)實(shí)施例,數(shù)據(jù)流排序單元42a在對數(shù)據(jù)包進(jìn)行排序的過程中,采用超時(shí)機(jī)制防止死鎖。例如在上述示例中,3號轉(zhuǎn)發(fā)芯片將數(shù)據(jù)包丟了,數(shù)據(jù)流排序單元42a將收到數(shù)據(jù)包的順序號為2,1,4。因?yàn)轫樞蛱枮?的數(shù)據(jù)包沒有收到,故順序號為4的數(shù)據(jù)包不能處理。當(dāng)接收超時(shí)后,若順序號為3的數(shù)據(jù)包仍未收到,則數(shù)據(jù)流排序單元42a不再等待,直接開始處理順序號為4的數(shù)據(jù)包。
發(fā)送方向(從交換網(wǎng)端口到路由器的物理端口)的工作原理類似,數(shù)據(jù)流分發(fā)單元41b從交換網(wǎng)12收到數(shù)據(jù)包后,按接收數(shù)據(jù)包的先后順序?yàn)槊總€(gè)數(shù)據(jù)包添加一個(gè)順序號,然后以數(shù)據(jù)包為單位將流量分發(fā)到N個(gè)并行轉(zhuǎn)發(fā)芯片112上,將一路高速數(shù)據(jù)流分成N路低速數(shù)據(jù)流。每個(gè)轉(zhuǎn)發(fā)芯片112對收到的數(shù)據(jù)包進(jìn)行處理,例如查ARP表,做ACL等。處理完后,將數(shù)據(jù)包和順序號發(fā)送給接口芯片111。在每個(gè)轉(zhuǎn)發(fā)芯片112中,數(shù)據(jù)包仍保持原來的順序,并一直攜帶原來的順序號。
在數(shù)據(jù)流排序單元42b,來自N個(gè)并行低速轉(zhuǎn)發(fā)芯片112的N路低速數(shù)據(jù)流恢復(fù)成一路高速數(shù)據(jù)流。數(shù)據(jù)流排序單元42b會從N個(gè)并行低速轉(zhuǎn)發(fā)芯片112收到數(shù)據(jù)包,每個(gè)數(shù)據(jù)包攜帶著原來的順序號。由于各個(gè)轉(zhuǎn)發(fā)芯片的處理時(shí)延不同,數(shù)據(jù)流排序單元42b收到的數(shù)據(jù)包會有亂序。以4路轉(zhuǎn)發(fā)芯片為例,數(shù)據(jù)流分發(fā)單元41b送出的數(shù)據(jù)包順序號為1,2,3,4,假設(shè)2號轉(zhuǎn)發(fā)芯片處理速率快,則數(shù)據(jù)流排序單元42b收到的數(shù)據(jù)包依次為2,1,3,4。數(shù)據(jù)流排序單元42b在對數(shù)據(jù)包輸出前,先按數(shù)據(jù)包的順序號對數(shù)據(jù)包進(jìn)行排序,即將2,1,3,4排序成1,2,3,4后輸出。
同樣,作為本發(fā)明的一個(gè)實(shí)施例,數(shù)據(jù)流排序單元42b在對數(shù)據(jù)包進(jìn)行排序的過程中,采用超時(shí)機(jī)制防止死鎖。例如在上述示例中,3號轉(zhuǎn)發(fā)芯片將數(shù)據(jù)包丟了,數(shù)據(jù)流排序單元42b將收到順序號為2,1,4的數(shù)據(jù)包。因?yàn)轫樞蛱枮?的數(shù)據(jù)包沒有收到,故順序號為4的數(shù)據(jù)包不能處理。當(dāng)超時(shí)后,若順序號為3的數(shù)據(jù)包仍未收到,則數(shù)據(jù)流排序單元42b不再等待,直接開始處理順序號為4的數(shù)據(jù)包。
在上述數(shù)據(jù)包的收發(fā)過程中,對于數(shù)據(jù)包接收超時(shí)的判斷可以采取多種方式實(shí)現(xiàn)。本發(fā)明的一個(gè)實(shí)施例中,轉(zhuǎn)發(fā)芯片112的上游芯片(流量管理芯片113或者接口芯片111)在每個(gè)數(shù)據(jù)包中用next_path指示下一個(gè)數(shù)據(jù)包的通路號。每一個(gè)轉(zhuǎn)發(fā)芯片表示一個(gè)通路。轉(zhuǎn)發(fā)芯片112的下游芯片(接口芯片111或者流量管理芯片113)每處理一個(gè)順序號為k的數(shù)據(jù)包后,監(jiān)視該數(shù)據(jù)包攜帶的next_path對應(yīng)的通路以期望得到下一個(gè)數(shù)據(jù)包k+1。如果next_path通路已經(jīng)收到了更大順序號的數(shù)據(jù)包,卻沒有收到數(shù)據(jù)包k+1,則說明數(shù)據(jù)包k+1已經(jīng)丟失,不需要再繼續(xù)等待數(shù)據(jù)包k+1。
在本發(fā)明的另一實(shí)施例中,轉(zhuǎn)發(fā)芯片112的上游芯片(流量管理芯片113或者接口芯片111)在每個(gè)數(shù)據(jù)包中用pre_path指示上一個(gè)數(shù)據(jù)包的通路號。每一個(gè)轉(zhuǎn)發(fā)芯片表示一個(gè)通路。轉(zhuǎn)發(fā)芯片的下游芯片(接口芯片111或者流量管理芯片113)每接收到一個(gè)順序號為k的數(shù)據(jù)包后,監(jiān)視該數(shù)據(jù)包攜帶的pre_path對應(yīng)的通路。如果pre_path通路已經(jīng)收到了更大順序號的數(shù)據(jù)包卻沒有收到數(shù)據(jù)包k-1,則說明數(shù)據(jù)包k-1已經(jīng)丟失,不需要再繼續(xù)等待數(shù)據(jù)包k-1。當(dāng)然,作為本發(fā)明另外的實(shí)施例,也可以采用在數(shù)據(jù)包中添加時(shí)標(biāo)的方式,具體實(shí)現(xiàn)不再贅述。
圖6示出了本發(fā)明中數(shù)據(jù)流分發(fā)單元41的結(jié)構(gòu),數(shù)據(jù)包接收模塊411接收數(shù)據(jù)包,順序號添加模塊412按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號,數(shù)據(jù)包分發(fā)模塊413以數(shù)據(jù)包為單位將數(shù)據(jù)包及其順序號分發(fā)到N個(gè)并行低速轉(zhuǎn)發(fā)芯片112上。
圖7出了本發(fā)明中數(shù)據(jù)流排序單元42的結(jié)構(gòu),數(shù)據(jù)包接收模塊421接收來自N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包及其順序號,數(shù)據(jù)包排序模塊422根據(jù)數(shù)據(jù)包的順序號將來自N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出。
作為本發(fā)明的一個(gè)實(shí)施例,數(shù)據(jù)流排序單元42還包括超時(shí)判決模塊423。在判斷數(shù)據(jù)包接收超時(shí)時(shí),超時(shí)判決模塊423向數(shù)據(jù)包排序模塊422發(fā)出控制信號,控制數(shù)據(jù)包排序模塊422直接輸出已經(jīng)接收到的該超時(shí)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包。其中,數(shù)據(jù)包接收超時(shí)的判斷方式如前所述,不再贅述。
以實(shí)現(xiàn)OC768端口為例,如圖8所示,本發(fā)明假設(shè)轉(zhuǎn)發(fā)芯片112的轉(zhuǎn)發(fā)能力為10G,接口芯片111、流量管理器113和交換網(wǎng)12的轉(zhuǎn)發(fā)能力是40G。本發(fā)明使用4路轉(zhuǎn)發(fā)芯片112、1路流量管理器113、1路接口芯片111和1路交換網(wǎng)12芯片進(jìn)行配合,實(shí)現(xiàn)OC768的轉(zhuǎn)發(fā)能力。其中4路轉(zhuǎn)發(fā)芯片112并行處理,每路轉(zhuǎn)發(fā)芯片112處理四分之一的流量,這樣轉(zhuǎn)發(fā)芯片的實(shí)現(xiàn)難度就降低為原來的四分之一。在本發(fā)明中,通過4路25Mpps的轉(zhuǎn)發(fā)芯片112并行處理實(shí)現(xiàn)了100Mpps的單流線速轉(zhuǎn)發(fā)處理,滿足了OC768C端口的轉(zhuǎn)發(fā)要求,降低了系統(tǒng)對轉(zhuǎn)發(fā)芯片的要求(從100Mpps降為25Mpps),從而進(jìn)一步降低了轉(zhuǎn)發(fā)芯片的實(shí)現(xiàn)難度和成本。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)數(shù)據(jù)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種高速數(shù)據(jù)流的傳輸方法,其特征在于,所述方法包括下述步驟A.接收高速數(shù)據(jù)流,按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號,將數(shù)據(jù)包及其順序號分發(fā)到N路并行低速轉(zhuǎn)發(fā)通路上,其中,N≥2;B.利用所述N路并行低速轉(zhuǎn)發(fā)通路發(fā)送所述數(shù)據(jù)包及其順序號;C.接收N路并行低速轉(zhuǎn)發(fā)通路發(fā)送的數(shù)據(jù)包及其順序號,按數(shù)據(jù)包的順序號將數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出。
2.如權(quán)利要求1所述的高速數(shù)據(jù)流的傳輸方法,其特征在于,在對數(shù)據(jù)包及其順序號進(jìn)行分發(fā)時(shí),將數(shù)據(jù)包及其順序號均勻分發(fā)到所述N路并行低速轉(zhuǎn)發(fā)通路上,或者在不同處理能力的轉(zhuǎn)發(fā)通路上分發(fā)不同數(shù)量的數(shù)據(jù)包。
3.如權(quán)利要求1所述的高速數(shù)據(jù)流的傳輸方法,其特征在于,在所述步驟C中,在對數(shù)據(jù)包排序過程中,若判斷數(shù)據(jù)包接收超時(shí),則不再等待,直接輸出已經(jīng)接收到的該超時(shí)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包。
4.如權(quán)利要求3所述的高速數(shù)據(jù)流的傳輸方法,其特征在于,所述判斷數(shù)據(jù)包接收超時(shí)的步驟包括下述步驟A.在每個(gè)數(shù)據(jù)包中設(shè)置下一個(gè)數(shù)據(jù)包的通路指示;B.根據(jù)當(dāng)前接收到的數(shù)據(jù)包攜帶的下一個(gè)數(shù)據(jù)包的通路指示監(jiān)視下一個(gè)數(shù)據(jù)包的發(fā)送通路;C.如果所述下一個(gè)數(shù)據(jù)包的發(fā)送通路已經(jīng)收到了順序號比所述下一個(gè)數(shù)據(jù)包的順序號更大的數(shù)據(jù)包,則判決所述下一個(gè)數(shù)據(jù)包接收超時(shí)。
5.如權(quán)利要求3所述的高速數(shù)據(jù)流的傳輸方法,其特征在于,所述判斷數(shù)據(jù)包接收超時(shí)的步驟包括下述步驟A.在每個(gè)數(shù)據(jù)包中設(shè)置上一個(gè)數(shù)據(jù)包的通路指示;B.根據(jù)當(dāng)前接收到的數(shù)據(jù)包攜帶的上一個(gè)數(shù)據(jù)包的通路指示監(jiān)視上一個(gè)數(shù)據(jù)包的發(fā)送通路;C.如果所述上一個(gè)數(shù)據(jù)包的發(fā)送通路已經(jīng)收到了順序號比所述上一個(gè)數(shù)據(jù)包的順序號更大的數(shù)據(jù)包,則判決所述上一個(gè)數(shù)據(jù)包接收超時(shí)。
6.一種高速數(shù)據(jù)流的傳輸裝置,其特征在于,所述裝置包括數(shù)據(jù)流分發(fā)單元,用于接收數(shù)據(jù)包,按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號,將數(shù)據(jù)包及其順序號分發(fā)到N路并行低速轉(zhuǎn)發(fā)通路上;N個(gè)并行低速轉(zhuǎn)發(fā)芯片,用于提供N路并行低速轉(zhuǎn)發(fā)通路,并利用所述N路并行低速轉(zhuǎn)發(fā)通路發(fā)送所述數(shù)據(jù)包及其順序號,其中,每個(gè)轉(zhuǎn)發(fā)芯片提供一路轉(zhuǎn)發(fā)通路;以及數(shù)據(jù)流排序單元,用于接收所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片發(fā)送的數(shù)據(jù)包及其順序號,按數(shù)據(jù)包的順序號將數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出;其中,N≥2。
7.如權(quán)利要求6所述的高速數(shù)據(jù)流的傳輸裝置,其特征在于,所述數(shù)據(jù)流分發(fā)單元包括數(shù)據(jù)包接收模塊,用于接收數(shù)據(jù)包;順序號添加模塊,用于按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號;以及數(shù)據(jù)包分發(fā)模塊,用于以數(shù)據(jù)包為單位將數(shù)據(jù)包及其順序號分發(fā)到所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片上。
8.如權(quán)利要求6所述的高速數(shù)據(jù)流的傳輸裝置,其特征在于,所述數(shù)據(jù)流排序單元包括數(shù)據(jù)包接收模塊,用于接收來自所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包;以及數(shù)據(jù)包排序模塊,用于根據(jù)數(shù)據(jù)包的順序號將所述來自N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出。
9.如權(quán)利要求8所述的高速數(shù)據(jù)流的傳輸裝置,其特征在于,所述數(shù)據(jù)流排序單元進(jìn)一步包括超時(shí)判決模塊,用于在判斷數(shù)據(jù)包接收超時(shí)時(shí),向所述數(shù)據(jù)包排序模塊發(fā)出控制信號,控制所述數(shù)據(jù)包排序模塊直接輸出已經(jīng)接收到的該超時(shí)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包。
10.如權(quán)利要求6至9任一權(quán)利要求所述的高速數(shù)據(jù)流的傳輸裝置,其特征在于,數(shù)據(jù)流分發(fā)單元用于在對數(shù)據(jù)包及其順序號進(jìn)行分發(fā)時(shí),將數(shù)據(jù)包及其順序號均勻分發(fā)到所述N路并行低速轉(zhuǎn)發(fā)芯片上,或者在不同處理能力的轉(zhuǎn)發(fā)芯片上分發(fā)不同數(shù)量的數(shù)據(jù)包。
11.一種線卡,包括接口芯片、流量管理器,其特征在于,所述接口芯片和流量管理器均包含一個(gè)數(shù)據(jù)流分發(fā)單元以及一個(gè)數(shù)據(jù)流排序單元,所述線卡還包括N個(gè)并行低速轉(zhuǎn)發(fā)芯片,其中數(shù)據(jù)流分發(fā)單元,用于接收數(shù)據(jù)包,按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號,將數(shù)據(jù)包及其順序號分發(fā)到N路并行低速轉(zhuǎn)發(fā)通路上;N個(gè)并行低速轉(zhuǎn)發(fā)芯片,用于提供N路并行低速轉(zhuǎn)發(fā)通路,并利用所述N路并行低速轉(zhuǎn)發(fā)通路發(fā)送所述數(shù)據(jù)包及其順序號,其中,每個(gè)轉(zhuǎn)發(fā)芯片提供一路轉(zhuǎn)發(fā)通路;數(shù)據(jù)流排序單元,用于接收所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片發(fā)送的數(shù)據(jù)包及其順序號,按數(shù)據(jù)包的順序號將數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出;其中,N≥2。
12.如權(quán)利要求11所述的線卡,其特征在于,所述數(shù)據(jù)流分發(fā)單元包括數(shù)據(jù)包接收模塊,用于接收數(shù)據(jù)包;順序號添加模塊,用于按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號;以及數(shù)據(jù)包分發(fā)模塊,用于以數(shù)據(jù)包為單位將數(shù)據(jù)包及其順序號分發(fā)到所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片上。
13.如權(quán)利要求11所述的線卡,其特征在于,所述數(shù)據(jù)流排序單元包括數(shù)據(jù)包接收模塊,用于接收來自所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包;以及數(shù)據(jù)包排序模塊,用于根據(jù)數(shù)據(jù)包的順序號將所述來自N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出。
14.如權(quán)利要求13所述的線卡,其特征在于,所述數(shù)據(jù)流排序單元進(jìn)一步包括超時(shí)判決模塊,用于在判斷數(shù)據(jù)包接收超時(shí)時(shí),向所述數(shù)據(jù)包排序模塊發(fā)出控制信號,控制所述數(shù)據(jù)包排序模塊直接輸出已經(jīng)接收到的該超時(shí)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包。
15.如權(quán)利要求11至14任一權(quán)利要求所述的線卡,其特征在于,數(shù)據(jù)流分發(fā)單元用于在對數(shù)據(jù)包及其順序號進(jìn)行分發(fā)時(shí),將數(shù)據(jù)包及其順序號均勻分發(fā)到所述N路并行低速轉(zhuǎn)發(fā)芯片上,或者在不同處理能力的轉(zhuǎn)發(fā)芯片上分發(fā)不同數(shù)量的數(shù)據(jù)包。
16.如權(quán)利要求11至14任一權(quán)利要求所述的線卡,其特征在于,所述轉(zhuǎn)發(fā)芯片和流量管理器為單工或者雙工芯片。
17.一種數(shù)據(jù)交換設(shè)備,包括線卡,所述線卡包括接口芯片、流量管理器,其特征在于,所述接口芯片和流量管理器均包含一個(gè)數(shù)據(jù)流分發(fā)單元以及一個(gè)數(shù)據(jù)流排序單元,所述線卡還包括N個(gè)并行低速轉(zhuǎn)發(fā)芯片,其中數(shù)據(jù)流分發(fā)單元,用于接收數(shù)據(jù)包,按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號,將數(shù)據(jù)包及其順序號分發(fā)到N路并行低速轉(zhuǎn)發(fā)通路上;N個(gè)并行低速轉(zhuǎn)發(fā)芯片,用于提供N路并行低速轉(zhuǎn)發(fā)通路,并利用所述N路并行低速轉(zhuǎn)發(fā)通路發(fā)送所述數(shù)據(jù)包及其順序號,其中,每個(gè)轉(zhuǎn)發(fā)芯片提供一路轉(zhuǎn)發(fā)通路;數(shù)據(jù)流排序單元,用于接收所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片發(fā)送的數(shù)據(jù)包及其順序號,按數(shù)據(jù)包的順序號將數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出;其中,N≥2。
18.如權(quán)利要求17所述的數(shù)據(jù)交換設(shè)備,其特征在于,所述數(shù)據(jù)流分發(fā)單元包括數(shù)據(jù)包接收模塊,用于接收數(shù)據(jù)包;順序號添加模塊,用于按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號;以及數(shù)據(jù)包分發(fā)模塊,用于以數(shù)據(jù)包為單位將數(shù)據(jù)包及其順序號分發(fā)到所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片上。
19.如權(quán)利要求17所述的數(shù)據(jù)交換設(shè)備,其特征在于,所述數(shù)據(jù)流排序單元包括數(shù)據(jù)包接收模塊,用于接收來自所述N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包;以及數(shù)據(jù)包排序模塊,用于根據(jù)數(shù)據(jù)包的順序號將所述來自N個(gè)并行低速轉(zhuǎn)發(fā)芯片的數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出。
20.如權(quán)利要求19所述的數(shù)據(jù)交換設(shè)備,其特征在于,所述數(shù)據(jù)流排序單元進(jìn)一步包括超時(shí)判決模塊,用于在判斷數(shù)據(jù)包接收超時(shí)時(shí),向所述數(shù)據(jù)包排序模塊發(fā)出控制信號,控制所述數(shù)據(jù)包排序模塊直接輸出已經(jīng)接收到的該超時(shí)數(shù)據(jù)包的后續(xù)數(shù)據(jù)包。
21.如權(quán)利要求17至21任一權(quán)利要求所述的數(shù)據(jù)交換設(shè)備,其特征在于,數(shù)據(jù)流分發(fā)單元用于在對數(shù)據(jù)包及其順序號進(jìn)行分發(fā)時(shí),將數(shù)據(jù)包及其順序號均勻分發(fā)到所述N路并行低速轉(zhuǎn)發(fā)芯片上,或者在不同處理能力的轉(zhuǎn)發(fā)芯片上分發(fā)不同數(shù)量的數(shù)據(jù)包。
22.如權(quán)利要求17至21任一權(quán)利要求所述的數(shù)據(jù)交換設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)芯片和流量管理器為單工或者雙工芯片。
全文摘要
本發(fā)明適用于數(shù)據(jù)通信領(lǐng)域,提供了一種高速數(shù)據(jù)流的傳輸方法、裝置及數(shù)據(jù)交換設(shè)備,所述方法包括下述步驟A.接收高速數(shù)據(jù)流,按數(shù)據(jù)包的接收順序?yàn)槊總€(gè)數(shù)據(jù)包添加順序號,將數(shù)據(jù)包及其順序號分發(fā)到N路并行低速轉(zhuǎn)發(fā)通路上,其中,N≥2;B.利用所述N路并行低速轉(zhuǎn)發(fā)通路發(fā)送所述數(shù)據(jù)包及其順序號;C.接收N路并行低速轉(zhuǎn)發(fā)通路發(fā)送的數(shù)據(jù)包及其順序號,按數(shù)據(jù)包的順序號將數(shù)據(jù)包排序恢復(fù)成一路高速數(shù)據(jù)流后輸出。本發(fā)明通過對數(shù)據(jù)包進(jìn)行分流和重排序,實(shí)現(xiàn)了數(shù)據(jù)包的高速單流線速轉(zhuǎn)發(fā)處理,滿足了數(shù)據(jù)包的高速轉(zhuǎn)發(fā)要求,降低了轉(zhuǎn)發(fā)芯片的實(shí)現(xiàn)難度和實(shí)現(xiàn)成本。
文檔編號H04L12/04GK1946054SQ200610063020
公開日2007年4月11日 申請日期2006年9月30日 優(yōu)先權(quán)日2006年9月30日
發(fā)明者杜文華, 呂超 申請人:華為技術(shù)有限公司