当前位置: 首页 > news >正文

计算机网络——数据链路层-介质访问控制

一、介质访问控制方法

 在局域网中, 介质访问控制(medium access control)简称MAC,也就是信道访问控制方法,可以
简单的把它理解为如何控制网络节点何时发送数据、如何传输数据以及怎样在介质上接收数据,
是解决当局域网中共用信道的使用产生竞争时,如何分配信道的使用权问题
介质访问控制分为以下3类:
1) 信道划分介质访问控制
2) 随机访问介质访问控制(争用型介质访问控制)
3) 轮询访问介质访问控制

1、信道划分介质访问控制
当传输介质的带宽超过了传输单个信号所需的带宽时,人们就通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率,这就是所谓的多路复用,也是实现信道划分介质访问控制的途径。
(1)频分多路复用
(2)时分多路复用
(3)波分多路复用
(4)码分多路复用
 

 

2、频分复用 FDM(Frequency Division Multiplexing)

• FDM是一种将多路基带信号调制到不同频率载波上再进行叠加形成一个复合信号的多路复用技术。
• 用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
• 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而
不是数据的发送速率)。
• 优点:充分利用了传输介质的带宽,系统效率较高;由于技术比较成熟,实现也较容易
 

3、时分复用(TDM)

• 时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在
每一个 TDM 帧中占用固定序号的时隙。
• 每一个用户所占用的时隙是周期性地出现(其周期就是 TDM 帧的长度)。
• TDM 信号也称为等时(isochronous)信号。
• 时分复用的所有用户是在不同的时间占用同样的频带宽度。


 

4、波分复用 WDM(Wavelength Division Multiplexing)
波分复用就是光的频分复用。 

 5、码分复用CDM

• 常用的名词是码分多址 CDMA (Code Division Multiple Access)。
• 各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。
• 这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。
• 每一个比特时间划分为 m 个短的间隔,称为码片(chip)。

正交关系的重要特性:

• 任何一个码片向量和该码片向量自己的规格化内积都是1 。
• 一个码片向量和该码片反码的向量的规格化内积值是 –1。
 

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

当几台计算机都使用一条信道发送数据时,就需要去共享信道,随机接入的意思是所有用户都可以根据自己的意愿随机地发送信息,占用信道全部速率,这样就会产生冲突(或者称为碰撞),从而导致所有冲突用户发送数据失败。
(1)ALOHA协议
(2)CSMA 协议
(3)CSMA/CD
(4)CSMA/CA

1、ALOHA协议:

ALOHA协议,其基本思想比较简单:当网络中的任何一个结点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内没有收到确认,该结点就认为传输过程中发生了冲突。发生冲突的结点需要等待一段随 机时间后再发送数据,直至发送成功为止。但是其发送成功率不高,最大值只有18.4%

时隙 ALOHA 协议
时隙 ALOHA 协议把所有各站在时间上都同步起来,并将时间划分为一段段等长的时隙(slot),规定只能在每个时隙开始时才能发送一个帧。从而避免了用户发送数据的随意性,减少了数据产生冲突的可能性提高了信道的利用率。(约36%)


 

2、CSMA协议

载波侦听多路访问(CSMA)协议是在ALOHA协议的基础上改进而来的访问控制协议。在CSMA中,每个结点发送数据之前都使用载波侦听技术来判定通信信道是否空闲。常用的CSMA有以下3种策略。
1) 1-坚持CSMA: 当发送结点监听到信道空闲时, 立即发送数据,如果信道忙,将继续监听。这种方法减小了信道空闲时间,但是增大了冲突的概率,因此一般适合于网络负载小的网络。
2) 非坚持CSMA:当发送结点一旦监听到信道空闲时,立即发送数据,否则延迟一段随机的时间再重新监听。 这种方法减小了冲突概率,但是增大了信道空闲时间。
3) p-坚持CSMA: 属于分时信道,当发送结点监听到信道空闲时,以概率p发送数据,以概率(1-p)不发送数据,延迟一段时间并重新监听。 

2、CSMA/CD

适用于总线型网络或半双工网络环境。
• 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大。
• 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
• 所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。
• 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。
• 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。
 

CSMA/CD的工作过程分为:

• 先听后发
• 边听边发
• 冲突停发
• 随机重发
• 发送站在发送数据的同时能检测到可能存在的冲突,需要在发送完帧之前就能收到已发送出去
的数据
 

•当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。
• A 向 B 发出的信息,要经过一定的时间后才能传送到 B。
• B 若在 A 发送的信息到达 B 之前发送自己的帧(因为这时 B 的载波监听检测不到 A 所发送的信息),则必然要在某个时间和 A 发送的帧发生碰撞。
• 碰撞的结果是两个帧都变得无用。
 

3、争用期

• 最先发送数据帧的站,在发送数据帧后至多经过时间 2(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
• 以太网的端到端往返时延 2 称为争用期,或碰撞窗口。
• 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
• 帧的传输时延≥2×总线传播时延
• 最小帧长=总线传播时延×数据传输速率×2

争用期长度 

• 以太网取 51.2 s 为争用期的长度。
• 对于 10 Mb/s 以太网,在争用期内可发送512 bit,即 64 字节。
• 以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。
• 如果发生冲突,就一定是在发送的前 64 字节之内。
• 由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。
• 以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧

4、CSMA/CA
• CSMA/CA的全称是Carrier Sense Multiple Access with Collision Avoidance。即载
波侦听多路访问/冲突避免。
• 发送数据前,先检测到信道状态,等到信道空闲后,再等待一段时间后,再次检测信道是否空闲,如果还是空闲,那么立刻发送数据,否则,随机等待一定时间,等时间到期后,再次发送检测。
• CSMA/CA 使用于无线网络。
• 它采用了带确认的发送机制(ACK)。
• CSMA/CD与CSMA/CA主要区别:
(1)传输介质不同
(2)检测方式不同
(3)CSMA/CA本节点处有/无冲突,并不一定以为在接受节点处就有/无冲突

相关文章:

计算机网络——数据链路层-介质访问控制

一、介质访问控制方法 在局域网中, 介质访问控制(medium access control)简称MAC,也就是信道访问控制方法,可以 简单的把它理解为如何控制网络节点何时发送数据、如何传输数据以及怎样在介质上接收数据, 是解决当局域网中共用信道的使用产生竞…...

pytest日志显示

在 pytest 中,可以通过 钩子函数 和 配置文件 pytest.ini 配置日志的显示方式,实现对日志的灵活控制。以下是常用实现方式及配置说明。 方式一:使用 conftest.py 钩子函数自定义日志显示 通过 conftest.py 文件中的钩子函数,实现…...

【信息系统项目管理师】第15章:项目风险管理过程详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 一、规划风险管理1、输入2、工具与技术3、输出二、识别风险1、输入2、工具与技术3、输出三、实施定性风险分析1、输入2、工具与技术3、输出四、实施定量风险分析1、输入2、工具与技术3、输出五、规划风险应对1、…...

Diffusers 使用 LoRA

使用diffusers 加载 LoRA,实现文生图功能。摘自 diffusers文档。 模型可以根据名称去modelscope找对应资源下载。使用的时候需要替换成具体路径。虽然modelscope和diffusers都使用了模型id,但是并不能通用。 不同的LoRA对应了不同的“trigger” words&am…...

云安全博客阅读(二)

2024-05-30 Cloudflare acquires BastionZero to extend Zero Trust access to IT infrastructure IT 基础设施的零信任 不同于应用安全,基础设置的安全的防护紧急程度更高,基础设施的安全防护没有统一的方案IT基础设施安全的场景多样,如se…...

SpringCloud系列教程:微服务的未来(六)docker教程快速入门、常用命令

对于开发人员和运维工程师而言,掌握 Docker 的基本概念和常用命令是必不可少的。本篇文章将带你快速入门 Docker,并介绍一些最常用的命令,帮助你更高效地进行开发、测试和部署。 目录 前言 快速入门 docker安装 配置镜像加速 部署Mysql …...

Vue 快速入门:开启前端新征程

在当今的 Web 开发领域,Vue.js 作为一款极具人气的 JavaScript 前端框架,正被广泛应用于各类项目之中。它以简洁的语法、高效的数据绑定机制以及强大的组件化开发模式,为开发者们带来了前所未有的开发体验。如果你渴望踏入前端开发的精彩世界…...

UVM:uvm_component methods configure

topic UVM component base class uvm_config_db 建议使用uvm_config_db代替uvm_resource_db uvm factory sv interface 建议:uvm_config_db 以下了解 建议打印error...

LLM 训练中存储哪些矩阵:权重矩阵,梯度矩阵,优化器状态

LLM 训练中存储哪些矩阵 目录 LLM 训练中存储哪些矩阵深度学习中梯度和优化器是什么在 LLM 训练中通常会存储以下矩阵: 权重矩阵:这是模型的核心组成部分。例如在基于 Transformer 架构的 LLM 中,每一层的多头注意力机制和前馈神经网络都会有相应的权重矩阵。以 BERT 模型为…...

大模型思维链推理的进展、前沿和未来分析

大模型思维链推理的综述:进展、前沿和未来 "Chain of Thought Reasoning: A State-of-the-Art Analysis, Exploring New Horizons and Predicting Future Directions." 思维链推理的综述:进展、前沿和未来 摘要:思维链推理&#…...

NLP 技术的突破与未来:从词嵌入到 Transformer

在过去的十年中,自然语言处理(NLP)经历了深刻的技术变革。从早期的统计方法到深度学习的应用,再到如今Transformer架构的普及,NLP 的发展不仅提高了模型的性能,还扩展了其在不同领域中的应用边界。 1. 词嵌…...

嵌入式中QT实现文本与线程控制方法

第一:利用QT进行文件读写实现 利用QT进行读写文本的时候进行读写,读取MP3歌词的文本,对这个文件进行读写操作。 实例代码,利用Qfile,对文件进行读写。 //读取对应文件文件,头文件的实现。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #incl…...

云备份项目--服务端编写

文章目录 7. 数据管理模块7.1 如何设计7.2 完整的类 8. 热点管理8.1 如何设计8.2 完整的类 9. 业务处理模块9.1 如何设计9.2 完整的类9.3 测试9.3.1 测试展示功能 完整的代码–gitee链接 7. 数据管理模块 TODO: 读写锁&#xff1f;普通锁&#xff1f; 7.1 如何设计 需要管理…...

Node.js——fs(文件系统)模块

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…...

SAP BC 同服务器不同client之间的传输SCC1

源配置client不需要释放 登录目标client SCC1...

CentOS: RPM安装、YUM安装、编译安装(详细解释+实例分析!!!)

目录 1.什么是RPM 1.1 RPM软件包命名格式 1.2RPM功能 1.3查询已安装的软件&#xff1a;rpm -q 查询已安装软件的信息 1.4 挂载&#xff1a;使用硬件&#xff08;光驱 硬盘 u盘等&#xff09;的方法&#xff08;重点&#xff01;&#xff01;&#xff01;&#xff09; 1…...

linux音视频采集技术: v4l2

简介 在 Linux 系统中&#xff0c;视频设备的支持和管理离不开 V4L2&#xff08;Video for Linux 2&#xff09;。作为 Linux 内核的一部分&#xff0c;V4L2 提供了一套统一的接口&#xff0c;允许开发者与视频设备&#xff08;如摄像头、视频采集卡等&#xff09;进行交互。无…...

MySQL使用navicat新增触发器

找到要新增触发器的表&#xff0c;然后点击设计&#xff0c;找到触发器标签。 根据实际需要&#xff0c;填写相关内容&#xff0c;操作完毕&#xff0c;点击保存按钮。 在右侧的预览界面&#xff0c;可以看到新生成的触发器脚本...

voice agent实现方案调研

前言 目前语音交互主要的实现大体有两种: 级联方案,指的是,大规模语言模型 (LLM)、文本转语音 (TTS) 和语音转文本 (STT),客户的话通过vad断句到STT的语音转文本,经过大模型进行生成文本,生成文本后通过TTS进行回复给用户。(主流方案)端到端的方案,开发者无需再…...

TCP通信原理学习

TCP三次握手和四次挥手以及为什么_哔哩哔哩_bilibili...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...