專利名稱:一種報(bào)文分段處理系統(tǒng)及處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種報(bào)文分段處理系統(tǒng)及處理方法。
背景技術(shù):
在通信技術(shù)高速發(fā)展的當(dāng)今社會(huì),網(wǎng)絡(luò)已進(jìn)入人們生活的方方面面,在網(wǎng)絡(luò)上有各種應(yīng)用及業(yè)務(wù)數(shù)據(jù),要求網(wǎng)絡(luò)傳輸設(shè)備、轉(zhuǎn)發(fā)設(shè)備和控制設(shè)備,對(duì)數(shù)據(jù)進(jìn)行深入分析和處理;如需要支持IPv4數(shù)據(jù)流,IPv6數(shù)據(jù)流,多協(xié)議標(biāo)簽交換(MPLS)數(shù)據(jù)流,支持訪問(wèn)列表過(guò)濾(ACL),支持?jǐn)?shù)據(jù)流的承諾速率訪問(wèn)控制(CAR),支持各種QOS流量控制等。除了數(shù)據(jù)的豐富,各種接入技術(shù)、網(wǎng)絡(luò)技術(shù)和傳輸技術(shù)也是異彩紛呈,如需要支持高速的萬(wàn)兆以太 (XGE)接口,千兆以太(GE)接口,同時(shí)要支持低速的El接口等,要支持報(bào)文的二層交換,同時(shí)也要支持報(bào)文的三層轉(zhuǎn)發(fā)。對(duì)路由器來(lái)說(shuō),如何在支持眾多功能的同時(shí)滿足高速轉(zhuǎn)發(fā)的需求是個(gè)挑戰(zhàn)性的問(wèn)題。在現(xiàn)有技術(shù)中,有的設(shè)備通過(guò)使用網(wǎng)絡(luò)處理器(NP)來(lái)提升整機(jī)性能,有的通過(guò)多核處理器來(lái)提高處理能力,有的通過(guò)提高通信處理器的主頻來(lái)提升轉(zhuǎn)發(fā)性能;但僅僅通過(guò)提高硬件處理能力,對(duì)整機(jī)性能的提升并不能達(dá)到很好的增益。要達(dá)到很好的性價(jià)比,需要優(yōu)化相應(yīng)的軟件流程,而傳統(tǒng)的轉(zhuǎn)發(fā)方式如進(jìn)程交換,快速交換,快速轉(zhuǎn)發(fā)等已不適合現(xiàn)在的各種有硬件加速的系統(tǒng)。高中低端的路由器在硬件上會(huì)有所不同,有的是集中式的,有的是分布式的,有的采用的是單核CPU,有的采用多核CPU,有的有硬件加速部件,有的沒(méi)有硬件加速部件,有的需要采用AMP(不對(duì)稱多處理器)技術(shù),而有的需要采用SMP(對(duì)稱多處理器)技術(shù)來(lái)達(dá)到更好的整機(jī)性能,如何在適應(yīng)各種硬件差異的同時(shí),提高轉(zhuǎn)發(fā)效率,達(dá)到最優(yōu)的轉(zhuǎn)發(fā)性能就是個(gè)問(wèn)題。因此,有必要提出一種能夠提高報(bào)文轉(zhuǎn)發(fā)效率的相關(guān)處理方法。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提出一種報(bào)文分段處理系統(tǒng)及處理方法,解決傳統(tǒng)技術(shù)中無(wú)法適應(yīng)在通信設(shè)備硬件差異的情況下,滿足高效轉(zhuǎn)發(fā)的需求的問(wèn)題。本發(fā)明解決上述技術(shù)問(wèn)題所采用的方案是一種報(bào)文分段處理系統(tǒng),包括控制平面處理模塊,用于轉(zhuǎn)發(fā)通道或轉(zhuǎn)發(fā)接口的生成,并在轉(zhuǎn)發(fā)接口上生成由轉(zhuǎn)發(fā)路徑和轉(zhuǎn)發(fā)階段組成的轉(zhuǎn)發(fā)矩陣;數(shù)據(jù)平面處理模塊,用于根據(jù)轉(zhuǎn)發(fā)接口的轉(zhuǎn)發(fā)矩陣完成報(bào)文的轉(zhuǎn)發(fā)處理;資源調(diào)度模塊,用于完成轉(zhuǎn)發(fā)資源的調(diào)配。進(jìn)一步,所述數(shù)據(jù)平面處理模塊,包括報(bào)文接收及分流單元,用于從鏈路接收?qǐng)?bào)文,并基于報(bào)文特征劃分?jǐn)?shù)據(jù)流;報(bào)文路徑識(shí)別單元,用于完成鏈路的處理和接口的查找,及識(shí)別轉(zhuǎn)發(fā)路徑;報(bào)文分段處理單元,用于完成報(bào)文在不同轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)處理;報(bào)文調(diào)度及發(fā)送單元,用于完成報(bào)文出隊(duì)及發(fā)送處理。
進(jìn)一步,所述報(bào)文分段處理單元,用于使用報(bào)文接收接口或報(bào)文發(fā)送接口的轉(zhuǎn)發(fā)矩陣中的轉(zhuǎn)發(fā)路徑的各個(gè)轉(zhuǎn)發(fā)階段處理函數(shù)進(jìn)行報(bào)文的轉(zhuǎn)發(fā)處理。進(jìn)一步,所述轉(zhuǎn)發(fā)路徑由接口上用戶配置的轉(zhuǎn)發(fā)類型來(lái)決定,或者,由報(bào)文頭中攜帶的負(fù)載類型來(lái)決定。進(jìn)一步,所述資源調(diào)度模塊,用于完成轉(zhuǎn)發(fā)矩陣的各轉(zhuǎn)發(fā)階段中CPU核和/或進(jìn)程和/或線程的配置和調(diào)度。進(jìn)一步,所述轉(zhuǎn)發(fā)階段包括鏈路接收處理、輸入解析、鏈路輸入控制、轉(zhuǎn)發(fā)輸入處理及輸入控制、轉(zhuǎn)發(fā)查表、輸出解析、轉(zhuǎn)發(fā)輸出處理及控制、鏈路輸出控制、發(fā)送調(diào)度及報(bào)文發(fā)送階段。一種報(bào)文分段處理方法,包括控制平面處理模塊劃分報(bào)文轉(zhuǎn)發(fā)路徑及轉(zhuǎn)發(fā)階段, 并形成轉(zhuǎn)發(fā)矩陣;當(dāng)數(shù)據(jù)平面處理模塊接收到報(bào)文后,完成鏈路的處理和接口的查找,并識(shí)別轉(zhuǎn)發(fā)路徑;然后使用報(bào)文接收接口或報(bào)文發(fā)送接口的轉(zhuǎn)發(fā)矩陣中的本轉(zhuǎn)發(fā)路徑的各個(gè)轉(zhuǎn)發(fā)階段處理函數(shù)進(jìn)行報(bào)文的轉(zhuǎn)發(fā)處理。進(jìn)一步,在報(bào)文的轉(zhuǎn)發(fā)處理過(guò)程中,直接修改報(bào)文本身或?qū)?bào)文的處理信息攜帶在報(bào)文的描述符中,由后續(xù)處理函數(shù)繼續(xù)處理。進(jìn)一步,該方法具體包括以下步驟a.驅(qū)動(dòng)接收?qǐng)?bào)文并定位接收物理接口 ;b.鏈路處理相應(yīng)的報(bào)文鏈路頭,區(qū)分報(bào)文的負(fù)載類型及所在的子接口,識(shí)別報(bào)文所屬轉(zhuǎn)發(fā)路徑;e.對(duì)報(bào)文所屬的轉(zhuǎn)發(fā)路徑進(jìn)行輸入處理和控制處理;f.對(duì)報(bào)文所屬的轉(zhuǎn)發(fā)路徑進(jìn)行查表,根據(jù)查表結(jié)果封裝新的鏈路頭;j.對(duì)報(bào)文入隊(duì)及報(bào)文發(fā)送進(jìn)行控制。進(jìn)一步,在步驟b和步驟e之間還包括步驟c.對(duì)報(bào)文中各個(gè)報(bào)文頭進(jìn)行解析,并將信息存入報(bào)文描述符中;d.對(duì)鏈路的輸入控制;在步驟f和步驟j之間還包括步驟g.對(duì)報(bào)文的輸出進(jìn)行解析;h.對(duì)報(bào)文所屬轉(zhuǎn)發(fā)路徑的輸出處理及輸出控制;i.對(duì)鏈路的輸出控制。本發(fā)明的有益效果是可以充分利用硬件的特性完成高效轉(zhuǎn)發(fā),也可以方便地進(jìn)行靜態(tài)或動(dòng)態(tài)的任務(wù)劃分,及計(jì)算資源的調(diào)配;對(duì)不同的產(chǎn)品,采用不同的調(diào)度方法即可達(dá)到高效轉(zhuǎn)發(fā)的目的,同時(shí)減少了產(chǎn)品開(kāi)發(fā)的周期。
圖I是本發(fā)明的一種優(yōu)選實(shí)施例的報(bào)文分段轉(zhuǎn)發(fā)流程圖;圖2是本發(fā)明的一種優(yōu)選實(shí)施例的轉(zhuǎn)發(fā)矩陣的示意圖;圖3是本發(fā)明的轉(zhuǎn)發(fā)處理所用的報(bào)文結(jié)構(gòu)的示意圖;圖4是本發(fā)明的另一實(shí)施例的報(bào)文分段轉(zhuǎn)發(fā)示意圖;圖5是本發(fā)明的一種優(yōu)選實(shí)施例的轉(zhuǎn)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式針對(duì)傳統(tǒng)技術(shù)中無(wú)法適應(yīng)在通信設(shè)備硬件差異的情況下,滿足高效轉(zhuǎn)發(fā)的需求的問(wèn)題,本發(fā)明提供一種報(bào)文分段處理方法及報(bào)文分段處理系統(tǒng),其中心思想是要保證報(bào)文在各個(gè)轉(zhuǎn)發(fā)階段處理的獨(dú)立性和整個(gè)轉(zhuǎn)發(fā)流程的高效性,并且盡量不依賴于硬件的特異性。本發(fā)明的報(bào)文分段處理方法,適用于單核轉(zhuǎn)發(fā)系統(tǒng),也適用于多核的轉(zhuǎn)發(fā)系統(tǒng),適用于使用流水線的報(bào)文并行處理,也適用于報(bào)文的串行處理。為了方便理解此方法,下面以報(bào)文串行處理為例,結(jié)合附圖及相關(guān)實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)描述。該報(bào)文分段處理方法的要點(diǎn)如下第一轉(zhuǎn)發(fā)中用到的數(shù)據(jù)最好以轉(zhuǎn)發(fā)流程中訪問(wèn)最多的結(jié)構(gòu)為基礎(chǔ)進(jìn)行組織。眾所周知,系統(tǒng)中的cache的大小會(huì)對(duì)轉(zhuǎn)發(fā)的性能有很大的影響,而cache的局部性原理,使轉(zhuǎn)發(fā)過(guò)程中訪問(wèn)的內(nèi)存的數(shù)據(jù)的內(nèi)聚性越好,轉(zhuǎn)發(fā)性能越高;訪問(wèn)RAM的次數(shù)越少,性能越高。為了提高性能,首先需要考慮的就是要將報(bào)文轉(zhuǎn)發(fā)流程中所用到的數(shù)據(jù)盡可能組織在一起,盡可能減少轉(zhuǎn)發(fā)過(guò)程中訪問(wèn)內(nèi)存數(shù)據(jù)的代價(jià)。而轉(zhuǎn)發(fā)系統(tǒng)中多數(shù)數(shù)據(jù)和業(yè)務(wù)等與接口密切相關(guān),故而以接口等最小的轉(zhuǎn)發(fā)單位為基礎(chǔ)來(lái)組織數(shù)據(jù)對(duì)轉(zhuǎn)發(fā)性能有很大的幫助。第二劃分轉(zhuǎn)發(fā)路徑和轉(zhuǎn)發(fā)階段時(shí)盡量使同一個(gè)報(bào)文所跑的代碼最精減,可以考慮各個(gè)轉(zhuǎn)發(fā)路徑處理的獨(dú)立性,轉(zhuǎn)發(fā)處理中的相關(guān)性及各個(gè)轉(zhuǎn)發(fā)階段中代碼執(zhí)行時(shí)間和代碼量的大小。對(duì)報(bào)文進(jìn)行處理的常規(guī)步驟一般為驅(qū)動(dòng)接收,鏈路輸入,轉(zhuǎn)發(fā)系統(tǒng)處理,鏈路輸出,驅(qū)動(dòng)發(fā)送。而對(duì)不同協(xié)議的報(bào)文其這幾個(gè)階段中所跑的代碼相異性是非常大的,如IP、 MPLS、IPV6和橋接的處理都是不同的,而且對(duì)IP,MPLS等報(bào)文,在鏈路處理和轉(zhuǎn)發(fā)處理中所作的業(yè)務(wù)控制也可能是截然不同的。在現(xiàn)有的CPU中,分支判斷對(duì)性能影響很大,指令 cache的換入換出對(duì)性能的影響也不容小視,故而在轉(zhuǎn)發(fā)過(guò)程中劃分轉(zhuǎn)發(fā)路徑是一種理想的選擇,使報(bào)文盡可能使用最精減的代碼完成其轉(zhuǎn)發(fā)處理。轉(zhuǎn)發(fā)路徑可以根據(jù)接口上用戶配置的轉(zhuǎn)發(fā)類型來(lái)決定,也可以由報(bào)文頭中帶的負(fù)載類型來(lái)決定其轉(zhuǎn)發(fā)路徑。如可以將轉(zhuǎn)發(fā)路徑劃分為橋接二層轉(zhuǎn)發(fā)、VPLS轉(zhuǎn)發(fā)、L2TP轉(zhuǎn)發(fā)、 IPV4單播轉(zhuǎn)發(fā)、IPV4組播轉(zhuǎn)發(fā)、MPLS轉(zhuǎn)發(fā)、IPV6轉(zhuǎn)發(fā)等。在轉(zhuǎn)發(fā)系統(tǒng)中很多業(yè)務(wù)是配置于接口上的,如有的接口上配置了 ACL輸入過(guò)濾, 有的配置了流量整形,有的配置了網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)等,也就是說(shuō),不同接口上的相同協(xié)議類型的報(bào)文如IP包,都有可能走不同的處理流程,故而基于接口或比接口還小的轉(zhuǎn)發(fā)單位組織轉(zhuǎn)發(fā)流程會(huì)使轉(zhuǎn)發(fā)更高效。劃分轉(zhuǎn)發(fā)階段可以在報(bào)文處理流程的基礎(chǔ)上,將有類似功能的處理放在一個(gè)轉(zhuǎn)發(fā)階段,或者可以根據(jù)各個(gè)階段處理中代碼的長(zhǎng)度或代碼執(zhí)行時(shí)間來(lái)劃分。以將有類似功能的處理放在一個(gè)階段的劃分標(biāo)準(zhǔn)來(lái)說(shuō),可以分為如下幾個(gè)轉(zhuǎn)發(fā)階段鏈路接收處理、輸入解析、鏈路輸入控制、轉(zhuǎn)發(fā)輸入處理及輸入控制、轉(zhuǎn)發(fā)查表、輸出解析、轉(zhuǎn)發(fā)輸出處理及控制、鏈路輸出控制、發(fā)送調(diào)度及報(bào)文發(fā)送階段。
基于以上思想,在接口上就形成了一個(gè)由轉(zhuǎn)發(fā)路徑和轉(zhuǎn)發(fā)階段組成的轉(zhuǎn)發(fā)矩陣, 如圖2所示,橫向表示劃分的轉(zhuǎn)發(fā)路徑,豎向表示各轉(zhuǎn)發(fā)路徑下劃分的轉(zhuǎn)發(fā)階段。矩陣中的各個(gè)節(jié)點(diǎn)即為一系列的轉(zhuǎn)發(fā)處理函數(shù),且矩陣中的一些節(jié)點(diǎn)是可以為空的,并且在矩陣中以轉(zhuǎn)發(fā)路徑為軸是一個(gè)單向的處理流程,無(wú)論從哪個(gè)處理階段進(jìn)入都只是單向向后處理, 這樣就簡(jiǎn)化了流程。這個(gè)單向流程可以通過(guò)單向鏈表結(jié)合函數(shù)數(shù)組來(lái)實(shí)現(xiàn)。轉(zhuǎn)發(fā)路徑和轉(zhuǎn)發(fā)階段的擴(kuò)展都非常容易,這樣便于支持更多的業(yè)務(wù)和處理。也方便支持不同類型的設(shè)備,如對(duì)分布式的系統(tǒng),可以在處理階段中加一個(gè)跨卡預(yù)處理階段。由于各個(gè)路徑的獨(dú)立性,再擴(kuò)展新的轉(zhuǎn)發(fā)路徑也是同樣簡(jiǎn)單。第三、轉(zhuǎn)發(fā)過(guò)程中用到的數(shù)據(jù)和需要經(jīng)過(guò)的業(yè)務(wù)控制都需要由控制平面下發(fā)至數(shù)據(jù)平面,并在數(shù)據(jù)平面根據(jù)以上原則思想,形成接口上的轉(zhuǎn)發(fā)矩陣。另外將各業(yè)務(wù)信息組織在接口結(jié)構(gòu)上,方便通過(guò)接口定位各個(gè)控制業(yè)務(wù)的數(shù)據(jù)信息。如圖I所示,為一個(gè)報(bào)文的完整轉(zhuǎn)發(fā)流程,其包括以下步驟步驟10 :驅(qū)動(dòng)接收?qǐng)?bào)文并定位接收物理接口,如果是多核的系統(tǒng)可以在此步進(jìn)行初步分流,如基于IP五元組或MPLS標(biāo)簽等分流。步驟20 :鏈路處理相應(yīng)的報(bào)文鏈路頭,區(qū)分報(bào)文的負(fù)載類型,區(qū)分報(bào)文所在的子接口,最后識(shí)別報(bào)文所屬轉(zhuǎn)發(fā)路徑。步驟30 :對(duì)報(bào)文中各個(gè)報(bào)文頭進(jìn)行解析,并將信息存入報(bào)文描述符中。此步是可選的步驟,如果后續(xù)輸入處理中有業(yè)務(wù)關(guān)心報(bào)文中更詳細(xì)的信息,則在此步驟中進(jìn)行報(bào)文解析。步驟40 :與轉(zhuǎn)發(fā)路徑無(wú)關(guān)的輸入控制,如基于鏈路的控制,如MAC-ACL,CAR等,此步是可選的步驟,當(dāng)不存在這些配置時(shí),此步驟被跳過(guò)。步驟50 :本報(bào)文所屬的轉(zhuǎn)發(fā)路徑的輸入處理和控制,如對(duì)IP報(bào)文來(lái)說(shuō)就是如IP 輸入處理,IP ACL輸入控制等,而對(duì)MPLS報(bào)文來(lái)說(shuō),就是MPLS輸入處理和MPLS的輸入控制。步驟60 :本報(bào)文所屬的轉(zhuǎn)發(fā)路徑的查表及根據(jù)查表結(jié)果封裝新的鏈路頭。對(duì)不同的轉(zhuǎn)發(fā)路徑查找不同的表,如IP單播轉(zhuǎn)發(fā)表,組播轉(zhuǎn)發(fā)表,MPLS標(biāo)簽表等。步驟70 :報(bào)文輸出階段處理的解析,類似輸入解析,但是是對(duì)即將輸出的報(bào)文的解析,也是可選的步驟。步驟80 :本報(bào)文所屬的轉(zhuǎn)發(fā)路徑的輸出處理及輸出控制,也是可選的。步驟90 :鏈路輸出控制,如MAC ACL, QOS, CAR等輸出處理。此步是可選的步驟。步驟100 :報(bào)文入隊(duì)及報(bào)文發(fā)送。以上為從外部接口收到一個(gè)報(bào)文的完整轉(zhuǎn)發(fā)流程。如果涉及到轉(zhuǎn)發(fā)路徑間的切換,可以通過(guò)入報(bào)文隊(duì)列或消息隊(duì)列等方式進(jìn)行轉(zhuǎn)發(fā)路徑切換,如IP路徑切換為MPLS路徑等,路徑切換后,從需要的步驟開(kāi)始后續(xù)流程即可,此流程是從屬于此完整轉(zhuǎn)發(fā)流程的子流程。如圖3所示為報(bào)文轉(zhuǎn)發(fā)所使用的報(bào)文buffer,此buffer由兩部分組成,報(bào)文數(shù)據(jù)本身和報(bào)文描述符。報(bào)文轉(zhuǎn)發(fā)處理過(guò)程中,直接修改報(bào)文本身,或者是將報(bào)文的處理信息攜帶在報(bào)文的描述符中,由后續(xù)處理函數(shù)繼續(xù)處理。各個(gè)轉(zhuǎn)發(fā)處理除了需要關(guān)心報(bào)文本身和描述符外,不需要關(guān)心是在哪個(gè)處理核完成的,也不需要關(guān)心后續(xù)處理在哪個(gè)處理核上進(jìn)行的,盡量保證各轉(zhuǎn)發(fā)階段處理的獨(dú)立性和內(nèi)聚性,減少不同轉(zhuǎn)發(fā)階段間的通信,方便轉(zhuǎn)發(fā)矩陣適用于多核和單核,或串行和并行的處理環(huán)境。圖4為一個(gè)報(bào)文分段轉(zhuǎn)發(fā)的實(shí)施例示意圖。其中路徑I為IP單播轉(zhuǎn)發(fā)路徑,路徑M是MPLS轉(zhuǎn)發(fā)路徑,其它路徑略去。首先控制平面下發(fā)接口表,下發(fā)接口上的用戶業(yè)務(wù)配置如ACL,CAR等,在數(shù)據(jù)平面形成轉(zhuǎn)發(fā)需要用到的基于接口的轉(zhuǎn)發(fā)矩陣。對(duì)一個(gè)IP報(bào)文來(lái)說(shuō),其轉(zhuǎn)發(fā)經(jīng)過(guò)的處理為201,202,203,204,205,206等,其中 203-205表示該報(bào)文在IP單播轉(zhuǎn)發(fā)路徑下所經(jīng)過(guò)了 I-N個(gè)轉(zhuǎn)發(fā)階段的處理。對(duì)一個(gè)MPLS報(bào)文來(lái)說(shuō),其轉(zhuǎn)發(fā)經(jīng)過(guò)的處理為201,202,207,208,209,206等,其中 207-209表示該報(bào)文在MPLS轉(zhuǎn)發(fā)路徑下所經(jīng)過(guò)了 1_N個(gè)轉(zhuǎn)發(fā)階段的處理。如果某個(gè)接口上少一些配置和業(yè)務(wù)控制,就可以跳過(guò)一些轉(zhuǎn)發(fā)階段的處理,這在生成此接口的轉(zhuǎn)發(fā)矩陣時(shí)就在鏈表中跳過(guò),而不是在轉(zhuǎn)發(fā)流程中才判斷,這樣可以加快報(bào)文的處理性能。如若實(shí)施例中可以跳過(guò)204,那此接口的轉(zhuǎn)發(fā)矩陣中IP路徑上的轉(zhuǎn)發(fā)鏈表中就不包括204階段。對(duì)此接口上的IP包來(lái)說(shuō),其處理流程為201,202,203,205,206等。資源調(diào)度處理在單核系統(tǒng)中可以控制各個(gè)轉(zhuǎn)發(fā)階段在哪個(gè)進(jìn)程或線程中完成。在多核系統(tǒng)中,可以支配哪個(gè)轉(zhuǎn)發(fā)階段在哪個(gè)核上完成。另外一個(gè)轉(zhuǎn)發(fā)階段可以由一個(gè)核完成,也可以由多個(gè)核完成。此外,本發(fā)明還提供了一種報(bào)文轉(zhuǎn)發(fā)系統(tǒng);圖5為本發(fā)明一種優(yōu)選實(shí)施例中報(bào)文轉(zhuǎn)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖。如圖所示,該系統(tǒng)包括控制平面處理模塊601,數(shù)據(jù)平面處理模塊 602,資源調(diào)度模塊603,其中數(shù)據(jù)平面處理模塊包括報(bào)文接收及分流單元701,報(bào)文路徑識(shí)別單元702,報(bào)文分段處理單元703 708,報(bào)文調(diào)度及發(fā)送單元709??刂破矫嫣幚砟K601,用于下發(fā)接口、業(yè)務(wù)配置等,接收數(shù)據(jù)平面的通知和收集轉(zhuǎn)發(fā)統(tǒng)計(jì)等,并在轉(zhuǎn)發(fā)接口上生成由轉(zhuǎn)發(fā)路徑和轉(zhuǎn)發(fā)階段組成的轉(zhuǎn)發(fā)矩陣。數(shù)據(jù)平面轉(zhuǎn)發(fā)模塊602,用于完成報(bào)文的整個(gè)轉(zhuǎn)發(fā)處理。資源調(diào)度模塊603,用于完成轉(zhuǎn)發(fā)資源的調(diào)配。如CPU核的分配等。其中數(shù)據(jù)平面轉(zhuǎn)發(fā)模塊602,又包括如下一些處理模塊報(bào)文接收及分流單元701,用于從線路接收?qǐng)?bào)文,對(duì)一些系統(tǒng)還完成報(bào)文分流的作用。報(bào)文路徑識(shí)別單元702,完成鏈路的處理和接口的查找,轉(zhuǎn)發(fā)路徑的識(shí)別。報(bào)文分段處理單元703 708,完成本設(shè)備中相應(yīng)轉(zhuǎn)發(fā)路徑和轉(zhuǎn)發(fā)階段的分段處理。報(bào)文調(diào)度及發(fā)送單元709,完成報(bào)文的出隊(duì)及發(fā)送處理。本發(fā)明所要求保護(hù)的技術(shù)方案包含但不僅限于上述實(shí)施方式中的內(nèi)容,在不脫離本發(fā)明的精神實(shí)質(zhì)的情況下,本領(lǐng)域技術(shù)人員根據(jù)上述實(shí)施方式所記載的內(nèi)容對(duì)本發(fā)明的方案作出的等同替換均在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種報(bào)文分段處理系統(tǒng),其特征在于,包括控制平面處理模塊,用于轉(zhuǎn)發(fā)通道或轉(zhuǎn)發(fā)接口的生成,并在轉(zhuǎn)發(fā)接口上生成由轉(zhuǎn)發(fā)路徑和轉(zhuǎn)發(fā)階段組成的轉(zhuǎn)發(fā)矩陣;數(shù)據(jù)平面處理模塊,用于根據(jù)轉(zhuǎn)發(fā)接口的轉(zhuǎn)發(fā)矩陣,完成報(bào)文的轉(zhuǎn)發(fā)處理;資源調(diào)度模塊,用于完成轉(zhuǎn)發(fā)資源的調(diào)配。
2.如權(quán)利要求I所述的一種報(bào)文分段處理系統(tǒng),其特征在于,所述數(shù)據(jù)平面處理模塊, 包括報(bào)文接收及分流單元,用于從鏈路接收?qǐng)?bào)文,并基于報(bào)文特征劃分?jǐn)?shù)據(jù)流;報(bào)文路徑識(shí)別單元,用于完成鏈路的處理和接口的查找,并識(shí)別轉(zhuǎn)發(fā)路徑;報(bào)文分段處理單元,用于完成報(bào)文在不同轉(zhuǎn)發(fā)路徑上的轉(zhuǎn)發(fā)處理;報(bào)文調(diào)度及發(fā)送單元,用于完成報(bào)文出隊(duì)及發(fā)送處理。
3.如權(quán)利要求2所述的一種報(bào)文分段處理系統(tǒng),其特征在于,所述報(bào)文分段處理單元, 用于使用報(bào)文接收接口或報(bào)文發(fā)送接口的轉(zhuǎn)發(fā)矩陣中的轉(zhuǎn)發(fā)路徑的各個(gè)轉(zhuǎn)發(fā)階段處理函數(shù)進(jìn)行報(bào)文的轉(zhuǎn)發(fā)處理。
4.如權(quán)利要求I或2所述的一種報(bào)文分段處理系統(tǒng),其特征在于,所述轉(zhuǎn)發(fā)路徑由接口上用戶配置的轉(zhuǎn)發(fā)類型來(lái)決定。
5.如權(quán)利要求I或2所述的一種報(bào)文分段處理系統(tǒng),其特征在于,所述轉(zhuǎn)發(fā)路徑由報(bào)文頭中攜帶的負(fù)載類型來(lái)決定。
6.如權(quán)利要求I或2所述的一種報(bào)文分段處理系統(tǒng),其特征在于,所述資源調(diào)度模塊, 用于完成轉(zhuǎn)發(fā)矩陣的各轉(zhuǎn)發(fā)階段中CPU核和/或進(jìn)程和/或線程的配置和調(diào)度。
7.一種報(bào)文分段處理方法,包括控制平面處理模塊劃分報(bào)文轉(zhuǎn)發(fā)路徑及轉(zhuǎn)發(fā)階段, 并形成轉(zhuǎn)發(fā)矩陣;當(dāng)數(shù)據(jù)平面處理模塊接收到報(bào)文后,完成鏈路的處理和接口的查找,并識(shí)別轉(zhuǎn)發(fā)路徑;然后使用報(bào)文接收接口或報(bào)文發(fā)送接口的轉(zhuǎn)發(fā)矩陣中的轉(zhuǎn)發(fā)路徑的各個(gè)轉(zhuǎn)發(fā)階段處理函數(shù)進(jìn)行報(bào)文的轉(zhuǎn)發(fā)處理。
8.如權(quán)利要求7所述的一種報(bào)文分段處理方法,其特征在于,在報(bào)文的轉(zhuǎn)發(fā)處理過(guò)程中,直接修改報(bào)文本身或?qū)?bào)文的處理信息攜帶在報(bào)文的描述符中,由后續(xù)處理函數(shù)繼續(xù)處理。
9.如權(quán)利要求7或8所述的一種報(bào)文分段處理方法,其特征在于,該方法具體包括以下步驟a.驅(qū)動(dòng)接收?qǐng)?bào)文并定位接收物理接口;b.鏈路處理相應(yīng)的報(bào)文鏈路頭,區(qū)分報(bào)文的負(fù)載類型及所在的子接口,識(shí)別報(bào)文所屬轉(zhuǎn)發(fā)路徑;e.對(duì)報(bào)文所屬的轉(zhuǎn)發(fā)路徑進(jìn)行輸入處理和控制處理;f.對(duì)報(bào)文所屬的轉(zhuǎn)發(fā)路徑進(jìn)行查表,根據(jù)查表結(jié)果封裝新的鏈路頭; j.對(duì)報(bào)文入隊(duì)及報(bào)文發(fā)送進(jìn)行控制。
10.如權(quán)利要求9所述的一種報(bào)文分段處理方法,其特征在于,在步驟b和步驟e之間還包括步驟c.對(duì)報(bào)文中各個(gè)報(bào)文頭進(jìn)行解析,并將信息存入報(bào)文描述符中;d.對(duì)鏈路的輸入控制;在步驟f和步驟j之間還包括步驟g.對(duì)報(bào)文的輸出進(jìn)行解析;h.對(duì)報(bào)文所屬轉(zhuǎn)發(fā)路徑的輸出處理及輸出控制;i.對(duì)鏈路的輸出控制。
全文摘要
本發(fā)明涉及通信技術(shù)領(lǐng)域,其公開(kāi)了一種報(bào)文分段處理方法,解決傳統(tǒng)技術(shù)中無(wú)法適應(yīng)在通信設(shè)備硬件差異的情況下,滿足高效轉(zhuǎn)發(fā)的需求的問(wèn)題。其技術(shù)方案的要點(diǎn)是一種報(bào)文分段處理方法,包括控制平面處理模塊劃分報(bào)文轉(zhuǎn)發(fā)路徑及轉(zhuǎn)發(fā)階段,并形成轉(zhuǎn)發(fā)矩陣;當(dāng)數(shù)據(jù)平面處理模塊接收到報(bào)文后,完成鏈路的處理和接口的查找,并識(shí)別轉(zhuǎn)發(fā)路徑;然后使用報(bào)文接收接口或報(bào)文發(fā)送接口的轉(zhuǎn)發(fā)矩陣中的本轉(zhuǎn)發(fā)路徑的各個(gè)轉(zhuǎn)發(fā)階段處理函數(shù)進(jìn)行報(bào)文的轉(zhuǎn)發(fā)處理。此外,本發(fā)明還提出了一種報(bào)文分段處理系統(tǒng),適用于報(bào)文快速高效轉(zhuǎn)發(fā)。
文檔編號(hào)H04L12/56GK102594680SQ20121003445
公開(kāi)日2012年7月18日 申請(qǐng)日期2012年2月15日 優(yōu)先權(quán)日2012年2月15日
發(fā)明者劉寶琴, 楊文楷 申請(qǐng)人:邁普通信技術(shù)股份有限公司