欢迎来到天天文库
浏览记录
ID:49506874
大小:325.00 KB
页数:12页
时间:2020-03-02
《协议仿真文档及结果报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、协议仿真一、实验方式在Linux下用中端模拟协议4,5,6后做的分析协议4:1位滑动窗口协议协议5:冋退n帧技术的协议协议6:选择性重传的协议二、实验前的理论分析实验前我们先做简要的分析,根据协议4,5,6的定义,说明同样的数据丿应该是效率5<4<6因为冋退n帧技术的协议说明如果出现一个错误就会退冋n次,很影响效率。1位滑动窗口协议必须在有冋复的情况下才发出下一帧,和帧来冋时间与定时器定时很有关系。选择性重传的协议应该是3者间效率最高的,因为这既不需要冋复示重传,又不需要退冋n次,只需要选择错误的重传,大大提高了效率。三、实验原理数据链路层通过一些数据链路层协议,
2、在不太可靠的物理链路上实现可靠的数据传输。其屮一些协议如下:协议2单工的停止等待协议发送方:在发送完一帧后,必须等待确认帧到达,才从网络层取下一个分组。接收方:帧接受并将分组递交网络层后,发送确认帧。协议3有噪声信道的单工协议引入计时器与协议2不同之处在于,当发送方和接收方的数据链路层在等待状态时,两者都有一个变量记录下油管的值。发送方在送出了一帧后启动定时器,它等待相关事情发生。一般有三种情况:一个确认帧完好无损的到达;一个受损的确认帧蹒跚而至;定时器过期。如果一个有效的确认到來,则发送方从它的网络层获取下一帧,并把它放入缓冲区屮,覆盖掉原来的分组。他也会怎家序
3、列号。如果一个受损的确认帧到来,或者没有确认帧到来,则缓冲区和序列号不会改变,再次发送原来的帧。当一个有效帧到达接收方的时候,接收方首先检查它的序列号,看它是否是一个重复的分组。如果不是,将诙手并传递给网络层。重复的帧和受损的帧都不会传给网络层。协议4一位滑动窗口协议采用捎带确认,使用全双工链路。在ACK域屮有被确认的帧的序号,若确认K帧,则确认了K以前的所有的帧。最大窗口为1,使用停等协议。协议5使用退后N帧的协议使用管道化技术,在往返传播时间2R内,连续发送W帧,调整W不使发送窗口一处。当遇到错误时,接收方只有丢弃所有后续的帧,并且不为这些丢弃的帧发送确认即可
4、。发送方等待去人计时器超时,重发所有待确认的帧,而不仅仅是错帧。如果错谋率比较高的话这种方法会浪费大量的带宽。协议6使用选择性重传的协议发送方和接收方都维持一个窗口,窗口内部包含了可以接受的序列号。任何时候当一帧到达时,并且以前还没有接受到这一帧,则接受该帧,并且保存起来。发送方的窗口大小从0开始增长到某个预定的最大值,而接收方的窗口总是保持固定大小的,并等于该最大值。接收窗口内的毎个序号都有一个缓冲区,并有一位指不缓冲区是空还是满。当一个帧到达时,只要其序号落在接收窗口内,且此前并未收到过(相应缓冲区为空),就接收此帧,并存于相应的缓冲区中;仅当序号比它小的所有
5、帧都己递交给了网络层,此帧才会被提交给网络层。使用选择重发协议,发送窗口也不能大于2n-L四、使用C语言模拟这几个协议并在LINUX下进行协议仿真。先说明下实验测试数据:5个数字,第一个相当于实验时间,单位为滴答第二个相当于定时器的延迟时间第三个相当于传输过程屮的漏传率第四个相当于传输过程屮的误传率第五个显示实验数据的类型由1-3高者较全实验先进入linux终端,然后进入包含协议4,5,6的文件夹,使用参数执行协议4,5,6五、编译源程序进入LINUX命令行界面yanxin@yanxin-laptop:'$gcc-csimulator,cyanxin@yanxin
6、-laptop:"$gcc-oprotocolp2・csimulator.o生成protocol可执行文件其他几个协议同理。运行可执行文件进行仿真实验。协议2baijie@baijie-laptop:'$baijie@baijiaptop:./protocol^1000004020103SimulatingProtocol2Events:100000Parameters:402010Tick0.Tick1.Proc1gotgoodframe:type二Dataseq二0ack二0payload=0Tick1.Proc1sentframe:type二Ackseq=0
7、ack=0payload二0Tick7.Proc0gotgoodframe:type二Ackseq=0ack=0payload二0Tick7.Proc0senlframethatgotlost:type^Dataseq=0ack=0payload二1Proc0sentframe:type二Daseq=0ack=0payload二0Process0:Totaldataframessent:2Dataframeslost:1Dataframesnotlost:1Framesretransmitted:0Goodackframesrec,d:1Badackframesr
8、ec5cl
此文档下载收益归作者所有