当前位置:网站首页>【计网】第三章 数据链路层(3)信道划分介质访问控制
【计网】第三章 数据链路层(3)信道划分介质访问控制
2022-07-06 12:10:00 【小鹿Madoka】
目录
3.5-1 信道划分介质访问控制
一、传输数据使用的两种链路
点对点链路:两个相邻节点通过一个链路相连,没有第三者。应用:PPP协议,常用于广域网。
广播式链路:所有主机共享通信介质。应用:早期的总线以太网、无线局域网,常用于局域网。典型拓扑结构:总线型、星型(逻辑总线型)
* 广播式链路如对讲机之间互相通话,但是如何解决A,B两个对讲机同时通话呢?这就需要用到介质访问控制
二、介质访问控制
介质访问控制的内容就是,采取一定的措施,使得两对结点之间的通信不会发生互相干扰的情况。
* 静态划分信道指的是没有开始通信之前先对信道进行划分,动态分配信道指的是通信过程中发生冲突时进行处理。frequency、time、wave、code。
三、信道划分介质访问控制
信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。
多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信息资源,提高信道利用率。把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道。
(1)频分多路复用FDM
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
优点:充分利用传输介质带宽,系统效率较高;由于技术比较成熟,实现也比较容易。
(2)时分多路复用TDM
将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
频分复用类似于操作系统中的“并行”,时分复用类似于“并发”。
(3)改进的时分复用——统计时分复用STDM
每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。
* 像是一栋楼里面四个单元的居民下楼去做核酸,核算测试地点不管你是哪个单元的,只要凑够10个人(STDM帧满了)就可以凑成一组了。可以出现连续多个居民全是同一单元的情况。
(4)波分多路复用WDM
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
(5)码分多路复用CDM
把两个发送端发送的数据在同一条传输通道上扭到一起,在接收端将这些数据分离。
那么怎么在C端分离A、B的数据呢?
码分多址(CDMA)是码分复用的一种方式。1个比特分为多个码片/芯片(chip),每一个站点被指定一个唯一的m位的芯片序列,发送1时发送芯片序列(通常把0写成-1)。
发送1时站点发送芯片序列,发送0时发送芯片序列反码。
3.5-2 ALOHA协议
一、动态分配信道
介质访问控制是在广播中应用到的一种访问控制,同一时间只能有一个发送方在发送信息。“静态划分信道”是在用户通信之前预先把信道按照时间、空间划分;
“动态分配信道”又称作“动态媒体接入控制/多点接入”,特点是:信道并非在用户通信时固定分配给用户。
“动态分配信道”中的“随机访问介质访问控制”中,所有用户可随机发送信息,发送信息时占全部带宽。
二、ALOHA协议
(1)(纯)ALOHA协议
* Norm Abramson 在夏威夷旅行时为了解决通信之间的问题,创建了ALOHA协议,ALOHA为夏威夷人当地的打招呼语。
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发。
* “赶得早不如赶得巧”协议,非常得随意,可以看出这个学者是在好好度假了
指的是一个数据帧的发送长度用 衡量, 一个帧从开始发送至发送成功的时间。
各个发送站点在发送数据帧时可能会遇到发生冲突的情况,那么冲突如何检测?
——如果发生冲突,接收方就会检测出差错,然后不予确认或NAK否定确认帧,发送方在一定时间内收不到确认(超时),就判断发生冲突。
冲突如何解决?
——超时后等一随机时间再重传。
(2)时隙ALOHA协议
时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。控制想发就发的随意性。
* 不同发送站的时间片划分可能不同,而且冲突之后可能会有优化算法(?)来发送下一帧
三、总结
1. 纯ALOHA协议比时隙ALOHA协议吞吐量更低,效率更低;
2. 纯ALOHA协议想发就发,时隙ALOHA协议只有在时间片段开始时才能发;
3.5-3 CSMA 协议
一、CSMA协议
载波监听多路访问协议(carrier sense multiple access)
CS(carrier sense):载波监听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
检测方式:
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。
门限值是一个通用词汇,表示这个数值是临界点,某个参数超过门限值会引起对应的某个性质急剧的变化。
MA(multiple access):多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
协议思想:发送帧之前,监听信道。
(1)1-坚持CSMA
坚持指的是对于监听信道忙之后的坚持。
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则一直监听,直到空闲马上传输。
如果有冲突(一段时间内未受到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
(2)非坚持CSMA
非坚持指的是对于监听信道忙之后就不继续监听。
非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则等待一个随机的时间之后再进行监听。
优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率低。
(3)p-坚持CSMA
应用于时隙信道。如果p=1,类似于1-坚持CSMA,而p=0时,与非坚持CSMA不同。
p-坚持指的是对于监听信道空闲的处理。
p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。
忙则持续监听直到信道空闲再以p概率发送。
若冲突则等到下一个时间槽开始再监听并重复上述过程。
优点:既能像非坚持算法那样减少冲突,有能像1-坚持算法那样减少媒体空闲时间。
缺点:发生冲突后发送端还是要坚持把数据帧发送完,造成了浪费。
* 如何解决这种现象,一发生冲突就能发现,停止发送数据呢?——CSMA/CD协议
二、三种CSMA对比
1-坚持CSMA | 非坚持CSMA | p-坚持CSMA | |
信道空闲 | 马上发 | 马上发 | p概率马上发 1-p概率等到下一时隙再发送 |
信道忙 | 继续坚持监听 | 放弃监听,等一个随机时间再监听 | 持续监听,直到信道空闲再以p概率发送 |
3.4-5 CSMA/CD 协议
一、CSMA/CD 协议
* 先听再说,听到有别人在说话自己就不说了
载波监听多点接入/碰撞检测 CSMA/CD (carrier sense multiple access with collision detection)
CS:载波侦听/监听,每一个站点在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络
CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据。半双工网络(只能有一个发送方,一个接收方,两个人分别从河对岸过独木桥的情况)
Q:先听后发为什么还会冲突?
A:因为电磁波在总线上是以有限速率传播的,可能在A发送给C时的同时,并未传到给B的空隙时间内,B也给C发送数据,这样就造成了冲突。
二、传播时延对载波监听的影响
Q:作为发送端,多久才能够知道自己发送的数据?
A:0至
三、如何确定碰撞后的重传时机?
截断二进制指数规避算法
1. 确定基本退避(推迟)时间为争用期;
2. 定义参数k,让它等于重传次数,但k不超过 10,即 k = min[重传次数, 10] 。当重传次数不超过10时,k等于重传次数;当重传次数大于 10 时,k 就不再增大而一直等于 10;
3. 从离散的整数集合 [0, 1,..., ] 中随机取出一个数 r,重传所需要退避的时间就是 r 倍的基本退避时间,即 ;
4. 当重传达 16 次仍不成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错;
例:在以太网的二进制回退算法中,在 11 次碰撞之后,站点会在0~(?)之间选择一个随机数。
参数 k 为重传次数,虽然已经发生了11次碰撞,但是最大值只能为 10,
四、最小帧长问题
假设发送端发送了一个很短的帧,在帧发送完毕后才检测到发生了碰撞,就不会再出现停止发送的情况,因为帧太短已经发送完了。
如何解决这种现象?——规定一个最小帧长
以太网会对小于 64B 的帧进行填充。
五、总结
3.5-5 CSMA/CA协议
CSMA/CD 是对于碰撞的检测;
CA 是对于碰撞的避免;
一、CSMA/CD 协议
载波监听多点接入/碰撞避免 CSMA/CA (carrier sense multiple access with collision avoidance)
CA 会发送完信息之后等待一会儿,看看有没有碰撞,如果没有再发送下一条
为什么 CSMA/CD 协议只有碰撞避免、没有碰撞检测还要使用它?
——应用场景不同
CA 使用与无线局域网中,也就是无线网络中;
CD 使用于有网络的情况,总线式以太网中;
CD在无线局域网中的局限有:
(1)无法做到360°全面检测碰撞(无线网空间大,在硬件上难以实现)
(2)隐蔽站问题,当 A 和 C 都检测不到信号,认为信道空闲时,同时向终端 B 发送数据帧,就会导致冲突。
二、CSMA/CA 协议工作原理
(1)发送端发送数据前,先检测信道是否空闲;
信道空闲则发出 RTS(request to send),RTS 包括发送端的地址、接收端的地址、下一份数据将持续发送的时间等信息;
信道忙则等待;
(2)接收端收到 RTS 后,将相应 CTS(clear to send);
(3)发送端收到 CTS 后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据);
(4)接收端收到数据帧后,将用 CRC(循环冗余校验)来检验数据是否正确,正确则响应 ACK 帧;
(5)发送方收到 ACK 就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间);
CA 中使用了三个手段来实现碰撞避免:
1. 预约信道(发送端);
2. ACK确认帧(接收端);
3. RTS(发送端)/CTS(接收端) (在检测信道的时候两个端发送这两个帧,为了解决隐蔽站的问题);
三、CSMA/CD 与 CSMA/CA 的比较
相同点:
CSMA/CD 与 CSMA/CA 机制都从属于 CSMA 的思路,其核心是先听再说。也就是说,两个在接入信道之前都需要进行监听。当发现信道空闲后,才能进行接入。
不同点:
1. 传输介质不同:CSMA/CD 用于总线式以太网(有线),而 CSMA/CA 用于无线局域网(无线);
2. 载波检测方式不同:因传输介质不同,CSMA/CD 与 CSMA/CA 的检测方式也不同。
CSMA/CD 通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;
CSMA/CA 采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式;
3. CSMA/CD 检测冲突,CSMA/CA 避免冲突,二者出现冲突后都会进行有上限的重传;
3.5-6 轮询访问介质访问控制
一、介质访问控制回顾
(静态划分信道)信道划分介质访问控制(MAC Multiple Access Control)协议:
基于多路复用技术划分资源;
网络负载重:共享信道效率高,且公平;
网络负载轻:共享信道效率低;
(动态划分信道)随机访问 MAC 协议:
用户根据意愿随机发送信息,发送信息时可独占信道带宽。
网络负载重:产生冲突开销(发生冲突使得发送端的信息失效);
网络负载轻:共享信道效率高,单个结点可利用信道全部带宽;
(动态划分信道)轮询访问 MAC 协议/轮流协议/轮转访问 MAC 协议:
即不产生冲突,有发送时占全部带宽。
(1)轮询协议
(2)令牌传递协议
二、轮询协议
主结点轮流“邀请”从属结点发送数据。
主结点按次序给从属结点发送短针,看从属结点是否需要给自己发送数据。
存在问题:
1. 轮询开销(从属结点多的时候主结点会多次询问);
2. 等待延迟(对于后面的从属结点主机);
3. 单点故障(主结点宕机就都坏了);
三、令牌传递协议
令牌:一个特殊格式的 MAC 控制帧,不含任何信息。他控制信道的使用,确保同一时刻只有一个结点独占信道。
令牌环网无碰撞,每个结点都可以在一定时间内(令牌持有时间)获得发送数据的权力,并不是无限制地持有令牌。
存在问题:
1. 令牌开销(令牌传递过程中丢失,或者在源站点传送完数据后,产生一个新令牌);
2. 等待延迟(接收端排在后面的情况);
3. 单点故障(任意主机宕机就都坏了,可用替代机);
令牌传递协议应用于令牌环网,逻辑上是环形拓扑结构,物理上是星型拓扑结构。
采用令牌传递方式的网络常用于负载较重、通信量较大的网络中。
边栏推荐
- 社招面试心得,2022最新Android高频精选面试题分享
- Period compression filter
- String长度限制?
- Selenium advanced operations
- 方法关键字Deprecated,ExternalProcName,Final,ForceGenerate
- js实现力扣71题简化路径
- After solving 2961 user feedback, I made such a change
- Method keywords deprecated, externalprocname, final, forcegenerate
- HMS Core 机器学习服务打造同传翻译新“声”态,AI让国际交流更顺畅
- 腾讯安卓开发面试,android开发的基础知识
猜你喜欢
PowerPivot——DAX(初识)
蓝桥杯 微生物增殖 C语言
力扣101题:对称二叉树
腾讯字节等大厂面试真题汇总,网易架构师深入讲解Android开发
Configuration and simple usage of the EXE backdoor generation tool quasar
Crawler (14) - scrape redis distributed crawler (1) | detailed explanation
Hudi vs Delta vs Iceberg
Standardized QCI characteristics
[玩转Linux] [Docker] MySQL安装和配置
腾讯Android面试必问,10年Android开发经验
随机推荐
【云小课】EI第47课 MRS离线数据分析-通过Flink作业处理OBS数据
Learning and Exploration - function anti shake
POJ 3207 Ikki' s Story IV – Panda' s Trick (2-SAT)
【计算情与思】扫地僧、打字员、信息恐慌与奥本海默
121. The best time to buy and sell stocks
121. 买卖股票的最佳时机
BUUCTF---Reverse---easyre
Introduction to enterprise lean management system
Standardized QCI characteristics
js实现力扣71题简化路径
Configuration and simple usage of the EXE backdoor generation tool quasar
It's enough to read this article to analyze the principle in depth
【基础架构】Flink/Flink-CDC的部署和配置(MySQL / ES)
腾讯T4架构师,android面试基础
DOM operation
How to customize animation avatars? These six free online cartoon avatar generators are exciting at a glance!
Swiftui game source code Encyclopedia of Snake game based on geometryreader and preference
Information System Project Manager - Chapter VIII project quality management
AsyncHandler
Chic Lang: attributeerror: partially initialized module 'CV2' has no attribute 'GAPI_ wip_ gst_ GStreamerPipe