高级计算机网络实验报告-ns3模拟数据中心
基于ns—3构建计算机网络教学仿真平台

基于ns—3构建计算机网络教学仿真平台【摘要】计算机网络原理课程抽象、复杂,基于ns-3构建计算机网络教学仿真平台有助于提高学生的学习兴趣。
【关键词】计算机网络;网络模拟;ns-3;可视化《计算机网络原理》概念抽象、协议繁琐,传统的理论教学以板书或者PPT 进行理论讲解,枯燥乏味。
构建基于新型网络模拟器ns-3[1]构建计算机网络教学仿真平台,能提高计算机网络的教学质量[2]。
1.ns-3简介ns-3广泛汲取了现有优秀开源网络模拟器如ns-2,GTNetS,yans等的成功技术和经验,专门用于教育和研究用途的离散事件模拟器,基于GNU GPLv2许可,可以免费地获取、使用和修改[3-4]。
2.ns-3仿真流程搭建ns-3网络仿真场景和搭建实际网络类似[5-6],首先生成网络节点(Node),然后为节点安装网络设备(NetDevice)及相应的传输媒体(Channel),接下来安装网络协议,包括应用层(Application),传输层,MAC层,ns-3提供了多个应用层和传输层协议,数据包(Packets)通过协议栈(Protocol stack)向下传递给网络设备(类似于网卡,实现了MAC层和物理层协议),于是如图1所示数据包就像在真实网络中一样流动。
3.ns-3仿真实例通过仿真实例展示基于ns-3构建的计算机网络教学仿真平台的优势。
仿真场景如图2所示,网络分成两部分:基于CSAM/CD协议的有线局域网和点到点的通信链路。
其中节点0是服务器;节点1有两块网卡,一块网卡和局域在一个网段,另一块网卡和服务器在一个网段,负责局域网和服务器的通信。
3.1 仿真脚本下面我给出C++脚本的关键代码(p2p网络的部分,csma网络和其代码类似)://生成节点:NodeContainer p2pNodes;p2pNodes.Create (2);//配置网卡信道参数并安装网络设备:PointToPointHelper pointToPoint;pointToPoint.SetDeviceAttribute (“DataRate”,StringValue (“5Mbps”));pointToPoint.SetChannelAttribute (“Delay”,StringValue (“2ms”));NetDeviceContainer p2pDevices;p2pDevices = pointToPoint.Install (p2pNodes);//安装网络协议栈并配置IP地址:InternetStackHelper stack;stack.Install (p2pNodes.Get (0));Ipv4AddressHelper address;address.SetBase (“10.1.1.0”,”255.255.255.0”);Ipv4InterfaceContainer p2pInter faces;p2pInterfaces = address.Assign (p2pDevices);//安装应用程序,Node0为服务器,Node5为客户机:UdpEchoServerHelper echoServer (9);ApplicationContainer serverApps = echoServer.Install (p2pNodes.Get (0));UdpEchoClientHelper echoClient (p2pInterfaces.GetAddress (0),9);//配置路由Ipv4GlobalRoutingHelper::PopulateRoutingTables ();//利用追踪系统捕获网络数据包:pointToPoint.EnablePcapAll (“p2p_csma”);csma.EnablePcap (“p2p_csma”,csmaDevices.Get (0),true);3.2 网络仿真演示图3是ns-3可视化模块PyViz在线显示实例仿真场景的拓扑结构、网络配置及通信时的画面。
中科大高级计算机网络实验一

实验一NS3数据中心仿真一、实验要求试用ns3模拟仿真一个数据中心网络,并在多对一和多对多模式下进行试验,然后进行抓包,并分析该网络的吞吐量和瓶颈,最后进行改进。
网络拓扑如下:二、拓扑构建1. 创建网络,安装节点,共有7个交换机和8个主机2.创建CSMA链路,共7个区域,area~area7,并设置它们的属性3.安装协议栈并分配IP地址三、两种模式的实现1.多对一编译2.多对多编译结果如下图:四、仿真结果分析:1.多对一的模式下,在交换机t1上进行抓包分析。
将On-Off Application 的发包速率设为100KBps,用wireshark打开pcap包文件分析。
S3吞吐量图:S7吞吐量图:由上图中所示可知s4和s8此时未发生拥塞,吞吐量比较平均。
现将On-Off Application的发包速率设为200KBps,重新抓包,分析pcap包,此时吞吐量如下图所示:S3吞吐量图:S7吞吐量图:由上图中所示可知,S7发生了拥塞,吞吐量波动较大。
而S3由于经过交换机较少吞吐量相对变化较小。
比较A,B两次实验可得出,在多对一模式下,系统瓶颈在于与用于接收的主机最近的交换机与其他交换机相连接的链路上,在本例中即为area 5。
故可改善,将area 5以及area 1(防止下层带宽不够)的带宽属性为2.0Mbps,同时,On-Off Application的发包速率仍为200KBps,重新抓包pcap分析。
S3吞吐量图:S7吞吐量图:有上图分析可知,此时S3,S7的吞吐量又回到相对均匀稳定的状态,未发生拥塞。
2.在多对多的模式下,在交换机a1上进行抓包分析。
◆将On-Off Application的发包速率设为200KBps,用wireshark打开pcap包文件分析。
此时吞吐量分布相对均匀,未发生拥塞。
◆将On-Off Application的发包速率设为250KBps,重新抓包,分析pcap包文件。
计算机网络实验报告实验3

计算机网络实验报告实验3一、实验目的本次计算机网络实验 3 的主要目的是深入理解和掌握计算机网络中的相关技术和概念,通过实际操作和观察,增强对网络通信原理、协议分析以及网络配置的实际应用能力。
二、实验环境本次实验在计算机网络实验室进行,使用的设备包括计算机、网络交换机、路由器等。
操作系统为 Windows 10,实验中使用的软件工具包括 Wireshark 网络协议分析工具、Cisco Packet Tracer 网络模拟软件等。
三、实验内容与步骤(一)网络拓扑结构的搭建使用 Cisco Packet Tracer 软件,构建一个包含多个子网的复杂网络拓扑结构。
在这个拓扑结构中,包括了不同类型的网络设备,如交换机、路由器等,并配置了相应的 IP 地址和子网掩码。
(二)网络协议分析启动 Wireshark 工具,捕获网络中的数据包。
通过对捕获到的数据包进行分析,了解常见的网络协议,如 TCP、IP、UDP 等的格式和工作原理。
观察数据包中的源地址、目的地址、协议类型、端口号等关键信息,并分析它们在网络通信中的作用。
(三)网络配置与管理在实际的网络环境中,对计算机的网络参数进行配置,包括 IP 地址、子网掩码、网关、DNS 服务器等。
通过命令行工具(如 Windows 中的 ipconfig 命令)查看和验证配置的正确性。
(四)网络故障排查与解决设置一些网络故障,如 IP 地址冲突、网络连接中断等,然后通过相关的工具和技术手段进行故障排查和解决。
学习使用 ping 命令、tracert 命令等网络诊断工具,分析故障产生的原因,并采取相应的解决措施。
四、实验结果与分析(一)网络拓扑结构搭建结果成功构建了包含多个子网的网络拓扑结构,各个设备之间能够正常通信。
通过查看设备的状态指示灯和配置信息,验证了网络连接的正确性。
(二)网络协议分析结果通过 Wireshark 捕获到的数据包,清晰地看到了 TCP 三次握手的过程,以及 IP 数据包的分片和重组。
计算机网络实验 GNS3仿真器路由配置实验

计算机网络实验
实验名称:实验四GNS3仿真器路由配置实验 辅导员意见:
辅导员 成绩 签 名
信息与通信学院 电子信息工程 作者:韦秀梅 学号:0800220305 实验日期:2010年12月 28 日
一、实验目的
1、了解GNS3仿真器的基本功能。
2、掌握路由的基本配置。
二、实验设备及软件
微型计算机Microsooft Windows XP SP3、GNS3.0.7、VPCS
三、实验原理
四、实验过程及结果
1、使用GNS3软件把电脑VPC1连接到一个3700平台的路由器R1,并启动路由器。
结果如下图:
2、进入Telnet到R1进行基本的配置。
结果如下图:
3、查看R1信息:show ip int brief;show run。
4、运行VPCS进行如下操作:
5、打开R1测试与VPC1的连通性。
五、实验总结
通过本次实验,我了解了GNS3仿真器的基本功能以及基本的操作,同时掌握了如何对路由进行基本的配置。
计算机网络实验报告精选

计算机网络实验报告精选(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如报告总结、合同协议、心得体会、演讲致辞、策划方案、职场文书、党团资料、教案资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as report summaries, contract agreements, insights, speeches, planning plans, workplace documents, party and youth organization materials, lesson plans, essay compilations, and other sample essays. If you would like to learn about different sample formats and writing methods, please stay tuned!计算机网络实验报告精选随着社会不断地进步,报告使用的频率越来越高,报告具有语言陈述性的特点。
S097-计算机网络实验-实验八:NS3基础仿真实验

计算机网络实验实验指导书实验名称NS3基础仿真实验电子信息与通信学院2018年制一、实验目的1.了解网络仿真的意义2.熟悉NS-3的基本语句3.安装并熟悉使用NS-34.用NS-3搭建最基本的网络仿真场景二、实验背景(一)网络仿真技术近年来,随着计算机和网络通信技术的不断发展,网络技术的研究也进入到了一个飞速发展的时期。
研究人员不断开发出新的网络协议、算法和应用,以适应日益增长的网络通信需要。
然而由于网络的不可控、易变和不可预测等特性的存在,给新的网络方案的验证、分析和比较带来了极大的困难。
目前网络通信的研究一般分为以下3种方法。
1)分析方法:在理论和协议层面上对网络通信技术或系统进行研究分析,抽象出数学分析模型,利用数学分析模型对问题进行求解。
如采用数学建模、协议分析、状态机、集合论以及概率统计等对多种理论分析手段和方法对通信网络及其算法、协议、网络性能等各个方面进行研究。
2)网络模拟:即计算机模拟仿真算法。
网络模拟日益成为分析、研究、设计和改善网络性能的强大工具,它通过在计算机上建立一个虚拟的网络平台,来实现真实网络环境的模拟,网络技术研究人员在这个平台上不仅能对网络通信、网络设备、协议以及网络应用进行设计研究,还能对网络的性能进行分析和评价。
3)实验网方法:对网络协议、网络行为和网络性能采用建立实验室测试网络、网络测试平台(network testbed)和小规模商用实验网络的方式对网络进行实战检验。
就是设计出研究所需要的合理硬件和软件配置环境,建立测试床和实验室,在现实的网络上进行研究。
以上3种方法有利有弊,相辅相成并各有侧重点。
理论研究适用于早期研究与设计阶段,对新算法和新技术进行理论准备和验证,除了人力和知识,几乎不需要什么额外成本。
实验网方法是网络和系统在投入实际应用前的一次系统的演练,能够发现网络设计与用户需求之间的相合度以及检验网络实际使用的效用和性能。
该阶段建设成本很高,要求技术和设备开发相对成熟,网络系统基本成型,主要是对业务、系统稳定性能和服务性能的检验。
实验指导书-实验八:NS3基础仿真实验
计算机网络实验实验指导书实验名称NS3基础仿真实验一、实验目的1.了解网络仿真的意义2.熟悉NS-3的基本语句3.安装并熟悉使用NS-34.用NS-3搭建最基本的网络仿真场景二、实验背景(一)网络仿真技术近年来,随着计算机和网络通信技术的不断发展,网络技术的研究也进入到了一个飞速发展的时期。
研究人员不断开发出新的网络协议、算法和应用,以适应日益增长的网络通信需要。
然而由于网络的不可控、易变和不可预测等特性的存在,给新的网络方案的验证、分析和比较带来了极大的困难。
目前网络通信的研究一般分为以下3种方法。
1)分析方法:在理论和协议层面上对网络通信技术或系统进行研究分析,抽象出数学分析模型,利用数学分析模型对问题进行求解。
如采用数学建模、协议分析、状态机、集合论以及概率统计等对多种理论分析手段和方法对通信网络及其算法、协议、网络性能等各个方面进行研究。
2)网络模拟:即计算机模拟仿真算法。
网络模拟日益成为分析、研究、设计和改善网络性能的强大工具,它通过在计算机上建立一个虚拟的网络平台,来实现真实网络环境的模拟,网络技术研究人员在这个平台上不仅能对网络通信、网络设备、协议以及网络应用进行设计研究,还能对网络的性能进行分析和评价。
3)实验网方法:对网络协议、网络行为和网络性能采用建立实验室测试网络、网络测试平台(network testbed)和小规模商用实验网络的方式对网络进行实战检验。
就是设计出研究所需要的合理硬件和软件配置环境,建立测试床和实验室,在现实的网络上进行研究。
以上3种方法有利有弊,相辅相成并各有侧重点。
理论研究适用于早期研究与设计阶段,对新算法和新技术进行理论准备和验证,除了人力和知识,几乎不需要什么额外成本。
实验网方法是网络和系统在投入实际应用前的一次系统的演练,能够发现网络设计与用户需求之间的相合度以及检验网络实际使用的效用和性能。
该阶段建设成本很高,要求技术和设备开发相对成熟,网络系统基本成型,主要是对业务、系统稳定性能和服务性能的检验。
高级计算机网络实验报告 ns3模拟数据中心
Project1-ns3模拟数据中心实验要求根据上面的数据中心拓扑图,完成以下要求:1.根据给定的数据中心的拓扑结构,利用ns3进行仿真2.模拟两种通信模式(traffic pattern)o all-to-all:每个服务器都发送消息给其他服务器消息,由拓扑结构可知,超过50%的消息传送将跨越两个簇(cluster)o many-to-one:每个服务器都发送消息给其中一个服务器3.测量两种模式下网络的仿真可以达到的吞吐量,找出网络瓶颈,并且说明如何改进注:拓扑中的网络都是Ethernet网实验内容数据中心模拟①实现及主要代码解释a. 设置自定义的attribute为了做实验方便,设置如下自定义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 实现代码如下:b. 创建结点根据实验要求,总共需要创建15个结点,包括: •8 servers• 4 ToR switches• 2 Aggregation switches• 1 Core switch实现代码如下:c. 创建CSMA网络节点整个数据中心网络拓扑从下往上可以分为三层,即•第一层:由服务器与ToR组成的ethernet网络,共有4个,编号为•第二层:由ToR与Aggregation组成的ethernet网络,共有2个,编号为•第三层:由Aggregation与Core组成的ethernet网络,共有1个,编号为将创建好的15个网络结点分配到这7个CSMA网络中,实现代码如下:d. 设置CSMA网络attribute,并将其安装到相应结点上根据实验要求中的网络拓扑,设置相应网络的属性•所有直接相连的两个结点之间的延迟都为500ns•第一层和第二层CSMA网络的数据传输速率都为1.0Mbps,第三层为1.5Mbps然后安装到相应的网络结点上,实现代码如下(DataRate可以通过命令行参数设置,默认值即为原实验要求):e. 分配网络IP根据实验要求,为每个结点安装协议栈,并为7个CSMA网络分配IP,实现代码如下f. 初始化路由表这里直接调用了ns3自带的路由实现,实现代码如下g. 创建和分配PacketSink和OnOffClient首先,创建sink和OnOff,实现代码如下然后,分配sink到所有的server结点上,实现代码如下(其中server个数):再然后,分配OnOffClient到server结点上,并且根据pattern不同,进行不同的配置•pattern 1:每个服务器都发送消息给其他服务器消息,即发送消息给在另一个簇上面的4个服务器(每个服务器上建立4个OnOffClient)•pattern 2:每个服务器都发送消息给同一个服务器,可以默认为除外)上建立1个OnOffClient)实现代码如下这里解释一下一个函数•getAddress:根据server的标号产生相应的h. 配置相应的trace这里采用pcap文件来trace所有的device,方便利用wireshark来分析实验结果,实现代码如下②实验结果与分析a. pattern 1 实验结果scratch/为本次实验源程序文件),实验运行结果如下所示从上面的结果可以看出,每个结点上的OnOffClient都有一半以上跨越了两个簇,产生的pcap文件如下所示为了分析patten 1的网络吞吐量,根据all-to-all模式下网络的对称性,选取测量位置•CSMA11:通过server n1(node 0/device 0)来估计•CSMA21:通过ToR t1(node 8/device 1)来估计•CSMA3 :通过Aggregation a1(node 12/device 1)来估计选取的测量标准为吞吐量,具体方法是•使用wireshark分析相应的pcap文件中的tcp包•使用statistics->TCP Stream Graph->Throughput Graph来查看整个过程中该结点上的吞吐量变化情况•使用statistics->Summary来查看当前结点上网络平均吞吐量,以此估计相应CSMA网络的吞吐量server n1上的测量结果如下Throughput GraphToR t1上的测量结果如下Throughput GraphAggregation a1上的测量结果如下Throughput Graphb. pattern 1 实验结果分析首先对实验结果进行简单汇总从上面的结果可以看出•第1层CSMA网络平均吞吐量是0.255Mbps,带宽利用率为25.5%;•第2层CSMA网络平均吞吐量是0.541Mbps,带宽利用率为54.1%;•第3层CSMA网络平均吞吐量是0.993Mbps,带宽利用率为66.2%。
2023年计算机网络实验报告(6篇)
计算机网络实验报告(6篇)计算机网络实验报告(通用6篇)计算机网络实验报告篇1一、实验目的1、熟悉微机的各个部件;2、掌握将各个部件组装成一台主机的方法和步骤;3、掌握每个部件的安装方法;4、了解微型计算机系统的基本配置;5、熟悉并掌握DOS操作系统的使用;6、掌握文件、目录、路径等概念;7、掌握常用虚拟机软件的安装和使用;8、熟悉并掌握虚拟机上WINDOWS操作系统的安装方法及使用;9、掌握使用启动U盘的制作和U盘安装windows操作系统的方法;10、了解WINDOWS操作系统的基本配置和优化方法。
二、实验内容1.将微机的各个部件组装成一台主机;2.调试机器,使其正常工作;3.了解计算机系统的基本配置。
4.安装及使用虚拟机软件;5.安装WINDOWS7操作系统;6.常用DOS命令的使用;7.学会制作启动U盘和使用方法;8.WINDOWS7的基本操作;9.操作系统的基本设置和优化。
三、实验步骤(参照实验指导书上的内容,结合实验过程中做的具体内容,完成此项内容的撰写)四、思考与总结(写实验的心得体会等)计算机网络实验报告篇2windows平台逻辑层数据恢复一、实验目的:通过运用软件R-Studio_5.0和winhe_对误格式化的硬盘或者其他设备进行数据恢复,通过实验了解windows平台逻辑层误格式化数据恢复原理,能够深入理解并掌握数据恢复软件的使用方法,并能熟练运用这些软件对存储设备设备进行数据恢复。
二、实验要求:运用软件R-Studio_5.0和winhe_对电脑磁盘或者自己的U盘中的删除的数据文件进行恢复,对各种文件进行多次尝试,音频文件、系统文件、文档文件等,对简单删除和格式化的磁盘文件分别恢复,并检查和验证恢复结果,分析两个软件的数据恢复功能差异与优势,进一步熟悉存储介质数据修复和恢复方法及过程,提高自身的对存储介质逻辑层恢复技能。
三、实验环境和设备:(1)Windows _P 或Windows 20__ Professional操作系统。
基于NS-3的计算机网络传输实验教学方案设计
基于NS-3的计算机网络传输实验教学方案设计基于NS-3的计算机网络传输实验教学方案设计一、引言计算机网络传输是计算机网络课程中的重要内容之一,传统的教学方法通常采用理论讲解和实验演示相结合的方式。
然而,由于计算机网络传输的特性难以直观地展示,学生往往很难理解其中的原理和概念。
因此,本文基于NS-3的优点,设计了一套基于NS-3的计算机网络传输实验教学方案,旨在提高学生的学习兴趣和实践能力。
二、NS-3简介NS-3是一个用于网络研究和开发的开源网络仿真工具。
它提供了丰富的网络模型和协议的实现,可以帮助用户从底层到应用层模拟和分析不同类型的网络环境。
NS-3具有高度的可扩展性和可定制性,被广泛应用于教学、研究和工业界。
三、实验设计本方案设计了四个基于NS-3的计算机网络传输实验,分别是带宽测量实验、时延测量实验、丢包率测量实验和拥塞控制实验。
3.1 带宽测量实验带宽是指单位时间内传输数据的能力,是评估网络传输质量的重要指标之一。
该实验需要学生利用NS-3创建一个简单的拓扑网络,通过在主机之间发送不同大小的数据包,并利用NS-3的工具进行带宽测量。
学生可以通过调整数据包大小、发送速率等自主探索,理解不同因素对带宽的影响,并得出相应的实验结果和结论。
3.2 时延测量实验时延是指数据从发送端到接收端所经历的时间,是评估网络性能的重要指标之一。
该实验需要学生设计一个简单的网络拓扑,通过在主机之间发送数据包并利用NS-3的工具进行时延测量。
学生可以通过调整拓扑结构、网络延迟等参数,观察不同因素对时延的影响,并进行实验数据分析,得出相应的结论。
3.3 丢包率测量实验丢包率是指在数据传输过程中丢失的数据包占总发送数据包数量的比例。
该实验需要学生通过在主机之间发送数据包并利用NS-3的工具进行丢包率测量。
学生可以选择不同的丢包策略、传输协议等进行实验,观察不同因素对丢包率的影响,并进行实验数据分析和结论总结。
3.4 拥塞控制实验拥塞控制是指在网络传输过程中通过控制发送速率来避免网络拥塞的技术手段。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Project1-ns3模拟数据中心实验要求根据上面的数据中心拓扑图,完成以下要求:1.根据给定的数据中心的拓扑结构,利用ns3进行仿真2.模拟两种通信模式(traffic pattern)o all-to-all:每个服务器都发送消息给其他服务器消息,由拓扑结构可知,超过50%的消息传送将跨越两个簇(cluster)o many-to-one:每个服务器都发送消息给其中一个服务器3.测量两种模式下网络的仿真可以达到的吞吐量,找出网络瓶颈,并且说明如何改进注:拓扑中的网络都是Ethernet网实验内容数据中心模拟①实现及主要代码解释a. 设置自定义的attribute为了做实验方便,设置如下自定义attribute:pattern:通信模式,all-to-all或many-to-one,默认为1defaultDst:多对一模式下,接收消息的默认服务器序号,默认为0verbose:enable或者disable PacketSink和OnOffApplication的日志,默认为false DataRate1:定义数据中心拓扑第一层的数据传输速率(Mbps),默认为DataRate2:定义数据中心拓扑第二层的数据传输速率(Mbps),默认为DataRate3:定义数据中心拓扑第三层的数据传输速率(Mbps),默认为实现代码如下:uint16_t pattern = 1;uint16_t nodesNum = 8;uint16_t defaultDst = 0;float DataRate1 = ;float DataRate2 = ;float DataRate3 = ;uint16_t port = 50000;bool verbose = false;CommandLine cmd;("pattern", "number of traffic pattern", pattern);创建结点根据实验要求,总共需要创建15个结点,包括:8 servers4 ToR switches2 Aggregation switches1 Core switch实现代码如下:创建CSMA网络节点整个数据中心网络拓扑从下往上可以分为三层,即第一层:由服务器与ToR组成的ethernet网络,共有4个,编号为CSMA11,CSMA12,CSMA13,CSMA14第二层:由ToR与Aggregation组成的ethernet网络,共有2个,编号为CSMA21,CSMA22第三层:由Aggregation与Core组成的ethernet网络,共有1个,编号为CSMA3将创建好的15个网络结点分配到这7个CSMA网络中,实现代码如下:设置CSMA网络attribute,并将其安装到相应结点上根据实验要求中的网络拓扑,设置相应网络的属性所有直接相连的两个结点之间的延迟都为500ns第一层和第二层CSMA网络的数据传输速率都为,第三层为然后安装到相应的网络结点上,实现代码如下(DataRate可以通过命令行参数设置,默认值即为原实验要求):分配网络IP根据实验要求,为每个结点安装协议栈,并为7个CSMA网络分配IP,实现代码如下;InternetStackHelper stack;(n1_8);(t1_4);(a12);(c1);Ipv4AddressHelper address;("", "");Ipv4InterfaceContainer csmaInterfaces11 = (csmaDevices11);("", "");Ipv4InterfaceContainer csmaInterfaces12 = (csmaDevices12);("", "");Ipv4InterfaceContainer csmaInterfaces13 = (csmaDevices13);("", "");Ipv4InterfaceContainer csmaInterfaces14 = (csmaDevices14);("", "");Ipv4InterfaceContainer csmaInterfaces21 = (csmaDevices21);("", "");Ipv4InterfaceContainer csmaInterfaces22 = (csmaDevices22);("", "");Ipv4InterfaceContainer csmaInterfaces3 = (csmaDevices3);f. 初始化路由表这里直接调用了ns3自带的路由实现,实现代码如下Ipv4GlobalRoutingHelper::PopulateRoutingTables ();g. 创建和分配PacketSink和OnOffClient首先,创建sink和OnOff,实现代码如下tart(Seconds );sinkApp[i].Stop(Seconds );}再然后,分配OnOffClient到server结点上,并且根据pattern不同,进行不同的配置pattern 1:每个服务器都发送消息给其他服务器消息,即发送消息给在另一个簇上面的4个服务器(每个服务器上建立4个OnOffClient)pattern 2:每个服务器都发送消息给同一个服务器,可以默认为n1(每个服务器(n1除外)上建立1个OnOffClient)实现代码如下for(int i = 0; i < nodesNum; i++){uint16_t dst = 0;if(pattern==1){tart(Seconds );clientApp[i][j].Stop (Seconds );sprintf(buf,"OnOffClient @Node %d aims at Server@Node %d",i+1,dst+1);NS_LOG_INFO (buf);}}else if(pattern==2){tart(Seconds );clientApp[i][0].Stop (Seconds );sprintf(buf,"OnOffClient @Node %d aims at Server@Node %d",i+1,dst+1);NS_LOG_INFO (buf);}这里解释一下一个函数getAddress:根据server的标号产生相应的IP:port地址getAddress实现代码如下InetSocketAddress getAddress(int i,uint16_tport,Ipv4InterfaceContainer i1,Ipv4InterfaceContaineri2,Ipv4InterfaceContainer i3,Ipv4InterfaceContainer i4){switch(i){case0:return InetSocketAddress(0),port);break;h. 配置相应的trace这里采用pcap文件来trace所有的device,方便利用wireshark来分析实验结果,实现代码如下②实验结果与分析a. pattern 1 实验结果件),实验运行结果如下所示从上面的结果可以看出,每个结点上的OnOffClient都有一半以上跨越了两个簇,产生的pcap文件如下所示为了分析patten 1的网络吞吐量,根据all-to-all模式下网络的对称性,选取测量位置CSMA11:通过server n1(node 0/device 0)来估计CSMA21:通过ToR t1(node 8/device 1)来估计CSMA3?:通过Aggregation a1(node 12/device 1)来估计选取的测量标准为吞吐量,具体方法是使用wireshark分析相应的pcap文件中的tcp包使用statistics->TCP Stream Graph->Throughput Graph来查看整个过程中该结点上的吞吐量变化情况使用statistics->Summary来查看当前结点上网络平均吞吐量,以此估计相应CSMA网络的吞吐量server n1上的测量结果如下Throughput GraphSummaryToR t1上的测量结果如下Throughput GraphSummaryThroughput GraphSummaryb. pattern 1 实验结果分析首先对实验结果进行简单汇总网络结点带宽(Mbps)网络平均吞吐量(Mbps) CSMA11server n1CSMA21ToR t1CSMA3Aggregation a1从上面的结果可以看出第1层CSMA网络平均吞吐量是,带宽利用率为%;第2层CSMA网络平均吞吐量是,带宽利用率为%;第3层CSMA网络平均吞吐量是,带宽利用率为%。
c. pattern 1 瓶颈及改进瓶颈根据以上的实验结果可以看出来,从网络的平均吞吐量来看:第3层CSMA>第2层CSMA>第1层CSMA2,从带宽利用率上看也是这样,所以作为core switch连接两个子网络但带宽过小的第三层网络成了整个网络的瓶颈。
改进可以加大第3层网络的带宽,防止数据流量过大出现拥塞的情况发生。
因此最后确定的网络带宽如下所示:o CSMA11-14:o CSMA21-22:o CSMA3 :改进结果执行命令行./waf --run "scratch/DC --DataRate1= --DataRate2= --DataRate3=",以相同方式测量网络,得到的结果如下:网络结点带宽(Mbps)网络平均吞吐量(Mbps)CSMA11server n1CSMA21ToR t1CSMA3Aggregation a1从上面的结果可以看出加大第三层网络的带宽,确实提高了整个网络的吞吐量,尤其是对最底层的server结点来说。
d. pattern 2 实验结果执行命令./waf --run "scratch/DC --pattern=2",实验运行结果如下所示从上面的结果可以看出,8个OnOffClient都将数据传输到n1,产生的pcap文件如下所示为了分析patten 2的网络吞吐量,根据网络拓扑的对称性,选取测量位置CSMA11:通过server n1(node 0/device 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来查看整个过程中该结点上的吞吐量变化情况使用statistics->Summary来查看当前结点上网络平均吞吐量,以此估计相应CSMA网络的吞吐量server n1上的测量结果如下Throughput GraphSummaryThroughput GraphSummaryThroughput GraphSummaryThroughput GraphSummaryThroughput GraphSummaryThroughput GraphSummarye. pattern 2 实验结果分析首先对实验结果进行简单汇总CSMA22ToR t3CSMA3Aggregation a1从上面的结果可以看出第1层CSMA11网络平均吞吐量是,带宽利用率为%;第1层CSMA11网络平均吞吐量是,带宽利用率为%;第1层CSMA11网络平均吞吐量是,带宽利用率为%;第2层CSMA21网络平均吞吐量是,带宽利用率为%;第2层CSMA21网络平均吞吐量是,带宽利用率为%;第3层CSMA3网络平均吞吐量是,带宽利用率为%。