【时隙ALOHA,CSMA(载波侦听多路访问)carrier sense mltiple access,无线局域网: CSMA/CA】

文章目录

    • 时隙ALOHA
    • 时隙ALOHA的效率( Efficiency )
    • 纯ALOHA(非时隙)----效率低
    • CSMA(载波侦听多路访问)carrier sense mltiple access
    • CSMA冲突
    • CSMA/CD(冲突检测)边说边听(提高了信道利用率)以太网就是用的这个
    • 无线局域网: CSMA/CA
    • 无线局域网中的 MAC:CSMA/CA
    • 无线局域网: CSMA/CA
    • 冲突避免(续)

时隙ALOHA

假设

  • 所有帧是等长的
  • 时间被划分成相等时隙,每个时隙可发送一帧
  • 节点只在时隙开始时发送帧
  • 节点在时钟上是同步的
  • 如果两个或多个节点在一个时隙传输,所有的站点都能检测到冲突
    运行
  • 当节点获取新的帧,在下一个时隙传输
  • 传输时没有检测到冲突,成功
  • 检测时如果检测到冲突,失败
    • 节点在每一个随后的时隙以概率p重传帧直到成功
      在这里插入图片描述
      优点
  • 节点可以以信带全宽全速连续传输
  • 高度分布:仅需要节点之间在间隙上同步
  • 简单
    缺点
  • 存在冲突,浪费时隙
  • 即使有帧要发送,仍然有可能存在空闲的时隙
  • 节点检测冲突的时间<帧传输的时间
  • 需要时钟上同步

时隙ALOHA的效率( Efficiency )

效率
当有很多节点,每个节点有很多帧要发送时,x%的时隙时成功传输帧的时隙
在这里插入图片描述
在这里插入图片描述

纯ALOHA(非时隙)----效率低

  • 无时隙ALOHA:简单、无须节点间在时间上同步
  • 当有帧需要传输:马上传输

CSMA(载波侦听多路访问)carrier sense mltiple access

发送之前听一听,是否信道被占用
Aloha: 如何提高ALOHA的效率发之前不管有无其他节点在传输

CSMA:在传输前先侦听信道:

  • 如果侦听到信道空闲,传送整个帧
  • 如果侦听信道忙,推迟传送

人类类比:不要打断别人正在进行的说话!

CSMA冲突

冲突仍然可能发生:
由传播延迟造成:两个节点可能侦听不到正在进行的传输
冲突:
整个冲突帧的传输时间都被浪费了,是无效的传输
注意:
传播延迟(距离)决定了冲突的概率,距离越远,time越大,冲突可能性越大

  • 节点依据本地信道使用情况来判断全部信道的使用情况

CSMA/CD(冲突检测)边说边听(提高了信道利用率)以太网就是用的这个

==CSMA/CD: ==

- 载波侦听CSMA:和在CSMA中一样发送前侦听信道
- 没有传完一个帧就可以在短时间内检测到冲突
- 冲突发生时则传输终止,减少对信道的浪费
  • 冲突检测CD技术,有线局域网中容易实现:
    • 检测信号强度,比较传输与接收到的信号是否相同
    • 通过周期过零点检测

人类类比:礼貌的对话人

在这里插入图片描述
在这里插入图片描述

  • 指数退避
  • 目标:适配器试图适应当前负载,在一个变化的碰撞窗口中随机选择时间点尝试重发。
    • 高负载:重传窗口时间大,减少冲突,但等待时间长
    • 低负载:使得各站点等待时间少,但冲突概率大
  • 在变化的窗口中选择一个随机值

无线局域网: CSMA/CA

在这里插入图片描述

无线局域网中的 MAC:CSMA/CA

  • 冲突: 2+站点(AP或者站点)在同一个时刻发送
  • 802.11: CSMA – 发送前侦听信道
    • 不会和其它节点正在进行的传输发生冲突
  • 802.11: 没有冲突检测!
    不冲突不代表成功

无线局域网: CSMA/CA

发送方
1 如果站点侦测到信道空闲持续DIFS长,则传输整个帧 (no CD)
2 如果侦测到信道忙碌,那么 选择一个随机回退值,并在信道空闲时递减该值;如果信道忙碌,回退值不会变化
到数到0时(只生在信道闲时)发送整个帧
如果没有收到ACK, 增加回退值,重复2
接收方

  • 如果帧正确,则在SIFS后发送ACK
    可能会发生站点隐藏
    在这里插入图片描述

冲突避免(续)

允许发送方“预约”信道,而不是随机访问该信道:
避免长数据帧的冲突(可选项)

  • 发送方首先使用CSMA向BS发送一个小的RTS分组
    • RTS可能会冲突(但是由于比较短,浪费信道较少)
  • BS广播 clear-to-send CTS,作为RTS的响应
  • CTS能够被所有涉及到的节点听到
  • 其他节点抑制发送
    在这里插入图片描述

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

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

相关文章

Transformer+Classification学习笔记

论文名称&#xff1a;An Image is Worth 16x16 Words:Transformers for Image Recognition at Scale [2112.11010] MPViT: Multi-Path Vision Transformer for Dense Prediction (arxiv.org) 参考博客与视频&#xff1a; Vision Transformer 超详细解读 (原理分析代码解读) …

2024年了,Covid19怎么发?PANoptosis程序性死亡,抓紧上车!

说在前面 大家众所周知的新冠&#xff0c;其实早在19年末&#xff0c;20年初的时候很多人都抓住了这个热点发到了好文章&#xff0c;Covid-19&#xff0c;这玩意可以做到让一个期刊从2分飙升到20分&#xff0c;且非预警期刊&#xff0c;不过现在退火了&#xff0c;今年是12.7分…

数据结构(十四)----排序算法(1)

目录 一.排序的基本概念 二.插入排序 1.直接插入排序 2.折半插入排序 三.希尔排序&#xff08;Shell Sort&#xff09; 四.交换排序 1.冒泡排序 2.快速排序 快速排序算法的效率&#xff1a; 快速排序算法的稳定性&#xff1a; 这一篇博客的重点主要是快速排序&#x…

2024小红书电商实战营,养号打造IP/选爆品/开店铺/爆款笔记/等等(24节)

我们非常荣幸地为大家带来2024小红书电商实战营的第一期&#xff0c;在这里我们将带领大家一起深入学习如何利用小红书平台&#xff0c;实现个人品牌的发展和商业利益的增长。 首先&#xff0c;我们将讨论养号的重要性以及如何打造个人品牌。无论是建立自己的受众群体还是提高…

微信小程序知识点归纳(一)

前言&#xff1a;适用于有一定基础的前端开发同学&#xff0c;完成从网页开发到小程序开发的知识转换。 先立框架&#xff0c;后砌墙壁 回顾&#xff1a;了解微信小程序开发流程-CSDN博客 初始页面结构&#xff0c;三部分pages、utils、配置&#xff0c;分别存放页面、工具类…

【解决】Unity Build 应用程序运行即崩溃问题

开发平台&#xff1a;Unity 2021.3.7f1c1   一、问题描述 编辑器 Build 工程结束&#xff0c;但控制台 未显示 Build completed with a result of Succeeded [时间长度] 信息。该情况下打包流程正常&#xff0c;但应用程序包打开即崩溃。   二、问题测试记录 测试1&#xf…

百面算法工程师 | 传统图像处理——OpenCV

本文给大家带来的百面算法工程师是传统图像处理的面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们将总结一些几何变换和图像平滑处理&#xff0c;并提供参考的回答及其理论基础&#…

C++自定义日期类的精彩之旅(详解)

在学习了C的6个默认成员函数后&#xff0c;我们现在动手实现一个完整的日期类&#xff0c;来加强对这6个默认成员函数的认识。 这是日期类中所包含的成员函数和成员变量&#xff1a; 构造函数 // 函数&#xff1a;获取某年某月的天数 inline int GetMonthDay(int yea…

常见磁盘分区问题

给磁盘分区有几个主要的原因&#xff1a; 组织和管理数据&#xff1a;分区可以帮助用户更好地组织和管理数据。例如&#xff0c;你可以在一个分区上安装操作系统&#xff0c;而在另一个分区上存储个人文件。这样&#xff0c;即使操作系统崩溃或需要重新安装&#xff0c;你的个…

Docker 使用 Fedora 镜像

Fedora 在 Docker 中的使用也非常简单&#xff0c;直接使用命令 docker run -it fedora:latest bash 就可以 pull 到本地的容器中并且运行。 C:\Users\yhu>docker run -it fedora:latest bash Unable to find image fedora:latest locally latest: Pulling from library/fed…

【瑞萨RA6M3】2. UART 实验

https://blog.csdn.net/qq_35181236/article/details/132789258 使用 uart9 配置 打印 void hal_entry(void) {/* TODO: add your own code here */fsp_err_t err;uint8_t c;/* 配置串口 */err g_uart9.p_api->open(g_uart9.p_ctrl, g_uart9.p_cfg);while (1){g_uart9.…

mysql的隔离性——MVCC

MVCC通过undolog版本链和readview来实现 更新和删除时会写入undolog中。 读已提交&#xff1a;在事务任意读时创建readview&#xff0c;读最新提交的事务 可重复读&#xff1a;在事务第一次读时创建readview

使用Caché管理工具

Cach通过一个web工具来对其进行系统管理和完成管理任务,该方法的一个好处是不必将Cach安装到用于管理的系统上。目前,通过网络远程管理和控制对站点的访问,这些都比较容易。因为数据及其格式信息都直接来自被管理的系统,因此,这也可以最小化跨版本的兼容问题。 本文将描述…

Kubernetes二进制(单master)部署

文章目录 Kubernetes二进制&#xff08;单master&#xff09;部署一、常见的K8S部署方式1. Minikube2. Kubeadmin3. 二进制安装部署4. 小结 二、K8S单&#xff08;Master&#xff09;节点二进制部署1. 环境准备1.1 服务器配置1.2 关闭防火墙1.3 修改主机名1.4 关闭swap1.5 在/e…

(done) 关于 pytorch 代码里常出现的 batch_first 到底是啥?

参考文章&#xff1a;https://pytorch.org/docs/stable/generated/torch.nn.utils.rnn.pad_sequence.html 首先看参考文章里的解释&#xff0c;如下图 从文章描述来看&#xff0c;当 batch_first True 时&#xff0c;输出的张量的 size 是 B x T x *。当 batch_first False…

umi搭建react项目

UMI 是一个基于 React 的可扩展企业级前端应用框架&#xff0c;提供路由、状态管理、构建和部署等功能&#xff0c;可以帮助开发者快速构建复杂的单页面应用&#xff08;SPA&#xff09;和多页面应用&#xff08;MPA&#xff09;。它与 React 的关系是&#xff0c;UMI 构建在 R…

移动端自动化测试工具 Appium 之 main 启动

文章目录 一、背景二、生成xml文件2.1、创建xml方法2.2、执行主类MainTest2.3、自动生成的xml2.4、工程目录2.5、执行结果 三、命令行执行appium服务四、主方法启动类五、集成Jenkins六、总结 一、背景 Jenkins 做集成测试是不错的工具&#xff0c;那么UI自动化是否可以&#…

图解自动驾驶中的运动规划(Motion Planning),附几十种规划算法

目录 1 自动驾驶驶向何处&#xff1f;2 什么是运动规划&#xff1f;3 运动规划实战教程4 加入我们5 订阅需知 1 自动驾驶驶向何处&#xff1f; 自动驾驶&#xff0c;又称无人驾驶&#xff0c;是依靠计算机与人工智能技术在没有人为操纵的情况下&#xff0c;完成完整、安全、有效…

2.1.2 事件驱动reactor的原理与实现

LINUX 精通 2 day14 20240513 day15 20240514 算法刷题&#xff1a;2维前缀和&#xff0c;一二维差分 耗时 135min 习题课 4h 课程补20240425 耗时&#xff1a;4h 课程链接地址 回顾 怎么学0voice课网络io——一请求一线程&#xff0c;一个client一个连接再accpet分配io f…