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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 以太网CSMA/CD协议:通信原理、碰撞检测与退避机制深度解析

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 (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

以太网的端到端往返时延 2  称为争用期,或碰撞窗口。

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

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

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

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

从整数集合 [0, 1, … , ( -1)] 中随机地取出一个数,记为 r。

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

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

                 k = Min[重传次数, 10]

当 k  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 次仍不能成功,则停止重传而向上报错。

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

目录
相关文章
|
22天前
|
存储 缓存 算法
HashMap深度解析:从原理到实战
HashMap,作为Java集合框架中的一个核心组件,以其高效的键值对存储和检索机制,在软件开发中扮演着举足轻重的角色。作为一名资深的AI工程师,深入理解HashMap的原理、历史、业务场景以及实战应用,对于提升数据处理和算法实现的效率至关重要。本文将通过手绘结构图、流程图,结合Java代码示例,全方位解析HashMap,帮助读者从理论到实践全面掌握这一关键技术。
69 13
|
2月前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
77 1
|
27天前
|
安全 Ubuntu Shell
深入解析 vsftpd 2.3.4 的笑脸漏洞及其检测方法
本文详细解析了 vsftpd 2.3.4 版本中的“笑脸漏洞”,该漏洞允许攻击者通过特定用户名和密码触发后门,获取远程代码执行权限。文章提供了漏洞概述、影响范围及一个 Python 脚本,用于检测目标服务器是否受此漏洞影响。通过连接至目标服务器并尝试登录特定用户名,脚本能够判断服务器是否存在该漏洞,并给出相应的警告信息。
157 84
|
8天前
|
存储 物联网 大数据
探索阿里云 Flink 物化表:原理、优势与应用场景全解析
阿里云Flink的物化表是流批一体化平台中的关键特性,支持低延迟实时更新、灵活查询性能、无缝流批处理和高容错性。它广泛应用于电商、物联网和金融等领域,助力企业高效处理实时数据,提升业务决策能力。实践案例表明,物化表显著提高了交易欺诈损失率的控制和信贷审批效率,推动企业在数字化转型中取得竞争优势。
47 14
|
16天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
71 1
|
2月前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
67 3
|
2月前
|
域名解析 网络协议 安全
反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性
在网络世界中,反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性。它在邮件服务器验证、网络安全等领域至关重要,帮助识别恶意行为,增强网络安全性。尽管存在配置错误等挑战,但正确管理下,反向DNS解析能显著提升网络环境的安全性和可靠性。
143 3
|
22天前
|
传感器
Modbus协议深入解析
Modbus协议是由Modicon公司(现施耐德电气)于1979年发明的串行通信协议,主要用于工业自动化系统中的PLC通信。本文深入解析了Modbus协议的主从模式、数据类型(线圈、离散输入、保持寄存器、输入寄存器)、帧结构和通信过程,并介绍了其应用场景和重要性。
22 0
|
2月前
|
存储 供应链 算法
深入解析区块链技术的核心原理与应用前景
深入解析区块链技术的核心原理与应用前景
64 0
|
2月前
|
JavaScript 前端开发 API
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
71 0

推荐镜像

更多
下一篇
开通oss服务