基于sdn的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法
【專利摘要】本發(fā)明公開了一種基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法,其包括以下步驟:根據(jù)數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)溆嬎氵吘壗粨Q機之間最短路徑的條數(shù),開啟流量監(jiān)控;控制器檢測是否有鏈路流量達(dá)到該鏈路帶寬的門限值,如果有則檢測出該鏈路中流量最大的業(yè)務(wù);控制器獲得該業(yè)務(wù)的源、目的IP地址,檢測多路徑中是否有帶寬足夠的路徑,如果有,將該業(yè)務(wù)調(diào)到該路徑中;控制器根據(jù)上述路徑,轉(zhuǎn)換成流表項,下發(fā)到相應(yīng)交換機,完成流表配置。通過上述方案,本發(fā)明實現(xiàn)了有效平衡數(shù)據(jù)中心網(wǎng)絡(luò)中負(fù)載的流量,緩解了數(shù)據(jù)中心網(wǎng)絡(luò)鏈路擁塞情況,提高了數(shù)據(jù)中心網(wǎng)絡(luò)服務(wù)能力的目的,具有很高的實用價值和推廣價值。
【專利說明】基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,具體地說,是涉及一種數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法。
【背景技術(shù)】
[0002]早期的數(shù)據(jù)中心網(wǎng)絡(luò)每個服務(wù)器僅僅提供單一服務(wù),帶寬利用率很低,在虛擬化技術(shù)大量普及后,如今每個服務(wù)器可提供10個甚至上百個服務(wù)。當(dāng)服務(wù)時間相對集中時,這樣會導(dǎo)致數(shù)據(jù)中心網(wǎng)絡(luò)流量出現(xiàn)激增,造成鏈路出現(xiàn)擁塞,服務(wù)器之間因為服務(wù)遷移也會產(chǎn)生大量流量,也可能造成鏈路擁塞,嚴(yán)重時可能造成網(wǎng)絡(luò)癱瘓,這種情況下,會導(dǎo)致數(shù)據(jù)中心服務(wù)能力下降,影響業(yè)務(wù)正常進(jìn)行。
[0003]本發(fā)明根據(jù)當(dāng)前SDN(Software Defined Networking,軟件定義網(wǎng)絡(luò))良好的控制器和轉(zhuǎn)發(fā)設(shè)備分離的架構(gòu),提出了利用SDN控制器來管理數(shù)據(jù)中心網(wǎng)絡(luò)流量方法,本發(fā)明主要應(yīng)用于類似胖樹結(jié)構(gòu)的數(shù)據(jù)中心網(wǎng)絡(luò)。因為SDN控制器具有全局的拓?fù)涓兄芰?,我們對?shù)據(jù)中心網(wǎng)絡(luò)各端口進(jìn)行流量統(tǒng)計,查看鏈路是否出現(xiàn)擁塞,出現(xiàn)鏈路擁塞時,可以快速將相關(guān)業(yè)務(wù)轉(zhuǎn)移到其他空閑的鏈路中去。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法,主要解決現(xiàn)有數(shù)據(jù)中心網(wǎng)絡(luò)中負(fù)載不均衡,導(dǎo)致某些鏈路出現(xiàn)擁塞,而另外的鏈路十分通暢,以致網(wǎng)絡(luò)資源造成極大浪費的問題。
[0005]為了實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
[0006]一種基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法,包括SDN控制器和轉(zhuǎn)發(fā)設(shè)備,所述管理方法包括以下步驟:
[0007]S1、控制器根據(jù)數(shù)據(jù)中心的網(wǎng)絡(luò)拓?fù)溆嬎氵吘夀D(zhuǎn)發(fā)設(shè)備之間最短路徑的條數(shù),根據(jù)最短路徑的條數(shù)設(shè)置備份路徑,除了備份路徑,其余的路徑均用來路由;
[0008]S2、控制器檢測是否有鏈路流量達(dá)到該鏈路帶寬的門限值,如果有,則檢測出該鏈路中流量最大的業(yè)務(wù);
[0009]S3、控制器檢測該業(yè)務(wù)的源、目的IP地址,查看其是否有備份路徑,如果備份路徑帶寬足夠,則將該業(yè)務(wù)調(diào)到備份路徑中,如果備份路徑帶寬不足或者沒有備份路徑,控制器統(tǒng)計該業(yè)務(wù)源、目的IP地址的各條路徑的鏈路利用率情況,查看是否有帶寬足夠的路徑,如果有,將該業(yè)務(wù)調(diào)度到空閑路徑中;
[0010]S4、控制器根據(jù)步驟S3所述被調(diào)度的路徑,轉(zhuǎn)換成流表項,下發(fā)到相應(yīng)轉(zhuǎn)發(fā)設(shè)備,完成流表配置。
[0011]進(jìn)一步的,步驟SI所述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為胖樹拓?fù)浣Y(jié)構(gòu),包括核心層、匯聚層和邊緣層,整體分為若干個pod (Performance-Optimized Datacenter,高性能數(shù)據(jù)中心)區(qū)域,所述胖樹拓?fù)浣Y(jié)構(gòu)中的同一pod區(qū)域內(nèi),邊緣層轉(zhuǎn)發(fā)設(shè)備之間的路徑有兩條,不同pod區(qū)域內(nèi),邊緣交換機之間的路徑有四條,所述路徑中存在兩條沒有共享鏈路的路徑。
[0012]進(jìn)一步的,步驟S1具體包括以下步驟:
[0013]S1A、用k-shortest算法算出邊緣轉(zhuǎn)發(fā)設(shè)備之間的最短路徑條數(shù);
[0014]S1B、控制器Ρ0Χ (—款開源的SDN控制器)將所述路徑存在map中,如果最短路徑的條數(shù)大于三,將其中最后一條作為備選路徑,其余路徑都用來路由;
[0015]進(jìn)一步的,步驟S2具體包括以下步驟:
[0016]S2A、檢測是否有鏈路流量達(dá)到鏈路帶寬門限值M,具體做法是每隔t秒統(tǒng)計經(jīng)過各個端口的數(shù)據(jù)包大小,計算得到各端口流量信息,然后檢測相應(yīng)鏈路帶寬是否達(dá)到Μ ;
[0017]S2B、當(dāng)有鏈路流量達(dá)到帶寬的Μ時,檢測哪條TCP (Transmiss1n ControlProtocol傳輸控制協(xié)議)速率最大,具體做法是,統(tǒng)計在這t秒內(nèi)通過的哪種TCP報文數(shù)量最多。
[0018]進(jìn)一步的,步驟S3具體包括以下步驟:
[0019]S3A、控制器根據(jù)步驟S2B得到的速率最大的TCP流,得到其源、目的IP地址;
[0020]S3B、根據(jù)該源、目的IP地址,控制器查看其是否有備份路徑,如果有則轉(zhuǎn)到步驟S3C,如果沒有,則轉(zhuǎn)到步驟S3D ;
[0021]S3C、檢測備份路徑是否有足夠帶寬容納該TCP流,如果沒有則轉(zhuǎn)到步驟S3D,如果有,將該TCP流調(diào)離到該備份路徑中;
[0022]S3D、檢測該源、目的IP地址的其他路徑帶寬,如果有路徑能容納該TCP流則將該TCP流調(diào)離到這條路徑上。
[0023]進(jìn)一步的,步驟S4的實現(xiàn)步驟包括:控制器根據(jù)所述被調(diào)度的TCP流的源、目的端口號加上所述空閑路徑得到一條完整的路徑,根據(jù)該路徑下發(fā)流表到該空閑路徑相關(guān)的交換機中,完成該TCP流調(diào)離工作。
[0024]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
[0025]通過使用本發(fā)明的方法,能夠不用重算路由,很方便的對高速流量進(jìn)行控制管理,避免鏈路擁塞;使用多條路徑算法,使鏈路充分利用,同時起到負(fù)載平衡的作用,有效的減輕數(shù)據(jù)中心網(wǎng)絡(luò)出現(xiàn)的鏈路擁塞,符合實際需求。
【專利附圖】
【附圖說明】
[0026]圖1為本發(fā)明的整體流程示意圖;
[0027]圖2為本發(fā)明中數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)鋱D;
[0028]圖3為本發(fā)明中業(yè)務(wù)調(diào)離示意圖。
【具體實施方式】
[0029]下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步說明,本發(fā)明的實施方式包括但不限于下列實施例。
[0030]為了解決數(shù)據(jù)中心網(wǎng)絡(luò)鏈路擁塞的問題,本發(fā)明提供了一種基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法,如圖1所示,所述網(wǎng)絡(luò)流量管理方法包括:計算數(shù)據(jù)中心網(wǎng)絡(luò)邊緣交換機之間的k條最短路,并開啟流量監(jiān)控,如果檢測到鏈路出現(xiàn)擁塞,則查看該鏈路中哪條TCP流量最大,獲得該流的源目的IP地址進(jìn)而得到相應(yīng)的源目的交換機,查看備用路徑是否能容納該流,能則將該流轉(zhuǎn)移到備份路徑中,不能則查找是否有足夠帶寬的路徑,如果有,將該流調(diào)度到此路徑中去,該方法能有效平衡數(shù)據(jù)中心網(wǎng)絡(luò)中負(fù)載的流量,提高了鏈路利用率和數(shù)據(jù)中心網(wǎng)絡(luò)的服務(wù)能力。
[0031]以轉(zhuǎn)發(fā)設(shè)備為交換機為例,本發(fā)明的具體實現(xiàn)方法如下:
[0032]步驟一:通過SDN控制器POX的DISCOVERY組件獲得如圖2所示的全網(wǎng)拓?fù)湫畔?,由圖示的拓?fù)淇芍?,不同的邊緣交換機之間的最短路可能有多條,傳統(tǒng)三層路由只會算一條最短路,會造成鏈路分配不均的情況,根據(jù)圖2中拓?fù)?,使用k-shortest算法算出邊緣交換機之間的k條最短路,如圖2中同一 pod內(nèi)的Si到s2,可以得到兩條路徑:sl-s3_s2和sl-s4_s2,不同 pod 內(nèi)的 sl_s5,可以得到四條路徑:sl-s3-sl7-s8_s5、sl-s3-sl8-s7_s5、sl-s4-sl9-s7-s5和sl-s4-s20-s8-s5,然后將這些路徑保存在路徑表中,對于同一交換機的不同主機間,我們可以根據(jù)上述多條路徑表分配路由,比如,對于主機hl,我們分配第一條,主機h2,我們分配第2條,同一 pod內(nèi)傳輸不保留備用路徑,不同pod內(nèi)傳輸保留一條備用路徑。
[0033]步驟二:設(shè)定鏈路容量達(dá)到鏈路帶寬的80%,則認(rèn)為鏈路出現(xiàn)擁塞,因為本方法使用openflow(—種新型網(wǎng)絡(luò)交換模型)協(xié)議,很容易得到各個端口報文統(tǒng)計情況,控制器每5秒查看各端口相關(guān)的鏈路使用情況,如圖3,假設(shè)鏈路s8-s5出現(xiàn)擁塞情況,則POX控制器通過端口報文統(tǒng)計能獲得此條鏈路出現(xiàn)擁塞情況,然后查看該鏈路中TCP流端口,得到哪條TCP流速率最高,圖3所示P3速率最高。
[0034]步驟三:根據(jù)步驟二得到需要調(diào)離的TCP流P3,POX控制器查詢P3的源目的IP地址,繼而得到源目的交換機地址,假設(shè)查得該流對應(yīng)的源目的主機為hi和h5,因為hi和h5對應(yīng)的交換機為Si和s5,控制查詢Si到s5的多路徑表,即這四條路sl-s3-sl7-s8-s5、sl-s3-sl8-s7-s5、sl-s4-sl9-s7-s5 和 sl-s4-s20-s8_s5,因為檢測到 s8_s5 鏈路出現(xiàn)擁塞情況,即備份路徑(第四條)也出現(xiàn)鏈路擁塞,控制器查看第二條和第三條路徑各鏈路使用情況,如果第二條路徑能容納P3,則準(zhǔn)備將P3調(diào)離到該條路徑中。
[0035]步驟四:據(jù)步驟三的結(jié)果,控制器只要完成P3的調(diào)離工作就可以了,控制器根據(jù)第二條路徑sl-s3-sl8-s7-s5加上主機hi和h5的IP地址,可以得到一條完整的路徑,控制器根據(jù)這條路徑,當(dāng)下一個P3到達(dá)時,做成對應(yīng)的流表下發(fā)到s1、s3、sl8、s7、s5這5臺交換機中,這樣即完成了 P3的調(diào)離工作。
【權(quán)利要求】
1.一種基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法,包括SDN控制器和轉(zhuǎn)發(fā)設(shè)備,其特征在于,所述管理方法包括以下步驟: 51、控制器根據(jù)數(shù)據(jù)中心的網(wǎng)絡(luò)拓?fù)溆嬎氵吘夀D(zhuǎn)發(fā)設(shè)備之間最短路徑的條數(shù),根據(jù)最短路徑的條數(shù)設(shè)置備份路徑,除了備份路徑,其余的路徑均用來路由; 52、控制器檢測是否有鏈路流量達(dá)到該鏈路帶寬的門限值,如果有,則檢測出該鏈路中流量最大的業(yè)務(wù); 53、控制器檢測該業(yè)務(wù)的源、目的IP地址,查看其是否有備份路徑,如果備份路徑帶寬足夠,則將該業(yè)務(wù)調(diào)到備份路徑中,如果備份路徑帶寬不足或者沒有備份路徑,控制器統(tǒng)計該業(yè)務(wù)源、目的IP地址的各條路徑的鏈路利用率情況,查看是否有帶寬足夠的路徑,如果有,將該業(yè)務(wù)調(diào)度到空閑路徑中; 54、控制器根據(jù)步驟S3所述被調(diào)度的路徑,轉(zhuǎn)換成流表項,下發(fā)到相應(yīng)轉(zhuǎn)發(fā)設(shè)備,完成流表配置。
2.如權(quán)利要求1所述的基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法,其特征在于:步驟SI所述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為胖樹拓?fù)浣Y(jié)構(gòu),包括核心層、匯聚層和邊緣層,整體分為若干個pod區(qū)域。
3.如權(quán)利要求2所述的基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法,其特征在于:所述胖樹拓?fù)浣Y(jié)構(gòu)中的同一 pod區(qū)域內(nèi),邊緣層轉(zhuǎn)發(fā)設(shè)備之間的路徑有兩條,不同pod區(qū)域內(nèi),邊緣交換機之間的路徑有四條,所述路徑中存在兩條沒有共享鏈路的路徑。
4.如權(quán)利要求1或2或3所述的基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法,其特征在于,步驟SI具體包括以下步驟: S1A、用k-shortest算法算出邊緣轉(zhuǎn)發(fā)設(shè)備之間的最短路徑條數(shù); S1B、控制器POX將所述路徑存在map中,如果最短路徑的條數(shù)大于三,將其中最后一條作為備選路徑,其余路徑都用來路由。
5.根據(jù)權(quán)利要求1所述的基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法,其特征在于,步驟S2具體包括以下步驟: S2A、檢測是否有鏈路流量達(dá)到鏈路帶寬門限值M,具體做法是每隔t秒統(tǒng)計經(jīng)過各個端口的數(shù)據(jù)包大小,計算得到各端口流量信息,然后檢測相應(yīng)鏈路帶寬是否達(dá)到M ; S2B、當(dāng)有鏈路流量達(dá)到帶寬的M時,檢測哪條TCP速率最大,具體做法是,統(tǒng)計在這t秒內(nèi)通過的哪種TCP報文數(shù)量最多。
6.根據(jù)權(quán)利要求5所述的基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量管理方法,其特征在于,步驟S3具體包括以下步驟: S3A、控制器根據(jù)步驟S2B得到的速率最大的TCP流,得到其源、目的IP地址; S3B、根據(jù)該源、目的IP地址,控制器查看其是否有備份路徑,如果有則轉(zhuǎn)到步驟S3C,如果沒有,則轉(zhuǎn)到步驟S3D ; S3C、檢測備份路徑是否有足夠帶寬容納該TCP流,如果沒有則轉(zhuǎn)到步驟S3D,如果有,將該TCP流調(diào)離到該備份路徑中; S3D、檢測該源、目的IP地址的其他路徑帶寬,如果有路徑能容納該TCP流則將該TCP流調(diào)離到這條路徑上。
7.根據(jù)權(quán)利要求6所述的基于SDN的數(shù)據(jù)中心網(wǎng)絡(luò)流量工程方法,其特征在于,步驟S4的實現(xiàn)步驟包括:控制器根據(jù)所述被調(diào)度的TCP流的源、目的端口號加上所述空閑路徑得到一條完整的路徑,根據(jù)該路徑下發(fā)流表到該空閑路徑相關(guān)的交換機中,完成該TCP流調(diào)離工作。
【文檔編號】H04L12/729GK104468353SQ201410828645
【公開日】2015年3月25日 申請日期:2014年12月26日 優(yōu)先權(quán)日:2014年12月26日
【發(fā)明者】章小寧, 文強, 劉偉, 楊宏偉, 胡俊峰 申請人:深圳市新格林耐特通信技術(shù)有限公司