计算机网络——33多点访问协议

news2024/10/7 10:15:43

多点访问协议

多路访问链路和协议

两种类型的链路(一个子网内部链路连接形式)

  • 点对点
    • 拨号访问的PPP
    • 以太网交换机和主机之间的点对点链路
  • 广播
    • 传统以太网
    • HFC上行链路
    • 802.11无线局域网

在这里插入图片描述

多路访问协议

单个共享的广播型链路
2个过更多结点同时传送:冲突

  • 多个结点在同一个时刻发送,则会收到2个或多个信号叠加

多路访问协议(介质访问控制协议:MAC)

  • 分布式算法 - 决定节点如何使用共享信道,即:决定节点什么时候可以发送
  • 关于共享控制的通信必须用借助信道本身传输
    • 没有外带的信道,各节点使用其协调信道使用
    • 用于传输控制信息

理想的多路访问协议

给定:Rbps的广播信道
必要条件

  1. 当一个节点要发送时,可以R速率发送
  2. 当M个节点要发送,每个可以以R/M的平均速率发送
  3. 完全分布的
    • 没有特殊节点协调发送
    • 没有时钟和时隙的同步
  4. 简单

MAC(媒体访问控制)协议:分类

3大类

  • 信道划分
    • 把信道划分为小片(时间、频率、编码)
    • 分配片给每个节点专用
  • 随机访问
    • 信道不划分,允许冲突
    • 冲突后恢复
  • 依次轮流
    • 节点依次轮流
    • 但是有很多数据传输的节点可以获得较长的信道使用权

信道划分MAC协议

TDMA

TMDA:time division multiple access

  • 轮流使用信道,信道的时间分为周期
  • 每个站点使用每周期中固定的时隙(长度 = 帧传输时间)传输帧
  • 如果站点无帧传输,时隙空闲 -> 浪费
  • 如:6站LAN:1,3,4有数据报,时隙2,5,6空闲

在这里插入图片描述

FDMA

FDMA:frequency division multiple access

  • 信道的有效频率范围被分为一个个小的频段
  • 每个站点被分配一个固定的频段
  • 分配给站点的频段如果没有被使用,则空闲
  • 例如:6站的LAN,1,3,4有数据报,频段2,5,6空闲

在这里插入图片描述

码分多路访问(CDMA)
  • CDMA(code division multiple access)
    • 所有站点在整个频段上同时进行传输,采用编码原理加以区分
    • 完全无冲突
    • 假定:信号同步很好,线性叠加
  • 比方
    • TDM:不同的人在不同的时刻讲话
    • FDM:不同的组在不同的小房间里通信
    • CDMA:不同的人使用不同的语言讲话

随机存取协议

  • 当节点有帧要发送时
    • 以信道带宽的全部R bps发送
    • 没有节点间的预先协调
  • 两个或更多节点同时传输,会发生 -> 冲突
  • 随机存取协议规定
    • 如何检测冲突
    • 如何从冲突中恢复(如:通过稍后的重传)
  • 随机MAC协议
    • 时隙ALOHA
    • ALOHA
    • CSMA、CSMA/CD、CSMA/CA
时隙ALOHA

假设

  • 所有的帧都是等长的
  • 时间被划分成相等的时隙,每个时隙可发送一帧
  • 节点只在时隙开始时发送帧
  • 节点在时钟上是同步的
  • 如果两个或多个节点在一个时隙传输,所有的站点都能检测到冲突

运行

  • 当节点获取新的帧,在下一个时隙传输
  • 传输时没有检测到冲突,成功
    • 节点能够在下一时刻发送新帧
  • 检测时如果检测到冲突,失败
    • 节点在每一个随后的时隙以概率p重传帧直到成功

在这里插入图片描述

优点

  • 节点可以以信道带宽全部连续传输
  • 高度分布:仅需要节点之间在间隙上的同步
  • 简单

缺点

  • 存在冲突,浪费时间
  • 即使有帧要发送,仍然有可能存在空闲的时隙
  • 节点检测冲突的时间 < 帧传输的时间
    • 必须传完
  • 需要时钟上同步
时隙ALOHA的效率

效率:当有很多节点,每个节点有很多帧要发送时,x%的时隙是成功传输帧的时隙

  • 假设N个节点,每个节点都有很多帧要发送,在每个时隙中的传输概率是p
  • 一个节点成功传输概率是 p ( 1 − p ) N − 1 p(1-p)^{N-1} p(1p)N1
  • 任何一个节点的成功概率是 N p ( 1 − p ) N − 1 Np(1-p)^{N-1} Np(1p)N1
  • N个节点的最大效率:求出使 f ( P ) = N p ( 1 − p ) N − 1 f(P) = Np(1-p)^{N-1} f(P)=Np(1p)N1 最大的 p ∗ p^ * p
  • 代入 p ∗ p^* p得到最大 f ( p ∗ ) f(p^{*}) f(p)
  • N为无穷大时的极限为1/e = 0.37

最好情况,信道利用率为37%

纯ALOHA
  • 无时隙ALOHA:简单、无需节点间在时间上同步
  • 当有帧需要传输:马上传输
  • 冲突的概率增加:
    • 帧在 t 0 t_0 t0发送,和其他在$[t_0 - 1,t_0 + 1]区间内开始发送的帧冲突
    • 和当前帧冲突的区间(其他帧再次区间开始传输)增大了一倍

在这里插入图片描述

纯ALOHA的效率

P(指定节点成功) = P(节点传输)
P(其他节点在 [ t 0 − 1 , t 0 ] [t_0 - 1,t_0] [t01,t0]不传)
P(其他节点在 [ t 0 , t 0 + 1 ] [t_0,t_0 + 1] [t0,t0+1]不传)
= p ⋅ ( 1 − p ) N − 1 ⋅ ( 1 − p ) N − 1 = p ⋅ ( 1 − p ) 2 ( N − 1 ) p \cdot (1-p)^{N-1} \cdot (1-p)^{N-1} =p \cdot (1-p)^{2(N-1)} p(1p)N1(1p)N1=p(1p)2(N1)
选择最佳的p、N趋向无穷大
= 1/(2e) = 17.5%

效率比时隙ALOHA更差了

CSMA冲突

冲突仍然可能发生
由传播延迟造成:两个节点可能侦听不到正在进行的传输

冲突
整个冲突帧的传输时间都被浪费了,是无效的传输(红黄区域)

注意
传播延迟(距离)决定了冲突的概率
节点依据本地的信道使用情况来判断全部信道的使用情况

在这里插入图片描述

CSMA/CD(冲突检测)

CSMA/CD

  • 载波倾听CSMA:和在CSMA中一样发送前倾听信道
  • 没有传完一个帧就可以在短时间内检测到冲突
  • 冲突发生时则传输终止,减少对信道的浪费

冲突检测CD技术,有线局域网中容易实现

  • 检测信号强度,比较传输与接收到的信号是否相同
  • 通过周期的过零点检测

人类类比:礼貌的对话人

在这里插入图片描述

以太网CSMA/CD算法
  1. 适配器获取数据报,创建帧
  2. 发送前:监听信道CS
    1. 闲:开始传输帧
    2. 忙:一直等到闲再发送
  3. 发送过程中,冲突检测CD
    1. 没有冲突:成功
    2. 检测到冲突:放弃,之后尝试重发
  4. 发送方适配器检测到冲突,除放弃外,还发送一个Jam信号,所有听到冲突的适配器也是如此
    强化冲突:让所有站点都知道冲突
  5. 如果放弃,适配器进入指数退避状态
    在第m次失败后,适配器随机选择一个(0,1,2,…, 2 m − 1 2^{m-1} 2m1)中K,等待 K ∗ 512 K^*512 K512位时,然后转到步骤2
    exponential backoff 二进制指数退避算法

指数退避

  • 目标:适配器试图适应当前负载,在一个变化的碰撞窗口中随机选择时间点尝试重发
    • 高负载:重传窗口时间大,减少冲突,但等待时间长
    • 低负载:使得各站点等待时间少,但冲突概率大
  • 首次碰撞:在{0,1}选择K,延迟 K ∗ 512 K^*512 K512位时
  • 第2次碰撞:在{0,1,2,3}选择K
  • 第10次碰撞:在{0,1,2,3,…,1023}选择K
CSMA/CD效率
  • T p r o p T_{prop} Tprop = LAN上2个节点的最大传播延迟
  • t t r a n s t_{trans} ttrans = 传输最大帧的时间
    e f f i c i e n c y = 1 1 + 5 t p r o p / t t r a n s efficiency = \frac{1}{1 + 5t_{prop}/t_{trans}} efficiency=1+5tprop/ttrans1
  • 效率变为1
    • t p r o p t_{prop} tprop变成0时
    • t t r a n s t_{trans} ttrans变为无穷大时
  • 比起ALOHA更好的性能,而且简单,廉价,分布式
无线局域网CSMA/CA

在这里插入图片描述

WLAN构成

  • 基站:AP
  • 无线链路
  • 移动主机节点
无线局域网中的MAC:CSMA/CA
  • 冲突: 2 + 2^+ 2+站点(AP或者站点)在同一时刻发送
  • 802.11:CSMA - 发送前侦听信道
    • 不会和其他节点正在进行的传输发生冲突
  • 802.11:没有冲突检测
    • 无法检测冲突:自身信号远远大于其他信号节点
    • 即使能CD:冲突 != 成功
    • 目标:avoid collisions:CSMA/C(collision)A(voidance)
      • 无法CD:一旦发送一股脑全部发送完毕,不CD
      • 为了避免无CD带来的信道利用率低的问题,事前进行冲突避免
无线局域网:CSMA/CA

发送方

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

802.11接收方

  • 如果帧正确,则在SIFS后发送ACK

无线链路特性,需要每帧确认;例如:由于隐藏终端问题,在接收端可能形成干扰,接收方没有正确的收到,链路层可靠机制)

在这里插入图片描述

IEEE 802.11 MAC 协议:CSMA/CA

在count down时,侦听到了信道空闲为什么不发送,而要等到0时再发送

  • 2个站点有数据帧需要发送,第三个节点正在发送
  • LAN CD:让2者听完第三个节点发完,立即发送
    • 冲突:放弃当前的发送,避免了信道的浪费于无用冲突帧的发送
    • 代价不昂贵
  • WLAN:CA
    • 无法CD,一旦发送就必须发完,如冲突信道浪费严重,代价高昂
    • 思想:尽量事先避免冲突,而不是在发生冲突时放弃然后重发
    • 听到发送的站点,分别选择随机值,回退到0发送
      • 不同的随机值,一个站点会胜利
      • 失败站点会冻结计数器,当胜利节点发完再发

无法完全避免冲突

  • 两个站点相互隐藏
    • A,B相互隐藏,C在传输
    • A,B选择了随机回退值
    • 一个节点如A胜利了,发送
    • 而B节点收不到,顺利count down到0发送
    • A,B的发送在C附近形成了干扰
  • 选择了非常靠近的随机回退值
    • A,B选择的值非常近
    • A到0后发送
    • 但是这个信号还没到达B时
    • B也到0了,发送
    • 冲突
冲突避免 RTS - CTS交换

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

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

采用小的预约分组,可以完全避免数据帧的冲突

在这里插入图片描述

线缆接入网络

在这里插入图片描述

  • 多个40Mps 下行(广播)信道,FDM
    • 下行:通过FDM分成若干信道,互联网、数字电视等
    • 互联网信道:只有1个CMTS在其上传输
  • 多个30Mps 上行的信道,FDM
    • 多路访问:所有用户使用:接着TDM分成微时隙
    • 部分时隙分配,部分时隙竞争

DOCSIS:TDM上行信道

  • 采用TDM的方式将上行信道分成若干微时隙:MAP指定
  • 站点采用分配给他的微时隙上行数据传输:分配
  • 在特殊的上行微时隙中,各站点请求上行微时隙:竞争
    • 各站点对于该时隙的使用是随机访问的
    • 一旦碰撞(请求不成功,结果是:在下行的MAP中没有为他分配,则二进制退避)选择时隙上传输

在这里插入图片描述

轮流 MAC 协议

信道划分MAC协议:

  • 共享信道在高负载时是有效和公平的
  • 在低负载时效率低下
    • 只能等到自己的时隙开始发送或者利用1/N的信道频率发送
    • 当只有一个节点有帧传时,也只能够得到1/N个带宽分配

随机访问MAC协议

  • 在低负载时效率高:单个节点完全可以利用信道全部带宽
  • 高负载时,冲突开销较大,效率极低,时间很多浪费在冲突中

轮流协议

  • 有二者的优点

轮询

  • 主节点邀请从节点依次传送
  • 从节点一般比较“dumb”
  • 缺点
    • 轮询开销:轮训本身消耗信道带宽
    • 等待时间:每个节点需等到主节点轮询后开始传输,即使只有一个节点,也需要等到轮询一周后才能够发送
    • 单点故障:主节点失效时造成整个系统无法工作

在这里插入图片描述

令牌传递

  • 控制令牌(token)循环从一个节点到下一个节点传递
  • 令牌报文:特殊的帧
  • 缺点
    • 令牌开销:本身消耗带宽
    • 延迟:只有等到抓住令牌,才可传输
    • 单点故障
      • 令牌丢失系统级故障,整个系统无法传输
      • 复杂机制重新生成令牌

在这里插入图片描述

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

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

相关文章

使用pillow创建动态图形验证码

使用pillow创建动态图形验证码 #安装pillow模块&#xff1a;pip3 install pillow from PIL import Image,ImageDraw,ImageFont import random import stringdef id_code(width,height,bit,font_file,font_size):"""功能&#xff1a;生成随机图片验证码:param w…

Linux基本指令篇

在前边&#xff0c;我们已经了解过了Linux操作系统的发展和应用&#xff0c;从该篇起&#xff0c;就正式进入对Linux的学习。 今天我们就来在Xshell上远程登录我们的云服务器。首先我们要知道自己云服务器的公网ip&#xff0c;然后修改一下密码。 点击跳转 修改完密码之后我们…

项目级AIMS手术麻醉信息系统源码,C#手麻系统源码,应用案例+演示

手术麻醉信息系统可以实现手术室监护仪、麻醉机、呼吸机、输液泵等设备输出数据的自动采集&#xff0c;采集的数据能据如实准确地反映患者生命体征参数的变化&#xff0c;并实现信息高度共享&#xff0c;根据采集结果&#xff0c;综合其他患者数据&#xff0c;自动生成手术麻醉…

U8二次开发-钉钉集成

钉钉开放平台作为企业沟通和协作的重要工具,其技术的每一次迭代都为企业带来了新的机遇和挑战。随着企业对于高效沟通和智能化管理的需求日益增长,钉钉平台的SDK更新显得尤为重要。把传统的U8与钉钉平台集成,可以有效的将业务功能和角色进行前移,打破应用系统二八原则,即8…

第三方系统自动登录BBS For Discuz! X3.4/X3.5

apache安装 service apache2 restart PHP安装 php.info php.ini mysql安装 Discuz! X3.4/X3.5安装 跳转BBS 传参 写入BBS 登录BBS

一文教会女朋友学会日常Git使用!Git知识总结

文章目录 一文教会女朋友学会日常Git使用&#xff01;Git知识总结一、git基本知识了解1.git简介2.git区域了解3.git常用命令 二、常用工作场景1.克隆远程仓库&#xff0c;把仓库代码拉到本地2.推送代码到远程仓库&#xff08;1&#xff09;本地代码和远程仓库版本相同&#xff…

GCNet: 非局部网络与挤压-激励网络的融合与超越

摘要 非局部网络&#xff08;NLNet&#xff09;通过为每个查询位置聚合特定于查询的全局上下文&#xff0c;为捕获长距离依赖关系提供了一个开创性的方法。然而&#xff0c;经过严格的实证分析&#xff0c;我们发现非局部网络所建模的全局上下文在图像中的不同查询位置几乎相同…

分享 5 个提高技术领导力的技巧

技术领导力于很多人而言都是谜一般的存在。有观点认为&#xff0c;实战经验丰富的资深开发最终只有成为技术管理者才能继续成长。从某些方面来看&#xff0c;这可能是对的&#xff0c;但考虑到公司结构和规章制度等&#xff0c;想要完成从「个人贡献者」到「技术管理者」的跨越…

ModuleNotFoundError: No module named ‘utils.utils pytorch项目报错

首先呢会报错是因为引入的问题 代码是这样的但是sys.path.append的功能仅限当前的目录 sys.path.append("..") from utils.utils import MyDataset, validate, show_confMat应该加下面的文件路径 sys.path.append("..") from Code.utils.utils import My…

基于8086七路抢答器倒计时仿真设计

**单片机设计介绍&#xff0c;基于8086七路抢答器倒计时仿真设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于8086的七路抢答器倒计时仿真设计是一个结合了微处理器控制、抢答逻辑以及倒计时功能的综合性项目。该系统能够模拟七路抢…

【树状数组专题】【蓝桥杯备考训练】:数星星、动态求连续区间和、一个简单的整数问题、一个简单的整数问题2【已更新完成】

目录 1、数星星&#xff08;《信息学奥赛一本通》 & ural 1028&#xff09; 思路&#xff1a; 基本思路&#xff1a; 树状数组经典三函数&#xff1a; 1、lowbit()函数 2、query()函数 3、add()函数 最终代码&#xff1a; 2、动态求连续区间和&#xff08;《信息学奥赛一本…

智能仪器替代技术工程师重复工作 专注生产方案优化!

关键词&#xff1a;智能仪器,测径仪,测宽仪,测厚仪,直线度测量仪 在当今竞争激烈的市场环境下&#xff0c;企业需要不断提高生产效率和质量&#xff0c;以满足客户的需求。而技术工程师在生产过程中扮演着至关重要的角色&#xff0c;但他们的时间和精力往往被重复的工作所占据&…

FPGA寄存器 Vivado IP核

1. 今日任务 小梅哥视频&#xff1a;21A 认识并理解FPGA中的存储器模型_哔哩哔哩_bilibili 21B 学习使用Vivado中的存储器资源_哔哩哔哩_bilibili 2. FPGA中的存储器类型 只读ROM eg.CMOS摄像头初始化、DDS信号发生器(固定波形数据的…

docker-compse安装es(包括IK分词器扩展)、kibana、libreoffice

Kibana是一个开源的分析与可视化平台&#xff0c;设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。 Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等&#xff0c;直观的展示数据&#xff0c;从而达到高级的数据…

【NOI】树 2164 - 子结点的数量 2165 - 子结点的数量(2)1775 - 谁的孙子最多1776 - 谁的孙子最多II

文章目录 问题一&#xff1a;2164 - 子结点的数量问题二&#xff1a;2165 - 子结点的数量&#xff08;2&#xff09;问题三&#xff1a;1775 - 谁的孙子最多问题四&#xff1a;1776 - 谁的孙子最多II 问题一&#xff1a;2164 - 子结点的数量 类型&#xff1a;树 题目描述&…

mysql 故障排除与优化

目录 一 mysql 逻辑架构图 二 msql单实例常见故障 1, 故障一 2, 故障二 3, 故障三 4, 故障四 5, 故障五 6, 故障六 7, 故障七 8, 故障八 三 mysql 主从环境常见故障 1, 故障一 2, 故障二 3, 故障三 四 mysq 常见优化 1&#xff0c;硬件优化…

校园二手书交易|基于springboot的校园二手书交易设计与实现(附项目源码+论文)

基于springboot校园二手书交易平台的设计与实现 目录 基于springboot校园二手书交易平台的设计与实现 一、摘要 二、相关技术 java、tomcat、mysql、spring、sprigBoot、mybatis、query、vue 三、系统设计 3.1 整体功能设计图 3.2 功能具体细节设计 四、数据库设计 五…

砍树c++

题目&#xff1a; 代码&#xff1a; #include<bits/stdc.h> using namespace std; long long n,m,a[100000005]; bool jltm(int x){long long sum0;for(int i1;i<n;i){if(a[i]>x) sumsuma[i]-x;}//计算此时锯片高度砍掉的木材if(sum>m) return 1;else return 0…

城市排涝与海绵城市教程

原文链接&#xff1a;城市排涝与海绵城市教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247599633&idx3&snbfe71e1b4f918864fdfe8e33db8a104b&chksmfa8207f6cdf58ee03dea20cc64bb106aadd729fcbf0a1ce3f920d3e767f78e53fa6a094d8d2a&token21066…

Linux_应用篇(02) 文件 I/O 基础

本章给大家介绍 Linux 应用编程中最基础的知识&#xff0c;即文件 I/O&#xff08;Input、 Outout&#xff09; &#xff0c; 文件 I/O 指的是对文件的输入/输出操作&#xff0c;说白了就是对文件的读写操作&#xff1b; Linux 下一切皆文件&#xff0c;文件作为 Linux 系统设计…