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

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

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

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

时分复用(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.mzph.cn/web/66637.shtml

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

相关文章

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm监控配置

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm监控配置 1.Prometheus部署1.2.Prometheus修改默认端口 2.grafana可视化页面部署3.alertmanager部署4.监控配置4.1.主机监控node-exporter4.2.监控mysql数据库mysqld_exporter4.3.监控mongod数据库mongodb_expo…

基于tldextract提取URL里的子域名、主域名、顶级域

TLD是TopLevel Domain的缩写。‌tldextract‌ 是一个用于从URL中提取子域、主域名和顶级域(TLD)的Python库。它利用公共后缀列表(Public Suffix List)来确保即使是复杂或不常见的URL结构也能被正确解析。tldextract能够处理包括IC…

常见Arthas命令与实践

Arthas 官网:https://arthas.aliyun.com/doc/,官方文档对 Arthas 的每个命令都做出了介绍和解释,并且还有在线教程,方便学习和熟悉命令。 Arthas Idea 的 IDEA 插件。 这是一款能快速生成 Arthas命令的插件,可快速生成…

Mellanox ConnectX 系列网卡的双驱动架构:以太网与 InfiniBand 的协同设计

在现代数据中心和高性能计算(HPC)环境中,网络硬件的性能和功能至关重要。Mellanox ConnectX 系列网卡以其卓越的性能和多功能性而闻名,支持从传统的以太网到高性能的 InfiniBand 网络协议。这种多功能性使得 Mellanox 网卡能够满足不同应用场景的需求,从常规的数据中心网络…

win32汇编环境,对多行编辑框添加或删除文本

;运行效果 ;win32汇编环境,对多行编辑框添加或删除文本 ;主要要先设置文本的开始点与结束点,然后把一段文本顶替上去。没有添加文本或删除文本的概念,只有顶替。如果开始点与结束点都是前面文本的长度值,则成了从后面添加文本的效果。如果结束…

CSDN年度回顾:技术征途上的坚实步伐

嘿,时光过得可真快呀,就像那匹跑得飞快的白马,嗖的一下,2024 年的日历就这么悄无声息地翻到了最后一页。这会儿我回头看看在 CSDN 上度过的这一年,心里那叫一个感慨万千,满满的都是喜悦,就像心里…

泛型子类使用Builder提示:both methods have same erasure, yet neither hides the other

父类 Data Builder AllArgsConstructor NoArgsConstructor public class ParentClass {public String name; } 子类 AllArgsConstructor NoArgsConstructor Data SuperBuilder public class ChildClass<T> extends ParentClass {private T value; } 提示错误 builde…

Springboot集成Elasticsearch8.0(ES)版本,采用JAVA Client方式进行连接和实现CRUD操作

本文章介绍了 springboot t集成Elasticsearch8.0(ES)版本,如何通过 AVA Client方式进行连接和实现CRUD操作 在ES7.15版本之后,ES官方将高级客户端 RestHighLevelClient标记为弃用状态。同时推出了全新的 Java API客户端 Elasticsearch Java API Client,该客户端也将在 Ela…

人脸识别打卡系统--基于QT(附源码)

逃离舒适区 项目源代码放在我的仓库中&#xff0c;有需要自取 项目地址 https://gitcode.com/hujiahangdewa/Face_recognition.git 文章目录 一、项目结构分析二、服务器的搭建三、客户端的搭建四、人脸识别库的申请五、基于人脸识别库的识别判断六、QT人脸识别----调用百度ai…

人工智能在数字化转型中的角色:从数据分析到智能决策

引言 在数字化转型浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;正迅速崛起&#xff0c;成为推动企业创新和变革的关键力量。面对日益复杂的市场环境和激烈的行业竞争&#xff0c;企业亟需借助技术手段提高运营效率、优化决策过程&#xff0c;并增强市场竞争力。而AI…

react install

react 安装 React 是一个用于构建用户界面的 JavaScript 库。以下是安装 React 的步骤&#xff1a; 使用 Create React App Create React App 是一个官方支持的命令行工具&#xff0c;用于快速搭建 React 应用。 安装 Node.js 和 npm 确保你的计算机上安装了 Node.js 和 npm…

Android系统开发(二十):字体活起来,安卓自定义字体改造指南

为什么要写这篇文章&#xff1f; 你是否厌倦了千篇一律的安卓默认字体&#xff1f;想让你的设备从“乏味的配角”变成“炫酷的主角”&#xff1f;好消息&#xff01;从Android 12到Android 15&#xff0c;自定义字体变得更简单、更强大。尤其是表情字体的更新&#xff0c;不仅…

django使用踩坑经历

DRF 使用drf获取序列化后的id visitor_serializer VisitorSaveSerializer(data{…}) if visitor_serializer.is_valid():visitor visitor_serializer.save() visitor_id visitor.pkpostgrepsql踩坑 django使用postgrepsql&#xff0c;使用聚合函数如:sum 等&#xff0c;被…

ASP.NET Core中 JWT 实现无感刷新Token

在 Web 应用开发中&#xff0c;用户登录状态的管理至关重要。为了避免用户频繁遇到登录过期的问题&#xff0c;我们可以通过实现 JWT&#xff08;JSON Web Token&#xff09;刷新机制来提升用户体验 推荐: 使用 Refresh Token&#xff08;双 Token 机制&#xff09; 1. 生成和…

将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(3.纯python的实惠版)

前情&#xff1a; 将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch&#xff08;1.标准版&#xff09;-CSDN博客 将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch&#xff08;2.换掉付费的Event Hubs&#xff09;-CSDN博客 python脚本实现 厉害的…

python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖

【1】引言 前序学习了使用numpy创建单通道的灰色图像&#xff0c;并对灰色图像的局部进行了颜色更改&#xff0c;相关链接为&#xff1a; python学opencv|读取图像&#xff08;九&#xff09;用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客 之后又学习了使用numpy创…

【全面解析】深入解析 TCP/IP 协议:网络通信的基石

深入解析 TCP/IP 协议&#xff1a;网络通信的基石 导语 你是否曾好奇&#xff0c;现代互联网是如何实现全球设备之间的高速、稳定和可靠通信的&#xff1f;无论是浏览网页、发送电子邮件&#xff0c;还是进行视频通话&#xff0c;背后都离不开 TCP/IP 协议 的支撑。作为互联网…

全面解析 Java 流程控制语句

Java学习资料 Java学习资料 Java学习资料 在 Java 编程中&#xff0c;流程控制语句是构建程序逻辑的关键部分&#xff0c;它决定了程序的执行顺序和走向。通过合理运用这些语句&#xff0c;开发者能够实现各种复杂的业务逻辑&#xff0c;让程序更加灵活和智能。 顺序结构 顺…

Linux系统常用指令

查找文件 find / -name "<文件名>" 2>/dev/null //遍历系统查找指定文件名文件ls -l | grep "<文件名>" //列出当前目录下有关文件名的文件find -name sw_sfp_alarm_cfg.xml //查找文件名对应路径 切换目录 编辑文件 vi <文件…

【Unity】ScrollViewContent适配问题(Contentsizefilter不刷新、ContentSizeFilter失效问题)

最近做了一个项目&#xff0c;菜单栏读取数据后自动生成&#xff0c;结果用到了双重布局 父物体 尝试了很多方式&#xff0c;也看过很多大佬的文章&#xff0c;后来自己琢磨了一下&#xff0c;当子物体组件自动生成之后&#xff0c;使用以下以下代码效果会好一些&#xff1a; …