计算机网络介质访问控制全攻略:从信道划分到协议详解!!!

news2025/1/23 21:39:48

一、信道划分介质访问控制

介质访问控制:多个节点共享同一个“总线型”广播信道时,可能发生“信号冲突”

应该怎么控制各节点对传输介质的访问,才能减少冲突,甚至避免冲突?

时分复用(TDM)

时分复用:将时间分为等长的“TDM 帧”,每个“TDM 帧”又分为等长的 m 个“时隙”,将 m 个时隙分配给 m 对用户(节点)使用

TDM 的缺点:

每个节点最多只能分配到信道总带宽的 1/m

如果某节点暂不发送数据,会导致被分配的“时隙”闲置信道利用率低

如何解决这个问题呢?

可统计每个节点对信道的使用需求,动态按需分配时隙

统计时分复用(STMD)

统计时分复用:又称异步时分复用,在TDM 的基础上,动态按需分配时隙

STDM 的优点:

  • 如果需要时,一个节点可以在一段时间内获得所有的信道带宽资源
  • 如果某节点暂不发送数据,可以不分配“时隙”,信道利用率更高

频分复用(FDM)

频分复用(FDM):是将信道的总频带划分为多个子频带,每个子频带作为一个子信道,每对用户使用一个子信道进行通信

FDM 的优缺点:

  • 优点:各节点可同时发送信号;充分利用了信道带宽(Hz)
  • 缺点:FDM 技术只能用于模拟信号的传输

波分复用(WDM):即光的频分复用:

光信号的频带范围(带宽)非常大,因此很适合采用波分复用技术,将一根光纤在逻辑上拆分为多个子信道

码分复用

2G、3G 移动网络时代,节点和节点之间的通信常使用 CDMA技术,而 CDMA 技术的底层原理就是码分复用(CDM)

CDM 技术允许信号相互干扰,相互叠加。接收方有办法将来自各节点的信号值分离”出来

①给各节点分配专属"码片序列”

“码片序列"包含 m 个码片(信号值),可看作"m 维向量”(m 维向量的分量通常取 1或-1

要求:各节点的"m 维向量"必须相互正交

Tips:相互通信的各节点知道彼此的"码片序列"

②发送方如何发送数据

节点发出 m 个信号值与"码片序列"相同,表示比特 1

节点发出 m 个信号值与"码片序列"相反,表示比特 0

③信号在传输过程中"叠加"

当多个发送方同时发送数据时,信号值会叠加(注:本质是多个 m 维向量的加法)

④接收方如何接收数据

接收方收到的是"看加"信号,需要从中"分离"出各发送方的数据

叠加信号与发送方的码片序列作"规格化内积”

  • 结果为 1,表示比特 1
  • 结果为-1,表示比特 0

二、随机访问介质访问控制

  • 在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户能根据自己的意愿随机地发送信息,占用信道全部速率。
  • 总线形网络中,当有两个或多个用户同时发送信息时,就会产生的冲突(碰撞,即前面所说的相互干扰),导致所有冲突用户的发送均以失败告终。
  • 为了解决随机接入发生的碰撞,每个用户需要按照一定的规则反复地重传它的帧,直到该帧无碰撞地通过。这些规则就是随机访问介质访问控制协议,常用的协议有 ALOHA 协议、CSMA 协议、CSMACD 协议和 CSMA/CA 协议等,它们的核心思想都是:胜利者通过争用获得信道,从而获得信息的发送权。因此,随机访问介质访问控制协议又称争用型协议
  • 如果介质访问控制采用信道划分机制,那么结点之间的通信要么共享空间,要么共享时间,要么两者都共享:而如果采用随机访问控制机制,那么各结点之间的通信就可既不共享时间,也不共享空间。所以随机介质访问控制实质上是一种将广播信道转化为点到点信道的行为

三、ALOHA 协议

ALOHA 协议是由美国夏威夷大学开发的一种网络协议。处于 OSI 模型中的数据链路层。它属于随机存取协议中的一种。它分为纯 ALOHA 协议和时隙 ALOHA 协议。

纯 ALOHA

纯 ALOHA 协议思想:不监听信道,不按时间发送,随机重发,想发就发

冲突如何检测?

如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。

冲突如何解决?

超时后等一随机时间再重传。

时隙 ALOHA

时隙 ALOHA 协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。

控制想发就发的随意性

对比纯 ALOHA 和时隙 ALOHA

  1. 纯 ALOHA 比时隙 ALOHA 吞吐量更低,效率更低
  2. 纯 ALOHA 想发就发,时隙 ALOHA 只有在时间片段开始时才能发

四、CSMA协议

CSMA 协议:是一种允许多个设备在同一信道发送信号的协议,其中的设备监听其它设备是否忙碌,只有在线路空闲时才发送。

CS载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。

当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。

MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上

协议思想:发送帧之前,监听信道

1-坚持 CSMA

坚持:指的是对于监听信道忙之后的坚持。

1-坚持 CSMA 思想:

如果一个主机要发送消息,那么它先监听信道。空闲则直接传输,不必等待。

忙则一直监听,直到空闲马上传输。如果有冲突(一段时间内未收到肯定回复),则等待一

个随机长的时间再监听,重复上述过程。

优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失,

缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。

传播延迟对 1-坚持 CSMA 协议的性能影响较大。

结点 A开始发送数据时,结点 B也正好有数据要发送,但这时结点 A发出数据的信号还未到达结点 B,结点 B 侦听到信道空闲,于是立即发送数据,结果必然导致冲突。

即使不考虑延迟,1-坚持 CSMA 协议也可能产生冲突。

例如,结点 A正在发送数据时,结点 B 和 C 也准备发送数据,侦听到信道忙,于是坚持侦听,结果当结点 A一发送完毕,结点 B 和 C 就会立即发送数据,同样导致冲突。

非坚持 CSMA

非坚持: 指的是对于监听信道忙之后就不继续监听,

非坚持 CSMA 思想:如果一个主机要发送消息,那么它先监听信道。空闲则直接传输,不必等待。忙则等待一个随机的时间之后再进行监听

优点:采用随机的重发延迟时间可以减少冲突发生的可能性。

缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。

非坚持 CSMA 协议在侦听到信道忙后就放弃侦听,因此降低了多个结点等待信道空闲后同时发送数据导致冲突的概率,但也会增加数据在网络中的平均延迟。可见,信道利用率的提高是以增加数据在网络中的延迟时间为代价的。

p-坚持 CSMA

p-坚持指的是对于监听信道空闲的处理。

p-坚持 CSMA 思想:

如果一个主机要发送消息,那么它先监听信道,空闲则以p概率直接传输,不必等待;概率1-p 等待到下一个时间槽再传输忙则等待一个随机的时间之后再进行监听

优点:既能像非坚持算法那样减少冲突,又能像 1-坚持算法那样减少媒体空闲时间的这种方案。

缺点:发生冲突后还是要坚持把数据帧发送完,造成了浪费。

1-坚持CSMA

非坚持CSMA

p-坚持CSMA

信道空闲

马上发

马上发

p概率马上发

1-p概率等到下一个时隙再发送

信道忙

继续监听

放弃监听,等一个随机时间再监听

继续坚持监听

五、CSMA/CD协议

协议要点:

先听后发,边听边发,冲突停发,随机重发

截断二进制指数规避算法

确定碰撞后的重传时机

随机等待一段时间 = r倍争用期,其中r是随机数

争用期 = 2×最远单向传播时延(考虑距离最远的两个节点)

k冲突次数

①如果 k≤10,在[0, 2k -1]区间随机取一个整数r

②如果 k>10,在[0,210 -1]区间随机取一个整数r

注:

如果争用期内没检测到冲突本次帧发送就不再可能发生冲突

CSMA/CD 没有 ACK 机制,若发送过程中未检测到冲突,就认为帧发送成功

特别注意:

第 10 次冲突,是"随机重发"的分水岭

第 16 次冲突,直接躺平,放弃传帧,报告上级(网络层)

最短帧长:

最短帧长 = 2×最大单向传播时延×信道带宽

若收到的帧小于最短帧长,视为无效帧

CSMA/CD 协议的“冲突停发”规则会导致小于最短帧长的“非法帧”

如果 A节点发送的数据帧长度小于最短帧长,可能会导致 A节点“误以为”

发送过程中没有发生冲突,但实际上已经发生了冲突。

如果实际要发送的数据很少,可“填充”至合法长度后再发送

当接收方从信道收到一个帧会做哪些判断?

① 判断是否小于“最短帧长”,'是,则丢弃帧

② 判断是不是发给自己的帧,相当于判定目的地址,"否’,则丢弃帧

③ 使用 CRC 校验,判定帧是否存在差错,'是’,则丢弃帧

以上均无问题,则接收帧,并将数据部分交给网络层

最长帧长:规定最长帧长可防止某些节点一直占用信道

以太网规定:

最短帧长=64B

最长帧长=1518B

六、CSMA/CA协议

协议要点:

若信道空闲,间隔 DIFS 后,再发送帧(一口气发完,发送过程中不用检测冲突)

若信道不空闲,则进行“随机退避"

随机退避原理:

① 用二进制指数退避算法确定一段随机退避时间(倒计时)

② 发送方会保持监听信道,只有信道空闲时才"扣除倒计时"倒计时结束后立即发送帧(此时信道“听起来"一定空闲)

接收方:(采用停止等待协议)

每收到一个正确数据帧都返回 ACK;若发送方超时未收到 ACK,则进行”随机退避”

CSMA

CSMA/CD

CSMA/CA

原理

先监听,若信道空闲,在发送

边发送边监听,检测到冲突立即停止发送

发送过程中不用检测冲突,发送前想办法尽量避免冲突(但无法完全避免)

适用于

适用于有线网络(如:以太网技术)

适用于无线网络:(如:IEEE 802.11标准的无线局域网技术,即WIFI)

无线局域网(WIFI)

AP(Access Point):接入点,也就是你平时连接的无线 WiFi热点

为什么不采用 CSMAICD 协议?

1)硬件上很难实现“边听边发,冲突检测”;因为接收信号的强度往往远小于发送信号的强

度,且在无线介质上信号强度的动态变化范围很大。

  1. 存在“隐蔽站”问题;在无线通信中,并非所有站点都能够听见对方。发送结点处没有冲突并不意味着在接收结点处就没有冲突。

帧间间隔((InterFrame Gap)

DIFS(分布式协调IFS):最长的帧间间隔

SIFS(短 IFS):最短的帧间间隔。预留 SIFS 用于处理收到的帧(如完成差错控制等)

PIFS(中等长度的IFS),不考察了解即可

时间长度:DIFS > PIFS > SIFS

解决隐蔽站问题

信道预约机制(可选功能)

  • 发送方广播 RTS 控制帧(先听后发,忙则退避)
  • AP 广播 CTS 控制帧
  • 其他无关节点收到 CTS 后自觉"禁言"一段时间(即:虚拟载波监听机制);发送方收到 CTS 后,就可以发送数据帧
  • AP 收到数据帧后,进行 CRC 校验,若无差错就返回 ACK 帧

RTS 控制帧(Request ToSend,请求发送):

它包括源地址、目的地址和这次通信所需的持续时间。

CTS 控制帧(Clear To send,允许发送):

它也包括源地址、目的地址和这次通信所需的持续时间。

注 1:如果超时未收到 CTS,说明预约失败,则“随机退避”后再次 RTS 预约

注 2:“先预约,再发送”这种模式可以启用、也可以不启用。

七、令牌传递协议(轮循访问)

令牌环网技术:IBM 公司于1984 开发的一种局域网技术

核心特点

环形拓扑结构,各节点“轮询访问”信道,不会发生信道冲突。

如何实现“介质访问控制”

令牌传递协议

  • 令牌传递又称“标记传送”,局部网数据送取的一种控制方法,多用于环形网。
  • 令牌由专用的信息块组成,典型的令牌由连续的8位“1”组成。当网络所有节点都空闲时,令牌就从一个节点传送到下一个节点。当某一节点要求发送信息时,它必须获得令牌并在发送之前把它从网络上取走。一旦传送完数据,就把令牌转送给下一个节点,每个节点都具备有发送/接收令牌的装置。使用这种传送方法决不会发生碰撞,这是因为在某一瞬间只有一个节点有可能传送数据。

最大的问题是令牌在传送过程中丢失或受到破坏,从而使节点找不到令牌从而无法传送信息。

  • TCU:环接口干线耦合器。它的主要作用是传递经过的所有帧,为接入站发送和接收数据提供接口。它的状态有两种:收听状态和发送状态
  • 没有人使用令牌时,令牌则在环路中循环。

令牌:一个特殊格式的 MAC 控制帧,不含任何信息

控制信道的使用,确保同一时刻只有一个结点独占信道。

令牌环网无碰撞(无冲突)

每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。

问题:

1.令牌开销 2.等待延迟 3.单点故障

应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。

采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。

令牌环网中令牌和数据的传递过程如下

1)网络空闲时,环路中只有令牌帧在循环传递。

2)令牌传递到有数据要发送的站点处时,该站点就修改令牌中的一个标志位,并在令牌中附加自己需要传输的数据,将令牌变成一个数据帧,然后将这个数据帧发送出去。

3)数据帧沿着环路传输,接收到的站点一边转发数据,一边查看帧的目的地址。如果目的地址和自己的地址相同,那么接收站就复制该数据帧以便进一步处理。

4)数据帧沿着环路传输,直到到达该帧的源站点,源站点接收到自己发出去的数据帧后便不再进行转发。同时,发送方可以通过检验返回的数据帧来查看数据传输过程中是否有错,若有错则重传该帧。

5)源站点传送完数据后,重新产生一个令牌,并将令牌传递给下一个站点,以交出对媒体的访问权限。

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

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

相关文章

IJCAI-2024 | 具身导航的花样Prompts!VLN-MP:利用多模态Prompts增强视觉语言导航能力

作者: Haodong Hong1,2 , Sen Wang1∗ , Zi Huang1 , Qi Wu3 and Jiajun Liu2,1 单位:昆士兰大学,澳大利亚科学与工业研究组织,阿德莱德大学 论文标题:Why Only Text: Empowering Vision-and-Language Navigation wi…

C语言程序设计十大排序—冒泡排序

文章目录 1.概念✅2.冒泡排序🎈3.代码实现✅3.1 直接写✨3.2 函数✨ 4.总结✅ 1.概念✅ 排序是数据处理的基本操作之一,每次算法竞赛都很多题目用到排序。排序算法是计算机科学中基础且常用的算法,排序后的数据更易于处理和查找。在计算机发展…

docker 安装 redis 详解

在平常的开发工作中,我们经常会用到 redis,那么 docker 下应该如何安装 redis 呢?简单来说:第一步:拉取redis镜像;第二步:设置 redis.conf 配置文件;第三步:编写 docker-…

人工智能之深度学习_[4]-神经网络入门

文章目录 神经网络基础1 神经网络1.1 神经网络概念1.1.1 什么是神经网络1.1.2 如何构建神经网络1.1.3 神经网络内部状态值和激活值 1.2 激活函数1.2.1 网络非线性因素理解1.2.2 常见激活函数1.2.2.1 Sigmoid 激活函数1.2.2.2 Tanh 激活函数1.2.2.3 ReLU 激活函数1.2.2.4 SoftMa…

FPGA中场战事

2023年10月3日,英特尔宣布由桑德拉里维拉(Sandra Rivera)担任“分拆”后独立运营的可编程事业部首席执行官。 从数据中心和人工智能(DCAI)部门总经理,转身为执掌该业务的CEO,对她取得像AMD掌门人苏姿丰博士类似的成功,无疑抱以厚望。 十年前,英特尔花费167亿美元真金白银…

李沐vscode配置+github管理+FFmpeg视频搬运+百度API添加翻译字幕

终端输入nvidia-smi查看cuda版本 我的是12.5,在网上没有找到12.5的torch,就安装12.1的。torch,torchvision,torchaudio版本以及python版本要对应 参考:https://blog.csdn.net/FengHanI/article/details/135116114 创…

Android系统开发(六):从Linux到Android:模块化开发,GKI内核的硬核科普

引言: 今天我们聊聊Android生态中最“硬核”的话题:通用内核镜像(GKI)与内核模块接口(KMI)。这是内核碎片化终结者的秘密武器,解决了内核和供应商模块之间无尽的兼容性问题。为什么重要&#x…

K8S如何让worker使用kubectl命令(RBAC方法)

背景 目前集群规划如下 kubeadm安装集群master节点默认能使用kubectl命令,worker则不能使用。这是因为worker节点没授权。当然,你可以通过以下方式授权 mkdir .kube scp master1:/root/.kube/config .kube/但这样无疑给了worker节点非常大的权限&#…

【Excel】【VBA】Reaction超限点筛选与散点图可视化

【Excel】【VBA】Reaction超限点筛选与散点图可视化 功能概述 这段代码实现了以下功能: 从SAFE输出的结果worksheet通过datalink获取更新数据从指定工作表中读取数据检测超过阈值的数据点生成结果表格并添加格式化创建可视化散点图显示执行时间 流程图 #mermaid-…

[Computer Vision]实验三:图像拼接

目录 一、实验内容 二、实验过程及结果 2.1 单应性变换 2.2 RANSAC算法 三、实验小结 一、实验内容 理解单应性变换中各种变换的原理(自由度),并实现图像平移、旋转、仿射变换等操作,输出对应的单应性矩阵。利用RANSAC算法优…

微信小程序使用picker根据接口给的省市区的数据实现省市区三级联动或者省市区街道等多级联动

接口数据如上图 省市区多级联动&#xff0c;都是使用的一个接口通过传参父类的code。返回我们想要的数据 比如获取省就直接不要参数。市就把省得code传给接口&#xff0c;区就把市的code作为参数。 <picker mode"multiSelector" :range"mulSelect1" …

自动化01

测试用例的万能公式&#xff1a;功能测试界面测试性能测试易用性测试安全性测试兼容性测试 自动化的主要目的就是用来进行回归测试 新产品--第一个版本 (具备丰富的功能)&#xff0c;将产品的整体进行测试&#xff0c;人工创造一个自动化测试用例&#xff0c;在n个版本的时候…

JS宏进阶:正则表达式的使用

正则表达式&#xff0c;对于任何一门编程语言来说&#xff0c;都是一种非常强大的工具&#xff0c;主要用于搜索、编辑或操作文本和数据。因此&#xff0c;在JS中&#xff0c;也存在相应的对象new RegExp( )&#xff0c;在本章中&#xff0c;将详细介绍正则表达式在JS宏中的运用…

深度学习笔记——循环神经网络RNN

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍面试过程中可能遇到的循环神经网络RNN知识点。 文章目录 文本特征提取的方法1. 基础方法1.1 词袋模型&#xff08;Bag of Words, BOW&#xff09;工作原…

Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合

读书笔记&#xff1a;卓越强迫症强大恐惧症&#xff0c;在亲子家庭、职场关系里尤其是纵向关系模型里&#xff0c;这两种状态很容易无缝衔接。尤其父母对子女、领导对下属&#xff0c;都有望子成龙、强将无弱兵的期望&#xff0c;然而在你的面前&#xff0c;他们才是永远强大的…

SpringBoot读取yml配置文件一组对象数据初始化

1. yml的短横杠语法2. yml数组元素读取并初始化3. 测试结果 1. yml的短横杠语法 - 短横杠加空格&#xff0c;可以表示数组元素&#xff0c;如下配置 表示有名为apps的一组数据&#xff0c;数组的元素对象包含有corpId、corpSecret、appCode三个字段像server.port没有 - 表示的…

基于JAVA的校园二手商品交易平台的设计与开发

摘 要&#xff1a;政府政策引导与社会观念的转变使得国内大学生的创业意识逐渐提高&#xff0c;很多高校大学生开始自主创业。目前我国各大高校暂且还没有较为成型的针对校内学生创业者的校园网络服务平台。本文首先主要是介绍了关于java语言以及web开发的相关技术&#xff0c;…

深度学习核函数

一、核函数的基本概念 核函数在机器学习中具有重要应用价值&#xff0c;常用于支持向量机&#xff08;SVM&#xff09;等算法中。 核函数是面试中经常被考到的知识点&#xff0c;对于找工作和实际数据转换都有重要作用。 二、数据建模与核函数的作用 数据越多&#xff0c;可…

数据结构(三) 排序/并查集/图

目录 1. 排序 2.并查集 3.图 1.排序: 1.1 概念: 排序就是将数据按照某种规则进行排列, 具有某种顺序. 分为内排序和外排序. 内排序就是: 将数据放在内存中的排序; 外排序是: 数据太多无法在内存中排序的. 1.2 插入排序: 插入排序包含: 直接插入排序和希尔排序. (1) 直接插入…

ECCV 2024,全新激活函数!

激活函数对深度神经网络的成功可太重要了&#xff0c;它可以提升学习复杂关系的能力&#xff0c;减少过拟合&#xff0c;增强模型性能&#xff0c;与它相关的研究一直是重中之重。最近&#xff0c;这方向有了不少新突破。 ECCV 2024上的这篇&#xff0c;提出了一种可训练的高表…