一種面向云計算網(wǎng)絡的拓撲探測方法
【專利摘要】本發(fā)明提供了一種基于云計算網(wǎng)絡的拓撲探測方法,適用于云計算網(wǎng)絡環(huán)境下對于網(wǎng)絡拓撲進行探測,本發(fā)明將拓撲探測分為兩層進行分別探測,在第一層中由路由器與計算節(jié)點構成,通過發(fā)送socket“三明治”包的方法探測出時延;第二層由云計算環(huán)境環(huán)境中計算節(jié)點下的虛擬機的分布構成,本發(fā)明采用MPI探測虛擬機間的通信時延,并通過相應的計算后采用并查集算法進行歸并聚類,從而得到虛擬機的分布。通過本發(fā)明可以比較完整的探測出整個云計算網(wǎng)絡環(huán)境下的完整拓撲結構。
【專利說明】一種面向云計算網(wǎng)絡的拓撲探測方法
【技術領域】
[0001] 本發(fā)明是一種適用于云網(wǎng)絡環(huán)境中,針對云環(huán)境網(wǎng)絡的特點,采用將云環(huán)境拓撲 結構分為由路由器與計算節(jié)點組成的第一層拓撲結構與虛擬機的分布組成的第二層拓撲 結構,并采用相應的方法進行拓撲結構的探測。
【背景技術】
[0002] 隨著網(wǎng)絡與人們的生活聯(lián)系越來越密切,網(wǎng)絡用戶也越來越關注網(wǎng)絡的性能特 征,關注他們通過網(wǎng)絡得到的利益能有多大程度的保障。這一方面要求現(xiàn)代網(wǎng)絡管理系統(tǒng) 更完善地發(fā)展,更好地控制網(wǎng)絡的行為。另一方面要求對網(wǎng)絡性能參數(shù)進行精確地檢測和 方便地調(diào)控。為此,開發(fā)了各式各樣的網(wǎng)絡測量系統(tǒng)以測量和推斷網(wǎng)絡性能參數(shù)的變化。 網(wǎng)絡拓撲探測是這些網(wǎng)絡測量系統(tǒng)的主要基礎,同時也是現(xiàn)代網(wǎng)絡管理系統(tǒng)的重要組成部 分,在現(xiàn)代計算機網(wǎng)絡科學發(fā)展中具有十分重要的地位。
[0003] 云計算是2007年底正式提出的一個新的概念,至今為止,幾乎所有的IT行業(yè)巨頭 都將云計算作為未來發(fā)展的主要戰(zhàn)略之一,相關商業(yè)媒體也將云計算視為計算機未來發(fā)展 的主要趨勢,隨著時代的發(fā)展,其商業(yè)前景和應用需求已勿庸置疑。云計算是一種全新的 商業(yè)模式,其核心部分依然是云后端的數(shù)據(jù)中心,它使用的硬件設備主要是成千上萬的工 業(yè)標準服務器,它們由英特爾或AMD生產(chǎn)的處理器以及其他硬件廠商的產(chǎn)品組成。企業(yè)和 個人用戶通過高速互聯(lián)網(wǎng)得到計算能力,從而避免了大量的硬件投資。云計算的基本原理 是,通過將計算分布在大量的分布式計算機上,使企業(yè)數(shù)據(jù)中心的運行更加類似于使用互 聯(lián)網(wǎng)。從而使企業(yè)能夠將隨時資源切換到需要的應用上,根據(jù)需求訪問計算機和存儲系統(tǒng)。
[0004] 在云計算系統(tǒng)的后端,有成千上萬的服務器,如何將如此大量的服務器有效地組 織是云計算系統(tǒng)高效穩(wěn)定運行關鍵問題之一。然而云計算系統(tǒng)后端的網(wǎng)絡拓撲有別于一般 的網(wǎng)絡拓撲特性:它的服務器節(jié)點分布廣泛,數(shù)據(jù)流量大,服務等級區(qū)分度高,擴展性和可 靠性要求較強,拓撲結構相對復雜,因此確實具有重新研究的必要性。Openstack既是一個 社區(qū),也是一個項目和一個開源軟件,它提供了一個部署云的操作平臺或工具集。其宗旨在 于,幫助組織運行虛擬計算或存儲服務的云,為公有云、私有云,也為大云、小云提供可擴展 的、靈活的云計算。Openstack是一個完全開源的云計算系統(tǒng),使用者可以在需要的時候修 改代碼來滿足需要并作為開源或商業(yè)產(chǎn)品發(fā)布、銷售。Openstack是基于強大的社區(qū)開發(fā)模 式,任何公司和個人都可以參與到項目中,參與測試開發(fā),貢獻代碼,同時Openstack被專 門基金會管理,可以說是一個真正開源的云計算項目;Openstack為組建云提供了必要的 軟件、控制臺和API。本發(fā)明是基于Openstack平臺搭建的云計算環(huán)境進行數(shù)據(jù)的測量與方 法驗證。
【發(fā)明內(nèi)容】
[0005] 技術問題:本發(fā)明的目的是提供一種面向云計算網(wǎng)絡的拓撲探測方法,在云環(huán)境 下基于Openstack平臺,進行拓撲探測,通過將拓撲圖分為兩層進行分別探測,第一層由各 路由器與計算節(jié)點組成,第二層由各路由器下虛擬機的分布組成。通過本方法可以實現(xiàn)云 環(huán)境下網(wǎng)絡拓撲的全面探測。
[0006] 技術方案:本發(fā)明的方法采用在Openstack平臺下,搭建云環(huán)境拓撲,在第一層由 路由器與計算節(jié)點構成的拓撲中,采用發(fā)送socket "三明治"包的方法進行探測時延;在第 二層由各路由器下虛擬機的分布構成的拓撲中,通過MPI探測時延,將所探測的數(shù)據(jù)進行 一系列的計算后,通過并查集算法進行歸并聚類。由聚類后的結果即為各虛擬機的分布,將 第一層與第二層拓撲探測相結合即為整個云環(huán)境下網(wǎng)絡拓撲結構。
[0007] 基于云計算網(wǎng)絡的拓撲探測方法包含以下的具體步驟:
[0008] 步驟1.按照預先設定拓撲圖進行搭建云平臺管理項目Openstack的真實環(huán)境,
[0009] 步驟2.在進行第一層網(wǎng)絡拓撲探測時對每個路由器下任意選擇一個虛擬機進行 編號并編入相應的套接字程序socket程序,通過路由器下的虛擬機為分別接收大數(shù)據(jù)包 與兩個小的數(shù)據(jù)包,對每對路由器與計算節(jié)點間的數(shù)據(jù)時延測量,得到每對小數(shù)據(jù)包的時 間差,通過全局搜索拓撲探測MLT算法進行推斷,
[0010] 1)選擇一個隨機的開始狀態(tài)sQ = (TQ+u。),
[0011] 2)進入下一狀態(tài)Sl,得到最小值
【權利要求】
1. 一種基于云計算網(wǎng)絡的拓撲探測方法,其特征在于該方法包含以下的具體步驟: 步驟1.按照預先設定拓撲圖進行搭建云平臺管理項目Openstack的真實環(huán)境, 步驟2.在進行第一層網(wǎng)絡拓撲探測時對每個路由器下任意選擇一個虛擬機進行編號 并編入相應的套接字程序socket程序,通過路由器下的虛擬機為分別接收大數(shù)據(jù)包與兩 個小的數(shù)據(jù)包,對每對路由器與計算節(jié)點間的數(shù)據(jù)時延測量,得到每對小數(shù)據(jù)包的時間差, 通過全局搜索拓撲探測MLT算法進行推斷, 1) 選擇一個隨機的開始狀態(tài)Sd = (Χ+ιΟ, 2) 進入下一狀態(tài)Sl,得到最小值
3) 重復步驟1和步驟2的過程,直到建立一個拓撲圖; 步驟3.在進行第二層網(wǎng)絡拓撲探測時,對于每個路由器虛擬機進行安裝信息通信接 口庫MPI,并寫入對應的時間測試程序,由公式!;_ = 1^+!1111通過測量節(jié)點彼此間發(fā)送不同 字節(jié)大小的數(shù)據(jù)包,得到不同數(shù)據(jù)包大小時對應的時間大小,其中表示節(jié)點對間實際 測量得到的傳輸時間;T S表示節(jié)點對間建立的時間;Tw表示節(jié)點對間的每單位字節(jié)的發(fā)送 時間;m表示節(jié)點對間發(fā)送的字節(jié)大小;對于每一個節(jié)點對i,j,用矩陣實驗室MATLAB將其 10個值根據(jù)上述線性公式擬合出該節(jié)點對在T w矩陣下的值TWi,j ; 使用并查集算法Union-Find進行節(jié)點聚類,并查集是通過樹形結構來存儲的,在合并 操作時利用樹的節(jié)點數(shù)或者利用一個排列數(shù)組來存儲集合的啟發(fā)式函數(shù),在查找操作時進 行路徑壓縮使后續(xù)的查找操作加速;并查集有三種操作: 合并操作Union ;把子集合Root2即根2和子集合Rootl即根1合并,要求:Rootl和 Root2互不相交,否則不執(zhí)行操作; 搜索操作Find;搜索單元素 X所在的集合,并返回該集合的名字一根節(jié)點標示; UFSets構造函數(shù),將并查集中s個元素初始化為s個只有一個單元素的子集合,利用并查集 的算法,將MPI測試數(shù)據(jù)進行劃分聚類,number表示節(jié)點的數(shù)量;threshold表示定義的閾 值范圍;Tw[number] [number]表示 Tw 矩陣; 1) 得到"朋友關系矩陣",設置一個閾值,遍歷其余節(jié)點,其中有90 %?98 %比例的節(jié) 點到兩觀測節(jié)點的時間差在閾值范圍內(nèi),即認定兩觀測節(jié)點為"直接朋友"關系,否則不是, 得到"直接朋友關系"矩陣; 2) 初始化把每一節(jié)點當成一顆子樹,該樹只有自身一個節(jié)點,作為根節(jié)點; 3) 合并子樹若節(jié)點i,j,為直接朋友關系,對i,j為根節(jié)點的子樹分別進行壓縮路徑, 使其子樹中所有非根節(jié)點直接指向根節(jié)點,并合并以i,j為根節(jié)點的子樹,并把編號較小 的節(jié)點作為新樹的根節(jié)點,再對新樹同樣進行壓縮路徑; 4) 差錯檢測,在合并子樹的過程中,若節(jié)點i,j不為直接朋友關系,而遍歷節(jié)點i,j的 根時得到同一根節(jié)點,則說明出現(xiàn)差錯; 5) 顯示劃分結果,用map即示意圖存儲不同集合樹當中的元素,每棵樹的根節(jié)點編號 作為map的下標,對應的內(nèi)容是一個向量,用來存儲該樹所有非根節(jié)點,歸并好的節(jié)點即是 虛擬機的部署拓撲,從而得出云環(huán)境下第二層網(wǎng)絡拓撲; 步驟4.在聚類好的虛擬機結構中,通過測試相互的時延,由于在同一路由器下的虛擬 機間的通信時間肯定最短,隨著經(jīng)過的路由器與交換機的增多通信時延增加,根據(jù)這一原 理,通過比較不同虛擬機間的時延相似度來驗證之前的聚類分布; 步驟5.將第一層拓撲探測結構與第二層拓撲探測結構相結合構成完整的云計算環(huán)境 下的網(wǎng)絡拓撲結構。
【文檔編號】H04L29/08GK104158748SQ201410348943
【公開日】2014年11月19日 申請日期:2014年7月21日 優(yōu)先權日:2014年7月21日
【發(fā)明者】王少輝, 董從翔, 肖甫, 韓志杰, 王汝傳, 劉佳 申請人:南京郵電大學