高級計算機網絡實驗報告-ns3模擬數據中心(共25頁)_第1頁
高級計算機網絡實驗報告-ns3模擬數據中心(共25頁)_第2頁
高級計算機網絡實驗報告-ns3模擬數據中心(共25頁)_第3頁
高級計算機網絡實驗報告-ns3模擬數據中心(共25頁)_第4頁
高級計算機網絡實驗報告-ns3模擬數據中心(共25頁)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上Project1-ns3模擬數據中心實驗要求根據上面的數據中心拓撲圖,完成以下要求:1. 根據給定的數據中心的拓撲結構,利用ns3進行仿真2. 模擬兩種通信模式(traffic pattern)o all-to-all:每個服務器都發(fā)送消息給其他服務器消息,由拓撲結構可知,超過50%的消息傳送將跨越兩個簇(cluster)o many-to-one:每個服務器都發(fā)送消息給其中一個服務器3. 測量兩種模式下網絡的仿真可以達到的吞吐量,找出網絡瓶頸,并且說明如何改進注:拓撲中的網絡都是Ethernet網實驗內容數據中心模擬實現及主要代碼解釋a. 設置自定義的attribu

2、te為了做實驗方便,設置如下自定義attribute: pattern:通信模式,all-to-all或many-to-one,默認為1 defaultDst:多對一模式下,接收消息的默認服務器序號,默認為0 verbose:enable或者disable PacketSink和OnOffApplication的日志,默認為false DataRate1:定義數據中心拓撲第一層的數據傳輸速率(Mbps),默認為1.0 DataRate2:定義數據中心拓撲第二層的數據傳輸速率(Mbps),默認為1.0 DataRate3:定義數據中心拓撲第三層的數據傳輸速率(Mbps),默認為1.5實現代碼如下

3、: uint16_t pattern = 1; uint16_t nodesNum = 8; uint16_t defaultDst = 0; float DataRate1 = 1.0; float DataRate2 = 1.0; float DataRate3 = 1.5; uint16_t port = 50000; bool verbose = false; CommandLine cmd; cmd.AddValue(pattern, number of traffic pattern, pattern);/pattern1:all-to-all pattern2:many-to-o

4、ne cmd.AddValue(defaultDst, default destination server node in pattern 2, defaultDst); cmd.AddValue(DataRate1, data rate of csma network at level 1, DataRate1); cmd.AddValue(DataRate2, data rate of csma network at level 2, DataRate2); cmd.AddValue(DataRate3, data rate of csma network at level 3, Dat

5、aRate3); cmd.AddValue (verbose, Tell sink and onoff applications to log if true, verbose); cmd.Parse(argc, argv); LogComponentEnable (DataCenterSimulation, LOG_LEVEL_INFO); if (verbose) LogComponentEnable (PacketSink, LOG_LEVEL_INFO); LogComponentEnable (OnOffApplication, LOG_LEVEL_INFO); b. 創(chuàng)建結點根據實

6、驗要求,總共需要創(chuàng)建15個結點,包括: 8 servers 4 ToR switches 2 Aggregation switches 1 Core switch實現代碼如下: /create nodes NodeContainer n1_8; n1_8.Create(8); NodeContainer t1_4; t1_4.Create(4); NodeContainer a12; a12.Create(2); NodeContainer c1; c1.Create(1);c. 創(chuàng)建CSMA網絡節(jié)點整個數據中心網絡拓撲從下往上可以分為三層,即 第一層:由服務器與ToR組成的ethernet網

7、絡,共有4個,編號為CSMA11,CSMA12,CSMA13,CSMA14 第二層:由ToR與Aggregation組成的ethernet網絡,共有2個,編號為CSMA21,CSMA22 第三層:由Aggregation與Core組成的ethernet網絡,共有1個,編號為CSMA3將創(chuàng)建好的15個網絡結點分配到這7個CSMA網絡中,實現代碼如下: /create csma nodes NodeContainer csmaNodes11 = NodeContainer(n1_8.Get(0),n1_8.Get(1),t1_4.Get(0); NodeContainer csmaNodes12

8、= NodeContainer(n1_8.Get(2),n1_8.Get(3),t1_4.Get(1); NodeContainer csmaNodes13 = NodeContainer(n1_8.Get(4),n1_8.Get(5),t1_4.Get(2); NodeContainer csmaNodes14 = NodeContainer(n1_8.Get(6),n1_8.Get(7),t1_4.Get(3); NodeContainer csmaNodes21 = NodeContainer(t1_4.Get(0),t1_4.Get(1),a12.Get(0); NodeContain

9、er csmaNodes22 = NodeContainer(t1_4.Get(2),t1_4.Get(3),a12.Get(1); NodeContainer csmaNodes3 = NodeContainer(a12.Get(0),a12.Get(1),c1.Get(0);d. 設置CSMA網絡attribute,并將其安裝到相應結點上根據實驗要求中的網絡拓撲,設置相應網絡的屬性 所有直接相連的兩個結點之間的延遲都為500ns 第一層和第二層CSMA網絡的數據傳輸速率都為1.0Mbps,第三層為1.5Mbps然后安裝到相應的網絡結點上,實現代碼如下(DataRate可以通過命令行參數設置

10、,默認值即為原實驗要求): /create the channels first without any IP addressing information CsmaHelper csma1; sprintf(buf,%1.1fMbps,DataRate1); csma1.SetChannelAttribute (DataRate, StringValue (buf); csma1.SetChannelAttribute (Delay, StringValue (500ns); NetDeviceContainer csmaDevices11 = csma1.Install (csmaNode

11、s11); NetDeviceContainer csmaDevices12 = csma1.Install (csmaNodes12); NetDeviceContainer csmaDevices13 = csma1.Install (csmaNodes13); NetDeviceContainer csmaDevices14 = csma1.Install (csmaNodes14); CsmaHelper csma2; sprintf(buf,%1.1fMbps,DataRate2); csma2.SetChannelAttribute (DataRate, StringValue (

12、buf); csma2.SetChannelAttribute (Delay, StringValue (500ns); NetDeviceContainer csmaDevices21 = csma2.Install (csmaNodes21); NetDeviceContainer csmaDevices22 = csma2.Install (csmaNodes22); CsmaHelper csma3; sprintf(buf,%1.1fMbps,DataRate3); csma3.SetChannelAttribute (DataRate, StringValue (buf); csm

13、a3.SetChannelAttribute (Delay, StringValue (500ns); NetDeviceContainer csmaDevices3 = csma3.Install (csmaNodes3);e. 分配網絡IP根據實驗要求,為每個結點安裝協(xié)議棧,并為7個CSMA網絡分配IP,實現代碼如下 /assign IP address NS_LOG_INFO (Assign IP address.); InternetStackHelper stack; stack.Install (n1_8); stack.Install (t1_4); stack.Install

14、(a12); stack.Install (c1); Ipv4AddressHelper address; address.SetBase (10.0.1.0, 255.255.255.0); Ipv4InterfaceContainer csmaInterfaces11 = address.Assign (csmaDevices11); address.SetBase (10.0.2.0, 255.255.255.0); Ipv4InterfaceContainer csmaInterfaces12 = address.Assign (csmaDevices12); address.SetB

15、ase (10.0.3.0, 255.255.255.0); Ipv4InterfaceContainer csmaInterfaces13 = address.Assign (csmaDevices13); address.SetBase (10.0.4.0, 255.255.255.0); Ipv4InterfaceContainer csmaInterfaces14 = address.Assign (csmaDevices14); address.SetBase (10.1.1.0, 255.255.255.0); Ipv4InterfaceContainer csmaInterfac

16、es21 = address.Assign (csmaDevices21); address.SetBase (10.2.1.0, 255.255.255.0); Ipv4InterfaceContainer csmaInterfaces22 = address.Assign (csmaDevices22); address.SetBase (192.168.1.0, 255.255.255.0); Ipv4InterfaceContainer csmaInterfaces3 = address.Assign (csmaDevices3);f. 初始化路由表這里直接調用了ns3自帶的路由實現,

17、實現代碼如下 / Create router nodes, initialize routing database and set up the routing / tables in the nodes. Ipv4GlobalRoutingHelper:PopulateRoutingTables ();g. 創(chuàng)建和分配PacketSink和OnOffClient首先,創(chuàng)建sink和OnOff,實現代碼如下 /Create sinkApp and OnOffClient ApplicationContainer clientAppnodesNum4; ApplicationContainer

18、sinkAppnodesNum;然后,分配sink到所有的server結點上,實現代碼如下(其中nodesNum表示server個數): for(unsigned int i = 0;i nodesNum; i+) PacketSinkHelper packetSinkHelper (ns3:TcpSocketFactory, getAddress(i,port,csmaInterfaces11,csmaInterfaces12,csmaInterfaces13,csmaInterfaces14); sinkAppi = packetSinkHelper.Install (n1_8.Get (

19、i); sinkAppi.Start(Seconds (1.0); sinkAppi.Stop(Seconds (60.0); 再然后,分配OnOffClient到server結點上,并且根據pattern不同,進行不同的配置 pattern 1:每個服務器都發(fā)送消息給其他服務器消息,即發(fā)送消息給在另一個簇上面的4個服務器(每個服務器上建立4個OnOffClient) pattern 2:每個服務器都發(fā)送消息給同一個服務器,可以默認為n1(每個服務器(n1除外)上建立1個OnOffClient)實現代碼如下 for(int i = 0; i nodesNum; i+) uint16_t dst

20、 = 0; if(pattern=1)/all-to-all pattern for(int j = 0 ;j 4; j+) if(iTCP Stream Graph-Throughput Graph來查看整個過程中該結點上的吞吐量變化情況 使用statistics-Summary來查看當前結點上網絡平均吞吐量,以此估計相應CSMA網絡的吞吐量server n1上的測量結果如下Throughput GraphSummaryToR t1上的測量結果如下Throughput GraphSummaryAggregation a1上的測量結果如下Throughput GraphSummaryb. pa

21、ttern 1 實驗結果分析首先對實驗結果進行簡單匯總網絡結點帶寬(Mbps)網絡平均吞吐量(Mbps)CSMA11server n11.00.255CSMA21ToR t11.00.541CSMA3Aggregation a11.50.993從上面的結果可以看出 第1層CSMA網絡平均吞吐量是0.255Mbps,帶寬利用率為25.5%; 第2層CSMA網絡平均吞吐量是0.541Mbps,帶寬利用率為54.1%; 第3層CSMA網絡平均吞吐量是0.993Mbps,帶寬利用率為66.2%。c. pattern 1 瓶頸及改進 瓶頸根據以上的實驗結果可以看出來,從網絡的平均吞吐量來看:第3層CSM

22、A第2層CSMA第1層CSMA2,從帶寬利用率上看也是這樣,所以作為core switch連接兩個子網絡但帶寬過小的第三層網絡成了整個網絡的瓶頸。 改進可以加大第3層網絡的帶寬,防止數據流量過大出現擁塞的情況發(fā)生。因此最后確定的網絡帶寬如下所示:o CSMA11-14:1.0Mbpso CSMA21-22:1.0Mbpso CSMA3 :2.0Mbps 改進結果執(zhí)行命令行./waf -run scratch/DC -DataRate1=1.0 -DataRate2=1.0 -DataRate3=2.0,以相同方式測量網絡,得到的結果如下:網絡結點帶寬(Mbps)網絡平均吞吐量(Mbps)CSM

23、A11server n11.00.306CSMA21ToR t11.00.523CSMA3Aggregation a12.00.990從上面的結果可以看出加大第三層網絡的帶寬,確實提高了整個網絡的吞吐量,尤其是對最底層的server結點來說。d. pattern 2 實驗結果執(zhí)行命令./waf -run scratch/DC -pattern=2,實驗運行結果如下所示從上面的結果可以看出,8個OnOffClient都將數據傳輸到n1,產生的pcap文件如下所示為了分析patten 2的網絡吞吐量,根據網絡拓撲的對稱性,選取測量位置 CSMA11:通過server n1(node 0/devic

24、e 0)來估計 CSMA12:通過server n3(node 2/device 0)來估計 CSMA13:通過server n5(node 4/device 0)來估計 CSMA21:通過ToR t1(node 8/device 1)來估計 CSMA22:通過ToR t3(node 10/device 1)來估計 CSMA3:通過Aggregation a1(node 12/device 1)來估計選取的測量標準為吞吐量,具體方法是 使用wireshark分析相應的pcap文件中的tcp包 使用statistics-TCP Stream Graph-Throughput Graph來查看整個

25、過程中該結點上的吞吐量變化情況 使用statistics-Summary來查看當前結點上網絡平均吞吐量,以此估計相應CSMA網絡的吞吐量server n1上的測量結果如下Throughput GraphSummaryserver n3上的測量結果如下Throughput GraphSummaryserver n5上的測量結果如下Throughput GraphSummaryToR t1上的測量結果如下Throughput GraphSummaryToR t3上的測量結果如下Throughput GraphSummaryAggregation a1上的測量結果如下Throughput GraphSummarye. pattern 2 實驗結果分析首先對實驗結果進行簡單匯總網絡結點帶寬(Mbps)網絡平均吞吐量(Mbps)CSMA11server n11.00.974CSMA12server n31.00.181CSMA13server n51.00.115CSMA21ToR t11.00.601CSMA22ToR t31.00.178CSMA3Aggregation a11.50.361從上面的結果可以看出 第1層CSMA11網絡平均吞吐量是0.974Mbps,帶寬利用率為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論