專(zhuān)利名稱:一種路由器、路由器業(yè)務(wù)板和業(yè)務(wù)板間的數(shù)據(jù)包傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其是涉及一種路由器、路由器業(yè)務(wù)板和業(yè)務(wù)板間數(shù)據(jù)包傳輸方法。
背景技術(shù):
路由器在因特網(wǎng)中承擔(dān)著IP數(shù)據(jù)包的轉(zhuǎn)發(fā)和傳輸路徑選擇等功能。根據(jù)在網(wǎng)絡(luò)中的位置及作用,路由器可分為中低端路由器和核心路由器。中低端路由器的主要功能是匯集和進(jìn)行業(yè)務(wù)管理,核心路由器的主要功能是快速轉(zhuǎn)發(fā),使數(shù)據(jù)包盡可能快地通過(guò)IP骨干網(wǎng)。
一種路由器的結(jié)構(gòu)如圖1所示,包括網(wǎng)板111和業(yè)務(wù)板101、業(yè)務(wù)板102、業(yè)務(wù)板103和業(yè)務(wù)板104,其中網(wǎng)板111分別與4個(gè)業(yè)務(wù)板通過(guò)PCI Express總線連接。如果該路由器為集中式路由器,則網(wǎng)板111負(fù)責(zé)所有的事務(wù)處理,包括路由收集、轉(zhuǎn)發(fā)處理、設(shè)備管理等;每個(gè)業(yè)務(wù)板在收到報(bào)文后,通過(guò)內(nèi)部PCIExpress總線傳遞給網(wǎng)板111,待網(wǎng)板111完成所有處理后再?gòu)哪繕?biāo)業(yè)務(wù)板傳遞出去。如果該路由器為分布式路由器,則路由與轉(zhuǎn)發(fā)分離,網(wǎng)板111負(fù)責(zé)整個(gè)設(shè)備的管理和路由的收集、計(jì)算功能,并將計(jì)算出的轉(zhuǎn)發(fā)表下發(fā)到各業(yè)務(wù)板,而各業(yè)務(wù)板也有獨(dú)立的處理能力,同時(shí)能夠根據(jù)保存的路由轉(zhuǎn)發(fā)表獨(dú)立地進(jìn)行路由轉(zhuǎn)發(fā)。采用這種結(jié)構(gòu)的路由器,拓?fù)浣Y(jié)構(gòu)簡(jiǎn)單,但冗余性很差,一旦系統(tǒng)的網(wǎng)板111發(fā)生故障,會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)的癱瘓。
為了提高設(shè)備的冗余性,現(xiàn)有技術(shù)中采用包含兩個(gè)網(wǎng)板的路由器結(jié)構(gòu),該兩個(gè)網(wǎng)板通常采用雙主或一主一備的方案。該路由器的結(jié)構(gòu)如圖2所示,包括網(wǎng)板211、網(wǎng)板212和業(yè)務(wù)板201、業(yè)務(wù)板202、業(yè)務(wù)板203和業(yè)務(wù)板204,其中4個(gè)業(yè)務(wù)板分別與網(wǎng)板211和網(wǎng)板212通過(guò)PCI Express總線連接。如果該路由器為集中式路由器,則網(wǎng)板211和/或網(wǎng)板212負(fù)責(zé)所有的事務(wù)處理,包括路由收集、轉(zhuǎn)發(fā)處理、設(shè)備管理等;每個(gè)業(yè)務(wù)板在收到報(bào)文后,通過(guò)內(nèi)部PCI Express總線傳遞給網(wǎng)板211和/或網(wǎng)板212,待網(wǎng)板211和/或網(wǎng)板212完成所有處理后再?gòu)哪繕?biāo)業(yè)務(wù)板傳遞出去。如果該路由器為分布式路由器,則路由與轉(zhuǎn)發(fā)分離,網(wǎng)板211和/或網(wǎng)板212負(fù)責(zé)整個(gè)設(shè)備的管理和路由的收集、計(jì)算功能,并將計(jì)算出的轉(zhuǎn)發(fā)表下發(fā)到各業(yè)務(wù)板,而各業(yè)務(wù)板也有獨(dú)立的處理能力,同時(shí)能夠根據(jù)保存的路由轉(zhuǎn)發(fā)表獨(dú)立地進(jìn)行路由轉(zhuǎn)發(fā)。采用這種結(jié)構(gòu)的路由器,當(dāng)系統(tǒng)中一個(gè)網(wǎng)板(如網(wǎng)板211)發(fā)生故障時(shí),另一個(gè)網(wǎng)板(如網(wǎng)板212)會(huì)繼續(xù)保證系統(tǒng)的可靠運(yùn)行。但是,采用這種結(jié)構(gòu)的路由器,無(wú)論是在集中式路由器還是分布式路由器中,網(wǎng)板均占據(jù)重要地位,系統(tǒng)中業(yè)務(wù)板的正常運(yùn)行會(huì)依賴網(wǎng)板的存在,因此系統(tǒng)的可靠性還不是太高,依然會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)的癱瘓。
發(fā)明內(nèi)容
本發(fā)明要解決的問(wèn)題是提供一種路由器、路由器業(yè)務(wù)板和業(yè)務(wù)板間的數(shù)據(jù)包傳輸方法,以提高路由器系統(tǒng)工作的可靠性。
本發(fā)明實(shí)施例提供一種路由器,由多個(gè)業(yè)務(wù)板組成,每塊業(yè)務(wù)板均分別與其它各個(gè)業(yè)務(wù)板相連,每塊業(yè)務(wù)板根據(jù)待發(fā)送數(shù)據(jù)包的目的地址將數(shù)據(jù)包發(fā)送至目的業(yè)務(wù)板,實(shí)現(xiàn)對(duì)數(shù)據(jù)包的路由。
按照本發(fā)明的一個(gè)方面,所述業(yè)務(wù)板包括業(yè)務(wù)處理單元和交換單元;所述業(yè)務(wù)處理單元,按照預(yù)先配置的策略,將待發(fā)送數(shù)據(jù)包的真實(shí)目的地址轉(zhuǎn)換為傳輸目的地址,并向所述交換單元發(fā)送數(shù)據(jù)包;所述交換單元,與所述業(yè)務(wù)處理單元連接,接收所述業(yè)務(wù)處理單元發(fā)送的數(shù)據(jù)包,按照預(yù)先配置的策略解析數(shù)據(jù)包的傳輸目的地址,確定數(shù)據(jù)包傳輸?shù)牡哪康臉I(yè)務(wù)板,并將數(shù)據(jù)包發(fā)向該業(yè)務(wù)板。
按照本發(fā)明的另一個(gè)方面,所述業(yè)務(wù)板還包括地址轉(zhuǎn)換單元;所述地址轉(zhuǎn)換單元,與所述交換單元連接,在本業(yè)務(wù)板向其他業(yè)務(wù)板發(fā)送數(shù)據(jù)包時(shí),將本業(yè)務(wù)板待發(fā)送數(shù)據(jù)包的傳輸目的地址轉(zhuǎn)換為真實(shí)目的地址,并將攜帶真實(shí)目的地址的數(shù)據(jù)包發(fā)送至其他業(yè)務(wù)板;在本業(yè)務(wù)板接收其他業(yè)務(wù)板的數(shù)據(jù)包時(shí),檢測(cè)所接收數(shù)據(jù)包的目的地址,當(dāng)所述目的地址為真實(shí)目的地址時(shí),直接接收該數(shù)據(jù)包;當(dāng)所述目的地址為傳輸目的地址時(shí),按照預(yù)先配置的策略將傳輸目的地址轉(zhuǎn)換為真實(shí)目的地址,并接收該數(shù)據(jù)包。
按照本發(fā)明的再一個(gè)方面,所述交換單元進(jìn)一步包括一個(gè)上游端口和多個(gè)下游端口,當(dāng)路由器中包含N個(gè)業(yè)務(wù)板時(shí),所述下游端口的數(shù)量至少為N-1個(gè);每個(gè)下游端口均通過(guò)地址轉(zhuǎn)換單元與路由器中唯一與其對(duì)應(yīng)的業(yè)務(wù)板的下游端口相連。
本發(fā)明實(shí)施例還提供一種路由器的業(yè)務(wù)板,包括業(yè)務(wù)處理單元和交換單元;所述業(yè)務(wù)處理單元,按照預(yù)先配置的策略,將待發(fā)送數(shù)據(jù)包的真實(shí)目的地址轉(zhuǎn)換為傳輸目的地址,并向所述交換單元發(fā)送數(shù)據(jù)包;所述交換單元,與所述業(yè)務(wù)處理單元連接,接收所述業(yè)務(wù)處理單元發(fā)送的數(shù)據(jù)包,按照預(yù)先配置的策略解析數(shù)據(jù)包的傳輸目的地址,確定數(shù)據(jù)包傳輸?shù)牡哪康臉I(yè)務(wù)板,并將數(shù)據(jù)包發(fā)向該業(yè)務(wù)板。
按照本發(fā)明的再一個(gè)方面,還包括地址轉(zhuǎn)換單元;所述地址轉(zhuǎn)換單元,與所述交換單元連接,在本業(yè)務(wù)板向其他業(yè)務(wù)板發(fā)送數(shù)據(jù)包時(shí),將本業(yè)務(wù)板待發(fā)送數(shù)據(jù)包的傳輸目的地址轉(zhuǎn)換為真實(shí)目的地址,并將攜帶真實(shí)目的地址的數(shù)據(jù)包發(fā)送至其他業(yè)務(wù)板;在本業(yè)務(wù)板接收其他業(yè)務(wù)板的數(shù)據(jù)包時(shí),檢測(cè)所接收數(shù)據(jù)包的目的地址,當(dāng)所述目的地址為真實(shí)目的地址時(shí),直接接收該數(shù)據(jù)包;當(dāng)所述目的地址為傳輸目的地址時(shí),將傳輸目的地址轉(zhuǎn)換為真實(shí)目的地址,并接收該數(shù)據(jù)包。
按照本發(fā)明的再一個(gè)方面,所述交換單元包括一個(gè)上游端口和多個(gè)下游端口,所述上游端口與本業(yè)務(wù)板的業(yè)務(wù)處理單元相接,所述多個(gè)下游端口分別通過(guò)地址轉(zhuǎn)換單元與其他業(yè)務(wù)板的下游端口相連,每個(gè)下游端口唯一對(duì)應(yīng)一個(gè)其他業(yè)務(wù)板。
按照本發(fā)明的再一個(gè)方面,所述多個(gè)下游端口分別對(duì)應(yīng)不同的地址空間,上游端口對(duì)應(yīng)的地址空間涵蓋所有下游端口對(duì)應(yīng)的地址空間。
本發(fā)明實(shí)施例還提供一種通過(guò)多個(gè)業(yè)務(wù)板實(shí)現(xiàn)數(shù)據(jù)路由傳輸?shù)姆椒?,其特征在于,包括第一業(yè)務(wù)板的業(yè)務(wù)處理單元按照預(yù)先配置的策略將待發(fā)送數(shù)據(jù)包的真實(shí)目的地址轉(zhuǎn)換為傳輸目的地址;交換單元單元根據(jù)傳輸目的地址確定數(shù)據(jù)包傳輸?shù)哪康臉I(yè)務(wù)板;將數(shù)據(jù)包的傳輸目的地址還原為真實(shí)目的地址,并將數(shù)據(jù)包發(fā)送至目的業(yè)務(wù)板,實(shí)現(xiàn)數(shù)據(jù)路由傳輸。
按照本發(fā)明的再一個(gè)方面,所述將數(shù)據(jù)包的傳輸目的地址還原為真實(shí)目的地址的步驟由第一業(yè)務(wù)板的地址轉(zhuǎn)換單元在向目的業(yè)務(wù)板發(fā)送數(shù)據(jù)包時(shí)完成,或由目的業(yè)務(wù)板的地址轉(zhuǎn)換單元在接收數(shù)據(jù)包時(shí)完成。
按照本發(fā)明的再一個(gè)方面,預(yù)先對(duì)各業(yè)務(wù)板中的業(yè)務(wù)處理單元、交換單元以及地址轉(zhuǎn)換單元進(jìn)行統(tǒng)一的策略配置。
按照本發(fā)明的再一個(gè)方面,在經(jīng)過(guò)策略配置后,業(yè)務(wù)處理單元對(duì)真實(shí)目的地址進(jìn)行轉(zhuǎn)換,所得的傳輸目的地址包含真實(shí)目的地址的全部信息,且傳輸目的地址不與各業(yè)務(wù)板的地址發(fā)生沖突;交換單元解析傳輸目的地址,獲取真實(shí)目的地址,并確定目的業(yè)務(wù)板;地址轉(zhuǎn)換單元將傳輸目的地址還原為真實(shí)目的地址。
本發(fā)明實(shí)施例的技術(shù)方案至少具有以下優(yōu)點(diǎn)本發(fā)明的實(shí)施例實(shí)現(xiàn)了路由器的基于PCI Express總線技術(shù)的全網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在該系統(tǒng)中,每個(gè)業(yè)務(wù)板能夠獨(dú)立地完成所有的路由與轉(zhuǎn)發(fā)業(yè)務(wù)。
另外,由于業(yè)務(wù)板間通過(guò)PCI Express總線連接,可以通過(guò)多對(duì)線路捆綁提供更高的帶寬,因此能夠保證整個(gè)系統(tǒng)業(yè)務(wù)板間通訊擁有充足的帶寬。
進(jìn)一步,由于系統(tǒng)中每個(gè)業(yè)務(wù)板都是相對(duì)獨(dú)立的,任何一個(gè)業(yè)務(wù)板發(fā)生問(wèn)題,都不會(huì)影響系統(tǒng)中其它業(yè)務(wù)板的運(yùn)行,提高了路由器系統(tǒng)工作的可靠性。
圖1是現(xiàn)有技術(shù)的一種路由器結(jié)構(gòu)圖;圖2是現(xiàn)有技術(shù)的另一種路由器結(jié)構(gòu)圖;圖3是本發(fā)明實(shí)施例的一種路由器結(jié)構(gòu)圖;圖4是本發(fā)明實(shí)施例的一種交換單元的內(nèi)部結(jié)構(gòu)示意圖;圖5是本發(fā)明實(shí)施例的一種業(yè)務(wù)板間數(shù)據(jù)包傳輸示意圖;圖6是本發(fā)明實(shí)施例的一種路由器業(yè)務(wù)板的結(jié)構(gòu)圖;
圖7是本發(fā)明實(shí)施例的一種路由器業(yè)務(wù)板間的數(shù)據(jù)包傳輸方法的流程圖;圖8是本發(fā)明實(shí)施例的另一種路由器結(jié)構(gòu)圖。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述本發(fā)明實(shí)施例的一種路由器結(jié)構(gòu)如圖3所示,包括6塊業(yè)務(wù)板,分別為業(yè)務(wù)板30、業(yè)務(wù)板31、業(yè)務(wù)板32、業(yè)務(wù)板33、業(yè)務(wù)板34和業(yè)務(wù)板35,其中,每塊業(yè)務(wù)板均包括業(yè)務(wù)處理單元、交換單元和一個(gè)或多個(gè)地址轉(zhuǎn)換單元,該交換單元分別與業(yè)務(wù)處理單元和地址轉(zhuǎn)換單元連接。
本實(shí)施例中,具有上述各單元的業(yè)務(wù)板直接處理數(shù)據(jù)包信息的路由與轉(zhuǎn)發(fā)業(yè)務(wù),并與其它業(yè)務(wù)板之間通過(guò)PCI Express總線互相連接,構(gòu)成全網(wǎng)絡(luò)(Full Mesh)拓?fù)浣Y(jié)構(gòu)。在這種拓?fù)浣Y(jié)構(gòu)體系中,每個(gè)業(yè)務(wù)板都是獨(dú)立的個(gè)體,無(wú)需依靠網(wǎng)板和核心交換芯片,每個(gè)業(yè)務(wù)板均能夠獨(dú)立地完成數(shù)據(jù)包信息的路由和轉(zhuǎn)發(fā)業(yè)務(wù)。
所述業(yè)務(wù)板中的業(yè)務(wù)處理單元用于處理數(shù)據(jù)包信息的路由與轉(zhuǎn)發(fā)業(yè)務(wù),可以采用多種處理器,如,采用直接提供PCI Express總線接口并實(shí)現(xiàn)根組件(Root Complex)功能的SoC(System on a Chip,片上系統(tǒng))處理器;還可以采用提供Hypertransport、SPI4.2等高速數(shù)據(jù)包總線接口的網(wǎng)絡(luò)處理器、多核處理器以及高性能處理器等。其中,雙向傳輸總線技術(shù)Hypertransport是一種為主板上的集成電路互連而設(shè)計(jì)的端到端總線技術(shù),該技術(shù)可以在內(nèi)存控制器、磁盤(pán)控制器以及PCI總線控制器之間提供更高的數(shù)據(jù)傳輸帶寬;SPI4.2接口支持異步傳輸模式所需的總帶寬,為10Gbps廣域網(wǎng)、局域網(wǎng)、城域網(wǎng)和存儲(chǔ)區(qū)域網(wǎng)技術(shù)提供共同的接口。
所述業(yè)務(wù)板中的交換單元提供多個(gè)獨(dú)立的PCI Express端口,用于業(yè)務(wù)處理單元和地址轉(zhuǎn)換單元之間的數(shù)據(jù)包傳輸。所述一種交換單元的內(nèi)部結(jié)構(gòu)示意圖如圖4所示,包括一個(gè)上游端口Ps和多個(gè)下游端口,每個(gè)端口可以看成一個(gè)P-P(PCI to PCI)的橋。因?yàn)槊總€(gè)業(yè)務(wù)板要與其它業(yè)務(wù)板連接,所以下游端口的數(shù)量大于或等于業(yè)務(wù)板的數(shù)量-1,圖4所示的實(shí)施例中包括5個(gè)下游端口;P0、P1、P2、P3和P4。其中,業(yè)務(wù)處理單元與上游端口連接,每個(gè)地址轉(zhuǎn)換單元分別與一個(gè)下游端口連接。
所述交換單元的上游端口和下游端口分別對(duì)應(yīng)不同的地址空間,上游端口對(duì)應(yīng)的地址空間涵蓋所有下游端口對(duì)應(yīng)的地址空間,且PCI Express的數(shù)據(jù)包是基于地址進(jìn)行傳輸?shù)摹?br>
當(dāng)交換單元的上游端口接收到要求進(jìn)入交換單元的數(shù)據(jù)包時(shí),交換單元判斷數(shù)據(jù)包中攜帶的目的地址信息是否涵蓋于該上游端口對(duì)應(yīng)的地址空間內(nèi),如果數(shù)據(jù)包攜帶的目的地址涵蓋于該上游端口對(duì)應(yīng)的地址空間,則交換單元允許數(shù)據(jù)包從該上游端口進(jìn)入,否則丟棄數(shù)據(jù)包;在數(shù)據(jù)包從該端口進(jìn)入交換單元后,交換單元為獲得正確的出端口,將數(shù)據(jù)包攜帶的目的地址信息與各個(gè)下游端口對(duì)應(yīng)的地址空間一一進(jìn)行比較,當(dāng)找到涵蓋數(shù)據(jù)包攜帶的目的地址的下游端口,則將數(shù)據(jù)包從該端口發(fā)出;如果各個(gè)下游端口對(duì)應(yīng)的地址空間均不涵蓋數(shù)據(jù)包攜帶的目的地址,則將該數(shù)據(jù)包丟棄。
當(dāng)交換單元的下游端口接收到要求進(jìn)入交換單元的數(shù)據(jù)包時(shí),交換單元判斷該數(shù)據(jù)包攜帶的目的地址是否涵蓋于本交換單元的其它下游端口對(duì)應(yīng)的地址空間內(nèi),如果涵蓋于某一其他下游端口,則交換單元將數(shù)據(jù)包則從該端口發(fā)出,如果不涵蓋于任一下游端口,則將該數(shù)據(jù)包會(huì)經(jīng)上游端口送往至業(yè)務(wù)處理單元。
由于在全網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,每個(gè)業(yè)務(wù)板都有自己獨(dú)立的地址空間,并且地址可重疊,而PCI Express總線技術(shù)在數(shù)據(jù)包傳輸過(guò)程中是通過(guò)地址來(lái)進(jìn)行路由的,即在數(shù)據(jù)包中含目的地址信息,只有目的地址符合的數(shù)據(jù)包才能被目標(biāo)業(yè)務(wù)板緩存接收并送往上層,因此在多個(gè)地址重復(fù)的小系統(tǒng)中傳輸數(shù)據(jù)包就會(huì)出現(xiàn)因地址沖突而導(dǎo)致傳送失敗的問(wèn)題。
在本發(fā)明的全網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,一種業(yè)務(wù)板間數(shù)據(jù)包傳輸示意圖如圖5所示,業(yè)務(wù)板50和業(yè)務(wù)板51是兩個(gè)獨(dú)立的小系統(tǒng),兩系統(tǒng)的地址空間相互重疊,如,兩個(gè)系統(tǒng)的內(nèi)存地址映射空間均為0x0000_0000-0x4000_0000,空間大小為1G字節(jié)。
如圖5中所示,業(yè)務(wù)板50需要將內(nèi)存中地址0x3000_0000-0x3000_0100、大小為256字節(jié)的數(shù)據(jù)包,傳輸?shù)綐I(yè)務(wù)板51中地址為0x2000_0000-0x2000_0100中的內(nèi)存中去。
在圖5所示的實(shí)施例中,在兩系統(tǒng)地址空間相互重疊的情況下,業(yè)務(wù)板50要將數(shù)據(jù)包傳輸至業(yè)務(wù)板51的內(nèi)存中。
在開(kāi)始傳輸數(shù)據(jù)包時(shí),業(yè)務(wù)板50的業(yè)務(wù)處理單元將本業(yè)務(wù)板內(nèi)存中地址范圍為0x3000_0000-0x3000_0100的數(shù)據(jù)包讀出,獲取待傳輸數(shù)據(jù)包(本實(shí)施例中是通過(guò)讀取內(nèi)存數(shù)據(jù)包的方式獲取待傳輸數(shù)據(jù)包,除此之外,本發(fā)明還可以通過(guò)其他方法獲得待傳輸數(shù)據(jù)包,如接收數(shù)據(jù)包)。
本實(shí)施例中,業(yè)務(wù)板50要把數(shù)據(jù)包傳輸至業(yè)務(wù)板51的0x2000_0000-0x2000_0100地址中,而業(yè)務(wù)板50中也存在地址0x2000_0000-0x2000_0100,這兩塊業(yè)務(wù)板構(gòu)成地址沖突。
業(yè)務(wù)板通過(guò)交換單元發(fā)送數(shù)據(jù)包,每個(gè)交換單元均有上游端口以及至少一個(gè)下游端口,每個(gè)端口均有自己涵蓋的地址范圍,且下游端口的地址范圍涵蓋于上游端口的地址范圍內(nèi);當(dāng)數(shù)據(jù)包從上游端口進(jìn)入交換單元時(shí),如果該數(shù)據(jù)包的目的地址不涵蓋于上游端口的地址范圍,則無(wú)法將該數(shù)據(jù)包通過(guò)交換單元發(fā)送至本業(yè)務(wù)板之外。
需要特別指出的是,業(yè)務(wù)板的內(nèi)存地址并不涵蓋于交換單元各端口的地址范圍內(nèi)。在未按照本發(fā)明進(jìn)行處理前,當(dāng)業(yè)務(wù)板50中的交換單元上游端口接收到目的地址為業(yè)務(wù)板51的0x2000_0000-0x2000_0100的數(shù)據(jù)包時(shí),由于該地址0x2000_0000-0x2000_0100在業(yè)務(wù)板50的內(nèi)存中也存在,因此肯定不涵蓋于業(yè)務(wù)板50的交換單元。這樣,本實(shí)施例中交換單元不能將數(shù)據(jù)包發(fā)送至其他業(yè)務(wù)板,而該數(shù)據(jù)包將被發(fā)送至業(yè)務(wù)板50的0x2000_0000-0x2000_0100地址中,最終無(wú)法實(shí)現(xiàn)將數(shù)據(jù)包發(fā)送至業(yè)務(wù)板51的0x2000_0000-0x2000_0100地址中。
在圖5所示的本發(fā)明實(shí)施例中,為了避免上述問(wèn)題,所述業(yè)務(wù)板50中的業(yè)務(wù)處理單元將真實(shí)的目的地址,即本實(shí)施例中業(yè)務(wù)板51中的0x2000_0000-0x2000_0100,轉(zhuǎn)換為傳輸目的地址0xa000_0000-0xa100_0000。
所述傳輸目的地址不同于各業(yè)務(wù)板的內(nèi)存地址,這樣可以避免地址沖突,防止業(yè)務(wù)板50不是將數(shù)據(jù)包正確地發(fā)送至業(yè)務(wù)板51的相應(yīng)地址中,而是將數(shù)據(jù)包發(fā)送至本板的0x2000_0000-0x2000_0100地址。
此外,將真實(shí)的目的地址轉(zhuǎn)換為傳輸目的地址的過(guò)程不能隨意進(jìn)行,僅憑經(jīng)過(guò)轉(zhuǎn)換的傳輸目的地址是無(wú)法將數(shù)據(jù)包傳輸至真實(shí)目的地址的,因此需要預(yù)先對(duì)各個(gè)業(yè)務(wù)板的業(yè)務(wù)處理單元、交換單元和地址轉(zhuǎn)換單元的轉(zhuǎn)換策略進(jìn)行統(tǒng)一配置。
業(yè)務(wù)處理單元在對(duì)目的地址進(jìn)行轉(zhuǎn)換時(shí),需要將目的業(yè)務(wù)板的信息加入至經(jīng)轉(zhuǎn)換的傳輸目的地址中;經(jīng)過(guò)配置的交換單元可根據(jù)傳輸目的地址確定接收該數(shù)據(jù)包的業(yè)務(wù)板,并選擇對(duì)應(yīng)的下游端口將數(shù)據(jù)包轉(zhuǎn)發(fā)至該業(yè)務(wù)板;數(shù)據(jù)包經(jīng)下游端口發(fā)出后,由于板間互聯(lián)的兩個(gè)端口不支持下游端口互聯(lián)特性(Cross Link)而導(dǎo)致數(shù)據(jù)包無(wú)法進(jìn)入其他業(yè)務(wù)板,因此還需要由地址轉(zhuǎn)換單元將傳輸目的地址還原為真實(shí)的目的地址,以便收到數(shù)據(jù)包的業(yè)務(wù)板按照真實(shí)的目的地址保存數(shù)據(jù)包。
綜上,在圖5所示的實(shí)施例中業(yè)務(wù)板50中的業(yè)務(wù)處理單元為目的地址為業(yè)務(wù)板51的0x2000_0000-0x2000_0100數(shù)據(jù)包進(jìn)行地址轉(zhuǎn)換,轉(zhuǎn)換后的地址為0xa000_0000-0xa100_0000,并將該數(shù)據(jù)包發(fā)送至本業(yè)務(wù)板的交換單元的上游接口Ps;交換單元根據(jù)預(yù)先配置的策略讀取該數(shù)據(jù)包攜帶的地址0xa000_0000-0xa100_0000,確定需要將該數(shù)據(jù)包發(fā)送至業(yè)務(wù)板51,因此將數(shù)據(jù)包從下游端口P5發(fā)向業(yè)務(wù)板51;數(shù)據(jù)包從下游端口P5發(fā)出后進(jìn)入地址轉(zhuǎn)換單元,地址轉(zhuǎn)換單元將經(jīng)轉(zhuǎn)換的傳輸目的地址0xa000_0000-0xa100_0000還原為真實(shí)目的地址0x2000_0000-0x2000_0100,并繼續(xù)傳輸數(shù)據(jù)包;業(yè)務(wù)板51收到經(jīng)過(guò)地址還原的數(shù)據(jù)包后,將該數(shù)據(jù)包保存至本業(yè)務(wù)板的內(nèi)存0x2000_0000-0x2000_0100中,從而完成了數(shù)據(jù)包的傳輸。
圖5所使得本發(fā)明實(shí)施例中,僅顯示了兩塊業(yè)務(wù)板間的數(shù)據(jù)包傳輸,在本發(fā)明的實(shí)際應(yīng)用中,每塊業(yè)務(wù)板均與多塊其他業(yè)務(wù)板進(jìn)行數(shù)據(jù)包傳輸,因此每塊業(yè)務(wù)板的地址轉(zhuǎn)換單元還通過(guò)PCI Express總線與其它業(yè)務(wù)板的地址轉(zhuǎn)換單元或交換單元的下游端口連接,進(jìn)行業(yè)務(wù)板間的數(shù)據(jù)包傳輸。由于每?jī)蓚€(gè)業(yè)務(wù)板間至少要通過(guò)一個(gè)地址轉(zhuǎn)換單元連接,所以該路由器的地址轉(zhuǎn)換單元的數(shù)量大于或等于1+2+...+(業(yè)務(wù)板的數(shù)量-1)=業(yè)務(wù)板的數(shù)量×(業(yè)務(wù)板的數(shù)量-1)/2。
本發(fā)明實(shí)施例的一種路由器業(yè)務(wù)板的結(jié)構(gòu)如圖6所示,包括業(yè)務(wù)處理單元61、交換單元62和5個(gè)地址轉(zhuǎn)換單元地址轉(zhuǎn)換單元63、地址轉(zhuǎn)換單元64、地址轉(zhuǎn)換單元65、地址轉(zhuǎn)換單元66和地址轉(zhuǎn)換單元67。其中,交換單元62進(jìn)一步包括一個(gè)上游端口Ps和5個(gè)下游端口P0、P1、P2、P3和P4,業(yè)務(wù)處理單元61與上游端口Ps連接,地址轉(zhuǎn)換單元63與下游端口P0連接,地址轉(zhuǎn)換單元64與下游端口P1連接,地址轉(zhuǎn)換單元65與下游端口P2連接,地址轉(zhuǎn)換單元66與下游端口P3連接,地址轉(zhuǎn)換單元67與下游端口P4連接。交換單元62的上游端口Ps和每個(gè)下游端口分別對(duì)應(yīng)不同的地址空間,上游端口Ps對(duì)應(yīng)的地址空間涵蓋所有下游端口P0、P1、P2、P3和P4對(duì)應(yīng)的地址空間。
當(dāng)采用圖3所示路由器結(jié)構(gòu)和圖6所示路由器業(yè)務(wù)板的結(jié)構(gòu)時(shí),本發(fā)明實(shí)施例的一種路由器業(yè)務(wù)板間的數(shù)據(jù)包傳輸方法如圖7所示,首先將從第一業(yè)務(wù)板的交換單元發(fā)出的數(shù)據(jù)包的目的地址,轉(zhuǎn)換為第二業(yè)務(wù)板的內(nèi)部地址;然后第二業(yè)務(wù)板的交換單元接收所述數(shù)據(jù)包,并將所述數(shù)據(jù)包發(fā)送到第二業(yè)務(wù)板的業(yè)務(wù)處理單元。以業(yè)務(wù)板31向業(yè)務(wù)板30發(fā)送數(shù)據(jù)包為例,業(yè)務(wù)板31需要將地址空間為0x3000_0000-0x3000_0100、大小為256字節(jié)的數(shù)據(jù)包發(fā)送到業(yè)務(wù)板30中0x2000_0000-0x2000_0100的地址空間中。本實(shí)施例包括以下步驟步驟s701,業(yè)務(wù)板31的交換單元接收業(yè)務(wù)板31的業(yè)務(wù)處理單元發(fā)送的數(shù)據(jù)包,該數(shù)據(jù)包附加目的地址為0xa100_0000。
步驟s702,業(yè)務(wù)板31的交換單元的上游端口Ps接收到該數(shù)據(jù)包后,判斷該數(shù)據(jù)包的目的地址是否在上游端口Ps對(duì)應(yīng)的地址空間內(nèi);如果是,則轉(zhuǎn)步驟s703,否則轉(zhuǎn)步驟s704。本實(shí)施例中Ps對(duì)應(yīng)的地址空間為0xa0000000-0xb0000000,所以該數(shù)據(jù)包的目的地址在上游端口Ps對(duì)應(yīng)的地址空間內(nèi),轉(zhuǎn)步驟s703。
步驟s703,比較該數(shù)據(jù)包的目的地址符合哪一個(gè)下游端口對(duì)應(yīng)的地址空間,獲取對(duì)應(yīng)的下游端口。如果有符合的下游端口,則轉(zhuǎn)步驟s705,否則轉(zhuǎn)步驟s704。本實(shí)施例中下游端口P4對(duì)應(yīng)的地址空間為0xa0000000-0xa1000000,該數(shù)據(jù)包的目的地址符合下游端口P4對(duì)應(yīng)的地址空間,所以轉(zhuǎn)步驟s705。
步驟s704,丟棄該數(shù)據(jù)包并結(jié)束。
步驟s705,將該數(shù)據(jù)包從該下游端口發(fā)出。即將該數(shù)據(jù)包從下游端口P4發(fā)送到業(yè)務(wù)板31的地址轉(zhuǎn)換單元NT1_4。
步驟s706,通過(guò)業(yè)務(wù)板31的地址轉(zhuǎn)換單元NT1_4和業(yè)務(wù)板30的地址轉(zhuǎn)換單元NT0_0,將數(shù)據(jù)包的目的地址轉(zhuǎn)換為業(yè)務(wù)板30的內(nèi)部地址0x2000_0000。
步驟s707,業(yè)務(wù)板30的交換單元的下游端口P0接收到數(shù)據(jù)包后,判斷數(shù)據(jù)包的目的地址是否在其它下游端口對(duì)應(yīng)的地址空間內(nèi);如果是,則轉(zhuǎn)步驟s708,否則轉(zhuǎn)步驟s709。本實(shí)施例中數(shù)據(jù)包的目的地址不在其它下游端口對(duì)應(yīng)的地址空間內(nèi),所以轉(zhuǎn)步驟s709。
步驟s708,將數(shù)據(jù)包從對(duì)應(yīng)的端口發(fā)出并結(jié)束。
步驟s709,將數(shù)據(jù)包通過(guò)第二業(yè)務(wù)板的交換單元的上游端口發(fā)送到第二業(yè)務(wù)板的業(yè)務(wù)處理單元,第二業(yè)務(wù)板的業(yè)務(wù)處理單元將數(shù)據(jù)包發(fā)送到業(yè)務(wù)板30中0x2000_0000-0x2000_0100的地址空間。
本發(fā)明實(shí)施例的另一種路由器結(jié)構(gòu)如圖8所示,包括6個(gè)業(yè)務(wù)板業(yè)務(wù)板80、業(yè)務(wù)板81、業(yè)務(wù)板82、業(yè)務(wù)板83、業(yè)務(wù)板84和業(yè)務(wù)板85,每個(gè)業(yè)務(wù)板與其它業(yè)務(wù)板之間通過(guò)PCI Express總線互相連接,構(gòu)成全網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。其中,每?jī)蓚€(gè)業(yè)務(wù)板間只通過(guò)一個(gè)地址轉(zhuǎn)換單元連接。
當(dāng)采用圖8所示路由器結(jié)構(gòu)時(shí),本發(fā)明實(shí)施例的路由器業(yè)務(wù)板間的數(shù)據(jù)包傳輸方法與上述方法相同,只是在考慮單個(gè)單板時(shí)需要注意地址轉(zhuǎn)換單元數(shù)量的非對(duì)稱性。
本發(fā)明的實(shí)施例實(shí)現(xiàn)了路由器的基于PCI Express總線技術(shù)的全網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在該系統(tǒng)中,每個(gè)業(yè)務(wù)板能夠獨(dú)立地完成所有的路由與轉(zhuǎn)發(fā)業(yè)務(wù);另外,由于業(yè)務(wù)板間通過(guò)PCI Express總線連接,可以通過(guò)多對(duì)線路捆綁提供更高的帶寬,因此能夠保證整個(gè)系統(tǒng)業(yè)務(wù)板間通訊擁有充足的帶寬;最后,由于系統(tǒng)中每個(gè)業(yè)務(wù)板都是相對(duì)獨(dú)立的,任何一個(gè)業(yè)務(wù)板發(fā)生問(wèn)題,都不會(huì)影響系統(tǒng)中其它業(yè)務(wù)板的運(yùn)行,為系統(tǒng)提供最高的可靠性。
以上所述僅是本發(fā)明的實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種路由器,其特征在于,由多個(gè)業(yè)務(wù)板組成,每塊業(yè)務(wù)板均分別與其它各個(gè)業(yè)務(wù)板相連,每塊業(yè)務(wù)板均根據(jù)待發(fā)送數(shù)據(jù)包的目的地址將數(shù)據(jù)包發(fā)送至目的業(yè)務(wù)板,實(shí)現(xiàn)對(duì)數(shù)據(jù)包的路由。
2.如權(quán)利要求1所述路由器,其特征在于,所述業(yè)務(wù)板包括業(yè)務(wù)處理單元和交換單元;所述業(yè)務(wù)處理單元,按照預(yù)先配置的策略,將待發(fā)送數(shù)據(jù)包的真實(shí)目的地址轉(zhuǎn)換為傳輸目的地址,并向所述交換單元發(fā)送數(shù)據(jù)包;所述交換單元,與所述業(yè)務(wù)處理單元連接,接收所述業(yè)務(wù)處理單元發(fā)送的數(shù)據(jù)包,按照預(yù)先配置的策略解析數(shù)據(jù)包的傳輸目的地址,確定數(shù)據(jù)包傳輸?shù)牡哪康臉I(yè)務(wù)板,并將數(shù)據(jù)包發(fā)向該業(yè)務(wù)板。
3.如權(quán)利要求2所述路由器,其特征在于,所述業(yè)務(wù)板還包括地址轉(zhuǎn)換單元;所述地址轉(zhuǎn)換單元,與所述交換單元連接,在本業(yè)務(wù)板向其他業(yè)務(wù)板發(fā)送數(shù)據(jù)包時(shí),將本業(yè)務(wù)板待發(fā)送數(shù)據(jù)包的傳輸目的地址轉(zhuǎn)換為真實(shí)目的地址,并將攜帶真實(shí)目的地址的數(shù)據(jù)包發(fā)送至其他業(yè)務(wù)板;在本業(yè)務(wù)板接收其他業(yè)務(wù)板的數(shù)據(jù)包時(shí),檢測(cè)所接收數(shù)據(jù)包的目的地址,當(dāng)所述目的地址為真實(shí)目的地址時(shí),直接接收該數(shù)據(jù)包;當(dāng)所述目的地址為傳輸目的地址時(shí),按照預(yù)先配置的策略將傳輸目的地址轉(zhuǎn)換為真實(shí)目的地址,并接收該數(shù)據(jù)包。
4.如權(quán)利要求1、2或3所述路由器,其特征在于,所述交換單元進(jìn)一步包括一個(gè)上游端口和多個(gè)下游端口,當(dāng)路由器中包含N個(gè)業(yè)務(wù)板時(shí),所述下游端口的數(shù)量至少為N-1個(gè);每個(gè)下游端口均通過(guò)地址轉(zhuǎn)換單元與路由器中唯一與其對(duì)應(yīng)的業(yè)務(wù)板的下游端口相連。
5.一種路由器的業(yè)務(wù)板,其特征在于,包括業(yè)務(wù)處理單元和交換單元;所述業(yè)務(wù)處理單元,按照預(yù)先配置的策略,將待發(fā)送數(shù)據(jù)包的真實(shí)目的地址轉(zhuǎn)換為傳輸目的地址,并向所述交換單元發(fā)送數(shù)據(jù)包;所述交換單元,與所述業(yè)務(wù)處理單元連接,接收所述業(yè)務(wù)處理單元發(fā)送的數(shù)據(jù)包,按照預(yù)先配置的策略解析數(shù)據(jù)包的傳輸目的地址,確定數(shù)據(jù)包傳輸?shù)牡哪康臉I(yè)務(wù)板,并將數(shù)據(jù)包發(fā)向該業(yè)務(wù)板。
6.根據(jù)權(quán)利要求5所述的一種路由器的業(yè)務(wù)板,其特征在于,還包括地址轉(zhuǎn)換單元;所述地址轉(zhuǎn)換單元,與所述交換單元連接,在本業(yè)務(wù)板向其他業(yè)務(wù)板發(fā)送數(shù)據(jù)包時(shí),將本業(yè)務(wù)板待發(fā)送數(shù)據(jù)包的傳輸目的地址轉(zhuǎn)換為真實(shí)目的地址,并將攜帶真實(shí)目的地址的數(shù)據(jù)包發(fā)送至其他業(yè)務(wù)板;在本業(yè)務(wù)板接收其他業(yè)務(wù)板的數(shù)據(jù)包時(shí),檢測(cè)所接收數(shù)據(jù)包的目的地址,當(dāng)所述目的地址為真實(shí)目的地址時(shí),直接接收該數(shù)據(jù)包;當(dāng)所述目的地址為傳輸目的地址時(shí),將傳輸目的地址轉(zhuǎn)換為真實(shí)目的地址,并接收該數(shù)據(jù)包。
7.如權(quán)利要求5或6所述路由器的業(yè)務(wù)板,其特征在于,所述交換單元包括一個(gè)上游端口和多個(gè)下游端口,所述上游端口與本業(yè)務(wù)板的業(yè)務(wù)處理單元相接,所述多個(gè)下游端口分別通過(guò)地址轉(zhuǎn)換單元與其他業(yè)務(wù)板的下游端口相連,每個(gè)下游端口唯一對(duì)應(yīng)一個(gè)其他業(yè)務(wù)板。
8.如權(quán)利要求5或6所述路由器的業(yè)務(wù)板,其特征在于,所述多個(gè)下游端口分別對(duì)應(yīng)不同的地址空間,上游端口對(duì)應(yīng)的地址空間涵蓋所有下游端口對(duì)應(yīng)的地址空間。
9.一種通過(guò)多個(gè)業(yè)務(wù)板實(shí)現(xiàn)數(shù)據(jù)路由傳輸?shù)姆椒ǎ涮卣髟谟?,包括第一業(yè)務(wù)板的業(yè)務(wù)處理單元按照預(yù)先配置的策略將待發(fā)送數(shù)據(jù)包的真實(shí)目的地址轉(zhuǎn)換為傳輸目的地址;交換單元單元根據(jù)傳輸目的地址確定數(shù)據(jù)包傳輸?shù)哪康臉I(yè)務(wù)板;將數(shù)據(jù)包的傳輸目的地址還原為真實(shí)目的地址,并將數(shù)據(jù)包發(fā)送至目的業(yè)務(wù)板,實(shí)現(xiàn)數(shù)據(jù)路由傳輸。
10.如權(quán)利要求9所述的通過(guò)多個(gè)業(yè)務(wù)板實(shí)現(xiàn)數(shù)據(jù)路由傳輸?shù)姆椒?,其特征在于,所述將?shù)據(jù)包的傳輸目的地址還原為真實(shí)目的地址的步驟由第一業(yè)務(wù)板的地址轉(zhuǎn)換單元在向目的業(yè)務(wù)板發(fā)送數(shù)據(jù)包時(shí)完成,或由目的業(yè)務(wù)板的地址轉(zhuǎn)換單元在接收數(shù)據(jù)包時(shí)完成。
11.如權(quán)利要求9或10所述的通過(guò)多個(gè)業(yè)務(wù)板實(shí)現(xiàn)數(shù)據(jù)路由傳輸?shù)姆椒?,其特征在于,預(yù)先對(duì)各業(yè)務(wù)板中的業(yè)務(wù)處理單元、交換單元以及地址轉(zhuǎn)換單元進(jìn)行統(tǒng)一的策略配置。
12.如權(quán)利要求11所述的一種通過(guò)多個(gè)業(yè)務(wù)板實(shí)現(xiàn)數(shù)據(jù)路由傳輸?shù)姆椒ǎ涮卣髟谟?,在?jīng)過(guò)策略配置后,業(yè)務(wù)處理單元對(duì)真實(shí)目的地址進(jìn)行轉(zhuǎn)換,所得的傳輸目的地址包含真實(shí)目的地址的全部信息,且傳輸目的地址不與各業(yè)務(wù)板的地址發(fā)生沖突;交換單元解析傳輸目的地址,獲取真實(shí)目的地址,并確定目的業(yè)務(wù)板;地址轉(zhuǎn)換單元將傳輸目的地址還原為真實(shí)目的地址。
全文摘要
本發(fā)明公開(kāi)了一種路由器,包括多個(gè)業(yè)務(wù)板,每個(gè)業(yè)務(wù)板處理路由與轉(zhuǎn)發(fā)業(yè)務(wù),并與其它業(yè)務(wù)板互相連接。本發(fā)明還公開(kāi)了一種路由器的業(yè)務(wù)板,包括業(yè)務(wù)處理單元、交換單元和一個(gè)或多個(gè)地址轉(zhuǎn)換單元;本發(fā)明還公開(kāi)了一種路由器業(yè)務(wù)板間的數(shù)據(jù)包傳輸方法,首先將從第一業(yè)務(wù)板的交換單元發(fā)出的數(shù)據(jù)包的目的地址,轉(zhuǎn)換為第二業(yè)務(wù)板的內(nèi)部地址;然后第二業(yè)務(wù)板的交換單元接收所述數(shù)據(jù)包,并將所述數(shù)據(jù)包發(fā)送到第二業(yè)務(wù)板的業(yè)務(wù)處理單元。本發(fā)明提高了路由器系統(tǒng)工作的可靠性。
文檔編號(hào)H04L12/02GK101018209SQ200710086519
公開(kāi)日2007年8月15日 申請(qǐng)日期2007年3月12日 優(yōu)先權(quán)日2007年3月12日
發(fā)明者
田 浩, 王心遠(yuǎn) 申請(qǐng)人:杭州華為三康技術(shù)有限公司