WiFi的CSMA/CA竞争窗口流程简述

1、若站点最初有数据要发送(不是发送不成功再进行重传的那种),且检测到信道空闲,在等待DIFS后,就发送整个数据帧。

2、否则,站点执行退避算法。一旦检测到信道忙,就冻结退避计时器。只要信道空闲,退避计时器就进行倒计时。

3、当退避计时器时间减少到零时(这时信道只可能是空闲的),站点就发送整个帧,并等待确认。

4、发送站若收到确认,就知道已发送的帧被目的站正确收到了。这时如果要发送第二帧,就要从上面的步骤2开始(如果是使

     用块确认的话会在发送完一段数据帧之后再通过一个ACK报文确认,然后再从上面的步骤2开始发下一段数据帧),执行退避算法,

     随机选定一段退避时间。

5、若源站在规定时间内没有收到确认帧ACK(由重传计时器控制这短时间),就必须重传此帧(再次争用接入信道),直到收到确认为止,

     或者经过若干次的重传失败后放弃发送。

注意:当一个站点要发送数据时仅在下面的情况下才不是用退避算法:检测到信道是空闲的,并且这个数据帧是它想发送的第一个数

          据帧。

除此之外的所有情况,都必须使用退避算法。具体来说,以下几种情况必须使用退避算法:

(1)在发送第一个帧之前检测到信道处于忙态;

(2)每一次的重传;

(3)每一次的成功发送后再要发送下一帧。

1、长度超过 RTS 门限的封包,必须使用 RTS/CTS 交换程序

2、长度超过分段门限的封包,必须加以分段。

DIFS 分布式帧间隔,比SIFS长。在DCF方式中,常用来发送数据帧和管理帧。

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

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

相关文章

Less 安装教程

文章目录 前言LESS的系统要求安装LESS例子输出Less编译css工具后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Sass和Less 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板…

error LNK2038: 检测到“RuntimeLibrary”的不匹配项 解决方法

问题: 我们在使用Visual Studio编程的时候偶尔会遇到以下三种报错: error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MDd_DynamicDebug” (引用的是release模式,但设置成debug模式了…

操作系统——进程管理

文章目录 进程和线程进程的概念进程和程序的区别PCB(进程控制块)程序是如何运行的进程的特征进程的状态和状态转换五态模型 进程控制进程状态装换为啥需要保证原子性如何实现原语的原子性? 进程控制相关原语进程创建进程终止进程的阻塞和唤醒进程的唤醒进程的切换 进…

1603. 整数集合划分(2016年408数据结构算法题)

一、题目 1603. 整数集合划分https://www.acwing.com/problem/content/description/1605/ 二、算法的基本设计思想 由题意知,将最小的 个元素放在 中,其余的元素放在 中,分组结果即可满足题目要求。仿照快速排序的思想,基于枢…

Vue 2.0源码分析-Virtual DOM

Virtual DOM 这个概念相信大部分人都不会陌生,它产生的前提是浏览器中的 DOM 是很“昂贵"的,为了更直观的感受,我们可以简单的把一个简单的 div 元素的属性都打印出来,如图所示: 可以看到,真正的 DOM …

地铁在线售票vue票务系统uniAPP+vue 微信小程序

功能介绍 管理员 (1)管理员登录功能 (2)查看和修改线路信息 (3)减少线路 (4)修改价格(5站3元 5-10 5元 10-15站6元 往上8元) (5)删除用…

吾爱破解置顶的“太极”,太好用了吧!

日常工作和娱乐,都需要用到不同类型的软件,哪怕软件体积不大,也必须安装,否则到用时找不到就非常麻烦了。 其实,很多软件不一定一样不剩地全部安装一遍,一方面原因是用的不多,另一方面多少有点…

Android设计模式--外观模式

弈之为术,在人自悟 一,定义 外观模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。提供一个高层次的接口,使得子系统更易于使用。 外观模式在开发中的使用频率是非常高的,尤其是在第三方的SDK里面&#xff0…

Django之admin页面样式定制(Simpleui)

好久不见,各位it朋友们! 本篇文章我将向各位介绍Django框架中admin后台页面样式定制的一个插件库,名为Simpleui。 一)简介 SimpleUI是一款简单易用的用户界面(UI)库,旨在帮助开发人员快速构建…

清华提出 SoRA,参数量只有 LoRA 的 70%,表现更好!

现在有很多关于大型语言模型(LLM)的研究,都围绕着如何高效微调展开。微调是利用模型在大规模通用数据上学到的知识,通过有针对性的小规模下游任务数据,使模型更好地适应具体任务的训练方法。 在先前的工作中&#xff…

基于驾驶训练算法优化概率神经网络PNN的分类预测 - 附代码

基于驾驶训练算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于驾驶训练算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于驾驶训练优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

Robots 元标签与 X-Robots 标签

Robots Meta Tag 和 X-Robots-Tag 是两个常用的 HTML 标签,它们对观察机动爬虫和其他网络机器人很有启发性。这些标签可以控制您的网页如何被记录和显示。 什么是机器人元标记? 机器人元标记是一个 HTML 标签,它提供信息来查看电机爬虫和其…

Figma 插件学习(二)- 常用属性和方法

一. 如何调试figma插件 Plugins > Development > Show/Hide console 打开控制台即可开始调试 二.节点类型 根据不同的节点类型,也是会有不同的方法和属性,介绍几个常用节点类型 1.FrameNode 框架节点是用于定义布局层次结构的容器。它类似于HTM…

GWAS:plink进行meta分析

之前教程提到过Metal是可以做Meta分析,除了Metal,PLINK也可以进行Meta分析。 命令如下所示: plink --meta-analysis gwas1.plink gwas2.plink gwas3.plink logscale qt --meta-analysis-snp-field SNP --meta-analysis-chr-field CHR --me…

BrokerChain

BrokerChain: A Cross-Shard Blockchain Protocol for Account/Balance-based State Sharding 我总感觉这篇文章不完整,缺少一些东西。或者说有些地方并没有详细说。比如状态图的构建,网络重分片的的配置过程。都直接忽略了。 Motivation 1 跨片交易不…

流程图是什么,用什么软件做?

在工作流程中,经常会遇到需要图形化呈现整个流程的情况。流程图就是一种一目了然的图形化表现方式,便于人们理解、沟通和管理整个流程。 1.Visio Visio是一款微软公司的图表软件,可以用于创建各种类型的流程图、组织结构图、网络图、平面图…

编译原理词法分析器

算法描述 对于给出的源代码,我们按行将其读入,对于每一行单独进行词法分析。 过滤行前后空格对字符串进行词语的分割 有空格则把空格前的字符归为一个词比较上一个字符和当前字符是否需要进行分割 检查词语是否合法词语合法则按 [待测代码中的单词符号…

常见树种(贵州省):019滇白珠、杜茎山、苍山越桔、黄背越桔、贵州毛柃、半齿柃、钝叶柃、细枝柃、细齿叶柃木、土蜜树、山矾、胡颓子、檵木

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、滇白珠…

【Leetcode】【实现循环队列】【数据结构】

代码实现: typedef struct {int front;int back;int k;int* a;} MyCircularQueue;bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return obj->frontobj->back; }bool myCircularQueueIsFull(MyCircularQueue* obj) {return (obj->back1)%(obj->…

【数据中台】开源项目(2)-Wormhole流式处理平台

Wormhole 是一个一站式流式处理云平台解决方案(SPaaS - Stream Processing as a Service)。 Wormhole 面向大数据流式处理项目的开发管理运维人员,致力于提供统一抽象的概念体系,直观可视化的操作界面,简单流畅的配置管…