计算机网络:数据链路层(介质访问控制)
欢迎关注大家关注我的公众号:浩泽学编程;联系我,一起交流学习,也可以解答你的迷茫。
目录
前言
介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。
多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。
把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道。
一、静态划分信道(信道划分介质访问控制)
1、频分多路复用FDM
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
充分利用传输介质带宽,系统效率较高;由于技术比较成熟,实现也比较容易。
2、时分多路复用TDM
将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
- 频分复用――“并行”
- 时分复用――“并发”
改进的时分复用――统计时分复用STDM
每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。
3、波分多路复用WDM
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
4、码分多路复用CDM
码分多址(CDMA)是码分复用的一种方式。
1个比特分为多个码片/芯片(chip),每一个站点被指定一个唯一的m位的芯片序列。发送1时站点发送芯片序列,发送o时发送芯片序列反码(通常把o写成-1)。
如何不打架:多个站点同时发送数据的时候,要求各个站点芯片序列相互正交。
如何合并:各路数据在信道中被线性相加。
如何分离:合并的数据和源站规格化内积。
二、动态分配信道(随机访问介质访问控制)
1、ALOHA协议
不听就说
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发
冲突如何检测?
如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。
冲突如何解决?
超时后等一随机时间再重传。
时隙ALOHA协议
时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。
控制想发就发的随意性
关于ALOHA要知道的事
1.纯ALOHA比时隙ALOHA吞吐量更低,效率更低。
2.纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。
2、CSMA协议
先听再说
载波监听多路访问协议CSMA (carrier sense multiple access)
CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
协议思想
多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
1、1-坚持CSMA
坚持指的是对于监听信道忙之后的坚持。
1-坚持CSMA思想:
- 如果一个主机要发送消息,那么它先监听信道。
- 空闲则直接传输,不必等待。
- 忙则一直监听,直到空闲马上传输。
- 如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
优点:
只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
缺点:
假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
2、非坚持CSMA
非坚持指的是对于监听信道忙之后就不继续监听。
非坚持CSMA思想:
- 如果一个主机要发送消息,那么它先监听信道。
- 空闲则直接传输,不必等待。
- 忙则等待一个随机的时间之后再进行监听。
优点:
采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:
可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
3、p-坚持CSMA
p-坚持指的是对于监听信道空闲的处理。
p-坚持CSMA思想:
- 如果一个主机要发送消息,那么它先监听信道。
- 空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。
- 忙则等待一个随机的时间之后再进行监听。
优点:
既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
缺点:
发生冲突后还是要坚持把数据帧发送完,造成了浪费。
4、三种CSMA对比总结
3、CSMA/CD协议
先听再说,边听边说
载波监听多点接入/碰撞检测CSMA/CD (carrier sense multiple access with collision detection)
CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。(总线型网络)
CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信潦上信亏电压的变化情优,以便判断自己在发送数据时其他站是否也在发送数据。(半双工网络)
此时会有人会问:先听后发为什么还会冲突?
因为电磁波在总线上总是以有限的速率传播的。
所以:
只要经过2t时间还没有检测到碰撞,就能肯定这次发送不会发生碰撞。
如何确定碰撞后的重传时机?
截断二进制指数规避算法
1.确定基本退避(推迟)时间为争用期2t。
2.定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。
3.从离散的整数集合[0,1,…,2^k-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2r t 。
4.当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
第一次重传,k=1,r从{0,1}选;
重传推迟时间为0或2t,在这两个时间中随机选一个﹔
若再次碰撞,则在第二次重传时, k=2,r从{0,1,2,3}选;
重传推迟时间为o或2r或4rt或6t,在这四个时间中随机选一个;
若再次碰撞,则第三次重传时,k=3,r从{0,1,2,3,4,5,6,7}选…
若连续多次发生冲突,就表明可能有较多的站参与争用信道。使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。
最小帧长问题
问题描述:
A站发了一个很短的帧但发生了碰撞不过帧在发送完毕后才检测到发生碰撞没法停止发送因为发完了。。
所以指定了最小帧长
帧的传输时延至少要两倍于信号在总线中的传播时延。
最小帧长=总线传播时延x数据传输速率x2
以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧.
4、CSMA/CA协议
载波监听多点接入/碰撞避免CSMA/CA (carrier sense multiple access with collision avoidance)
CSMA/CA协议工作原理
发送数据前,先检测信道是否空闲。
空闲则发出RTS (request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。
接收端收到RTS后,将响应CTS (clear to send)。
发送端收到CTS后,开始发送数据帧〈同时预约信道:发送方告知其他站点自己要传多久数据)。
接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。
发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
CSMA/CD与CSMA/CA的比较
相同点:
CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。
不同点:
- 1.传输介质不同:CSMA/CD用于总线式以太网【有线】,而CSMA/CA用于无线局域网【无线】。
- ⒉.载波检测方式不同:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测〈ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
- 3.CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传。
三、动态分配信道(轮询访问介质访问控制)
1、令牌传递协议
信道划分介质访问控制(MAC Multiple Access Control)协议:
基于多路复用技术划分资源。
网络负载重:共享信道效率高,且公平
网络负载轻:共享信道效率低
随机访问MAC协议:冲突
用户根据意愿随机发送信息,发送信息时可独占信道带宽。
网络负载重:产生冲突开销
网络负载轻:共享信道效率高,单个结点可利用信道全部带宽
轮询访问MAC协议/轮流协议/轮转访问MAC协议:
既要不产生冲突,又要发送时占全部带宽。
令牌:一个特殊格式的MAC控制帧,不含任何信息。
控制信道的使用,确保同一时刻只有一个结点独占信道。
每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
问题:
1.令牌开销
2.等待延迟
3.单点故障
应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。
采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。
- TCU转发器:传递数据帧时的一个接口,可以传递所有的帧,也可为接入站提供接口
- 令牌:一个特殊格式的MAC控制帧,不含任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。
当网络空闲的时候(没有主机要发送数据),令牌会在各个主机之间进行传递,直到传递到一个主机要发送数据了,此时主机D会改变令牌的标志位(将令牌从闲的状态变成忙的状态),然后再在令牌的空指针后面加上数据,此时就构成了数据帧,接着就会将数据帧发送出去,当发送到A主机后,A主机会复制一份数据,然后A主机接着发送令牌帧,主机D收到自己发送的令牌帧后会先检查令牌帧有没有出错,如果出错还会再重传一次,没出错的话就会对数据帧进行回收,不再转发了,将令牌标志位从忙再改为闲,发送出去,在他们之间循环。
总结
以上就是数据链路层之介质访问控制【静态划分信道(频分多路复用、时分多路复用、波分多路复用、码分多路复用)和动态分配信道(ALOHA协议、CSMA协议、CSMA/CD协议、CSMA/CA协议、令牌传递协议)】的相关知识点。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!