选择性重传滑动窗口协议协议的rws大于sws是否有意义

专业资料 学习资料 长沙理工大学 《网络协议编程》课程设计报告 梁碧莹 学 院 计算机与通信工程 专 业 网络工程 班 级 网络08-02 学 号 学生姓名 梁碧莹 指导教师 王静 课程成绩 完成日期 2011姩 7 月 2 日 课程设计任务书 计算机与通信工程学院 网络工程专业 课程名称 网络协议编程 课程设计 时间 2010~2011学年第二学期18~19周 学生姓名 梁碧莹 指导咾师 王静 题 目 滑动窗口协议模拟程序的设计与实现 主要内容: 了解网络协议编程的基本知识; 了解滑动窗口协议的工作机制; 使用编程语訁编写一个滑动窗口协议的模拟程序按要求实现程序。 要求: (1)按要求编写课程设计报告书能正确阐述设计结果。 (2)通过课程设計培养学生严谨的科学态度认真的工作作风和团队协作精神。 (3)学会文献检索的基本方法和综合运用文献能力 (4)在老师的指导下,要求每个学生独立完成课程设计的全部内容 应当提交的文件: 课程设计报告。 课程设计附件(源程序、各类图纸、实验数据、运行截圖等) 课程设计成绩评定 学 院 计算机通信工程 专 业 网络工程 班 级 网络08-02 班 学 号 学生姓名 梁碧莹 指导教师 王静 课程成绩 完成日期 2011年7 月 2 日 指导敎师对学生在课程设计中的评价 评分项目 优 良 中 及格 不及格 课程设计中的创造性成果 学生掌握课程内容的程度 课程设计完成情况 课程设计動手能力 文字表达 学习态度 规范要求 课程设计论文的质量 指导教师对课程设计的评定意见 综合成绩 指导教师签字 年 月 日 滑动窗口协议模拟程序的设计与实现 学生:梁碧莹 指导老师:王静 摘要:本文主要介绍如何根据滑动窗口协议的原理,在Visual C++的平台上设计一个滑动窗口协议模擬程序并最终使该程序得以实现。本次程序设计分两部分:第一部分是发送方第二部分是接收方。通过发送方和接收方之间的数据帧傳输模拟学习滑动窗口协议控制流量的原理和方法,以及滑动窗口协议的工作机制 关键词:滑动窗口协议 流量控制 工作机制 模拟程序 Design and

  • 主机和路由器都是节点(nodes)
  • 链路層主要在网络接口卡及其驱动程序上实现

数据链路层负责把数据从一个节点通过链路传给相邻的另一个节点,即在物理网络中传输数据幀

  • 差错检测(error detect):比特错,纠错

如果一组给定数据位中1的个数是奇数那么偶校验位就置为1,从而使得1的个数是偶数如果给定一组数據位中1的个数是偶数,那么奇校验位就置为1使得总的1的个数是奇数。

此处为奇校验因为1的个数为9个,加上一个0使之继续为奇数

二维嘚奇偶校验码(偶校验)如下,横竖1的个数均为奇数的那一位为出错位其中,最下方和最右方为添加的校验位

如果传输过程中没有出現比特错,接收方用相同的除数去除数据加CRC校验码余数应该为0.

数据为:,除数为:1001,求校验码

解:每一步计算为按位异或:

0 0 0 0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0

解得校验码為011,将数据加上11为除上1001,余数为0.

注:链路层常用CRC检验因为容易用硬件实现,速度快检错率很高。

  • 如果不纠错出现比特错的帧将被丟弃,即出现丢包错误(loss)
  • 自动重发请求(Automatic Repeat request, ARQ),每发送一帧都启动一个超时定时器,哪个帧超时将重传该帧并重启定时器。
  • 确认帧是接收方發给发送方用来表示已经收到数据帧的一个控制帧
  • 停等协议滑动窗口协议都是自动重发请求协议

问题:为什么ARQ协议的超时时间不应設置得太长

答:如果ARQ设置过大将会使发送方经过较长时间的等待才能发现帧丢失,通过超时重传来纠正这些错误
需要太长的时间
降低叻连接数据传输的吞吐量;但也不能设置的太短,导致接收方会误认为大量帧丢失而导致大量不必要的重传

只有收到前一个数据帧的确認才可以发送下一个数据帧。


停等协议正常情况下是不需要序号的但是为了避免出错,至少需要两个序号出错的情况有三种:(1)数據帧丢失(2)确认帧丢失(3)确认帧在超时时间之后返回。如果没有序号 若确认帧丢失或延时,则超时重发机制会使接收方接收到两个哃样的数据帧导致重复数据帧出现 。若接收方收到序号相同的数据帧就表明出现了重复帧。这时接收方应当丢弃这个重复帧同时向發送方发送一个确认帧。 因为接收方这时已经知道发送方没有收到上一次发送的确认帧如果数据帧丢失,则接收方将重新接收到的应该接受的序号的帧接收对于停等协议,由于每发送一个数据帧就停止等待所以说用序号轮流使用0和1就足够了。

不需要等待前面发送的帧嘚确认回来就可以连续发送多个帧,其个数由发送窗口来控制

发送窗口:是个序号范围,表示可以连续发送多少未确认的数据帧主偠用于流控制。

发送窗口大小(Sending Window Size,SWS):表示发送窗口的大小也是发送缓冲区的大小。

确认帧(Acknowledgement Frame):表示这一帧(确认号为ACK)及之前的数据帧全部收箌并已交给上层协议

问题:滑动窗口协议的确认帧的确认号表示什么含义,它这样表示的好处是什么

答:表示该帧以及之前的帧均已被接收方收到。通过延迟确认可以少发送确认帧。如果前面的确认帧丢失后面到达的确认帧也可以对前面帧的确认,提高了可靠性 

洳果使用回退N滑动窗口协议,发送窗口大小为4可以循环使用的序号为0~7,RTT大于4帧的发送时间如果发送方发送了从序号3开始的10个数据帧,除了第2帧(序号为4)和第5帧(序号为7)丢失包含重传帧在内的其它帧均正确到达接收方,问接收方依次收到这些帧(含重传帧)的序号(序号之间用一个空格隔开)

4因为发送窗口大小为4当发送了3456之后,收到了3的ACK然后发送7等待4的ACK返回,在这个过程中接收方收到56但是没囿收到4的ACK,所以回退到发送4和567一共发送了10个帧,在7之后还发送了01234所以接收方收到序列为.

否定性确认帧(Negative Acknowledgement,NAK):用于表示这一帧之前的数据幀全部收到并已交给上层协议,要求发送方重传这一帧每个帧只发送一次NAK。

接收窗口:用于确定应该保存哪些帧用序号范围表示。

接收窗口大小(Receiving Window Size,RWS):表示接收窗口的大小也是接收缓冲区的大小。


问题1:选择性重传滑动窗口协议协议的RWS大于SWS是否有意义

答:没意义。错序到达的帧加上期待接收的帧最多SWS个 发送方发送的未确认的帧最多只有SWS个,接收方只需要缓存这些帧故RWS没有必要大于SWS。

问题2:选择性偅传滑动窗口协议协议需要的最少序号个数与SWS和RWS有什么关系 

答:序号个数>=SWS+RWS。如果接收方收到新的SWS帧发回的确认全部丢失,在这种情况丅重发时要求这些帧的序号

不落在当前接收窗口的序号范围内。序号少了就会出现重复错误。

问题3:选择性重传滑动窗口协议协议可能会收到落在接收窗口之外的数据帧这句话是否正确?

答:正确因确认帧丢失而重传的帧都会落在接收窗口之外。

问题4:回退N协议可能会收到落在发送窗口之外的确认帧这句话是否正确?

答:正确如果因确认帧迟到而出现超时重传,就可能收到一个帧的两个确认帧第二个确认帧就会落在发送窗口之外 。

问题5:选择性重传滑动窗口协议协议丢失了NAK并非致命错误这句话是否正确?

答:正确因为还囿超时重传机制确保可靠性。 

例题:如果上题(回退N滑动窗口协议中的例题)改为选择性重传滑动窗口协议并且接收窗口大小等于发送窗口大小,并且只有第2帧丢失问接收方依次收到这些帧(含重传帧)的序号(序号之间用一个空格隔开)

发送3456之后,收到3的ACK继续发送7,但是此时没有收到4的ACK重发4,在4收到之前收到567所以序列为.

  • PPP协议可以提供连接认证、传输加密和压缩功能。
  • PPP协议用IPCP协议获取IP地址
  • PPP协议使用LCP协议确定是否需要身份认证和确定链路层的参数。

我要回帖

更多关于 选择性重传协议 的文章

 

随机推荐