计网笔记 05 传输层
传输层负责为应用进程提供端到端通信,核心功能包括复用与分用、差错控制、流量控制和拥塞控制,重点协议是 UDP 和 TCP。
计网笔记 05 传输层
第5章 传输层
一、传输层概述
1. 传输层作用
- 为应用进程提供端到端通信
- 实现复用与分用
- 实现差错控制、流量控制
2. 两大协议
| 协议 | 特点 |
|---|---|
| UDP | 无连接、不可靠、快 |
| TCP | 面向连接、可靠 |
二、端口号与套接字
1. 端口号
- 16位
- 用于标识应用进程
2. 端口分类
| 类型 | 范围 |
|---|---|
| 熟知端口 | 0~1023 |
| 登记端口 | 1024~49151 |
| 客户端临时端口 | 49152~65535 |
3. 常见协议端口
| 协议 | 端口 | 传输层协议 |
|---|---|---|
| HTTP | 80 | TCP |
| HTTPS | 443 | TCP |
| FTP | 20/21 | TCP |
| SMTP | 25 | TCP |
| DNS | 53 | UDP |
| TFTP | 69 | UDP |
| RIP | 520 | UDP |
| TELNET | 23 | TCP |
4. 套接字 Socket
- Socket = (IP地址,端口号)
三、复用与分用
1. 复用
- 多个应用共享传输层
2. 分用
- 根据端口号交给对应进程
四、UDP协议
1. UDP特点
- 无连接
- 不可靠
- 面向报文
- 无流量控制
- 无拥塞控制
- 速度快
2. UDP适用场景
- DNS
- 直播
- 语音
- 视频
- 游戏
3. UDP首部
| 字段 | 作用 |
|---|---|
| 源端口 | 发送端端口 |
| 目的端口 | 接收端端口 |
| 长度 | UDP长度 |
| 校验和 | 差错检测 |
- UDP首部长度:
- 8字节
五、UDP校验和
1. 检验方法
- 16位反码求和
2. 校验范围
- UDP首部
- 数据
- 伪首部
3. 伪首部作用
- 仅用于校验
- 不参与传输
六、TCP协议
1. TCP
- 面向连接
- 可靠传输
- 全双工
- 面向字节流
- 有流量控制
- 有拥塞控制
2. TCP如何实现可靠传输
- 确认ACK
- 序号Seq
- 超时重传
- 滑动窗口
七、TCP报文段结构
1. 重要字段
| 字段 | 作用 |
|---|---|
| Seq | 序号 |
| Ack | 确认号 |
| SYN | 建立连接 |
| ACK | 确认 |
| FIN | 释放连接 |
| Window | 窗口大小 |
| Checksum | 校验和 |
2. TCP首部长度
- 最小:
- 20字节
八、TCP连接管理
1. 三次握手
过程:
- 客户端发送 SYN
- 服务器回复 SYN + ACK
- 客户端回复 ACK
2. 为什么三次?
- 防止失效连接请求
- 确认双方收发能力正常
九、TCP释放连接
四次挥手
- FIN
- ACK
- FIN
- ACK
TIME_WAIT(高频)
- 等待2MSL
作用
- 保证最后ACK到达
- 防止旧连接报文影响新连接
十、TCP流量控制
1. 目的
- 防止接收方来不及接收
2. 方法
- 滑动窗口机制
3. 接收窗口
- RcvWindow
十一、TCP拥塞控制
1. 拥塞原因
- 网络负载过大
2. 四种算法
| 算法 | 作用 |
|---|---|
| 慢开始 | 指数增长 |
| 拥塞避免 | 线性增长 |
| 快重传 | 快速发现丢包 |
| 快恢复 | 恢复发送 |
3. 核心规则
- CongWin < Threshold:
- 慢开始(指数增长)
- CongWin ≥ Threshold:
- 拥塞避免(线性增长)
- 超时:
- Threshold = CongWin / 2
- CongWin = 1 MSS
十二、TCP vs UDP
| 对比 | TCP | UDP |
|---|---|---|
| 连接 | 面向连接 | 无连接 |
| 可靠性 | 可靠 | 不可靠 |
| 速度 | 较慢 | 快 |
| 流量控制 | 有 | 无 |
| 拥塞控制 | 有 | 无 |
| 首部大小 | 20字节起 | 8字节 |
| 应用 | HTTP/FTP | DNS/直播 |
十三、考试高频题
- UDP首部长度:
- 8字节
- TCP首部最小长度:
- 20字节
- TCP最大数据部分:
- 65535 - 20 - 20
- 三次握手顺序
- 四次挥手顺序
- 拥塞窗口变化图
- ACK确认号计算
- Seq序号计算
- TCP/UDP应用场景判断
本文由作者按照 CC BY-NC 4.0. 进行授权
...

Comments
评论区