基于ns2的以太网基础实验

试验平台: cygwin ns2.31 ,没有任何补丁。

实验目的:深入学习以太网特性,深入了解 csma/cd 理。

实验步骤:

构建一个如下图所示的以太网,在这个网络中, 4 个节点共享一个传输介质(总线),任何时间只能有一对节点传输数据。

 

ns2中创建以太网(局域网)的方法是使用make-lan函数具体方法请参考手册。

 

实验代码:

 

 

可以看出在0.1s的时候节点2向节点3传输数据,在1s的时候节点0向节点1传输数据,从而构成一个竞争关系,在3.0s的时候,节点2停止向节点3传输数据,在4.0s整个实验结束。

 

实验结果分析:

产生的实验数据out文件为老trace格式,使用awk进行分析,思路就是统计节点1和节点3接受数据(tcp序列号)的时间关系。为了重复利用代码,使用简单的bash脚本如下:

 

保存文件analy,执行./analy 1和./analy 3,其中的13表示接受数据的节点是13。统计的是接受节点接受tcp序列号和时间的关系。使用gnuplot进行画图,结果如下:

通过此图我们可以得出以下几个结论:

1,  以太网可以比较公平为多个节点提供网络服务,所有节点共享网络带宽。

2,  因为竞争的关系,会出现比较大的网络延时,譬如红线(1.out)接受数据包序列号出现较大的缺口,这个是应为其他节点同时要求网络服务所形成的竞争导致的。

3,  需要进一步验证吞吐量的变化,为了验证吞吐量,采取一种图像化的相对表示比较简单,那就是统计单位时间内收到的数据包的个数,统计方法如下:

 

 

 

结果如图所示:

 

 

 

这个结果显示在多个节点同时传输数据的时候总的吞吐量并没有明显的变化。这说明在较少节点使用以太网时候,公平性可以得到很好的保障。

同时我们注意到在执行ns命令产生的结果中,除了一个out文件还有如下结果:

其中BEB802.3标准中处理冲突的方法(Binary Exponential Backoff)即,csma/cd中使用的冲突处理方法,ns2中的csma使用的方法通过阅读mac-802.3.cc是持续监听的方式,没有采用非持续csma。而在BEB超出限制之后就会出现以上的错误。

进一步实验还可以完成(需要使用新的统计脚本):

1,  增加节点,观察在大量节点连接情况下以太网的效率。

2,FTP/TCP换成CBR/UDP观察不同速率情况下的多节点竞争环境下的吞吐量变化。

 

参考资料:潘爱民《计算机网络-第四版》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值