由来:数据链路层负责的主要是关于如何传输数据的问题,考虑的是一个点到点的问题。但是,现实中许多网络传输都是多点对多点的,这就涉及到如何共用信道的问题。前面在物理层已经介绍过TDM等方法,但是其仍有许多信道资源上的浪费,因此在MAC层,根据流量来进行更高效的介质访问控制。
解决的问题:管理网络中多个站点如何共享传输介质的问题
信道分配问题
静态分配方法
基本不可取,因为网络的流量一般具有突发性,因此忽略该方法
动态分配方法(有线传输)
ALHOA协议
纯ALHOA
核心思路:每个站点有了包就往信道上丢,反正没收到就重传
冲突期:2t(t是每个帧的传输延迟)
时隙ALHOA
核心思路:把时间按照帧的传输时延均分,传输只能在时隙的边界开始
冲突期:t
成功减少了冲突期
CSMA协议
纯CSMA
核心思想:在发送前监听信道,可以减少冲突期。
工作过程:
1、如果信道空闲,按p的概率发送帧
2、如果信道忙,则等待
3、如果两个站点同时发帧,那么崩溃
4、崩溃后等待一段时间,重新发
冲突期:
坚持CSMA和非坚持CSMA
非坚持CSMA:如果信道忙,那么等待随机时间后再发
坚持CSMA:如果信道忙,那么等到它空闲后,按照p概率发包,称为p-persist
CSMA
CSMA/CD(CSMA with collision detection)
核心思路:在CSMA的基础上,加入冲突检测。每当检测到冲突时,停止传输数据,并传输一个强化信号表示检测到冲突。然后退避一个随机的时间,再恢复传输
信道分为三个状态:冲突,传输,空闲
获得冲突状态至少也需要2
指数退避算法:
1、从
2、退避时间=
工作过程:
1、载波监听:一边发送包,一边监听冲突
2、冲突检测:经过至少2
3、随机退避,调用指数退避算法
动态分配方法(无线传输)
无线传输的新问题
1、冲突检测困难,发送方有固定的范围,超出范围外的没法检测冲突
2、容易发生干扰
3、隐藏终端问题,A和C同时发给B,此时A和C互相无法看到,那么在B处发生冲突
4、暴露终端问题,假设有四个节点A、B、C、D排列成一条直线,其中B正在给A发送数据。
问题核心:C能够听到B的传输信号,并因此误以为如果自己此时向D发送信息会造成冲突。但实际上,B和D之间没有重叠的通信范围,也就是说,B向A的数据传输不应该阻止C向D的数据传输。
解决方法
MACA协议
工作过程:
1、发送方发送一个RTS(Request To Send)帧到地址,代表预约请求发送
2、接收方回复一个CTS(Clear To Send)帧个发送方,代表允许发送
3、发送方接收到CTS之后,发送数据帧
4、接收方返回ACK帧
5、如果未接收到CTS,那么调用指数退避算法,然后重新发送RTS
RTS(S to R) ->CTS(R to S) ->DATA(S to R)-> ACK(R to S)
CSMA/CA协议
工作过程:
发送方:
1、监听信道,要确保信道中有DIFS的时间是干净的,然后进入退避状态
2、随机退避,在信道不干净的时候暂停。只有干净的时候开始计数,等到计数为0的时候,发送帧
3、如果没有收到ACK帧,增加退避时间,重复2
接收方:
只要接收完成,那么在等待SIFS时间确保信道干净后,发送ACK帧
其中,DIFS的时间大于SIFC的时间(重要),为了确保发送ACK的优先级高于发送数据帧
另外,每个发送的帧都带有NAV信息,能够让其他站点知道信道大概需要被占用多久
为了防止高误码率,可以采用段突发机制,将帧分成很小的块
TXOP技术的使用:
使得高速站点的发送的速度更快。
计算方法:c = ci/n,每个速度除以总的站点数就行了
如何评价MAC层协议
- 低负载:时延越低越好
- 高负载:吞吐量越高越好
IEEE 802层
物理层(Physical Layer)
- 信号编码/解码:负责将数据转换为适合通过传输介质发送的形式,以及接收时将其转换回数字信息。
- 比特传输/接收:处理实际的数据位在物理媒介上的传输与接收过程。
- 传输介质和拓扑结构:定义了使用何种类型的电缆或无线技术来传输数据,以及网络的物理布局。
MAC子层(Media Access Control 子层)
- 帧构建:负责创建用于网络传输的数据包或帧。
- 错误检查:确保数据帧在传输过程中没有被损坏。
- 物理地址:例如MAC地址,用于唯一标识网络上的设备。
- 介质共享:多路访问控制:管理多个设备如何公平有效地共享同一物理介质进行通信。
- 局域网交换和VLAN:涉及如何在局域网内进行数据交换,并支持虚拟局域网(VLAN)以提高网络安全性和性能。
LLC子层(Logical Link Control 子层)
- 隐藏MAC层差异,提供统一接口给网络层:LLC子层向网络层提供了标准化的服务接口,使得即使底层的MAC协议不同,上层的应用程序也不需要关心这些差异。
- 流量控制和错误控制:确保数据能够按照正确的速度传输,并且在发生错误时可以采取适当的措施进行恢复。
- 通过网桥互连局域网:允许不同的局域网通过网桥连接起来,形成更大的网络结构。
以太网
特别说明:MDU大小为1500bytes,为了网络层计算中特此备注
设备
设备方面,有集线器和交换机两种,集线器是形式上星型,逻辑上总线型,交换机是形式上和逻辑上都是总线型。使用交换机可以消除冲突,所以不需要CSMA/CD了
自动协商机制(FAST往上都有)
在FAST以太网往上,都有这个机制,说白了就是和接收方约定,使用哪个速度进行传输
载波扩展(GB往上)
为了解决高速以太网中传输距离过短这个条件,就使用了这个技术,说白了就是确定一个最小帧长,没达到的时候就用冗余的信息填充
最小帧长的计算
必须要使得总帧的发送时长大于等于RTT,即
但是对于较快的网络来说,这样的方法实在有些浪费。所以为了减少浪费,下面又推出了帧突发机制
帧突发(GB往上)
允许发送者发送多个帧的连接信息,第一个帧携带额外的冗余信息,剩下的不用。但是只有连续的帧才能这样
然后设置了一个最大的多帧长度,防止一直连接下去。
暂停帧(GB往上)
由于千兆以太网网上太快了,很可能造成缓冲区溢出,所以必须进行流量控制。
采用暂停帧的方法,如果接收方处理不过来了,那么就发送一个暂停帧,让它缓一缓再发。
网桥
作用
用来连通不同的LAN
后向学习算法(必考)
工作过程:
1、收到帧,储存到缓存中
2、查找过去的表
3、根据收到的帧中的源地址信息和表信息,如果源地址和目的地址来源于同一个LAN,那么丢弃该帧
4、反之将其发送到对应的端口。
5、将受到的帧中的端口和源地址添加到查找表中
6、如果查找表中没有目的地址的端口,那么泛洪(所有端口转发)
生成树算法
只需要知道它用来解决冗余拓补中,容易出现环导致广播风暴的问题就行
VLAN
在交换机中,标记每个端口的“颜色”,相同端口进入的帧,只能传给相同颜色的端口,这样就构建了VLAN
如果您喜欢我的文章,可以考虑打赏以支持我继续创作.