前置知识: 计算机基础

计算机网络进阶

00:00
7 min Advanced 2026/6/14

计算机网络进阶:TCP拥塞控制、路由算法、SDN、QoS与网络性能分析

1. TCP 拥塞控制

1.1 拥塞控制原理

发送方维护拥塞窗口(cwnd),实际发送窗口:

1.2 慢启动

  • 初始 cwnd = 1 MSS(最大段大小)
  • 每收到一个 ACK,cwnd 增加 1 MSS
  • 指数增长:cwnd 经过 个 RTT 后为 MSS
  • 到达慢启动阈值(ssthresh)后转为拥塞避免

1.3 拥塞避免

  • 每个 RTT,cwnd 增加 1 MSS
  • 线性增长:cwnd 每经过一个 RTT 加 1

1.4 快速重传与快速恢复

快速重传:收到 3 个重复 ACK,立即重传丢失段。

快速恢复

  1. ssthresh = cwnd / 2
  2. cwnd = ssthresh + 3 MSS
  3. 每收到重复 ACK,cwnd 增加 1 MSS
  4. 收到新 ACK,cwnd = ssthresh,进入拥塞避免

1.5 TCP 拥塞控制状态机

慢启动 → ssthresh → 拥塞避免
  ↑                     │
  │    超时:ssthresh=cwnd/2, cwnd=1
  │                     │
  └─────────────────────┘

拥塞避免 → 3重复ACK → 快速恢复 → 新ACK → 拥塞避免

1.6 BBR 算法

Google 提出的基于模型的拥塞控制:

BBR 目标:将 cwnd 设为 BDP,而非基于丢包调整。

2. 路由算法

2.1 距离向量算法(DV)

Bellman-Ford 方程

RIP 协议

  • 使用跳数作为度量
  • 最大跳数 15(16 视为不可达)
  • 每 30 秒广播路由表
  • 问题:计数到无穷

毒性逆转:向邻居通告到其自身的距离为无穷大。

2.2 链路状态算法(LS)

Dijkstra 算法

  1. 每个节点构建完整的网络拓扑图
  2. 从源节点运行 Dijkstra 最短路径算法
  3. 时间复杂度:(优先队列)

OSPF 协议

  • 使用链路状态算法
  • 支持区域划分
  • 支持等价多路径(ECMP)

2.3 路径向量算法

BGP 协议

  • 自治系统间的路由协议
  • 通告完整路径(AS 序列)
  • 基于策略的路由选择

BGP 选路优先级:

  1. 最高本地优先级
  2. 最短 AS 路径
  3. 最低起源类型
  4. 最低 MED
  5. eBGP > iBGP
  6. 最低 IGP 度量

3. 软件定义网络(SDN)

3.1 SDN 架构

应用层(网络应用)
    ↕ 北向 API
控制层(SDN 控制器)
    ↕ 南向 API(OpenFlow)
基础设施层(交换机/路由器)

3.2 OpenFlow 协议

流表结构

字段说明
匹配字段入端口、MAC、IP、TCP 端口等
优先级匹配规则的优先级
计数器匹配的包数、字节数
动作转发、修改、丢弃、发送到控制器

3.3 SDN 优势

  • 集中控制:全局视图优化
  • 可编程:灵活部署网络服务
  • 开放接口:设备解耦

4. 服务质量(QoS)

4.1 QoS 参数

参数说明
带宽单位时间传输的数据量
延迟数据从源到目的的时间
抖动延迟的变化量
丢包率丢失数据包的比例

4.2 QoS 机制

流量整形

  • 令牌桶:以速率 生成令牌,桶容量
    • 允许突发:最多发送 个包
    • 长期平均速率不超过

  • 漏桶:恒定速输出,平滑突发

分类标记

  • DSCP(DiffServ Code Point):IP 中的 QoS 标记
  • 802.1p:VLAN 标签中的优先级

队列

算法
FIFO简单,无 QoS 保证
优先级队列优先级先发
WFQ加权公平,按权重分配带宽
CBQ基于队列

4.3 DiffServ 模型

  • 边界路由器:分类标记、整形
  • 路由器:基于 DSCP 转发

行为(PHB)

PHBDSCP说明
EF101110加速转发,低延迟
AF1001xx0确保转发,低丢弃优先
AF2010xx0确保转发,中丢弃优先
AF3011xx0确保转发,丢弃优先
BE000000尽力而为

5. 网络性能分析

5.1 排队论基础

M/M/1 队列

  • 到达 服务
  • 利用
  • 平均队列
  • 平均等待时间

Little 定律

5.2 网络延迟分析

延迟类型计算说明
处理延迟路由器处理
排队延迟缓冲区等待
传输延迟=长, =带宽
传播延迟=距离, =光速

5.3 吞吐量分析

瓶颈链路决定端到端吞吐量。

5.4 网络可靠性

可用性停机
99%87.6 小时
99.9%8.76 小时
99.99%52.6 分钟
99.999%5.26 分钟

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式