中出現(xiàn)鏈路擁塞現(xiàn)象,保證網(wǎng)絡(luò)性能。
【附圖說明】
[0059]為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 申請中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,還可W根據(jù)送些附圖獲得其它 的附圖。
[0060] 圖1是兩種拓?fù)浣Y(jié)構(gòu)示意圖;
[0061] 圖2-1是舊拓?fù)浣Y(jié)構(gòu)下的鏈路利用率示意圖;
[0062]圖2-2是新拓?fù)浣Y(jié)構(gòu)下的鏈路利用率示意圖;
[0063] 圖2-3是現(xiàn)有技術(shù)全部切換過程中的鏈路利用率示意圖;
[0064] 圖2-4是現(xiàn)有技術(shù)單點(diǎn)切換過程中的鏈路利用率示意圖;
[0065] 圖3是本發(fā)明實(shí)施例流量切換方法實(shí)施例1的流程圖;
[0066] 圖4是按照本發(fā)明實(shí)施例方案進(jìn)行流量切換時(shí)的鏈路利用率示意圖;
[0067] 圖5是本發(fā)明實(shí)施例流量切換方法實(shí)施例2的流程圖;
[0068] 圖6是本發(fā)明實(shí)施例流量切換裝置實(shí)施例1的構(gòu)成示意圖;
[0069] 圖7是本發(fā)明實(shí)施例流量切換裝置實(shí)施例2的構(gòu)成示意圖;
[0070] 圖8是本發(fā)明實(shí)施例流量切換裝置的硬件構(gòu)成示意圖。
【具體實(shí)施方式】
[0071] 為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和實(shí)施方式對本 發(fā)明實(shí)施例作進(jìn)一步的詳細(xì)說明。
[0072] 在介紹本發(fā)明實(shí)施例技術(shù)方案之前,先對本發(fā)明實(shí)施例的具體應(yīng)用場景進(jìn)行解釋 說明。
[0073] 在SDN網(wǎng)絡(luò)中,Controller可針對每套網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),進(jìn)行一次路由整體計(jì)算,并 將各套網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)對應(yīng)的計(jì)算結(jié)果下發(fā)到轉(zhuǎn)發(fā)節(jié)點(diǎn);另外,Controller還可根據(jù)流量切 換需求,控制各轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)表切換,使轉(zhuǎn)發(fā)節(jié)點(diǎn)利用滿足需求的轉(zhuǎn)發(fā)表進(jìn)行流量轉(zhuǎn) 發(fā)。
[0074] 下面結(jié)合示例對現(xiàn)有的流量切換過程進(jìn)行解釋說明。
[00巧]如,針對節(jié)點(diǎn)A、B、C、D存在圖1所示的兩種拓?fù)浣Y(jié)構(gòu),且舊拓?fù)浣Y(jié)構(gòu)對應(yīng)下文表1 所示的流量矩陣和舊轉(zhuǎn)發(fā)表,新拓?fù)浣Y(jié)構(gòu)對應(yīng)下文表2所示的流量矩陣和新轉(zhuǎn)發(fā)表,如此, 就可計(jì)算得到圖2-1所示舊拓?fù)浣Y(jié)構(gòu)下的鏈路利用率示意圖、圖2-2所示的新拓?fù)浣Y(jié)構(gòu)下 的鏈路利用率示意圖。
[0081] 結(jié)合上述示例,下面對現(xiàn)有技術(shù)中Controller進(jìn)行流量切換的過程進(jìn)行解釋說 明。
[0082] 如果Controller采用全部切換的方式進(jìn)行流量切換,且某一時(shí)刻,節(jié)點(diǎn)A、D已按 照指示切換到新轉(zhuǎn)發(fā)表,并按照新轉(zhuǎn)發(fā)表進(jìn)行流量轉(zhuǎn)發(fā),而節(jié)點(diǎn)B、C未進(jìn)行切換,仍按照舊 轉(zhuǎn)發(fā)表進(jìn)行流量轉(zhuǎn)發(fā),則此時(shí)計(jì)算得到的鏈路利用率示意圖可參見圖2-3所示。由圖中可 W看出,節(jié)點(diǎn)A、C之間的鏈路利用率已超出1,即送條鏈路已出現(xiàn)了擁塞現(xiàn)象。
[0083] 或者,Controller還可采用單點(diǎn)切換的方式進(jìn)行流量切換,若Controller控制節(jié) 點(diǎn)D先進(jìn)行流量切換,節(jié)點(diǎn)A、B、C滯后切換,則此時(shí)計(jì)算得到的鏈路利用率示意圖可參見圖 2-4所示。由圖中可W看出,節(jié)點(diǎn)A、C之間的鏈路利用率也已超出1,如此切換亦會(huì)在送條 鏈路引發(fā)擁塞現(xiàn)象。
[0084] 綜上所示,Controller不論是采用全部切換方式,還是采用單點(diǎn)切換方式,均可能 引發(fā)鏈路擁塞,影響網(wǎng)絡(luò)性能。本發(fā)明實(shí)施例方案即是為此而提出,提供一種新的流量切換 方式,使各轉(zhuǎn)發(fā)節(jié)點(diǎn)之間進(jìn)行時(shí)序無關(guān)的切換,避免切換過程中出現(xiàn)鏈路利用率超出預(yù)定 值(一般情況下,預(yù)定值為1)的情況,進(jìn)而避免出現(xiàn)鏈路擁塞現(xiàn)象。
[0085] 下面結(jié)合具體示例對本發(fā)明實(shí)施例的流量切換方案進(jìn)行解釋說明。
[0086] 參見圖3,示出了本發(fā)明實(shí)施例流量切換方法實(shí)施例1的流程圖,可包括W下步 驟:
[0087] 步驟101,建立網(wǎng)絡(luò)性能參數(shù)與轉(zhuǎn)發(fā)節(jié)點(diǎn)切換順序之間的映射關(guān)系,所述網(wǎng)絡(luò)性能 參數(shù)包括切換前鏈路利用率和切換后鏈路利用率。
[0088] 本發(fā)明實(shí)施例通過建立映射關(guān)系模型的方式,確定不同網(wǎng)絡(luò)性能參數(shù)下的節(jié)點(diǎn)切 換順序,保證節(jié)點(diǎn)按序切換后,不會(huì)出現(xiàn)鏈路利用率超出預(yù)設(shè)值的情況,如此,就可避免鏈 路擁塞現(xiàn)象,保證網(wǎng)絡(luò)性能。
[0089] 具體地,本發(fā)明實(shí)施例中建立映射關(guān)系的過程可體現(xiàn)如下:
[0090] 首先,將各轉(zhuǎn)發(fā)節(jié)點(diǎn)劃分到不同切換組,且每個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)僅歸屬于一個(gè)切換組。
[0091] 其次,根據(jù)切換過程中鏈路利用率的增加量,確定各切換組的切換順序,所述增加 量與所述切換前鏈路利用率之和不大于預(yù)設(shè)值。
[0092] 最后,根據(jù)切換組的切換順序確定各轉(zhuǎn)發(fā)節(jié)點(diǎn)的切換順序。
[0093] 在確定轉(zhuǎn)發(fā)節(jié)點(diǎn)切換順序時(shí),先判斷切換過程中是否存在可同時(shí)切換的轉(zhuǎn)發(fā)節(jié) 點(diǎn),并將送些轉(zhuǎn)發(fā)節(jié)點(diǎn)作為一個(gè)切換組,保證組內(nèi)節(jié)點(diǎn)同步進(jìn)行流量切換;再根據(jù)切換過程 中各切換組所帶來的鏈路利用率增加量,確定每個(gè)切換組的切換順序,依序?qū)Ω鹘M進(jìn)行流 量切換。
[0094] 作為一種示例,本發(fā)明實(shí)施例中建立映射關(guān)系的過程可具體體現(xiàn)如下:
[0095] 目標(biāo)函數(shù)為;minZ,即Z取最小值,如此就可確保Controller在最少的切換次數(shù) 下,控制所有轉(zhuǎn)發(fā)節(jié)點(diǎn)完成流量切換。或者,在具體實(shí)現(xiàn)時(shí),也可不對Z的取值做上述具體 限定,即,只要能按照如下約束條件得到網(wǎng)絡(luò)性能與切換順序之間的映射關(guān)系即可,而不必 限定Z的取值為最小值,也就是說,根據(jù)實(shí)際需要,Z可取值為任一正整數(shù)。
[0096] 約束條件為:
[0097]
[009引其中,N表示轉(zhuǎn)發(fā)節(jié)點(diǎn)個(gè)數(shù);M表示鏈路條數(shù);X。,;表示轉(zhuǎn)發(fā)節(jié)點(diǎn)n歸屬于第i個(gè)切 換組;表示第i個(gè)切換組是否為空集;S。表示鏈路e的切換前鏈路利用率;C。,。表示轉(zhuǎn)發(fā) 節(jié)點(diǎn)n對鏈路e的鏈路利用率的改變量;t。,。表示轉(zhuǎn)發(fā)節(jié)點(diǎn)n對鏈路e的鏈路利用率的增加 量;Z為切換組的數(shù)目。
[0099] 下面對各約束條件表示的含義進(jìn)行解釋說明:
[0100] 約束(1)用來表示節(jié)點(diǎn)只能被劃分到一個(gè)切換組內(nèi)。
[0101] 約束(2)用來表示發(fā)生遷移操作時(shí),切換組不能為空集。另外,本發(fā)明實(shí)施例中約 束似還可體現(xiàn)為::^'*義>£.;\,,^叫2,''',;、'乂'!、、'")''"'〇,其中,1(為流量增長因子, 可體現(xiàn)為任一正整數(shù),如K= 1 ;可W理解為,在流量遷移過程中,網(wǎng)絡(luò)所能承受的最大的業(yè) 務(wù)流量增長因子,如K= 2表示業(yè)務(wù)遷移過程中,業(yè)務(wù)流量增長到初始業(yè)務(wù)流量的2倍的范 圍內(nèi),也不會(huì)發(fā)生擁塞。
[0102] 約束(3)用來表示屬于同一切換組的節(jié)點(diǎn)需要滿足時(shí)序無關(guān)的條件;可理解為, 對于某條鏈路e來說,第i次切換的所有節(jié)點(diǎn)(即,第i切換組包含的所有轉(zhuǎn)發(fā)節(jié)點(diǎn))發(fā)生 切換所帶來的本條鏈路的鏈路利用率增加量,不得超過該條鏈路的允許變化量,此處允許 變化量可體現(xiàn)為:
[0104] 約束(4)用來表示遷移操作必須是連續(xù),中間不能出現(xiàn)空操作,即每次遷移操作 都會(huì)控制一個(gè)切換組包含的轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行流量切換。
[0105] 約束(5)用來表示切換組的個(gè)數(shù)等于非空的遷移操作數(shù)。
[010引約束(6)用來表示的取值,且= 0表示節(jié)點(diǎn)n不歸屬于切換組= 1 表示節(jié)點(diǎn)n歸屬于切換組i。
[0107] 約束(7)用來表示的取值,且= 0表示空集,= 1表示非空集。
[010引需要說明的是,鏈路利用率的變化量可體現(xiàn)為增加量和減少量,其中,減少量指的 是鏈路利用率在原有基礎(chǔ)上所有減少,送種情況下,勢必不會(huì)造成鏈路擁塞,故,為了簡化 處理過程,本發(fā)明實(shí)施例僅從增加量對鏈路利用率的影響出發(fā),確定節(jié)點(diǎn)的切換順序。
[0109] 步驟102,在需要進(jìn)行流量切換時(shí),獲取網(wǎng)絡(luò)的當(dāng)前性能參數(shù),并根據(jù)所述映射關(guān) 系確定所述當(dāng)前性能參數(shù)對應(yīng)的切換順序。
[0110] 步驟101建立映射關(guān)系后,即可在需要進(jìn)行流量切換時(shí),根據(jù)網(wǎng)絡(luò)的當(dāng)前性能參 數(shù)計(jì)算得到對應(yīng)的切換順序,本步驟中有如下兩點(diǎn)需要進(jìn)行解釋說明。
[0111] 一、觸發(fā)流量切換的條件
[0112] 本發(fā)明實(shí)施例中,觸發(fā)Controller進(jìn)行流量切換的條件可體現(xiàn)為:
[0113] 預(yù)設(shè)流量切換周期,即每隔預(yù)設(shè)周期即進(jìn)行一次流量切換;或者,
[0114] 預(yù)設(shè)鏈路利用率闊值,即網(wǎng)絡(luò)中存在鏈路利用率超出闊值的鏈路時(shí)即進(jìn)行流量切 換;或者,
[0115] 在網(wǎng)絡(luò)出現(xiàn)鏈路故障時(shí),亦可觸發(fā)Controller進(jìn)行流量切換;或者,
[0116] Controller還可根據(jù)外部操作人員輸入的控制指令,進(jìn)行流量切換;等等。
[0117] 上文僅是對觸發(fā)Controller進(jìn)行流量切換的條件進(jìn)行的舉例說明,在具體應(yīng)用 過程中,還可設(shè)置其它觸發(fā)條件,本發(fā)明實(shí)施例對此并不做具體限定,只要使Controller 明確何時(shí)或何種情況下開始進(jìn)行流量切換即可。
[0118] 二、獲取當(dāng)前性能參數(shù)的方式
[0119] 如前文所做介紹可知,本發(fā)明實(shí)施例中獲取網(wǎng)絡(luò)的當(dāng)前性能參數(shù)實(shí)質(zhì)上就是獲取 切換前鏈路利用率、切換后鏈路利用率,如此,即可利用映射關(guān)系,根據(jù)切換前鏈路利用率、 W及切換后相對切換前的鏈路利用增加量確定節(jié)點(diǎn)切換順序。
[0120] 具體地,獲取當(dāng)前性能參數(shù)的過程可體現(xiàn)為:
[0121] 首先,收集網(wǎng)絡(luò)在預(yù)定時(shí)間段內(nèi)的流量信息;
[0