第二口限,所述第二口限小于或等于所述網(wǎng)絡(luò)設(shè)備存儲空間的容量;
[0052]所述第H確定單元,用于根據(jù)當(dāng)前已用存儲空間的大小,W及已用存儲空間的大 小與所述第二闊值的函數(shù)關(guān)系確定當(dāng)前的第二闊值;其中,在已用存儲空間的大小與所述 第二闊值的函數(shù)關(guān)系中,所述第一口限和所述第二口限中的一個對應(yīng)最小的第二闊值,另 一個對應(yīng)最大的第二闊值。
[0053] 結(jié)合第二方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,在所述已 用存儲空間的大小與所述第二闊值的函數(shù)關(guān)系中,所述已用存儲空間的大小與所述第二闊 值正相關(guān);
[0054]所述第四確定單元,用于若所述數(shù)據(jù)流的隨機(jī)數(shù)小于當(dāng)前的第二闊值,則確定需 要對所述數(shù)據(jù)流中的報文進(jìn)行丟包處理;若所述數(shù)據(jù)流的隨機(jī)數(shù)大于當(dāng)前的第二闊值,貝U 確定不需要對所述數(shù)據(jù)流中的報文進(jìn)行丟包處理。
[0055] 結(jié)合第二方面,在第走種可能的實現(xiàn)方式中,所述數(shù)據(jù)流為TCP流;
[0056]所述丟棄所述同屬一個數(shù)據(jù)流中連續(xù)的M個報文包括;丟棄同屬一個TCP流中TCP序列號連續(xù)的M個報文。
[0057]本發(fā)明實施例提供的網(wǎng)絡(luò)設(shè)備擁塞避免的方法及網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)設(shè)備根據(jù)當(dāng)前已 用存儲空間的大小,確定是否需要對同屬一個數(shù)據(jù)流中的報文進(jìn)行丟包處理,其中,所述同 屬一個數(shù)據(jù)流的報文為N個,2;并在需要進(jìn)行丟包處理的情況下,丟棄所述同屬一個數(shù) 據(jù)流中連續(xù)的M個報文,1《M《N。由于所述網(wǎng)絡(luò)設(shè)備對同屬一個數(shù)據(jù)流中的報文進(jìn)行丟 包處理時,每發(fā)生一次連續(xù)丟包,接收端才會通知發(fā)送端發(fā)生了丟包現(xiàn)象,該樣發(fā)送端判定 當(dāng)前網(wǎng)絡(luò)設(shè)備出現(xiàn)擁塞現(xiàn)象的次數(shù)就會減少,減少發(fā)送報文數(shù)目的次數(shù)也會變少,從而減 輕了現(xiàn)有技術(shù)中網(wǎng)絡(luò)設(shè)備在接收到一串報文后,采用隨機(jī)離散丟包方式對該串報文進(jìn)行丟 包處理而造成的所述網(wǎng)絡(luò)設(shè)備吞吐量減少的問題。
【附圖說明】
[0058] 為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中 所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實 施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù)該些附圖 獲得其他的附圖。
[0059] 圖1為本發(fā)明實施例提供的網(wǎng)絡(luò)設(shè)備擁塞避免的方法的示意圖;
[0060]圖2為本發(fā)明實施例中已用存儲空間的大小與第一闊值的函數(shù)關(guān)系的示意圖;
[0061] 圖3為本發(fā)明實施例中已用存儲空間的大小與第二闊值的函數(shù)關(guān)系示意圖;
[0062] 圖4為本發(fā)明實施例中所述網(wǎng)絡(luò)設(shè)備在當(dāng)前存儲隊列的長度在第一口限和第二 口限之間接收報文的示意圖;
[0063] 圖5為本發(fā)明實施例一中所述網(wǎng)絡(luò)設(shè)備在當(dāng)前存儲隊列的長度在第一口限和第 二口限之間接收報文的TCP流分組情況示意圖;
[0064] 圖6為本發(fā)明實施例提供的網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)示意圖;
[0065] 圖7為本發(fā)明實施例提供的另一種網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0066] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。
[0067] 結(jié)合圖1,本發(fā)明實施例提供的網(wǎng)絡(luò)設(shè)備擁塞避免的方法包括W下步驟:
[0068]S101、網(wǎng)絡(luò)設(shè)備根據(jù)當(dāng)前已用存儲空間的大小,確定是否需要對所述當(dāng)前已用存 儲空間中同屬一個數(shù)據(jù)流的報文進(jìn)行丟包處理。
[0069] 其中,所述同屬一個數(shù)據(jù)流的報文為N個,N> 2。
[0070] 在網(wǎng)絡(luò)設(shè)備的硬件資源中,有一部分硬件資源是作為該網(wǎng)絡(luò)設(shè)備的存儲空間使用 的。每當(dāng)向所述存儲空間寫入數(shù)據(jù)或者讀取數(shù)據(jù)時,則當(dāng)前已用存儲空間的大小將發(fā)生變 化。
[0071] 其中,當(dāng)前已用存儲空間的大小可W用當(dāng)前已用存儲空間的字節(jié)數(shù)來表示,當(dāng)然, 還可W用當(dāng)前已用存儲空間中所保存的報文個數(shù)來表示。
[0072] 示例的,假設(shè)當(dāng)前所述存儲空間中沒有任何數(shù)據(jù),若向所述存儲空間中寫入5MB 的數(shù)據(jù)且不讀取任何數(shù)據(jù),則當(dāng)前已用存儲空間的大小為5MB;若從上述存儲空間中讀取 3MB的數(shù)據(jù)且不寫入任何數(shù)據(jù),則當(dāng)前已用存儲空間的大小將從5MB變化為2MB。
[0073] 又示例的,假設(shè)當(dāng)前所述存儲空間中沒有任何報文,若向所述存儲空間中寫入5 個報文且不讀取任何報文,則當(dāng)前已用存儲空間的大小為5個報文;若從上述存儲空間中 讀取3個報文且不寫入任何報文,那么,當(dāng)前已用存儲空間的大小將從5個報文變化為2個 報文。
[0074]所謂同屬一個數(shù)據(jù)流是指,若某幾個報文的源網(wǎng)際協(xié)議(InternetProtocol,簡 稱為IP)地址、目的IP地址、協(xié)議號、數(shù)據(jù)流源端口、數(shù)據(jù)流目的端口中的至少一項相同,貝U 該幾個報文同屬一個數(shù)據(jù)流。
[0075] 在此步驟中,當(dāng)前已用存儲空間中所保存的報文可能同屬一個數(shù)據(jù)流,也可能僅 有其中的N個報文同屬一個數(shù)據(jù)流。
[007引示例的,設(shè)當(dāng)前已用存儲空間中所保存的報文共有L(L>N)個,若L=N,則當(dāng)前已 用存儲空間中所保存的L個報文同屬一個數(shù)據(jù)流;若L〉N,則當(dāng)前已用存儲空間中所保存的 L個報文中僅有N個報文同屬一個數(shù)據(jù)流。
[0077] 此步驟中,具體的,所述網(wǎng)絡(luò)設(shè)備可W通過W下兩種方式確定是否需要對所述同 屬一個數(shù)據(jù)流中的報文進(jìn)行丟包處理。
[0078]方式一:
[0079] (1)獲取所述同屬一個數(shù)據(jù)流的N個報文的隨機(jī)數(shù)。
[0080] 優(yōu)選的,一個報文的隨機(jī)數(shù)為該報文的隨機(jī)丟棄概率,且該報文的隨機(jī)丟棄概率 在0-100%之間。當(dāng)然,一個報文的隨機(jī)數(shù)還可W是所述網(wǎng)絡(luò)設(shè)備為該報文設(shè)置的一個數(shù), 該數(shù)的范圍可W為0-100。
[0081] (2)確定當(dāng)前的第一闊值。
[0082] 其中,所述第一闊值為判定數(shù)據(jù)流是否丟包的臨界值。所述第一闊值可W是一個 經(jīng)驗值,也可W是一個變化值。
[0083] 優(yōu)選的,此步驟具體可W是:所述網(wǎng)絡(luò)設(shè)備在當(dāng)前已用存儲空間的大小在第一口 限和第二口限之間時,根據(jù)當(dāng)前已用存儲空間的大小,W及已用存儲空間的大小與第一闊 值的函數(shù)關(guān)系確定當(dāng)前的第一闊值。其中,在所述已用存儲空間的大小與第一闊值的函數(shù) 關(guān)系中,所述第一口限和所述第二口限中的一個對應(yīng)最大的第一闊值,另一個對應(yīng)最小的 第一闊值。
[0084] 在所述已用存儲空間的大小與第一闊值的函數(shù)關(guān)系中,所述已用存儲空間的大小 與所述第一闊值可W正相關(guān),當(dāng)然還可W負(fù)相關(guān)。
[0085] 所謂正相關(guān)是指,若一變量的值增大或減小,則另一變量的值也相應(yīng)地增大或減 小。所謂負(fù)相關(guān)是指,若一變量的值增大或減小,則另一變量的值也相應(yīng)地減小或增大。
[0086] 也就是說,若所述第一口限對應(yīng)最大的第一闊值,所述第二口限對應(yīng)最小的第一 闊值,則在所述已用存儲空間的大小與第一闊值的函數(shù)關(guān)系中,所述已用存儲空間的大小 與所述第一闊值負(fù)相關(guān)。
[0087] 若所述第一 口限對應(yīng)最小的第一闊值,所述第二口限對應(yīng)最大的第一闊值,則在 所述已用存儲空間的大小與第一闊值的函數(shù)關(guān)系中,所述已用存儲空間的大小與所述第一 闊值正相關(guān)。
[0088] 優(yōu)選的,本實施例中,在所述已用存儲空間的大小與第一闊值的函數(shù)關(guān)系中,所述 已用存儲空間的大小與所述第一闊值負(fù)相關(guān)。此時,示例的,所述已用存儲空間的大小與第 一闊值的函數(shù)關(guān)系的示意圖可W參照圖2。
[008引在圖2中,橫坐標(biāo)X代表已用存儲空間的大小,縱坐標(biāo)Y代表第一闊值,XI代表第 一口限,X2代表第二口限,X0代表當(dāng)前的已用存儲空間的大小;Ymax代表最大的第一闊值, 化in代表最小的第一闊值,Y0代表當(dāng)前的第一闊值;其中,所述第一口限XI對應(yīng)最大的第 一闊值Ymax,所述第二口限X2對應(yīng)最小的第一闊值化in。
[0090] 示例的,若一報文的隨機(jī)數(shù)為該報文的隨機(jī)丟棄概率,則最大的第一闊值Ymax可 W為95%,最小的第一闊值化in可W為5%。
[0091] 又示例的,若一報文的隨機(jī)數(shù)用取值為0-100范圍的數(shù)表示,則最大的第一闊值 Ymax可W為95,最小的第一闊值化in可W為5。
[0092] 需要說明的是,圖2中已用存儲空間的大小與所述第一闊值的函數(shù)關(guān)系是線性 的,該僅僅是示例的,當(dāng)然還可W是非線性的。無論是線性關(guān)系還是非線性關(guān)系,在本實施 例中,當(dāng)所述當(dāng)前已用存儲空間的大小X0在第一口限XI和第二口限X2之間時,曲線Y-X 的斜率為負(fù)。
[0093] (3)根據(jù)所述N個報文的隨機(jī)數(shù)W及當(dāng)前的第一闊值確定是否需要對所述同屬一 個數(shù)據(jù)流中的報文進(jìn)行丟包處理。
[0094] 在此步驟中,若所述當(dāng)前的第一闊值是一個變化值,且在所述已用存儲空間的大 小與第一闊值的函數(shù)關(guān)系中,所述已用存儲空間的大小與所述第一闊值負(fù)相關(guān),那么此時, 優(yōu)選的,此步驟具體可W包括:
[0095]若所述N個報文的隨機(jī)數(shù)之和小于當(dāng)前的第一闊值,則確定不需要對所述同屬一 個數(shù)據(jù)流中的報文進(jìn)行丟包處理。
[0096]進(jìn)一步的,此時可W確定所述N個報文所屬的數(shù)據(jù)流為一個小的數(shù)據(jù)流。
[0097]現(xiàn)有技術(shù)中,網(wǎng)絡(luò)設(shè)備每丟棄一個報文,發(fā)送端便會接收到接收端反饋的3個確 認(rèn)(Acknowledgement),簡稱為ACK)報文,從而發(fā)送端會重新發(fā)送丟失的報文。
[0098]對于一個小的數(shù)據(jù)流,由于該數(shù)據(jù)流中的報文數(shù)目較少(一般為3-6個報文),因 此,一旦網(wǎng)絡(luò)設(shè)備丟棄該數(shù)據(jù)流中位置靠后的某個報文,發(fā)