1、计算机网络实验报告计算机网络课程设计实验报告- CSMA/CD协议仿真学院: 班级:学号:姓名: 指导老师: 1.CSMA/CD协议工作原理及性能分析: 答:CSMA/CD协议的工作原理: CSMA/CD即载波监听多点接入/碰撞检测,它是一种争用型的、分布式的介质访问控制协议。该协议的实质是“载波监听”和“碰撞检测”,其网络中的各个站(节点)都能独立地决定数据帧的发送与接收。“载波监听”就是“发送前先监听”,即每一个站在发送数据帧之前先要检测一下总线上是否有其他站在发送数据,如果有,则暂时不要发送数据,要等待信道变为空闲时再发送。这时,如果两个以上的站同时监听到介质空闲并发送帧,则会产生冲突现
2、象,这使发送的帧都成为无效帧,发送随即宣告失败。“碰撞检测”就是“边发送边监听”,即适配器边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。每个站必须有能力随时检测冲突是否发生,一旦发生冲突,则应停止发送,以免介质带宽因传送无效帧而被白白浪费,然后随机延时一段时间后,再重新争用介质,重发送帧。CSMA/CD协议简单、可靠,其网络系统(如Ethernet)被广泛使用。 CSMA/CD协议的性能分析:评价一个协议的好坏,按照其单位时间冲突概率,发送成功次数,以及对节点是否公平。2、CSMA/CD协议基本工作流程: N N N N3分析、理解所给的仿真程序(
3、对照流程图说明是如何仿真的、每个sleep函数的作用):答: 根据流程图,先看线程A的工作流程:首先检查总线是否空闲,若空闲则发送数据,用sleep()函数模拟传输时延。边发送边检测总线上的数据是否是A线程发送的数据,以此来模拟是否有碰撞产生,若没有,则直至数据发送完再用sleep()函数模拟帧时隙。如果有碰撞产生,则立即停止发送数据,再用Sleep(randNum*(int)pow(2.0,(CollisionCounter10)?10:CollisionCounter)*Collisionwindow函数执行二进制指数退避算法重发数据,若重发次数超过16次,则认为发送数据失败。B线程的大致
4、流程与A线程的一样,只是在发送数据前多了一个Sleep(2)函数,即可用随机函数模拟其他用户随机接入冲突几率小。4、运行结果分析:1) 当A、B线程完全相同时,无冲突产生,运行结果如下: 从运行结果中可以看出,当A、B线程完全相同时,AB线程单位时间内成功发送的次数相同,且A、B轮流发送,机会均等,且A、B之间发送无碰撞。2) 当线程B产生一个Sleep(2),即用随机函数模拟其他用户随机接入冲突几率小时,A、B线程有冲突。结果如下:从运行结果可以看出:在开始时间内A,B线程有碰撞,然后碰撞减少。在增加Sleep(2)后,使延时增加,增大了碰撞几率,开始时A、B线程有碰撞,然后由于执行了二进制
5、指数退避算法,所以碰撞减少了。此外,开始时A、B线程的发送机会不是均等的,即对B不公平。3)A、B线程均有一个相同的固定等待时延sleep(3)时,此时会产生一大片冲突,甚至发送失败。结果如下:由于A、B线程在发送前有相同的固定等待时延,所以它们的发送概率相同,以至于碰撞几率增大,直至发送失败。 4) 当A、B线程的固定等待时延相差很大时(如sleep(3),sleep(12)),结果如下:由运行结果分析可知:当A、B线程的固定等待时延相差很大时,两线程发送数据的机会不均等,减小了碰撞的几率。而且A、B线程不是轮流发送数据,即对B不公平。5) 当A、B线程均有一个随机等待时延时,A、B之间的冲
6、突减小。结果如下:从运行结果可以看出:开始时A、B线程之间无有冲突,后面就没有冲突了。而且A、B线程发送数据的机会不均等,说明此时设的随机等待时延导致A、B发送数据的不公平性,但是这个随即等待时延减小了A、B线程发生冲突的概率。6) 当A、B线程的随机等待时延增大时,A、B线程之间的冲突几率增大。结果如下:从运行结果可以看出:当A、B线程的随机时延增大时,线程A、B之间的冲突加大。而且A、B线程发送数据的机会是不均等的。7) 当A、B线程没有帧时隙时,结果如下:由运行结果可以看出,当A线程发送后B线程才发送,则帧时隙不同时A、B线程发送数据的机会不均等。8) 当AB的帧时隙为固定相同的100us 时,结果如下:由运行结果可以看出:A、B线程轮流发送数据,且单位时间内发送成功的次数相等,对A、B线程均公平,因为帧时隙对公平性具有很大影响。9)当A、B线程的传输时延不同时,结果如下:由运行结果可以看出:A、B线程之间有冲突,而且A、B线程不是轮流发送数据,对B线程不公平。5、协议的改进(如增加用户数后采用某种监听和发送策略):答:当多线程同时处理时,可以采用一种监听策略,即在检测到信道忙时,可以根据是否充分利用信道由忙到闲后的一段时间来确定是否要坚持发送数据。此外,还可以采用一种发送策略,即在检测到信道闲时,根据等待的用户数来决定是倾向于发送数据,还是倾向于不发送。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1