高级计算机网络实验报告 ns3模拟数据中心

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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,默认为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 Graph

ToR t1上的测量结果如下Throughput Graph

Aggregation a1上的测量结果如下Throughput Graph

b. pattern 1 实验结果分析

首先对实验结果进行简单汇总

从上面的结果可以看出

•第1层CSMA网络平均吞吐量是0.255Mbps,带宽利用率为25.5%;

•第2层CSMA网络平均吞吐量是0.541Mbps,带宽利用率为54.1%;

•第3层CSMA网络平均吞吐量是0.993Mbps,带宽利用率为66.2%。

c. pattern 1 瓶颈及改进

•瓶颈

根据以上的实验结果可以看出来,从网络的平均吞吐量来看:第3层CSMA>第2层

相关文档
最新文档