计算机网络笔记 四.局域网与介质访问控制

概述#

这笔记越做越觉得我像用十八种颜色划勾股定理重点的小红书学习博主. 不过不做这笔记我可能就再也不会看 ppt 了, 所以还是坚持一下吧.

主要功能:

  • 成帧: 在接收方从比特流中恢复出帧, 关键在于确定帧开始和结束的地方, 即帧定界
  • 数据帧可靠传输: 差错校验和流量控制
  • 信道 (链路) 多路访问: 如何寻址以及控制对共享信道 (链路) 的访问, 为此在数据链路层引入了一个特殊的子层, 即介质访问控制子层

相关协议:
点对点链路: HDLC (High-Level Data Link Control), PPP (Point to Point Protocol),
多路访问/共享链路: CSMA/CD, CSMA/CA

LAN 的基本概念#

WAN: Wide Area Network 广域网, 几十~几千 km

MAN: Metropolitan Area Network 城域网, 5~50km

LAN: Local Area Network 局域网, 几十米~1km

局域网 LAN (Local Area Network) 是在一个小区域范围内对各种数据通信设备提供互连的信息网.

决定局域网特性的主要技术:

  • 用以传输数据的传输媒体
  • 用以连接设备的拓扑结构
  • 用以共享资源的媒体访问控制方法

局域网被定义为一个广播域, 早起局域网的构建基于共享 (广播式) 链路, 当前局域网采用 L2 交换机互连.
(广播域: 局域网内目的地址为广播地址的数据链路层帧会被所有的网络节点接收和处理. )

最常用的 Internet 接入网技术之一, 包括基于 802.3 的有线局域网 (以太网), 基于 802.11 的无线局域网

参考模型: IEEE 802 参考模型
数据链路层被划分为两个子层LLCMAC

LLC: Logic Link Control, 逻辑链路控制, 与传输媒体无关
MAC: Medium Access Control, 媒体接入控制, 你猜与传输媒体有没有关

将数据链路层划分为两个子层的原因:

  • 在传统链路控制 (如点对点通信的串行链路) 中, 没有管理访问共享 (广播式) 介质的逻辑需求, MAC 子层负责对共享介质的访问进行控制
  • 对于相同的 LLC 子层, 可以提供不同的 MAC 子层. 例如, 常用以太网, 802.11 无线局域网等局域网具有相同的 LLC 子层, 只是 MAC 子层不同.

LLC#

服务#

LLC 是一个对所有 LAN 都相同的链路层协议, 定义了两个用户之间数据交换的机制, 向网络层提供了三种类型的服务:

  • 无确认, 无连接
  • 有确认, 无连接
  • 面向连接

对 LAN, 无确认的非连接服务是优先考虑的选项, 但在非可靠网络环境如无线网络, 一般使用有确认无连接网络.

流量控制

协议#

类似 HDLC 协议, 定义了三种格式:

  • 信息帧
  • 监控帧
  • 无编号帧

注意, 对于很多数据链路层协议 (如以太网) 使用无确认无连接服务, IP 分组直接封装到 MAC 帧中, 没有 LLC 子层.

MAC#

多路访问控制: MAC 对由多个节点共享的传输介质 (有线介质或无线信道) 对进行访问控制

寻址: MAC 层定义了数据链路层地址. 在共享介质上, 节点根据帧的目的 MAC 地址决定是否处理接收到的帧.

节点上的网络接口设备都有一个 MAC 地址, 接收以下帧:

  • 帧的目的 MAC 地址与自己相同
  • 帧的目的 MAC 地址为广播地址

移动管理: 在无线局域网中, MAC 实现移动管理 (切换)

经过局域网络数据链路层处理后的数据单元也被称为 MAC 帧, MAC 帧的通用格式如下:

MAC 地址是网络接口设备例如网卡的物理地址, 一般购买这些设备时就固化在设备的内部, 它用来标识连接在 LAN 上的网络接口的物理接入点.

物理层技术#

传输介质:

  • 电缆 (包括双绞线, 同轴电缆等, 最常用的是增强型五类非屏蔽双绞线, 六类非屏蔽双绞线等)
  • 光纤 (包括单模光纤和多模光纤)
  • 无线传输 (包括无线电波, 红外线等)

网络拓扑: 星型, 环形, 总线型, 树型

多路访问协议#

多路访问信道 (广播信道): 多个用户共享的同一条链路, 如果一个用户发送, 则其它用户都能侦听到.

多路访问协议: 控制多个用户对广播信道的访问, 尽量避免多个用户同时开始帧发送, 因为这样会导致冲突 (collision).

多路访问协议的作用就是在多个竞争的用户之间分配多路访问信道.

设计原则:

  • 简单, 易于实现
  • 有效的介质利用率
  • 对用户公平合理

对于广播信道, 需要解决信道分配问题, 分配方案有:

  • 静态分配: 如 FDM 和 TDM, 如果有 N 个用户, 把带宽 (频率范围) 或时间分成 N 份, 每个用户静态地占用一个. 缺点: 不能有效处理突发数据, 且用户无数据传输时浪费资源, 灵活性差
  • 动态分配: 异步时分复用, 主要分为:
    • 随机访问 (争用 contention): 只要有数据就可以发送, 发生冲突后再采取措施解决冲突, 适用于负载轻的网络, 负载重时效率低, 如 ALOHA, CSMA.
    • 控制访问 (无争用 contention-free): 发送用户必须先获得发送的权利再发送数据, 不会发生冲突. 在负载重的网络中可获得很高的信道利用率, 主要有轮询(round-robin-polling) 和预留 (reservation) 两种方式.

结合争用和无争用协议的优势, 人们提出了有限竞争 (limited-contention) 协议.

ALOHA 协议#

ALOHA 在夏威夷语中既是你好也是再见, 但是这和 ALOHA 协议没有什么关系.

在 ALOHA 系统中, 每个站给中央计算机发送帧之后, 中央计算机把该帧重新广播给所有站.

有两个版本:

  • 纯 ALOHA 协议 (Pure ALOHA): 每个站点只要有数据就可任意时间发送; 通过监听信道, 发现是否发生冲突; 若冲突, 则等待一段随机时间, 再重新发送.
  • 时隙 ALOHA 协议 (Slotted ALOHA): 将信道时间分为离散的时间片 (Time Slot), 每个时间片可以用来发送一个帧; 每个站点的数据发送只能在某个时间片的开始才能发送; 若冲突, 则等待一段随机时间 (以时间片为单位), 再重新发送. 与纯 ALOHA 相比信道的利用率提高一倍.

还有, 夏威夷.

CSMA 协议#

载波侦听多路访问 Carrier Sense Multiple Access, 各站点不是随意发送数据帧, 而是先监听一下信道, 根据信道状态调整自己的动作, 只有发现信道空闲后才会发送, 即「讲前先听」, 通过载波侦听和随机等待 (发送), 尽量避免发送时产生冲突.

常见的四种 CSMA 协议:

  • 1-坚持型 CSMA (1-persistent CSMA)
  • 非坚持型 CSMA (non-persistent)
  • p-坚持型 CSMA (p-persistent CSMA)
  • CSMA/CA (CSMA with Collision Avoid)
  • CSMA/CD (CSMA with Collision Detection)

1-坚持型 CSMA#

要发送数据帧时监听信道, 若信道忙, 则坚持监听, 一旦检测到信道空闲就立即发送 (发送概率为 1), 若发生冲突, 则等待一段随机长时间, 然后再次检测和发送.

发生冲突的可能:

  • 信号传输的延迟造成的冲突

  • 多个站点在监听到信号空闲时同时开始发送

  • 性能高于 ALOHA 协议

非坚持型 CSMA#

要发送数据帧时监听信道, 若信道忙, 则随机等待一段时间再开始监听信道 (非坚持)

信道利用率高于 1-持续 CSMA 协议, 但延迟更大

p-坚持型 CSMA#

用于分槽信道. 分槽信道: 将连续的时间轴划分成一个个固定长度, 离散的时间间隔, 每个间隔称为一个「时槽」.

要发送数据帧时监听信道, 若信道忙, 则等到下个时槽开始再监听信道; 若信道空闲, 以概率 p 发送, 以概率 1-p 推迟到下个时槽再重复上述过程.

概率 p 的目的就是试图降低 1-持续 CSMA 协议中多个站点同时发送而造成冲突的概率.

采用持续监听是为了克服非持续 CSMA 协议带来的延迟.

轮询协议#

802.11 PCF 操作模式

PCF: Point Coordination Function,点协调功能
AP (无线接入点 Access Point) 和站点工作在同一个信道 (共享链路) 上, 由中心点 AP 来控制所有站点对共享无线信道的访问, AP 按顺序轮询 (Poll) 站点是否有帧要发送, 不会发生冲突.

以太网#

概述#

由于以太网使用的传输介质的误码率很小, 因此以太网的 LLC 一般提供的是无确认的非连接服务.

经典以太网在总线型共享链路上以 10Mbps 的速率工作, 也称为 10M 以太网, 对应标准 802.3. 注意, 一般使用时常常不区分「以太网」和「IEEE 802.3」.

传输介质:

  • 10Base-T: 10 表示速率为 10Mbps, base 表示使用基带信号传输, T 表示传输介质是双绞线,
  • 10Base-F 表示传输介质是光纤
  • 100Base-TX: 100 表示速率为 100Mbps, TX 表示传输介质为双绞线, 通信模式为全双工
  • 1000Base-LX, 1000Base-SX, 1000Base-CX, 1000Base-T: LX (长波长): 多模光纤≤850m, 单模光纤≤ 3000m
    SX (短波长): 多模光纤≤220m (62.5/125um), 以及≤500m (50/125um)
    CX: 屏蔽双绞线≤25m, 交换机之间, 以及主干交换机和主服务器之间的短距离连接
    T: 非屏蔽双绞线≤100m
后缀 标准举例 传输介质 (核心考点) 介质详情 典型距离 备注
-T 10Base-T
100Base-TX
1000Base-T
双绞线 (铜) 无屏蔽双绞线 (UTP)
Cat5/Cat5e
100 米 T = Twisted Pair (双绞线)
最常见的网线
-F / -FX 100Base-FX 光纤 通常指多模光纤 2 公里 F = Fiber (光纤)
老式光纤标准
-SX 1000Base-SX 光纤 (多模) 850nm 短波
多模光纤
550 米 S = Short (短波/短距)
SX = Short & Cheap (便宜/多模)
-LX 1000Base-LX 光纤 (单模) 1310nm 长波
单模光纤 (也能跑多模)
5~10 公里 L = Long (长波/长距)
LX = Long & Expensive (贵/单模)
-CX 1000Base-CX 屏蔽双绞线 (屏蔽铜缆) 屏蔽双绞线 (STP)
两头有特殊的接头
25 米 C = Copper (铜)
C = Closet (机柜内短连)
短而精的铜线
-ZX 1000Base-ZX 光纤 (单模) 极长波单模光纤 70~100 公里 Z = Zero limit (超长)
考试少见,知道是很远的光纤就行

经典以太网#

经典以太网在总线型共享链路上以 10Mbps 的速率工作, 也称为 10M 以太网, 对应标准为 802.3.

传输介质: 同轴电缆 (10Base-5, 10Base-2, 已经很少使用了), 双绞线 (10Base-T) 及光纤 (10Base-F)

通过 MAC 层控制多台主机竞争访问共享链路.

共享链路的问题:

  • 寻址问题: 共享链路上任何主机都能接收其它主机发来的数据, 因此需要一种机制指明数据的发送者和接收者.
    解决方法: 每台主机 (网络接口) 都有一个唯一的 MAC 地址, 主机发送的数据帧头标中包含了发送和接收这个帧的主机的 MAC 地址, 即源和目的 MAC 地址 .
  • 访问控制问题: 在共享链路上, 需要一种机制协调所有主机之间的数据发送, 以公平竞争访问链路.
    解决方法: 每台主机上运行 CSMA/CD 机制来竞争对共享链路的访问, 为了确保公平性, 每次发送数据帧都有最大长度限制 (数据域部分不超过 1500 字节), 发送完后主机要重新竞争.

冲突 Collision, 也称碰撞, 是多台主机争用传输介质引起的. 连接在共享链路上的两台或两台以上主机同时发送数据时, 表示这些数据的信号将在同一段传输介质上叠加, 从而导致无法正确接收.

主机边发送数据边检测信道上电压大小, 如果信号电压摆动值超过一定的门限值时, 就认为传输介质上至少有两台主机同时在发送数据, 表明产生了冲突.

CSMA/CD#

CSMA/CD: Carrier Sense Multiple Access with Collision Detection, 带冲突检测的载波侦听多路访问.

关键步骤:

  • 载波侦听 Carrier Sense: 发前先听, 想要发送数据时首先侦听介质是否繁忙.
  • 冲突检测 Collision Detection: 如果主机在发送过程中检测到冲突, 则发送干扰信号, 确保所有主机都知道发生了冲突并且取消发送.

传播延迟机制:
勘测到冲突的必要条件是干扰信号到达发送方时发送方还在发送数据, 因此冲突检测过程与数据在传输介质上的传播延时相关.
最大电缆长度限制: 2500m
最小帧长限制: 64 字节

往返传播延迟 2T=51.2μs, 发送 1 比特延迟=100ns
由帧发送延迟≥2T, 可以得到最小帧长 64 字节 (即 512 比特)
最小帧长/10Mbps ≥ 51.2μs
最小帧长 ≥ 51.2μs × 10Mbps

退避算法机制:
主机检测到冲突后退避 (backoff) 一个随机的时间.

通过二进制指数退避算法确定冲突后的随机等待时间:

  • 在一次冲突之后, 时间被划分为离散的时槽, 其长度等于最差情况下在以太网介质上往返传播所需要的时间, 时槽与以太网所允许的介质最大长度有关, 一般设置为 51.2μs.
  • 在第 k 次冲突发生后, 从离散整数集合{0,1,,2k1}\{0,1,\dots ,2^k-1\}中随机选择一个数 r, 然后等待 r 个时槽. 对于第一次冲突, 就是等待 0 或者 1 个时槽后再次尝试发送, 对于第二次冲突, 随机选择 0, 1, 2 或者 3, 然后等待这么多个时槽.
  • 若 k≥10, 保持离散整数集合 0-1023 不变, 从中选择一个随机数 r, 等待 r 个时槽.
  • 若 k>16, 放弃发送并产生一个错误.

CSMA/CD+退避算法:

快速以太网#

100Mbps 以太网也称快速以太网, 对应标准 802.3u.

向前兼容 802.3, 保留原来 802.3 的帧格式, 接口和过程规则, 只是将发送 1bit 所需的时间从 100ns 降低到 10ns, 因此电缆的最大长度也降低到原来的十分之一, 即 250 米.

传输介质: 双绞线 (100Base-TX , 全双工, 非屏蔽 5 类双绞线 UTP ), 光纤 (100Base-FX )

两种工作模式:

  • 主机通过集线器互连 (Hub)
  • 主机通过二层交换机互连 (Switch)

集线器互连 (Hub):

  • 需要使用 CSMA/CD 机制, 集线器的所有端口在逻辑上都连在一起, 构成一个冲突 (碰撞) 域
  • 半双工通信: 同一时刻只有一台主机可以发送数据

通过集线器互连只能实现半双工通信.

交换机互连 (Switch):

  • 不需要使用 CSMA/CD 机制, 连接在交换机上的每台主机都构成了一个单独的冲突域
  • 全双工: 发送和接收过程分开, 例如 100Base-TX, 有两对双绞线, 一对用于发送, 一对用于接收.

交换机中, 每个输入的数据帧都被缓存起来, 然后根据目的 MAC 地址通过高速背板被转发到相应的输出端口.

目前快速以太网主要使用二层交换机互连, 通过交换机构建的网络称为交换式以太网.

通过交换机互连可以实现全双工通信.

千兆以太网#

比快速以太网快十倍, 保持与现有以太网标准的向前兼容, 对应标准 802.3z.

传输介质: 双绞线 (1000Base-T, 标准的非屏蔽 5 类双绞线 UPT, 1000Base-CX, 屏蔽双绞线), 光纤 (1000Base-SX, 多模光纤, 1000Base-LX, 单模或者多模光纤 ), 叽里咕噜说什么呢.

两种工作模式:

  • 主机交换机互连, 全双工 (Switch)
  • 主机通过集线器互连, 半双工 (Hub)

交换机互连: 不需使用 CSMA/CD 机制, 全双工, 电缆的最大长度由信号的强度决定.

绝大多数的千兆以太网使用交换机互连.

集线器互连:

问题: 发送 1bit 所需时间为 1ns, 如果使用 64 字节的最小帧长, 为检测到冲突, 电缆最大长度为 25m.

解决方法, 可以将电缆最大长度扩充到 200m:

  • 载荷扩充 Carrier Extension, 本质是让硬件在普通的帧后面增加一些填充数据, 以便将数据帧的长度扩充到 512 字节, 这种填充对于上层软件是透明的.
  • 帧串 frame bursting, 允许发送方将多个帧连接在一起, 把它们串起来一起传输出去. 如果整个串小于 512 字节, 则硬件会再次对它们进行填充.

半双工通信: 连接在集线器上的所有主机构成一个冲突域.

万兆以太网#

万兆以太网比千兆以太网快多少倍至今仍是工程学的未解之谜, 无数科学家把一生投入这个问题的研究, 却未能获得一点成果.

工作速率为 10Gbps, 对应标准 802.3ae.

传输介质最开始只支持光纤 (包括长波和短波), 后来在 802.3an 的标准中增加了对屏蔽双绞线 (对应 10GBASE-T) 等介质的支持.

传输距离增强, 从 300m 到 40km, 可用于构建 MAN 和 WAN.

只支持全双工通信

更高速以太网: 40Gbps, 100Gbps, 200Gbps, 400Gbps, ...

MAC 帧格式#

常用以太网 MAC 帧格式有两种标准:

  • DIX Ethernet V2 标准(最常用)
  • IEEE 的 802.3 标准

所有类型的以太网的 MAC 帧格式标准都是统一的.

image-20251101163600263

PA: 先导域 - 10101010 序列, 用于使接收方与发送方同步
SFD: 帧起始定界符 -- 10101011
DA: 目的 MAC 地址; SA: 源 MAC 地址
LEN: 数据长度 (数据部分的字节数)(0-1500B)
大于 1500 标识高层协议 (0X0800,上层使用 IP)
LLC PDU+pad – LLC 协议数据单元加填充, 最少 46 字节, 最多 1500 字节
Pad: 填充字段, 保证帧长不少于 64 字节 (0~46 字节, 若数据域≥46 字节, 则无 Pad)
FCS: 帧校验序列 (CRC-32)

组播和广播#

组播 (Multicast): MAC 地址的 I/G 比特为 0, 表示的是普通的地址, 如果为 1, 则表示组地址. 利用组地址, 在以太网内, 可以将一个数据帧发给加入了这个组的多台主机, 这种数据发送方式也称为组播.

广播 (Broadcast): 全 1 的 MAC 地址 (FF:FF:FF:FF:FF:FF) 被称为广播地址. 如果数据帧的目的地址为广播地址, 那么以太网内所有的主机都会接收该帧.

802.11 无线局域网#

md 这章怎么这么长啊

无线局域网 WLAN Wireless Local Area Network

无线电波按照工作的频率的不同被划分为信道, 每个信道对应着一个频率范围 (频段), WLAN 通信是建立在无线信道的基础上的.

WLAN 标准: 802.11 系列标准 (IEEE802.11 工作组制定), Hiper LAN 系列标准 (ETSI 的 BRAN 小组制定).

以下讨论都是基于 802.11 系列标准的无线局域网.

Wi-Fi 联盟: 由工业界发起成立的一个全球性的非盈利组织, 负责测试和认证兼容 IEEE 802.11 系列协议的设备, 并且对于通过测试和认证的设备打上 Wi-Fi 认证标志.

网络组成#

  • 无线站点 STA (wireless STAtion): 配置支持 802.11 协议的无线网卡的终端; STA 通过 MAC 层机制来共享同一个无线信道, 最简单的 WLAN 仅仅由 STA 组成 , 它们之间直接通信.
  • 无线接入点 AP (wireless Access Point), 有时也被称为基站 BS (Base Station): 数据链路层设备, AP 为 STA 之间的通信提供帧转发功能.

在无线局域网中, AP 一般同时有 802.3 和 802.11 接口, 实现网桥功能, 包括:

  • 不同帧格式转换: 由于帧格式的不同, 需要重新组帧, 某些域需要丢弃或产生还需要重新生成检验和.
  • 不同的数据速率适配: 由于 802.11 速率低, 网桥需要用缓冲区存储来不及传输的帧.

网络拓扑#

Ad Hoc 网络, 也称为自组织网络: 仅由 STA 之间通过无线传输介质组成的网络, 这些 STA 在彼此无线信号覆盖范围内, 因此之间能够互相通信.

基础设施网络: 在基础设施网络中, STA 之间不能直接通信, 所有的通信都必须经过 AP; 每个 AP 都配置了一个网络名 (SSID), STA 必须配置和 AP 相同的网络名.

DS (Distributed System): 分布式系统, 可以是一个交换机, 一个有线网络或者一个无线网络.

无线局域网的特点#

优势:

  • 快速部署, 不需要进行繁琐的布线操作
  • 支持移动漫游
  • 易于扩展

问题:

  • 传输速率和效率
  • 移动终端功耗
  • 安全性

发展历程和历代标准我懒得记了

体系结构#

采用 IEEE802 参考模型; IEEE 802 参考模型由 IEEE 802 委员会开发,并且被所有的制定 LAN 标准的组织所采用.

所有 802.11 系列协议具有相同的 MAC 子层, 不同的是物理层.

信道分配#

对于 Ad Hoc 网络, 要求所有的 STA 都工作在同一个信道;
对于基础设施网络, STA 必须和其关联的 AP 工作在同一个信道.

信道分配问题: 如何在同一个区域部署多个 Ad Hoc 网络或者多个 AP, 使得它们之间的干扰尽量小?

访问控制问题: 如何控制多个 STA 对同一个信道的访问?

信道划分#

802.11 工作在两个 ISM 频段 (非授权频段), 即 2.4GHz 频段和 5GHz.

对于 802.11b, 整个 2.4G 频段被划分为 14 个信道, 每个信道的带宽为 22MHz.

在 802.11 中, 每个站点或者 AP 使用某个信道, 也被称为工作信道.

为了避免信道间干扰, 同一区域内的 Ad Hoc 网络或 AP 的工作信道不能重叠, 中心频率间隔最少为 25MHz, 因此同一区域最多只能有 3 个工作在不同信道的 Ad Hoc 网络或 AP.

11 个信道 : 每个信道占用 22 MHz, 有且只有 1 个信道集合中有 3 个互不重叠的信道{1, 6, 11}.

14 信道 : 每个信道占用 22MHz, 可划分为 4 个具有 3 个互不重叠信道的信道集合{1, 6, 11}, {2, 7, 12}, {3, 8, 13}, {4, 9, 14}, 但每次只能使用一个信道集合.

5G/6G 频段下的信道划分:

5GHz 频段比 2.4G 频段拥有更多的 20MHz 信道, 范围从 5170MHz 扩展到 5835MHz, 但其可用频段并不连续. 且相邻信道之间是不重叠的.

6GHz 频段是一个全球统一的连续频谱块, 范围从 5925MHz 扩展到 7125MHz, 共计 1200MHz 频谱, 意味着额外提供了 59 个 20MHz 信道. 对比 2.4GHz 和 5GHz, 6GHz 频段的频谱资源比前两者相加还要多.

一个信道划分示例:

MAC 子层#

由于无线环境的不可靠性, 802.11 在 LLC 子层使用确认无连接的服务. LLC 子层对于所有基于 802.11 参考模型的协议都是一样的, 我们将主要关注 MAC 子层的功能.

MAC 子层功能:

  • 无线信道的访问控制
  • 寻址
  • 差错控制
  • 无线站点的移动管理

访问控制#

确定由多个无线站点共享的无线信道的使用方式, 也就是当信道空闲时, 决定下一个该由谁传输数据.

信道的传输能力被划分为一个个时槽 (time slot), 由访问控制来决定每个时槽由哪个无线站点或者接入点使用.

采用带冲突避免的载波侦听多路访问机制 (CSMA/CA), 尽量避免冲突的发生.

802.11 中 MAC 定义了两种操作模式来实现对共享信道的访问:

  • 分布式协调功能 (DCF, Contention): 无任何中心控制手段, 所有站点竞争访问信道; 强制要求实现的操作.
  • 点协调功能 (PCF, Contention-Free): 使用 AP 或者基站来控制所有的通信; 可选的操作.

802.11 无线局域网中采用冲突避免 CA 而不是冲突检测 CD, 在无线环境下更容易发生冲突, 并且很难检测到.

两种 CSMA/CA 操作:

  • 基本 CSMA/CA: 采用物理信道侦听方法 , 该操作强制要求必须使用.
  • 扩展 CSMA/CA: 采用基于 RTS/CTS 的虚拟信道侦听方法, 该操作是可选的, 可以根据需要配置, 但在实际上, 目前所有 WiFi 设备默认都做了实现.

隐藏站点和暴露站点问题#

隐藏站点问题: B 向 C 发送时, 由于 D 听不到, 误以为可以发送数据, C 接收失败

暴露站点问题: B 向 A 发送时, C 听到信道认为它不能向 D 发送数据, 但实际上不影响 A 和 D 接收

基本 CSMA/CA 不能解决这两个问题, 扩展的 CSMA/CA 机制可以解决隐藏站点问题.

基本 CSMA/CA:

  • 载波侦听: 发送帧之前侦听无线信道是否空闲, 若是则进入冲突避免阶段, 若否则延迟直到信道空闲
  • 冲突避免: 发送帧之前等待一个帧 j 间间隔 IFS (InterFrame Spacing), 并确保在 IFS 时间内信道空闲.
    为了防止多个站点在等待 IFS 时间后同时发送而导致冲突, 与以太网类似, 引入了一个随机退避算法来选择一个退避时间 (backoff time)

IFS 确定了帧的发送优先级, IFS 越短发送优先级越高

三种 IFS:

  • SIFS: Short IFS, 最高优先级, 用于 ACK 等控制帧
  • PIFS: PCF IFS, 等于 SIFS+1, 中等优先级, 用于 PCF (点协调功能, 轮询) 操作模式下的帧
  • DIFS: DCF IFS, 等于 SIFS+2, 最低优先级, 用于 DCF (分布式协调功能, CSMA/CA) 操作模式下的数据帧

站点执行随机退避算法确定退避时间, 在 0 到竞争窗口 CS 之间随机选择一个值 r, 退避时间为 r 倍时槽.

竞争窗口 CW(Contention Window) 采用类似以太网的指数退避算法设置: CW 初始化为一个最小值CWmin\mathrm{CW}_{min}, 当发送方认为发送的帧发生冲突时将 CW 加倍增大, 直到到达最大值CWmax\mathrm {CW}_{max}, 初始为2k12^k-1, 下一次为2k+112^{k+1}-1.

接收方确认#

接收方发送 ACK 帧:

  • 接收方正确接收来自发送方的数据帧后发送 ACK 帧进行确认.
  • ACK 帧不需要执行随机退避算法, 而是直接等待一个 SIFS 时间后就发送 .

发送方未收到 ACK 帧:

  • 发送方执行指数退避算法, 将 CW 的值加倍, 并且将重传计数器加 1, 然后重传数据帧, 此时需要再次使用 CSMA/CA 机制竞争信道.
  • CW 从CWmin\mathrm{CW}_{min}开始, 每次重传都将 CW 加倍, 直到到达CWmax\mathrm {CW}_{max}.
  • 重传计数器到达一个设定的门限值时, 发送方将放弃发送数据帧, 并且返回一个错误.

发送方用随机退避算法选择退避时间, 即在 0 到 CW 之间选择一个随机数 r, 退避时间即 r 倍的时槽. 而 CW 的确定采用的是指数退避算法, 从CWmin\mathrm{CW}_{min}开始, 每次重传都加倍, 直到到达CWmax\mathrm {CW}_{max}.

为什么不把这些相似甚至重复的东西合在一起讲呢, 合疑味.

CSMA/CA+ACK#

发送方在 DIFS 时间内侦听到信道空闲直接发送数据帧, 不执行退避算法.

例:

扩展局域网#

网桥#

Hub (集线器) 是一种物理层设备, 网桥是用来连接局域网的互连设备, 工作在数据链路层.

转发局域网之间的数据帧, 必要时进行帧格式转换.

能隔离以太网中的碰撞域, 但不能隔离广播域.

丢弃出错帧.

工作原理如图.

功能:

  • 不同帧的格式转换: 由于帧格式的不同, 需要重新组帧, 某些域需要丢弃或产生还需要重新生成检验和.
  • 不同的数据速率适配: 由于 802.11 速率低, 网桥需要用缓冲区存储来不及传输的帧.

交换式局域网#

局域网中的共享链路问题:

  • 冲突 (碰撞) 降低了链路的传输效率
  • 链路共享实际上是带宽共享, 用户的带宽得不到保障

随着网络规模增大, 共享链路问题将越来越突出.

解决方案: 交换式局域网

  • 采用星型或树型拓扑结构, 用交换机或网桥连接多用户
  • 交换机和网桥工作在数据链路层, 能隔离碰撞域

扩展局域网 (Extended LAN): 一个或者多个网桥或者交换机连接的局域网集合.

网桥或者交换机并不能隔离广播域, 因此扩展局域网仍然对应着一个广播域 .

L2 交换机#

L2 交换机 (switch) 源自于多端口网桥 (bridge), 一般采用存储转发方式将来自输入端口的帧交换到对应的输出端口.

交换机检测每个到达数据的帧头.

L2 交换机的帧交换基于地址查找表 (帧转发表), 对于输入端口的帧, 根据帧头中的目的地址查找转发表得到输出端口; 若帧转发表中没有对应的表项, 交换机就向所有端口 (除接收端口) 转发.

帧转发表是通过帧的源地址与到达端口的对应关系建立的.

存储转发: 从输入端口接收完整帧放入内存, 然后对帧进行校验, 若正确, 则根据目的 MAC 地址得到输出端口, 在输入和输出端口之间建立连接转发帧.

帧转发表#

  • 功能: 在扩展局域网中, L2 交换机或者网桥会在输入端口上接收帧, 然后根据帧转发表将这些帧向合适的输出端口发送.
  • 格式: 每个表项由主机 (一般用主机的 MAC 地址表示) 和主机连接的端口组成.
  • 生成: 源地址学习: 记录接收到的帧的源 MAC 地址; 每个表项都动态生成.

为了强调帧转发表是由源 MAC 地址学习而来, 也被称为源地址表 (Source Address Table).

举例: 略, 我写一下午了实在不想写了.

生成树算法#

问题: 扩展局域网中可能存在环路, 造成帧永远在扩展局域中循环转发下去 .

环路产生原因:

  • 无法知道网络的整体情况而导致配置出现环路
  • 提供故障时的冗余备份, 要避免的是转发环路, 而不是物理环路

解决方法: 在交换机或者网桥上运行生成树算法, 为交换机或者网桥选择转发帧的端口, 从而避免帧转发时出现环路.

生成树算法的思想: 将扩展局域网看作是有环的图, 图的顶点表示网桥或者交换机, 图的边表示它们之间不仅直接相连, 而且还可以转发帧, 那么生成树就是覆盖这个图的所有顶点的无环子图 (用于帧转发) .

补充#

求 CSMA/CD 时间槽长度#

CSMA/CD 的竞争时间槽长度 (contention slot time) 即最小时隙 (slot time), 必须满足大于等于信号在网络中往返一次的时间 (Round Trip Time, RTT).

例如, 介质长度LL, 信号速度vv, 则有

T=2LvT = \frac{2L}{v}

最小帧长度限制#

勘测到冲突的必要条件是干扰信号到达发送方时发送方还在发送数据, 因此最小帧长度需要满足帧的发送时间 ≥ 信号往返传播时间 (即竞争时间槽长度).

例如, 竞争时间槽怎么算就在上面你自己不会看吗.

以太网的最小帧长是 64 字节.