【计算机网络】数据链路层 : CSMA/CD 协议 ( 载波监听多点接入 / 碰撞检测 协议 | 单程端到端传播时延 | 截断二进制指数规避算法 | 计算示例 | 最小帧长问题 )★

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,同步至SelectDB 1个月
数据传输服务 DTS,同步至 ClickHouse 1个月
简介: 【计算机网络】数据链路层 : CSMA/CD 协议 ( 载波监听多点接入 / 碰撞检测 协议 | 单程端到端传播时延 | 截断二进制指数规避算法 | 计算示例 | 最小帧长问题 )★

文章目录

一、 CSMA/CD 协议

二、 传播时延对于 载波监听 的影响

三、 单程端到端传播时延 相关概念

四、 碰撞后重传时机 ( 截断二进制指数规避算法 )

五、截断二进制指数规避算法 计算示例

六、最小帧长问题





一、 CSMA/CD 协议


CSMA/CD 协议 :


① 全称 : Carrier Sense Multiple Access With Collision Detection , 载波监听多点接入 / 碰撞检测 协议 ;


② CS : Carrier Sense , 载波监听 , 每个站点 发送数据前 , 和 发送数据过程中 , 先检测总线上是否有其它 站点 在发送数据 ;


③ MA : Multiple Access , 多点接入 , 多个 主机 连接在同一条 总线 上 ; 该协议 应用于 总线型网络 中 ;


④ CD : Collision Detection , 碰撞检测 , 适配器 一边发送 , 一边监听 , 检测信道上电压变化 用于 判断本站点发送数据 时 , 其它站点是否也在发送你数据 ; 由此可以看出 , 该协议用于 半双工网络 中 ;



电磁波传输时间导致冲突 : 先监听了信道 , 但是还是会发生冲突 , 电磁波在信道上是以有限速度传播的 , 如果电磁波没有到本站点 , 当时检测肯定是没有信号 , 但是等到本站点向外发出数据时 , 突然检测到有信号 , 这里电磁波传输的时间差 , 就造成了这种误差 ;



ALOHA 协议 与 CSMA 协议 对比 :


ALOHA 协议 , 不听就说 ;


CSMA 协议 , 先听再说 ;


CSMA/CD 协议 , 先听再说 , 边听边说 ;






二、 传播时延对于 载波监听 的影响


传播时延对于 载波监听 的影响 :


① 前提 : 信道 两端 是 A , B A, BA,B 两台主机 , 两个站点 单程 端到端 , 电磁波 从 A AA 到 B BB 传播 , 需要 t tt 纳秒 ;


② A AA 发送数据到 B BB 一半 : 0 00 纳秒 时刻 , A AA 向 B BB 发送数据时 , 预计 t tt 纳秒后 , 到达到 B BB 站点 ;


③ B BB 发送数据到 A AA : B BB 在 t 2 \cfrac{t}{2}

2

t


 纳秒 时刻 , 突然 A AA 发送数据 , 此时检测到信道没有电磁波 , 因为此时电磁波还没有到达 B BB 站点 ; 因此检测到信道没有信号传输 ;


④ 出现冲突 : B BB 如果传输数据 , 肯定会在某时刻与 A AA 已经发送的数据 产生冲突 ; 此时时刻时 3 t 4 \cfrac{3t}{4}

4

3t


 纳秒


⑤ 碰撞 : B BB 的信号 与 A AA 的信号叠加在一起 , 称为碰撞 ; 此时两个信号都被污染了 , 无法解析使用 ;


⑥ B BB 站点检测到碰撞 : B BB 接收到 碰撞后的信号 , 校验肯定不通过 , 出现帧错误 , 此时检测到发生了碰撞 , B BB 站点暂停数据发送 ; 该时刻是 t tt 纳秒 ;


⑦ A AA 站点检测到碰撞 : A AA 接收到 碰撞后的信号 , 校验肯定不通过 , 出现帧错误 , 此时检测到发生了碰撞 , A AA 站点暂停数据发送 ; 此时时刻时 3 t 2 \cfrac{3t}{2}

2

3t


 纳秒






三、 单程端到端传播时延 相关概念


引入一组概念 :


① 单程端到端传播时延 : 记作 τ \tauτ ;


② 碰撞检测最长时间 : 站点发出数据后 , 最多 两倍的 单程端到端时延 2 τ 2\tau2τ 后就可以得知出现了碰撞 ;


③ 2 τ 2\tau2τ 概念 : 又称为 , 总线端到端往返传播时延 , 争用期 , 冲突窗口 , 碰撞窗口 ;



只要经过 2 τ 2\tau2τ 没有检测到碰撞 , 本次发送 , 一定没有碰撞 ;






四、 碰撞后重传时机 ( 截断二进制指数规避算法 )


截断二进制指数规避算法 :


① 争用期 : 确定基本退避时间 , 也就是争用期 , 两倍的 单程端到端传播时延 2 τ 2\tau2τ ;


② 重传次数 : 定义参数 k kk , 一定程度上相当于重传次数 ;


k kk 公式 : k kk 取值不超过 10 1010 , 公式为 k = m i n ( 重 传 次 数 , 10 ) k=min( 重传次数 , 10 )k=min(重传次数,10) ;

当重传次数 不超过 10 1010 时 : k = 重 传 次 数 k = 重传次数k=重传次数

当重传次数 大于 10 1010 时 : k = 10 k=10k=10 ;

③ 取随机数 : 从整数集合 [ 0 , 2 k − 1 ] [0, 2^k - 1][0,2

k

−1] 中 , 取出随机数 r rr , 重传时间就是 r × 2 τ r \times 2\taur×2τ ;


④ 重传次数限制 : 当重传 16 1616 次都失败时 , 说明网络拥塞严重 , 直接丢弃该帧 , 向上层报告出错 ;




示例 :


① 第 1 11 次重传 , k = 1 k=1k=1 , 从


[ 0 , 1 ] [0, 1][0,1] 区间中 , 即 { 0 , 1 } \{ 0 , 1\}{0,1}


中随机取一个值 , r rr ;


如果 r = 0 r = 0r=0 , 重传时间是 0 00 ;

如果 r = 1 r = 1r=1 , 重传时间是 2 τ 2\tau2τ ;


② 第 1 11 次重传 , k = 2 k=2k=2 , 从


[ 0 , 3 ] [0, 3][0,3] 区间中 , 即 { 0 , 1 , 2 , 3 } \{ 0 , 1 , 2 ,3\}{0,1,2,3}


中随机取一个值 , r rr ;


如果 r = 0 r = 0r=0 , 重传时间是 0 00 ;

如果 r = 1 r = 1r=1 , 重传时间是 2 τ 2\tau2τ ;

如果 r = 2 r = 2r=2 , 重传时间是 4 τ 4\tau4τ ;

如果 r = 3 r = 3r=3 , 重传时间是 6 τ 6\tau6τ ;


③ 第 3 33 次重传 , k = 3 k=3k=3 , 从


[ 0 , 7 ] [0, 7][0,7] 区间中 , 即 { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 } \{ 0 , 1 , 2 ,3 , 4, 5, 6, 7\}{0,1,2,3,4,5,6,7}


中随机取一个值 , r rr ;


如果 r = 0 r = 0r=0 , 重传时间是 0 00 ;

如果 r = 1 r = 1r=1 , 重传时间是 2 τ 2\tau2τ ;

如果 r = 2 r = 2r=2 , 重传时间是 4 τ 4\tau4τ ;

如果 r = 3 r = 3r=3 , 重传时间是 6 τ 6\tau6τ ;

如果 r = 4 r = 4r=4 , 重传时间是 8 τ 8\tau8τ ;

如果 r = 5 r = 5r=5 , 重传时间是 10 τ 10\tau10τ ;

如果 r = 6 r = 6r=6 , 重传时间是 12 τ 12\tau12τ ;

如果 r = 7 r = 7r=7 , 重传时间是 14 τ 14\tau14τ ;





五、截断二进制指数规避算法 计算示例


在 以太网 二进制回退算法中 , 碰撞 11 1111 次后 , 随机数 r rr 的选择范围是多少 ? ??


随机数 r rr 是根据 参数 k kk 确定的 , 参数 k kk 是重传次数 和 10 1010 中较小的值 , 重传次数 小于等于 10 1010 次时 , k = 重 传 次 数 k = 重传次数k=重传次数 , 重传次数大于等于 11 1111 次时 , k = 10 k = 10k=10 ;



随机数 r rr 的取值范围是 [ 0 , 2 k − 1 ] [0, 2^k - 1][0,2

k

−1] , 代入 k = 10 k=10k=10 ;


取值范围是 [ 0 , 2 10 − 1 ] [0 , 2^{10} - 1][0,2

10

−1] , 随机数 r rr 的 范围 是 [ 0 , 1023 ] [0 , 1023][0,1023] 之间的值 ;






六、最小帧长问题


检测到碰撞时 , 需要暂停帧的发送 , 如果帧太短 , 就会导致一次性发送完毕 , 无法暂停 , 这里需要在检测到碰撞时 , 帧还没有发送结束 ;



帧的传输时延 至少要 大于 2 τ 2\tau2τ ;


帧 的 传 输 时 延 = 帧 长 度 ( 比 特 ) 数 据 传 输 速 率 帧的传输时延 = \cfrac{帧长度 ( 比特 )}{ 数据传输速率 }帧的传输时延=

数据传输速率

帧长度(比特)




帧 长 度 ( 比 特 ) 数 据 传 输 速 率 ≥ 2 τ \cfrac{帧长度 ( 比特 )}{ 数据传输速率 } \geq 2\tau

数据传输速率

帧长度(比特)


≥2τ



帧 长 度 ( 比 特 ) ≥ 2 τ × 数 据 传 输 速 率 帧长度 ( 比特 )\geq 2\tau \times 数据传输速率帧长度(比特)≥2τ×数据传输速率



最小帧长度是 2 τ × 数 据 传 输 速 率 2\tau \times 数据传输速率2τ×数据传输速率 比特 ;



以太网 规定 最短帧长度是 64 字节 , 小于 64 字节的帧都是由于冲突终止的无效帧 ;


相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
3月前
|
算法 机器人
基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真
本课题研究基于海鸥优化算法(SOA)优化PID控制器参数的方法,通过MATLAB仿真对比传统PID控制效果。利用SOA算法优化PID的kp、ki、kd参数,以积分绝对误差(IAE)为适应度函数,提升系统响应速度与稳定性。仿真结果表明,SOA优化的PID控制器在阶跃响应和误差控制方面均优于传统方法,具有更快的收敛速度和更强的全局寻优能力,适用于复杂系统的参数整定。
|
5月前
|
数据采集 算法 数据挖掘
模块化控制协议(MCP)在网络中增强智能体执行效率的研究
随着Web3技术的迅速发展,去中心化应用和智能体在各种领域的应用逐渐增多。MCP(Modularized Control Protocol,模块化控制协议)作为一种增强智能体执行能力的关键技术,为Web3场景中的智能体提供了更强的灵活性和可扩展性。本文将探讨如何利用MCP技术提升智能体在Web3场景中的执行能力,并通过实例代码展示其实现路径。
421 22
|
2月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
3月前
|
运维 架构师 安全
二层协议透明传输:让跨域二层协议“无感穿越”多服务商网络
简介:本文详解二层协议透明传输技术,适用于企业网工、运营商及架构师,解决LLDP/LACP/BPDU跨运营商传输难题,实现端到端协议透传,提升网络韧性与运维效率。
|
7月前
|
算法 JavaScript 数据安全/隐私保护
基于GA遗传优化的最优阈值计算认知异构网络(CHN)能量检测算法matlab仿真
本内容介绍了一种基于GA遗传优化的阈值计算方法在认知异构网络(CHN)中的应用。通过Matlab2022a实现算法,完整代码含中文注释与操作视频。能量检测算法用于感知主用户信号,其性能依赖检测阈值。传统固定阈值方法易受噪声影响,而GA算法通过模拟生物进化,在复杂环境中自动优化阈值,提高频谱感知准确性,增强CHN的通信效率与资源利用率。预览效果无水印,核心程序部分展示,适合研究频谱感知与优化算法的学者参考。
|
7月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
199 18
|
8月前
|
网络协议 数据安全/隐私保护 网络架构
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
209 0
|
2月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
156 2

热门文章

最新文章