信息与通信工程-2015滑动窗口协议.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息与通信工程-2015滑动窗口协议

东华大学计算机科学与技术学院 -*- 东华大学计算机科学与技术学院 -*- * * * 第三章(第四部分) 滑动窗口协议 数据链路层主要解决三个问题 成帧 校验,重发 流量控制 协议1,2,3属于单工通信且信道利用率很低,但在实际中双工通信更加实用。 滑动窗口协议 协议4:1位滑动窗口协议 协议5:回退N协议 协议6:选择重传协议 滑动窗口协议的要点: 任何时刻发送进程都要维护一组帧序号,对应于一组已经发送但尚未被确认的帧,这些帧称为落在发送窗口内; 类似地,接收进程也要维护一组帧序号,对应于一组允许接收的帧,这些帧称为落在接收窗口内。 滑动窗口的例子(设W =5,W =3) 2 1 3 T R 一位滑动窗口协议 A和B之间的通信是双向的,A和B都运行一个滑动窗口协议,包含了发送和接收的功能。 帧序号仅用1bit表示,A和B的发送窗口和接收窗口都是1。 发送方发送下一个数据帧之前必须收到接收方的确认之后且接收方采用的是捎带确认。 1个1位滑动窗口协议 void protocol4(void) { seq_nr next_frame_to_send; seq_nr frame_expected; frame r, s; next_frame_to_send=0; frame_expected=0; from_network_layer(buffer); s.info = buffer; s.seq = next_frame_to_send; s.ack = 1-frame_expected; to_physical_layer(s); start_timer(s.seq); while (true) { wait_for_event(event); if (event==frame_arrival){ from_physical_layer(r) if (r.seq==frame_expected){ to_network_layer(r.info); inc(frame_expected);} if (r.ack==next_frame_to_send){ stop_timer(r.ack); from_network_layer(buffer); inc(next_frame_to_send);} } s.info=buffer; s.seq=next_frame_to_send; s.ack=1-frame_expected; to_physical_layer(s); start_timer;} } A sends(0,1,A0) A gets(0,0,B0) A gets(0,0,B2) A sends(0,1,A2) A gets(1,1,B1) A sends(1,0,A1) A sends(1,0,A3) B gets(0,1,A0) B gets(0,1,A2) B sends(1,1,B1) B gets(1,0,A1) B sends(0,0,B0) B sends(0,0,B2) B gets(1,0,A3) B sends(1,1,B3) 正常情况 A sends(0,1,A0) A gets(0,1,B0) A gets(1,0,B1) A sends(1,0,A1) A gets(0,0,B0) A sends(0,0,A0) A sends(1,1,A1) B gets(0,1,A0) B gets(1,0,A1) B sends(1,0,B1) B gets(1,0,A0) B sends(0,0,B0) B sends(1,1,B1) B gets(1,1,A1) B sends(0,1,B2)

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档