banner
NEWS LETTER

MAC层

Scroll down

由来:数据链路层负责的主要是关于如何传输数据的问题,考虑的是一个点到点的问题。但是,现实中许多网络传输都是多点对多点的,这就涉及到如何共用信道的问题。前面在物理层已经介绍过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、从中随机选取一个数r,
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)以提高网络安全性和性能。
  • 隐藏MAC层差异,提供统一接口给网络层:LLC子层向网络层提供了标准化的服务接口,使得即使底层的MAC协议不同,上层的应用程序也不需要关心这些差异。
  • 流量控制和错误控制:确保数据能够按照正确的速度传输,并且在发生错误时可以采取适当的措施进行恢复。
  • 通过网桥互连局域网:允许不同的局域网通过网桥连接起来,形成更大的网络结构。图片描述

以太网

图片描述
图片描述
特别说明:MDU大小为1500bytes,为了网络层计算中特此备注

设备

设备方面,有集线器和交换机两种,集线器是形式上星型,逻辑上总线型,交换机是形式上和逻辑上都是总线型。使用交换机可以消除冲突,所以不需要CSMA/CD了

自动协商机制(FAST往上都有)

在FAST以太网往上,都有这个机制,说白了就是和接收方约定,使用哪个速度进行传输

载波扩展(GB往上)

为了解决高速以太网中传输距离过短这个条件,就使用了这个技术,说白了就是确定一个最小帧长,没达到的时候就用冗余的信息填充

最小帧长的计算

必须要使得总帧的发送时长大于等于RTT,即
但是对于较快的网络来说,这样的方法实在有些浪费。所以为了减少浪费,下面又推出了帧突发机制

帧突发(GB往上)

允许发送者发送多个帧的连接信息,第一个帧携带额外的冗余信息,剩下的不用。但是只有连续的帧才能这样
然后设置了一个最大的多帧长度,防止一直连接下去。

暂停帧(GB往上)

由于千兆以太网网上太快了,很可能造成缓冲区溢出,所以必须进行流量控制。
采用暂停帧的方法,如果接收方处理不过来了,那么就发送一个暂停帧,让它缓一缓再发。

网桥

作用

用来连通不同的LAN

后向学习算法(必考)

工作过程:
1、收到帧,储存到缓存中
2、查找过去的表
3、根据收到的帧中的源地址信息和表信息,如果源地址和目的地址来源于同一个LAN,那么丢弃该帧
4、反之将其发送到对应的端口。
5、将受到的帧中的端口和源地址添加到查找表中
6、如果查找表中没有目的地址的端口,那么泛洪(所有端口转发)

生成树算法

只需要知道它用来解决冗余拓补中,容易出现环导致广播风暴的问题就行

VLAN

在交换机中,标记每个端口的“颜色”,相同端口进入的帧,只能传给相同颜色的端口,这样就构建了VLAN

如果您喜欢我的文章,可以考虑打赏以支持我继续创作.

其他文章
目录导航 置顶
  1. 1. 信道分配问题
    1. 1.1. 静态分配方法
    2. 1.2. 动态分配方法(有线传输)
      1. 1.2.1. ALHOA协议
      2. 1.2.2. CSMA协议
    3. 1.3. 动态分配方法(无线传输)
      1. 1.3.1. 无线传输的新问题
      2. 1.3.2. 解决方法
    4. 1.4. 如何评价MAC层协议
  2. 2. IEEE 802层
  3. 3. 以太网
    1. 3.1. 设备
    2. 3.2. 自动协商机制(FAST往上都有)
    3. 3.3. 载波扩展(GB往上)
      1. 3.3.1. 最小帧长的计算
    4. 3.4. 帧突发(GB往上)
    5. 3.5. 暂停帧(GB往上)
  4. 4. 网桥
    1. 4.1. 作用
    2. 4.2. 后向学习算法(必考)
    3. 4.3. 生成树算法
    4. 4.4. VLAN