【计算机网络】数据链路层 : 选择重传协议 SR ( 帧分类 | “发送方“ 确认帧、超时事件 | “接受方“ 接收帧机制 | 滑动窗口长度 | 计算示例 )★

简介: 【计算机网络】数据链路层 : 选择重传协议 SR ( 帧分类 | “发送方“ 确认帧、超时事件 | “接受方“ 接收帧机制 | 滑动窗口长度 | 计算示例 )★

文章目录

一、 选择重传协议 ( SR ) 引入

二、 选择重传协议 ( SR ) 帧分类

三、 发送方 事件 ( 确认帧、超时事件 )

四、 接收方 事件 ( 接收帧 )

五、 滑动窗口长度

五、 选择重传协议 SR 重点

六、 选择重传协议 SR 计算示例





一、 选择重传协议 ( SR ) 引入


后退 N NN 帧协议 ( GBN ) 弊端 : 累计确认 机制 , 导致的批量重传 , 这些重传的帧 , 可能已经传输成功 , 就是因为之前的帧出错 , 导致传输成功的帧被丢弃 ;



上述弊端 解决方案 : 设置 单个帧确认机制 , 加大 接收窗口 , 设置接收缓存 , 可处理乱序到达的帧 ;






二、 选择重传协议 ( SR ) 帧分类


发送方 帧 分类 :


① 发送窗口外 , 发送完毕 , 被确认的帧 ; 滑动窗口已经划过的位置 ;


② 发送窗口内 , 发送完毕 , 被确认的帧 ;


③ 发送窗口内 , 发送完毕 , 等待确认的帧 ; 此时该数据帧需要被缓存 ;


④ 发送窗口内 , 还能发送的帧 ;


⑤ 发送窗口外 , 还不能发送的帧 ; 滑动窗口还没有滑到的位置 ;




接收方 帧 分类 :


① 接收窗口外 , 已经成功接收的帧 ;


② 接收窗口内 , 希望收到 , 但是未收到的帧 ;


③ 接收窗口内 , 希望收到 , 刚收到的帧 ;


④ 接收窗口内 , 不希望收到 , 却提前收到的帧 , 已经缓存下来 ;


⑤ 接收窗口内 , 等待接收的帧 ;






三、 发送方 事件 ( 确认帧、超时事件 )


上层调用事件 : 上层发送数据时 , 先检查 发送窗口 ;


① 如果 发送窗口 未满 : 则 生成 数据帧 , 发送数据 ;


② 如果 发送窗口 已满 : 发送方将该信息通知上层 , 让 上层 延迟发送 ;




A C K ACKACK 确认帧 事件 : 逐一确认 ;


① 接收确认帧 : 接收方收到 ACK 确认帧 ;


② 标记已接收 : 发送窗口 内 将该 帧序号 对应的帧 标记为 已接收 ;


③ 移动发送窗口 : 如果 该 帧序号 是 发送窗口 的下界 ( 最左侧窗口 ) , 将 发送窗口 移动到 最小序号的 没有确认 的帧位置 ; 可能移动 一个位置 , 也可能移动多个位置 ;


④ 发送未发送帧 : 发送窗口 移动完毕后 , 如果发现 该 发送窗口 中有没有发送的帧 , 就将这些帧发送出去 ;




超时事件 : 每个帧 都有 自己的定时器 , 如果 某个 帧出现了定时器超时事件 , 重传该单个帧 ;






四、 接收方 事件 ( 接收帧 )


接收方 事件 :


① 接收正确帧 : 接收方 接收 正确的帧 , 不管其帧的顺序 ;


② 失序处理 : 失序的帧 , 将会被缓存起来 , 并向 发送方 发送该 失序帧 的 ACK 确认帧 ;


③ 移动接收窗口 : 如果 接收到的 帧序号 是 接收窗口 的下界 ( 最左侧窗口 ) , 将成功接收到的连续数据交付给上层 , 将 接收窗口 移动到 最小序号的 没有接收到 的帧位置 ; 可能移动 一个位置 , 也可能移动多个位置 ;






五、 滑动窗口长度


发送窗口 与 接收窗口 大小相等 , 便于流量控制 ;



使用 n nn 比特 对 帧进行编号 , 发送窗口的尺寸 W T W_TW

T


 和 接收窗口尺寸 W R W_RW

R


满足如下公式要求 :


W T = W R = 2 n − 1 W_T = W_R = 2^{n - 1}

W

T


=W

R


=2

n−1






五、 选择重传协议 SR 重点


选择重传协议 SR 重点 :


① 数据帧 逐一确认 , 接收方收到一个帧 , 就会单独发送该帧的确认帧 ;


② 重传 出错 的 单个帧 ;


③ 接收方 有缓存 ;


④ 滑动窗口大小 : W T = W R = 2 n − 1 W_T = W_R = 2^{n - 1}W

T


=W

R


=2

n−1

 ;






六、 选择重传协议 SR 计算示例


数据链路层 使用 选择重传协议 SR , 发送方发送了 0 , 1 , 2 , 3 0 , 1, 2,30,1,2,3 帧 , 当前时刻 , 收到了 1 11 号确认帧 , 0 , 2 0, 20,2 号帧出现超时 , 则需要重发哪些帧 ? ??



SR 协议是收到一帧 , 确认一帧 ;


1 11 号帧 已经确认 , 不用重发 ;


0 , 2 0 , 20,2 帧 超时 , 必须重发 ;


3 33 号帧 等待确认 , 当前时刻不用管 , 如果超时 , 就需要重发 , 当前没有超时 , 等待即可 ;


因此最终只需要重发 0 , 2 0 , 20,2 数据帧 ;


目录
相关文章
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
2018 7
|
9月前
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
709 12
|
缓存 应用服务中间件 nginx
Web服务器的缓存机制与内容分发网络(CDN)
【8月更文第28天】随着互联网应用的发展,用户对网站响应速度的要求越来越高。为了提升用户体验,Web服务器通常会采用多种技术手段来优化页面加载速度,其中最重要的两种技术就是缓存机制和内容分发网络(CDN)。本文将深入探讨这两种技术的工作原理及其实现方法,并通过具体的代码示例加以说明。
1077 1
|
12月前
|
机器学习/深度学习 编解码 移动开发
RT-DETR改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
RT-DETR改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
265 5
RT-DETR改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
|
12月前
|
机器学习/深度学习 编解码 移动开发
YOLOv11改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
YOLOv11改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
364 7
YOLOv11改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
|
网络安全 Python
Python网络编程小示例:生成CIDR表示的IP地址范围
本文介绍了如何使用Python生成CIDR表示的IP地址范围,通过解析CIDR字符串,将其转换为二进制形式,应用子网掩码,最终生成该CIDR块内所有可用的IP地址列表。示例代码利用了Python的`ipaddress`模块,展示了从指定CIDR表达式中提取所有IP地址的过程。
551 6
|
网络协议 Java 应用服务中间件
深入浅出Tomcat网络通信的高并发处理机制
【10月更文挑战第3天】本文详细解析了Tomcat在处理高并发网络请求时的机制,重点关注了其三种不同的IO模型:NioEndPoint、Nio2EndPoint 和 AprEndPoint。NioEndPoint 采用多路复用模型,通过 Acceptor 接收连接、Poller 监听事件及 Executor 处理请求;Nio2EndPoint 则使用 AIO 异步模型,通过回调函数处理连接和数据就绪事件;AprEndPoint 通过 JNI 调用本地库实现高性能,但已在 Tomcat 10 中弃用
深入浅出Tomcat网络通信的高并发处理机制
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数
|
弹性计算 网络协议
计算机网络-数据链路层
计算机网络-数据链路层
计算机网络-数据链路层
|
网络协议 安全 前端开发
【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)
【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)
168 2