《(4.8.1)--3-8_6个模拟的DLL协议之6-改1.pdf》由会员分享,可在线阅读,更多相关《(4.8.1)--3-8_6个模拟的DLL协议之6-改1.pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、选择性重传选择性重传第三章第三章 数据链路层数据链路层用管道化技术发送帧面临的新问题 出错情况连续发送W个数据帧,其中有一帧出错,但其后续帧被成功发送 接收方的接收策略选择丢弃错帧及后续幁,其后续帧因不是期望接收帧也被丢弃丢弃错帧,缓存后续正确接收帧 对应的发送方的重传策略选择缓存在发送窗口中的出错帧以及其后续帧全部重发协议5只重发出错帧协议6协议6:选择重传 接收方的接收策略选择:丢弃错帧,缓存后续正确接收帧;发送方的重传策略选择:只重发出错帧。选择重传协议的基本概念 接收窗口存储差错帧后继的所有正确帧 发送方只重传差错帧 接收方接收重传帧,按正确顺序将分组提交网络层举例(MAX_SEQ=1
2、5)例:选择重传协议0 1 2 3 4 5 6 7 8 2 0 1 E 3 4 5 6 7 8 2 出错接收缓存超时间隔接收重传排序上交重传Seq=015;W=8选择重传协议的工作原理分析发送方 正常发送对帧编号,待确认帧缓存 收到确认释放确认帧所占缓冲区,滑动发送窗口 差错帧超时时间到重传缓存的最后被确认帧以后的那一帧接收方 正常接收上交网络层、回送确认,滑动接收窗口 收到非期望的正确帧缓存,回送对接收的最后正确帧的确认 收到重传帧将缓存帧排序上交,回送确认,滑动接收窗口关键步骤:接收方收到非期望的正确帧缓存0 1 2 3 4 5 6 7 8 2 9 10 11 12 13 14 15 16
3、 17 01E34567829101112131415Ack=15 Ack=0 Ack=1 Ack=1 Ack=1 Ack=1 Ack=1 Ack=1 接收方缓冲区 2 3 D3 4 D4 5 D5 6 D6 7 D7 8 9 接收方期望接收seq2,缓存其后的正确帧。发送方缓冲区 Seq=2,D2 Seq=3,D3 Seq=4,D4 Seq=5,D5 Seq=6,D6 Seq=7,D7 Seq=8,D8 关键步骤:发送方选择帧seq2重传0 1 2 3 4 5 6 7 8 2 9 10 11 12 13 14 15 16 17 01E34567829101112131415Ack=15 Ac
4、k=0 Ack=1 Ack=1 Ack=1 Ack=1 Ack=1 Ack=1 Ack=1 发送方缓冲区 Seq=2,D2 Seq=3,D3 Seq=4,D4 Seq=5,D5 Seq=6,D6 Seq=7,D7 Seq=8,D8 接收方缓冲区 2 3 D3 4 D4 5 D5 6 D6 7 D7 8 D8 9 关键步骤:接收方收到重传帧seq2排序上交Ack=15 Ack=0 Ack=1 Ack=1 Ack=1 Ack=1 Ack=1 Ack=1 Ack=1 Ack=8 0 1 2 3 4 5 6 7 8 2 01E34567829101112131415将帧seq2和接收方缓冲区中的帧正确
5、排序,提交网络层,回送ack=8,滑动接收窗口。协议6选择重传小结 接收方缓存 乱序帧,需正确排序注意:NAK/累计确认的作用 否定确认NAK加快出错帧的重传对出错帧回送否定确认,使发方不再等到超时再重传差错控制策略比较 回退n帧发送方需要较大的缓冲区,以便重传重传帧数多,适于信道出错率较少的情况 选择重传接收方需要较大的缓冲区,以便按正确顺序将分组提交网络层重传帧数少,适于信道质量不好的情况滑动窗口长度w的选择 协议6(选择重传)MAX_SEQ=7(Seq=0 MAX_SEQ)W=4 接收窗口:W=(MAX_SEQ+1)/2 发送窗口小于接收窗口协议6:W=7,初始缓冲区空 接收方 发送方
6、0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 发送方缓冲区 0 1 2 3 4 5 6 接收方缓冲区 0 1 2 3 4 5 6 协议6:帧06发送成功、正确接收 接收方 0 1 2 3 4 5 6 发送方 0 1 2 3 4 5 6 发送帧06等待确认。帧06上交网络层,回送确认,接收窗口滑动。帧06的确认丢失!发送方缓冲区 0 D0 1 D1 2 D2 3 D3 4 D4 5 D6 6 D6 接收方缓冲区 7 0 1 2 3 4 5 协议6:帧0超时重传并被正确接收 接收方 0 1 2 3 4 5 6 0 发送方 0 1 2 3 4 5
7、 6 0 发送方缓冲区 0 D0 1 D1 2 D2 3 D3 4 D4 5 D6 6 D6 接收方缓冲区 7 0 D0 1 2 3 4 5 重传帧0正确到达,seq=0在可接收范围,被接收在缓冲区内,回送ack=6。帧0超时,被重传。协议6:帧0被重复提交 接收方 0 1 2 3 4 5 6 0 7 8 9 10 11 12 13 发送方 0 1 2 3 4 5 6 0 7 8 9 10 11 12 13 发送方缓冲区 7 D7 0 D8 1 D9 2 D10 3 D11 4 D12 5 D13 接收方缓冲区 7 D7 0 D0 1 2 3 4 5 第7帧正确提交,重传帧0被认为是正确帧提交
8、,出现重复提交错误。回发对第6帧的确认收到第6帧的确认,认为06被正确接收,发送第713帧。解决办法:保证新老窗口不重叠MAX_SEQ=7W=7W=4新老窗口重叠新老窗口不重叠协议6:W=(MAX_SEQ+1)/2 接收方 0 1 2 3 发送方 0 1 2 3 发送帧03等待确认。帧03上交网络层,回送确认,接收窗口滑动。帧03的确认丢失!发送方缓冲区 0 D0 1 D1 2 D2 3 D3 接收方缓冲区接收方缓冲区 4 5 6 7 帧03的重传帧落在接收窗口外,被拒绝,不会出现重复提交错误。3个协议的窗口大小 One-Bit sliding window(协议4):0=size of Se
9、nding window=1size of receiving window=1 Go-back-N(协议5):0=size of Sending window=MAX_SEQsize of receiving window=1 Selective Repeat(协议6):0=size of Sending window=(MAX_SEQ+1)/2size of receiving window=(MAX_SEQ+1)/2 批发数据时,其中一帧出错,可以从出错帧开始重传,也可以重传错误帧。选择性重传需要接收方付出更多的缓存代价。适合出错率高的传输环境 选择性重传的窗口数发送窗口:0 W(MAX
10、_SEQ+1)/2接收窗口:W(MAX_SEQ+1)/2一般地:接收窗口小于发送窗口小结小结 什么是否定确认重传?有什么作用?选择性重传的工作原理是怎样的?如何确定选择性重传协议的窗口数?思考题思考题谢谢观看谢谢观看致谢致谢本课程课件中的部分素材来自于:(1)清华大学出版社出版的翻译教材计算机网络(原著作者:Andrew S.Tanenbaum,David J.Wetherall);(2)思科网络技术学院教程;(3)网络上搜到的其他资料。在此,对清华大学出版社、思科网络技术学院、人民邮电出版社、以及其它提供本课程引用资料的个人表示衷心的感谢!对于本课程引用的素材,仅用于课程学习,如有任何问题,请与我们联系!