计算机网络笔记
第 1 章 计算机网络与 Internet 概览
1. 常见服务、协议与端口
| 服务 | 传输层协议 | 端口 |
|---|---|---|
| FTP | TCP | 21 |
| SSH | TCP | 22 |
| Telnet | TCP | 23 |
| SMTP | TCP | 25 |
| DNS | UDP(常见) | 53 |
| DHCP | UDP | 67(服务器)/68(客户端) |
| HTTP | TCP | 80 |
| HTTPS | TCP | 443 |
注:DNS 主要使用 UDP 53,但在区域传送或响应过大等情况下也可使用 TCP 53。
2. Internet 的基本内容
- Internet 的构成
- Internet 提供的服务
- 协议的作用
- 分组交换与电路交换
- 时延、丢包、吞吐量
- 协议分层
- TCP/IP 协议栈与 OSI 参考模型
3. 基本概念
(1)吞吐量与利用率
(2)流量强度与排队时延
流量强度:
其中:
- :分组到达率
- :分组长度
- :链路传输速率
在简化模型下,平均排队时延近似为:
(3)OSI 参考模型
| OSI 七层模型 |
|---|
| 应用层 |
| 表示层 |
| 会话层 |
| 传输层 |
| 网络层 |
| 数据链路层 |
| 物理层 |
注:
- 表示层负责数据表示、编码、加密等;
- 会话层负责会话管理;
- socket 不是会话层本身,而是应用进程访问传输层服务的编程接口。
第 2 章 应用层
1. 应用体系结构
- C/S(客户-服务器)
- P2P(对等)
2. 进程通信与 Socket
- 进程之间通过 socket 通信
- 需要解决进程寻址问题
- 传输层通过端口号实现多路复用与多路分解
3. 传输服务
应用层通常使用两类传输层服务:
- TCP
- UDP
4. 文件分发模型
设文件大小为 ,服务器上传速率为 ,第 个对等方上传速率为 ,最小下载速率为 ,共有 个接收方,则:
(1)客户-服务器模型
(2)P2P 模型
第 3 章 传输层
1. 传输层的作用
- 为应用进程之间提供逻辑通信
- 实现多路复用与多路分解
- 提供差错控制、流量控制、拥塞控制等机制
2. UDP 与 TCP
- UDP:无连接、尽力而为、首部开销小
- TCP:面向连接、可靠传输、按序交付、流量控制、拥塞控制
3. 可靠数据传输 RDT
典型阶段
- rdt 1.0:理想信道,无差错、无丢包
- rdt 2.0:考虑比特差错
- rdt 2.1:考虑 ACK/NAK 受损
- rdt 2.2:用冗余 ACK 代替 NAK
- rdt 3.0:进一步考虑分组丢失
4. 停等协议与流水线协议
停等协议利用率较低。若发送时延为 ,则停等协议的近似利用率为:
流水线协议可显著提高链路利用率。
5. 多路复用与多路分解
- 多路复用:发送方多个 socket 复用到底层传输层
- 多路分解:接收方根据首部信息交付给正确 socket
6. TCP 报文与机制
(1)MSS 与 MTU
- MTU:链路层最大传输单元
- MSS:TCP 最大报文段长度
MSS 由 MTU 推导而来。
(2)三次握手
TCP 建立连接过程:
- 客户端发送
SYN=1 - 服务器回复
SYN=1, ACK=1 - 客户端发送
ACK=1
(3)四次挥手
TCP 释放连接通常需要四次报文交换:
- 一方发送
FIN=1 - 对方确认
ACK=1 - 对方发送
FIN=1 - 原发送方确认
ACK=1
(4)超时估计
TCP 使用平滑 RTT 与偏差 RTT 估计超时值。常见形式:
7. 流量控制与拥塞控制
(1)流量控制
流量控制用于防止发送方发送过快,导致接收方缓存溢出。
TCP 中主要由接收窗口 rwnd 实现。
(2)拥塞控制
拥塞控制用于防止网络内部发生拥塞。
TCP 中主要由拥塞窗口 cwnd 实现。
发送方实际可发送的数据量受二者共同限制:
原稿中“拥塞控制/流量控制”的作用写反了,这里已纠正。
8. TCP 拥塞控制
典型阶段
- 慢启动(Slow Start)
- 拥塞避免(Congestion Avoidance)
- 快速重传(Fast Retransmit)
- 快速恢复(Fast Recovery)
常见版本
- Tahoe:出现超时后重新慢启动
- Reno:支持快速恢复
- CUBIC:现代 Linux 中常见
- Vegas
- BBR
TCP 公平性
若 条连接共享一条瓶颈链路,总带宽为 ,则理想公平情况下每条连接大约获得:
第 4 章 网络层:数据平面
1. 网络层的两大功能
- 数据平面:转发
- 控制平面:路由选择
2. 网络层服务模型
Internet 网络层采用**尽力而为(best-effort)**服务模型。
3. 路由器体系结构
- 输入端口
- 输出端口
- 交换结构
- 路由选择处理器(控制平面)
4. 分组转发与最长前缀匹配
IP 路由查找采用最长前缀匹配。
5. 排队与缓存
排队位置
- 输入排队:可能出现 HOL(Head-of-Line)阻塞
- 输出排队:可能引发缓存溢出与时延膨胀
Bufferbloat
缓存过大可能带来高时延问题,即 bufferbloat。
6. 分组调度
常见调度算法:
- FIFO
- PQ(Priority Queuing)
- WFQ(Weighted Fair Queuing)
7. DHCP
DHCP 动态获取地址的典型四步过程:
- DHCP Discover
- DHCP Offer
- DHCP Request
- DHCP ACK
8. NAT
NAT 用于私有地址与公网地址之间的转换,缓解 IPv4 地址不足问题。
9. IPv4 与 IPv6
- IPv4:32 位地址
- IPv6:128 位地址
10. 泛化转发、SDN 与 NFV
- 泛化转发
- SDN(软件定义网络)
- NFV(网络功能虚拟化)
第 5 章 网络层:控制平面
1. 路由选择算法的分类
- 集中式 / 分散式
- 静态 / 动态
- 负载敏感 / 负载迟钝
2. 两类经典路由算法
(1)链路状态算法(LS)
- 每个节点获得全网拓扑
- 典型协议:OSPF
(2)距离向量算法(DV)
- 与邻居交换距离向量
- 可能出现计数到无穷问题
- 可采用毒性逆转等方式缓解
3. OSPF 与 BGP
OSPF
- 属于域内路由协议(IGP)
- 采用链路状态算法
BGP
- 属于域间路由协议(EGP)
- 分为:
- eBGP
- iBGP
Hot-potato 路由
iBGP 中常见“热土豆”策略,即尽快把流量送出本 AS。
4. IP 任播
同一个 IP 地址对应多个服务器实例,请求通常由路由系统导向“最近”的那个。
5. SDN 控制器三层结构
- 通信层
- 网络范围状态管理层
- 北向 API / 网络控制应用层
6. OpenFlow
- 运行在 TCP 之上
- 默认端口:6653
主要功能包括:
- 配置交换机
- 读取状态
- 修改状态
- 发送分组
7. ICMP
ICMP 用于差错报告与网络诊断,例如 ping、traceroute 等。
第 6 章 数据链路层
1. 链路层的主要功能
- 成帧
- 链路接入
- 差错检测
- 某些链路上提供可靠交付
2. 差错检测与纠错
常见方法:
- 一维奇偶校验
- 二维奇偶校验
- 检验和
- CRC
检验和
基本思想:
- 分块
- 求和
- 回卷
- 取反
CRC
基于模 2 除法。
3. 多路访问协议
(1)信道划分协议
- TDMA
- FDMA
- CDMA
(2)随机接入协议
- 纯 ALOHA
- 时隙 ALOHA
- CSMA
- CSMA/CD(以太网)
- CSMA/CA(802.11)
(3)轮流协议
- 轮询
- 令牌传递
4. 以太网
- 采用 MAC 地址
- 典型协议:以太网
- 交换机支持转发、过滤、自学习
5. VLAN
VLAN 用于逻辑划分二层广播域。
第 7 章 无线网络与移动网络
1. 无线网络基本构件
- 无线主机
- 无线链路
- 基站
无线网络可分为:
- 单跳 / 多跳
- 基于基础设施 / 非基础设施
2. 无线链路与网络特征
无线环境常见问题:
- 误码率较高
- 信道衰落
- 隐藏终端
- 暴露终端
- 干扰显著
3. CDMA
CDMA 即码分多址。
4. WLAN(802.11)
基本概念
- BSS
- AP
- SSID
扫描方式
- 被动扫描
- 主动扫描
可靠交付机制
802.11 常结合:
- CSMA/CA
- ACK
- ARQ
关键机制
- DIFS 与 SIFS
- 随机回退
- RTS/CTS
RTS/CTS 主要用于缓解隐藏终端问题,不是“蓝牙解决了隐藏终端”。
5. 蓝牙
蓝牙采用:
- TDMA
- FHSS(跳频扩频)
6. 蜂窝网络
4G LTE
涉及核心实体:
- HSS
- MME
其中 MME 负责:
- 身份验证
- 路径建立
- 位置管理
LTE 协议栈中常见 GTP over UDP。
5G
特点包括:
- 控制平面与用户平面进一步分离
- 频段划分为 FR1 / FR2
- 系统容量与小区密度、可用频率、频谱效率等有关
7. 移动管理
包括:
- 寻址
- 切换
- 漫游
- 三角路由问题
- 对传输层和应用层的影响
同一子网下不同 AP 切换时,IP 地址通常可保持不变,因此 TCP 连接通常可继续维持。
协议报文汇总
- HTTP 报文
- DNS 报文
- UDP 报文
- TCP 报文
- IPv4 数据报
- IPv6 数据报
- Ethernet 帧
- MPLS 首部
- 802.11 帧
易混淆点整理
1. TCP 与 UDP
- TCP:可靠、面向连接、有流量控制和拥塞控制
- UDP:不可靠、无连接、开销小
2. 流量控制 vs 拥塞控制
- 流量控制:防止接收方来不及接收
- 拥塞控制:防止网络内部拥塞
3. CSMA/CD vs CSMA/CA
- CSMA/CD:以太网
- CSMA/CA:802.11 无线局域网
4. LS vs DV
- LS:知道全网拓扑
- DV:只和邻居交换距离向量
5. 数据平面 vs 控制平面
- 数据平面:转发
- 控制平面:选路
6. IPv4 vs IPv6
- IPv4:地址短,地址紧张
- IPv6:地址长,扩展性更强
Linked Notes
No outgoing note links.
Referenced By
No backlinks yet.