本步驟具體包括:對于一對節(jié)點(diǎn)間的所有可選路徑,將所述可選路徑按照調(diào)整跳 數(shù)從小到大進(jìn)行排序,保存至可選路徑數(shù)據(jù)庫;當(dāng)所述調(diào)整跳數(shù)相同時(shí),則按照可選路徑的 權(quán)重從小到大進(jìn)行排序,保存至可選路徑數(shù)據(jù)庫;其中,所述可選路徑的權(quán)重為所述可選路 徑中各鏈路權(quán)重之和;
[0061] 當(dāng)依據(jù)節(jié)點(diǎn)間的鏈路信息確定網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí),重新獲取網(wǎng)絡(luò)中各節(jié)點(diǎn)間的 所有可選路徑,并更新所述可選路徑數(shù)據(jù)庫。
[0062] 步驟305 :判斷網(wǎng)絡(luò)是否發(fā)生擁塞,如果發(fā)生擁塞,執(zhí)行步驟306 ;如果未發(fā)生擁 塞,執(zhí)行步驟308 ;
[0063] 這里,所述判斷網(wǎng)絡(luò)是否發(fā)生擁塞包括:查找網(wǎng)絡(luò)中是否存在鏈路帶寬利用率超 過設(shè)定的鏈路帶寬利用率閾值的鏈路,如果存在,確定所述網(wǎng)絡(luò)發(fā)生擁塞;如果不存在,確 定所述網(wǎng)絡(luò)未發(fā)生擁塞;
[0064] 如表3所示為本發(fā)明實(shí)施例網(wǎng)絡(luò)中各鏈路帶寬利用率,通過設(shè)定的鏈路帶寬利用 率閾值為〇. 7可確定所述網(wǎng)絡(luò)發(fā)生擁塞。 L0066J
[0067] 表 3
[0068] 步驟306 :獲取所有擁塞鏈路上的數(shù)據(jù)流,并依據(jù)所述數(shù)據(jù)流的優(yōu)先級將所述數(shù) 據(jù)流分為第一類數(shù)據(jù)流和第二類數(shù)據(jù)流;
[0069] 這里,所述依據(jù)所述數(shù)據(jù)流的優(yōu)先級將所述數(shù)據(jù)流分為第一類數(shù)據(jù)流和第二類數(shù) 據(jù)流包括:依據(jù)所述數(shù)據(jù)流IP地址包頭DHCP字段內(nèi)容,確定所述數(shù)據(jù)流的優(yōu)先級,將所有 優(yōu)先級大于所述數(shù)據(jù)流優(yōu)先級閾值的數(shù)據(jù)流劃分為第一類數(shù)據(jù)流,其它數(shù)據(jù)流劃分為第二 類數(shù)據(jù)流;
[0070] 通過表3可知擁塞鏈路為R2-R4 ;本實(shí)施例中主機(jī)Hl分別向主機(jī)H2、H3和H4發(fā) 送數(shù)據(jù)流,如表4所示為本發(fā)明實(shí)施例網(wǎng)絡(luò)中數(shù)據(jù)流信息;
[0072] 表 4
[0073] 依據(jù)表4中所示數(shù)據(jù)流優(yōu)先級及設(shè)定的數(shù)據(jù)流優(yōu)先級,將擁塞鏈路R2-R4上的所 有數(shù)據(jù)流分類為第一類數(shù)據(jù)流和第二類數(shù)據(jù)流,如表5所示。
[0075] 表 5
[0076] 步驟307 :從所述可選路徑數(shù)據(jù)庫中依次為第一類數(shù)據(jù)流和第二類數(shù)據(jù)流選取路 徑;
[0077] 這里,所述從所述可選路徑數(shù)據(jù)庫中依次為第一類數(shù)據(jù)流和第二類數(shù)據(jù)流選取路 徑包括:
[0078] 首先,從所述可選路徑數(shù)據(jù)庫中為第一類數(shù)據(jù)流選取路徑,按照數(shù)據(jù)流的優(yōu)先級 由高到低的順序進(jìn)行路徑選擇,對于每一條數(shù)據(jù)流,按照所述數(shù)據(jù)流對應(yīng)的可選路徑的順 序查找并選取第一條滿足所述數(shù)據(jù)流帶寬需求的路徑,并更新路徑選擇后影響的所有可選 路徑的可用帶寬;當(dāng)數(shù)據(jù)流的優(yōu)先級相同時(shí),為所述數(shù)據(jù)流選取路徑的順序默認(rèn)為隨機(jī); 當(dāng)在數(shù)據(jù)流對應(yīng)的可選路徑中未找到滿足所述數(shù)據(jù)流帶寬需求的路徑時(shí),選取所述數(shù)據(jù)流 對應(yīng)的可選路徑中可用帶寬最大的路徑,并更新路徑選擇后影響的所有可選路徑的可用帶 寬;
[0079] 其次,從所述可選路徑數(shù)據(jù)庫中為第二類數(shù)據(jù)流選取路徑,同時(shí)為所有第二類數(shù) 據(jù)流選擇所述數(shù)據(jù)流對應(yīng)的可選路徑中,第一條滿足所述數(shù)據(jù)流帶寬需求的路徑,并更新 路徑選擇后影響的所有可選路徑的可用帶寬;當(dāng)在數(shù)據(jù)流對應(yīng)的可選路徑中未找到滿足所 述數(shù)據(jù)流帶寬需求的路徑時(shí),選取所述數(shù)據(jù)流對應(yīng)的可選路徑中可用帶寬最大的路徑;當(dāng) 兩條及兩條以上數(shù)據(jù)流競爭同一鏈路時(shí),按照最大公平化準(zhǔn)則為所述數(shù)據(jù)流選取路徑;其 中,所述最大公平化準(zhǔn)則為:按照數(shù)據(jù)流的公平化參數(shù)從小到大的順序?yàn)樗鰯?shù)據(jù)流選取 路徑,所述公平化參數(shù)為所述數(shù)據(jù)流的帶寬需求與所述數(shù)據(jù)流優(yōu)先級的比值,即:"公平化 參數(shù)"="帶寬需求" / "優(yōu)先級";
[0080] 首先,為H1-H3數(shù)據(jù)流進(jìn)行路徑選擇,按照H1-H3數(shù)據(jù)流對應(yīng)的可選路徑的順序查 找并選取第一條滿足所述數(shù)據(jù)流帶寬需求的路徑,并更新路徑選擇后影響的所有可選路徑 的可用帶寬;然后,同時(shí)為H1-H2、H1-H4進(jìn)行路徑選擇,選取H1-H2、H1-H4數(shù)據(jù)流對應(yīng)的可 選路徑中,第一條滿足所述數(shù)據(jù)流帶寬需求的路徑;如表6所示為網(wǎng)絡(luò)中各鏈路帶寬容量, 表7為第一類數(shù)據(jù)流和第二類數(shù)據(jù)流選定路徑信息,表8為第一類數(shù)據(jù)流和第二類數(shù)據(jù)流 路徑選定后各鏈路帶寬利用率。
[0088] 步驟308 :結(jié)束本次處理流程。
[0089] 圖4為本發(fā)明實(shí)施例廣域網(wǎng)流量優(yōu)化控制裝置示意圖,如圖4所示,本發(fā)明實(shí)施例 廣域網(wǎng)流量優(yōu)化控制裝置組成包括:路徑獲取模塊41、分類模塊42及路徑選擇模塊43 ;其 中,
[0090] 所述路徑獲取模塊41,用于獲取網(wǎng)絡(luò)中各節(jié)點(diǎn)間的所有可選路徑,并保存所述可 選路徑至可選路徑數(shù)據(jù)庫;
[0091] 分類模塊42,用于確定所述網(wǎng)絡(luò)發(fā)生擁塞時(shí),獲取擁塞鏈路上的數(shù)據(jù)流,并依據(jù)所 述數(shù)據(jù)流的優(yōu)先級將所述數(shù)據(jù)流分為第一類數(shù)據(jù)流和第二類數(shù)據(jù)流;
[0092] 路徑選擇模塊43,用于從所述可選路徑數(shù)據(jù)庫中依次為第一類數(shù)據(jù)流和第二類數(shù) 據(jù)流選取路徑。
[0093] 進(jìn)一步的,所述裝置還包括設(shè)置模塊44,用于設(shè)定鏈路帶寬利用率閾值、數(shù)據(jù)流優(yōu) 先級閾值及每對節(jié)點(diǎn)的最大調(diào)整跳數(shù)K。
[0094] 進(jìn)一步的,所述路徑獲取模塊41獲取網(wǎng)絡(luò)中各節(jié)點(diǎn)間的所有可選路徑包括:所述 路徑獲取模塊41依據(jù)網(wǎng)絡(luò)中的路由信息計(jì)算獲得各節(jié)點(diǎn)間的默認(rèn)轉(zhuǎn)發(fā)路徑,并依據(jù)每對 節(jié)點(diǎn)的最大調(diào)整跳數(shù),在所述默認(rèn)轉(zhuǎn)發(fā)路徑的基礎(chǔ)上,獲取各節(jié)點(diǎn)間的所有可選路徑; [0095] 所述獲取所有可選路徑具體流程為:對于一對節(jié)點(diǎn),在這對節(jié)點(diǎn)默認(rèn)轉(zhuǎn)發(fā)路徑 P。= Ir1, r2, ...,rn}基礎(chǔ)上,遍歷路徑上除目的節(jié)點(diǎn)之外的所有節(jié)點(diǎn),將當(dāng)前遍歷的節(jié) Ar1Q = 1,2,...,n-1)作為調(diào)整節(jié)點(diǎn),記錄從默認(rèn)路徑的源節(jié)點(diǎn)到調(diào)整節(jié)點(diǎn)的路徑段 P。' = Ir1, r2,. . .,rj ,遍歷除節(jié)點(diǎn)rk+1之外的所有與調(diào)整節(jié)點(diǎn)!Ti相鄰的節(jié)點(diǎn)adj Cri),將 相鄰節(jié)點(diǎn)adj Cri)到目的節(jié)點(diǎn)rn的默認(rèn)路徑P/ = {adj Cri),. . . , rj與之前記錄的路徑 段P。' = 對比,確定P/與P。'沒有共同節(jié)點(diǎn)時(shí),將這兩段路徑拼接P1 = Ir1, r2,…,Γι,adj (Γι),…,rn},得到調(diào)整節(jié)點(diǎn)數(shù)為1的可選路徑;確定P/與P。'有共同節(jié) 點(diǎn)時(shí)不作處理;在路徑段P/的基礎(chǔ)上,重復(fù)上述操作,得到調(diào)整節(jié)點(diǎn)數(shù)為2的可選路徑P2 =Ir1, r2, · · ·,!Ti, adj Cri),· · ·,rk, adj (rk),· · ·,rn},不斷迭代重復(fù)上述操作,直到調(diào)整跳數(shù) 超過最大調(diào)整跳數(shù)K為止;
[0096] 所述路徑獲取模塊41保存所述可選路徑至可選路徑數(shù)據(jù)庫包括:對于一對節(jié)點(diǎn) 間的所有可選路徑,所述路徑獲取模塊51將所述可選路徑按照調(diào)整跳數(shù)從小到大進(jìn)行排 序,保存至可選路徑數(shù)據(jù)庫;當(dāng)所述調(diào)整跳數(shù)相同時(shí),則按照可選路徑的權(quán)重從小到大進(jìn)行 排序,保存至可選路徑數(shù)據(jù)庫;其中,所述可選路徑的權(quán)重為所述可選路徑中各鏈路權(quán)重之 和。
[0097] 進(jìn)一步的,所述路徑獲取模塊41,還用于依據(jù)節(jié)點(diǎn)間的鏈路信息確定網(wǎng)絡(luò)拓?fù)浒l(fā) 生變化時(shí),重新獲取網(wǎng)絡(luò)中各節(jié)點(diǎn)間的所有可選路徑,并更新所述可選路徑數(shù)據(jù)庫。
[0098] 進(jìn)一步的,所述擁塞鏈路為鏈路帶寬利用率超過設(shè)定的鏈路帶寬利用率閾值的鏈 路;
[0099]