基于opnet的csmacd协议的实现.docx
- 文档编号:23954076
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:41
- 大小:2.01MB
基于opnet的csmacd协议的实现.docx
《基于opnet的csmacd协议的实现.docx》由会员分享,可在线阅读,更多相关《基于opnet的csmacd协议的实现.docx(41页珍藏版)》请在冰豆网上搜索。
基于opnet的csmacd协议的实现
目录
摘要I
ABSTRACTII
1绪论1
1.1论文研究的背景和意义1
1.2本文的组织2
2MAC接入协议的分析3
2.1计算机网络体系结构3
2.2参考模型3
2.3信道共享6
3OPNET建模机制14
3.1网络仿真技术介绍14
3.2OPNET软件介绍15
3.3OPNET建模概述16
4CSMA/CD在OPNET软件上的实现与仿真结果的分析19
4.1ALOHA与CSMA模型的比较19
4.2创建ALOHA模型19
4.2.1创建ALOHA进程模型与节点模型19
4.2.2执行ALOHA模型的仿真及结果分析24
4.3CSMA协议模型的构造25
4.3.1创建CSMA进程模型与节点模型25
4.3.2执行CSMA模型的仿真及结果分析26
4.4CSMA/CD在CSMA基础上加入冲突检测27
4.4.1创建CSMA/CD进程模型与节点模型27
4.4.2执行CSMA/CD模型的仿真及结果分析仿真结果30
5总结与展望32
致谢33
参考文献34
基于OPNET的CSMA/CD协议的实现
摘要
标准的以太网用具有冲突检测的载波监听多点接入(CSMA/CD)方法来监控连接到公共信道上的站点的通信情况。
CSMA/CD是一种竞争协议,该协议被国际标准化组织制订为总线局域网的IEEE802.3标准。
OPNET软件内蕴涵着关于网络设备、协议、应用以及服务运作的专业知识,使得用户在网络运作,网络工程规划,以及网络应用发展等方面进行优化与可行性设计时能获得更高的效率。
本文研究利用网络仿真软件OPNET对以太网的信道共享技术(CSMA/CD)进行仿真分析。
首先建立了ALOHA协议的仿真模型及对ALOHA模型进行修改建立CSMA模型,然后对这两种模型进行仿真比较。
最后在CSMA的基础上加上了冲突检测,并进行仿真。
通过仿真结果可以看出CSMA/CD协议与ALOHA协议和CSMA协议相比的优越性。
关键词:
CSMA/CD;以太网;OPNET;ALOHA
THEIMPLEMENTOFCSMA/CDMETHODONOPNET
ABSTRACT
StandardEthernetnetworksuseCSMA/CDtophysicallymonitorthetrafficonthelineatparticipatingstations.CSMA/CDisatypeofcontentionprotocol.TheCSMA/CDmethodisinternationallystandardizedinIEEE802.3andISO8802.3.OPNETproductsembedexpertknowledgeabouthownetworkdevices,networkprotocols,applications,andserversoperate.Thisintelligenceenablesusersinnetworkoperations,engineering,planning,andapplicationdevelopmenttobefarmoreeffectiveinoptimizingperformanceandavailabilityoftheirnetworksandapplications.
Thispaperisaboutmodelingandanalysisofthewell-knownAlohaandCSMA/CDchannelaccessprotocolswithOPNET.Firstly,thepaperestablishestheAlohamodelforsimulationandmodelsCSMAbychangingAloha`smodel,thencomparethemtwothroughsimulation.Atlast,weaddcollisiondetectionbaseonCSMAandsimulate.Throughtheresultofsimulation,wecaneasilyfindthesuperiorityofCSMA/CDprotocolcomparedwithAlohaprotocolandCSMAprotocol
Keywords:
CarrierSenseMultipleAccess/CollisionDetection(CSMA/CD);Ethernet;OPNET;ALOHA
1绪论
1.1论文研究的背景和意义
以太网是当今最重要的一种局域网建网技术,其特点是灵活、简单和易于实现,长久以来,其他技术一直难以取代其地位,以太网所采用的访问控制仍然是数据交换重要基础之一。
依照OSI参照模型,介质访问控制MAC(MediumAccessControl)子层起到了共享广播信道分配作用。
信道分配方法有静态分配和动态分配两种。
信道静态分配方法均不能有效地处理通信的突发性,信道动态分配能够解决该问题。
下面就以太网密切相关的载波监听多路访问和碰撞检测协议进行讨论。
从与OSI参考模型的对应关系可以看出,广义的以太网相关内容涉及到网络、数据链路和物理层等。
在狭义情况下,以太网只包括数据链路、物理等两层。
物理层主要是指以太网的物理介质,不同标准的以太网有不同的物理介质。
数据链路层主要是指以太网的物理介质,不同标准的以太网有不同的物理介质。
数据链路层主要是指设备如何访问物理层规定的介质,并规定了数据格式,IEEE802标准中数据链路层又可分为两个子层:
逻辑链路控制层和介质访问控制层(MAC)。
该层功能主要体现在以太网设备的二层交换功能上,即将数据封装成以太网数据帧格式,通过MAC地址完成寻址。
OSI参考模型中的网络层主要完成在网络的源、目的地址间建立逻辑连接,而在以太网中,第三层主要完成以太网间的路由,三层寻址与交换是依据IP地址实现的。
载波监听多路访问和碰撞检测协议CSMA/CD(CarrierSenseMultipleAccessProtocolWithCollisionDetection)在介质共享的局域网中,用户终端需要通过共享信道检测到其它用户终端在干什么,从而相应地调整自己的动作。
网络站点监听载波是否存在(即有传输)并相应动作的协议,这就是载波监听协议(CarrierSenseProtocol)。
载波监听协议主要是用来避免用户间的冲突,确保一个时间内只有一台用户终端在收/发数据。
CSMA/CD协议是对ALOHA协议(一种基于地面无线广播通信而创建、适用于无协调关系的多用户竞争单信道使用权的系统)的改进,用于在监听到信道发送数据时有无冲突产生,若站点检测到冲突就取消传送。
大大的提高了信道的利用率。
1.2本文的组织
本论文研究的主要目标是:
使用网络仿真软件OPNET,对信道共享技术的ALOHA、CSMA/CD协议建模仿真。
实现在ALOHA信道共享协议中加入载波监听使网络性能的整体提高;再在CSMA的基础上,加入冲突检测使网络性能得到的再次优化。
第一章绪论介绍了CSMA/CD协议研究背景;分析并综述相关研究的现状;最后提出研究目标,说明本文组织情况。
第二章介绍了相关的MAC接入协议的知识,包括计算机网络体系结构、OSI参考模型以及信道共享的相关内容。
第三章介绍利用OPNETModeler进行仿真的相关技术。
详细介绍了OPNETModeler进行仿真的相关内容:
网络仿真技术、建模概述、三层建模机制。
第四章介绍了ALOHA协议和CSMA协议仿真研究。
首先建立了ALOHA协议的仿真模型及对ALOHA模型进行修改建立CSMA模型,然后对这两种模型进行仿真比较。
最后在CSMA的基础上加上了冲突检测,并进行仿真。
第五章总结与展望,总结本文的工作,并展望下一步的工作。
2MAC接入协议的分析
2.1计算机网络体系结构
计算机网络体系结构,是指计算机网络层次结构模型和各层协议的集合。
计算机网络是一个非常复杂的系统,需要解决的问题很多并且性质各不相同。
所以,在ARPANET设计时,就提出了“分层”的思想,即将庞大而复杂的问题分为若干较小的易于处理的局部问题。
1974年美国IBM公司按照分层的方法制定了系统网络体系结构SNA(SystemNetworkArchitecture)。
现在SNA已成为世界上较广泛使用的一种网络体系结构。
一开始,各个公司都有自己的网络体系结构,就使得各公司自己生产的各种设备容易互联成网,有助于该公司垄断自己的产品。
但是,随着社会的发展,不同网络体系结构的用户迫切要求能互相交换信息。
为了使不同体系结构的计算机网络都能互联,国际标准化组织ISO于1977年成立专门机构研究这个问题。
1978年ISO提出了“异种机连网标准”的框架结构,这就是著名的开放系统互联参考模型OSI。
OSI得到了国际上的承认,成为其他各种计算机网络体系结构依照的标准,大大地推动了计算机网络的发展。
20世纪70年代末到80年代初,出现了利用人造通信卫星进行中继的国际通信网络。
网络互联技术不断成熟和完善,局域网和网络互联开始商品化。
2.2参考模型
对于计算机网络分层体系结构的描述,通常选用的模型有OSI参考模型和TCP/IP参考模型。
OSI(OpenSystemInterconnectionReferenceModel),将整个通信功能划分为7个层次,分层原则如下:
1)网络中各结点都有相同的层次
2)不同结点的同等层具有相同的功能
3)同一结点内相邻层之间通过接口通信
4)每一层使用下层提供的服务,并向其上层提供服务
5)不同结点的同等层按照协议实现对等层之间的通信
这七层为:
第七层:
应用层;第六层:
表示层;第五层:
会话层;第四层:
传输层;第三层:
网络层;第二层:
数据链路层;第一层:
物理层;
如图2-1所示:
接口
物理层协议
通信线路及中继设备
图2-1OSI七层模型
各层的主要功能:
第一层:
物理层(PhysicalLayer)
规定通信设备的机械的、电气的、功能的和规程的特性,用以建立、维护和拆除物理链路连接。
具体地讲,机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息时,DTE和DCE双方在各电路上的动作系列。
第二层:
数据链路层(DataLinkLayer)
在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。
数据链路层在不可靠的物理介质上提供可靠的传输。
该层的作用包括:
物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
第三层:
网络层(NetworkLayer)
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。
网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。
网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息——源站点和目的站点地址的网络地址。
如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。
IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。
有关路由的一切事情都在第3层处理。
地址解析和路由是3层的重要目的。
网络层还可以实现拥塞控制、网际互连等功能。
第四层:
传输层(TransportLayer)
这一层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。
第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。
所谓透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。
第五层:
会话层(Sessionlayer)
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。
会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。
如服务器验证用户登录便是由会话层完成的。
第六层:
表示层(Presentationlayer)
这一层主要解决用户信息的语法表示问题。
它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。
即提供格式化的表示和转换数据服务。
数据的压缩和解压缩,加密和解密等工作都由表示层负责。
例如图像格式的显示,就是由位于表示层的协议来支持。
第七层:
应用层(Applicationlayer)
应用层是OSI参考模型中的最高层。
应用层确定进程之间通信的性质,以满足用户的需要,如分布事务处理,文件传输,电子邮件,网络管理等。
2.3信道共享
共享信道的竞争机制是本节的中心论题,主要讨论在相互竞争的用户之间如何分配一个单独的广播信道。
一般的讲,共享信道技术主要有固定分配信道、受控访问以及随机访问三种。
第一种:
信道的固定分配
在竞争的多用户间静态地分配单个信道的方法有以下几种:
1.频分多路复用FDM(FrequencyDivisionMultiplexing)技术。
如果介质的带宽可以分成N等份,每个用户分得一个频段。
由于每个用户各有各的频段,所以他们之间不会产生干扰。
但只有当用户较少且数目固定,而且每个用户通信量都较大时,FDM才是一种简单有效的分配机制。
然而,当用户总数量较多且数目经常变化,或者通信量具有突发性特点时,采用FDM就存在明显的不足。
如果当前信道带宽被分为n段并分配给了n个用户,但n个用户中只有少数用户在通信。
此时如果在n个以外的用户却希望通信,但因为它们没有分配到频段而不可能通信,即使此时己分到频段的用户并没有使用它们。
同样,如n个用户中有用户突发到达了大量数据需要发送(数据流具有突发性,其峰值流量与平均流量之比为1000:
1是很常见的),但它除了可使用分配给自己的频段这有限的资源外。
别无选择,尽管此时很多信道都空闲。
FDM的最基本的缺陷是无通信量时已分配给用户的频段就白白浪费了,没有使用的这些频段也不能让其它用户使用。
2.时分多路复用TDM(TimeDivisionMultiplexing)也会产生同样的问题。
在TDM中,时间被均分为n段时隙,每个用户静态地占用一个。
假如用户没有使用分配给他的时隙的话,那么这段时间段就白白浪费。
没有使用的这些时间段也不能让其它用户使用。
3.波分复用WDM(WavelengthDivisionMultiplexing)对于光纤信道,不同的信源使用不同波长的光波来传输数据,各路光波经过一个棱镜合成一个光束,在光纤干道上传输,在接收端用相同的设备将各路光波分开。
静态信道分配不仅信道利用率低,而且不便于向更多的用户提供服务。
第二种:
受控访问技术
受控访问是指各个用户不能随意接入信道,而必须服从一定的控制,或者设法形成分布式队列来协调分散在各地的用户发送数据。
控制方法有2种:
1.轮询
轮询访问技术采用集中式控制,主机按照一定的顺序逐个询问各个用户有无信息发送。
如果有则被询问用户就立即将信息发给主机,否则询问下一站。
轮询技术可分为2种不同的类型:
1)轮叫轮询(roll-callpolling)
由主机按预先确定的顺序轮流向各站发送查询信息,并接收各站发来的信息,当然主机也可以主动将数据发送给各站。
由于主机向各站发送的数据均带有相应站的地址,所以每个站只能接收给自己的数据,这样不会出现混乱。
轮叫轮询可采用多点线路,也可采用具控制站的环型网和树状拓扑线。
轮叫轮询一个较大缺点是,轮询帧在多点线路上不停地循环往返造成了相当大的开销,曾加了帧的等待时间。
2)传递轮询(hubpolling)
将控制权按顺序从一个站转到另一个站。
这实际上就是令牌传递环所采用的方法。
不同的是这里采用的是主机集中控制。
传递轮询可以采用多点线路,也可以采用总线型和环型拓扑。
传递轮询虽然比轮叫轮询帧等待的时间短,但由于实现复杂,造价高,因此在实际中应用较多的还是轮叫轮询。
2.令牌
令牌访问技术采用分布式控制。
这种方法是在环型网中产生一个特殊的帧,叫做令牌或权标,令牌沿着物理环单向依次传递。
任何要发送的站只有持有令牌才有权发送信息。
第三种:
随机访问技术
上面讲到的受控访问技术在网络通信量较小的时候,系统工作效率较低。
用户不能自由的发送数据。
随机访问技术就要解决这个问题。
它允许各站自由发送数据,发生冲突(collision)时,冲突站的发送失败,并通过网络协议来解决冲突。
1.纯ALOHA和分时隙ALOHA
纯ALOHA系统的基本思想很简单;一旦用户产生新帧就让他们发送。
当然,这样很可能产生冲突而使冲突帧受到破坏。
但是,由于广播的反馈性,发送方只要继续监听信道就可得知它发出的帧是否被破坏,同样,其它的用户也如此工作。
对于局域网,反馈信息很快就可以得到。
假如帧遭到破坏,发送方等待一段随机时间后重发该帧。
等待时间必须是随机的,否则会有接二连三的冲突而导致死锁。
多个用户以某种可能导致冲突的方式共享公用信道的系统被称为竞争系统。
分时隙ALOHA系统是把时间分为离散的时间段,每段时间对应一帧。
这种方法要求在每段时间的开始像时钟一样发送一个信号。
每个数据帧的发送必须等到下一时隙开始时才允许。
这样,连续的纯ALOHA就变成了离散的分时隙ALOHA。
在这种分时隙ALOHA系统中,冲突的发生只可能在时隙的开始时刻,如在时隙的开始时刻仅有一个站点发送,则它所发送的一帧一定是成功的,因为在它发送的一个帧时内,如果有站点产生了新的帧也必须等到下一个时隙的开始时刻才允许发送。
这样冲突危险区减少为原来的一半。
在ALOHA系统中,任何时候,只要两帧试图同时使用信道就会产生冲突,并破坏冲突帧的内容。
即使新帧的第一位与前面即将发完的帧的最后一位相重叠,两帧也会受到破坏,都必须事后重发。
因为帧的校验和不能(且不应该)区分信息是全部丢失还是部分丢失,所以只要帧的信息遭到一丁点儿破坏就应当做为坏帧处理。
用“帧时(frametime)”来表示发送一个标准长度的帧所需的时间,也就是帧长度除以位传输速率。
如图2-2所示,如果在某一帧开始发送的时刻t。
起的那一帧时内,没有其它帧发出,该帧就不会冲突。
假设发送一帧所需时间为t,如果在t。
到t。
+t时间内,其它任一用户产生了一帧(阴影帧)并立即发送,阴影帧的头部就会和前一帧的尾部冲突。
但是由于纯ALOHA网中所有站点在发送前都不侦听信道,所以它不知道是否已有其它帧正在传输过程中,不可能主动避让。
同样t。
+t到t。
+2t之间产生的任何帧也都将和阴影帧的尾部冲突。
图2-2分时隙ALOHA系统发送帧冲突图
假定系统中有无限多个用户,平均每帧时产生S个新帧,显然如果S>1,那么用户产生新的帧的速率将会超出信道所能处理的能力,也就是说几乎每帧都会受到冲突。
所以,合理的吞吐率要求0
除了产生新的帧之外。
各站还要产生受到冲突的重发帧。
设每帧时内发送帧的平均值为G帧,显然G≥S。
在低负载情况下(即S≈0),设每帧时内发送帧几乎没有冲突产生,用不着重发,所以G≈S。
在高负载情况下,冲突频繁,所以G>S。
信道利用率S与负载量G之间的关系如图2-3所示。
从图中可看出,当G=0.5时,信道利用率最大,其值为S≈0.184。
这也就是说,纯ALOHA信道的利用率最高为18.4%。
这个结果并不令人鼓舞但是对于这种任何站点都可以随意发送的工作方式,期望得到100%的利用率是不现实的。
图2-3ALOHA的吞吐量
2.载波监听多路访问控制方法(CSMA)
载波监听多路访问控制方法又称为“先听后说”方法。
这种方法的协议是本论文所要仿真并分析的主要内容。
它是ALOHA协议的一种改进型。
其基本思想是:
每个站在发送数据前,先监听信道上有无其它站正在发送信息,如果没有(即信道空闲),则发送数据;否则(信道忙)暂不发送,退避一段时间后再尝试。
根据监听策略的不同,载波监听多路访问有3种协议:
非坚持CSMA一旦监听到信道忙就不再监听下去,延迟一段随机时间后再重新监听。
如果监听到信道空闲就立即发送数据。
坚持CSMA监听到信道忙时,仍然坚持听下去,直至信道空闲为止。
一旦听到信道空闲就立即发送数据,如果有冲突,在规定的时间内未得到应答,则等待一段随机事件后再监听。
P-坚持CSMA监听到信道忙时,仍然坚持听下去,直至信道空闲为止。
当听到信道空闲时,以概率p发送数据,而以概率(1-P)延迟时间(t端到端的传输时延),则等待一段随机时间后再监听。
非坚持CSMA减少了发送数据的盲目性和冲突出现的概率。
但由于一旦监听到信道忙就延迟一段随机时间后再重新监听,很可能在重新监听前信道就已经空闲,所以非坚持CSMA的信道利用率不是很高。
对此,可采用1-坚持CSMA。
1-坚持CSMA一直监听,一听到信道空闲就发送信息,这样可以充分利用信道,但冲突的可能性也许会增大。
这是因为总线有一定的长度,且信号在信道上以有限的速度传输,所以当一个站发送数据时,另一个站要经过一段传播延迟时间才能检测到载波。
这就是说,某站监听到信道空闲时,信道可能并非真正空闲,如果此时发送数据,肯定会产生冲突。
如图2-4所示,若站B在站A发送的数据到达前发送帧,则突然产生冲突。
另外,如果有2个或2个以上的站同时监听到信道空闲,同时发送数据,发生冲突时不可避免的。
为此,可采用p坚持CSMA。
图2-4传播延迟时间对载波监听的影响
p坚持CSMA根据信道通信量的多少来设定p(0<p≤1)值,从而减少了冲突发生的概率,进一步提高了信道的利用率和吞吐量。
但如何确定p值,成了p坚持CSMA的关键。
实际上,当p=l时,就是1坚持CSMA,即一听到信道空闲,就以概率1发送数据。
与时隙ALOHA相似的,还有时隙非坚持CSMA、时隙1坚持CSMA及时隙p坚持CSMA。
他们都规定:
各站只能在每个时隙的起始时刻才能开始发送信息。
这样全网同步,减少了相互冲突的概率,进一步提高了信道的吞吐量。
在网络轻负载时,时隙和非时隙1-坚持CSMA的信道吞吐量特性最好;在网络重负载时,时隙非坚持CSMA的信道吞吐量特性更好些,但时间延迟增大。
3.载波监听多路访问/冲突检测(CSMA/CD)
1)CSMA/CD工作原理
CSMA/CD载波监听/冲突检测,属于计算机网络以太网的工作类型,即在总线上不断的发出信号去探测线路是否空闲,如果不空闲则随机等待一定时间,在继续探测。
直到发出型号为止。
CSMA/CD工作原理:
在Ethernet中,传送信息是以“包”为单位的,简称信包。
在总线上如果某个工作站有信包要发送,它在向总线上发送信包之前,先检测一下总线是“忙”还是“空闲”,如果检测的结果是“忙”,则发送站会随机延
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 opnet csmacd 协议 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)