【计算机网络】数据链路层 : 后退 N 帧协议 GBN ( 滑动窗口 | 发送窗口长度 | “发送方“ 累计确认、超时机制 | “接收方“ 按序接收、确认帧发送机制 | 计算示例 )★(二)

简介: 【计算机网络】数据链路层 : 后退 N 帧协议 GBN ( 滑动窗口 | 发送窗口长度 | “发送方“ 累计确认、超时机制 | “接收方“ 按序接收、确认帧发送机制 | 计算示例 )★(二)

七、 后退 N 帧协议 ( GBN ) 运行细节


后退 N 帧协议 运行细节 :


① 发送端连续发送 :


发送窗口 大小为 4 44 , 可以一次性发送 4 44 帧数据 , { 0 , 1 , 2 , 3 } \{ 0, 1, 2, 3 \}{0,1,2,3} ;


发送端 发送 0 00 帧 , 接收方 接收到 0 00 帧 , 返回 ACK 0 00 ;


发送端 发送 1 11 帧 , 接收方 接收到 1 11 帧 , 返回 ACK 1 11 ;



② 丢失 2 22 帧 : 发送端 发送 2 22 帧 , 2 22 号帧 半路丢失 , 接收方 没有收到 2 22 帧 ;



③ 期待 2 22 帧 : 接收方 的 期待帧是 第 2 22 帧 ;



④ 接收方 获知 丢帧 : 发送方 发送 3 33 帧 , 接收方 接收到 3 33 帧 , 此时发现 2 22 帧丢失 , 直接丢弃 3 33 帧 , 并向接收方 发送 上一个成功接收的帧的确认信息 ACK 1 11 , 让发送方从 第 2 22 帧开始发送 ;



⑤ 发送方 收到 ACK 确认帧 :


发送方 收到 ACK 0 00 之后 , 发送窗口 向后 滑动一位 , 变成 { 1 , 2 , 3 , 4 } \{ 1, 2, 3 , 4 \}{1,2,3,4} ;


发送方 收到 ACK 1 11 之后 , 发送窗口 向后 滑动一位 , 变成 { 2 , 3 , 4 , 5 } \{ 2, 3 , 4 , 5\}{2,3,4,5} ;



⑥ 发送超时处理 : 如果 发送方 一直 没有收到 ACK 2 22 , 等待时间超时 , 就会 后退 N NN 帧 , 重发 2 , 3 , 4 , 5 2 , 3, 4, 52,3,4,5 帧 ;






八、 后退 N 帧协议 ( GBN ) 发送窗口长度


后退 N 帧协议 滑动窗口长度 :


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

T


 满足如下公式要求 :


1 ≤ W T ≤ 2 n − 1 1 \leq W_T \leq 2^{n} - 1

1≤W

T


≤2

n

−1



如果不满足上述公式 , 就会因为 发送窗口 过大 , 接收方 无法识别 新帧 和 旧帧 ;



滑动窗口示例 :


如使用 2 22 比特 进行帧编号 , 那么滑动窗口大小是 1 ≤ W T ≤ 3 1 \leq W_T \leq 31≤W

T


≤3 ;


如果滑动窗口有 4 44 比特 , 那么发送 0 , 1 , 2 , 3 0 , 1, 2, 30,1,2,3 四帧数据 给 接收端 , 四个帧全部丢失 , 此时就会将 四个帧 再次重传 , 这 4 44 帧数据 , 是重发的旧的帧 还是下一个滑动窗口 新的帧 , 无法确定 ;






九、 后退 N 帧协议 ( GBN ) 重点


发送方 累计确认 机制 : 收到 ACK N NN , 就表示 N NN 号帧及之前的帧 , 全部正确 ;



接收方 按序接收 : 接收方 只能 按照顺序接收 , 人如果中间有帧丢失 , 那么后续帧全部丢弃 ;



接收方 确认帧 : 接收方 如果 收到错误帧 , 失序帧 , 那么查找最近成功接收的正确的帧的最大的 , 按序到达的帧 序号是多少 , 发送该帧对应的 ACK 确认帧 ;



发送窗口 : n nn 是帧序号编码长度 , 发送窗口大小 最大是 2 n − 1 2^n - 12

n

−1 , 最小 1 11 ;






十、 后退 N 帧协议 ( GBN ) 计算示例


数据链路层 采用 后退 N NN 帧协议 , 发送方 发送了 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 0,1,2,3,4,5,6,70,1,2,3,4,5,6,7 编号的数据帧 , 当计时器超时时 , 只接收到了 0 , 2 , 3 0 , 2, 30,2,3 帧的确认帧 , 发送方需要重发的帧数时 4 , 5 , 6 , 7 4,5,6,74,5,6,7 帧 ;



计时器超时 , 发送方 发送 已发送 , 但是没有被 确认 的帧 ;


确认机制 是 累计确认 的 , 发送方 接收到了 3 33 确认帧 , 说明 3 33 之前的帧已经成功接收了 , 虽然没有收到 1 11 确认帧 , 但是该帧已经默认接收成功 ;


重发 没有被确认的帧 , 即 4 , 5 , 6 , 7 4,5,6,74,5,6,7 帧 ;






十一、 后退 N 帧协议 ( GBN ) 协议性能


后退 N 帧协议 ( GBN ) 协议性能 :


① 优点 : 发送端可以先 连续 发送 滑动窗口中的 N NN 帧 数据帧 , 提高了信道利用率 ;


② 缺点 : 选择重传时 , 将某些正确发送的数据帧进行了重传 , 降低了传输效率 ;



为了解决上述弊端 , 引入了 选择重传协议 ;


目录
相关文章
|
7月前
|
算法 JavaScript 数据安全/隐私保护
基于GA遗传优化的最优阈值计算认知异构网络(CHN)能量检测算法matlab仿真
本内容介绍了一种基于GA遗传优化的阈值计算方法在认知异构网络(CHN)中的应用。通过Matlab2022a实现算法,完整代码含中文注释与操作视频。能量检测算法用于感知主用户信号,其性能依赖检测阈值。传统固定阈值方法易受噪声影响,而GA算法通过模拟生物进化,在复杂环境中自动优化阈值,提高频谱感知准确性,增强CHN的通信效率与资源利用率。预览效果无水印,核心程序部分展示,适合研究频谱感知与优化算法的学者参考。
|
7月前
|
存储 消息中间件 弹性计算
阿里云服务器ECS计算型c7和通用算力型u1在适用场景、计算性能、网络与存储性能等方面的对比
阿里云ECS服务器u1和c7实例在适用场景、性能、处理器特性等方面存在显著差异。u1为通用算力型,性价比高,适合中小企业及对性能要求不高的场景;c7为企业级计算型,采用最新Intel处理器,性能稳定且强大,适用于高性能计算需求。u1支持多种CPU内存配比,但性能一致性可能受底层平台影响;c7固定调度模式,确保高性能与稳定性。选择时可根据预算与性能需求决定。
363 23
|
7月前
计算网络号的直接方法
子网掩码用于区分IP地址中的网络部分和主机部分,连续的“1”表示网络位,“0”表示主机位。例如,255.255.255.0 的二进制为 11111111.11111111.11111111.00000000,前24位是网络部分。通过子网掩码可提取网络号,如 IP 192.168.1.10 与子网掩码 255.255.255.0 的网络号为 192.168.1.0。此外,文档还介绍了十进制与二进制间的转换方法,帮助理解IP地址的组成与计算。
456 11
|
12月前
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
282 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
12月前
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数
|
12月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
265 17
|
12月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
226 10
|
12月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。