基于OPNET的CSMA/CD仿真与性能研究

2015-07-02 00:19李宏杰徐行
关键词:以太网数据包链路

李宏杰,徐行

(中国传媒大学 动画与数字艺术学院,北京 100024)

基于OPNET的CSMA/CD仿真与性能研究

李宏杰,徐行

(中国传媒大学 动画与数字艺术学院,北京 100024)

本文针对应用了CSMA/CD协议的总线型局域网进行仿真,研究数据包大小对网络性能的影响。首先介绍了OPNET[1]仿真平台,随后概括说明使用CSMA/CD协议的以太网的碰撞窗口的计算方法,由计算公式推导出发送的数据包越大、使用CSMA/CD协议的以太网性能越高的推论,并使用 OPNET 软件进行了仿真实验证明了推论。

OPNET;CSMA/CD;网络仿真

CSMA/CD(Carrier Sense Multiple Access/Collision Detect),即载波监听多路访问/冲突检测方法,是一种争用型的介质访问控制协议。其工作机制为:多台计算机以多点接入的方式连接到总线上,不管是在发送前还是发送中,每个站都必须不停的检测信道,以获得发送权和进行碰撞检测。CSMA/CD采用IEEE 802.3[2]标准,主要用于总线式以太网。

关于CSMA/CD的研究主要围绕其在不同情景下的建模方法与性能分析进行。为了改善以太网的性能,研究人员通常采用提出设想——理论分析——建立模型的理论分析方法,这样的分析方法在面对复杂的网络系统时会遇到一定的困难,这时使用准确真实的仿真手段进行研究就成了必选项,而国内关于通过仿真手段对网络性能的研究的资料还比较匮乏。本文给出一种通过仿真手段研究网络性能的方法:采用OPNET软件对总线型网络进行仿真,通过仿真手段对CSMA/CD的性能进行研究,探究争用期与网络流量的关系,并对推论予以仿真实验证明,进而归纳出相应结论。

1 OPNET仿真平台

随着网络的扩充与复杂化,越来越需要一种合适的仿真技术来提高网络设计的客观性和结果的可靠性[3]。OPNET作为一个网络仿真平台,正是在这种需求下应运而生。

1.1 OPNET产品

OPNET Modeler 是当前业界领先的网络技术开发环境,可以灵活应用于通信网络、设备、协议和应用设计与研发。Modeler为通信网络研发人员提供了建模、仿真以及分析的集成环境,大大减轻了编程以及数据分析的工作量。

Modeler 的面向对象的建模方法和图形化的编辑器反映了实际网络和网络组件的结构,因此实际的系统可以直观的映射到模型中。Modeler 支持所有通信网络类型和技术,可以解决复杂的网络通信问题。

1.2 OPNET仿真流程

本文采用OPNET Modeler Academic Edition 17.5针对总线型网络中的CSMA/CD的性能进行仿真实验,仿真实验遵循一定的步骤[4,5]。归纳得出仿真流程如图1所示。

图1 基于OPNET的CSMA/CD性能仿真研究流程

2 CSMA/CD网络建模

2.1 争用期的计算

争用期(Contention Period),又称为碰撞窗口(Collision Window)[6]。由于有网络传输延迟的存在,每一个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性,需要经过至多两倍端到端的时间并在这段时间内没有检测到碰撞,才能肯定这次发送不会产生碰撞。因此,以太网的端到端的往返时间称为争用期。在IEEE 802.3中,对于10Mbps以太网规定了一个统一的争用期时间标准,为51.2μs。

在具体的网络上,争用期的计算如公式1所示。

w=b×c

(1)

其中,w为争用期,b为带宽(bandwidth),c为争用期时间。

争用期时间为两倍端到端的延迟时间,计算如公式2所示。

c=2×d×l

(2)

其中,d为总线单位长度延迟(delay),l为总线长度(long)。

电磁波在1km电缆的传播时延约为5μs,由于局域网上任意两个站之间的传播时延有长有短,因此局域网必须按照最坏情况设计,取总线两端的两个站(这两个站距离最远)之间的传播时延为端到端传播时延。以太网上最大的端到端传输时延必须小于争用期的一半,由公式1和2知,以太网的最大端到端长度约为5km。

2.2 数据包大小与网络性能

在实际应用中,网络铺设好之后,由于总线单位长度延迟、带宽、总线长度都已确定,由争用期的计算公式可知争用期也是已经确定好的。因此,在CSMA/CD机制作用下,数据包的大小直接决定了数据包的碰撞次数和网络性能。

我们作一个简单的计算。假设现有两个数据包,其大小分别为m字节和n字节(m,n∈[64,1500],m>n)。由于发送每个数据包都要进行一次碰撞检测,设长度为m字节和n字节的单个数据包发生碰撞的概率为pm和pn,令pm=x,则在相同的网络环境下我们可以得出pn如公式3所示。

(3)

2.3 仿真网络的构建

我们在场景中建立一个总线型拓扑结构的以太网,该网络由30个节点通过同轴电缆连接而成,其中同轴电缆的数据传输速率是10Mbps。网络拓扑结构如图2所示。

图2 总线型网络拓扑结构

在图2所示的网络上,我们构建了四个相同的场景,四个场景中除了数据包大小不一样以外,其它参数都是一样的。由于以太网的单数据帧大小最小为64bytes,最大为 1500 bytes,为了更好的衡量网络性能,我们设定数据包不会分片发送

为了保证在每个场景中链路利用率都能接近100%,我们需要计算出发包频率,即发包的时间间隔。发包频率的计算如公式4所示。

(4)

其中,M为带宽(单位:bps),S为单个数据包大小(单位:bytes),N为连入总线型局域网的计算机节点数,t为发包时间间隔,其倒数即为发包频率。

由公式4可知,当单个数据包大小越大,发包时间间隔也就越大。为了取一个恰当的发包时间间隔,使得四个场景中发送的数据包在没有碰撞的理想状况下链路利用率都能接近100%,令S=64 bytes,其余参数依照场景设定代入公式3,计算得出t>0.0014。因此,我们设定场景中的发包时间间隔为0.001,这样就能保证所有场景中的链路利用率都能接近100%。

随后我们按照表1所示参数配置所有场景中的网络。由于表1中四个场景只有数据包的大小是不同的,因此下文的表格中将使用数据包大小来代表场景编号。

表1 网络配置参数

根据表1与公式1和公式2,我们可以计算出实验场景中的争用期时间为1.74×10-6s,争用期为17.4比特时间。即争用期内能够发送17.4比特数据,若未产生碰撞,则之后发送的数据一定不会产生冲突。

3 仿真和实验

3.1 统计量选取

要对网络性能进行定量的研究,必须选定适当的性能指标[7]。根据前面的仿真需求,拟对下述网络性能指标统计量进行收集。需要指出的是,OPNET在统计数据时,统计的时间间隔为0.15秒,OPNET对0.15秒之内的数据量进行统计,然后换算成平均每秒的数据量,并给出数据点。

发送流量:全局统计量,单位为bits/sec,其含义为整个网络上所有节点每秒发送的流量。需要特别说明的是,这个统计量统计的是节点所发出的流量,节点发出的数据包到达MAC层(Media Access Control,媒体访问控制,为数据链路层的下层)后,一旦通过CSMA/CD协议检测到链路正忙,就会将该数据包丢弃。选择该统计量的意义就在于确定我们发出的流量在无碰撞检测的理想情况下链路利用率能接近100%。

发送数据包量:全局统计量,单位为packets/sec,其含义为整个网络上所有节点每秒发送的数据包数量;

接收流量:全局统计量,单位为bits/sec,其含义为整个网络上所有节点每秒接收的流量;

冲突数:节点统计量,单位为数量,其含义为每秒所选节点发送的所有数据包中发生冲突的数量;

链路利用率:全局统计量,单位为百分比,其含义为当前时刻链路的利用率。

设定仿真持续时间为15秒,其中启动时间为5秒,并收集相应的统计结果。

3.2 仿真与分析

在OPNET中分别运行四个场景,打开结果面板,选择相应统计量并导出数据。

首先我们对流量进行处理,结果如表2和图3及图4所示。

表2 流量统计

图3 接收流量统计

图4 链路利用率统计

实验所用的带宽为10Mbps,由表3中的平均发送流量可知,四个场景的链路利用率都能接近100%。由每秒平均发送数据包量可知,四个场景发送的数据包量基本相同,证明了四个场景中都在以相同频率发送数据包。

由图3和图4可知,在四个场景中,平均接收流量随着单个数据包大小的增加而增加,并逐渐逼近带宽。因此,增大数据包的大小能够提高链路利用率。

接下来对冲突数进行处理。我们随机选取4个节点,搜集其冲突数统计量并计算在15s内各节点总的冲突数,结果如表3和图5所示。

表3 节点的冲突数

图5 节点的冲突数

由图5可以明显看出,单个数据包越大,冲突数就会越小。

综合前面的分析可知,由于我们的发包间隔是固定的,因此当单个数据包大小越小,网络性能也就越差。当单个数据包越大,产生的冲突也就越少,实际接收的流量也就越大,链路利用率也就越高。

综上所述,在设计总线式局域网络的时候,由于数据包大小是根据实际传输内容而定,因此应着力于降低争用期。根据公式1-3可知,提高网络性能的方式主要有以下几点:

1)采用延迟更低的网络传输介质;

2)缩短总线长度:过长的总线会导致较高的延迟,应改用更短的总线进行网络传输;

3)采用更大的带宽:单位时间内能够发送更多的数据包,能够有效减少数据包的冲突,提高网络性能。

4)在单个数据包大小小于1500bytes(即无需分帧)以及链路利用率比较低的情况下,可以采用比较大的数据包发送数据以减少冲突;

5)减少总线上连接的计算机节点数量。

4 总结与展望

目前在计算机网络领域,国内关于使用OPNET进行网络仿真的文献很少,而这种仿真技术可以非常有效和简单的评价网络性能[7]。本文详细的介绍了采用CSMA/CD的总线型网络OPNET建模与仿真的整个过程,通过仿真实验证明数据包大小越大,网络性能就越好的猜想,并提出了相应的网络优化方法。

这些优化方法不仅可以应用于传统计算机网络领域,还可以用于优化工业控制系统中的工业局域网。

由于在计算机网络领域,通过布置实际网络来进行理论验证的方式存在着成本高、耗时长、网络难以搭建的问题,更多的使用仿真手段进行研究将成为一个趋势。本文提出实现的基于OPNET进行网络仿真的研究方法能够加深对CSMA/CD机制的理解,并能够给其它计算机网络的研究以方法上一定的启发。

[1]OPNET,http://www.opnet.com/university_program/itguru_academic_edition/[OL].

[2]IEEE 802.3,http://www.ieee802.org/3/[OL].

[3]陈长兴,高晓光,张敬伟.基于OPNET的网络仿真[J].空军工程大学学报(自然科学版),2007,8(2):86-88.

[4]石怀伟,王华,张念军.OPNET网络仿真技术及其应用分析[J].计算机工程与设计,2006,27(17):3309-3311.

[5]伍俊洪,杨洋,李惠杰.网络仿真方法和OPNET仿真技术[J].计算机工程,2004,30(5):106-108.

[6]谢希仁.计算机网络(第六版)[M].电子工业出版社,2013.

[7]李笑歌,宇伟,高尚伟.基于OPNET软件的数据网络建模与仿真研究[J].系统仿真学报,2006,18(9):2653-2656.

(责任编辑:马玉凤)

Research of Ethernet Performance Based on CSMA/CD Using OPNET Simulator

LI Hong-jie,XU Xing

(School of Animation and Digital Arts,Communication University of China,Beijing 100024)

In this paper we simulated a Bus Local Area Network which is based on CSMA/CD,and investigated how different sizes of packet affect network performance.We first introduced OPNET simulation software,then explained the calculation of collision window in CSMA/CD and got the deduction that larger packet will bring better network performance.Finally,we conducted a set of experiments using OPNET simulator to prove our deduction.

OPNET;CSMA/CD;network simulation

2015-03-15

李宏杰(1991-),男(壮族),广西南宁人,中国传媒大学硕士研究生.E-mail:nntt19@163.com

TP393.0

A

1673-4793(2015)06-0067-05

猜你喜欢
以太网数据包链路
二维隐蔽时间信道构建的研究*
天空地一体化网络多中继链路自适应调度技术
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于星间链路的导航卫星时间自主恢复策略
浅析民航VHF系统射频链路的调整
C#串口高效可靠的接收方案设计
三大因素驱动创新提速以太网快步迈入“灵活”时代
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
谈实时以太网EtherCAT技术在变电站自动化中的应用