3.6.4、随机接入-CSMA/CA协议

news2024/11/29 20:41:45

无线局域网使用的协议

1、基本概念

image-20221127213944540

对于上述无线局域网为什么 AC 都检测不到对方的无线信号

  • 因为 C 不在 A 的范围内,C 发送无线信号会导致 A 检测不到 C 在发送

对于上述使用广播信道的有线局域网就不会存在这样的问题

  • 总线上某个主机发送的信号,最多经过一个总线端到端传播时延,就会被总线上的主机接收到
  • 而总线上产生的碰撞信号,最多金国一个总线端到端往返传播时延(争用期),也会传遍总线

image-20221127214129510

2、帧间间隔 IFS

image-20221127214428695

SIFS 是为了让源站点转为接受状态

  • 若发送帧的时间短, SIFS 可以确保源站转为接受状态

高优先级帧的 DIFS 要短,低优先级帧的 DIFS 要长

3、工作原理

image-20221127220606764

源站有数据帧要发送,当源站检测到信道空闲,则在等待帧间间隔 DIFS 后发送该数据帧

image-20221127215827342

  • 就是考虑到可能有其他的站有高优先级的帧要发送。若有,就要让高优先级帧先发送。

目的站若正确收到该数据帧,则经过帧间间隔 SIFS 后需要向源站发送确认帧 ACK

  • 若源站在规定时间内没有收到确认帧 ACK
  • 由重传计时器控制这段时间,就必须重传该数据帧,直到收到确认为止
  • 或者经过若干次的重传失败后放弃发送

image-20221127220055694

  • SIFS 是最短的帧间间隔,用来分隔开属于一次对话的各帧,在这段时间内,一个站点应当能够从发送方式切换到接收方式
  • SIFS 是为了让源站点转为接受状态
    • 若发送帧的时间短, SIFS 可以确保源站转为接受状态

在源站和目的站的一次对话过程中,无线信道处于忙状态。

  • 无线信道处于忙状态时,其他无限站点要发送数据,则必须退避

当信道从忙状态转换到空闲状态,并经过帧间间隔 DIFS 后,其他要发送数据的无限站点需要退避一段随机时间后才能发送

image-20221127220508136

  • 防止多个站点同时发送数据而产生碰撞

image-20221127220810032

4、退避算法

image-20221127220948833


image-20221127222030359

假设在 A 占用无线信道发送帧的过程中,BCD 也要发送帧,于是进行载波监听,发现信道忙,需要退避。

根据退避算法,选择出一个退避时间,并在每个时隙对信道进行一次检测。

当检测到信道有忙状态转为空闲状态,且经过帧间间隔 DIFS 后,退避计时器开始倒计时。

假设 C 的退避计时器最短,当 C 的退避计时器到时后,C 立即开始发送帧。

此时,信道有空闲状态转换为忙状态,当 BD 检测到信道忙后,就冻结各自剩余的退避时间…

5、信道预约

image-20221127223513205


image-20221127225818678

6、虚拟载波监听

image-20221127231258672

image-20221127230840734

A 在给 B 发送数据帧之前,可以使用 RTS 帧来预约信道。

尽管 C 收不到该 RTS 帧,但是 C 可以收到 B 发送给 A 的 CTS 帧

这样 C 就知道了信道被占用多长时间。

在这段时间内 C 都不会争用信道

  • 也就是说 AB 发送数据帧时不会受到 C 的干扰

image-20221127231312639


7、习题

image-20221127231812492

解析:

image-20221127232054448


image-20221127232400191

解析:

image-20221127232713930


image-20221127233347342

解析:

image-20221127233452184

8、总结

image-20221127234035702

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM虚拟机字节码执行引擎——类文件和类加载之前必看

文章目录虚拟机字节码执行引擎运行时栈帧结构局部变量表(Local Variables)操作数栈动态链接(Dynamic Linking)方法返回地址附加信息方法调用解析分派虚方法和非虚方法普通调用指令:动态调用指令:动态类型语…

SpringBoot SpringBoot 原理篇 2 自定义starter 2.7 开启yml 提示功能

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇2 自定义starter2.7 开启yml 提示功能2.7.1 问题引入2.7.2 开启yml提示功能2.…

【矩阵论】正规方程——求解

5.2 正规方程 AHAxAHb为Axb的正规方程\begin{aligned} A^HAxA^Hb为Axb的正规方程 \end{aligned} AHAxAHb为Axb的正规方程​ 5.2.1 正规方程必有解 正规方程 AHAxAHbA^HAxA^HbAHAxAHb 必有解 ,且特解为 x0Abx_0A^bx0​Ab ,使 AHAx0AHbA^HAx_0A^HbAHAx0​…

一文熟悉 Go 的循环结构 —— for 循环

哈喽大家好,我是陈明勇,今天分享的知识是 Go 的循环结构。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出&a…

【Spring】——10、@PostConstruct注解和@PreDestroy注解

📫作者简介:zhz小白 公众号:小白的Java进阶之路 专业技能: 1、Java基础,并精通多线程的开发,熟悉JVM原理 2、熟悉Java基础,并精通多线程的开发,熟悉JVM原理,具备⼀定的线…

OpenStack集群部署——Keystone部署(二)

三、Keyston-认证服务 3.1 Keyston介绍 Keyston介绍 补充 3.2 安装时间同步器 ----------------------------------------------------使用chrony安装------------------------------------------------- ####所有节点 #下载安装chrony yum -y install chrony #修改配置…

【心电信号】Simulink胎儿心电信号提取【含Matlab源码 1550期】

⛄一、心电信号简介 0 引言 心电信号是人类最早研究的生物信号之一, 相比其他生物信号更易于检测, 且具有直观的规律。心电图的准确分析对心脏病的及早治疗有重大的意义。人体是一个复杂精密的系统, 有许多不可抗的外界因素, 得到纯净的心电信号非常困难。可以采用神经网络算法…

MongoDB 分片集群

之前说到了主从集群,关于主从集群的搭建以及细节后面会再次分享,这次我们先初步来看看 分片集群 举个例子 例如我们有几百G甚至更多的数据,可是我们只有单个副本集,数据量这么大,网络 IO ,CPU &#xff0c…

《深度学习的数学》chap1 神经网络的思想

《深度学习的数学》chap1 神经网络的思想 文章目录1-1 神经网络和深度学习神经网络用神经网络实现的人工智能“人教导机器”类型的人工智能的问题1-2 神经元工作的数学表示整理神经元的工作神经元工作的数学表示点火条件的图形表示1-3 激活函数:将神经元的工作一般化…

开源项目-排班管理系统,考勤管理系统

哈喽,大家好,今天给大家带来一个开源系统-排版管理系统 ​​​​​​​git上搜索可以FinalScheduler-master可以了解详情 也可以通过csdn下载​​​​​​​ 该系统主要用于人员的排班使用,主要用人员管理,排班管理&#xff0c…

Java-ForkJoinPool(线程池-工作窃取算法)

文章目录概述工作窃取算法工作窃取算法的优缺点使用 ForkJoinPool 进行分叉和合并ForkJoinPool使用RecursiveActionRecursiveTaskFork/Join 案例Demo概述 Fork 就是把一个大任务切分为若干个子任务并行地执行,Join 就是合并这些子任务的执行结果,最后得到…

《精神与爱欲》爱源于母性,且超越性别

《精神与爱欲》爱源于母性,且超越性别 赫尔曼黑塞(1877-1962),作家,诗人,画家。1877年生于德国,1924年入籍瑞士。1946年获诺贝尔文学奖。被誉为“德国浪漫派的最后一位骑士”。 文章目录《精神与…

扩展函数和运算符重载

扩展函数和运算符重载 扩展函数 扩展函数表示在不改变某个类的源代码的情况下,仍然可以打开这个类,向该类中添加新的函数为了能够更好的理解扩展函数的功能,先来思考一个问题:给定一个字符串,这个字符串由字母,数字,特殊符号组成,我们想要统计这个字符串当中字母的个数可以这…

第十章 开源许可证

软件是一种著作,天然是拥有版权的。很多人会认为放在 Github 上的就是开源软件,既然放了源代码,我就可以随便使用了。其实版权法规定著作是禁止共享的,也就是说没有许可证的软件等于保留版权。虽然源代码公开了,但并不…

GUI编程--PyQt5--QLabel

文章目录QLabel 文本展示QLabel 图片展示QLCDNumberQProgressBarQErrorMessageQProgressDialogQLabel 文本展示 展示文本、富文本、图片、动画。 # 实例化 label QLabel(self) # 设置文本 label.setText("666") # 设置图片 label.setPixmap(QPixmap) label.resize…

[BUG] runtime network not ready: NetworkReady=false reason:NetworkPluginNotRead

1 背景 执行kubectl get node是发现节点是NotReady状态,接着执行kubectl describe node 节点名 详细查看NotReady状态原因如下: runtime network not ready: NetworkReadyfalse reason:NetworkPluginNotReady message:docker: network plugin is not r…

数据结构之线性表中的双向循环链表【详解】

前言: 嗯!昨天我们的无头单向非循环链表咱已经是可以顺利完成出来了的,今天我们就来看一下什么是有头双向循环链表,不要看着这个链表又双向又循环的就比单向不循环链表难,其实这个更加的简单哦!前提是你有…

SpringBoot SpringBoot 原理篇 1 自动配置 1.17 自动配置原理【3】

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇1 自动配置1.17 自动配置原理【3】1.17.1 看源码了1.17.2 小结1 自动配置 1.…

【STA】(1)引言

目录 1. 纳米级设计 2. 什么是STA 3. 为什么要进行STA 4. 设计流程 5. 不同阶段的STA 6. STA的局限性 1. 纳米级设计 在半导体器件中,金属互连线通常被用来连接电路中的各个部分,进而实现整个芯片。随着制造工艺的进一步缩小,这些互连线…

【电源专题】案例:不导这颗MOS管的原因是在电路上不通用?

本案例发生在MOS管替代料导入时。正常情况下在替代料导入、部品导入的时候,我们需要查看规格书。怎么查找规格书可以看文章【电子通识】芯片资料查询方法 对于一些关键的信息我们要做对比,一般来说要通过列表进行对比。但因为不同的供应商的测试标准不同,有很多是很难对比的…