Shared Ethernet
以太网与 IEEE 802局域网 LAN 是覆盖范围较小、通常由一个单位自行建设和管理的计算机网络,例如实验室、办公室、教学楼或园区内部网络。局域网常见特点是:传输距离较短、速率较高、误码率较低,并且多个站点经常共享同一个广播范围。 IEEE 802 标准面向局域网和城域网。它把局域网的数据链路层分为两个子层: 子层 作用 LLC 子层 向网络层提供统一接口,屏蔽不同局域网 MAC 机制的差异 MAC 子层 处理成帧、MAC 地址、介质访问控制、差错检测等与具体局域网有关的问题 以太网最初来自 DIX Ethernet V2 标准。IEEE 802.3 在此基础上制定以太网标准。实际网络设备通常兼容 Ethernet V2 帧和 IEEE 802.3 相关规范。 以太网向上提供的是无连接、不可靠的帧传输服务。 无连接:发送帧之前不先建立数据链路层连接。 不可靠:接收方用 FCS 检测差错,发现错帧就丢弃;以太网本身不确认、不重传、不保证按序交付。 尽最大努力交付:没有检测出错误的帧才向上交付,可靠性通常由高层协议处理。 802.11...
Switched Ethernet And Switches
交换式以太网共享式以太网把多个站点放在同一个碰撞域中。交换式以太网使用交换机连接站点,每个交换机端口通常形成独立链路。若端口直接连接主机或另一台交换机,该链路可工作在全双工方式,不再争用共享介质,也就不需要 CSMA/CD。 交换机工作在数据链路层。它不是简单地转发比特,而是接收完整帧,检查帧,读取 MAC 地址,并根据交换表决定如何处理帧。 交换机提高性能的原因 隔离碰撞域:每个端口独立,减少或消除碰撞。 支持全双工:直接连接主机或交换机时,收发可同时进行。 并行交换:交换机内部交换结构可以让多对端口同时转发不同帧。 Note 交换机隔离碰撞域,但默认不隔离广播域。广播帧仍会被交换机泛洪到同一 VLAN 内的其他端口。 网桥与交换机网桥 Bridge 和以太网交换机 Switch 都工作在数据链路层,都根据 MAC 地址转发帧。可以把交换机理解为多端口、高性能、硬件化实现的网桥。 设备 工作层次 主要依据 典型行为 集线器 物理层 比特信号 一个端口进,其他端口出 网桥 数据链路层 MAC...
VLAN And 8021Q
VLANVLAN 是 Virtual LAN,虚拟局域网。它把一个物理局域网划分成多个逻辑局域网,使不同 VLAN 形成不同广播域。 没有 VLAN 时,一个交换式以太网通常仍是一个广播域。广播帧会被交换机泛洪到除入端口以外的其他端口。划分 VLAN 后,广播帧只在同一 VLAN 内转发。 VLAN 的作用: 限制广播范围,减轻广播风暴影响。 按部门、业务或安全需求划分逻辑网络。 主机物理位置变化时,可通过调整交换机端口配置改变所属 VLAN。 隔离二层通信,增强管理和安全性。 VLAN 是交换机本身提供的服务 VLAN 不是 IP 子网。实际组网中常把一个 VLAN 配合一个 IP 子网使用,但二者属于不同层次:VLAN 是二层广播域划分,IP 子网是三层地址规划。 802.1Q 帧IEEE 802.1Q 通过在以太网帧中插入 VLAN 标签来标识帧所属 VLAN。标签长度为 4 B,插在源 MAC 地址和类型字段之间。 VLAN 标签中的关键字段: 字段 长度 含义 TPID 16 bit 标签协议标识符,典型值为 0x8100,表示这是...
Media Access Control
介质访问控制介质访问控制 MAC 要解决的是:多个站点共享同一条广播信道时,谁可以在什么时候发送数据。 如果一条链路只连接两个节点,例如点对点链路,那么发送方和接收方明确,通常不需要复杂的 MAC 机制。若多个站点共用同一传输介质,例如早期总线以太网、无线局域网、令牌环网,就必须协调发送权,否则多个站点同时发送会产生碰撞或互相干扰。 MAC 方法可以先分成三类: 方法 核心思想 典型技术 特点 信道划分 先把信道资源切开,每个站点使用自己的资源片 FDM、TDM、WDM、CDM/CDMA 冲突少,但资源可能被空闲站点浪费 随机访问 站点有数据就争用信道,冲突后再处理 ALOHA、CSMA、CSMA/CD、CSMA/CA 灵活,适合突发流量,但可能发生冲突 轮询访问 用集中轮询或令牌传递决定发送顺序 轮询、令牌传递 发送权明确,但控制开销较高 信道划分介质访问控制信道划分把共享信道预先分成若干互不干扰的资源片。站点只在分配给自己的资源片中发送,因此不需要每次发送前争抢信道。 频分复用、时分复用、统计时分复用、波分复用见...
Flow Control
流量控制流量控制解决的是:发送方不能把接收方压垮。 接收方收到数据后,要先放入接收缓存,再交给上层处理。若发送方连续发送太快,接收缓存可能被填满。缓存满了以后,即使后续数据在链路上传输时没有误码,接收方也可能无法接收。 流量控制不等于差错控制。差错控制关心数据是否出错;流量控制关心接收方是否有能力继续接收。 问题 发生原因 结果 差错控制 信道干扰、噪声、误码 数据内容不可靠 流量控制 发送过快、接收缓存或处理能力不足 正确到达的数据也可能被丢弃 接收缓存和发送限制流量控制的核心是接收方让发送方知道自己还能发多少。 接收方能接收多少,取决于: 接收缓存还有多少空位。 已收到的数据能否及时交给上层。 协议允许接收方同时接收多少个未交付数据。 发送方要受限制: 不能无限制连续发送。 已发送但未确认的数据要占据发送窗口。 窗口满时,即使发送方还有数据,也必须等待确认或窗口更新。 停止等待是最保守的流量控制停止-等待方式中,发送方每发送一个数据,就停下来等 ACK。 从窗口角度看: $$W_T=1,\quad...
Reliable Transmission And Stop Wait
可靠传输管什么可靠传输解决的是:发送方发出的数据,接收方最终能按协议要求正确收到。 CRC 能检测误码,但不能修复错误。若接收方发现帧出错,只能丢弃,或者让发送方重传。因此可靠传输必须在差错检测之上增加确认、编号、缓存和重传。 若链路层提供不可靠传输服务,接收方发现出错帧后直接丢弃,其他问题交给上层。有线以太网通常这样做。无线链路误码率较高,数据链路层常需要确认和重传。 可靠传输要处理的情况可靠传输不是只处理误码。它至少要面对这些情况: 情况 问题 需要的机制 数据正确到达 发送方需要知道可以继续发送 ACK 数据出错 接收方不能交付错误数据 丢弃、NAK 或超时重传 数据丢失 接收方不会返回任何确认 超时重传 ACK 丢失 接收方已收到,发送方不知道 超时重传、编号 ACK 迟到 发送方可能已经重传 编号、重复确认处理 重复数据 接收方可能再次收到旧数据 数据编号、丢弃重复副本 ACK、NAK 和重传接收方收到数据后先做差错检测。 没有检测出误码:接收方接受数据,并返回 ACK。 检测出误码:接收方丢弃数据,可以返回...
Sliding Window
滑动窗口协议是这样一个模型: 发送方有发送窗口 $W_T$,限制连续发送但尚未确认的数据数量。 接收方有接收窗口 $W_R$,限制当前愿意接收的数据序号范围。 ACK 推动发送窗口向前滑动。 按序收到数据推动接收窗口向前滑动。 序号字段有限,窗口大小必须避免新旧数据混淆。 停止-等待、GBN、SR 都是这个模型的不同参数取值: 协议形态 $W_T$ $W_R$ 失序数据处理 停止-等待 $1$ $1$ 不形成流水线 GBN $>1$ $1$ 不接收失序数据,直接丢弃 SR $>1$ $>1$ 接收并缓存窗口内失序数据 GBN 和 SR 的共同基础是滑动窗口。区别主要来自 $W_R$:接收窗口为 $1$ 时只能按序收;接收窗口大于 $1$ 时可以先缓存失序数据。 发送窗口发送窗口 $W_T$ 表示发送方最多允许多少个“已发送但尚未确认”的数据在路上。 窗口内的数据分为两类: 已发送但未确认:保留在发送缓存中,超时后可重传。 尚未发送但允许发送:可以立即发送。 收到 ACK...
Error Control Coding
差错控制的目标实际链路不是理想通道。信号在传输过程中可能失真,导致比特 1 变成 0,或 0 变成 1。这种错误称为比特差错。 差错控制有两类目标: 检错:发现接收到的数据出错。 纠错:不仅发现错误,还能确定错误位置并恢复正确数据。 检错编码开销较小,常用于数据链路层。纠错编码需要更多冗余信息,开销更大,适合误码率高或重传代价大的场景。 码距一个合法编码后的比特串称为码字。两个码字之间对应位不同的个数称为码距。 例如 $10010$ 与 $11011$ 有第 2 位和第 5 位不同,所以码距为 $2$。 在一个编码集中所有合法码字两两之间的最小码距称为该编码集的码距,记为 $d$。码距越大,合法码字之间隔得越远,越容易发现或纠正传输错误。 码距和能力的关系: 目标 条件 含义 检测 $e$ 位错误 $d\ge e+1$ 错 $e$ 位后不会刚好变成另一个合法码字 纠正 $t$ 位错误 $d\ge...
CDMA Code Division Multiplexing
CDMA 的基本想法码分复用 CDM 常称为码分多址 CDMA。它允许多个站点在同一时间、同一频带发送数据。接收端能够分离出目标信号,是因为每个站点使用的码片序列互相正交。 CDMA 把一个比特时间划分为 $m$ 个更短的时间片,每个时间片称为码片。每个站点被分配一个唯一的 $m$ 位码片序列。实际系统中常用伪随机码序列,$m$ 常取 $64$ 或 $128$;为了便于手算,例题常使用更短的码片序列。 码片序列与码片向量若某站点的码片序列为: $$01011001$$ 计算时通常把 0 记为 $-1$,把 1 记为 $+1$,得到码片向量: $$S=(-1,+1,-1,+1,+1,-1,-1,+1)$$ 发送数据时: 发送比特 1:发送本站码片序列 $S$。 发送比特 0:发送本站码片序列的反码 $-S$。 正交与规格化内积CDMA 要求不同站点的码片向量互相正交。设 $A$ 和 $B$ 是两个长度为 $m$ 的码片向量,它们的规格化内积为: $$\frac{A\cdot...