專利名稱:用于數據流量管理的隨機早期丟棄方法和裝置的制作方法
技術領域:
本發明涉及通信領域,尤其涉及一種用于數據流量管理的隨機早期丟棄方法和裝置。
背景技術:
隨機早期丟棄(Random Early Detection, RED)是一種用于數據流量管理中的避 免網絡擁塞的技術,其基本原理是,在數據緩存之前,對數據包的長度進行判斷,如果長度 過長,則對數據包進行隨機丟棄,其目的是避免大量連續丟包導致網絡質量降低。通常,如圖1所示,流量管理芯片的緩存空間分為數據緩存空間與描述符緩存空 間。數據緩存空間存儲數據包的內容,數據緩存空間的占用深度與數據包的長度及數量相 關;描述符緩存空間存儲數據包的描述符,描述符包含數據包在數據緩存空間存儲器的起 始地址、包長、隊列號、輸出端口號等等,對于多播的不同成員輸出端口號不相同,所有描述 符都占用固定大小的描述符緩存空間。描述符緩存空間的占用深度與數據包的數量以及多 播包的復制次數相關。換言之,數據緩存空間受包長的影響顯著,而描述符緩存空間受多播 次數的影響顯著。相關技術中的用于數據流量管理的隨機早期丟棄方法和裝置不對存儲數據包的 描述符的描述符緩存空間進行處理,當出現大量的多播次數較多的多播包時,描述符緩存 空間將溢出,導致緩存過程中大量的連續丟包,嚴重時將導致TCP全局同步,影響網絡質量。
發明內容
本明的目的在于提供一種用于數據流量管理的隨機早期丟棄方法和裝置,能夠解 決相關技術中不對描述符緩存空間進行處理可能導致的描述符緩存空間溢出,影響網絡質 量的技術問題。根據本發明的一個方面,提供了一種用于數據流量管理的隨機早期丟棄方法,包 括根據待輸入到流量管理芯片的數據緩存空間的數據包的數據內容的第一長度和數據緩 存空間的當前占用深度得到數據內容的第一占用深度,并根據數據包的描述符的第二長度 和描述符緩存空間的當前占用深度得到描述符的第二占用深度;根據第一占用深度和第二 占用深度對數據包執行丟棄。優選地,根據待輸入到流量管理芯片的數據緩存空間的數據包的數據內容的第一 長度和數據緩存空間的當前占用深度得到數據內容的第一占用深度,并根據數據包的描述 符的第二長度和描述符緩存空間的當前占用深度得到描述符的第二占用深度具體包括計 算數據內容的第一占用深度D1 = LJD1 ;計算描述符的第二占用深度D2 = L2+D2 ;其中,L1是 待輸入到數據緩存空間的數據包的數據內容的第一長度,D1是數據緩存空間的當前占用深 度,L2是數據包的描述符的第一長度,D2是描述符緩存空間的當前占用深度。優選地,根據第一占用深度和第二占用深度對數據包執行丟棄具體包括根據第
4一占用深度和第二占用深度對數據包的數據內容和描述符分別執行丟棄;根據對數據內容 和描述符的丟棄結果對數據包執行丟棄。優選地,根據第一占用深度和第二占用深度對數據包的數據內容和描述符分別執 行丟棄具體包括如果第一占用深度大于數據緩存空間的最大深度,則丟棄數據內容;否 則,則不丟棄數據內容;如果第二占用深度大于描述符緩存空間的最大深度,則丟棄描述 符;否則,則不丟棄描述符。優選地,根據第一占用深度和第二占用深度對數據包的數據內容和描述符分別執 行丟棄具體包括根據預先設置的丟棄策略,利用第一占用深度和第二占用深度得到數據 內容的第一丟棄概率和描述符的第二丟棄概率;根據第一丟棄概率和第二丟棄概率分別對 數據內容和描述符進行丟棄。 優選地,丟棄策略為三級丟棄策略。優選地,數據包是單播數據包,根據對數據內容和描述符的丟棄結果對數據包執 行丟棄具體包括如果數據包的數據內容被丟棄,則丟棄數據包的描述符,并對數據包執行 丟棄;如果數據包的描述符被丟棄,則丟棄數據包的數據內容,并對數據包執行丟棄。優選地,數據包是多播數據包,根據對數據內容和描述符的丟棄結果對數據包執 行丟棄具體包括如果數據包的數據內容被丟棄,則丟棄數據包的描述符,并對數據包執行 丟棄;如果數據包的多個描述符全被丟棄,則丟棄數據包,并對數據包執行丟棄;否則,則 不丟棄數據包。根據本發明的另一個方面,還提供了一種用于數據流量管理的隨機早期丟棄裝 置,包括第一占用深度計算模塊,用于根據待輸入到流量管理芯片的數據緩存空間的數據 包的數據內容的第一長度和數據緩存空間的當前占用深度得到數據內容的第一占用深度; 第二占用深度計算模塊,用于根據數據包的描述符的第二長度和描述符緩存空間的當前占 用深度得到描述符的第二占用深度;丟棄模塊,用于根據第一占用深度和第二占用深度分 別對數據包的數據內容和描述符執行丟棄。優選地,丟棄模塊包括設置單元,用于設置丟棄策略;數據緩存空間丟棄單元, 用于根據丟棄策略,利用第一占用深度對數據包的數據內容執行丟棄;描述符緩存空間丟 棄單元,用于根據丟棄策略,利用第二占用深度對數據包的描述符執行丟棄;綜合丟棄單 元,用于根據數據緩存空間丟棄單元和描述符緩存空間丟棄單元的丟棄結果對數據包執行 丟棄。借助于本發明的上述至少一個技術方案,通過根據待輸入到流量管理芯片的數據 緩存空間的數據包的數據內容的第一長度和數據緩存空間的當前占用深度得到數據內容 的第一占用深度,并根據數據包的描述符的第二長度和描述符緩存空間的當前占用深度得 到描述符的第二占用深度,然后根據第一占用深度和第二占用深度對數據包執行丟棄,從 而實現了對描述符緩存空間也進行隨機早期丟棄的處理,以避免描述符緩存空間溢出導致 的大量連續丟包,最終達到改善網絡質量的技術效果。
附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明的實 施例一起用于解釋本發明,并不構成對本發明的限制。在附圖中
5
圖1是現有技術中的數據緩存空間和描述符緩存空間的存儲示意圖;圖2是根據本發明第一實施例的用于數據流量管理的隨機早期丟棄方法的流程 圖;圖3是根據本發明第二實施例的用于數據流量管理的隨機早期丟棄裝置的方框 圖;圖4a和圖4b是根據本發明第三實施例中的分別存儲DDR和QDR的隊列占用深度 的RAMI和RAM2的示意圖。
具體實施例方式以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實 施例僅用于說明和解釋本發明,并不用于限定本發明。在以下的描述中,為了解釋的目的,描述了多個特定的細節,以提供對本發明的透 徹理解。然而,很顯然,在沒有這些特定細節的情況下,也可以實現本發明,此外,在不沖突 的情況下,即在不背離所附權利要求闡明的精神和范圍的情況下,下述實施例以及實施例 中的各個細節可以進行各種組合。在本申請文件的通篇中,第一長度是指數據包的數據內容的長度,其單位可以為 例如字節、位等的數據長度;數據緩存空間的當前占用深度是指當前的數據緩存空間中的 緩存隊列中的數據長度;第一占用深度是指第一長度和數據緩存空間的當前占用深度之 和,即,當第一長度的數據內容輸入到數據緩存空間中的緩存隊列中后的數據緩存空間中 的緩存隊列中的數據長度,其單位與第一長度的單位相同,也可以為例如字節、位等的數據 單位;第二長度是指數據包的描述符的長度,一個描述符通常占用一個單位長度,由于不同 描述符占用相同大小的存儲器,因此其計算單位可以根據實際的具體情況來確定,例如,當 單位長度為56比特時,一個描述符即占用一個56比特的數據長度;描述符緩存空間的當前 占用深度是指當前的描述符緩存空間中的緩存隊列中的數據長度;第二占用深度是指第二 長度和描述符緩存空間的當前占用深度之和,即,當第二長度的描述符輸入到描述符緩存 空間中的緩存隊列中后的描述符緩存空間中的緩存隊列中的數據長度,其單位與第二長度 的單位相同。第一實施例圖2是根據本發明第一實施例的用于數據流量管理的隨機早期丟棄方法的流程 圖。如圖2所示,根據本發明第一實施例的用于數據流量管理的隨機早期丟棄方法包括步驟S202,根據待輸入到流量管理芯片的數據緩存空間的數據包的數據內容的第 一長度和數據緩存空間的當前占用深度得到數據內容的第一占用深度,并根據數據包的描 述符的第二長度和描述符緩存空間的當前占用深度得到描述符的第二占用深度;步驟S204,根據第一占用深度和第二占用深度對數據包執行丟棄。根據本發明第一實施例的用于數據流量管理的隨機早期丟棄方法通過根據待輸 入到流量管理芯片的數據緩存空間的數據包的數據內容的第一長度和數據緩存空間的當 前占用深度得到數據內容的第一占用深度,并根據數據包的描述符的第二長度和描述符緩 存空間的當前占用深度得到描述符的第二占用深度,然后根據第一占用深度和第二占用深 度對數據包執行丟棄,從而實現了對描述符緩存空間也進行隨機早期丟棄的處理,以避免
6描述符緩存空間溢出導致的大量連續丟包,最終達到改善網絡質量的技術效果。優選地,根據待輸入到流量管理芯片的數據緩存空間的數據包的數據內容的第一 長度和數據緩存空間的當前占用深度得到數據內容的第一占用深度,并根據數據包的描述 符的第二長度和描述符緩存空間的當前占用深度得到描述符的第二占用深度具體包括計 算數據內容的第一占用深度D1 = LJD1 ;計算描述符的第二占用深度D2 = L2+D2 ;其中,L1是 待輸入到數據緩存空間的數據包的數據內容的第一長度,D1是數據緩存空間的當前占用深 度,L2是數據包的描述符的第一長度,D2是描述符緩存空間的當前占用深度。當前占用深度加上待輸入的數據內容或描述符的長度就得到需要的占用深度。如 果為了提高RED處理的帶寬,將RED申請與回收同步進行,則當前占用深度加上數據內容或 描述符的長度,再減去回收的長度就可以得到對應的第一占用深度或第二占用深度。優選地,根據第一占用深度和第二占用深度對數據包執行丟棄具體包括根據第 一占用深度和第二占用深度對數據包的數據內容和描述符分別執行丟棄;根據對數據內容 和描述符的丟棄結果對數據包執行丟棄。從而實現了對描述符緩存空間也進行隨機早期丟 棄的處理,以避免描述符緩存空間溢出導致的大量連續丟包,最終達到改善網絡質量的技 術效果。優選地,根據第一占用深度和第二占用深度對數據包的數據內容和描述符分別執 行丟棄具體包括如果第一占用深度大于數據緩存空間的最大深度,則丟棄數據內容;否 則,則不丟棄數據內容;如果第二占用深度大于描述符緩存空間的最大深度,則丟棄描述 符;否則,則不丟棄描述符。當占用深度大于緩存空間的最大深度時,表明緩存空間無法存 儲該數據內容或描述符,所以要丟棄該數據包,以避免數據緩存空間或描述符緩存空間溢 出導致的大量連續丟包,最終達到改善網絡質量的技術效果。優選地,根據第一占用深度和第二占用深度對數據包的數據內容和描述符分別執 行丟棄具體包括根據預先設置的丟棄策略,利用第一占用深度和第二占用深度得到數據 內容的第一丟棄概率和描述符的第二丟棄概率;根據第一丟棄概率和第二丟棄概率分別對 數據內容和描述符進行丟棄。除了在占用深度大于緩存空間的最大深度時直接丟棄整個數 據包以外,還可以設置小于最大深度的門限值以限制占用深度,以為緩存空間保留一定大 小的剩余空間。優選地,丟棄策略為三級丟棄策略。三級丟棄策略的內容是如果占用深度Dn大 于緩存空間的最大深度DMAX,則丟棄;否則,如果Dn大于門限Tl,則按概率Pl丟棄;否則 若Dn大于門限T2,則按概率P2丟棄;否則不丟棄,其中,DMAX>T1 > T2,Pl > P2。從而 達到了在避免數據緩存空間溢出的同時,也避免了描述符空間溢出,所以有效地避免了大 量連續丟包,達到改善網絡質量的技術效果。優選地,數據包是單播數據包,根據對數據內容和描述符的丟棄結果對數據包執 行丟棄具體包括如果數據包的數據內容被丟棄,則丟棄數據包的描述符,并對數據包執行 丟棄;如果數據包的描述符被丟棄,則丟棄數據包的數據內容,并對數據包執行丟棄。由于 一個單播數據包只對應一個數據內容和一個描述符,所以當數據內容和描述符之中的任一 個被丟棄時,該數據包將被丟棄。從而達到了在避免數據緩存空間溢出的同時,也避免了描 述符空間溢出,所以有效地避免了大量連續丟包,達到改善網絡質量的技術效果。優選地,數據包是多播數據包,根據對數據內容和描述符的丟棄結果對數據包執
7行丟棄具體包括如果數據包的數據內容被丟棄,則丟棄數據包的描述符,并對數據包執行 丟棄;如果數據包的多個描述符全被丟棄,則丟棄數據包,并對數據包執行丟棄;否則,則 不丟棄數據包。由于一個多播數據包將對應一個數據內容和多個描述符,所以當數據內容 被丟棄時,該數據包將被丟棄,而僅當該多個描述符中的所有全部被丟棄時,才丟棄該數據 包。從而達到了在避免數據緩存空間溢出的同時,也避免了描述符空間溢出,所以有效地避 免了大量連續丟包,達到改善網絡質量的技術效果。本實施例的用于數據流量管理的隨機早期丟棄方法實現了在對數據緩存空間進 行隨機早期丟棄的同時,也對描述符緩存空間也進行隨機早期丟棄的處理,在避免數據緩 存空間溢出的同時,也避免了描述符緩存空間溢出導致的大量連續丟包,最終達到改善網 絡質量的技術效果。第二實施例圖3是根據本發明第二實施例的用于數據流量管理的隨機早期丟棄裝置的方框 圖。如圖3所示,根據本發明第二實施例的用于數據流量管理的隨機早期丟棄裝置包 括第一占用深度計算模塊302,用于根據待輸入到流量管理芯片的數據緩存空間的數據 包的數據內容的第一長度和數據緩存空間的當前占用深度得到數據內容的第一占用深度; 第二占用深度計算模塊304,用于根據數據包的描述符的第二長度和描述符緩存空間的當 前占用深度得到描述符的第二占用深度;丟棄模塊306,用于根據第一占用深度和第二占 用深度分別對數據包的數據內容和描述符執行丟棄。用于數據流量管理的隨機早期丟棄裝置通過第一占用深度計算模塊和第二占用 深度計算模塊來數據內容的第一占用深度和描述符的第二占用深度,然后利用丟棄模塊根 據第一占用深度和第二占用深度對數據包執行丟棄,從而實現了對描述符緩存空間也進行 隨機早期丟棄的處理,以避免描述符緩存空間溢出導致的大量連續丟包,最終達到改善網 絡質量的技術效果。優選地,丟棄模塊306包括設置單元,用于設置丟棄策略;數據緩存空間丟棄單 元,用于根據丟棄策略,利用第一占用深度對數據包的數據內容執行丟棄;描述符緩存空間 丟棄單元,用于根據丟棄策略,利用第二占用深度對數據包的描述符執行丟棄;綜合丟棄單 元,用于根據數據緩存空間丟棄單元和描述符緩存空間丟棄單元的丟棄結果對數據包執行 丟棄。可選地丟棄策略可以是三級丟棄策略,三級丟棄策略的內容是如果占用深度Dn大 于緩存空間的最大深度DMAX,則丟棄;否則,如果Dn大于門限Tl,則按概率Pl丟棄;否則 若Dn大于門限T2,則按概率P2丟棄;否則不丟棄,其中,DMAX>T1 >T2,P1 >P2。從而 達到了在避免數據緩存空間溢出的同時,也避免了描述符空間溢出,所以有效地避免了大 量連續丟包,達到改善網絡質量的技術效果。另外,在后續的處理過程中,當將緩存中的數據包轉發出去以后,數據緩存空間及 描述符緩存空間均將進行占用深度的回收,以備后進入芯片的數據包使用。在進行占用深 度回收時,第一占用深度計算模塊將轉發前的數據緩存空間的占用深度減去轉發出去的數 據包的數據內容的占用深度,以得到轉發后的數據緩存空間的占用深度,作為數據緩存空 間的當前占用深度;同樣,第二占用深度計算模塊將轉發前的描述符緩存空間的占用深度 減去轉發出去的數據包的描述符的占用深度,以得到轉發后的描述符緩存空間的占用深
8度,作為描述符緩存空間的當前占用深度。在數據緩存過程中,第一占用深度計算模塊和第 二占用深度計算模塊同時進行求第一占用深度和第二占用深度的求和運算和后續數據包 轉發后的求差運算。本實施例的用于數據流量管理的隨機早期丟棄裝置實現了在對數據緩存空間進 行隨機早期丟棄的同時,也對描述符緩存空間也進行隨機早期丟棄的處理,在避免數據緩 存空間溢出的同時,也避免了描述符緩存空間溢出導致的大量連續丟包,最終達到改善網 絡質量的技術效果。第三實施例在本實施例中,數據緩存空間為DDR存儲器,描述符緩存空間為QDR存儲器,并以 組播次數為4的組播數據包為待緩存的數據包。根據本發明第三實施例的用于數據流量管理的隨機早期丟棄方法包括以下步 驟步驟401,對數據包執行對來自多播復制裝置的RED申請,識別包類型為組播包, 并提取其隊列號;步驟402,在數據包鏈首、鏈尾執行按隊列號,如圖4a所示,通過端口 A從RAMI中 讀出原隊列占用深度Dn-I ;步驟403,在數據包鏈首執行計算預計的占用深度,預計深度等于占用深度加上 包長,艮口 Dpre = Dn-1+Lrequest ;步驟404,對數據包鏈首執行以預計深度按三級丟棄策略判定該包是否丟棄;步驟405,在數據包鏈尾執行計算新占用深度,若包被丟棄(DDR空間丟棄或QDR 空間4個描述符全都丟棄),則新占用深度為原深度,即Dn = Dn-I (或Dpre-Lrequest);若 未丟棄,則為預計深度,即Dn = Dpre ;步驟406,如圖4a所示,在數據包鏈首執行將預計深度Dpre通過端口 A寫回RAMI 中;在數據包鏈尾執行將新占用深度Dn通過端口 A寫回RAMI中;步驟407,將DDR空間丟棄結果提交到綜合丟棄模塊。在計算RED申請的DDR深度時,同步進行回收DDR深度的計算;數據包被調度后, DDR空間被回收,回收的計算過程如下對來自DDR空間回收處理裝置的回收信息,識別包 類型為組播包,并提取其隊列號;按回收隊列號,從RAMI端口 B獲取原占用深度;計算新占 用深度等于原列占用深度減去回收深度,即Dn = Dn-I-Lrecycle ;將新占用深度Dn通過端 口 B 寫回 RAMI。本實施例中的QDR空間的RED申請及回收過程與DDR方面同步,過程類似,也分成 7步,主要的不同是,對組播的每一個描述符中都進行RED申請時QDR占用深度的計算。步驟401a,對來自多播復制裝置的RED申請,不識別包類型,只提取其隊列號;步驟402a,如圖4b所示,按隊列號,通過端口 A從RAM2中讀出原隊列占用深度 Qn-I ;步驟403a,計算預計的占用深度,預計深度等于占用深度加一,即Qpre = Qn-1+l ; 由于每個描述符只占用緩存空間中的一個單位深度,所以預計深度只加一;步驟404a,以預計深度Qpre按三級丟棄策略判定該包是否丟棄;步驟405a,計算新占用深度,若包被丟棄(DDR空間或QDR空間丟棄),則新占用深
9度為原深度,即Qn = Qn-I (或Qpre-I);若未丟棄,則為預計深度,即Qn = Qpre ;步驟406a,如圖4b所示,將新占用深度Qn通過端口 A寫回RAM2中;步驟407a,將QDR空間丟棄結果提交到綜合丟棄模塊。在計算RED申請的QDR深度時,同步進行回收QDR深度的計算。數據包被調度后, QDR空間被回收,回收的計算過程如下對來自QDR空間回收處理裝置的回收信息,提取其 隊列號;按回收隊列號,從RAM2端口 B讀出原列占用深度;計算新占用深度,等于原列占用 深度減一(回收深度為一),即Qn = Qn-I-I ;將新占用深度Qn通過端口 B寫回RAM2。最后,綜合丟棄模塊將未丟棄的數據包描述符向入隊處理裝置輸出。在本實施例中,對廣播包的處理過程與組播包的處理過程相同,對單播包的處理 相對簡單。單播沒有鏈首與鏈尾,單播順序執行RED申請DDR占用深度計算的七個步驟。單 播的其余計算過程與組播相同。如上所述,借助于本發明的上述至少一個技術方案,本實施例的用于數據流量管 理的隨機早期丟棄方法實現了在對數據緩存空間進行隨機早期丟棄的同時,也對描述符緩 存空間也進行隨機早期丟棄的處理,在避免數據緩存空間溢出的同時,也避免了描述符緩 存空間溢出導致的大量連續丟包,最終達到改善網絡質量的技術效果。以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技 術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修 改、等同替換、改進等,均應包含在本發明的保護范圍之內。
10
權利要求
一種用于數據流量管理的隨機早期丟棄方法,其特征在于,包括根據待輸入到流量管理芯片的數據緩存空間的數據包的數據內容的第一長度和所述數據緩存空間的當前占用深度得到所述數據內容的第一占用深度,并根據所述數據包的描述符的第二長度和所述描述符緩存空間的當前占用深度得到所述描述符的第二占用深度;根據所述第一占用深度和所述第二占用深度對所述數據包執行丟棄。
2.根據權利要求1所述的方法,其特征在于,根據待輸入到流量管理芯片的數據緩存 空間的數據包的數據內容的第一長度和所述數據緩存空間的當前占用深度得到所述數據 內容的第一占用深度,并根據所述數據包的描述符的第二長度和所述描述符緩存空間的當 前占用深度得到所述描述符的第二占用深度具體包括計算所述數據內容的第一占用深度D1 = L^D1 ;計算所述描述符的第二占用深度D2 = L2+D2 ;其中,L1是待輸入到數據緩存空間的數據包的數據內容的第一長度,D1是所述數據緩 存空間的當前占用深度,L2是所述數據包的描述符的第一長度,D2是所述描述符緩存空間 的當前占用深度。
3.根據權利要求1所述的方法,其特征在于,根據所述第一占用深度和所述第二占用 深度對所述數據包執行丟棄具體包括根據所述第一占用深度和所述第二占用深度對所述數據包的所述數據內容和所述描 述符分別執行丟棄;根據對所述數據內容和所述描述符的丟棄結果對所述數據包執行丟棄。
4.根據權利要求3所述的方法,其特征在于,根據所述第一占用深度和所述第二占用 深度對所述數據包的所述數據內容和所述描述符分別執行丟棄具體包括如果所述第一占用深度大于所述數據緩存空間的最大深度,則丟棄所述數據內容;否 則,則不丟棄所述數據內容;如果所述第二占用深度大于所述描述符緩存空間的最大深度,則丟棄所述描述符;否 則,則不丟棄所述描述符。
5.根據權利要求3所述的方法,其特征在于,根據所述第一占用深度和所述第二占用 深度對所述數據包的所述數據內容和所述描述符分別執行丟棄具體包括根據預先設置的丟棄策略,利用所述第一占用深度和所述第二占用深度得到所述數據 內容的第一丟棄概率和所述描述符的第二丟棄概率;根據所述第一丟棄概率和所述第二丟棄概率分別對所述數據內容和所述描述符進行 丟棄。
6.根據權利要求5所述的方法,其特征在于,所述丟棄策略為三級丟棄策略。
7.根據權利要求3所述的方法,其特征在于,所述數據包是單播數據包,根據對所述數 據內容和所述描述符的丟棄結果對所述數據包執行丟棄具體包括如果所述數據包的數據內容被丟棄,則丟棄所述數據包的描述符,并對所述數據包執 行丟棄;如果所述數據包的描述符被丟棄,則丟棄所述數據包的數據內容,并對所述數據包執 行丟棄。
8.根據權利要求3所述的方法,其特征在于,所述數據包是多播數據包,根據對所述數 據內容和所述描述符的丟棄結果對所述數據包執行丟棄具體包括如果所述數據包的數據內容被丟棄,則丟棄所述數據包的描述符,并對所述數據包執 行丟棄;如果所述數據包的多個描述符全被丟棄,則丟棄所述數據包,并對所述數據包執行丟 棄;否則,則不丟棄所述數據包。
9.一種用于數據流量管理的隨機早期丟棄裝置,其特征在于,包括第一占用深度計算模塊,用于根據待輸入到流量管理芯片的數據緩存空間的數據包的 數據內容的第一長度和所述數據緩存空間的當前占用深度得到所述數據內容的第一占用 深度;第二占用深度計算模塊,用于根據所述數據包的描述符的第二長度和所述描述符緩存 空間的當前占用深度得到所述描述符的第二占用深度;丟棄模塊,用于根據所述第一占用深度和所述第二占用深度分別對所述數據包的所述 數據內容和所述描述符執行丟棄。
10.根據權利要求9所述的裝置,其特征在于,所述丟棄模塊包括設置單元,用于設置 丟棄策略;數據緩存空間丟棄單元,用于根據所述丟棄策略,利用所述第一占用深度對所述數據 包的所述數據內容執行丟棄;描述符緩存空間丟棄單元,用于根據所述丟棄策略,利用所述第二占用深度對所述數 據包的所述描述符執行丟棄;綜合丟棄單元,用于根據所述數據緩存空間丟棄單元和所述描述符緩存空間丟棄單元 的丟棄結果對所述數據包執行丟棄。
全文摘要
本發明公開了一種用于數據流量管理的隨機早期丟棄方法和裝置,該方法包括根據待輸入到流量管理芯片的數據緩存空間的數據包的數據內容的第一長度和數據緩存空間的當前占用深度得到數據內容的第一占用深度,并根據數據包的描述符的第二長度和描述符緩存空間的當前占用深度得到描述符的第二占用深度;根據第一占用深度和第二占用深度對數據包執行丟棄。本發明避免了描述符緩存空間溢出導致的大量連續丟包,實現了改善網絡質量的技術效果。
文檔編號H04L12/56GK101938404SQ200910151558
公開日2011年1月5日 申請日期2009年7月1日 優先權日2009年7月1日
發明者龐鴻光 申請人:中興通訊股份有限公司