返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >CSMA/CD和CSMA/CA的区别(最全知识点总结)
  • 143
分享到

CSMA/CD和CSMA/CA的区别(最全知识点总结)

网络智能路由器web安全安全服务器 2023-09-29 11:09:49 143人浏览 泡泡鱼
摘要

在最后有总结,中间对CSMA/CD和CSMA/CA的描述也很详尽 一.CSMA/CD(载波监听多点接入/碰撞检测) 为什么要使用CSMA/CD: 因为总线上只要有数据,传输资源时就会被占用,又因为传统总线型以太网采用半双工的通讯方式和最简

在最后有总结,中间对CSMA/CD和CSMA/CA的描述也很详尽

一.CSMA/CD(载波监听多点接入/碰撞检测)

为什么要使用CSMA/CD:

因为总线上只要有数据,传输资源时就会被占用,又因为传统总线型以太网采用半双工的通讯方式和最简单的随机接入,所以当计算机以多点接入的方式连接到一根总线上时,会发生冲突碰撞。

在CSMA中,由于信道传播时延的存在,即使总线上两个站点没有监听到载波信号而发送帧时,仍可能会发生冲突。由于CSMA算法没有冲突检测功能,即使冲突已发生,仍然将已破坏的帧发送完,使数据的有效传输率降低。
一种CSMA的改进方案是使发送站点传输过程中仍继续监听媒体,以检测是否存在冲突。如果发生冲突,信道上可以检测到超过发送站点本身发送的载波信号的幅度,由此判断出冲突的存在。一旦检测到冲突,就立即停止发送,并向总线上发一串阻塞信号,用以通知总线上其他各有关站点。这样,通道容量就不致因白白传送已受损的帧而浪费,可以提高总线的利用率。这种方案称为“载波监听多路访问/冲突检测协议”(CarrierSenseMultipleAccess with Collision Detection,CSMA/CD),这种协议已广泛应用于局域网中。

适用场景:

CSMA/CD有线连接的局域网,CSMA/CD 是一种分解访问冲突的协议,应用在竞争发送的网络环境中,适合于传送非实时数据。在网络负载较小时,发送的速度很快,通信效率很高。在网络负载很大时,由于经常出现访问冲突,通信的效率很快就下降了。

注:所以CSMA/CD不适合突发性业务,但帧中继适合突发性业务

不适用于:

在千兆以太网中,当采用半双工传输方式时。要使用 CSMA/CD 协议来解决信道的争用问题。千兆以太网的全双工方式适用于交换机到交换机,或者交换机到工作站之间的点对点连接,两点间可同时进行发送与接收,不存在共享信道的争用问题,所以不需要采用 CSMA/CD 协议。2002 年 6 月发布的万兆以太网 802.3ae 10GE 标准只支持全双工方式,不支持单工和半双工,也不采用 CSMA/CD 协议。

多点接入:作用在总线型网络,许多计算机以多点接入的方式连接在一根总线上

载波监听:检测总线上有没有其他计算机在传输数据,发送前后每个主机都必须不停地检测信道

碰撞检测:边发送边监听,适配器边发送数据边检测信道上的信号电压变化情况,以此判断是否有别人在发送数据。若没有检测到电压,即信道为“空闲”状态,可以发送数据。若检测到极大或极小的电压,就说明有两个及以上主机的信号发生了碰撞(电磁波相遇),此时适配器就会立即停止发送。

4.为了确保发送数据站点在传输时能检测到可能存在的冲突,数据帧的传输时延要不小于两倍的传播时延。由此引出了CSMA/CD总线网络中最短帧长的计算关系式:

例题:

在以太网中出于对(64)的考虑,需设置数据帧的最小帧。

(64)A.重传策略 B.故障检测 C.冲突检测   D.提高速率

【答案】C

【解析】

为了确保发送数据站点在传输时能检测到可能存在的冲突,数据帧的传输时延要不小于两倍的传播时延。

与CSMA/CD相关知识点补充

10BASE-T与100BASE-T

10BASE-T 与 100BASE-T 采用双绞线进行进行传输,适合短距离传输(100m),它们采用相同的 IEEE802.3 逻辑链路控制协议LLC,介质访问控制层MAC采用相同的访问与碰撞检测机制CSMA/CD,帧结构相同,最小帧长64个字节, 最大帧长 1518 个字节,帧间最小间距 12 字节的长度要求。两者除了传输速率不同外,最主要的区别是网络直径不 同。100BASE-T 最大网络直径为 205m.大约相当于 10Mbps 以太网的 1/10.这是因为网络介质本身的传播速率不变和 碰撞检测机制相同的情况下,为了保证仍然能够检测到与位于网络最远距离处的其他工作站之间可能发生的信号碰撞,当一台工作站的传送速率加快 10 倍的时候,必须要求网络的最在距离缩小 10 倍。

在 10Base5 的全配置的情况下是可以允许通过 4 个中继器,那么冲突的时间槽就相当于一个数据包在网络中来回传播一次的时间加上各种延时。由于电波在铜缆中的传播速度是光波在真空速度的 0.7 倍左右,所以计算如下:

CSMA/CD协议定义的监听算法有以下三种:

(1)非坚持型监听算法。当一个站准备好帧,发送之前先监听信道:

①若信道空闲,立即发送,否则转②。

②若信道忙,则后退一个随机时间,重复①。

由于随机时延后退,从而减少了冲突的概率。然而,可能出现的问题是因为后退而使信道闲置一段时间,这使信道的利用率降低,而且增加了发送时延。

(2)1-坚持型监听算法。当一个站准备好帧,发送之前先监听信道:

①若信道空闲,立即发送,否则转②。

②若信道忙,继续监听,直到信道空闲后立即发送。

这种算法的优缺点与前一种正好相反:有利于抢占信道,减少信道空闲时间;但是多个站同时都在监听信道时必然发生冲突。.

(3)P-坚持型监听算法。这种算法汲取了以上两种算法的优点,但较为复杂。

①若信道空闲,以概率P发送,以概率(1 -P)延迟一个时间单位。一个时间单位等于网络传输时延。

②若信道忙,继续监听直到信道空闲,转①。

③如果发送延迟一个时间单位,则重复①。

载波监听只能减小冲突的概率,不能完全避免冲突。当两个帧发生冲突后,若继续发送,将会浪费网络带宽。为了进一步改进带宽的利用率,发送站应采取边发边听的冲突检测方法,即:

①发送期间同时接收,并把接收的数据与站中存储的数据进行比较。(或用其他办法检测冲突)

②若比较结果一致,说明没有冲突,重复①。

③若比较结果不一致,说明发生了冲突,立即停止发送,并发送一个简短的阻塞信号(Jamming),使所有站都停止发送。

④发送Jamming信号后,等待一段随机长的时间,重新监听,再试图发送。

困难的问题是决定概率P的值,P的取值应在重负载下能使网络有效地工作。为了说明P的取值对网络性能的影响,假设有n个站正在等待发送,与此同时,有一个站正在发送。当这个站发送停止时,实际要发送的站数等于nP。若nP大于1,则必有多个站同时发送,这必然会发生冲突,nP必须小1。然而若P值太小,发送站就要等待较长的时间,在轻负载的情况下,这意味着较大的发送时延。减少了冲突,信道利用率降低,冲突增强,信道率上升

例题1:

以太网中出现冲突后,发送方什么时候可以再次尝试发送?(62)

(62)A.再次收到目标站的发送请求后

B.在JAM信号停止并等待一段固定时间后

C.在JAM信号停止并等待一段随机时间后

D.当JAM信号指示冲突已经被清除后

【答案】C

【解析】

如果在发送数据的过程中检测出冲突,为了解决信道争用冲突,发送节点要进入停止发送数据、随机延迟后重发的流程。

例题2:

在以太网中发生冲突时采用退避机制,(34)优先传输数据。

(34)A.冲突次数最少的设备 B.冲突中IP地址最小的设备

C.冲突域中重传计时器首先过期的设备 D.同时开始传输的设备

【答案】C

【解析】

以太网采用截断二进制指数退避算法来解决碰撞问题。截断二进制算法并不复杂,这种算法让发生碰撞的站在停止发送数据后,不是等待信道变为空闲后就立即再发送数据,而是推迟一个随机的时间。这样做是为了使的重传时再次发生冲突的概念减少。

二.CSMA/CA

为什么要使用CSMA/CA

IEEE802.11采用类似于802.3CSMA/CD协议的载波侦听多路访问/冲突避免协议之所以不采用CSMA/CD协议的原因有两点

无线网络中,接收信号的强度往往小于发送信号的强度,因此要实现碰撞的花费过大

隐蔽站(隐蔽终端问题),并非所有站都能听到对方,如图(a)所示,而暴露站的问题是检测信道忙碌但未必影响数据发送,如图(b)所示。也就是说自己的信号会把其他信号给覆盖掉,简单来说

在无线网中进行冲突检测有时是困难的,例如两个站由于距离过大或者中间障碍物的分隔从而检测不到冲突,但是位于它们之间的第三个站可能会检测到冲突,这就是所谓隐蔽终端问题。采用冲突避免的办法可以解决隐蔽终端的问题。

1.IEEE 802.11MAC子层定义的竞争性访问控制协议是CSMA/CA。

2.802.11定义了一个帧间隔(Inter Frame Spacing, IFS)时间。

另外还有一个后退计数器,它的初始值是随机设置的,递减计数直到0。基本的操作过程是:


①如果一个站有数据要发送并且监听到信道忙,则产生一个随机数设置自己的后退计数器并坚持监听。


②听到信道空闲后等待IFS时间,然后开始计数。最先计数完的站可以开始发送。


③其他站在听到有新的站开始发送后暂停计数,在新的站发送完成后再等待一个IFS时间继续计数,直到计数完成开始发送。


分析这个算法发现,两次IFS之间的间隔是各个站竞争发送的时间。这个算法对参与竞争的站是公平的,基本上挺按先来先服务的顺序获得发送的机会。

3.802.11推荐使用3种帧间隔(IFS),以便提供基于优先级的访问控制。

DIFS(分布式协调IFS):最长的IFS,优先级最低,用于异步帧竞争访问的时延。(CSMA/CA使用)


PIFS(点协调IFS):中等长度的IFS,优先级居中,在PCF操作中使用。


SIFS(短IFS):最短的IFS,优先级最高,用于需要立即响应的操作。


其中DIFS用在CSMA/CA协议中,只要MAC层有数据要发送,就监听信道是否空闲。如果信道空闲,等待DIFS时段后开始发送;如果信道忙,就继续监听,直到可以发送为止。

例:

无线局域网中采用不同帧间间隔划定优先级,通过冲突避免机制来实现介质访问控制。其中RTS/CTS帧()。

A.帧间间隔最短,具有较高优先级
B.帧间间隔最短,具有较低优先级
C.帧间间隔最长,具有较高优先级
D.帧间间隔最长,具有较低优先级
答案:A
DIFS:分布式协调IPS:最长的IFS,优先级最低,用于异步帧竞争访问的时延。
PIFS:点协调IFS,中等长度的IFS,优先级居中,在PCF操作中使用。
SIFS:短IFS,最短的IFS,优先级最高,用于需要立即响应的操作。
其中SIFS也用在RTS/CTS机制中。

三.两者异同:

相同点:

●都是用于以太网网络中的协议,都用来解决多终端同时发送数据可能产生的冲突问题

●都是先监听,空闲则发送,不空闲再进行对应操作

不同点:

IEEE802.3介质访问控制层MAC采用访问与碰撞检测机制CSMA/CD

IEEE 802.11MAC子层定义的竞争性访问控制协议是CSMA/CA

●传输介质不同

CSMA/CD用于总线式以太网(有线),CSMA/CA用于无线局域网(无线)

●载波监听方式不同

CSMA/CD有三类监听算法,(非坚持型,1-坚持型,p-坚持型)

CSMA/CA采用DIFS(只要MAC层有数据要发送,就监听信道是否空闲。如果信道空闲,等待DIFS时段后开始发送;如果信道忙,就继续监听,直到可以发送为止。)

●CSAM/CD带有冲突检测的载波监听多路访问,只能检测冲突但无法避免,CSMA/CA带有冲突避免的载波监听多路访问,发送包的同时不能检测到信道上有无冲突,只能尽量避免。

●CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式

例题1:

无线局域网中AP的轮询会定异步帧,在IEEE802.11网络中定义了()机制来解决这一问题。

A.RTS/CTS机制
B.二进制指数退避
C.超级帧
D.无争用服务
答案:D 

解析:

通信协议中的RTS/CTS协议:即请求发送/允许发送协议,相当于一种握手协议,主要用来解决"隐藏终端"问题。
为了有效地解决无线信道传输中的碰撞问题,IEEE802.11协议引入了两种媒体访问控制方法:分布式协调功能DCF与点协调功能PCF,这两种方法都属于Mac层的虚载波检测机制。在802.11的MAC层中分为了两个字层:PCF和DCF
DCF子层在每一个结点使用CSMA机制的分布式接入算法,让各个站通过争用信道来获取发送权。PCF子层使用集中控制的接入算法将发送数据权轮流交给各个站从而避免了碰撞的产生。PCF是可选项。对于时间敏感的业务,如分组语音,就应使用提供无争用服务的点协调功能PCF,可以锁定异步通信量。
EEE802.11协议允许PCF与DCF共存于一个无线局域网中,而实现这种共存的具体方法是引入《超级帧》(SuperFrame)的概念。超级帧只是一个逻辑上的概念,而并非实际存在的一种帧格式。或者更确切地说是庆为它在时间上表现为非严格周期性地以类似帧的形式出现,代表了一段时间内媒体上的业务量。在超级帧中包含两部分:无竞争时期(ContentionFreePeriod,简称为CEP)和竞争时期(ContentionPeriod,简称为CP)。在CFP期间,由PCF控制对媒体的访问,而在CP期间,由DCF来控制。CFP与CP的交替出现,使得PCF与DCF轮流行使对无线媒体的访问控制权,从而实现PCF与DCF在一个基本服务组BSS内的共存。

例题2:

以太网协议中使用了二进制指数后退算法,其冲突后最大的尝试次数为()次。

A.8
B.10
C.16
D.20
答案:C
以太网采用截断二进制指数退避算法来解决碰撞问题。截断二进制算法并不复杂,这种算法让发生碰撞的站在停止发送数据后,不是等待信道变为空闲后就立即再发送数据,而是推迟一个随机的时间。这样做是为了使的重传时再次发生冲突的概率减少。当重传次数达16次仍不能成功时,则表明同时打算发送数据的站太多,以至连续发生冲突,则丢弃该帧,并向高层报告。

来源地址:https://blog.csdn.net/weixin_69884785/article/details/130179018

--结束END--

本文标题: CSMA/CD和CSMA/CA的区别(最全知识点总结)

本文链接: https://lsjlt.com/news/421420.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • CSMA/CD和CSMA/CA的区别(最全知识点总结)
    在最后有总结,中间对CSMA/CD和CSMA/CA的描述也很详尽 一.CSMA/CD(载波监听多点接入/碰撞检测) 为什么要使用CSMA/CD: 因为总线上只要有数据,传输资源时就会被占用,又因为传统总线型以太网采用半双工的通讯方式和最简...
    99+
    2023-09-29
    网络 智能路由器 web安全 安全 服务器
  • ajax和fetch的区别点总结
    本教程操作环境:windows7系统、jquery1.10.2版本、Dell G3电脑。 ajax和fetch的区别 (1)、ajax是利用XMLHttpRequest对象来请求数据...
    99+
    2024-04-02
  • axios和ajax的区别点总结
    本文操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。 axios和ajax的区别是什么? axios和ajax的区别及优缺点: ajax: 1...
    99+
    2024-04-02
  • java sleep()和wait()的区别点总结
    1、区别说明 wait()是Object的方法,sleep()是Thread的方法。 wait()必须采用同步方法,不需要sleep()方法。 线程在同步方法中执行sleep()方法...
    99+
    2024-04-02
  • 可能是全网最好的MySQL重要知识点/面试题总结
    文末有公众号二维码,欢迎关注获取笔主最新更新文章,并可免费获取笔主总结的《Java面试突击》以及Java工程师必备学习资源。 @[toc] 什么是MySQL MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MyS...
    99+
    2022-02-17
    可能是全网最好的MySQL重要知识点/面试题总结
  • 面试题总结:可能是全网最好的MySQL重要知识点
    作者:Snailclimb 整理编辑:SegmentFault本文原载于SegmentFault专栏JavaGuide,如侵删。标题有点标题党的意思,但希望你在看了文章之后不会有这个想法——这篇文...
    99+
    2024-04-02
  • Java中的异常和处理知识点总结
    这篇文章主要介绍“Java中的异常和处理知识点总结”,在日常操作中,相信很多人在Java中的异常和处理知识点总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中的异常和处理知识点总结”的疑惑有所帮助!...
    99+
    2023-06-17
  • python中in和is的区别点总结
    1、区别说明 in:一方面可以用于检查序列(list,range,字符串等)中是否存在某个值。也可以用于遍历for循环中的序列。 is:用于判断两个变量是否是同一个对象,如果两个对象是同一对象,则返回True,否则返...
    99+
    2022-06-02
    python in is
  • Mysql主键和唯一键的区别点总结
    什么是主键? 主键是表中唯一标识该表中每个元组(行)的列。主键对表实施完整性约束。表中只允许使用一个主键。主键不接受任何重复值和空值。表中的主键值很少更改,因此在选择主键是需要小心,要选择很少发生更改的地方...
    99+
    2024-04-02
  • c语言中exit和return的区别点总结
    1、返回函数值的return是关键字,exit是一个函数。 return是语言级的,它表示调用堆栈的返回;exit是系统调用级的,它表示一个过程的结束。 2、return是函数的退出...
    99+
    2024-04-02
  • python包和文件夹有的区别点总结
    1、一个或多个文件夹组成一个模块,而一个模块组合构成了一个包发布在公共目录里。 2、包必须有__init__文件,否则就是一个文件夹。 实例 import pynvml pynv...
    99+
    2024-04-02
  • vue中get和post请求的区别点总结
    本教程操作环境:windows7系统、vue2.9.6版,DELL G3电脑。 vue中get和post请求的区别 1、get请求 在GET请求中参数是跟在URL后面,即参数放在he...
    99+
    2024-04-02
  • Java常见知识点中==和equals的区别是什么
    这篇文章将为大家详细讲解有关Java常见知识点中==和equals的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。== 是一个运算符。 equals则是string对象的方法。ja...
    99+
    2023-06-05
  • php中echo、print和print_r的区别点及用法总结
    本教程操作环境:windows10系统、PHP7.1版,DELL G3电脑 php中echo、print和print_r的区别是什么 echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) ...
    99+
    2019-03-03
    php echo print print_r
  • vue中插件和组件的区别点及用法总结
    本教程操作环境:windows7系统、vue2.9.6版,DELL G3电脑。 一、组件是什么 回顾以前对组件的定义: 组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件...
    99+
    2024-04-02
  • MYSQL完全备份、主从复制、级联复制、半同步的知识点总结
    本篇内容介绍了“MYSQL完全备份、主从复制、级联复制、半同步的知识点总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,...
    99+
    2024-04-02
  • 完美Python入门基础知识点总结,看完你的Python就完全入门了!
    Python标识符在 Python 里,标识符有字母、数字、下划线组成。在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。Python 中的标识符是区分大小写的。以下划线开头的标识符是有特殊意义的。以单下...
    99+
    2023-06-02
  • Java常见知识点中Jvm内存结构、Java内存模型、Java对象模型的区别是什么
    这篇文章将为大家详细讲解有关Java常见知识点中Jvm内存结构、Java内存模型、Java对象模型的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。我们都知道,Java代码是要运行在...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作