【计算机网络】数据链路层 : 总结 ( 封装成帧 | 流量控制与可靠传输 | 差错控制 | 介质访问控制 | 局域网 | 广域网 | 数据链路层设备 ) ★★★(二)

简介: 【计算机网络】数据链路层 : 总结 ( 封装成帧 | 流量控制与可靠传输 | 差错控制 | 介质访问控制 | 局域网 | 广域网 | 数据链路层设备 ) ★★★(二)

3、选择重传 ( SR ) 协议 ★


1 . 选择重传协议 SR 重点 :


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


② 重传 出错 的 单个帧 ;


③ 接收方 有缓存 ;


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

T


=W

R


=2

n−1

 ;



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



使用 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




2 . 选择重传协议 计算示例


数据链路层 使用 选择重传协议 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 数据帧 ;




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






四、差错控制 ( 检错 | 纠错 ) ★


生成多项式 最高次幂 = FCS 帧检验序列个数


上述数值 加上 1 11 等于 生成多项式二进制 个数



1 . 奇偶校验码 组成 :


① 信息元 : n − 1 n-1n−1 位 ; 要发送的有效数据 ;


② 校验元 : 1 11 位 ; 冗余码 ;


③ 奇校验码 : 1 11 的个数为 奇数 ; 冗余位 1 11 ;


④ 偶校验码 : 1 11 的个数为偶数 ; 冗余位 0 00 ;




2 . CRC 循环冗余码


发送数据 1101011011 1101 0110 111101011011 , 使用 CRC 循环冗余码 , 生成多项式是 10011 1001110011 , 求最终的发送数据 ? ??



最终发送的数据组成 : 原始数据 1101011011 1101 0110 111101011011 + 帧检验序列 FCS ;


计算 帧检验序列 FCS :


① 数据加 冗余码 位数个 0 00 : 首先确定 冗余码 位数 , 冗余码的位数是 生成多项式的 阶 , 即 生成多项式 10011 1001110011 的 总位数 减去 1 11 , 相当于 离散数学 中的生成函数的 最高位次幂 ; FCS 的位数是 4 44 位 ;


生成多项式 是 N NN 位 , 那么阶 就是 N − 1 N-1N−1 位 , FCS 帧检验序列就是 N − 1 N-1N−1 位 ;


数据加 4 44 个 0 00 后为 11010110110000 1101 0110 11 000011010110110000



② 模 2 22 除法 : 数据 加上 0 00 后 , 除以 生成多项式 , 余数就是 FCS 帧检验序列 ;


二进制除法 , 与十进制除法不同的是 , 每个除法相除的计算是 异或操作 ;


异或运算 : 同 0 00 , 异 1 11 ;



模 2 22 除法计算过程分析 :


11010 1101011010 异或 10011 1001110011 计算得到 1001 10011001 , 然后下一位 1 11 落下来 , 得到 10011 1001110011 ;

10011 1001110011 异或 10011 1001110011 计算得到 00000 0000000000 , 然后下面 5 55 位 落下来 , 得到 10110 1011010110 ;

10110 1011010110 异或 10011 1001110011 计算得到 101 101101 , 然后下 2 22 位落下来 , 得到 10100 1010010100 ;

10100 1010010100 异或 10011 1001110011 计算得到 1110 11101110


最终计算出来的 帧检验序列 是 1110 11101110 ;


最终发送的数据是 : 1101011011 1101 0110 111101011011 1110 11101110




接收端接收数据并校验 :


① 检验过程 : 接收端接收 上述 1101011011 1101 0110 111101011011 1110 11101110 数据 , 将上述数据 与 生成多项式 10011 1001110011 相除 , 如果余数为 0 00 说明该数据帧没有差错 ;


② 结果判定 : 如果余数不为 0 00 , 说明数据帧错误 , 而且不知道哪里出现错误 , 丢弃该数据帧 , 重新发送 ;




3 . 生成多项式 : G ( x ) = x 3 + x 2 + 1 G(x) = x^3 + x^2 + 1G(x)=x

3

+x

2

+1


相当于 : G ( x ) = x 3 + x 2 + 0 x 1 + x 0 G(x) = x^3 + x^2 + 0x^1 + x^0G(x)=x

3

+x

2

+0x

1

+x

0


对应的模二运算的除数 : 1101 11011101 ;


x xx 的 0 00 次幂系数为 1 11 , 对应第 0 00 位 为 1 11 ;

x xx 的 1 11 次幂系数为 0 00 , 对应第 1 11 位 为 0 00 ;

x xx 的 2 22 次幂系数为 1 11 , 对应第 2 22 位 为 1 11 ;

x xx 的 3 33 次幂系数为 1 11 , 对应第 3 33 位 为 1 11 ;


生成多项式对应的 二进制数 , 总位数是最高次幂加一 , 每一位是对应位前的系数 0 00 或 1 11 ;




参考博客 : 【计算机网络】数据链路层 : 差错控制 ( 检错编码 | 奇偶校验码 | CRC 循环冗余码 )★




4 . 纠错编码 海明码


参考博客 : 【计算机网络】数据链路层 : 差错控制 ( 纠错编码 | 海明码 | “海明码“ 原理 | “海明码“ 工作流程 | 确定校验啊位数 | 确定校验码和数据位置 | 求校验码值 | 检错纠错 )★



目录
相关文章
|
3月前
|
运维 架构师 安全
二层协议透明传输:让跨域二层协议“无感穿越”多服务商网络
简介:本文详解二层协议透明传输技术,适用于企业网工、运营商及架构师,解决LLDP/LACP/BPDU跨运营商传输难题,实现端到端协议透传,提升网络韧性与运维效率。
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
354 11
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
1024 3
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
12月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
265 17
|
12月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
226 10
|
12月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
12月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
235 10
|
监控 安全 网络安全
网络安全与信息安全:漏洞、加密与意识的交织
在数字时代的浪潮中,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文深入探讨了网络安全中的漏洞概念、加密技术的应用以及提升安全意识的重要性。通过实际案例分析,揭示了网络攻击的常见模式和防御策略,强调了教育和技术并重的安全理念。旨在为读者提供一套全面的网络安全知识框架,从而在日益复杂的网络环境中保护个人和组织的资产安全。
|
12月前
|
存储 监控 安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
本文将探讨云计算与网络安全之间的关系,以及它们在云服务、网络安全和信息安全等技术领域中的融合与挑战。我们将分析云计算的优势和风险,以及如何通过网络安全措施来保护数据和应用程序。我们还将讨论如何确保云服务的可用性和可靠性,以及如何处理网络攻击和数据泄露等问题。最后,我们将提供一些关于如何在云计算环境中实现网络安全的建议和最佳实践。