常见网络协议与机制辨析表
交换方式
| 维度 | 电路交换 | 报文交换 | 分组交换 |
|---|
| 建立阶段 | 通常先建立电路 | 无专用电路 | 数据报无连接;虚电路先建立逻辑状态 |
| 资源 | 可预留带宽、时隙等 | 链路按报文共享 | 链路按分组统计复用 |
| 存储转发单位 | 连续比特流 | 完整报文 | 分组 |
| 首部开销 | 建立后数据开销较小 | 每个报文携带控制信息 | 每个分组携带首部 |
| 排队 | 已预留资源时稳定 | 报文级排队,缓存需求大 | 分组级排队,适合突发流量 |
| 失败影响 | 电路中断影响会话 | 可逐跳另选路径 | 数据报可逐包改路;虚电路受状态影响 |
| 典型场景 | 传统电话网 | 早期存储转发系统 | 互联网 |
数据报与虚电路
| 维度 | 数据报网络 | 虚电路网络 |
|---|
| 建立连接 | 无网络层连接建立 | 先建立虚电路 |
| 分组首部 | 完整目的地址 | 短虚电路标识 |
| 路由器状态 | 主要保存路由/转发表 | 还保存虚电路映射状态 |
| 分组路径 | 同一会话分组可走不同路径 | 同一虚电路通常沿已定路径 |
| 到达顺序 | 可能失序 | 保证有序到达(王道口径) |
| 可靠性 | 不保证,由用户主机保证 | 由网络保证(王道口径;帧中继、ATM 不重传) |
| 故障恢复 | 后续分组可按新路由转发 | 相关虚电路可能需要重建 |
复用方式
| 方式 | 划分资源 | 关键特点 | 典型限制 |
|---|
| FDM | 频带 | 各路同时发送 | 需要保护带 |
| TDM | 时间 | 固定时隙轮转 | 空闲用户仍可能占时隙 |
| STDM | 动态时隙 | 按需分配并携带标识 | 需要缓存和调度 |
| WDM | 光波长 | 多波长共享光纤 | 需要光复用器件 |
| CDM | 码片序列 | 同频同时传输,用码相关性分离 | 依赖码序列和功率控制 |
差错检测与纠正
| 机制 | 冗余形式 | 主要能力 | 典型边界 |
|---|
| 奇偶校验 | 1 个奇偶 bit | 检测奇数个 bit 翻转 | 偶数个翻转可能漏检 |
| 二维奇偶校验 | 行列校验 | 检测更多突发差错,可定位部分单错 | 仍存在特定漏检模式 |
| Internet Checksum | 16 bit 反码和 | 检测首部/数据常见差错 | 检错能力弱于良好 CRC |
| CRC | 多项式余数 | 强突发差错检测 | 余数为 0 仍可能存在不可检差错 |
| 海明码 | 校验位覆盖位置集合 | 单错纠正;扩展后可 SECDED | 冗余位数受码长约束 |
ARQ
| 维度 | 停等 | GBN | SR |
|---|
| 发送窗口 | 1 | 最多 | 通常最多 |
| 接收窗口 | 1 | 1 | 与发送窗口配合,常取相等 |
| 失序帧 | 通常丢弃 | 丢弃并重复累计确认 | 缓存窗口内失序帧 |
| 确认 | 每帧或累计 | 累计确认 | 单独/选择确认 |
| 超时重传 | 当前帧 | 从最早未确认帧起连续重传 | 只重传相关帧 |
| 计时器 | 一个 | 通常最早未确认帧一个 | 每个未确认帧独立管理 |
| 缓存与复杂度 | 最低 | 中等 | 最高 |
随机接入
| 协议 | 发送规则 | 冲突处理 | 效率/边界 |
|---|
| Pure ALOHA | 随时发送 | 超时后随机重传 | 最大吞吐约 |
| Slotted ALOHA | 只在时隙边界发送 | 冲突后随机选择时隙 | 最大吞吐约 |
| CSMA | 先侦听信道 | 忙则推迟,仍可能因传播时延冲突 | 传播时延越小越有效 |
| CSMA/CD | 侦听并在发送中检测冲突 | 冲突后发送干扰并二进制指数退避 | 半双工共享以太网 |
| CSMA/CA | 侦听、随机退避、确认,可用 RTS/CTS | 通过避免和 ACK 推断失败 | IEEE 802.11 无线局域网 |
Ethernet 与 WLAN
| 维度 | Ethernet | IEEE 802.11 WLAN |
|---|
| 介质 | 双绞线、光纤等 | 无线信道 |
| 访问控制 | 共享半双工历史上用 CSMA/CD;交换全双工无需竞争 | CSMA/CA、随机退避、ACK |
| 差错恢复 | 帧 FCS 检错,MAC 通常不确认单播帧 | 单播帧有 MAC ACK 和重传 |
| 地址 | 常用源、目的 MAC | 最多四地址字段,受 To DS/From DS 影响 |
| 隐蔽站 | 有线拓扑中通常不构成同类问题 | 可用 RTS/CTS 缓解 |
| 最小帧 | 64 B MAC 帧 | 按 802.11 帧格式和物理层规则处理 |
交换机与路由器
| 维度 | 二层交换机 | 路由器 |
|---|
| 查表依据 | 目的 MAC + VLAN | 目的 IP 最长前缀 |
| 表项来源 | 源 MAC 自学习、静态配置 | 直连、静态、路由协议 |
| 未知单播 | 在同 VLAN 内泛洪 | 按路由表转发或丢弃 |
| 广播 | 在同 VLAN 内转发 | 普通二层广播不跨接口转发 |
| 每跳变化 | 帧在同二层域内转发 | 解封装旧帧并封装下一跳新帧 |
| 环路控制 | STP 等二层控制 | TTL/Hop Limit 与路由收敛 |
IPv4 与 IPv6
| 维度 | IPv4 | IPv6 |
|---|
| 地址长度 | 32 bit | 128 bit |
| 基本首部 | 20~60 B | 固定 40 B |
| 首部校验和 | 有,只覆盖首部 | 无 |
| 选项 | 基本首部中的 Options | 扩展首部链 |
| 分片 | 源端和路由器可执行;DF 可禁止 | 仅源端使用 Fragment 扩展首部 |
| 广播 | 支持 | 无广播,使用组播/任播 |
| 邻居解析 | ARP | ICMPv6 NDP |
| 自动配置 | DHCP、手工等 | SLAAC、DHCPv6、手工等(王道口径:即插即用,不需要 DHCP) |
| TTL 字段 | TTL | Hop Limit |
ARP、DHCP、ICMP、NAT
| 机制 | 输入/触发 | 输出/结果 | 作用范围 |
|---|
| ARP | 已知同链路下一跳 IPv4 地址 | 下一跳 MAC 缓存条目 | 当前 IPv4 链路 |
| DHCP | 主机缺少网络参数 | 地址、掩码、网关、DNS、租期 | 广播域,可由 Relay 跨网 |
| ICMP | IP 差错、诊断或控制事件 | 不可达、超时、回显等报文 | 封装在 IP 中端到端或逐跳返回 |
| NAT/PAT | 私网连接穿越边界 | 地址/端口映射并更新校验和 | NAT 边界和状态表 |
路由算法
| 维度 | 距离向量 DV | 链路状态 LS |
|---|
| 掌握信息 | 到各目的的距离和下一跳 | 区域/域内拓扑和链路代价 |
| 信息交换 | 与邻居交换距离向量 | 泛洪链路状态信息 |
| 核心算法 | Bellman-Ford | Dijkstra |
| 典型问题 | 慢收敛、计数到无穷 | 泛洪和拓扑数据库开销 |
| 常见协议 | RIP | OSPF |
RIP、OSPF、BGP
| 维度 | RIP | OSPF | BGP |
|---|
| 范围 | AS 内 IGP | AS 内 IGP | AS 间 EGP |
| 基础思想 | 距离向量 | 链路状态 | 路径向量与策略 |
| 度量/属性 | 跳数 | 管理员配置的链路 Cost | AS_PATH、LOCAL_PREF、MED 等 |
| 承载 | UDP 520 | 直接封装 IP,协议号 89 | TCP 179 |
| 收敛与规模 | 简单,最大有效跳数 15 | 分区、快速计算域内最短路径 | 面向互联网规模和策略控制 |
| 防环 | 最大跳数、毒性逆转等 | 一致拓扑数据库和 SPF | AS_PATH 检查 |
| 交换对象(王道) | 相邻路由器 | 区域内所有路由器(洪泛) | 相邻路由器(BGP 对等方) |
| 交换内容(王道) | 自己的整个路由表 | 与本路由器相邻的链路状态 | 首次整个路由表,之后只发变化部分 |
| 路径选择(王道) | 跳数最少 | 代价最低 | 较好,非最佳 |
王道的 BGP 选路顺序只列四步:本地偏好最高 → AS-PATH 最短 → 热土豆(最近的 NEXT-HOP)→ BGP 标识符最小;上表的 MED 等属于实际实现中的附加步骤,见 4.4.5。
UDP 与 TCP
| 维度 | UDP | TCP |
|---|
| 连接 | 无握手 | 三次握手建立连接状态 |
| 应用数据 | 保留数据报边界 | 连续字节流 |
| 可靠与顺序 | 协议内不确认、不重传、不保序 | 累计确认、重传、有序交付 |
| 流量控制 | 无 | 接收窗口 rwnd |
| 拥塞控制 | 协议内无 | 拥塞窗口 cwnd |
| 基本首部 | 8 B | 20 B |
| 广播/组播 | 可承载 | 一条连接只连接两个端点 |
| 典型应用 | DNS、DHCP、实时媒体、QUIC 承载 | HTTP/1.x、HTTP/2、FTP、SMTP |
UDP 上的应用可以实现可靠性、拥塞控制和安全;TCP 应用仍要自行处理消息边界和业务事务。
流量控制与拥塞控制
| 维度 | 流量控制 | 拥塞控制 |
|---|
| 保护对象 | 接收端缓存和处理能力 | 网络链路、队列和转发资源 |
| 主要变量 | rwnd | cwnd、ssthresh |
| 反馈来源 | 接收端窗口通告 | ACK、丢包、RTT、ECN 等 |
| 典型机制 | 零窗口、持续计时器 | 慢开始、拥塞避免、快速恢复 |
| 发送限制 | 与 cwnd 共同取最小 | 与 rwnd 共同取最小 |
DNS 查询方式
| 维度 | 递归查询 | 迭代查询 |
|---|
| 被查询方责任 | 返回最终答案或错误 | 返回答案或下一服务器线索 |
| 常见位置 | 主机到递归解析器 | 递归解析器到根/TLD/权威服务器 |
| 状态与负载 | 服务器承担后续解析 | 查询方控制后续查询 |
FTP 主动与被动模式
| 维度 | 主动模式 | 被动模式 |
|---|
| 协商命令 | PORT | PASV/EPSV |
| 数据连接发起方 | 服务器 | 客户端 |
| 服务器端口 | 常从 TCP 20 发起 | 服务器临时监听端口 |
| NAT/防火墙 | 客户端入口连接较难放行 | 两条连接均由客户端发起,通常更易部署 |
控制连接都由客户端连接服务器 TCP 21。
SMTP、POP3、IMAP
| 维度 | SMTP | POP3 | IMAP |
|---|
| 方向 | 客户提交、服务器间推送 | 客户下载/管理 | 客户同步服务器邮箱 |
| 常用端口 | TCP 25/587 | TCP 110 | TCP 143 |
| 主要状态 | 信封、队列、投递会话 | 认证、事务、更新 | 认证、选中邮箱、文件夹和标志 |
| 典型用途 | 发信和转发 | 本地下载 | 多设备邮箱同步 |
HTTP 连接能力
| 机制 | 连接与请求关系 | 主要效果 |
|---|
| 非持久连接 | 每个对象独立 TCP 连接 | 重复握手和慢开始 |
| 持久连接 | 多个对象复用连接 | 减少握手 |
| HTTP/1.1 流水线 | 多个请求连续发送,响应按序 | 减少请求等待,受队首阻塞影响 |
| HTTP/2 多路复用 | 消息拆帧并在单 TCP 连接交错 | 并发流共享连接,仍受 TCP 丢包恢复影响 |
| HTTP/3 多路流 | QUIC 流在 UDP 承载上独立交付 | 降低跨流丢包阻塞并支持连接迁移 |
链接