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 ...
随机推荐
- Jenkins - Linux下启动Jenkins报错hudson.WebAppMain#contextDestroyed: Shutting down a Jenkins instance that was still starting up
报错截图 在Linux下直接运行jenkins.war报错,导致启动失败 报错原因 运行端口已被其他进程占用 解决方法 换个启动端口就可以啦!
- 五:request和response的使用
接着上一篇我们在搞完servlet的终极模式之后,接着就需要对发送的请求做出响应了 在这里,所谓的响应,都是返回页面的语言在浏览器上显示也就是HTML语言,所以返回的结果只有HTML语言才能在浏览器上 ...
- Spring接口
FactoryBean接口 Spring中有两种类型的Bean:一种是普通的JavaBean:另一种就是工厂Bean(FactoryBean),这两种Bean都受Spring的IoC容器管理. Fac ...
- Windows常用的网络命令
命令 说明 ipconfig 查看网络配置的信息 ping 测试网络是否连通 tracert 网络诊断工具,可以列出分组经过的路由节点 net 有添加用户.开启服务等功能 netstat 显示协议统计 ...
- 深入理解r2dbc-mysql
目录 简介 r2dbc-mysql的maven依赖 创建connectionFactory 使用MySqlConnectionFactory创建connection 执行statement 执行事务 ...
- Golang 实现 Redis(6): 实现 pipeline 模式的 redis 客户端
本文是使用 golang 实现 redis 系列的第六篇, 将介绍如何实现一个 Pipeline 模式的 Redis 客户端. 本文的完整代码在Github:Godis/redis/client 通常 ...
- Guitar Pro教程之组织小节
上一章节我们讲述了关于Guitar Pro 7的主界面的相关功能的介绍,对于初学作曲,又是吉他的初学者,刚刚接触{cms_selflink page='index' text='Guitar Pro' ...
- MathType在AutoCAD中的应用方法
我们都知道CAD是一款鼎鼎有名设计与绘图软件,有不少朋友可能用过或听说过CAD,相较而言,用过MathType的人可能要少一些,虽然它也是理科生与工科生的专用工具之一. 通过MathType我们能够在 ...
- Linux 学习笔记02丨Linux 概述、常用快捷键、apt命令
Chapter 1. Linux 概述 Linux 是一种自由和开放源码的 Unix 操作系统, 是一个基于 POSIX 和 UNIX 的多用户.多任务.支持多线程和多CPU的操作系统.只要遵循 GN ...
- CoProcessFunction实战三部曲之一:基本功能
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...