CSMA/CD 

  CSMA/CD(Carrier Sense Multiple Access/Collision Detect)
  即载波监听多路访问/冲突检测方法
在以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。
  一、基础篇:
  是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。
  CSMA/CD控制方式的优点是:
  原理比较简单,技术上易实现,网络中各工作站处于平等地位,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
  CSMA/CD应用在 ISO7层里的数据链路层
  它的工作原理是: 发送数据前 先监听信道是否空闲 ,若空闲则立即发送数据.在发送数据时,边发送边继续监听.若监听到冲突,则立即停止发送数据.等待一段随即时间,再重新尝试.
  二、进阶篇:
  CSMA/CD控制规程:
  控制规程的核心问题:解决在公共通道上以广播方式传送数据中可能出现的问题(主要是数据碰撞问题)
  控制过程包含四个处理内容:侦听、发送、检测、冲突处理
  (1) 侦听:
  通过专门的检测机构,在站点准备发送前先侦听一下总线上是否有数据正在传送(线路是否忙)?
  若“忙”则进入后述的“退避”处理程序,进而进一步反复进行侦听工作。
  若“闲”,则一定算法原则(“X坚持”算法)决定如何发送。
  (2) 发送:
  当确定要发送后,通过发送机构,向总线发送数据。
  (3) 检测:
  数据发送后,也可能发生数据碰撞。因此,要对数据边发送,边接收,以判断是否冲突了。(参5P127图)
  (4)冲突处理:
  当确认发生冲突后,进入冲突处理程序。有两种冲突情况:
  ① 侦听中发现线路忙
  ② 发送过程中发现数据碰撞
  ① 若在侦听中发现线路忙,则等待一个延时后再次侦听,若仍然忙,则继续延迟等待,一直到可以发送为止。每次延时的时间不一致,由退避算法确定延时值。
  ② 若发送过程中发现数据碰撞,先发送阻塞信息,强化冲突,再进行侦听工作,以待下次重新发送(方法同①)
  几个概念:
  上述两种冲突情况都会涉及一个共同算法——退避算法。
  ① 退避算法:当出现线路冲突时,如果冲突的各站点都采用同样的退避间隔时间,则很容易产生二次、三次的碰撞。因此,要求各个站点的退避间隔时间具有差异性。这要求通过退避算法来实现。
  截断的二进制指数退避算法(退避算法之一):
  当一个站点发现线路忙时,要等待一个延时时间M,然后再进行侦听工作。延时时间M以以下算法决定:
  M = 2 min{n,16} ms
  其中,n表示连续侦听的次数(记数值)。该表达式的含义是:第一次延迟2ms,再冲突则延迟22ms,以后每次连续的冲突次数记数都比前一次增加一倍的延迟时间,但最长的延迟时间不超过216ms。(即:超过16次做特殊处理)
  ② 特殊阻塞信息:是一组特殊数据信息。在发送数据后发现冲突时,立即发送特殊阻塞信息(连续几个字节的全1),以强化冲突信号,使线路上站点可以尽早探测得到冲突的信号,从而减少造成新冲突的可能性。
  ③ 冲突检测时间>=2α: α表示网络中最远两个站点的传输线路延迟时间。该式表示检测时间必须保证最远站点发出数据产生冲突后被对方感知的最短时间。在2α时间里没有感知冲突,则保证发出的数据没有产生冲突。(只要保证检测2α时间,没有必要整个发送过程都进行检测)
  ④ X-坚持的CSMA算法:当在侦听中发现线路空闲时,不一定马上发送数据,而采用X-坚持的CSMA算法决定如何进行数据发送:
  三种算法及特点:
  - 非坚持的CSMA:线路忙,等待一段时间,再侦听;不忙时,立即发送;减少冲突,信道利用率降低:
  - 1坚持的CSMA:线路忙,继续侦听;不忙时,立即发送;提高信道利用率,增大冲突:
  - p坚持的CSMA:线路忙,继续侦听;不忙时,根据p概率进行发送,另外的1-p概率为继续侦听(p是一个指定概率值);有效平衡,但复杂:
  (5)控制流程图(右上角图):
  (6)CSMA控制规程的特征
  ① 简单
  ② 具有广播功能
  ③ 平均带宽: f = F / n
  ④ 绝对平等,无优先级
  ⑤ 低负荷高效,高负荷低效
  ⑥ 延时时间不可预测

  ⑦ 传输速率与传输距离为一定值

CSMA/CA

(2)CSMA/CA技术

这种协议实际上就是在发送数据帧之前先对信道进行预约。下面为了方便解释这种技术的主要原理请大家先看图5-36。

图5-35 CSMA/CA协议中的RTS和CTS帧

① 在图5-35中,

● 站B、站C、站E在站A 的无线信号覆盖的范围内。而站D不在其内。

● 站A、站E、站D在站B 的无线信号覆盖的范围内,但站C不在其内。

② 如果站A要向站B发送数据,那么,站A在发送数据帧之前,要先向站B发送一个请求发送帧RTS(Request To Send)。在RTS帧中已说明将要发送的数据帧的长度。站B收到RTS帧后就向站A回应一个允许发送帧CTS(Clear To Send)。在CTS帧中也附上A欲发送的数据帧的长度(从RTS帧中将此数据复制到CTS帧中)。站A收到CTS帧后就可发送其数据帧了。现在讨论在A和B两个站附近的一些站将做出什么反应。

● 对于站C,站C处于站A的无线传输范围内,但不在站B的无线传输范围内。因此站C能够收听到站A发送的RTS帧,但经过一小段时间后,站C收听不到站B发送的CTS帧。这样,在站A向站B发送数据的同时,站C也可以发送自己的数据而不会干扰站B接收数据(注意:站C收听不到站B的信号表明,站B也收不听到站C的信号)。

● 对于站D,站D收听不到站A发送的RTS帧,但能收听到站B发送的CTS帧。因此,站D在收到站B发送的CTS帧后,应在站B随后接收数据帧的时间内关闭数据发送操作,以避免干扰站B接收自A站发来的数据。

● 对于站E,它能收到RTS帧和CTS帧,因此,站E在站A发送数据帧的整个过程中不能发送数据。

③ 虽然使用RTS和CTS帧会使整个网络的效率有所下降。但这两种控制帧都很短,它们的长度分别为20和14字节。而数据帧则最长可达2346字节,相比之下的开销并不算大。相反,若不使用这种控制帧,则一旦发生冲突而导致数据帧重发,则浪费的时间就更大。虽然如此,但协议还是设有三种情况供用户选择:

● 使用RTS和CTS帧;

● 当数据帧的长度超过某一数值时才使用RTS和CTS帧;

● 不使用RTS和CTS帧。

④ 尽管协议经过了精心设计,但冲突仍然会发生。

例如:站B和站C同时向站A发送BTS帧。这两个RTS帧发生冲突后,使得站A收不到正确的RTS帧因而站A就不会发送后续的CTS帧。这时,站B和站C像以太网发生冲突那样,各自随机地推迟一段时间后重新发送其RTS帧。推迟时间的算法也是使用二进制指数退避。

⑤ 为了尽量减少冲突,802.11标准设计了独特的MAC子层,这里不具体说明。

CSMA/CD 和 CSMA/CA 之原理相关推荐

  1. 简单叙述tcp/ip的工作原理和主要的协议_802.11协议精读3:CSMA/CD与CSMA/CA

    序言 在前一份文档中,我们详细记录了有关802.11中DCF模式以及其核心CSMA/CA的一些内容与细节.对比无线网络,有线网络的集线器和中继器设计中,采用了CSMA/CD技术.该技术早期是用来解决有 ...

  2. 【学习笔记】数据链路层——随机访问介质访问控制(ALOHA、CSMA、CSMA/CD、CSMA/CA),截断二进制指数规避算法

    文章目录 小前言 一. ALOHA协议 纯ALOHA协议 时隙ALOHA协议 ALOHA对比 CSMA协议 定义与分类 ① 1-坚持CSMA ② 非坚持CSMA ③ p-坚持CSMA 总结 CSMA/ ...

  3. CSMA/CD和CSMD/CA

    即载波监听多路访问/冲突检测方法 在以太网中,所有的节点共享传输介质.如何保证传输介质有序.高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题. 一.基础篇: 是一种争用型的介质访 ...

  4. CSMA/CD与CSMA/CA区别

    CSMA/CD与CSMA/CA区别 CSMA/CD可以检测冲突,但无法避免:CSMA/CA发送包的同时不能检测到信道上有无冲突,本结点处没有冲突并不意味着在接收结点就没有冲突,只能尽量避免. 传输介质 ...

  5. CSMA/CD 与 CSMA/CA概述

    第一部分 一.CSMA/CD 概述 CSMA/CD协议(Carrier Sense Multiple Access with Collision Detection)即载波帧听,多路访问/冲突检测载波 ...

  6. CSMA、CSMA/CD与CSMA/CA协议

    载波监听多路访问(CSMA)协议 若每个站点在发送数据之前都先侦听一下公用信道,如果信道空闲后再发送,则就会大大降低冲突的可能性,从而提高信道的利用率 . CS:载波侦听/监听,每一个站在发送数据之前 ...

  7. 随机访问MAC协议 知识梳理(ALOHA,CSMA,CSMA/CD,CSMA/CA)

    0.随机访问MAC的协议 数据链路层动态随机分配信道时对随机访问MAC协议:ALOHA,CSMA,CSMA/CD,CSMA/CA ALOHA,CSMA,CSMA/CD的区别仅在于是否对信道进行监听和是 ...

  8. 计算机网络学习笔记(五)——介质访问控制子层、ALOHA、CSMA/CD、CSMA/CA、有限竞争协议、非竞争式协议、网桥、交换机、以太网

    文章目录 前言 概念 一.介质访问控制子层和广播式信道 二.多路信道分配 三.竞争式访问协议 (一)ALOHA及时隙ALOHA(S-ALOHA)协议 (二)CSMA协议 (三)CSMA/CD协议 (四 ...

  9. CSMA/CD与CSMA/CA

    对照无线网络,有线网络的集线器和中继器设计中.採用了CSMA/CD技术.该技术早期是用来解决有线网络中,共享介质下的多路网络接入问题,该技术仍然在当今的10M/100M半双工网络中使用.在更高的带宽情 ...

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

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

最新文章

  1. 面试题;40个多线程的问题 背1 有用
  2. php 只能输入中英文,JavaScript基于正则实现控制输入框中只能输入中文、数字和英文的方法...
  3. CvSVM::EPS_SVR train_auto assertion sv_count != 0 failed原因
  4. Web页面减肥,慎用VS的自动格式化功能!
  5. 用于Play框架分布式应用程序的Init.d Shell脚本
  6. 一起学习C语言:C语言基本语法(二)
  7. spring事件监听器系列三:通过ApplicationListener接口方式实现监听器源码
  8. 嗅探工具 --- wireshark、tcpdump、dsniff、ettercap、bettercap、netsniff-ng
  9. 论文篇-----高速公路交通流数据质量控制及评价方法
  10. oracle左连接查询去重,左连接去重(objec)
  11. hduoj 1874 畅通工程续(Floyd)
  12. 【微信小程序】-- WXML 模板语法 - 数据绑定(九)
  13. 被谷歌出卖定位信息成“嫌疑犯”,花了大价钱才避免窦娥冤 | 一个自行车爱好者自述...
  14. html拖拽手势,h5实现手势操作放大缩小拖动等
  15. 判断字符串是不是回文
  16. Windows系统及硬件信息读取
  17. 前端 纯源生js 数字流(全代码)
  18. 《权威指南》笔记 - 9.1-9.2 类和原型、构造函数
  19. 一般将来时语法课教案_一般将来时的被动语态语法课教学设计
  20. java毕业生设计兴澜幼儿园管理系统计算机源码+系统+mysql+调试部署+lw

热门文章

  1. 通俗易懂的讲讲TCP的三次握手
  2. armv8/armv9/aarch64/arm64/A64/架构/IP你不知道的那些事
  3. 点餐微信小程序【源码好又多】
  4. 搜狗可能算不上什么“好商品”
  5. S3C2440 开发板实战(9):poll机制
  6. !!return——执行了return语句,后面的语句将不会执行!!
  7. 基于javascript扫雷小游戏,以前上学经常玩
  8. 美甲实体行业没有客户?想做线上引流?这些渠道千万别错过!
  9. bedtools2安装报错:fatal error: zlib.h
  10. 爬虫2_起点中文网字体反爬