欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于云平臺的高吞吐量路由仿真方法與流程

文檔序號:11253817閱讀:799來源:國知局
本發(fā)明涉及網(wǎng)絡仿真
技術領域
:,特別是涉及一種基于云平臺的高吞吐量路由仿真方法。
背景技術
::當前,基于虛擬化的云平臺成為網(wǎng)絡仿真的主流支撐平臺:與傳統(tǒng)網(wǎng)絡模擬技術相比,該技術能夠提供更加逼真的仿真環(huán)境,與實物測試床相比,該技術能夠以非常低的成本輕易地仿真出大規(guī)模網(wǎng)絡。路由仿真技術是網(wǎng)絡仿真的重要內容,在云平臺中,常用的路由仿真技術包括networknamespace路由、全虛擬化路由與輕量級虛擬化路由。其中networknamespace路由吞吐量高,占用系統(tǒng)資源少,但其本身不支持與其不相連網(wǎng)絡的流量轉發(fā);全虛擬化路由能夠支持動態(tài)路由協(xié)議,但其吞吐量不高,尤其是在經(jīng)多跳之后,下降明顯,且其較為占用系統(tǒng)資源,難以大規(guī)模部署;輕量級虛擬化路由占用資源少,能夠支持動態(tài)路由協(xié)議,但吞吐量低,無法滿足虛擬網(wǎng)絡高吞吐量的要求。中國專利cn103595772a,公開了一種基于虛擬路由器的云數(shù)據(jù)中心網(wǎng)絡部署方案,能夠方便網(wǎng)管人員進行統(tǒng)一管理,節(jié)約網(wǎng)絡開銷。但該方案中的虛擬路由器基于系統(tǒng)虛擬機實現(xiàn),會消耗大量的宿主機資源,部署在云平臺上效率不高。中國專利cn105681191a,公開了一種基于路由器虛擬化的sdn平臺及實現(xiàn)方法,能夠實現(xiàn)sdn網(wǎng)絡和傳統(tǒng)網(wǎng)絡之間良好的數(shù)據(jù)轉發(fā)性能和路由功能,其中虛擬路由器拓展性強、靈活性好。但其虛擬路由器也是基于虛擬機實現(xiàn)的,如果在復雜網(wǎng)絡環(huán)境下,會消耗過多的宿主機資源,部署在云平臺上效率不高。中國專利cn105827464a,公開了一種可自動化部署的虛擬路由器構建方法,可以實現(xiàn)虛擬路由器自動靈活地部署,大量節(jié)約人力、時間,使用戶可以靈活方便的進行虛擬網(wǎng)絡管理。但與上述兩個專利相同,其虛擬路由器需要依靠虛擬機,在復雜網(wǎng)絡環(huán)境下,會消耗過多的宿主機資源,而且吞吐量一般。技術實現(xiàn)要素:針對基于云平臺的網(wǎng)絡仿真方法不具有轉發(fā)全網(wǎng)流量的高吞吐量虛擬路由器問題,本發(fā)明基于openstack云平臺,借助其提供的開發(fā)工具openstacksdk,獲取云平臺的網(wǎng)絡拓撲,為云平臺上名為qrouter的虛擬路由器計算并配置靜態(tài)路由,實現(xiàn)高吞吐量的路由仿真。本發(fā)明解決上述問題的技術方案如下。一種基于云平臺的高吞吐量路由仿真方法,包括如下步驟:步驟1:在openstack云平臺上,根據(jù)所需要仿真的網(wǎng)絡拓撲,構建仿真網(wǎng)絡,包括:構建虛擬網(wǎng)絡、在虛擬網(wǎng)絡上創(chuàng)建云主機、在虛擬網(wǎng)絡間部署qrouter;步驟2:獲取已經(jīng)構建成功的仿真網(wǎng)絡信息;步驟3:基于步驟2得到的仿真網(wǎng)絡信息,計算出仿真網(wǎng)絡中各qrouter到其他qrouter的靜態(tài)路由信息,并匯總形成靜態(tài)路由信息集:{routingn,1≤n≤n},其中n為靜態(tài)路由信息的編號,n為靜態(tài)路由信息總條數(shù);步驟4:針對步驟3中每一條靜態(tài)路由信息routingn,提取與之對應的qrouterm,其中m為qrouter編號,針對qrouterm,使用網(wǎng)絡服務客戶端更新其靜態(tài)路由表。其中,步驟2所述的獲取已經(jīng)構建成功的仿真網(wǎng)絡信息的步驟包括:2.1、使用openstacksdk,獲取openstack的認證;通過獲得的認證,獲取一個網(wǎng)絡服務客戶端;再通過所獲得的網(wǎng)絡服務客戶端獲取當前網(wǎng)絡中所有的port信息以及qrouter信息,所述port信息包括該port的id、所屬qrouter的id、所在網(wǎng)絡id、port的ip地址,所述qrouter信息即qrouterid;2.2、用i表示port的編號,j表示qrouter的編號,則將porti的所屬qrouterid與qrouterj的qrouterid進行比較,當兩者一致時,則porti的所在網(wǎng)絡id為qrouterj的一個直接連接的網(wǎng)絡id;2.3、重復步驟2.2,直到所有的qrouter都得到與之直連的網(wǎng)絡id;2.4、創(chuàng)建拓撲圖,將所有的qrouter作為點加入拓撲圖中,如果qrouterk與qrouterl有相同的直連網(wǎng)絡id,那么說明兩個qrouter之間有一條邊,將這條邊加入到拓撲圖中,其中k、l表示qrouter的編號;將所有的qrouter及qrouter之間的邊都加入到拓撲圖后,形成了仿真網(wǎng)絡信息。進一步的,步驟3的具體方法為:3.1、使用floyd算法求出拓撲圖中任意兩點間的最短路徑,每一條最短路徑為一組qrouter的id序列,用{qrouter1,qrouter2,……,qrouterdest}表示;其中qrouter1表示最短路徑的起點qrouter的id,qrouter2表示最短路徑的第二個qrouter的id,qrouterdest表示最短路徑的終點qrouter的id;3.2、針對3.1中每一條最短路徑,qrouter2就是起點qrouter1到終點qrouterdest的下一跳qrouter,通過對比找到qrouter1與qrouter2共同的網(wǎng)絡,qrouter2上在該網(wǎng)絡中的ip地址就是下一跳ip地址,用nexthopip表示;3.3、針對3.1中每一條最短路徑,在qrouterdest直連的所有網(wǎng)絡中剔除與起點qrouter1也直連的網(wǎng)絡,形成目標網(wǎng)絡集{net1、net2、……、netq},其中q表示目標網(wǎng)絡個數(shù);3.4、針對3.1中每一條最短路徑,形成靜態(tài)路由信息:{qrouter1、nexthopip、net1},{qrouter1、nexthopip、net2},……,{qrouter1、nexthopip、netq};3.5、匯總每一條最短路徑對應的靜態(tài)路由信息,形成靜態(tài)路由信息集:{routingn,1≤n≤n}。本發(fā)明通過提供一種基于云平臺的高吞吐量路由仿真方法,實現(xiàn)搭建一個基于openstack通過qrouter連通全網(wǎng)的高吞吐量的虛擬網(wǎng)絡環(huán)境,可用于各項網(wǎng)絡研究與實驗網(wǎng)絡,本發(fā)明具有以下優(yōu)點:1、采用openstack自帶的qrouter,在多跳情況下吞吐量仍然很高;2、通過對qrouter靜態(tài)路由的配置,使qrouter具備了轉發(fā)全網(wǎng)流量的能力,滿足了云平臺組建大規(guī)模網(wǎng)絡的要求;3、使用簡單,只需執(zhí)行腳本文件即可實現(xiàn)上述功能。附圖說明圖1為一種基于云平臺的高吞吐量路由仿真方法的流程圖。圖2為本發(fā)明使用腳本實現(xiàn)的流程圖。圖3為本發(fā)明實例所使用的網(wǎng)絡拓撲圖。圖4為自動化腳本執(zhí)行后的效果圖。圖5為吞吐量對比圖。具體實施方式下面結合附圖和實施例,對本發(fā)明做進一步描述。本發(fā)明的總體流程圖如圖1所示,技術方案如下:1.在openstack云平臺上,根據(jù)所需要仿真的網(wǎng)絡拓撲,構建仿真網(wǎng)絡,包括:構建虛擬網(wǎng)絡、在虛擬網(wǎng)絡上創(chuàng)建云主機、在虛擬網(wǎng)絡間部署qrouter,如圖3所示。2.獲取已經(jīng)構建成功的仿真網(wǎng)絡信息,包括如下步驟:step2.1:使用openstacksdk,獲取openstack的認證;通過獲得的認證,獲取一個網(wǎng)絡服務客戶端;再通過所獲得的網(wǎng)絡服務客戶端獲取當前網(wǎng)絡中所有的port信息以及qrouter信息,所述port信息包括該port的id、所屬qrouter的id、所在網(wǎng)絡id、port的ip地址,所述qrouter信息即qrouterid;step2.2:用i表示port的編號,j表示qrouter的編號,則將porti的所屬qrouterid與qrouterj的qrouterid進行比較,當兩者一致時,則porti的所在網(wǎng)絡id為qrouterj的一個直接連接的網(wǎng)絡id;step2.3:重復步驟step2.2,直到所有的qrouter都得到與之直連的網(wǎng)絡id;step2.4:創(chuàng)建拓撲圖,將所有的qrouter作為點加入拓撲圖中,如果qrouterk與qrouterl有相同的直連網(wǎng)絡id,那么說明兩個qrouter之間有一條邊,將這條邊加入到拓撲圖中,其中k、l表示qrouter的編號;將所有的qrouter及qrouter之間的邊都加入到拓撲圖后,形成了仿真網(wǎng)絡信息。3.計算出上述仿真網(wǎng)絡中各qrouter到其他qrouter的靜態(tài)路由信息,并匯總形成靜態(tài)路由信息集:{routingn,1≤n≤n},其中n為靜態(tài)路由信息的編號,n為靜態(tài)路由信息總條數(shù);步驟為:step3.1:使用floyd算法求出拓撲圖中任意兩點間的最短路徑,每一條最短路徑為一組qrouter的id序列,用{qrouter1,qrouter2,……,qrouterdest}表示;qrouter1為最短路徑的起點qrouter的id,qrouter2為最短路徑的第二個qrouter的id,其中qrouterdest為最短路徑的終點qrouter的id;step3.2:針對step3.1中每一條最短路徑,qrouter2就是起點qrouter1到終點qrouterdest的下一跳qrouter,通過對比找到qrouter1與qrouter2共同的網(wǎng)絡,qrouter2上在該網(wǎng)絡中的ip地址就是下一跳ip地址,用nexthopip表示;step3.3:針對step3.1中每一條最短路徑,在qrouterdest直連的所有網(wǎng)絡中剔除與起點qrouter1也直連的網(wǎng)絡,形成目標網(wǎng)絡集{net1、net2、……、netq},其中q為目標網(wǎng)絡個數(shù);step3.4:針對step3.1中每一條最短路徑,形成靜態(tài)路由信息:{qrouter1、nexthopip、net1},{qrouter1、nexthopip、net2},……,{qrouter1、nexthopip、netq};step3.5:匯總每一條最短路徑對應的靜態(tài)路由信息,形成靜態(tài)路由信息集:{routingn,1≤n≤n}。4.對每一條靜態(tài)路由信息routingn,提取與之對應的qrouterm,其中m為qrouter編號,針對qrouterm,使用網(wǎng)絡服務客戶端更新其靜態(tài)路由表。根據(jù)上述技術方案,本實例部署的openstack包括一個控制節(jié)點、一個網(wǎng)絡節(jié)點和一個計算節(jié)點,物理網(wǎng)絡分為管理網(wǎng)和控制網(wǎng)??刂乒?jié)點的第一塊網(wǎng)卡連接管理網(wǎng),ip地址為192.168.1.11;網(wǎng)絡節(jié)點的第一塊網(wǎng)卡連接管理網(wǎng),ip地址為192.168.1.21,第二塊網(wǎng)卡連接隧道網(wǎng),ip地址為10.0.1.21;計算機節(jié)點的第一塊網(wǎng)卡連接管理網(wǎng),ip地址為192.168.1.31,第二塊網(wǎng)卡連接隧道網(wǎng),ip地址為10.0.1.31。在步驟1中,登陸openstack的dashboard,創(chuàng)建13個虛擬網(wǎng)絡,cidr分別為192.168.1.0/24、192.168.2.0/24、192.168.3.0/24、192.168.4.0/24、192.168.5.0/24、192.168.6.0/24、192.168.6.0/24、192.168.7.0/24、192.168.8.0/24、192.168.9.0/24、192.168.10.0/24、192.168.11.0/24、192.168.11.0/24、192.168.12.0/24、192.168.13.0/24;創(chuàng)建7個qrouter,與網(wǎng)絡的連接如圖4中拓撲圖所示。上述技術方案中的步驟2、3、4通過作者編寫的腳本文件實現(xiàn),腳本的使用方法為:將腳本文件拷貝到控制節(jié)點,然后在腳本目錄執(zhí)行“pythondemo.py”。執(zhí)行之后的結果如圖4所示,其中拓撲圖下為各個qrouter執(zhí)行過腳本之后的信息,interface代表網(wǎng)卡,后邊緊接網(wǎng)卡的ip地址;routingtable是qrouter的路由表,每行的開頭代表目的網(wǎng)絡,結尾代表下一跳ip地址。腳本的工作流程如圖2所示:1.使用openstacksdk,獲取openstack的認證;通過獲得的認證,獲取一個網(wǎng)絡服務客戶端;再通過所獲得的網(wǎng)絡服務客戶端獲取當前網(wǎng)絡中所有的port信息以及qrouter信息,所述port信息包括該port的id、所屬qrouter的id、所在網(wǎng)絡id、port的ip地址,所述qrouter信息即qrouterid;2.用i表示port的編號,j表示qrouter的編號,則將porti的所屬qrouterid與qrouterj的qrouterid進行比較,當兩者一致時,則porti的所在網(wǎng)絡id為qrouterj的一個直接連接的網(wǎng)絡id;3.重復步驟2,直到所有的qrouter都得到與之直連的網(wǎng)絡id;4.創(chuàng)建拓撲圖,將所有的qrouter作為點加入拓撲圖中,如果qrouterk與qrouterl有相同的直連網(wǎng)絡id,那么說明兩個qrouter之間有一條邊,將這條邊加入到拓撲圖中,其中k、l表示qrouter的編號;將所有的qrouter及qrouter之間的邊都加入到拓撲圖后,形成了仿真網(wǎng)絡信息。5.使用floyd算法求出拓撲圖中任意兩點間的最短路徑,每一條最短路徑為一組qrouter的id序列,用{qrouter1,qrouter2,……,qrouterdest}表示;qrouter1為最短路徑的起點qrouter的id,qrouter2為最短路徑的第二個qrouter的id,其中qrouterdest為最短路徑的終點qrouter的id;6.針對步驟5中每一條最短路徑,qrouter2就是起點qrouter1到終點qrouterdest的下一跳qrouter,通過對比找到qrouter1與qrouter2共同的網(wǎng)絡,qrouter2上在該網(wǎng)絡中的ip地址就是下一跳ip地址,用nexthopip表示;7.針對步驟5中每一條最短路徑,在qrouterdest直連的所有網(wǎng)絡中剔除與起點qrouter1也直連的網(wǎng)絡,形成目標網(wǎng)絡集{net1、net2、……、netq},其中q為目標網(wǎng)絡個數(shù);8.針對步驟5中每一條最短路徑,形成靜態(tài)路由信息:{qrouter1、nexthopip、net1},{qrouter1、nexthopip、net2},……,{qrouter1、nexthopip、netq};9.匯總每一條最短路徑對應的靜態(tài)路由信息,形成靜態(tài)路由信息集:{routingn,1≤n≤n}。10.對每一條靜態(tài)路由信息routingn,提取與之對應的qrouterm,其中m為qrouter編號,針對qrouterm,使用網(wǎng)絡服務客戶端更新其靜態(tài)路由表。至此完成qrouter靜態(tài)路由的配置,實現(xiàn)了通過qrouter連通全部虛擬網(wǎng)絡的目標,基于上述步驟構建的虛擬網(wǎng)絡可以開展各種測試研究工作。基于本實施例,可展開但不限于以下測試工作:(1)在虛擬網(wǎng)絡192.168.8.0/24與192.168.9.0/24上分別創(chuàng)建一個云主機,命名為vm1和vm2,兩臺云主機互相執(zhí)行ping命令,結果表明qrouter具備了轉發(fā)非直連網(wǎng)絡流量的能力;(2)在虛擬網(wǎng)絡192.168.7.0/24上創(chuàng)建一個云主機,命名為vm3,在vm1和vm3上安裝netperf軟件,使用該軟件測試得到vm1和vm2之間經(jīng)過qrouter轉發(fā)的平均吞吐量為16870kb/s,結果表明qrouter具備高吞吐量;(3)分別通過qrouter與全虛擬化路由器進行吞吐量測試,測試結果(平均值)如圖5所示,結果表明在經(jīng)過多跳之后,qrouter仍具有很高的吞吐量且吞吐量下降幅度沒有全虛擬化路由器大。上述實驗結果表明,本發(fā)明提出的一種基于云平臺的高吞吐量路由仿真方法可實現(xiàn)一個高吞吐量的虛擬路由網(wǎng)絡,解決了基于openstack平臺上qrouter無法連通非直連網(wǎng)絡、全虛擬化路由器占用過多資源、輕量級路由器吞吐量低的問題。上述具體實施方案僅用于說明本發(fā)明,而并非對本發(fā)明的限制,在本領域普通技術人員所具備的知識范圍內,還可以在不脫離本發(fā)明宗旨的前提下做出各種變化。當前第1頁12當前第1頁12
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
葵青区| 芮城县| 丰宁| 柳江县| 通山县| 白山市| 沙湾县| 贵南县| 宣城市| 六枝特区| 玉溪市| 双柏县| 古浪县| 肃北| 阜康市| 始兴县| 象山县| 永济市| 铁岭市| 宜兰市| 高雄市| 兴化市| 孟村| 海林市| 莱州市| 博野县| 康平县| 赣榆县| 武胜县| 九龙城区| 荃湾区| 航空| 虹口区| 子洲县| 丰城市| 营口市| 杭锦旗| 东城区| 鹤壁市| 民乐县| 武鸣县|