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

一種trunk分發(fā)方法

文檔序號:7707321閱讀:246來源:國知局
專利名稱:一種trunk分發(fā)方法
技術(shù)領(lǐng)域
本發(fā)明涉及包交換芯片,具體的說是一種TRUNK分發(fā)方法,尤指 包交換芯片的TRUNK分發(fā)方法。
背景技術(shù)
在包交換芯片中,TRUNK是端口聚合的意思,就是通過軟件配置, 將2個或多個物理端口組合在一起成為一個邏輯端口,這個邏輯端口 的物理帶寬等于所有成員端口的帶寬總和,從而可以提供一種靈活的 增加端口帶寬的方法,而無需進(jìn)行其他改造。
由于一個TURNK組包含多個子端口 ,這就涉及到了當(dāng)一個包需要 從TURNK組轉(zhuǎn)發(fā)時,根據(jù)什么準(zhǔn)則來選擇哪個子物理端口。目前市場 上大多數(shù)交換芯片提供的分發(fā)方法都是基于HASH方法或者循環(huán)分配 方法。下面對這兩種方法進(jìn)行介紹
1) HASH方法
HASH法提供了一種相同HASH值的包流分發(fā)到相同子端口的方 法,常用于分發(fā)語音視頻業(yè)務(wù)。該方法基于收包端口值和數(shù)據(jù)包上的 各種信息如DMAC、 SMAC、 DIP、 SIP等相關(guān)信息,進(jìn)行取位值相異或 得出HASH值,每個HASH值對應(yīng)一個固定的子端口,所以可以實(shí)現(xiàn)按 順序轉(zhuǎn)發(fā)相同類型包流的優(yōu)點(diǎn)。但是此種方法的優(yōu)點(diǎn)也即是它的缺 點(diǎn),容易出現(xiàn)多入單出的現(xiàn)象。因?yàn)橥粋€HASH值的包走的是同一 個子端口,如果來源于多個入端口的流量包所得出的HASH值都一樣, 即多個入端口的包流同時選中相同子端口而導(dǎo)致其中一個子端口嚴(yán) 重?fù)砣?,而其他子端口帶寬浪費(fèi)的問題。問題如下
如圖1所示的TURNK連接模型,設(shè)AB兩芯片之間聚合了 8個端 口,需用3個BIT值
來對應(yīng)的子端口 Tl-T8。HASH方法為:PORT[O, 2]一畫C
若Pl線速發(fā)送包內(nèi)容為DMAC=[OXOOOO , 0X1111FFF1], DIP二[IO. 26. 0. l], P0RT1值為1
若P2線速發(fā)送包內(nèi)容為DMAC二
, DIP=[10. 26. 1. l], P0RT2值為2
則P1和P2端口的包計(jì)算出的HASH值都為1,對應(yīng)子端口都為 T2,導(dǎo)致T2出口擁塞,Tl帶寬浪費(fèi)。
2) 循環(huán)分配方法
循環(huán)分配法提供了一種在所有子端口依次循環(huán)分發(fā)各個數(shù)據(jù)包 的方法,它解決了多入單出的問題,但它無法保證按序轉(zhuǎn)發(fā)包流,常 用于分發(fā)純數(shù)據(jù)業(yè)務(wù)。該方法提供了一種簡單的出口負(fù)載均衡算法, 但是也存在著未最優(yōu)化使用出口帶寬的問題。問題如下
依然以圖1所示的TURNK連接模型為例,設(shè)AB兩芯片之間聚合 了2個端口,則往TRUNK轉(zhuǎn)發(fā)的第1, 3, 5…個包走T1子端口,第2, 4, 6…個包走第T2子端口,依此循環(huán)分配。但是如果TRUNK端口收
到的是類似下面交替的序列包短包,長包,短包,長包……則根據(jù) 此方法,在Tl得到的都是短包,在T2得到的都是長包,從而導(dǎo)致 T2擁塞,而T1存在帶寬浪費(fèi)。
由此可見,HASH方法適合分發(fā)語音視頻業(yè)務(wù),它對于分發(fā)數(shù)據(jù) 業(yè)務(wù)容易出現(xiàn)多入單出的問題,循環(huán)分配方法只適合分發(fā)純數(shù)據(jù)業(yè) 務(wù),且也存在帶寬最優(yōu)化問題,兩種方法都存在一定的局限性。

發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種TRUNK 分發(fā)方法,該方法同時兼顧了分發(fā)語音視頻業(yè)務(wù)和分發(fā)純數(shù)據(jù)業(yè)務(wù)的 特殊性,能充分的利用各子端口的帶寬,同時在一定程度上解決了最 優(yōu)化使用出口帶寬問題。為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是
一種TRUNK分發(fā)方法,其特征在于包括以下步驟 步驟1,包交換芯片收包后,收包分析模塊Packet parse對每 個收包根據(jù)匹配規(guī)則進(jìn)行包序?qū)傩缘钠ヅ浞治?,將所有匹配結(jié)果送給 轉(zhuǎn)發(fā)引擎模塊Forward engine;所說的包序?qū)傩杂脕碚f明該種類型 的包流在每個發(fā)送端口是否需要按照接收的時間順序進(jìn)行轉(zhuǎn)發(fā);
步驟2,包緩存模塊Buffer對各發(fā)送子端口擁塞程度進(jìn)行計(jì)算, 并將計(jì)算得到的擁塞信息反饋給前級的轉(zhuǎn)發(fā)引擎模塊Forward engine;
步驟3,轉(zhuǎn)發(fā)引擎模塊Forward engine進(jìn)行發(fā)送子端口選路判 決若包序?qū)傩哉f明該種類型的包流需要按接收的時間順序進(jìn)行轉(zhuǎn) 發(fā),則轉(zhuǎn)發(fā)引擎模塊Forward engine根據(jù)TRUNK配置提供的HASH算 法計(jì)算出該包的HASH值,選擇與該HASH值對應(yīng)的發(fā)送子端口進(jìn)行轉(zhuǎn) 發(fā);若無需按接收的時間順序進(jìn)行轉(zhuǎn)發(fā),則轉(zhuǎn)發(fā)引擎模塊Forward engine根據(jù)擁塞信息選擇所有發(fā)送子端口中累計(jì)值L最小的端口進(jìn) 行轉(zhuǎn)發(fā)。
在上述技術(shù)方案的基礎(chǔ)上,步驟1所說的根據(jù)匹配規(guī)則進(jìn)行包序 屬性的匹配分析包括以下步驟
步驟1. 1,對收包分析模塊Packet parse的ACL子模塊進(jìn)行包 的匹配規(guī)則設(shè)置,匹配規(guī)則可選擇如下所示的任意一個或者多個匹配 域收包源端口, DMAC, SMAC, ETYPE, VL認(rèn)ID, VLAN PRIORITY, DIP, SIP, DSCP,其中DMAC、 SMAC、 ETYPE、 VLAN ID、 VLAN PRIORITY 屬于L2層信息,DIP、 SIP、 DSCP屬于L3層信息;匹配結(jié)果包含包 序?qū)傩裕?br> 步驟1.2,收包分析模塊Packet parse對收到的包進(jìn)行數(shù)據(jù)分 析,獲取收包源端口、 L2層信息和L3層信息后,將所述信息送到ACL 子模塊進(jìn)行包匹配,匹配結(jié)果將指出每個收包的包序?qū)傩浴?br> 在上述技術(shù)方案的基礎(chǔ)上,步驟2所說的包緩存模塊Buffer對 各發(fā)送子端口擁塞程度進(jìn)行計(jì)算包括以下步驟步驟2. 1,在包緩存模塊Buffer中設(shè)定一組緩存計(jì)數(shù)器,使每 個緩存計(jì)數(shù)器對應(yīng)一個發(fā)送子端口 ;緩存計(jì)數(shù)器對相應(yīng)發(fā)送子端口等 待轉(zhuǎn)發(fā)的包進(jìn)行長度累計(jì),累計(jì)值L以字節(jié)為單位;
步驟2.2,緩存計(jì)數(shù)器按下述規(guī)則計(jì)數(shù)當(dāng)包緩存模塊Buffer 從前級的轉(zhuǎn)發(fā)引擎模塊Forward engine接收一個包,則將與該包的 發(fā)送子端口對應(yīng)的緩存計(jì)數(shù)器進(jìn)行加包長計(jì)數(shù);當(dāng)后級的調(diào)度模塊 schedule從包緩存模塊Buffer調(diào)度完一個包,則將與該包的發(fā)送子 端口對應(yīng)的緩存計(jì)數(shù)器進(jìn)行減包長計(jì)數(shù);
步驟2. 3,由于包的發(fā)送需要增加包間隙12字節(jié)和前導(dǎo)碼8字 節(jié),所以對每個緩存包進(jìn)行加包長計(jì)數(shù)和減包長計(jì)數(shù)時都需要加上 20字節(jié)。
本發(fā)明所述的TRUNK分發(fā)方法,該方法同時兼顧了分發(fā)語音視頻 業(yè)務(wù)和分發(fā)純數(shù)據(jù)業(yè)務(wù)的特殊性,能充分的利用各子端口的帶寬,同 時在一定程度上解決了最優(yōu)化使用出口帶寬問題。


本發(fā)明有如下附圖
圖l TURNK連接模型;
圖2芯片的包處理過程; 圖3組合分發(fā)法的處理流程;
具體實(shí)施例方式
以下結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)說明。 如圖2、 3所示,本發(fā)明所述的TRUNK分發(fā)方法包括以下步驟 步驟1,包交換芯片收包后,收包分析模塊Packet parse對每 個收包根據(jù)匹配規(guī)則進(jìn)行包序?qū)傩缘钠ヅ浞治?,將所有匹配結(jié)果送給 轉(zhuǎn)發(fā)引擎模塊Forward engine;所說的包序?qū)傩杂脕碚f明該種類型的包流在每個發(fā)送端口是否需要按照接收的時間順序進(jìn)行轉(zhuǎn)發(fā);
步驟2,包緩存模塊Buffer對各發(fā)送子端口擁塞程度進(jìn)行計(jì)算, 并將計(jì)算得到的擁塞信息反饋給前級的轉(zhuǎn)發(fā)引擎模塊Forward engine;
步驟3,轉(zhuǎn)發(fā)引擎模塊Forward engine進(jìn)行發(fā)送子端口選路判 決若包序?qū)傩哉f明該種類型的包流需要按接收的時間順序進(jìn)行轉(zhuǎn) 發(fā),則轉(zhuǎn)發(fā)引擎模塊Forward engine根據(jù)TRUNK配置提供的HASH算 法計(jì)算出該包的HASH值,選擇與該HASH值對應(yīng)的發(fā)送子端口進(jìn)行轉(zhuǎn) 發(fā);若無需按接收的時間順序進(jìn)行轉(zhuǎn)發(fā),則轉(zhuǎn)發(fā)引擎模塊Forward engine根據(jù)擁塞信息選擇所有發(fā)送子端口中累計(jì)值L最小的端口進(jìn) 行轉(zhuǎn)發(fā)。
在上述技術(shù)方案的基礎(chǔ)上,步驟1所說的根據(jù)匹配規(guī)則進(jìn)行包序 屬性的匹配分析包括以下步驟
步驟1. 1,對收包分析模塊Packet parse的ACL子模塊進(jìn)行包 的匹配規(guī)則設(shè)置,匹配規(guī)則可選擇如下所示的任意一個或者多個匹配 域收包源端口, DMAC, SMAC, ETYPE, VLAN ID, VLAN PRIORITY, DIP, SIP, DSCP,其中DMAC、 SMAC、 ETYPE、 VLAN ID、 VLAN PRIORITY 屬于L2層信息,DIP、 SIP、 DSCP屬于L3層信息;匹配結(jié)果包含包 序?qū)傩裕?br> 步驟1.2,收包分析模塊Packet parse對收到的包進(jìn)行數(shù)據(jù)分 析,獲取收包源端口、 L2層信息和L3層信息后,將所述信息送到ACL 子模塊進(jìn)行包匹配,匹配結(jié)果將指出每個收包的包序?qū)傩浴?br> 例如 一般情況下,我們會在ACL子模塊的匹配規(guī)則設(shè)置里將語 音視頻業(yè)務(wù)包匹配為按序轉(zhuǎn)發(fā),將純數(shù)據(jù)業(yè)務(wù)匹配為無需按序轉(zhuǎn)發(fā)。 例如端口5接收語音業(yè)務(wù),且語音業(yè)務(wù)的VLAN ID為100,則我們 會配置一條ACL規(guī)則,規(guī)則里選擇了兩個匹配域收包源端口和VLAN ID,配置其值為收包源端口 5, VLAN ID為100,然后配置包序?qū)傩?值為按序轉(zhuǎn)發(fā),則意味著ACL子模塊在匹配到來自端口 5且VLAN ID 為100的數(shù)據(jù)包時,將其包序?qū)傩栽O(shè)置為按序轉(zhuǎn)發(fā)。在上述技術(shù)方案的基礎(chǔ)上,步驟2所說的包緩存模塊Buffer對 各發(fā)送子端口擁塞程度進(jìn)行計(jì)算包括以下步驟
步驟2. 1,在包緩存模塊Buffer中設(shè)定一組緩存計(jì)數(shù)器,使每 個緩存計(jì)數(shù)器對應(yīng)一個發(fā)送子端口 ;緩存計(jì)數(shù)器對相應(yīng)發(fā)送子端口等 待轉(zhuǎn)發(fā)的包進(jìn)行長度累計(jì),累計(jì)值L以字節(jié)為單位;
步驟2.2,緩存計(jì)數(shù)器按下述規(guī)則計(jì)數(shù)當(dāng)包緩存模塊Buffer 從前級的轉(zhuǎn)發(fā)引擎模塊Forward engine接收一個包,則將與該包的 發(fā)送子端口對應(yīng)的緩存計(jì)數(shù)器進(jìn)行加包長計(jì)數(shù);當(dāng)后級的調(diào)度模塊 schedule從包緩存模塊Buffer調(diào)度完一個包,則將與該包的發(fā)送子 端口對應(yīng)的緩存計(jì)數(shù)器進(jìn)行減包長計(jì)數(shù);
步驟2. 3,由于包的發(fā)送需要增加包間隙12字節(jié)和前導(dǎo)碼8字 節(jié),所以對每個緩存包進(jìn)行加包長計(jì)數(shù)和減包長計(jì)數(shù)時都需要加上 20字節(jié)。
設(shè)TRUNK組有n個發(fā)送子端口 ,則包緩存模塊Buffer中存在長 度數(shù)組[L1-Ln]與發(fā)送子端口一一對應(yīng),數(shù)組中記錄的累計(jì)值L其數(shù) 值越大則表示擁塞越嚴(yán)重,包緩存模塊將這些擁塞信息反饋給前級的 轉(zhuǎn)發(fā)引擎模塊。
本發(fā)明所述方法的原理是
配置ACL規(guī)則,對每個包進(jìn)行包序?qū)傩耘袥Q,需要按序轉(zhuǎn)發(fā)的包 (簡稱為有序包)基于HASH方法選擇子端口 ;無需按序轉(zhuǎn)發(fā)的包(簡 稱為無序包)則選擇當(dāng)前擁塞情況最小的子端口進(jìn)行發(fā)送。擁塞情況 可以用每端口的包緩存長度來計(jì)量。比如Tl子端口當(dāng)前的包緩存長 度為lk字節(jié),T2子端口當(dāng)前的包緩存長度為1.5k字節(jié),則T2的擁 塞情況比T1嚴(yán)重,也即意味著下一個無序包選擇的端口是T1。此種 方法對無序包的選路準(zhǔn)則進(jìn)行了優(yōu)化,它最大程度的避開了與端口的 來源、包的內(nèi)容等來源信息相關(guān)性,而只與出口擁塞情況進(jìn)行相關(guān), 即可以滿足按序轉(zhuǎn)發(fā)的要求,也可以滿足最大利用出口帶寬的要求。
其優(yōu)點(diǎn)如下1) 時刻均衡各子端口的出口負(fù)載,有效利用帶寬;
2) 減小了丟包率和優(yōu)化了發(fā)送時延;
3) 可用于分發(fā)混合業(yè)務(wù);
上述技術(shù)方案中各英文縮寫含義如下
A(X: access control list,訪問控制歹據(jù);
DMAC: destination mac, 目標(biāo)mac地址;
SAMC: source mac,源mac地址;
ETYPE: ethernet type,以太網(wǎng)類型;
VLAN ID: vlan identification, vlan標(biāo)識值;
VLAN PRIORITY: vlan優(yōu)先級;
DIP: destination ip,目標(biāo)ip地址?
SIP: source ip,源ip地址;
DSCP- differentiated services codepoint priority, IP月艮 務(wù)類型編碼點(diǎn)。
權(quán)利要求
1. 一種TRUNK分發(fā)方法,其特征在于包括以下步驟步驟1,包交換芯片收包后,收包分析模塊Packet parse對每個收包根據(jù)匹配規(guī)則進(jìn)行包序?qū)傩缘钠ヅ浞治?,將所有匹配結(jié)果送給轉(zhuǎn)發(fā)引擎模塊Forward engine;所說的包序?qū)傩杂脕碚f明該種類型的包流在每個發(fā)送端口是否需要按照接收的時間順序進(jìn)行轉(zhuǎn)發(fā);步驟2,包緩存模塊Buffer對各發(fā)送子端口擁塞程度進(jìn)行計(jì)算,并將計(jì)算得到的擁塞信息反饋給前級的轉(zhuǎn)發(fā)引擎模塊Forwardengine;步驟3,轉(zhuǎn)發(fā)引擎模塊Forward engine進(jìn)行發(fā)送子端口選路判決若包序?qū)傩哉f明該種類型的包流需要按接收的時間順序進(jìn)行轉(zhuǎn)發(fā),則轉(zhuǎn)發(fā)引擎模塊Forward engine根據(jù)TRUNK配置提供的HASH算法計(jì)算出該包的HASH值,選擇與該HASH值對應(yīng)的發(fā)送子端口進(jìn)行轉(zhuǎn)發(fā);若無需按接收的時間順序進(jìn)行轉(zhuǎn)發(fā),則轉(zhuǎn)發(fā)引擎模塊Forwardengine根據(jù)擁塞信息選擇所有發(fā)送子端口中累計(jì)值L最小的端口進(jìn)行轉(zhuǎn)發(fā)。
2. 如權(quán)利要求1所述的TRUNK分發(fā)方法,其特征在于步驟1 所說的根據(jù)匹配規(guī)則進(jìn)行包序?qū)傩缘钠ヅ浞治霭ㄒ韵虏襟E步驟1. 1,對收包分析模塊Packet parse的ACL子模塊進(jìn)行包 的匹配規(guī)則設(shè)置,匹配規(guī)則可選擇如下所示的任意一個或者多個匹配 域收包源端口, DMAC, SMAC, ETYPE, VLAN ID, VLAN PRIORITY, DIP, SIP, DSCP,其中DMAC、 SMAC、 ETYPE、 VLAN ID、 VL認(rèn)PRIORITY 屬于L2層信息,DIP、 SIP、 DSCP屬于L3層信息;匹配結(jié)果包含包 序?qū)傩?;步驟1.2,收包分析模塊Packet parse對收到的包進(jìn)行數(shù)據(jù)分 析,獲取收包源端口、 L2層信息和L3層信息后,將所述信息送到ACL 子模塊進(jìn)行包匹配,匹配結(jié)果將指出每個收包的包序?qū)傩浴?br> 3. 如權(quán)利要求1所述的TRUNK分發(fā)方法,其特征在于步驟2所說的包緩存模塊Buffer對各發(fā)送子端口擁塞程度進(jìn)行計(jì)算包括以 下步驟-步驟2. 1,在包緩存模塊Buffer中設(shè)定一組緩存計(jì)數(shù)器,使每 個緩存計(jì)數(shù)器對應(yīng)一個發(fā)送子端口 ;緩存計(jì)數(shù)器對相應(yīng)發(fā)送子端口等 待轉(zhuǎn)發(fā)的包進(jìn)行長度累計(jì),累計(jì)值L以字節(jié)為單位;步驟2.2,緩存計(jì)數(shù)器按下述規(guī)則計(jì)數(shù)當(dāng)包緩存模塊Buffer 從前級的轉(zhuǎn)發(fā)引擎模塊Forward engine接收一個包,則將與該包的 發(fā)送子端口對應(yīng)的緩存計(jì)數(shù)器進(jìn)行加包長計(jì)數(shù);當(dāng)后級的調(diào)度模塊 schedule從包緩存模塊Buffer調(diào)度完一個包,則將與該包的發(fā)送子 端口對應(yīng)的緩存計(jì)數(shù)器進(jìn)行減包長計(jì)數(shù);步驟2. 3,由于包的發(fā)送需要增加包間隙12字節(jié)和前導(dǎo)碼8字 節(jié),所以對每個緩存包進(jìn)行加包長計(jì)數(shù)和減包長計(jì)數(shù)時都需要加上 20字節(jié)。
全文摘要
一種TRUNK分發(fā)方法,涉及包交換芯片,包括以下步驟步驟1,包交換芯片收包后,收包分析模塊根據(jù)匹配規(guī)則進(jìn)行包序?qū)傩缘钠ヅ浞治?;步驟2,包緩存模塊對各發(fā)送子端口擁塞程度進(jìn)行計(jì)算;步驟3,轉(zhuǎn)發(fā)引擎模塊根據(jù)步驟1與步驟2的信息進(jìn)行發(fā)送子端口選路判決對包流需要按接收的時間順序進(jìn)行轉(zhuǎn)發(fā)的,選擇與該包的HASH值對應(yīng)的發(fā)送子端口進(jìn)行轉(zhuǎn)發(fā);無需按接收的時間順序進(jìn)行轉(zhuǎn)發(fā)的,根據(jù)擁塞信息選擇累計(jì)值L最小的發(fā)送子端口進(jìn)行轉(zhuǎn)發(fā)。本發(fā)明所述的TRUNK分發(fā)方法,同時兼顧了分發(fā)語音視頻業(yè)務(wù)和分發(fā)純數(shù)據(jù)業(yè)務(wù)的特殊性,能充分的利用各子端口的帶寬,同時在一定程度上解決了最優(yōu)化使用出口帶寬問題。
文檔編號H04L12/56GK101547154SQ20091013590
公開日2009年9月30日 申請日期2009年5月6日 優(yōu)先權(quán)日2009年5月6日
發(fā)明者徐劍輝 申請人:烽火通信科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
保山市| 江门市| 新泰市| 凤庆县| 正定县| 资溪县| 博爱县| 安义县| 莱西市| 安仁县| 镇巴县| 富民县| 定安县| 美姑县| 南昌市| 信宜市| 吴忠市| 霞浦县| 厦门市| 南丹县| 临潭县| 舒城县| 德清县| 通渭县| 贵阳市| 宿松县| 浦东新区| 枣庄市| 武山县| 托里县| 瑞金市| 皮山县| 平谷区| 铅山县| 乐昌市| 巴东县| 宁都县| 涞源县| 临高县| 怀柔区| 施秉县|