DJ5-3 多路访问链路和协议
目录
一、网络链路
二、广播信道要解决问题
三、多路访问协议
1、基本介绍
2、多路访问协议的类型(3)
四、信道划分协议
1、时分多路访问 TDMA
2、频分多路访问 FDMA
3、码分多路访问 CDMA(略)
五、随机访问协议
1、纯 ALOHA
2、时隙 ALOHA
3、CSMA 载波侦听多路访问
4、CSMA/CD 带冲突检测的
六、轮流协议
1、轮询(polling)
2、令牌传递(token passing)
一、网络链路
两种网络链路:
- 点对点链路:链路两端各一个节点,一个发送和一个接收。
- 广播链路:多个发送节点和接收节点连接到一个共享的广播信道。
广播:当任何一个节点传输一帧时,信号在信道上广播,其它节点都可以收到一个拷贝。
广播常用于局域网 LAN 中,如早期的以太网和无线局域网,即以太网和无线局域网使用的是广播链路层技术。本节主要学习广播链路的信道共享技术。
二、广播信道要解决问题
① 传统的广播电视:是单向的广播,一个固定的节点向许多接收节点发送。
② 计算机网络:广播信道上的所有节点都能够发送和接收。
- 类似于许多人聚集在一起交谈,此时空气是广播信道;
- 解决 “谁在什么时候获得说话权力” 问题,即谁有权向信道发送。
③ 多路访问问题:如何协调多个发送节点和接收节点对共享广播信道的访问。
④ 多路访问协议:用于解决多路访问问题的相关技术。
三、多路访问协议
1、基本介绍
① 目的:协调多个节点在共享广播信道上的传输。
避免多个节点同时使用信道,发生冲突,从而产生互相干扰。
② 冲突(collide):两个或两个以上的节点同时传输帧,使接收方收不到正确的帧。
所有冲突的帧都因受损而被丢失,从而造成广播信道时间的浪费。
③ 多路访问协议可以用于许多不同的网络环境,如有线和无线局域网、卫星网等。
④ 理想的多址访问协议:对于一个速率为 R bps 的广播信道,
- 当一个节点有数据发送时,它能以 R bps 的速率发送;
- 当有 M 个节点要发送数据,每个节点的平均发送速率为 R/M bps;
- 完全分散:不需要一个主节点来协调传输;不需要时钟、时隙同步
- 简单
需要时钟、时隙同步指的是将在后面介绍的时隙 ALOHA 。ALOHA 协议和 CSMA 协议只有第一个特性,而没有第二个特性。
2、多路访问协议的类型(3)
① 信道划分协议
- 把信道划分为小片,即时隙
- 给每个节点分配专用的小片
② 随机访问协议
- 不划分信道,允许产生冲突
- 但是必须能够从冲突中恢复
③ 轮流协议
- 通过轮流访问信道的方式避免冲突
- 要发送的节点越多轮流的时间越长
四、信道划分协议
主要有TDMA、FDMA、CDMA三种。
设信道支持 N 个节点,传输速率是 R b/s。
1、时分多路访问 TDMA
time division multiple access
TDMA:将时间划分为时间帧(time frame),每个时间帧再划分为 N 个时隙(slot),时隙的长度保证能发送一个分组,分别分配给 N 个节点。每个节点只能在固定分配的时隙中传输。
这里的分组就是指的链路层的帧!原书为了避免将其和时间帧混淆,所以改叫分组。
例:具有 6 个节点的 LAN,时隙 1、3、4 有分组,时隙 2、5、6 空闲。
TDMA 的特点
- 避免了冲突、公平:每个节点专用速率 R/N bps;
- 节点速率有限:R/N bps;
- 效率不高:节点必须等待它的传输时隙;
- 资源浪费:信道可能处于空闲状态。
2、频分多路访问 FDMA
frequency division multiple access
FDMA:将总信道带宽 R bps 划分为 N 个较小信道,即划分为 N 个带宽为 R/N 的频段,分别分配给 N 个节点。
例:具有 6 个节点的 LAN,频段 1、3、4 有分组,频段 2、5、6 空闲。
FDMA 特点
- 避免了冲突、公平:每个节点专用速率 R/N bps;
- 节点带宽有限、效率不高:节点带宽为 R/N bps。
3、码分多路访问 CDMA(略)
frequency division multiple access
- 每个节点分配一个唯一的编码
- 每个节点用它唯一的编码来对它发送的数据进行编码
- 允许多个节点共存,信号可叠加,即可以同时传输数据而无冲突
如果编码是正交化的,则可以同时传输数据而无冲突。
五、随机访问协议
基本思想:
- 发送节点以信道的全部速率 R bps 发送;
- 发生冲突时,冲突中的每个节点分别等待一个随机时间;
- 等待一个随机时间后再重发,直到帧/分组发送成功;
- 节点间没有协调者。
典型随机访问协议:
- ALOHA 协议(纯 ALOHA、时隙 ALOHA)
- 载波监听多路访问协议 CSMA
- 带冲突检测的载波监听多路访问协议 CSMA/CD
- 带冲突避免的载波监听多路访问协议 CSMA/CA
1、纯 ALOHA
又称非时隙 ALOHA,实现简单,不需要时隙同步。
基本操作:帧一旦到达,节点立即进行传输。
冲突处理:如果与其它帧产生冲突,则在该冲突帧传完之后以概率 p 立即重传该帧;或等待一个帧的传输时间,再以概率 p 传输该帧,或者以概率 1-p 等待另一个帧的时间。
rand(0, 1); // 规定随机数大于p则不传,否则则传
以概率 p 立即重传就是等待一个随机时间,在计算机中实现就是产生一个随机数,若该随机数大于某值则继续产生随机数,否则立即重传。
冲突概率
为什么这里链路层的帧都是一样长?因为假设了所有帧大小相同。
2、时隙 ALOHA
做出以下假设:
- 所有帧大小相同
- 时间被划分为相同大小的时隙,一个时隙等于传送一帧的时间
- 节点只在一个时隙的开始传输帧
- 节点是同步的,每个节点都知道时隙何时开始
- 所有节点都能在时隙结束之前检测到冲突
时隙 ALOHA 的实现
当节点要发送新帧时,它需要等到下一时隙开始时才能传送,
- 如果没有冲突,则节点可以在下一时隙开始时发送新帧;
- 如果有冲突,则节点在随后的时隙以概率 p 重传该帧,直到成功为止。
时隙 ALOHA 的优点
- 单个活跃节点可以持续以满速率传送帧
- 具有高分散性:只需节点的时隙同步
- 实现简单
时隙 ALOHA 的缺点
- 因为允许冲突,所以会浪费时隙
- 存在空闲时隙
- 节点只有在传输数据包时才能检测到冲突
时隙 ALOHA 的效率
- 效率:是指当有很多节点,且每个节点有很多帧要发送时,成功时隙所占百分比。
- 最佳情况:信道有 37% 的有效传输。
3、CSMA 载波侦听多路访问
载波侦听:某个节点在发送之前,先监听信道。
- 信道忙:该节点随机等待/回退一段时间,然后再侦听信道。
- 信道空:该节点开始传输整个数据帧。
人类类比:在自己说话之前,先听一下有没有其他人正在说话,不要打断他人说话!
CSMA 的特点:
- 节点在发送之前进行监听,可以减少冲突。
- 由于存在传播时延,因此仍有可能出现冲突,从而造成信道浪费。
传播时延:信号从一个节点传播到另一个节点所花费的时间。该传播时延越长,载波侦听节点不能侦听到网络中另一个节点已经开始传输的机会就越大。
CSMA 发送冲突举例
请忽略图中左侧文字,这是后面 CSMA/CD 的功能。
带来问题:信道浪费。
注意:距离与传播时延对碰撞概率的影响。
节点没有进行冲突检测,即使发生了冲突,节点仍继续传输它们的帧。但该帧已经被破坏,是无用的帧,因此信道传输时间被浪费。
4、CSMA/CD 带冲突检测的
具有 “载波侦听” 和 “冲突检测” 这两个功能。
载波侦听:传送前侦听
- 信道忙:延迟传送
- 信道闲:传送整个帧
冲突检测:发送的过程中一旦检测到冲突就立即停止传输,尽快重发。
- 目的:缩短无效传送时间,提高信道的利用率。
以太网 CSMA/CD 的运行机制
① 适配器从网络层得到分组,创建链路层帧。
② 适配器进行载波侦听:
- 信道闲,则开始传送帧。
- 信道忙,则等到信道闲时再传送帧。
③ 当信道闲时适配器开始传送帧:
- 若适配器在整个发送中都没有检测到其它传送,则完成该帧的传送。
- 若适配器在发送中检测到其它传送,则放弃传送并发送一个拥塞信号。
前者已经不需要接收方回复确认信息了,因为适配器一直在侦听,并且没有发现冲突。
⑤ 适配器放弃传送后进入 指数回退阶段:
注意选择范围是连续的一串整数,中间没有跳过任何一个整数。
以太网 CSMA/CD 的运行机制讨论
拥塞信号:长为 48 比特,确保所有传送者知道冲突发生。
比特时间:是指发送 1 比特所用的时间。
- 对于 10 Mbps Ethernet 为 0.1 微秒
- 当 K=1023 时,等待时间大约为 52 毫秒
指数回退算法
目标:适配器依据当前负载情况重传,负载越重等待时间越长。
- 第一次冲突: 在 {0, 1} 中选 K 值,延迟 Kx512 比特时间传送;
- 第二次冲突: 在 {0, 1, 2, 3} 中选 K 值,延迟 Kx512 比特时间传送;
- 10 次以后,在 {0, 1, 2, 3, 4, …, 1023} 中选 K 值;
- 冲突超过 16 次,则放弃重传!
K 值是等概率选择的。
六、轮流协议
1、轮询(polling)
轮询解决了冲突和时隙空闲的问题。
主节点邀请从节点依次传送:
由主节点通知从节点 “它可以传输” ,并且规定了每个从节点每次能发送的时间。
主节点采用轮询的方式,依次给各个从节点分配时间,保证了一个节点开始发送后不会再有其它节点开始发送。该从节点发送完毕后将会通知主节点,主节点再去轮询,去给下一个需要发送的从节点分配时间。
轮询 1:你要发吗?我要发。那好你发吧,但只能发 xx 时间哦,发完了告诉我。我发完了。
轮询 2:你要发吗?我暂时不发。
轮询 3:你要发吗?我要发。那好你发吧,但只能发 xx 时间哦,发完了告诉我。我发完了。
轮询的问题:
- 轮询的开销:通知一个节点 “它可以传输” 所需的时间
- 单点故障:一旦主节点寄了,其它从节点都因为没有通知而没办法发
2、令牌传递(token passing)
控制令牌按顺序从一个节点传递到下一个节点,并且规定只能持有令牌 xx 时间。令牌和帧都采用同方向且单方向传输,因为如果数据采用双向传输,那么它自己都会和自己产生冲突。
PC1 发送完毕将令牌传递给 PC2,PC2 因为不需要发送,所以直接把令牌传递给 PC3,PC3 拿到令牌后开始发送帧。
令牌传递的问题:
- 令牌开销:令牌就是数据
- 单点失效(token):令牌出错则视为丢失,谁都发不了
假设令牌持有时间为 2 秒,则上图 PC 最多等待 6 秒。若等待时间大于 6 秒,则发现令牌丢失,从而 PC 们会争相产生新的令牌。
相关文章:

DJ5-3 多路访问链路和协议
目录 一、网络链路 二、广播信道要解决问题 三、多路访问协议 1、基本介绍 2、多路访问协议的类型(3) 四、信道划分协议 1、时分多路访问 TDMA 2、频分多路访问 FDMA 3、码分多路访问 CDMA(略) 五、随机访问协议 1、纯…...
技术领导力?
作品集(Portfolio)会比简历(Resume)更有参考意义。 怎么才算有技术领导力? 1) 能够发现问题,并能够提供解决问题的思路和方案,并能比较方案的优缺点。 2) 能用更简洁有效的方式解决问题。 3…...

计算机的基本工作原理
参考资料: L-1.6: Common Bus system| How basic computer works - YouTube 准备好内存单元、不同类型的寄存器,内存和寄存器、寄存器和寄存器之间都是通过总线连接(假设是直接把数据总线、控制总线、地址总线变成一条总线)。 使用多路复用器实现的总线&…...

【论文简述】Cross-Attentional Flow Transformer for Robust Optical Flow(CVPR 2022)
一、论文简述 1. 第一作者:Xiuchao Sui、Shaohua Li 2. 发表年份:2021 3. 发表期刊:arxiv 4. 关键词:光流、Transformer、自注意力、交叉注意力、相关体 5. 探索动机:由于卷积的局部性和刚性权重,有限…...

【JAVA】Java中方法的使用,理解方法重载和递归
目录 1.方法的概念及使用 1.1什么是方法 1.2方法的定义 1.3方法调用的执行过程 1.4实参和形参 2.方法重载 2.1为什么需要使用方法重载 2.2什么是方法重载 3.递归 3.1什么是递归 3.2递归执行的过程 3.3递归的使用 1.方法的概念及使用 1.1什么是方法 方法就是一个代…...
高级网络计算模式复习
P2P 对等网络(Peer-to-Peer Networks)是分布式系统和计算机网络相结合的产物,在应用领域和学术界获得了广泛的重视和成功,被称为“改变Internet的一代网络技术”。 peer指网络结点,在行为上是自由的——任意加入、退…...

【笔试强训选择题】Day15.习题(错题)解析
作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!! 文章目录 前言 一、…...
图论专题(一)
图论专题(一) 参考文献 BFS和DFS的直观解释 https://blog.csdn.net/c406495762/article/details/117307841Leetcode岛屿问题系列分析 https://blog.csdn.net/qq_39144436/article/details/124173504多源广度优先 https://blog.csdn.net/peko1/article/details/121989497拓扑排…...

新星计划2023【网络应用领域基础】————————Day4
常见的网络基础介绍 前言 我们学习了一些基础的网络协议,以及子网掩码和vlan,同时也做了个简单的单臂路由实验 这篇文章我将仔细的讲解单臂路由的应用和交换机二层接口类型,以及wireshark的教程。 一,交换机二层接口 交换机的二…...

[CTF/网络安全] 攻防世界 view_source 解题详析
[CTF/网络安全] 攻防世界 view_source 解题详析 查看页面源代码方式归类总结 题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。 查看页面源代码方式归类 单击鼠标右键,点击查看页面源代码: …...

目前流行的9大前端框架
1. React 2. Vue 3. Angular 、 4. Svelte 官网:https://svelte.dev 中文官网:https://www.sveltejs.cn Svelte 是一种全新的构建用户界面的方法。传统框架如 React 和 Vue 在浏览器中需要做大量的工作,而 Svelte 将这些工作放到构建应用程…...

【mysql】explain执行计划之select_type列
目录 一、说明二、示例2.1 simple:简单表,不使用union或者子查询2.2 primary:主查询,外层的查询2.3 subquery:select、where之后包含了子查询,在select语句中出现的子查询语句,结果不依赖于外部…...

网易云音乐开发--音乐播放暂停切换上下首功能实现
音乐播放暂停功能实现 封装一个控制音乐播放/暂停的功能函数 看一下文档,我需要用的api 这个接口好像没有音频的url,查看一下,换个api 这样就能拿到id,并可以播放了 但是音乐并没有播放 我们少了这个 现在可以播放了ÿ…...

如何学习网络安全?
近半年我一直在整理网络安全相关资料,对于网络安全该怎么入门我谈谈我的看法,网络安全一直处于法律的边缘,学的不好或者剑走偏锋一下子人就进去了,所以我建议入门前先熟读《网络安全法》,除此之外还有《互联网安全产品…...
软件测试适合女生吗?
大家好,我是程序员馨馨,一个混过大厂,待过创业公司,有着 6 年工作经验的软件测试妹纸一枚。之前在也写过几篇文章,之后很多朋友过来咨询女生能不能做软件测试。 今天索性写篇文章,详细的介绍一下软件测试&a…...

华为云——代码托管的使用
一、打开前后端项目 登录华为云,点击页面右上角的用户名——点击个人设置 2.点击代码托管的HTTPS密码管理,设置自己的密码 3.回到代码仓库,复制HTTP地址 4.打开GitHubDesktop,点击左上角进行仓库克隆 (我这里已经cl…...
ChatGPT从⼊⻔到精通
编者寄语 ChatGPT 作为⼀种强⼤的⾃然语⾔处理模型,已经成为人工智能领域的重要研究⽅向之⼀。在不断的发展和创新 中,ChatGPT 已经具备了很强的⾃然语⾔处理能⼒,其可以实现⾃然语⾔的⽣成、理解和交互,为⼈类的⽣产和⽣活带来了…...

node + alipay-sdk 沙箱环境简单测试电脑网站支付
正式上线需要上传营业执照,不知道怎么去申请一个。。。。。 使用沙箱测试,首先前往支付宝开放平台控制台可看到左下方的沙箱测试链接: 然后设置接口加签方式,选择系统默认密钥: 系统默认密钥 -> 公钥模式 -> 查看…...

卷积神经网络详解
(一)网络结构 一个卷积神经网络里包括5部分——输入层、若干个卷积操作和池化层结合的部分、全局平均池化层、输出层: ● 输入层:将每个像素代表一个特征节点输入进来。 ● 卷积操作部分:由多个滤波器组合的卷积层。 …...

API架构的选择,RESTful、GraphQL还是gRPC
文章目录 一、RESTful1、什么是RESTful?2、RESTful架构的原则3、RESTful的适用场景4、RESTful的优点5、RESTful的缺点 二、GraphQL1、什么是GraphQL?2、GraphQL的原则3、GraphQL的优点4、GraphQL的缺点 三、gRPC1、什么是gRPC2、gRPC的应用场景3、gRPC的…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...