7.CSMA协议
2024-10-09 09:08:57
载波监听多路访问协议CSMA
CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上
协议思想:发送帧之前,监听信道
一、1-坚持CSMA
坚持指的是对于监听信道忙之后的坚持。
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待
忙则一直监听,直到空闲马上传输
如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程
优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
二、非坚持CSMA
非坚持指的是对于监听信道忙之后就不继续监听。
非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道
空闲则直接传输,不必等待
忙则等待一个随机的时间之后再进行监听。
优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低
三、p-坚持CSMA
坚持指的是对于监听信道空闲的处理
p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。
忙则等待一个随机的时间之后再进行监听。
优点:既能像非坚持算法那样减少沖突,又能像1坚持算法那样减少媒体空闲时间的这种方案
缺点:发生冲突后还是要坚持把数据帧发送完,造成了浪费。
最新文章
- db2定界符
- 分辨率、DPI、PPI和屏幕尺寸,你都知道是啥么?
- java-EL
- JMeter学习-005-JMeter 主要组件概要介绍及执行顺序
- Project Euler 109 :Darts 飞镖
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
- ezSQL 数据库操作类
- 表单元素的submit()方法和onsubmit事件(转)
- 将树莓派变成一个web服务器(2):Nginx+Flask+uWSGI部署全过程
- How to import the www.googleapis.com SSL CA certification to the jks store file?
- MongoDB学习(翻译2)
- 什么是JDBC?
- css命名整理
- Django基础-01
- 使用引用计数和copy-on_write实现String类
- maven+Spring+SpringMVC+Hibernate快速搭建
- IntelliJ IDEA配置Springboot2.x 通过devtools实现代码热部署,提高调试效率
- JS中的offset scroll event client
- Catch all the latest Jordan Release Dates
- R语言学习笔记—K近邻算法
热门文章
- 图像处理中的valid卷积与same卷积
- Python多核编程mpi4py实践及并行计算-环境搭建篇
- Stream替代for-编码五分钟-划水五小时
- 关于html属性中onSubmit事件属性的使用
- 入门大数据---Sqoop基本使用
- Python实用笔记 (7)高级特性——切片
- List<;List<;Object>;>; list = new ArrayList<;List<;Object>;>;(); 求回答补充问题 list.get(position).add(Object);为什么会报错啊我想在对应的list里面添加对象
- Flutter 中那么多组件,难道要都学一遍?
- 一文说通MongoDB via Python操作
- 三.接收并处理请求参数与QueryDict对象