亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法及裝置的制作方法

文檔序號(hào):7869187閱讀:368來源:國知局
專利名稱:共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,特別是涉及一種共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法及裝置。
背景技術(shù)
隨著40G、100G以太網(wǎng)標(biāo)準(zhǔn)的發(fā)布,以太網(wǎng)交換機(jī)的應(yīng)用越來越廣泛,交換機(jī)的緩存管理就顯得越發(fā)重要。隨著網(wǎng)絡(luò)傳輸速率的提高,交換機(jī)的緩存可能被惡意攻擊流快速的消耗。當(dāng)前以太網(wǎng)交換機(jī)的緩存資源有限,因此交換機(jī)緩存的保護(hù)策略研究成為一個(gè)重要的研究課題。在當(dāng)今的網(wǎng)絡(luò)設(shè)備中,緩存管理是一個(gè)最急迫的,并且具有挑戰(zhàn)性的問題。沒有合適的緩存管理時(shí),當(dāng)網(wǎng)絡(luò)甚至是網(wǎng)絡(luò)的一小部分達(dá)到飽和狀態(tài)時(shí),網(wǎng)絡(luò)吞吐量會(huì)急劇下降,而包時(shí)延由于大量的亂序報(bào)文會(huì)急劇上升。 減少或者阻止緩存耗盡被認(rèn)為是很自然的,甚至認(rèn)為是解決緩存分配問題的唯一方法,但是有的方法完全沒有考慮到對(duì)數(shù)據(jù)流的影響。網(wǎng)絡(luò)攻擊數(shù)據(jù)流和熱點(diǎn)流的存在,同樣導(dǎo)致網(wǎng)絡(luò)性能下降。如果不加區(qū)別的減少或消除攻擊流或者熱點(diǎn)流引起的阻塞,并不能提高網(wǎng)絡(luò)的性能。但是,通過阻止或減少攻擊流對(duì)其它數(shù)據(jù)流的負(fù)面影響,可以保證正常的通信業(yè)務(wù)帶寬。參見

圖1所示,在共享緩存式以太網(wǎng)交換機(jī)的交換模型中,所有端口共享該共享緩存式以太網(wǎng)交換機(jī)內(nèi)的緩存,當(dāng)數(shù)據(jù)報(bào)文從輸入端口經(jīng)過端口隊(duì)列進(jìn)入該共享緩存式以太網(wǎng)交換機(jī)的共享緩存,再經(jīng)調(diào)度器進(jìn)入輸出端口緩存,調(diào)度器按照先進(jìn)先出的的策略,對(duì)輸出端口緩存中的數(shù)據(jù)進(jìn)行調(diào)度。共享緩存管理單元負(fù)責(zé)從共享緩存中分配空閑空間用來存儲(chǔ)進(jìn)入的報(bào)文,并將存儲(chǔ)空間的地址作為索引來標(biāo)記該報(bào)文。此后,該共享緩存式以太網(wǎng)交換機(jī)所有對(duì)數(shù)據(jù)報(bào)文的處理,包括查找、修改、排隊(duì),都只是針對(duì)數(shù)據(jù)報(bào)文索引進(jìn)行處理。最后,由調(diào)度器通過索引找到數(shù)據(jù)報(bào)文在共享緩存中的實(shí)際存儲(chǔ)地址,取出數(shù)據(jù)報(bào)文,由出端口發(fā)送。然后,共享緩存管理單元將該數(shù)據(jù)報(bào)文所對(duì)應(yīng)的存儲(chǔ)空間回收,還給共享緩存。為避免擁塞,在輸出端口緩存中數(shù)據(jù)包達(dá)到一定的閾值時(shí),開始進(jìn)行丟包,使得輸入的數(shù)據(jù)包減少,其反饋控制模型參見圖2所示。假設(shè)數(shù)據(jù)流的到達(dá)速率為w(t),交換設(shè)備可以進(jìn)行轉(zhuǎn)發(fā)的數(shù)據(jù)發(fā)送速率為q(t),q(t)依據(jù)緩沖區(qū)占有量x(t)進(jìn)行反饋調(diào)節(jié),那么上圖所示的模型,其動(dòng)態(tài)行為可描述為如下方程
權(quán)利要求
1.一種共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法,其特征在于,包括以下步驟 51、共享緩存式以太網(wǎng)交換機(jī)的物理端口共享緩存管理單元收到數(shù)據(jù)包時(shí),根據(jù)數(shù)據(jù)包的具體內(nèi)容進(jìn)行哈希計(jì)算,得到該數(shù)據(jù)包的流索引;每個(gè)流初始化時(shí),當(dāng)前信用值獲得最大信用值,最大信用值為數(shù)據(jù)流的已使用緩存大于系統(tǒng)平均緩存時(shí)最大允許轉(zhuǎn)發(fā)的數(shù)據(jù)包個(gè)數(shù); 52、共享緩存管理單元根據(jù)流索引檢索數(shù)據(jù)流數(shù)組,得到流信息,流信息包括該條流的已使用緩存、當(dāng)前信用值和該條流的隊(duì)列索引;根據(jù)數(shù)據(jù)包的信息和調(diào)度規(guī)則,為數(shù)據(jù)流分配隊(duì)列,得到該數(shù)據(jù)包的隊(duì)列索引; 53、共享緩存管理單元根據(jù)隊(duì)列索引檢索隊(duì)列數(shù)組,得到當(dāng)前隊(duì)列長度和隊(duì)列中的流數(shù)量,將隊(duì)列長度除以隊(duì)列中的流數(shù)量,得到當(dāng)前隊(duì)列中每個(gè)流占有的平均緩存; 54、共享緩存管理單元根據(jù)接收數(shù)據(jù)包的長度更新流信息中的已使用緩存變量值將已使用緩存加上發(fā)送數(shù)據(jù)包的長度,作為新的已使用緩存; 55、共享緩存管理單元設(shè)置攻擊流信用閾值和攻擊流緩存閾值,攻擊流信用閾值為判斷數(shù)據(jù)流是否為攻擊流的信用門限值,攻擊流緩存閾值為攻擊流所能占用的最大緩存值,根據(jù)流信息中的已占用緩存、當(dāng)前信用值和系統(tǒng)均緩存、攻擊流信用閾值、攻擊流緩存閾值的比較結(jié)果,作出以下7種不同的流行為判斷和處理 (1)如果流的已使用緩存未超過系統(tǒng)平均使用緩存,則判定為非攻擊包,共享緩存管理單元正常轉(zhuǎn)發(fā)數(shù)據(jù)包; (2)如果流的已使用緩存超過系統(tǒng)平均使用緩存、但當(dāng)前信用值等于系統(tǒng)最大信用值,按照概率隨機(jī)丟棄數(shù)據(jù)包; (3)如果流的當(dāng)前信用值<攻擊流信用閾值,判定該流為攻擊流,將攻擊流使用緩存限定在攻擊流緩存閾值以內(nèi),丟棄攻擊流所在數(shù)據(jù)包的后續(xù)包,并將該流的信用值遞減到O ; (4)如果流的已使用緩存>攻擊流緩存閾值、且流的當(dāng)前信用值<攻擊流信用閾值,則判定該數(shù)據(jù)流為攻擊流,根據(jù)概率隨機(jī)丟棄一個(gè)數(shù)據(jù)包,該流的信用值隨機(jī)遞減; (5)如果流的發(fā)送源端沒有響應(yīng)丟棄事件、繼續(xù)高速率發(fā)包,且該流使用緩存仍然超過平均緩存,則根據(jù)概率隨機(jī)丟棄一個(gè)數(shù)據(jù)包,該流的信用值隨機(jī)遞減; (6)如果流的已使用緩存<系統(tǒng)平均緩存、且當(dāng)前信用值<攻擊流信用閾值,說明該數(shù)據(jù)流為攻擊流,但緩存使用較小,正常轉(zhuǎn)發(fā)數(shù)據(jù)包,但該流的當(dāng)前信用值遞增; (7)如果流的已使用緩存<系統(tǒng)平均緩存、且當(dāng)前信用值>攻擊流信用閾值,說明該流曾經(jīng)是攻擊流,但已經(jīng)變?yōu)檎A?,將該流的性用值重新置為系統(tǒng)的最大信用值,并按正常流進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā); 56、共享緩存管理單元轉(zhuǎn)發(fā)數(shù)據(jù)包后,更新流信息中的已使用緩存、當(dāng)前信用值、隊(duì)列的活躍流計(jì)數(shù)、隊(duì)列長度; 57、對(duì)端口隊(duì)列中的數(shù)據(jù)流進(jìn)行出方向調(diào)度處理,更新隊(duì)列數(shù)據(jù)信息。
2.如權(quán)利要求1所述的共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法,其特征在于步驟SI中所述流索引用于檢索數(shù)據(jù)流數(shù)組使用,所述數(shù)據(jù)流數(shù)組用于記錄每個(gè)流的緩存占用情況、信用值、該流是否為活躍流以及該流被調(diào)用的隊(duì)列號(hào)。
3.如權(quán)利要求1所述的共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法,其特征在于步驟S2中還包括以下步驟如果該條流的隊(duì)列索引為無效值,為該流分配隊(duì)列索引;隊(duì)列索引用于檢索共享緩存式以太網(wǎng)交換機(jī)物理端口的隊(duì)列數(shù)組,記錄該端口下每個(gè)隊(duì)列的當(dāng)前長度和活動(dòng)的流數(shù)量。
4.如權(quán)利要求1所述的共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法,其特征在于步驟S6包括以下步驟共享緩存管理單元轉(zhuǎn)發(fā)數(shù)據(jù)包后,根據(jù)接收數(shù)據(jù)包的長度更新流信息中的已使用緩存變量值將已使用緩存減去發(fā)送數(shù)據(jù)包的長度;再判斷該流的緩存占用是否為零,如果為零,則根據(jù)隊(duì)列索引將數(shù)據(jù)流數(shù)量減一;根據(jù)隊(duì)列索引更新隊(duì)列的長度,以及更新流信息中的當(dāng)前信用值、隊(duì)列的活躍流計(jì)數(shù)。
5.如權(quán)利要求4所述的共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法,其特征在于步驟S6之前還包括以下步驟如果是首次進(jìn)入隊(duì)列,還需要根據(jù)隊(duì)列索引將數(shù)據(jù)流計(jì)數(shù)器加一,然后進(jìn)入數(shù)據(jù)包發(fā)送流程。
6.如權(quán)利要求5所述的共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法,其特征在于步驟S6還包括以下步驟丟棄數(shù)據(jù)包后,判斷該流的緩存占用是否為零,如果為零,則根據(jù)隊(duì)列索引將數(shù)據(jù)流數(shù)量減一。
7.如權(quán)利要求1至6中任一項(xiàng)所述的共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法,其特征在于步驟S7包括以下步驟先根據(jù)數(shù)據(jù)流索引和數(shù)據(jù)包進(jìn)行發(fā)送數(shù)據(jù)處理,根據(jù)發(fā)送數(shù)據(jù)包的長度更新流信息中的已使用緩存變量值將已使用緩存減去發(fā)送數(shù)據(jù)包的長度;再判定該流的已使用緩存變量值是否為零,如果為零,則根據(jù)隊(duì)列索引將數(shù)據(jù)流計(jì)數(shù)器減一,然后發(fā)送數(shù)據(jù)包。
8.一種共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制裝置,其特征在于該緩存資源控制裝置位于共享緩存管理單元中,該緩存資源控制裝置包括接收模塊、流索引計(jì)算模塊、隊(duì)列索引獲取模塊、平均緩存計(jì)算模塊、更新模塊、流初始化模塊、判斷模塊、數(shù)據(jù)包丟棄模塊、攻擊流判定模塊、流信用值處理模塊,其中 接收模塊,用于接收數(shù)據(jù)包,產(chǎn)生流索引計(jì)算觸發(fā)信號(hào)和隊(duì)列索引獲取觸發(fā)信號(hào),并將數(shù)據(jù)包和流索引計(jì)算觸發(fā)信號(hào)一起發(fā)送到流索引計(jì)算模塊,將數(shù)據(jù)包和隊(duì)列索引獲取觸發(fā)信號(hào)一起發(fā)送到隊(duì)列索引獲取模塊; 流索引計(jì)算模塊,用于收到接收模塊發(fā)來的數(shù)據(jù)包和流索引計(jì)算觸發(fā)信號(hào)時(shí),根據(jù)數(shù)據(jù)包的具體內(nèi)容進(jìn)行哈希計(jì)算,得到流索引; 隊(duì)列索引獲取模塊,用于收到接收模塊發(fā)來的數(shù)據(jù)包和隊(duì)列索引獲取觸發(fā)信號(hào)時(shí),根據(jù)數(shù)據(jù)包的信息和調(diào)度規(guī)則,為數(shù)據(jù)流分配隊(duì)列,得到隊(duì)列索引,產(chǎn)生平均緩存計(jì)算觸發(fā)信號(hào),并將隊(duì)列索引和平均緩存計(jì)算觸發(fā)信號(hào)一起發(fā)送到平均緩存計(jì)算模塊; 平均緩存計(jì)算模塊,用于收到隊(duì)列索引獲取模塊發(fā)來的隊(duì)列索引和平均緩存計(jì)算觸發(fā)信號(hào)時(shí),根據(jù)隊(duì)列索引計(jì)算當(dāng)前隊(duì)列中每個(gè)流占有的平均緩存,產(chǎn)生更新觸發(fā)信號(hào),將更新觸發(fā)信號(hào)發(fā)送到更新模塊; 更新模塊,用于收到平均緩存計(jì)算模塊發(fā)來的更新觸發(fā)信號(hào)時(shí),更新流信息中的已使用緩存變量值、隊(duì)列信息中的活躍流計(jì)數(shù)、隊(duì)列長度;以及對(duì)端口隊(duì)列中的數(shù)據(jù)流進(jìn)行出方向調(diào)度處理,更新隊(duì)列數(shù)據(jù)信息; 流初始化模塊,用于對(duì)流進(jìn)行初始化,產(chǎn)生最大信用值設(shè)置觸發(fā)信號(hào),將該流和最大信用值設(shè)置觸發(fā)信號(hào)發(fā)送到流信用值處理模塊,將該流發(fā)送到判斷模塊; 判斷模塊,用于收到流后,如果判定流的使用緩存超過系統(tǒng)平均使用緩存,則產(chǎn)生首次隨機(jī)丟棄觸發(fā)信號(hào),將首次隨機(jī)丟棄觸發(fā)信號(hào)發(fā)送到數(shù)據(jù)包丟棄模塊;如果判定流的發(fā)送源端沒有響應(yīng)丟棄事件、繼續(xù)高速率發(fā)包,且該流使用的緩存仍然超過平均緩存,則產(chǎn)生隨機(jī)丟棄觸發(fā)信號(hào),將該流和隨機(jī)丟棄觸發(fā)信號(hào)發(fā)送到數(shù)據(jù)包丟棄模塊;如果判定流的信用值小于攻擊流信用閾值,則產(chǎn)生攻擊流判定觸發(fā)信號(hào),并將該流和攻擊流判定觸發(fā)信號(hào)發(fā)送到攻擊流判定模塊; 數(shù)據(jù)包丟棄模塊,用于收到判斷模塊發(fā)來的首次隨機(jī)丟棄觸發(fā)信號(hào)時(shí),開始隨機(jī)丟棄一個(gè)數(shù)據(jù)包;收到判斷模塊發(fā)來的流和隨機(jī)丟棄觸發(fā)信號(hào)時(shí),根據(jù)概率隨機(jī)丟棄一個(gè)數(shù)據(jù)包,并產(chǎn)生流信用值隨機(jī)遞減觸發(fā)信號(hào),將該流和流信用值隨機(jī)遞減觸發(fā)信號(hào)發(fā)送到流信用值處理模塊;收到攻擊流判定模塊發(fā)來的攻擊流和無條件丟棄觸發(fā)信號(hào)時(shí),將攻擊流所在數(shù)據(jù)包后續(xù)的數(shù)據(jù)包全部丟棄; 攻擊流判定模塊,用于收到判斷模塊發(fā)來的流和攻擊流判定觸發(fā)信號(hào)時(shí),將該流判定為攻擊流,將該攻擊流使用的緩存限定在攻擊流緩存閾值以內(nèi),并產(chǎn)生無條件丟棄觸發(fā)信號(hào)和信用值遞減到零觸發(fā)信號(hào),將該攻擊流和無條件丟棄觸發(fā)信號(hào)發(fā)送到數(shù)據(jù)包丟棄模塊,將該攻擊流和流信用值遞減到零觸發(fā)信號(hào)發(fā)送到流信用值處理模塊;如果判定攻擊流降低發(fā)送速率,并且系統(tǒng)緩存資源充足、沒有擁塞,則產(chǎn)生恢復(fù)最大信用值觸發(fā)信號(hào),將該攻擊流和恢復(fù)最大信用值觸發(fā)信號(hào)發(fā)送到流信用值處理模塊; 流信用值處理模塊,用于收到流初始化模塊發(fā)來的流和最大信用值設(shè)置觸發(fā)信號(hào)時(shí),將該流的信用值設(shè)置為最大信用值;收到數(shù)據(jù)包丟棄模塊發(fā)來的流和流信用值隨機(jī)遞減觸發(fā)信號(hào)時(shí),隨機(jī)遞減該流的信用值;收到攻擊流判定模塊發(fā)來的攻擊流和流信用值遞減到零觸發(fā)信號(hào)時(shí),將該攻擊流的信用值遞減到O ;收到攻擊流判定模塊發(fā)來的攻擊流和恢復(fù)最大信用值觸發(fā)信號(hào)時(shí),將該攻擊流的信用值恢復(fù)到最大信用值,該攻擊流變?yōu)檎A?,再將該正常流發(fā)送到判斷模塊。
9.如權(quán)利要求8所述的共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制裝置,其特征在于所述更新模塊根據(jù)接收數(shù)據(jù)包的長度更新流信息中的已使用緩存變量值將已使用緩存減去發(fā)送數(shù)據(jù)包的長度;再判斷該流的緩存占用是否為零,如果為零,則根據(jù)隊(duì)列索引將數(shù)據(jù)流數(shù)量減一;根據(jù)隊(duì)列索引更新隊(duì)列的長度,以及更新流信息中的當(dāng)前信用值、隊(duì)列的活躍流計(jì)數(shù)。
10.如權(quán)利要求8或9所述的共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制裝置,其特征在于所述數(shù)據(jù)包丟棄模塊丟棄數(shù)據(jù)包后,判斷該流的緩存占用是否為零,如果為零,則根據(jù)隊(duì)列索引將數(shù)據(jù)流數(shù)量減一。
全文摘要
本發(fā)明公開了一種共享緩存式以太網(wǎng)交換機(jī)的緩存資源控制方法及裝置,涉及通信領(lǐng)域,該方法包括以下步驟收到數(shù)據(jù)包時(shí),進(jìn)行哈希計(jì)算,得到數(shù)據(jù)包的流索引,根據(jù)流索引檢索數(shù)據(jù)流數(shù)組,得到流信息;根據(jù)隊(duì)列索引檢索隊(duì)列數(shù)組,得到當(dāng)前隊(duì)列長度和隊(duì)列中的流數(shù)量;根據(jù)數(shù)據(jù)包的長度更新流信息中的已使用緩存變量值;根據(jù)流信息中的已占用緩存、當(dāng)前信用值和系統(tǒng)均緩存、攻擊流信用閾值、攻擊流緩存閾值的比較結(jié)果,作出不同的流行為判斷處理;轉(zhuǎn)發(fā)數(shù)據(jù)包后,更新流信息中的已使用緩存、當(dāng)前信用值、隊(duì)列的活躍流計(jì)數(shù)、隊(duì)列長度。本發(fā)明能根據(jù)當(dāng)前緩存的使用情況及時(shí)響應(yīng),快速發(fā)現(xiàn)攻擊行為,防止攻擊行為消耗緩存資源,有效控制網(wǎng)絡(luò)擁塞。
文檔編號(hào)H04L12/861GK103023806SQ201210551390
公開日2013年4月3日 申請(qǐng)日期2012年12月18日 優(yōu)先權(quán)日2012年12月18日
發(fā)明者羅婷, 汪學(xué)舜 申請(qǐng)人:武漢烽火網(wǎng)絡(luò)有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1