计算机网络试验报告.doc_第1页
计算机网络试验报告.doc_第2页
计算机网络试验报告.doc_第3页
计算机网络试验报告.doc_第4页
计算机网络试验报告.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络试验报告槐玲 黄海凤 程磊一 实验名称 仿真滑动窗口协议。二、实验要求模拟停等协议、回退n协议及选择重传协议的发送过程。三、实验环境硬件环境:windowsXP系统四、实验目的: 1 熟练掌握滑动窗口的状态变化。 2 模拟停等协议、回退n协议及选择重传协议的发送过程。 3 进一步加深对停等协议、回退n协议及选择重传协议的机理的了解。五、实验步骤 1、停等协议的发送过程: 发送端与接受端的窗口大小均为一,发送端一次只能发送一个数据帧,等待接受方接收到数据帧然后发送确认帧后,在发送下一帧。程序界面:(1) 首先设置发送帧数和丢包率设置后如图:发送帧数为3,对保率为56%,即每个帧有56%的几率丢失点击确定后开始发送第一帧:如下图第一帧发送完,接受方接收第一帧完毕后,发送确认帧:如下图开始发送第二帧:第二帧丢失:计时器超时后重发三帧发送完毕:2回退n协议发送过程:发送端的窗口大小为1,接收端窗口大小为1。发送端一次可发送多个数据,而接受端一次只能接受1个数据帧。当发送帧出错时,之后的所有帧延时重发,接受端重新接受。当确认帧出错时,延时重发,接受端不接受,但重发确认帧。首先设置重发定时,如图:开始发送数据帧: 第四帧丢失: 发送丢失帧之前的确认帧: 计时器超时后重发第四帧以及之前的帧 发送完毕3、选择重传协议发送过程: 发送端窗口与接受端窗口都大于1,当发送帧出错时,接受端可以接受此数据帧以下的数据帧,但不提交给接受端。只是放入接受缓冲区。首先设置重发定时:开始发送:第四帧丢失 发送确认帧: 计时器超时后重发第四帧: 发送第四帧的确认帧: 发送完毕:六、源程序模块中的变量:Public Rcapable% 接受方的处理能力Public sendnum% 发送帧数Public dropnum% 丢包率Public num% 纪录发送帧数Public biaoji As Boolean 丢包标记Public timer% 计时器Public ztimer% 总用时计时器Public bj(5) As Integer 回退n中的发送帧与确认帧标记Public diu(5) As Integer 丢包标记Public chongfa 重发定时Public s(5) As BooleanPublic T As IntegerPublic x As Integer 第几帧丢Public q As Boolean 重发标记Form1上的代码:Dim i%Private Sub Command1_Click()Form2.ShowEnd SubPrivate Sub Command2_Click()Text1.Text = Text2.Text = Text3.Text = For sw = 0 To 5Shape1(sw).Visible = TrueNextTimer2.Interval = 300timer = 0ztimer = 0chongfa = Int(InputBox(重发定时:(毫秒))x = Int(5 * Rnd + 0)diu(x) = 1 丢包标记End SubPrivate Sub Command3_Click()Text1.Text = Text2.Text = Text3.Text = For sw = 0 To 5Shape1(sw).Visible = TrueNextTimer3.Interval = 300timer = 0ztimer = 0chongfa = Int(InputBox(重发定时:(毫秒))x = Int(5 * Rnd + 0)diu(x) = 1 丢包标记End SubPrivate Sub Form_Load()i = 0timer = 0ztimer = 0For r = 0 To 5bj(r) = 0diu(r) = 0s(r) = TrueNextq = TrueEnd SubPrivate Sub Timer1_Timer()Dim drop%Dim lent%If num = 0 Then 发送帧数If i = 0 Thenzhen.FillColor = &H8000000FIf zhen.Left = 0 ThenIf num 0 Thenzhen.Visible = TrueText1.Text = Text1.Text & Chr(13) & Chr(10) & Time() & 发送方开始第 & sendnum - num + 1 & 帧发送timer = 0End IfIf num = 0 Then 发送完所有的帧得到平均延迟Text1.Text = Text1.Text & Chr(13) & Chr(10) & 平均延迟: & ztimer / sendnumEnd Ifnum = num - 1drop = Int(100 * Rnd + 1) 产生随机数If drop dropnum Then 设置丢包标记biaoji = FalseElsebiaoji = TrueEnd IfEnd IfIf zhen.Left = 100 Thenzhen.FillColor = &HFFzhen.Left = zhen.Left - 100If zhen.Left = 0 ThenIf zhen.Visible = True ThenText1.Text = Text1.Text & Chr(13) & Chr(10) & Time() & 发送方得到第 & sendnum - num & 帧确认帧End Ifi = 0End IfEnd IfEnd IfElse 发送完所有的帧Timer1.Interval = 0End Iftimer = timer + 1ztimer = ztimer + 1 Text2.Text = timer Text3.Text = ztimer End SubPrivate Sub Timer2_Timer()timer = timer + 1ztimer = ztimer + 1Text2.Text = timerText3.Text = ztimerIf (timer = 1) And bj(0) 2 Then s(0) = startgo(Shape1(0), 1, bj(0), diu(0)End IfIf (timer = 4) And bj(1) 2 Thens(1) = startgo(Shape1(1), 2, bj(1), diu(1)End IfIf (timer = 7) And bj(2) 2 Thens(2) = startgo(Shape1(2), 3, bj(2), diu(2)End IfIf (timer = 10) And bj(3) 2 Thens(3) = startgo(Shape1(3), 4, bj(3), diu(3)End IfIf (timer = 13) And bj(4) 2 Thens(4) = startgo(Shape1(4), 5, bj(4), diu(4)End IfIf (timer = 16) And bj(5) 2 Thens(5) = startgo(Shape1(5), 6, bj(5), diu(5)End IfIf s(x) = False And q = True Then 丢包处理bj(x) = 2 此帧不再继续传For sk = x To 5 此后的帧也不再继续返回确认帧If bj(sk) = 1 ThenShape1(sk).Visible = Falsebj(sk) = 2If sk = 5 Then 最后一帧收到q = FalseEnd IfEnd IfNextT = timerEnd IfIf ztimer = T + chongfa Then 重发timer = 0For sk = x To 5Shape1(sk).Left = 0Shape1(sk).Visible = Truediu(sk) = 0bj(sk) = 0Nextx = 5End IfEnd IfNextIf ztimer T + chongfa ThenIf bj(0) = 2 And bj(1) = 2 And bj(2) = 2 And bj(3) = 2 And bj(4) = 2 And bj(5) = 2 ThenTimer2.Interval = 0Text1.Text = Text1.Text & Chr(13) & Chr(10) & 平均延迟 & ztimer / 6End IfEnd IfEnd SubPrivate Function startgo(sp As Shape, num As Integer, i As Integer, diu As Integer) As BooleanIf i = 0 Thensp.FillColor = &HFFFF80If sp.Left = 0 Thensp.Visible = TrueText1.Text = Text1.Text & Chr(13) & Chr(10) & Time() & 发送方开始第 & num & 帧发送timer = 0If num = 0 Then 发送完所有的帧得到平均延迟Text1.Text = Text1.Text & Chr(13) & Chr(10) & 平均延迟: & ztimer / sendnumEnd Ifdrop = Int(100 * Rnd + 1) 产生随机数If drop dropnum Then 设置丢包标记biaoji = FalseElsebiaoji = TrueEnd IfEnd IfIf sp.Left 5000 Thensp.Left = sp.Left + 100If diu = 1 ThenIf sp.Left = 2500 Then 此帧丢失sp.Visible = FalseText1.Text = Text1.Text & Chr(13) & Chr(10) & 第 & num & 帧丢失num = num + 1startgo = FalseExit FunctionEnd IfEnd IfEnd IfIf sp.Left = 5000 ThenIf sp.Visible = True And num = 100 Thensp.FillColor = &HFFsp.Left = sp.Left - 100If sp.Left = 0 And sp.Visible = True ThenText1.Text = Text1.Text & Chr(13) & Chr(10) & Time() & 发送方得到第 & num & 帧确认帧i = 2End IfEnd IfEnd Ifstartgo = TrueEnd FunctionPrivate Sub Timer3_Timer()timer = timer + 1ztimer = ztimer + 1Text2.Text = timerText3.Text = ztimerIf (timer = 1) And bj(0) 2 Then s(0) = startgo(Shape1(0), 1, bj(0), diu(0)End IfIf (timer = 4) And bj(1) 2 Thens(1) = startgo(Shape1(1), 2, bj(1), diu(1)End IfIf (timer = 7) And bj(2) 2 Thens(2) = startgo(Shape1(2), 3, bj(2), diu(2)End IfIf (timer = 10) And bj(3) 2 Thens(3) = startgo(Shape1(3), 4, bj(3), diu(3)End IfIf (timer = 13) And bj(4) 2 Thens(4) = startgo(Shape1(4), 5, bj(4), diu(4)End IfIf (timer = 16) And bj(5) 2 Thens(5) = startgo(Shape1(5), 6, bj(5), diu(5)End IfIf s(x) = False And q = True Then 丢包处理bj(x) = 2 此帧不再继续传For sk = x To 5 此后的帧也不再继续返回确认帧If bj(sk) = 1 ThenShape1(sk).Visible = Falsebj(sk) = 2If sk = 5 Then 最后一帧收到q = FalseEnd IfEnd IfNextT = timerEnd IfIf ztimer = T + chongfa Then 重发timer = 0Shape1(x).Left = 0Shape1(x).Visible = Truediu(x) = 0bj(x) = 0x = 5End IfEnd IfNextIf ztimer T + chongfa ThenIf bj(0) = 2 And bj(1) = 2 And bj(2) = 2 And bj(3) = 2 And bj(4) = 2 And bj(5) = 2 ThenTimer3.Interval = 0Text1.Text = T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论