当前位置: 首页 > news >正文

以太网 CSMA-CD与CSMA-CA的区别与工作方式

2.0.0 以太网 CSMA-CD与CSMA-CA的区别与工作方式

一、冲突域、冲突检测、冲突避免

独木桥上人可以来回走动,但如果两边都有人,如果没有人做出避让,注定是两败俱伤

冲突域概念

冲突域指的是两台及以上终端通信时会发送冲突的区域。

冲突域的影响:冲突域内的终端进行同时进行通信的时候会发生数据碰撞,从而造成数据破坏不能正常的发送数据到目标。
以太网冲突域

 虽然说现在的交换机端口已经是全双工,实现数据同时收发几乎不可能出现数据冲突,但可以该接口下接入了一台hub,让全双工的链路变成了只有单双工的链路,从而成为了一个冲突域,所以考虑到这个问题,通常情况下交换机每个端口都是一个冲突域。

 以太网中主要是半工共享链路形成的冲突域,无线局域网中AP发射器通常也是与hub一样工作在半双工模式,如果同一时间有两个数据进行发送将会发生碰撞。

冲突检测机制

CSMA/CD(Carrier Sense Multiple Access With Collision Detection)载波监听多路访问/冲突检测

 在以太网中,为了有效缓解数据冲突带来的影响,使用到CSMA/CD机制,终端通过监听冲突域链路的电压强弱来判断是否有其它节点在链路上传输数据,从而实有效的避免发送数据时产生冲突。

冲突避免机制

此处参考:360问答 baoerwei网友的回复内容

https://wenda.so.com/q/1386757258060829

CSMA/CA(Carrier Sense Multiple Access With Collision Avoidance)载波监听多路访问/冲突避免

 在无线局域网中,无线用户并不能像以太网的终端一样去实时监听链路的电压判断是否链路空闲,而是先向AP发送RTS请求(Ready To Send 准备发送)帧通知AP自己要发送数据[发送的RTS也可能会与发送中的数据发生碰撞]

 AP成功收到RTS,进行检测当前信道是否空闲,空闲则在一个短帧隙SIFS之后回应CTS(Clear To Sen 准许)帧通知无线用户可进行发送数据了。

 在数据传输过程中,有即使有其它用户进行发送RTS请求,AP也不会回复CTS,没有收到CTS的无线用户将随机等待时间后再继续发送RTS请求。

图上引用:[T爱吃大闸蟹] RTS/CTS机制以及RTS threshold

https://blog.csdn.net/tiantian_xiao/article/details/123720744

在这里插入图片描述

二、CSMA/CD工作方式

1、载波监听:当发送数据前,通过监听链路上的电压强弱来判断是否有其它节点在使用共享介质,没有则发送数据,有则一起监听,直到出现空闲后发送数据。

2、多路访问/冲突检测:多个节点可能一起进行监听,发现链路空闲时多个节点也可能同时发送数据且发生冲突,通过链路电压变化检测到冲突后,立即停止传输,优先感知到的设备将向链路发出一个“Jam”帧(拥挤信号)随后链路上所有节点随机等待一定时间后重复第一步。

(每台设备者都可以发送Jam帧,但优先感知到的设备发送出去被其它设备接收之后,停止发送Jam帧)

三、CSMA/CA工作方式

1、无线用户需要进行发送数据时,先向AP发送RTS(准备发送)消息,请求发送数据。

2、AP接收到RTS并监听无线链路空闲时,回复无线用户CTS(准许发送)消息

3、无线用户收到CTS后将立即转发数据,没有收到CTS将随机等待一段时间后再重新发送RTS。

四、两者对比

1、两者都不能解决冲突域带来的数据冲突问题,只能有效的缓解数据冲突。

2、CSMA/CD主要应用于以太网网络中、CSMA/CA主要应用于无线网络中

3、CSMA/CD通过监听链路电压缓解冲突、CSMA/CA通过向AP的请求授权避免冲突

4、CSMA/CD冲突之后发送Jam全员随机等待时间,CSMA/CA通过授权占用方式避免冲突


http://www.taodudu.cc/news/show-7669506.html

相关文章:

  • 【基础】static搭配inline 味道更佳(explicit_bzero-rawmemchr)
  • bzero 和 memset 的区别
  • bzero()
  • ModuleNotFoundError: No module named ‘sklearn‘
  • 成功解决ModuleNotFoundError: No module named ‘torchtext.legacy‘
  • ModuleNotFoundError: No module named ‘selenium
  • No module named ‘pyautogui‘
  • No module named ‘dataclasses‘
  • 【python基础】python导包显示No module named XXX问题
  • 记录-centos7搭建DNS服务(named.servicenamed-chroot)全流程
  • linux启动named服务失败,处理service named start失败failed_dns
  • 解决No module named pip问题
  • JPA的@NamedQuery注解
  • 解决No module named tkinter
  • ModuleNotFoundError: No module named ‘sklearn‘解决方案
  • No module named torchcrf
  • No module named SimpleHTTPServer
  • No module named ‘cv2‘ 解决办法 (No module named ‘numpy‘ 等所有报错均可解决)
  • DNS域名解析服务--named使用
  • Linux名字服务器(named)简单配置
  • 图像处理基础--图像缩放(原理、C++代码)
  • 浏览器正在解析主机时间过长
  • 正在解析主机 nginx.org... 失败:域名解析暂时失败。 wget: 无法解析主机地址 “nginx.org”
  • wget: 无法解析主机地址
  • 安装虚拟机后,主机浏览器访问变慢,显示正在解析主机问题
  • 问题:正在解析主机 XXX失败:未知的名称或服务。wget: 无法解析主机地址 “XXX”
  • wget无法解析主机地址
  • 配置在线 YUM 源仓库时 wget 无法解析主机地址
  • wget报错处理无法解析主机或者无反应
  • 正在解析主机 mirrors.163.com... 失败:未知的名称或服务。 wget: 无法解析主机地址 “mirrors.163.com”...