前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >以太网CSMA/CD协议:通信原理、碰撞检测与退避机制深度解析

以太网CSMA/CD协议:通信原理、碰撞检测与退避机制深度解析

作者头像
Srlua
发布于 2024-04-12 00:21:45
发布于 2024-04-12 00:21:45
2.4K0
举报
文章被收录于专栏:CSDN社区搬运CSDN社区搬运

CSMA/CD 协议

最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。

以太网采用广播方式发送

  • 总线上的每一个工作的计算机都能检测到 B 发送的数据信号。
  • 由于只有计算机 D 的地址与数据帧首部写入的地址一致,因此只有 D 才接收这个数据帧。
  • 其他所有的计算机(A, C 和 E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。
  • 在具有广播特性的总线上实现了一对一的通信。

以太网采取了两种重要的措施

为了通信的简便,以太网采取了两种重要的措施:

(1) 采用较为灵活的无连接的工作方式
  • 不必先建立连接就可以直接发送数据。
  • 对发送的数据帧不进行编号,也不要求对方发回确认。
  • 这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。
以太网提供的服务

以太网提供的服务是不可靠的交付,即尽最大努力的交付。

当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。

如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。

(2) 以太网发送的数据都使用曼彻斯特 (Manchester) 编码

CSMA/CD协议

CSMA/CD 含义:载波监听多点接入 / 碰撞检测

(Carrier Sense Multiple Access with Collision Detection) 。

多点接入”表示许多计算机以多点接入的方式连接在一根总线上。

载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。

总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。

碰撞检测

“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。

当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。

当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。

所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。

检测到碰撞后

在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。

每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

为什么要进行碰撞检测?

由于电磁波在总线上的传播速率是有限的,当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。

A 向 B 发出的信息,要经过一定的时间后才能传送到 B。

B 若在 A 发送的信息到达 B 之前发送自己的帧 (因为这时 B 的载波监听检测不到 A 所发送的信息),则必然要在某个时间和 A 发送的帧发生碰撞。

碰撞的结果是两个帧都变得无用。

所以需要在发送期间进行碰撞检测,以检测冲突。

信号传播时延对载波监听的影响

CSMA/CD 重要特性

使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。

每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。

这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。

争用期

最先发送数据帧的站,在发送数据帧后至多经过时间 2

\tau
\tau

(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

以太网的端到端往返时延 2

\tau
\tau

称为争用期,或碰撞窗口。

经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

二进制指数类型退避算法 (truncated binary exponential type)

发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。

基本退避时间取为争用期 2

\tau
\tau

从整数集合 [0, 1, … , (

2^{k}
2^{k}

-1)] 中随机地取出一个数,记为 r。

重传所需的时延就是 r 倍的基本退避时间。

参数 k 按下面的公式计算:

k = Min[重传次数, 10]

当 k

\tau
\tau

10 时,参数 k 等于重传次数。

当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

争用期的长度

10 Mbit/s 以太网取 51.2 s 为争用期的长度。 对于 10 Mbit/s 以太网,在争用期内可发送 512 bit,即 64 字节。

这意味着: 以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。

最短有效帧长

如果发生冲突,就一定是在发送的前 64 字节之内。

由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。

以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。

强化碰撞

当发送数据的站一旦发现发生了碰撞时:

(1) 立即停止发送数据;

(2) 再继续发送若干比特的人为干扰信号 (jamming signal),以便让所有用户都知道现在已经发生了碰撞。

人为干扰信号

CSMA/CD协议的要点

(1) 准备发送。但在发送之前,必须先检测信道。

(2) 检测信道。若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在 96 比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。

(3) 检查碰撞。在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。

这里只有两种可能性:

①发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到 (1)。

②发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待 r 倍 512 比特时间后,返回到步骤 (2),继续检测信道。但若重传达 16 次仍不能成功,则停止重传而向上报错。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
信道划分&介质访问控制&ALOHA协议&CSMA协议&CSMA/CD协议&轮询访问MAC协议
注:最后有面试挑战,看看自己掌握了吗 文章目录 传输数据两种链路 点对点链路 广播式链路 介质访问控制 静态划分信道 动态划分信道 轮询访问介质访问控制 随机访问介质访问控制---所有用户都可以随机发送信息 ALOHA协议------想说就说 CSMA协议------先听再说 1-坚持CSMA 非坚持CSMA p-坚持CSMA CSMA/CD协议-----先听再说,边听边说 CAMA/CA协议------collision avoidance CSMA/CD CSMA/CA区别 轮询访问控制协议MAC 轮询
20岁爱吃必胜客
2022/11/21
8420
信道划分&介质访问控制&ALOHA协议&CSMA协议&CSMA/CD协议&轮询访问MAC协议
计算机网络:随机访问介质访问控制之CSMA/CD协议
载波侦听多路访问/碰撞检测(Carrier Sense Multiple Access with Collision Detection, CSMA/CD) 协议是CSMA协议的改进方案,适用于总线形网络或半双工网络环境。“载波侦听”就是发送前先侦听,即每个站在发送数据之前先要检测一下总线上是否有其他站点正在发送数据,若有则暂时不发送数据,等待信道变为空闲时再发送。“碰撞检测”就是边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据。
timerring
2022/11/18
1.8K0
计算机网络:随机访问介质访问控制之CSMA/CD协议
计算机网络:随机访问介质访问控制之CSMA/CA协议
CSMA/CD协议已成功应用于使用有线连接的局域网,但在无线局域网环境下,却不能简单地搬用CSMA/CD协议,特别是碰撞检测部分。主要有两个原因:
timerring
2022/11/18
1.5K0
计算机网络:随机访问介质访问控制之CSMA/CA协议
【计算机网络】数据链路层 : CSMA/CD 协议 ( 载波监听多点接入 / 碰撞检测 协议 | 单程端到端传播时延 | 截断二进制指数规避算法 | 计算示例 | 最小帧长问题 )★
① 全称 : Carrier Sense Multiple Access With Collision Detection , 载波监听多点接入 / 碰撞检测 协议 ;
韩曙亮
2023/03/28
2.8K0
【计算机网络】数据链路层 : CSMA/CA 协议 ( 载波监听多点接入 / 碰撞避免 协议 | CSMA/CA 协议工作原理 | CSMA/CD 协议 与 CSMA/CA 协议对比 )
① 全称 : Carrier Sense Multiple Access With Collision Avoidance , 载波监听多点接入 / 碰撞避免 协议 ;
韩曙亮
2023/03/28
3.4K0
计算机网络(三)—— 数据链路层
为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层
繁依Fanyi
2023/05/07
1.6K0
计算机网络(三)—— 数据链路层
计算机网络学习--数据链路层
第一章 概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层
shimeath
2020/08/01
7510
【计算机网络】数据链路层
常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。
王铭颢
2024/01/21
4220
TCP/IP(三)数据链路层~2
一、局域网 1.1、局域网和以太网的区别和联系 局域网:前面已经介绍了,其实就是学校里面、各个大的公司里,自己组件的一个小型网络,这种就属于局域网。 以太网:以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。     以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。 联系:是以太网就一定是局域网,但是局域网不一定就是以太网。 因为以太网就是一
用户1195962
2018/01/18
1.7K0
TCP/IP(三)数据链路层~2
计算机网络 3 -数据链路层
使用点对点链路和链路层交换机的交换式局域网已经在(有线)局域网的领域取代了共享式局域网
Rikka
2022/01/20
1.5K0
计算机网络 3 -数据链路层
计算机和网络(三) 数据链路层
封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成一个帧。首部和尾部的作用是进行帧定界。(首部是用来确定帧的数据部分是从哪里开始的,而尾部是用来确定数据部分什么时候结束)
赤蓝紫
2023/01/02
9570
计算机和网络(三) 数据链路层
【计算机网络】数据链路层 : 总结 ( 封装成帧 | 流量控制与可靠传输 | 差错控制 | 介质访问控制 | 局域网 | 广域网 | 数据链路层设备 ) ★★★
① 可靠性服务 : “数据链路层” 在 物理层 提供的服务的基础上 , 提供可靠性服务 ;
韩曙亮
2023/03/28
3.3K0
【计算机网络】数据链路层 : 总结 ( 封装成帧 | 流量控制与可靠传输 | 差错控制 | 介质访问控制 | 局域网 | 广域网 | 数据链路层设备 ) ★★★
计算机网络之数据链路层1 链路层概述4 交换局域网5 交换机(switch)
功能:保证数据正确的顺序,无措和完整 1 链路层概述 数据链路层使用的信道主要有以下两种类型 点对点信道 使用一对一的点对点通信方式 广播信道 使用一对多的广播通信方式,因此过程比较复杂。广播信
JavaEdge
2018/05/16
2K0
数据链路层
数据链路 (data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
Java3y
2018/09/14
2.8K1
数据链路层
计算机网络-数据链路层
透明传输:指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
用户9615083
2022/12/30
9630
计算机网络-数据链路层
【计算机网络】计算机网络(谢希仁-第八版)课后习题-第三章习题答案
01 数据链路(即逻辑链路)与链路(即物理链路)有何区别?“链路接通了”与“数据链路接通了”的区别何在?
程序员洲洲
2024/06/18
3.3K0
【计算机网络】计算机网络(谢希仁-第八版)课后习题-第三章习题答案
【计算机网络】第三章·数据链路层 超硬核复习好物,考前必看!!!
广播信道(使用一对多的广播通信方式,过程较复杂,必须使用专用的共享信道协议来协调该信道上连接的主机的数据发送)
用户11162265
2024/06/14
2030
计算机网络(谢希仁第八版)第三章:数据链路层
本章最重要的内容: (1)数据链路层的==点对点信道==和==广播信道==的特点,以及这两种信道所使用的协议(==PPP协议==以及==CSMA/CD协议==)的特点。 (2)数据链路层的三个基本问题:==封装成帧、透明传输和差错检测==。 (3)以太网==MAC层的硬件地址==。 (4)适配器、转发器、集线器、网桥、以太网交换机的作用以及使用场合。 (5)数据链路的两层:
roydonGuo
2022/11/02
1.8K0
计算机网络(谢希仁第八版)第三章:数据链路层
揭秘 CSMA/CD 协议:了解以太网数据传输的幕后英雄
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)协议是早期以太网中至关重要的媒介访问控制技术,它的主要作用是协调多个设备在同一网络媒介(如同一根网线)上的数据传输,避免冲突,适合总线型,星型和树形拓扑。
神的孩子都在歌唱
2025/03/05
2000
揭秘 CSMA/CD 协议:了解以太网数据传输的幕后英雄
计算机网络学习12:随机接入CSMA/CA(CD)
可以采用 载波监听多址接入/碰撞检测 CSMA/CD (Carrier Sense Multiple Access / Collision Detection)
程序员洲洲
2024/06/07
2050
计算机网络学习12:随机接入CSMA/CA(CD)
推荐阅读
信道划分&介质访问控制&ALOHA协议&CSMA协议&CSMA/CD协议&轮询访问MAC协议
8420
计算机网络:随机访问介质访问控制之CSMA/CD协议
1.8K0
计算机网络:随机访问介质访问控制之CSMA/CA协议
1.5K0
【计算机网络】数据链路层 : CSMA/CD 协议 ( 载波监听多点接入 / 碰撞检测 协议 | 单程端到端传播时延 | 截断二进制指数规避算法 | 计算示例 | 最小帧长问题 )★
2.8K0
【计算机网络】数据链路层 : CSMA/CA 协议 ( 载波监听多点接入 / 碰撞避免 协议 | CSMA/CA 协议工作原理 | CSMA/CD 协议 与 CSMA/CA 协议对比 )
3.4K0
计算机网络(三)—— 数据链路层
1.6K0
计算机网络学习--数据链路层
7510
【计算机网络】数据链路层
4220
TCP/IP(三)数据链路层~2
1.7K0
计算机网络 3 -数据链路层
1.5K0
计算机和网络(三) 数据链路层
9570
【计算机网络】数据链路层 : 总结 ( 封装成帧 | 流量控制与可靠传输 | 差错控制 | 介质访问控制 | 局域网 | 广域网 | 数据链路层设备 ) ★★★
3.3K0
计算机网络之数据链路层1 链路层概述4 交换局域网5 交换机(switch)
2K0
数据链路层
2.8K1
计算机网络-数据链路层
9630
【计算机网络】计算机网络(谢希仁-第八版)课后习题-第三章习题答案
3.3K0
【计算机网络】第三章·数据链路层 超硬核复习好物,考前必看!!!
2030
计算机网络(谢希仁第八版)第三章:数据链路层
1.8K0
揭秘 CSMA/CD 协议:了解以太网数据传输的幕后英雄
2000
计算机网络学习12:随机接入CSMA/CA(CD)
2050
相关推荐
信道划分&介质访问控制&ALOHA协议&CSMA协议&CSMA/CD协议&轮询访问MAC协议
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档