欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分布式包交換系統(tǒng)和分布式包交換方法

文檔序號:7708979閱讀:169來源:國知局
專利名稱:分布式包交換系統(tǒng)和分布式包交換方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種分布式包交換系統(tǒng)和一種分布 式包交換方法。
背景技術(shù)
為了適應(yīng)網(wǎng)絡(luò)迅速增加的帶寬需求,中間層路由交換設(shè)備的結(jié)構(gòu)發(fā)生了 根本性變化,由傳統(tǒng)的基于總線和中央處理器架構(gòu)逐步過渡到分布式架構(gòu),從而能夠通過交換結(jié)構(gòu)(switch fabric)提高數(shù)據(jù)通信速度。目前主流的交換技術(shù)包括信元交換和包交換;其中,信元交換由于芯片 價(jià)格昂貴而且定位于電信級的高端網(wǎng)絡(luò)基礎(chǔ)設(shè)備,因此主要被應(yīng)用于ATM (Asychronous Transfer Mode,異步傳輸模式)網(wǎng)絡(luò)以及高端的IP網(wǎng)絡(luò)設(shè)備; 包交換技術(shù)則在基于以太網(wǎng)技術(shù)的網(wǎng)絡(luò)基礎(chǔ)設(shè)備中獲得廣泛應(yīng)用。圖1示出了一分布式包交換系統(tǒng)的示意圖,該分布式包交換系統(tǒng)包 括多個線卡板和一個包交換芯片(也稱以太網(wǎng)包交換芯片),包交換芯 片的每個輸入端口最多同時接收一個數(shù)據(jù)包,每個輸出接口最多同時發(fā) 送一個數(shù)據(jù)包,基于報(bào)文長度統(tǒng)計(jì)、以數(shù)據(jù)包為單位進(jìn)行報(bào)文調(diào)度;上述基于報(bào)文長度統(tǒng)計(jì)進(jìn)行調(diào)度的基本原則是接收側(cè)接收發(fā)送側(cè) 的各種狀態(tài)信息(例如隊(duì)列狀態(tài)、包緩存空間等),動態(tài)的為每個發(fā)送 側(cè)分配帶寬,發(fā)送側(cè)根據(jù)此帶寬發(fā)送報(bào)文;通過上述基于報(bào)文長度的分 布式流控,保證了各線卡板之間的公平調(diào)度,避免在以太網(wǎng)包交換芯片 中發(fā)生擁塞和報(bào)文丟棄,同時兼顧了以太網(wǎng)包交換芯片的帶寬利用率;但是,上述分布式包交換技術(shù)是以數(shù)據(jù)包為單位進(jìn)行調(diào)度的,由于 數(shù)據(jù)包的長度具有很大的隨機(jī)性,因此分布式包交換系統(tǒng)存在調(diào)度粒度 大的缺陷,這將導(dǎo)致數(shù)據(jù)流的抖動增大,降低了系統(tǒng)流量的均勻性;此外,上述以數(shù)據(jù)包為單位進(jìn)行調(diào)度的分布式包交換技術(shù)還存在"短 包等長包"問題;例如,線卡板A發(fā)送到線卡板B的數(shù)據(jù)包長度為1514字節(jié),發(fā)送到線卡板C的數(shù)據(jù)包長度為64字節(jié),由于包交換芯片與線卡 板A相連接的輸入端口同時只能接收一個數(shù)據(jù)包,因此在線卡板A向線 卡板B發(fā)送1514字節(jié)數(shù)據(jù)包的過程中,需要發(fā)送到線卡板C的64字節(jié) 數(shù)據(jù)包就不得不處于等待狀態(tài)。發(fā)明內(nèi)容本發(fā)明的實(shí)施例旨在提供能夠有效降低數(shù)據(jù)流抖動、提高系統(tǒng)流量均勻 性以及克服數(shù)據(jù)包等待的分布式包交換方案,從而提高網(wǎng)絡(luò)設(shè)備系統(tǒng)的QoS (Quality-of-Service,服務(wù)質(zhì)量)能力。.為實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例提供了一種分布式包交換系統(tǒng),包括 包交換芯片和多個線卡板;每個線卡板分別設(shè)有一包處理單元以及連接所述 包處理單元的上行交換適配單元和下行交換適配單元;源線卡板的上行交換適配單元從本線卡板的包處理單元接收上行數(shù)據(jù) 包,按照相應(yīng)目的線卡板分別加以緩存并按一定長度進(jìn)行切片,以及,輪詢 各緩存隊(duì)列,將滿足帶寬要求的報(bào)文切片通過所述包交換芯片發(fā)送至目的線 卡板;目的線卡板的下行交換適配單元為源線卡板的上行交換適配單元動態(tài) 分配帶寬,重組從包交換芯片接收的報(bào)文切片并發(fā)送給本線卡板的包處理單 元。為實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例還提供了一種分布式包交換方法,適 用于包括包交換芯片和多個線卡板的分布式包交換系統(tǒng);包括以下步驟步驟Sl:源線卡板將上行數(shù)據(jù)包按照目的線卡板分別加以緩存并按 一定長度進(jìn)行切片;步驟S2:源線卡板輪詢各緩存隊(duì)列,將滿足帶寬要求的報(bào)文切片通過 所述包交換芯片發(fā)送至相應(yīng)的目的線卡板;其中,所述帶寬由所述目的線卡 板動態(tài)分配;步驟S3:目的線卡板對接收到的報(bào)文切片進(jìn)行重組。由上述技術(shù)方案可知,本發(fā)明的實(shí)施例通過數(shù)據(jù)包的切片與重組,采用 小包流控代替大包流控,具有以下有益效果1、 能夠有效減小數(shù)據(jù)流的抖動,提高系統(tǒng)流量的均勻性;2、 避免了 "短包等長包"問題;3、 簡單易行,有效提高分布式包交換系統(tǒng)的QoS能力。通過以下參照附圖對優(yōu)選實(shí)施例的說明,本發(fā)明的上述以及其它目的、 特征和優(yōu)點(diǎn)將更加明顯。


圖1為現(xiàn)有技術(shù)中分布式包交換系統(tǒng)的示意圖;圖2為本發(fā)明所提供分布式包交換系統(tǒng)的結(jié)構(gòu)框圖;圖3為本發(fā)明所提供分布式包交換系統(tǒng)中一個源線卡板和一個目的線卡 板之間的工作狀態(tài)示意圖;圖4為本發(fā)明所提供分布式包交換系統(tǒng)中,上行交換適配單元一實(shí)施例 的框圖;圖4a為上行交換適配單元中第一報(bào)文緩存模塊與報(bào)文長度存儲模塊的 對應(yīng)關(guān)系示意圖;圖4b為上行交換適配單元中報(bào)文切片模塊一實(shí)施例的工作原理示意圖;圖5為本發(fā)明所提供分布式包交換系統(tǒng)中,下行交換適配單元一實(shí)施例 的框圖; ,圖6為本發(fā)明提供的分布式包交換方法一實(shí)施例的流程圖; 圖7a為數(shù)據(jù)包切片一實(shí)施例的流程圖; 圖7b為數(shù)據(jù)包切片另一實(shí)施例的流程圖。
具體實(shí)施方式
下面將詳細(xì)描述本發(fā)明的具體實(shí)施例。應(yīng)當(dāng)注意,這里描述的實(shí)施例只 用于舉例說明,并不用于限制本發(fā)明。本發(fā)明的主要構(gòu)思在于采用變長小包代替變長大包進(jìn)行分布式包交 換,來解決現(xiàn)有數(shù)據(jù)包交換中存在的抖動、均勻度以及數(shù)據(jù)包等待問題。 下面將詳細(xì)介紹本發(fā)明所提供的分布式包交換系統(tǒng)及分布式包交換方 法。下面對分布式包交換系統(tǒng)加以描述。請結(jié)合圖2,分布式包交換系統(tǒng)200包括包交換芯片和多個線卡板;包交換芯片也稱為以太網(wǎng)包交換芯片,其每個輸入端口最多同時接收 一個數(shù)據(jù)包(即一個報(bào)文, 一般為以太網(wǎng)幀格式的IP報(bào)文),每個輸出接口最多同時發(fā)送一個數(shù)據(jù)包;通常情況下,基于以太網(wǎng)總線的數(shù)據(jù)包 報(bào)文長度為64 1514字節(jié),即通過包交換芯片進(jìn)行交換的數(shù)據(jù)包報(bào)文長 度為64 1514字節(jié),由于粒度大而導(dǎo)致了現(xiàn)有技術(shù)中存在的數(shù)據(jù)流抖動、 流量不均勻以及數(shù)據(jù)包等待問題;本發(fā)明基于現(xiàn)有的包交換芯片,通過對線卡板結(jié)構(gòu)的改進(jìn)來克服上 述問題,具體的,每個線卡板分別設(shè)有一包處理單元210以及連接包處理 單元210的上行交換適配單元220和下行交換適配單元230;其中,該包處理單元210對于上行數(shù)據(jù)包和下行數(shù)據(jù)包的處理沿用現(xiàn)有技 術(shù),包括對于上行數(shù)據(jù)包進(jìn)行報(bào)文的接收、査表、選路、業(yè)務(wù)處理、 在報(bào)文中添加板間傳輸信息和封裝等操作,然后將報(bào)文發(fā)送給上行交換 適配單元220;以及,接收下行交換適配單元230發(fā)送的下行數(shù)據(jù)包,剝 離板間傳輸信息,執(zhí)行下行方向的業(yè)務(wù)處理和報(bào)文封裝,并完成報(bào)文到 出接口的發(fā)送;在此不再贅述;對于上行交換適配單元220和下行交換適配單元230來說,雖然每個線 卡板都具有上述結(jié)構(gòu),但在實(shí)際工作中涉及的是數(shù)據(jù)包在兩個線卡板之間的 轉(zhuǎn)發(fā)處理,即對一個數(shù)據(jù)包而言,其是從一個源線卡板通過包交換芯片發(fā)送 給一個目的線卡板;為了便于說明,請結(jié)合圖3,顯示了分布式交換系統(tǒng)中 數(shù)據(jù)包從一個源線卡板發(fā)往另一個目的線卡板的工作狀態(tài)示意圖;本領(lǐng)域技 術(shù)人員可以了解,在實(shí)際使用中,源線卡板可以向多個目的線卡板發(fā)送不同的數(shù)據(jù)包,目的線卡板也可以接收多個源線卡板發(fā)送的不同數(shù)據(jù)包,但具體 到每個數(shù)據(jù)包的轉(zhuǎn)發(fā),其工作原理都如圖3所示源線卡板的上行交換適配單元320從本線卡板的包處理單元310接收上行數(shù)據(jù)包,按照相應(yīng)目的線卡板分別加以緩存并按一定長度進(jìn)行切片,以及, 輪詢各緩存隊(duì)列,將滿足帶寬要求的報(bào)文切片通過包交換芯片發(fā)送至目的線卡板;目的線卡板的下行交換適配單元330為源線卡板的上行交換適配單元 320動態(tài)分配帶寬,重組從包交換芯片接收的報(bào)文切片并發(fā)送給本線卡板的 包處理單元310;可以看出,上行交換適配單元320和下行交換適配單元330配合完成了 報(bào)文切片的流控調(diào)度,其基本原理為下行交換適配單元330接收其他線卡 板上行交換適配單元320的各種狀態(tài)信息(如隊(duì)列狀態(tài)、包緩存空間等), 動態(tài)的為每個上行交換適配單元320分配帶寬,各上行交換適配單元320 依據(jù)此帶寬發(fā)送報(bào)文;通過報(bào)文切片的流控調(diào)度,能夠保證包交換芯片 不存在擁塞和丟包現(xiàn)象,并保證各線卡板之間的公平調(diào)度,同時兼顧包 交換芯片的帶寬利用率;由于接收端為發(fā)送端分配帶寬的技術(shù)已經(jīng)在中 國專利申請 CN200710176023.8 、 CN200710179965.1 以及 CN200710193772.1中進(jìn)行了詳細(xì)的探討,故在此不再贅述;同時,上行交換適配單元320完成報(bào)文的緩存、切片操作,下行交換適 配單元330完成報(bào)文切片的重組操作,即切片始于上行交換適配單元320, 重組終于下行交換適配單元330,具有以下優(yōu)點(diǎn)(1) 由于采用一定長度的小包交換代替了原有的64 1514字節(jié)數(shù)據(jù) 包的整包交換,交換粒度減小,從而能夠有效減小數(shù)據(jù)流抖動和提高系 統(tǒng)流量的均勻性;同時,有必要指出,由包交換芯片本身特性所決定的, 其能夠支持變長數(shù)據(jù)包,這也就意味著,其同樣支持變長的報(bào)文切片, 因此,當(dāng)切片最后的報(bào)文剩余長度不足所設(shè)置的一定長度時,無需進(jìn)行 字節(jié)填充,因此不會帶來額外的系統(tǒng)開銷;(2) 采用輪詢發(fā)送,即當(dāng)一個源線卡板同時有一個大包要發(fā)送給目 的線卡板A, 一個小包要發(fā)送給目的線卡板B時,由于兩個數(shù)據(jù)包都被切片處理,因此在帶寬都滿足要求的情況下,是兩個數(shù)據(jù)包的報(bào)文切片 在交替發(fā)送,不存在短包等長包的現(xiàn)象;(3)包切片和組幀由上行交換適配單元和下行交換適配單元完成, 不會增加包處理單元額外的工作;需要指出,本發(fā)明分布式包交換系統(tǒng) 中,線卡板上的上行交換適配單元和下行交換適配單元可以采用獨(dú)立的軟 件實(shí)現(xiàn),也可以采用獨(dú)立的硬件方式實(shí)現(xiàn),或者采用獨(dú)立的軟件和硬件 結(jié)合的方式實(shí)現(xiàn),以確保不會由于帶給包處理單元額外的工作而降低系 統(tǒng)包轉(zhuǎn)發(fā)能力;其中獨(dú)立的硬件實(shí)現(xiàn)是最佳的實(shí)施方式,比如采用現(xiàn)場 可編程門陣列實(shí)現(xiàn)。上面雖然對本發(fā)明分布式包交換系統(tǒng)從整體上進(jìn)行了介紹,但在實(shí) 際應(yīng)用中,本領(lǐng)域技術(shù)人員可以采用不同的方式來實(shí)現(xiàn)上述上行交換適配 單元和下行交換適配單元的功能,下面分別對其較佳實(shí)施例加以描述,以獲 得較佳的技術(shù)效果。圖4示出了上行交換適配單元420 —實(shí)施例,包括上行報(bào)文接收處 理模塊421、報(bào)文長度統(tǒng)計(jì)模塊422、上行報(bào)文發(fā)送模塊426和流控模塊 427,還包括分別為每一其它線卡板(l~n,不包括上行交換適配單元420 所在的線卡板)設(shè)置的報(bào)文長度存儲模塊423、第一報(bào)文緩存模塊424 和報(bào)文切片模塊425;下面對上行交換適配單元420的各組成部分分別加 以描述上行報(bào)文接收處理模塊421接收來自包處理單元的上行數(shù)據(jù)包,根 據(jù)上行數(shù)據(jù)包中攜帶的目的線卡板信息,將其發(fā)送到相應(yīng)的第一報(bào)文緩 存模塊424;其中,上行報(bào)文接收處理模塊421需要預(yù)設(shè)第一報(bào)文緩存模 塊424與目的線卡板的對應(yīng)關(guān)系,該對應(yīng)關(guān)系可以直接設(shè)置在上行報(bào)文 接收處理模塊421中,也可以如圖4所示,設(shè)置在獨(dú)立的緩存對應(yīng)表中; 以設(shè)置在獨(dú)立的緩存對應(yīng)表為例,上行報(bào)文接收處理模塊421在接收到 上行數(shù)據(jù)包后,即可根據(jù)數(shù)據(jù)包中封裝的目的線卡板信息以及緩存對應(yīng) 表所設(shè)置的信息,將該數(shù)據(jù)包存儲到某個第一報(bào)文緩存模塊424;報(bào)文長度統(tǒng)計(jì)模塊422與所述上行報(bào)文接收處理模塊421連接,統(tǒng) 計(jì)所述上行數(shù)據(jù)包的報(bào)文長度信息,并存儲到相應(yīng)的報(bào)文長度存儲單元423;報(bào)文長度存儲模塊423與第一報(bào)文緩存模塊424是一一對應(yīng)的,其 所存儲的每個報(bào)文長度信息同樣與相應(yīng)第一報(bào)文緩存模塊424所緩存的 報(bào)文是一一對應(yīng)的,如圖4a所示,對應(yīng)第n個線卡板的第一報(bào)文緩存模 塊424存儲有m個IP報(bào)文,則對應(yīng)第n個線卡板的報(bào)文長度存儲模塊 423就對應(yīng)保存有這m個IP報(bào)文的長度信息;當(dāng)然,第一報(bào)文緩存模塊 424所能夠存儲的數(shù)據(jù)包個數(shù)與線卡板的緩存容量規(guī)格有關(guān);雖然本發(fā)明并不限定報(bào)文長度存儲模塊423和第一報(bào)文緩存模塊 424中數(shù)據(jù)存儲的方式,可以由本領(lǐng)域人員自行確定,但不同的實(shí)現(xiàn)方式 可能在實(shí)現(xiàn)效果上有所差異;比如,如果是連續(xù)的依次進(jìn)行數(shù)據(jù)包存儲 和長度信息存儲,就必須附加不同報(bào)文區(qū)分標(biāo)示,從而保證對報(bào)文長度 信息的獲取和報(bào)文的正確尋址,這將給系統(tǒng)帶來一些額外的處理開銷;因此,作為較佳的實(shí)施例,報(bào)文長度存儲模塊423可以以四個字節(jié) 為單位進(jìn)行報(bào)文長度信息的保存;以圖4a所示情況為例,第n個線卡板 的報(bào)文長度存儲模塊423中前四個字節(jié)用于保存IP報(bào)文1的長度信息, 第5 8字節(jié)用于保存IP報(bào)文2的長度信息,依次類推,直至IP報(bào)文m;類似的,第一報(bào)文緩存模塊424可以分割為固定字節(jié)的緩存子模塊, 每一緩存子模塊用于緩存一個數(shù)據(jù)包報(bào)文;由于數(shù)據(jù)包長度一般為 64 1514字節(jié),因此可以設(shè)置2048字節(jié)的緩存子模塊,其完全可以滿足 數(shù)據(jù)包存儲需求,當(dāng)然,本領(lǐng)域技術(shù)人員也可以采用其他規(guī)格的緩存子 模塊,只要能夠滿足數(shù)據(jù)包存儲要求即可;以圖4a所示情況為例,第n 個線卡板的第一報(bào)文緩存模塊424中,前2048字節(jié)用于保存IP報(bào)文1, 第2049 4096字節(jié)用于保存IP報(bào)文2,依次類推,直至IP報(bào)文m;通過上述對報(bào)文長度存儲模塊423和/或第一報(bào)文緩存模塊424進(jìn)行 字節(jié)劃分,其所保存的長度信息和數(shù)據(jù)包能夠天然對應(yīng),無需進(jìn)行特殊 標(biāo)示的識別即可實(shí)現(xiàn)報(bào)文尋址。繼續(xù)對上行交換適配單元420中的其他組成部分加以描述對應(yīng)線卡板1 n的報(bào)文切片模塊425分別與相應(yīng)線卡板的第一報(bào)文 緩存模塊424以及報(bào)文長度存儲模塊423連接,提取上行數(shù)據(jù)包的報(bào)文長度信息并按照一定長度進(jìn)行切片;本發(fā)明并未對報(bào)文切片模塊425的具體實(shí)現(xiàn)方式加以限制;較佳的, 如圖4b所示,報(bào)文切片模塊425可以包括數(shù)據(jù)包指針4251,指向當(dāng)前上行數(shù)據(jù)包地址;報(bào)文長度指針4252,指向報(bào)文長度存儲單元中存儲當(dāng)前數(shù)據(jù)包報(bào)文 長度信息的地址;報(bào)文切片指針4253,指向當(dāng)前報(bào)文切片地址;報(bào)文切片收發(fā)子模塊4254,用于根據(jù)上述指針提取一定長度的報(bào)文 數(shù)據(jù)發(fā)送給上行報(bào)文發(fā)送模塊426,并將所述當(dāng)前報(bào)文切片地址偏移所述 一定長度后的地址作為新的當(dāng)前報(bào)文切片地址,進(jìn)行所述報(bào)文切片指針 4253跳轉(zhuǎn);如果當(dāng)前報(bào)文發(fā)送完成,同時進(jìn)行數(shù)據(jù)包指針4251和報(bào)文長 度指針4252的跳轉(zhuǎn), 一般來說,是按照數(shù)據(jù)包在第一報(bào)文緩存模塊424 的次序,順序跳轉(zhuǎn)到下一個數(shù)據(jù)包報(bào)文;進(jìn)一步的,報(bào)文切片模塊425還可以包括報(bào)文優(yōu)先級識別子模塊(圖 中未示),其與第一報(bào)文緩存模塊424以及報(bào)文切片收發(fā)子模塊4254連 接,用于識別緩存在第一報(bào)文緩存模塊424中報(bào)文數(shù)據(jù)包的優(yōu)先級,在 當(dāng)前數(shù)據(jù)包報(bào)文發(fā)送完成后,使數(shù)據(jù)包指針4251和報(bào)文長度指針4252 指向具有較高優(yōu)先級的數(shù)據(jù)包進(jìn)行切片;如果具有兩個或以上較高優(yōu)先 級的數(shù)據(jù)包,則一般按緩存次序進(jìn)行數(shù)據(jù)包切片;作為較佳的實(shí)施例,如果報(bào)文長度存儲模塊423以四個字節(jié)為單位 進(jìn)行報(bào)文長度信息的保存且第一報(bào)文緩存模塊424被分割為2048字節(jié)的 緩存子模塊時,對應(yīng)第n個線卡板的報(bào)文切片模塊425的工作原理如圖 4b所示報(bào)文切片模塊425通過數(shù)據(jù)包指針4251記憶當(dāng)前IP報(bào)文的地址, 并能夠通過當(dāng)前IP報(bào)文的地址計(jì)算下一個IP報(bào)文的地址(當(dāng)前報(bào)文地址 + 2048,如果當(dāng)前數(shù)據(jù)包的IP報(bào)文切片未發(fā)送完畢,貝U+0);報(bào)文切片模塊425通過報(bào)文長度指針4252記憶當(dāng)前報(bào)文長度緩存的 地址,并能夠通過當(dāng)前報(bào)文長度緩存的地址計(jì)算下一個報(bào)文長度緩存的 地址(當(dāng)前地址+ 4,如果當(dāng)前數(shù)據(jù)包的IP報(bào)文切片未發(fā)送完畢,貝U+0);報(bào)文切片模塊425通過報(bào)文切片指針4253記憶當(dāng)前切片地址,由于 是按照一定長度進(jìn)行報(bào)文切片,比如128字節(jié),因此能通過計(jì)算得到下 一個切片地址;當(dāng)然,在具體實(shí)現(xiàn)時,本領(lǐng)域技術(shù)人員也可以根據(jù)需要 設(shè)定其他的切片算法,本發(fā)明后續(xù)將提供兩種比較優(yōu)選的報(bào)文切片算法;本領(lǐng)域技術(shù)人員可以了解,上述較佳的實(shí)施例在報(bào)文切片模塊425 設(shè)有報(bào)文優(yōu)先級識別子模塊的情況下,數(shù)據(jù)包指針4251以及報(bào)文長度指 針4252有可能不是順序跳轉(zhuǎn);仍以4字節(jié)分割報(bào)文長度存儲模塊423和 以2048字節(jié)分割第一報(bào)文緩存模塊424為例,下一個IP報(bào)文的地址為 當(dāng)前報(bào)文地址+ xf2048,下一個報(bào)文長度緩存的地址為當(dāng)前地址+ 乂*4, x為所間隔的數(shù)據(jù)包數(shù)目;可以看出,無論是否按照優(yōu)先級進(jìn)行報(bào)文切片, 通過對報(bào)文長度存儲模塊423和/或第一報(bào)文緩存模塊424進(jìn)行字節(jié)劃分, 都能夠更為容易的實(shí)現(xiàn)報(bào)文尋址;更進(jìn)一步的,為了方便下行交換適配單元組幀,對報(bào)文切片模塊425 中還可以設(shè)有組幀信息標(biāo)簽子模塊4255,用于在每個報(bào)文切片中添加組 幀信息標(biāo)簽,至少標(biāo)識報(bào)文切片在數(shù)據(jù)包報(bào)文中的位置,即是數(shù)據(jù)包的 第一個切片、中間切片還是最后一個切片;此外,還可以為每一個切片 進(jìn)行排序,比如第一個報(bào)文切片標(biāo)識1,第二個報(bào)文切片標(biāo)識2……依次 類推,和/或,還可以提供其他有助于組幀的信息,比如校驗(yàn)位等;有必要指出的是,組幀信息標(biāo)簽可以作為獨(dú)立的標(biāo)簽添加到報(bào)文轉(zhuǎn) 發(fā)標(biāo)識和切片報(bào)文之間,也可以作為報(bào)文轉(zhuǎn)發(fā)標(biāo)識的一部分,即利用報(bào) 文轉(zhuǎn)發(fā)標(biāo)識中沒有使用的字段實(shí)現(xiàn);在常見的以太網(wǎng)包交換芯片應(yīng)用中, 報(bào)文轉(zhuǎn)發(fā)標(biāo)識并不會占用有效物理帶寬,如美國博通公司的10Gbps以太 網(wǎng)交換芯片通過HiGig頭信息進(jìn)行報(bào)文交換,HiGig頭信息不占用有效的 物理帶寬,因此組幀信息標(biāo)簽作為報(bào)文轉(zhuǎn)發(fā)標(biāo)識的一部分時,不會帶來 任何額外的系統(tǒng)開銷;當(dāng)組幀信息標(biāo)簽作為獨(dú)立標(biāo)簽時,帶來的額外開 銷也很小,比如假設(shè)每個報(bào)文切片為128字節(jié),如果每個報(bào)文切片需要2 個字節(jié)的組幀信息標(biāo)簽開銷,那么開銷僅占2/128= 1.5%,由于組幀信息 標(biāo)簽的信息有限,不需占用過多的字節(jié),因此最壞情況下的開銷也僅為 3.1%;再進(jìn)一步的,為了應(yīng)對可能出現(xiàn)的異常情況,報(bào)文切片模塊425中 還可以設(shè)有第一異常處理子模塊4256,用于在接收到目的線卡板復(fù)位或 者異常信號時,暫停所述報(bào)文切片收發(fā)子模塊4254,并丟棄當(dāng)前相應(yīng)上 行數(shù)據(jù)包的剩余報(bào)文切片;當(dāng)然,如果是本線卡板發(fā)生復(fù)位或者狀態(tài)機(jī) 異常,由于線卡板本身會進(jìn)行初始化,包括將線卡板上全部的第一報(bào)文 緩存模塊424、全部的報(bào)文長度存儲模塊423以及全部報(bào)文切片模塊425 中的指針清零,因此無需第一異常處理子模塊4256單獨(dú)加以操作;線卡 板本身的初始化機(jī)制己經(jīng)較為成熟,在此不再贅述;繼續(xù)對上行交換適配單元420中的其他組成部分加以描述 流控模塊427用于接收各目的線卡板動態(tài)分配的帶寬; 上行報(bào)文發(fā)送模塊426與所述流控模塊427連接并輪詢各報(bào)文切片 模塊425,如果所分配帶寬滿足所輪詢的報(bào)文切片模塊425中切片長度要 求,則通過所述報(bào)文切片模塊425中提取一個報(bào)文切片發(fā)送給包交換芯 片;本領(lǐng)域技術(shù)人員可以看出,上行報(bào)文發(fā)送模塊426進(jìn)行的是輪詢調(diào) 度,因此各線卡板對應(yīng)的報(bào)文切片模塊425都能夠在一次輪詢中得到調(diào) 度機(jī)會,不存在短包等長包的問題;以及,由于包交換芯片的端口特性, 即與某一線卡板連接的端口同時至多發(fā)送一個數(shù)據(jù)包,因此當(dāng)這個報(bào)文 切片還沒有發(fā)送完畢時,不會對其它報(bào)文進(jìn)行切片和發(fā)送,因此上行方 向的切片和下行方向的重組都相當(dāng)簡單;進(jìn)一步的,可以對各第一報(bào)文緩存模塊424劃分優(yōu)先級,這樣上行 報(bào)文發(fā)送模塊426能夠按照優(yōu)先級次序輪詢相應(yīng)的報(bào)文切片模塊425;更進(jìn)一步的,流控模塊427可以通過令牌桶的方式實(shí)現(xiàn),即流控模 塊427包括令牌桶更新子模塊4271以及分別為每一其它線卡板設(shè)置的令 牌桶4272;該令牌桶更新子模塊4271與各令牌桶4272連接,用于接收 各目的線卡板動態(tài)分配的帶寬,周期性調(diào)整各令牌桶中的令牌數(shù);這樣, 上行報(bào)文發(fā)送模塊426通過進(jìn)行相應(yīng)令牌桶4272中的令牌評估,就能夠 確定所分配帶寬是否滿足所輪詢的報(bào)文切片長度要求,對于評估滿足要 求時,報(bào)文切片模塊425提供一個切片后的報(bào)文,通過上行報(bào)文發(fā)送模塊426發(fā)送到包交換芯片;由于中國專利申請CN200810112356.9已經(jīng)就 如何進(jìn)行令牌評估進(jìn)行了詳細(xì)的介紹,故在本發(fā)明中不再贅述。接下來,圖5示出了一下行交換適配單元530的實(shí)施例,包括下行 報(bào)文接收處理模塊531和下行報(bào)文發(fā)送模塊534,還包括分別為每一其它 線卡板(1 n,不包括下行交換適配單元530所在的線卡板)設(shè)置的報(bào)文 組幀模塊532和第二報(bào)文緩存模塊533;下行報(bào)文接收處理模塊531接收來自包交換芯片的報(bào)文切片,根據(jù) 報(bào)文切片攜帶的報(bào)文轉(zhuǎn)發(fā)標(biāo)識,將其發(fā)送到相應(yīng)的報(bào)文組幀模塊532;與 上行報(bào)文接收處理模塊421類似,需要預(yù)設(shè)報(bào)文組幀模塊532與源線卡 板的對應(yīng)關(guān)系,該對應(yīng)關(guān)系可以直接設(shè)置在下行報(bào)文接收處理模塊531 中,也可以如圖5所示,設(shè)置在獨(dú)立的緩存對應(yīng)表中;報(bào)文組幀模塊532進(jìn)行報(bào)文重組并發(fā)送給相應(yīng)的第二報(bào)文緩存模塊 533;在一個實(shí)施例中,報(bào)文組幀模塊532可以在報(bào)文組幀完成后再將其 發(fā)送給第二報(bào)文緩存模塊533,但這需要報(bào)文組幀模塊532本身提供一定 的緩存空間;因此,較佳的實(shí)施例為第二報(bào)文緩存模塊533同樣提供 多個固定字節(jié)的存儲空間(如2048字節(jié)),報(bào)文組幀模塊532依次把某 個報(bào)文的切片填入到此存儲空間,直到接收到最后一個切片,然后標(biāo)識 該報(bào)文組幀完畢,即可以接受下行報(bào)文發(fā)送模塊534的調(diào)度;對于下一 個報(bào)文,使用下一個2048字節(jié)的存儲空間按照同樣的方式進(jìn)行處理;這 種方式下,報(bào)文組幀模塊532不會占用任何緩存空間,可以降低系統(tǒng)設(shè) 計(jì)成本;下行報(bào)文發(fā)送模塊534輪詢調(diào)度各第二報(bào)文緩存模塊533,將所輪詢 第二報(bào)文緩存模塊533中當(dāng)前報(bào)文發(fā)送到包處理單元;在上述下行交換適配單元530中,雖然報(bào)文切片按照順序依次組幀 很容易實(shí)現(xiàn),但鑒于異常情況的存在,因此較佳的實(shí)施例是上行交換適 配單元發(fā)出的報(bào)文切片攜帶有組幀信息標(biāo)簽,下行交換適配單元530根 據(jù)報(bào)文切片中組幀信息標(biāo)簽進(jìn)行重組;進(jìn)一步的,為應(yīng)對異常情況的處理,報(bào)文組幀模塊532中可以設(shè)有 第二異常處理子模塊(圖中未示),用于對報(bào)文組幀進(jìn)行監(jiān)控并在下述情況下丟棄數(shù)據(jù)包報(bào)文超過預(yù)設(shè)時間未完成一數(shù)據(jù)包的組幀,丟棄所 述數(shù)據(jù)包的全部已接收報(bào)文切片;組幀報(bào)文不完整,丟棄該數(shù)據(jù)包的全 部已接收報(bào)文切片;和/或,源線卡板復(fù)位或狀態(tài)機(jī)異常,丟棄從該源線 卡板接收的未完成組幀數(shù)據(jù)包的全部已接收報(bào)文切片;當(dāng)然,如果本線 卡板發(fā)生復(fù)位或狀態(tài)機(jī)異常,那么會由線卡板直接進(jìn)行初始化;一般情況下,由于進(jìn)行了分布式流控,報(bào)文切片在包交換芯片中不 會發(fā)生交換丟棄,因此組幀報(bào)文不完整的情況很多是由于源線卡板的異 常所導(dǎo)致的,即常見的情況是未接收到前一數(shù)據(jù)包的最后一個報(bào)文切片 時,就接收到另外一個數(shù)據(jù)包的報(bào)文切片,此時,需要丟棄所述前一數(shù) 據(jù)包的全部已接收報(bào)文切片;但是,盡管可能性很低,也并不能排除電子干擾或者其他因素導(dǎo)致 的報(bào)文缺失,包括未接收到某一數(shù)據(jù)包的第一個報(bào)文切片或者中間的某 個或者某些報(bào)文切片等等,這種情況下,丟棄該數(shù)據(jù)包的全部已接收報(bào) 文切片。下面,對本發(fā)明提供的分布式包交換方法加以描述,該分布式包交 換方法適用于包括包交換芯片和多個線卡板的分布式包交換系統(tǒng)。 如圖6所示,本發(fā)明提供的分布式包交換方法包括以下步驟 步驟Sl:源線卡板將上行數(shù)據(jù)包按照目的線卡板分別加以緩存并按一定 長度進(jìn)行切片;即,源線卡板根據(jù)上行數(shù)據(jù)包中攜帶的目的線卡板信息將其發(fā)送到 相應(yīng)的緩存隊(duì)列,同時統(tǒng)計(jì)所述上行數(shù)據(jù)包的報(bào)文長度信息;以及,源 線卡板提取所述上行數(shù)據(jù)包的報(bào)文長度信息并按照一定長度進(jìn)行切片;為了便于后續(xù)組幀,步驟S1中還可以包括以下步驟在每個報(bào)文切 片中添加組幀信息標(biāo)簽,至少標(biāo)識報(bào)文切片在數(shù)據(jù)包報(bào)文中的位置;進(jìn)一步的,可以先選擇優(yōu)先級較高的報(bào)文進(jìn)行切片供后續(xù)的輪詢調(diào)用;再進(jìn)一步的,由于本發(fā)明是將64 1514字節(jié)長度的報(bào)文切片為變長 小包(如長度為64 128字節(jié))進(jìn)行調(diào)度,為了便于本領(lǐng)域技術(shù)人員更好的應(yīng)用本發(fā)明所提供的技術(shù)方案,下面給出兩種較佳的切片方案 如圖7a所示, 一種切片方案包括以下步驟步驟S101:識別上行數(shù)據(jù)包的長度,如果數(shù)據(jù)包的報(bào)文長度N大于等于256字節(jié),執(zhí)行步驟S102;如果數(shù)據(jù)包的報(bào)文長度N小于256字節(jié) 但大于128字節(jié),執(zhí)行步驟S103;如果數(shù)據(jù)包的報(bào)文長度N小于等于128 字節(jié),執(zhí)行步驟S104;步驟S102:按照128字節(jié)切片,如果剩余報(bào)文長度N'大于等于256 字節(jié),重新執(zhí)行步驟S102;如果剩余報(bào)文長度N'小于256字節(jié)但大于 128字節(jié),執(zhí)行步驟S103;如果剩余數(shù)據(jù)包的報(bào)文長度N'小于等于128 字節(jié),執(zhí)行步驟S104;步驟S103:如果報(bào)文長度N或N'為偶數(shù),則以N/2或N' /2為單 位切片;如果報(bào)文長度N或N'為奇數(shù),則切片為(N-l) /2及(N+l) /2或(N' -1)/2及(N' +1)/2;當(dāng)然,對N而言,可以前一切片為(N-l) /2,后一切片為(N+l) /2,或者,前一切片為(N+l) /2,后一切片為 (N畫l) /2; N'同理;步驟S104:不進(jìn)行切片;可以看出,按照圖7a所示方案進(jìn)行報(bào)文切片,切片的長度在64 128 字節(jié)之間,不存在小于64字節(jié)的情況;如圖7b所示,另一種切片方案包括以下步驟步驟S111:識別上行數(shù)據(jù)包的長度,如果數(shù)據(jù)包的報(bào)文長度N大于 等于192字節(jié),執(zhí)行步驟S112;如果數(shù)據(jù)包的報(bào)文長度N小于192字節(jié) 但大于128字節(jié),執(zhí)行步驟S113;如果數(shù)據(jù)包的報(bào)文長度N小于等于128 字節(jié),執(zhí)行步驟S114;步驟S112:按照128字節(jié)切片,如果剩余報(bào)文長度N'大于等于192 字節(jié),重新執(zhí)行步驟S112;如果剩余報(bào)文長度N'小于192字節(jié)但大于 128字節(jié),執(zhí)行步驟S113;如果剩余數(shù)據(jù)包的報(bào)文長度N'小于等于128 字節(jié),執(zhí)行步驟S114;步驟S113:切片為64字節(jié)及N-64字節(jié)或N' -64字節(jié);可以選擇 前一切片為64字節(jié),當(dāng)然也可以選擇后一切片為64字節(jié);步驟S114:不進(jìn)行切片;同樣可以看出,按照圖7b所示方案進(jìn)行報(bào)文切片,切片的長度也是在64-128字節(jié)之間,不存在小于64字節(jié)的情況;當(dāng)然,上述圖7a和圖7b所提供的切片方案并非限制,在實(shí)際應(yīng)用 中,可以依據(jù)具體網(wǎng)絡(luò)情況,對切片方案加以調(diào)整或者變更;需要指出的是,本發(fā)明雖然并未限制切片時機(jī),但作為較佳的實(shí)施 例,并非將報(bào)文全部切片完成后再進(jìn)行后續(xù)的輪詢發(fā)送,而是當(dāng)輪詢到 某一緩存隊(duì)列時,才對該緩存隊(duì)列中所選擇的數(shù)據(jù)包進(jìn)行一次切片發(fā)送。步驟S2:源線卡板輪詢各緩存隊(duì)列,將滿足帶寬要求的報(bào)文切片通過 所述包交換芯片發(fā)送至相應(yīng)的目的線卡板;其中,所述帶寬由所述目的線卡 板動態(tài)分配;其中,源線卡板可以通過令牌評估的方式確定報(bào)文切片是否滿足帶寬要 求,具體如下源線卡板接收各目的線卡板動態(tài)分配的帶寬,周期性調(diào)整相應(yīng)目的 線卡板令牌桶中的令牌數(shù);源線卡板進(jìn)行相應(yīng)令牌桶中的令牌評估,如果評估滿足要求,則帶 寬能夠滿足所輪詢的報(bào)文切片長度要求;更進(jìn)一步的,為了應(yīng)對可能出現(xiàn)的異常情況,源線卡板還進(jìn)行異常監(jiān) 控,監(jiān)控到本線卡板復(fù)位或者狀態(tài)機(jī)異常時,執(zhí)行線卡板初始化,即初 始化線卡板的全部緩存空間;監(jiān)控到目的線卡板復(fù)位或者異常信號時, 暫停報(bào)文切片的發(fā)送,并丟棄當(dāng)前上行數(shù)據(jù)包的剩余報(bào)文。步驟S3:目的線卡板對接收到的報(bào)文切片進(jìn)行重組;在步驟S3中,同樣需要處于應(yīng)對可能出現(xiàn)的異常情況的目的對報(bào)文 組幀進(jìn)行監(jiān)控如果超過預(yù)設(shè)時間未完成一數(shù)據(jù)包的組幀,丟棄所述數(shù)據(jù)包的全部 已接收報(bào)文切片;如果接收到的某一數(shù)據(jù)包的報(bào)文切片不完整,則丟棄該數(shù)據(jù)包的全 部已接收報(bào)文切片,包括未接收到前一數(shù)據(jù)包的最后一個報(bào)文切片時 接收到另外一個數(shù)據(jù)包的報(bào)文切片,丟棄所述前一數(shù)據(jù)包的全部己接收報(bào)文切片;未接收到某一數(shù)據(jù)包的第一個報(bào)文切片或者中間報(bào)文切片, 丟棄所述數(shù)據(jù)包的全部已接收報(bào)文切片;如果一源線卡板復(fù)位或者狀態(tài)機(jī)異常,丟棄從該源線卡板接收的未 完成組幀數(shù)據(jù)包的全部己接收報(bào)文切片;如果本線卡板復(fù)位或者狀態(tài)機(jī)異常,則進(jìn)行本線卡板的初始化。上述步驟S1 S3中所涉及的目的線卡板動態(tài)分配帶寬技術(shù)以及令牌 評估技術(shù)己經(jīng)在現(xiàn)有專利申請中獲得公開,在此不再贅述;各步驟的具 體實(shí)現(xiàn)方案請參見本發(fā)明分布式包交換系統(tǒng)的相應(yīng)模塊;通過上述步驟S1 S3可以看出,本發(fā)明所提供的分布式包交換方法 是基于報(bào)文長度對報(bào)文切片進(jìn)行流控調(diào)度,因此仍然具有保證包交換芯 片不擁塞和不丟棄報(bào)文,以及保證各線卡板之間公平調(diào)度的優(yōu)勢;同時, 由于將原有的IP數(shù)據(jù)包交換切片為變長小包交換,降低了流控粒度,因 此有效減小了數(shù)據(jù)流的抖動,提高系統(tǒng)流量的均勻性,且數(shù)據(jù)包的交換 延遲將變?。灰约?,各報(bào)文切片輪詢發(fā)送,避免了 "短包等長包"現(xiàn)象??偟膩碚f,本發(fā)明提供的分布式包交換系統(tǒng)和分布式包交換方法無 需對現(xiàn)有的包交換芯片進(jìn)行改動,實(shí)現(xiàn)相對簡單,成本也相對較低,而 且能夠有效地提升網(wǎng)絡(luò)設(shè)備系統(tǒng)的QoS能力。雖然已參照幾個典型實(shí)施例描述了本發(fā)明,但應(yīng)當(dāng)理解,所用的術(shù)語是說明和示例性、而非限制性的術(shù)語。由于本發(fā)明能夠以多種形式具體實(shí)施而不脫離發(fā)明的精神或?qū)嵸|(zhì),所以應(yīng)當(dāng)理解,上述實(shí)施例不限于任何前述的細(xì)節(jié),而應(yīng)在隨附權(quán)利要求所限定的精神和范圍內(nèi)廣泛地解釋,因此落入權(quán)利 要求或其等效范圍內(nèi)的全部變化和改型都應(yīng)為隨附權(quán)利要求所涵蓋。
權(quán)利要求
1.一種分布式包交換系統(tǒng),包括包交換芯片和多個線卡板;其特征在于,每個線卡板分別設(shè)有一包處理單元以及連接所述包處理單元的上行交換適配單元和下行交換適配單元;源線卡板的上行交換適配單元從本線卡板的包處理單元接收上行數(shù)據(jù)包,按照相應(yīng)目的線卡板分別加以緩存并按一定長度進(jìn)行切片,以及,輪詢各緩存隊(duì)列,將滿足帶寬要求的報(bào)文切片通過所述包交換芯片發(fā)送至目的線卡板;目的線卡板的下行交換適配單元為源線卡板的上行交換適配單元動態(tài)分配帶寬,重組從包交換芯片接收的報(bào)文切片并發(fā)送給本線卡板的包處理單元。
2. 根據(jù)權(quán)利要求l所述的分布式包交換系統(tǒng),其特征在于,所述上 行交換適配單元包括上行報(bào)文接收處理模塊、報(bào)文長度統(tǒng)計(jì)模塊、上行 報(bào)文發(fā)送模塊和流控模塊,還包括分別為每一其它線卡板設(shè)置的報(bào)文長 度存儲模塊、第一報(bào)文緩存模塊和報(bào)文切片模塊;所述上行報(bào)文接收處理模塊接收來自包處理單元的上行數(shù)據(jù)包,根 據(jù)所述上行數(shù)據(jù)包中攜帶的目的線卡板信息,將其發(fā)送到相應(yīng)的第一報(bào) 文緩存模塊;所述報(bào)文長度統(tǒng)計(jì)模塊與所述上行報(bào)文接收處理模塊連接,統(tǒng)計(jì)所 述上行數(shù)據(jù)包的報(bào)文長度信息,并存儲到相應(yīng)的報(bào)文長度存儲單元;各報(bào)文切片模塊分別與相應(yīng)線卡板的第一報(bào)文緩存模塊以及報(bào)文長 度存儲模塊連接,提取上行數(shù)據(jù)包的報(bào)文長度信息并按照一定長度進(jìn)行 切片;所述流控模塊用于接收各目的線卡板動態(tài)分配的帶寬; 所述上行報(bào)文發(fā)送模塊與所述流控模塊連接并輪詢各報(bào)文切片模 塊,如果所分配帶寬滿足所輪詢的報(bào)文切片模塊中切片長度要求,則通 過所述報(bào)文切片模塊中提取一個報(bào)文切片發(fā)送給所述包交換芯片。
3. 根據(jù)權(quán)利要求2所述的分布式包交換系統(tǒng),其特征在于,所述流控模塊包括令牌桶更新子模塊以及分別為每一其它線卡板設(shè)置的令牌桶;所述令牌桶更新子模塊與各令牌桶連接,用于接收各目的線卡板動 態(tài)分配的帶寬,周期性調(diào)整各令牌桶中的令牌數(shù);所述上行報(bào)文發(fā)送模塊通過進(jìn)行相應(yīng)令牌桶中的令牌評估,確定所 分配帶寬是否滿足所輪詢的報(bào)文切片長度要求。
4. 根據(jù)權(quán)利要求2所述的分布式包交換系統(tǒng),其特征在于,所述報(bào) 文切片模塊中設(shè)有數(shù)據(jù)包指針,指向當(dāng)前上行數(shù)據(jù)包地址;報(bào)文長度指針,指向報(bào)文長度存儲單元中存儲當(dāng)前數(shù)據(jù)包報(bào)文長度 信息的地址;報(bào)文切片指針,指向當(dāng)前報(bào)文切片地址;報(bào)文切片收發(fā)子模塊,用于根據(jù)上述指針提取一定長度的報(bào)文數(shù)據(jù) 發(fā)送給所述上行報(bào)文發(fā)送模塊,并將所述當(dāng)前報(bào)文切片地址偏移所述一 定長度后的地址作為新的當(dāng)前報(bào)文切片地址,進(jìn)行所述報(bào)文切片指針跳轉(zhuǎn)。
5. 根據(jù)權(quán)利要求4所述的分布式包交換系統(tǒng),其特征在于,所述報(bào) 文切片模塊還設(shè)有報(bào)文優(yōu)先級識別子模塊,用于識別緩存在第一報(bào)文緩 存模塊中數(shù)據(jù)包報(bào)文的優(yōu)先級,使數(shù)據(jù)包指針和報(bào)文長度指針指向具有 較高優(yōu)先級的數(shù)據(jù)包報(bào)文進(jìn)行切片。
6. 根據(jù)權(quán)利要求4所述的分布式包交換系統(tǒng),其特征在于,所述第 一報(bào)文緩存模塊分割為第一固定字節(jié)的緩存子模塊,每一緩存子模塊用 于緩存一個數(shù)據(jù)包報(bào)文;和/或,所述報(bào)文長度存儲單元按照第二固定字 節(jié)進(jìn)行分割,每一分割后的空間用于保存一個數(shù)據(jù)包報(bào)文的長度信息; 則在當(dāng)前上行數(shù)據(jù)包發(fā)送完成后,將所述當(dāng)前上行數(shù)據(jù)包地址偏移所述 第一固定字節(jié)作為新的當(dāng)前上行數(shù)據(jù)包地址,進(jìn)行所述數(shù)據(jù)包指針跳轉(zhuǎn), 和/或,將存儲當(dāng)前數(shù)據(jù)包報(bào)文長度信息的地址偏移所述第二固定字節(jié)作 為新的存儲當(dāng)前數(shù)據(jù)包報(bào)文長度信息的地址,進(jìn)行所述報(bào)文長度指針的 跳轉(zhuǎn)。
7. 根據(jù)權(quán)利要求4-6任一所述的分布式包交換系統(tǒng),其特征在于,所 述報(bào)文切片模塊中還設(shè)有組幀信息標(biāo)簽子模塊,用于在每個報(bào)文切片中 添加組幀信息標(biāo)簽,至少標(biāo)識報(bào)文切片在數(shù)據(jù)包報(bào)文中的位置。
8. 根據(jù)權(quán)利要求4-6任一所述的分布式包交換系統(tǒng),其特征在于,所 述報(bào)文切片模塊中還設(shè)有第一異常處理子模塊,用于在接收到目的線卡 板復(fù)位或者異常信號時,暫停所述報(bào)文切片收發(fā)子模塊,并丟棄當(dāng)前上 行數(shù)據(jù)包的剩余報(bào)文切片。
9. 根據(jù)權(quán)利要求1所述的分布式包交換系統(tǒng),其特征在于,所述下 行交換適配單元包括下行報(bào)文接收處理模塊和下行報(bào)文發(fā)送模塊,還包 括分別為每一其它線卡板設(shè)置的報(bào)文組幀模塊和第二報(bào)文緩存模塊;所述下行報(bào)文接收處理模塊接收來自所述包交換芯片的報(bào)文切片, 根據(jù)所述報(bào)文切片攜帶的報(bào)文轉(zhuǎn)發(fā)標(biāo)識,將其發(fā)送到相應(yīng)的報(bào)文組幀模 塊;所述報(bào)文組幀模塊進(jìn)行報(bào)文重組并發(fā)送給相應(yīng)的第二報(bào)文緩存模塊;所述下行報(bào)文發(fā)送模塊輪詢調(diào)度各第二報(bào)文緩存模塊,將所輪詢第 二報(bào)文緩存模塊中當(dāng)前報(bào)文發(fā)送到包處理單元。
10. 根據(jù)權(quán)利要求9所述的分布式包交換系統(tǒng),其特征在于,所述 報(bào)文組幀模塊中設(shè)有第二異常處理子模塊,用于對報(bào)文組幀進(jìn)行監(jiān)控并 在下述情況下丟棄數(shù)據(jù)包報(bào)文超過預(yù)設(shè)時間未完成組幀,組幀報(bào)文不 完整,和/或,源線卡板復(fù)位或狀態(tài)機(jī)異常。
11. 一種分布式包交換方法,適用于包括包交換芯片和多個線卡板 的分布式包交換系統(tǒng);其特征在于,包括以下步驟步驟Sh源線卡板將上行數(shù)據(jù)包按照目的線卡板分別加以緩存并按 一定長度進(jìn)行切片;步驟S2:源線卡板輪詢各緩存隊(duì)列,將滿足帶寬要求的報(bào)文切片通過 所述包交換芯片發(fā)送至相應(yīng)的目的線卡板;其中,所述帶寬由所述目的線卡 板動態(tài)分配;步驟S3:目的線卡板對接收到的報(bào)文切片進(jìn)行重組。
12. 根據(jù)權(quán)利要求11所述的分布式包交換方法,其特征在于,所述 歩驟S1中還包括以下步驟在每個報(bào)文切片中添加組幀信息標(biāo)簽,至少 標(biāo)識報(bào)文切片在數(shù)據(jù)包報(bào)文中的位置。
13. 根據(jù)權(quán)利要求11或12所述的分布式包交換方法,其特征在于,所述按照一定長度進(jìn)行切片的步驟包括步驟S101:識別上行數(shù)據(jù)包的長度,如果數(shù)據(jù)包的報(bào)文長度N大于等于256字節(jié),執(zhí)行步驟S102;如果數(shù)據(jù)包的報(bào)文長度N小于256字節(jié) 但大于128字節(jié),執(zhí)行步驟S103;如果數(shù)據(jù)包的報(bào)文長度N小于等于128 字節(jié),執(zhí)行步驟S104;步驟S102:按照128字節(jié)切片,如果剩余報(bào)文長度N'大于等于256 字節(jié),重新執(zhí)行步驟S102;如果剩余報(bào)文長度N'小于256字節(jié)但大于 128字節(jié),執(zhí)行步驟S103;如果剩余數(shù)據(jù)包的報(bào)文長度N'小于等于128 字節(jié),執(zhí)行步驟S104;步驟S103:如果報(bào)文長度N或N'為偶數(shù),貝U以N/2或N' /2為單 位切片;如果報(bào)文長度N或N'為奇數(shù),則切片為(N-l) /2及(N+l) /2或(N'畫l) /2及(N' +1) /2;步驟S104:不進(jìn)行切片。
14. 根據(jù)權(quán)利要求11或12所述的分布式包交換方法,其特征在于, 所述按照一定長度進(jìn)行切片的步驟包括步驟S111:識別上行數(shù)據(jù)包的長度,如果數(shù)據(jù)包的報(bào)文長度N大于等于192字節(jié),執(zhí)行步驟S112;如果數(shù)據(jù)包的報(bào)文長度N小于192字節(jié) 但大于128字節(jié),執(zhí)行步驟S113;如果數(shù)據(jù)包的報(bào)文長度N小于等于128 字節(jié),執(zhí)行步驟S114;步驟S112:按照128字節(jié)切片,如果剩余報(bào)文長度N'大于等于192 字節(jié),重新執(zhí)行步驟S112;如果剩余報(bào)文長度N'小于192字節(jié)但大于 128字節(jié),執(zhí)行步驟S113;如果剩余數(shù)據(jù)包的報(bào)文長度N'小于等于128 字節(jié),執(zhí)行步驟S114;步驟S113:切片為64字節(jié)及N-64字節(jié)或N' -64字節(jié);步驟S114:不進(jìn)行切片。
15. 根據(jù)權(quán)利要求11所述的分布式包交換方法,其特征在于,所述步驟S2中源線卡板還執(zhí)行以下步驟接收各目的線卡板動態(tài)分配的帶寬,周期性調(diào)整相應(yīng)目的線卡板令牌桶中的令牌數(shù);進(jìn)行相應(yīng)令牌桶中的令牌評估,如果評估滿足要求,則帶寬能夠滿 足所輪詢的報(bào)文切片長度要求。
16. 根據(jù)權(quán)利要求11或15所述的分布式包交換方法,其特征在于, 所述步驟S2源線卡板還執(zhí)行以下步驟進(jìn)行異常監(jiān)控;監(jiān)控到本線卡板復(fù)位或者狀態(tài)機(jī)異常時,執(zhí)行線卡板初始化; 監(jiān)控到目的線卡板復(fù)位或者異常信號時,暫停報(bào)文切片的發(fā)送,并 丟棄當(dāng)前上行數(shù)據(jù)包的剩余報(bào)文。
17. 根據(jù)權(quán)利要求11所述的分布式包交換方法,其特征在于,所述 歩驟S3還包括以下步驟對報(bào)文組幀進(jìn)行監(jiān)控;如果超過預(yù)設(shè)時間未完成一數(shù)據(jù)包的組幀,丟棄所述數(shù)據(jù)包的全部 已接收報(bào)文切片;如果接收到的某一數(shù)據(jù)包的報(bào)文切片不完整,丟棄所述數(shù)據(jù)包的全 部已接收報(bào)文切片;如果一源線卡板復(fù)位或者狀態(tài)機(jī)異常,丟棄從該源線卡板接收的未 完成組幀數(shù)據(jù)包的全部己接收報(bào)文切片;如果本線卡板復(fù)位或者狀態(tài)機(jī)異常,執(zhí)行線卡板初始化。
全文摘要
本發(fā)明公開了一種分布式包交換系統(tǒng)和一種分布式包交換方法。源線卡板將上行數(shù)據(jù)包按照目的線卡板分別加以緩存并按一定長度進(jìn)行切片;源線卡板輪詢各緩存隊(duì)列,將滿足帶寬要求的報(bào)文切片通過包交換芯片發(fā)送至相應(yīng)的目的線卡板;其中,所述帶寬由所述目的線卡板動態(tài)分配;以及,目的線卡板對接收到的報(bào)文切片進(jìn)行重組。本發(fā)明簡單易行,能夠有效提高分布式包交換系統(tǒng)的QoS能力,包括有效減小數(shù)據(jù)流的抖動,提高系統(tǒng)流量的均勻性,以及避免“短包等長包”問題。
文檔編號H04L12/56GK101567855SQ20091014767
公開日2009年10月28日 申請日期2009年6月11日 優(yōu)先權(quán)日2009年6月11日
發(fā)明者武 楊 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
黔西县| 宜兴市| 随州市| 临泉县| 虎林市| 高邑县| 临湘市| 手机| 泸州市| 静安区| 井冈山市| 忻州市| 平顶山市| 大连市| 新野县| 陇南市| 江达县| 平塘县| 鄢陵县| 宜春市| 方城县| 涿鹿县| 郑州市| 襄垣县| 宜黄县| 夏津县| 渭源县| 宁波市| 隆子县| 金阳县| 黑龙江省| 贺州市| 台东县| 呼图壁县| 扎鲁特旗| 潍坊市| 汉源县| 正蓝旗| 驻马店市| 金阳县| 郧西县|