收藏 分享(赏)

(4.6.1)--3-6_6个模拟的DLL协议之4-改2.pdf

上传人:职教中心 文档编号:13708641 上传时间:2022-10-11 格式:PDF 页数:30 大小:991.39KB
下载 相关 举报
(4.6.1)--3-6_6个模拟的DLL协议之4-改2.pdf_第1页
第1页 / 共30页
(4.6.1)--3-6_6个模拟的DLL协议之4-改2.pdf_第2页
第2页 / 共30页
(4.6.1)--3-6_6个模拟的DLL协议之4-改2.pdf_第3页
第3页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、滑窗协议第三章 数据链路层如何提高 信道 利用率? 全双工 捎带确认 批量发送数据:滑窗技术 (协议 4协议 6)协议 4: n=1引出滑动窗口的基本概念协议 5:回退 n帧( Go Back n)协议 6:选择重传( Select Repeat)如何提高 信道 利用率? 两 个窗口发送 窗口 对应着 已经发送但还未被确认 的帧 的序号接收 窗口 对应 着 期望接收 的帧的序号窗口大小 为 1,有 3位序列号的滑动窗口初始时 发送 了第一帧 接收 了第一帧 收到 第一个确认帧窗口滑动的条件 接收方收到帧后,首先核对是否为预期帧号 (frame_expected),如果是的,则接收并 frame

2、_expected+1,即 移动接收窗口 。 发送端收到应答帧,核对响应帧号 next_frame_to_send,核对无误后,从网络层取新的帧,并执行 next_frame_to_send+1,即 移动发送窗口 。如核对帧号不正确,则不移动 窗口void protocol4 (void)seq_nr next_frame_to_send; seq_nr frame_expected; frame r, s; packet buffer; event_type event;next_frame_to_send = 0; frame_expected = 0; from_network_laye

3、r(&buffer); s.info = buffer; s.seq = next_frame_to_send; s.ack = 1 frame_expected; to_physical_layer(&s); start_timer(s.seq); Seq=0Ack=1while (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);

4、 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(s.seq); 收到对方的捎带确认捎带确认移动接收窗口移动发送窗口w=1滑动窗口概念A7A61 A50 A41 A30 A21 A10 A0Seq DataA6101010Se

5、qA5A4A3A2A1A0DataA的发送窗口 B的接收窗口被确认的发送帧待确认的发送帧窗口外的发送帧提交网络层的正确接收帧待提交的接收帧窗口外的接收帧滑动窗口的基本概念 每个待发送帧被赋予一个序列号 seqseq的取值范围是 0 2n-1( n位字段 ) 建立缓冲区发送窗口: 缓存已发送、待确认的帧 顺序接收来自网络层的分组,成帧,赋予序列号 最多保存 W个已经发送、等待确认的帧 窗口达到最大值 W时强制关闭网络层接收窗口: 缓存期待接收的帧(序号) 对进入窗口的帧顺序提交网络层,产生确认 落在窗口外的帧被 丢弃协议 4的滑动窗口基本工作原理 窗口设置滑动窗口最大值: MAX_SEQ = 1

6、通信双方初始值: seq =0, ack=1(期待接收 seq=0) 窗口滑动机制A首先发送数据帧( seq=0, ack=1, A0)B收到 A0,发送捎带确认帧( seq=0, ack=0, B0)A收到对 A0的确认,滑动窗口,发送帧 ( seq=1, ack=0, A1)协议 4的滑动窗口基本工作原理 特点序列号 seq和确认值 ack“0”“1”交替滑动窗口长度 W=1,收到确认才移动窗口保证按顺序将接收到的正确帧只一次上交网络层正常情况下发送窗口滑动机制接收缓冲区 seq 发送缓冲区 seq ( seq, ack, data)A B(0, 1, A0) (0, 1, A0)*(0,

7、 0, B0)(0, 0, B0)*(1, 0, A1) (1, 0, A1)*(1, 1, B1)(1, 1, B1)*(0, 1, A2) (0, 1, A2)*(0, 0, B2)(0, 0, B2)*(1, 0, A3) (1, 0, A3)*(1, 1, B3)异常情况一:对重复帧的差错控制A B期望 seq B= 0 (0, 1, A0) 期望 seqA =0(0, 1, A0)* 交网络层(0, 0, B0) 期望 seq A=1期望 acqA=0seqO acq O(0, 0, B0) 期望 seq A =1seqP acqP (0, 0, B0)*期望 seqB=1 (1,

8、0, A1)(0, 1, A0) seqO acqO(0, 0, B0) 期望 seq A=1seqOacqO (0, 0,B0)期望 seqB= 1 (1, 0, A1) (1, 0, A1)* seqP acqP(1, 1, B 1) 期望 seq A= 0超时重传 (0, 1, A0)超时重传 (0, 1, A0) (0, 1, A0)定时器设置短了异常情况二 :同步 开始发送过程的差错控制期望( 0,0)seqP ackOA B(0, 1, A0) (0, 1, B0)(0, 1, A0)*(0, 0, B0)期望( 0,0)seqP ackO期望( 1,0)(0, 1, B0)*(0

9、, 0, B0)(0, 0, A0)(1, 0, A1)(0, 0, A0)(1, 0, B1)(1, 0, A1)*(1, 1, B1)(1, 0, B1)*(1, 0, A1)(1, 1, B1)(0, 1, A2)(1, 1, A1)(0, 1, B2)(0, 1, A2)(0, 0, B2)同时开始传输期望( 1,0)丢弃期望( 1,1)seqP ackO期望( 0,1)丢弃期望( 0,0)丢弃期望( 1,1)seqP ackO期望( 1,0)丢弃期望( 0,0)seqP ackO期望( 1,0)协议 4的信道 利用率怎样呢? 在协议 4中假设:以下时间是可以忽略的:接收方处理到达帧的

10、时间 事实上,在低速信道上,来回时间( RTT: the round-trip time)可能非常大 ,发送方在这段时间处于 blocked状态协议 4的信道利用率 如果:信道传输速率是: b bps每帧的大小是: k bits来回时间是: R sec则 信道的利用率是 :L ine U ti l iz a ti on Ra te k/( k bR)例 已知:信道容量 b = 50 kbps传输延迟 R = 500 ms(双程)数据帧的长度 k = 1000 bit设接收方收到数据帧后马上回送确认短帧,没有延时 求:信道利用率解 在源端发送数据帧过程需要的时间Tf =k/b = 20 ms 从

11、发送完毕到确认帧返回需要的时间( 双程延迟 )R = 500 ms 从开始发送到确认返回总共需要的时间(Tf +R) = 20 + 500 = 520 ms 线路的利用率Tf /(Tf +R) = 20/520 = 3.85 %Or: k/k+bR=1000/1000+50kbps*500ms=3.85%信道利用率不足 4%发送方接收方Tf R Tf + RW = 1在发送缓冲区只存储 1个待确认 帧提高信道利用率的方法 增加滑动窗口最大长度 W信道利用率 = W*Tf / (Tf +R) = W* k / ( k + bR) 理想情况下,使例题信道利用率达到 100%,则滑动窗口最大长度为

12、:W = (Tf +R) / Tf = 520 / 20 =26 Tf + RTf使信道利用率达到 100%发送方接收方W = 26连续发送、并在发送缓冲区存储 26个待确认帧。管道化( pipeling)怎样找到一个合适的 w值? 信道上的容量:一帧从发送方传输到接收期间可容纳的帧数量 带宽 -延迟积: BD 窗口值: w=2*BD+1 上述的例子:BD=50kbps*0.250=12.5kbW=2*12.5kb+1=26kb=26帧实际上 : w2*BD+1例 ( 2014考研题 )主机甲和主机乙之间使用后退 N帧协议( GBN)传输数据,甲的发送窗口尺寸为 1000,数据帧长为 1000

13、字节,信道为 100Mbps,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认。若甲乙之间的单向传播延迟是 50ms,则甲可以达到的最大平均传输速率约为:A 10Mnps B. 20Mbps C. 80Mbps D. 100Mbps 解设可达到的最大传输率为 x,于是1000f*1000Bpf*8=xbps*2*50ms/1000ms8000000=8000+2*0.05xx=80Mbps或者: w=1251,现在只有 1000,于是X=100M*( 1000/1251) =80M用管道化技术发送帧面临的新问题 出错情况连续发送 W个数据帧,其中有一帧出错,但其后续帧被成功发送 接

14、收方的接收策略选择丢弃错帧及 后续 帧 , 其后续帧因不是期望接收帧也被丢弃丢弃错帧 , 缓存 后续正确接收 帧用管道化技术发送帧面临的新问题 对应 的发送方的重传策略选择缓存 在发送窗口中的出错帧以及其后续帧全部重发 协议 5只重发出错帧 协议 6 滑窗技术可以批量收发数据,提高了信道利用率。 发送窗口对应着已经发送但还未被确认的帧。滑动条件:收到了帧的确认。 接收 窗口对应着:期待接收的帧。滑动条件:收到了期待接收的帧。 窗口数的确认跟 带宽延迟积 正相关。小结 为什么提出滑窗技术? 什么是发送窗口? 发送 窗口什么时候滑动? 什么 是接收窗口 ? 接收 窗口 什么时候滑动 ? 什么是带宽延迟积? 窗口值怎么确定?跟哪些因素有关?思考题谢谢观看致谢本课程 课件中的部分素材来自于:( 1)清华大学出版社出版的翻译教材 计算机网络 (原著作者: Andrew S. Tanenbaum,David J. Wetherall);( 2)思科网络技术学院教程;( 3)网络上搜到的其他资料。在此,对清华大学出版社、思科网络技术学院、人民邮电出版社、以及其它提供本课程引用资料的个人表示衷心的感谢!对于 本课程引用的素材,仅用于课程学习,如有任何问题,请与我们联系!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报