数据链路层
负责通过一条链路从一个节点向另一个物理链路直接相连的相邻节点传送数据报
组帧
- 封装数据报,加首部和尾部
- 帧同步
链路接入
- 如果是共享介质,需要解决信道接入
- 帧首部的MAC地址,用于标识帧的源和目的,不同于IP地址
相邻节点间可靠交付
- 在低误码率的有线链路上很少采用(如光纤,某些双绞线)
- 无线链路:误码率高,需要可靠交付
流量控制
- 协调相邻的发送和接受
差错检测
- 信号衰减和噪声会引起差错
- 接收端检测到差错
- 通知发送端重传或丢弃
差错纠正
- 接收端直接纠正比特差错
全双工和半双工通信控制
- 全双工:链路两端节点同时双向传输数据
- 半双工:链路两端节点交替双向传输数据
差错检测:差错编码
差错编码基本原理:
D -> DR
,其中R为差错检测与纠正比特
差错编码分为检错码
和纠错码
对于检错码:如果编码集的汉明距离ds = r + 1,则可以检测r位的错误
对于纠错码:ds = 2r + 1则可以检测r位的错误
MAC协议
两类链路
点对点链路
- 拨号接入的PPP
- 以太网交换机与主机间的点对点链路
广播链路(共享介质)
- 早期的总线以太网
- HFC的上行链路
- 802.11 无线网
单一共享广播信道
- 两个或者两个以上节点同时传输:干扰
- 冲突:节点同时接收到两个或者多个信号 =》 接收失败
多路访问控制协议MAC解决这些问题:
- 采用分布式算法决定节点如何共享信道,及决策节点何时可以传输数据
- 必须基于信道本身,通信信道共享协调信息
- 无带外信道协调
理性MAC协议
给定:速率为R bps的广播信道
期望:
- 当只有一个节点希望传输数据时,他可以以速率R发送
- 当有M个节点发送,每个节点R/M速率
- 完全分散控制
- 无需特定节点协调
- 无需时钟、时隙同步
- 简单
MAC协议分类
三大类:
- 信道划分MAC协议
- 多路复用
- TDMA,FDMA,CDMA,WDMA等
- 随机访问MAC协议
- 信道不划分,允许冲突
- 采用
冲突
恢复机制
- 轮转MAC协议
- 节点轮流使用信道
随机访问MAC协议
发送时候使用信道全部速率
需要定义:
- 如果检测冲突
- 如何从冲突恢复(通过延迟重传)
典型的协议
- 时隙 ALOHA
- ALOHA
- CSMA CSMA/CD CSMA/CA
时隙 ALOHA
假定:
- 所有帧大小相同
- 时间被划分为等长的时隙
- 节点只能在时隙开始时刻发送数据
- 节点间时钟同步
- 如果2个或2个以上节点在同一时隙发送帧,节点就检测到冲突
运行:
- 当节点有新的帧时,在下一个时隙发送
- 无冲突:发送成功
- 冲突:节点在下一个时隙以概率P重传该帧,直至成功
优点:
- 单个节点活动时,可以连续以信道全部速率发送
- 高度分散化:只需同步时隙
- 简单
缺点:
- 冲突,浪费时隙
- 空闲时隙
- 节点也许能以远小于分组传输时间检测到冲突
最大效率0.37
ALOHA
非时隙,更简单,无需同步
当有新的帧,立即发送
冲突可能增大
最大效率0.18
CSMA
载波监听多路访问协议
- 发送帧之前,监听信道(载波)
- 信道空闲:发送完整帧
- 信道忙:推迟发送
- 1-坚持CSMA 一直监听信道
- 非坚持CSMA 随机等待一段时间再监听信道
- P-坚持CSMA 以概率P监听信道,概率1-P不监听信道
冲突仍可能发生:
- 信号传播延迟
继续发送冲突帧:浪费信道资源
CSMA/CD
带有冲突检测的载波监听多路访问协议
- 短时间内可以检测到冲突
- 冲突后传输中止,减少信道浪费
冲突检测
- 有线局域网易于实现:测量信号强度,比较发射信号与接收信号
- 无线信号很难实现:接收信号强度淹没在本地发射信号强度下
边发送边监听,不发送就不监听
网络带宽:R bps
数据帧最小长度:Lmin(bits)
信号传播速度:V(m/s)
信道长度:Dmax
满足:
L /R >= 2 Dmax / V
Lmin / R = 2 Dmax / V
Lmin / R = RTT max
远优于ALOAH,并且简单,分散。
轮转MAC
轮询:
- 主节点轮流“邀请”从属节点发送数据
- 典型应用:
- "哑"从属设备
优点:
- 不会冲突
- 使用全部带宽
问题:
- 轮询开销
- 等待延迟
- 单点故障
令牌传递
控制令牌依次从一个节点传递到下一个节点
令牌:特殊帧
获取令牌才可以发送数据
优点:
- 不会冲突
- 使用全部带宽
缺点:
- 令牌开销
- 等待延迟
- 单点故障
MAC协议总结
信道划分协议:
优点:网络负载高,利用率高,性能高
缺点:网络负载低,利用率低,性能低
随机访问MAC协议:
优点:网络负载低,利用率高,性能高
缺点:网络负载高,会冲突
轮转MAC:
主节点轮询:令牌传递
结合两者优点,不是最好也不是最坏