CSMA系列区别比较:p-pCSMA;CSMA/CA;CSMA/CD
CSMA系列小结
CSMA,又称载波侦听多路访问协议。在计算机网络课程中,其一共有四个基础协议与两个实际应用(分别是802.11和802.3)
| 忙 | 空闲 | 传输冲突 | 应用 | |
|---|---|---|---|---|
| 1-p CSMA | 持续侦听,等待空闲 | 立刻抢占(传输概率为1) | (传输之后检测到冲突)随机等待一段时间后再试 | - |
| Non-p CSMA | 不再持续监听,而是随机等待一段时间后再试 | 立刻抢占 | (传输之后检测到冲突)随机等待一段时间后再试 | - |
| p-p CSMA【分槽】 | 等待下一个时间槽 | 有p概率发送,1-p概率推迟到下一个时间槽 | (传输之后检测到冲突)随机等待一段时间后再试 | - |
| CSMA/CD(detect) | - | - | (检测到传输进行中的冲突)立刻停止传输;之后随机等待一段时间后再试 | - |
| 二进制指数后退的1-p CSMA/CD | 持续侦听 | 立刻抢占 | (检测到传输进行中的冲突)立刻停止传输;之后等待[0,2^i-1]个随机时间槽之后再试 | 经典以太网-802.3 |
| CSMA/CA(avoid)【分槽】 | 监听到有帧在发送则暂停计时器 | 以一个随机的后退时间槽开始计时 | 没有收到ACK,则加倍后退选择的时间槽数 | 无线局域网-802.11 |
其中,CSMA/CD强调的是其在信号传输中使用检测冲突以加快传输速度的做法,如果一定追究其在信道忙和信道空闲时候的表现,应考虑1-pCSMA。而二进制指数后退的CSMA/CD与CSMA/CD模型的区别只在于明确了退避的时间算法。
二进制指数后退的1-p CSMA/CD每次会在2的指数级内随机一个数开始后退。不难发现这样做会使后退的时间越来越多,因此在第10次冲突之后,这一数字就不再增加,并会在第16次尝试失败之后放弃发送,返回一个错误报告。
而CSMA/CA与之前几个模型的区别相对较大。主要原因是由于无线电信道是半双工类型,无法在发送数据的同时监听噪声,因此采取了更为谨慎的策略来避免冲突(所以叫冲突避免)。下图是几个协议间吞吐量的区别。

关于更多详细的介绍各位可以关注我的博客 关于计算机网络-MAC子层的内容~~
主贴连接: https://www.cnblogs.com/maomaozi/p/14107866.html
CSMA系列区别比较:p-pCSMA;CSMA/CA;CSMA/CD的更多相关文章
- .Net Core自动化部署系列(三):使用GitLab CI/CD 自动部署Api到Docker
之前写过使用Jenkins实现自动化部署,最近正好没事研究了下GitLab的自动化部署,顺便记录一下. 使用GitLab部署我们需要准备两件事,第一个起码你得有个GitLab,自己搭建或者使用官方的都 ...
- [计算机网络-数据链路层] CSMA、CSMA/CA、CSMA/CD详解
1.CSMA(载波侦听多路访问协议) CSMA 当其他节点检测到信道被占用时不发送数据.但是当数据发送完后其他节点同时检测到信道为空闲,之后又在同一时刻发送数据,可能再次产生冲突. 2.CSMA/CD ...
- HTTP协议详解及http1.0与http1.1http2.0的区别
HTTP协议介绍 http(超文本传输协议)是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.特点: (1)支持客户/服务器模式. HTTP是一个客户端和服务器端请 ...
- HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
一.HTTP的历史 早在 HTTP 建立之初,主要就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器.也是说对于前端来说,我们所写的HTML页面将要放在我们的 web 服务器上 ...
- JAVA GET 和 POST 的区别
GET 和 POST 的区别 GET请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:/test/demo_form.asp?name1=value1&name2=val ...
- 密钥密码体系CA,CSC,CV
密钥密码体系CA,CD,CSC,CV 片内操作系统 (cos) 密码学(Cryptography) 非接触式智能卡Contactless Smart Card, CSC 密钥名词 名词 英文说明 中文 ...
- DOS批处理中%cd%与%~dp0的区别详解
转载:https://www.jb51.net/article/105325.htm DOS批处理中%cd%与%~dp0的区别详解 Windows下批处理中%cd%和%~dp0都能用来表示当前 ...
- 介质访问控制子层-Medium Access Control Sublayer:多路访问协议、以太网、无线局域网
第四章 介质访问控制子层-Medium Access Control Sub-layer 4.1介质访问控制子层概述 MAC子层不属于之前提到的OSI或TCP/IP架构的任何一层,这也是为什么这一层被 ...
- 无线网络中的MAC协议(1)
前文我们对传统的有线网络的MAC协议进行了分析,接下来我们在对无线网络的MAC也进行一个详细的介绍.那么无线网络中的MAC工作方式是如何的呢?无线局域网(WLAN)中MAC所对应的标准为IEEE 80 ...
随机推荐
- JS生成限定整数区间范围内的随机整数
对于整数区间获取随机整数: m,n均为整数,且n>m. 获取[m,n)区间内的随机整数: 1 var aNumber = (n - m) * Math.random() + m; 2 var r ...
- 402. 移掉K位数字
给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k.num 不会包含任何前导零.示例 1 : 输入: num ...
- rados put striper功能的调试
前言 之前对于striper这个地方的功能并没研究太多,只是知道这个里面可以以条带方式并行的去写对象,从而加大并发性来提高性能,而默认的条带数目为1,也就是以对象大小去写,并没有条带,所以不是很好感觉 ...
- php插入一百万测试数据(实例)
<?phpset_time_limit(0);function a(){ header("Content-Type:text/html;charset=utf-8"); $s ...
- 使用Beyond Compare对比大篇幅文件的小技巧
我们在编辑较大篇幅的文章时,无可避免地要经过多次的修改.有时候修改的版本过多时,我们很可能就会记不清最新版的文章对比上一版的文章,究竟修改了哪些地方.但有了Beyond Compare(Windows ...
- guitar pro系列教程(十三):Guitar Pro教程之打谱使用技巧
前面我们有讲过关于{cms_selflink page='index' text='Guitar Pro'}在声音方面的一些使用技巧,Guitar Pro在打谱,试听,伴奏方面对于刚学吉他作谱的朋友们 ...
- 你还在 if...else?代码这样写才好看!
前言 if...else 是所有高级编程语言都有的必备功能.但现实中的代码往往存在着过多的 if...else.虽然 if...else 是必须的,但滥用 if...else 会对代码的可读性.可维护 ...
- python 工业日志模块 未来的python日志最佳实践
目录 介绍 好的功能 安装方法 参数介绍 呆log 参数与 使用方法 版本说明 后期版本规划 todo 感谢 介绍 呆log:工业中,python日志模块,安装即用.理论上支持 python2, py ...
- css实现元素环形旋转
元素中心旋转效果记录 先上代码 //css代码 .header{ -webkit-animation:rotateImg 1s linear infinite; /*rotateImg对应下方 ...
- activiti数据表介绍
activiti6.0数据库介绍 Acitiviti6.0数据库中一共有28张表,表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识. 用于自我学习记录,后期不定期更新~~~ 数据库描述 ...