為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其它的附圖。
[0045] 圖1為本發(fā)明實施例1提供的帶寬分配方法的流程示意圖;
[0046] 圖2為本發(fā)明實施例1提供的帶寬分配方法的另一流程示意圖;
[0047] 圖3為本發(fā)明實施例1提供的帶寬分配方法的另一流程示意圖;
[0048] 圖4為本發(fā)明實施例2提供的服務(wù)器的結(jié)構(gòu)框圖;
[0049] 圖5本發(fā)明實施例2提供的服務(wù)器的另一結(jié)構(gòu)框圖;
[0050] 圖6為本發(fā)明實施例2提供的服務(wù)器的另一結(jié)構(gòu)框圖。
【具體實施方式】
[0051] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它 實施例,都屬于本發(fā)明保護(hù)的范圍。
[0052] NAT主要用于私網(wǎng)地址和公網(wǎng)地址見的動態(tài)轉(zhuǎn)換,通常會將多個內(nèi)網(wǎng)地址轉(zhuǎn)換為 一個或幾個公網(wǎng)地址,實現(xiàn)大量內(nèi)網(wǎng)用戶對公網(wǎng)地址的資源共享。由于公網(wǎng)接口必然存在 一個帶寬資源限制,NAT服務(wù)器在進(jìn)行公私網(wǎng)絡(luò)地址轉(zhuǎn)換時,必須要對內(nèi)網(wǎng)用戶進(jìn)行帶寬管 理,防止某一用戶獨占資源或?qū)Ψ?wù)器進(jìn)行流量攻擊,同時還能保證內(nèi)網(wǎng)用戶有良好的用 戶體驗。
[0053]現(xiàn)有技術(shù)通過對端口或用戶設(shè)置帶寬限值來達(dá)到對內(nèi)網(wǎng)用戶帶寬分配管理的目 的。但是,均不能動態(tài)調(diào)整內(nèi)網(wǎng)用戶的帶寬限值,不夠靈活。且不能有效利用帶寬資源,導(dǎo)致 用戶體驗較差。
[0054]對內(nèi)外用戶而言,在訪問公網(wǎng)時,通常需要一個基本帶寬以滿足自己的最基本性 能需求,同時需要在網(wǎng)絡(luò)資源充足時能不局限于基本需求,但又不能因此過多的占用帶寬。 對NAT服務(wù)器而言,在進(jìn)行內(nèi)網(wǎng)資源控制時,往往還需要對NAT用戶數(shù)量進(jìn)行管理,在帶寬資 源耗盡后,能夠為后續(xù)進(jìn)行資源請求但又暫時無法為其分配資源的用戶提供一個訪問優(yōu)先 機(jī)制或排隊功能。
[0055]基于此,本發(fā)明的原理在于:為內(nèi)網(wǎng)用戶設(shè)置基本帶寬以及最大帶寬,在用戶請求 帶寬資源時,判斷當(dāng)前剩余的帶寬能否滿足用戶對應(yīng)的最大帶寬,若滿足則為該用戶分配 最大帶寬,若不滿足,則調(diào)整已分配帶寬的用戶的占用帶寬為基本帶寬,再根據(jù)這些用戶釋 放的帶寬為上述請求帶寬資源的用戶分配帶寬。
[0056] 實施例1:
[0057]本發(fā)明實施例提供一種帶寬分配方法,如圖1所示,所述方法包括以下步驟:
[0058] 101、服務(wù)器接收第一用戶發(fā)送的請求分配帶寬的資源請求信息。
[0059] 通常,內(nèi)網(wǎng)用戶請求訪問外網(wǎng)時,會向NAT服務(wù)器發(fā)送TTTP請求,指示NAT服務(wù)器該 內(nèi)網(wǎng)用戶需要訪問外網(wǎng)資源。該請求攜帶了內(nèi)網(wǎng)用戶的內(nèi)網(wǎng)IP地址。若NAT服務(wù)器允許其訪 問外網(wǎng),則會為該內(nèi)網(wǎng)用戶分配一個外網(wǎng)IP地址,以便其訪問外網(wǎng)資源。
[0060] 需要說明的是,所述資源請求信息攜帶第一用戶的內(nèi)網(wǎng)IP地址,用于指示所述服 務(wù)器為所述第一用戶分配帶寬資源。所述第一用戶為所述服務(wù)器接入的內(nèi)網(wǎng)用戶中的任一 個。所述服務(wù)器可以是NAT服務(wù)器,本發(fā)明實施例中以IP地址區(qū)分用戶,若第一用戶為IP地 址1,也就是說所述資源請求信息來自于IP地址1。
[0061] 服務(wù)器可以為每一個用戶配置基本帶寬和最大帶寬,并記錄所述每一個用戶對應(yīng) 的基本帶寬和最大帶寬。其中,所述預(yù)設(shè)內(nèi)網(wǎng)網(wǎng)段為所述服務(wù)器對應(yīng)的內(nèi)網(wǎng)網(wǎng)段。所述內(nèi)網(wǎng) 網(wǎng)段是網(wǎng)絡(luò)層中由網(wǎng)關(guān)或路由器等設(shè)備隔開的不同部分。例如IP地址為
[0062] 假定服務(wù)器對應(yīng)的內(nèi)網(wǎng)為192.168.0.0,位于掩碼255.255.0.0中,IP地址為 192.168.0.1~192.168.0.254的設(shè)備就位于掩碼255.255.255.0的同一子網(wǎng)中,也就是處 于同一網(wǎng)段,192 · 168 · 1 · 1~192 · 168 · 1 · 254的設(shè)備就位于掩碼255 · 255 · 255 · 0的另一子網(wǎng) 中,也處于同一網(wǎng)段。在發(fā)明及實施例中,用戶即一個IP地址。
[0063] 具體實現(xiàn)中,可以通過創(chuàng)建如表1所示的鏈表數(shù)據(jù)結(jié)構(gòu)記錄預(yù)設(shè)內(nèi)網(wǎng)網(wǎng)段內(nèi)的每 個子網(wǎng)段的每一個用戶對應(yīng)的基本帶寬和最大帶寬。
[0064] 表 1 [0 '
[0066] 服務(wù)器可以在表1中獲取到為第一用戶的設(shè)置的最大帶寬以及基本帶寬。
[0067] 另外,還可以為請求帶寬資源的用戶(如:第一用戶)設(shè)置限制條件,如:當(dāng)用戶預(yù) 設(shè)時長內(nèi)請求次數(shù)超過預(yù)設(shè)門限值時,則直接拒絕用戶的請求。
[0068] 102、所述服務(wù)器判斷預(yù)設(shè)的運(yùn)行帶寬與當(dāng)前占用總帶寬的差值是否大于或等于 所述第一用戶對應(yīng)的最大帶寬。
[0069] 其中,所述當(dāng)前占用總帶寬是已分配運(yùn)行帶寬資源的當(dāng)前所有用戶占用帶寬資源 的總和。預(yù)設(shè)的運(yùn)行帶寬是所述服務(wù)器對應(yīng)網(wǎng)段下的所有用戶的允許帶寬的一部分,或等 于所述服務(wù)器對應(yīng)網(wǎng)段下的所有用戶的允許帶寬。運(yùn)行帶寬是NAT管理員根據(jù)經(jīng)驗以及內(nèi) 網(wǎng)用戶的需求、數(shù)目等預(yù)先設(shè)置的用于維持內(nèi)網(wǎng)用戶的外網(wǎng)訪問需求的帶寬。
[0070] 示例的,所述服務(wù)器對應(yīng)網(wǎng)段下的所有用戶允許帶寬為A,則運(yùn)行帶寬小于或等于 A。另外,運(yùn)行帶寬與當(dāng)前占用總帶寬的差值,即所述服務(wù)器對應(yīng)網(wǎng)段的所有用戶的允許帶 寬中當(dāng)前剩余的帶寬。
[0071] 具體實現(xiàn)中,服務(wù)器創(chuàng)建如表2所示的鏈表數(shù)據(jù)結(jié)構(gòu)記錄為用戶分配的當(dāng)前帶寬, 以及已分配帶寬資源的用戶當(dāng)前占用總帶寬。另外,還可以記錄已分配帶寬資源的用戶對 應(yīng)的基本帶寬與最大帶寬,進(jìn)而可以確定出已分配帶寬資源的用戶的基本總帶寬。
[0072] 表 2
[0074]需要說明的是,每個用戶的當(dāng)前帶寬總是大于等于其對應(yīng)的基本帶寬,且小于等 于其對應(yīng)的最大帶寬。示例的,參考表2,H大于等于X,且小于等于Z。
[0075] 示例的,若服務(wù)器已為192.168.0.1、192.168.1.254兩個用戶分配帶寬資源,所述 服務(wù)器對應(yīng)網(wǎng)段下的所有用戶允許帶寬為A,則所述運(yùn)行帶寬與當(dāng)前占用總帶寬的差值為 A_H_E 〇
[0076] 103、若所述差值大于或等于所述第一用戶對應(yīng)的最大帶寬,則為所述第一用戶分 配對應(yīng)的最大帶寬。
[0077]通常,NAT負(fù)責(zé)為某個網(wǎng)段的用戶分配外網(wǎng)IP地址及帶寬資,并且預(yù)先配置了NAT 服務(wù)器對應(yīng)網(wǎng)段內(nèi)的所有用戶的允許帶寬W(即能夠供NAT服務(wù)器對應(yīng)網(wǎng)段內(nèi)的所有用戶使 用的帶寬總共為W)。也就是說,所述服務(wù)器對應(yīng)網(wǎng)段的所有用戶的允許帶寬中當(dāng)前剩余的 帶寬,足以滿足第一用戶對應(yīng)的最大帶寬需求,則為第一用戶分配最大帶寬。
[0078] 104、若所述差值小于所述第一用戶對應(yīng)的最大帶寬,則判斷所述第一用戶的基本 帶寬加上當(dāng)前基本總帶寬的和是否小于或等于所述運(yùn)行帶寬;所述當(dāng)前基本總帶寬是已分 配運(yùn)行帶寬資源的當(dāng)前所有用戶的基本帶寬的總和。
[0079] 當(dāng)服務(wù)器對應(yīng)網(wǎng)段的所有用戶的允許帶寬中當(dāng)前剩余的帶寬,不足以滿足第一用 戶的最大帶寬需求,則需要判斷在每個接入用戶均分配基本帶寬的前提下,是否滿足第一 用戶的基本帶寬需求。
[0080] 需要說明的是,所述當(dāng)前基本總帶寬是已分配帶寬資源的用戶(即已接入外網(wǎng)的 用戶)的基本帶寬之和。示例的,參考表2,若服務(wù)器已為192.168.0.1、192.168.1.254這兩 個用戶分配帶寬資源,則當(dāng)前基本總帶寬為X+Y。
[0081] 105、若所述第一用戶的基本帶寬加上當(dāng)前基本總帶寬的和小于或等于所述運(yùn)行 帶寬,則將所述當(dāng)前所有用戶的帶寬資源重新分配為對應(yīng)的基本帶寬,并為所述第一用戶 分配所述第一用戶的基本帶寬。
[0082] 也就是說,若所述第一用戶的基本帶寬加上當(dāng)前基本總帶寬的和小于或等于所述 運(yùn)行帶寬,則表示運(yùn)行帶寬滿足當(dāng)前所有用戶以及第一用戶的基本帶寬需求,這樣,服務(wù) 器,則減少當(dāng)前所有用戶的帶寬為各自的基本帶寬,并為第一用戶分配基本帶寬。示例的, 參考表2,將為用戶192.168.0.1的分配的帶寬調(diào)整至基本帶寬X,將為用戶192.168.1.254 分配的帶寬調(diào)整為基本帶寬Y。
[0083] 進(jìn)一步地,在本發(fā)明的優(yōu)選實施中,所述將所述當(dāng)前所有用戶的帶寬資源重新分 配為對應(yīng)的基本帶寬,并為所述第一用戶分配所述第一用戶的基本帶寬之后,所述方法還 包括:
[0084] 若所述當(dāng)前基本總帶寬加上所述第一用戶的基本帶寬的和小于所述運(yùn)行帶寬,則 將剩余帶寬平均分配給所述當(dāng)前所有用戶與所述第一用戶,或者將剩余帶寬依次分配給所 述當(dāng)前所有用戶與所述第一用戶中優(yōu)先級高的用戶使其達(dá)到最大帶寬。。
[0085] 也就是說,將所述剩余帶寬進(jìn)行分配,當(dāng)前所有用戶與所述第一用戶被分配到基 本帶寬后,還有可能分配到帶寬。但是并不一定是每個用戶都會被再次分配到帶寬資源。示 例的,若第一用戶請求分配帶寬前,以為N個用戶分配帶寬資源,即本發(fā)明所述的當(dāng)前所有 用戶即這N個用戶。進(jìn)而,可以將所述剩余帶寬平均分配給N+1個用戶(即所述N個用戶與所