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

本文主要是介绍【时隙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能够被所有涉及到的节点听到
  • 其他节点抑制发送
    在这里插入图片描述

这篇关于【时隙ALOHA,CSMA(载波侦听多路访问)carrier sense mltiple access,无线局域网: CSMA/CA】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/990540

相关文章

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

全屋WiFi 7无死角! 华硕 RP-BE58无线信号放大器体验测评

《全屋WiFi7无死角!华硕RP-BE58无线信号放大器体验测评》家里网络总是有很多死角没有网,我决定入手一台支持Mesh组网的WiFi7路由系统以彻底解决网络覆盖问题,最终选择了一款功能非常... 自2023年WiFi 7技术标准(IEEE 802.11be)正式落地以来,这项第七代无线网络技术就以超高速

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

NGINX 配置内网访问的实现步骤

《NGINX配置内网访问的实现步骤》本文主要介绍了NGINX配置内网访问的实现步骤,Nginx的geo模块限制域名访问权限,仅允许内网/办公室IP访问,具有一定的参考价值,感兴趣的可以了解一下... 目录需求1. geo 模块配置2. 访问控制判断3. 错误页面配置4. 一个完整的配置参考文档需求我们有一

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee

Nginx 访问 /root/下 403 Forbidden问题解决

《Nginx访问/root/下403Forbidden问题解决》在使用Nginx作为Web服务器时,可能会遇到403Forbidden错误,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录解决 Nginx 访问 /root/test/1.html 403 Forbidden 问题问题复现Ng

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom

Javascript访问Promise对象返回值的操作方法

《Javascript访问Promise对象返回值的操作方法》这篇文章介绍了如何在JavaScript中使用Promise对象来处理异步操作,通过使用fetch()方法和Promise对象,我们可以从... 目录在Javascript中,什么是Promise1- then() 链式操作2- 在之后的代码中使