TCP/IP 协议簇 · 易错点总结
TCP 为什么可靠?
TCP 通过以下机制保证可靠传输:
| 机制 | 作用 |
|---|---|
| 三次握手建立连接 | 通信前先确认双方可达,建立可靠通道 |
| 确认应答(ACK) | 接收方收到数据后回复确认,发送方知道数据已到达 |
| 超时重传 | 发送方在规定时间内未收到 ACK,自动重发数据 |
| 序列号与排序 | 每个字节有编号,接收方按序重组,不乱序 |
| 流量控制(滑动窗口) | 发送方根据接收方窗口大小调整发送速率,防止淹没接收方 |
| 拥塞控制 | 感知网络拥塞后主动降速,避免加剧网络拥堵 |
| 校验和 | 检测数据在传输中是否出错,出错则丢弃并触发重传 |
UDP 为什么不可靠?
UDP 协议极其简单,以上机制全部没有——不发 ACK、不重传、不排序、不控速。数据发出去就不管了,丢了、乱了、重复了都不处理。
一句话对比
TCP:打电话 —— 先拨通,确认对方在,每句话都有回应
UDP:寄明信片 —— 投进邮筒就不管了,丢没丢、到没到不关心
- TCP 适合可靠性优先:HTTP、FTP、SMTP、SSH
- UDP 适合实时性优先:DNS、视频直播、VoIP、在线游戏
常用协议端口(高频易错)
| 协议 | 端口 | 作用 | 易错提示 |
|---|---|---|---|
| POP3 | 110 | 邮件收取(下载式) | 和 SMTP 区分:一个收一个发 |
| SMTP | 25 | 邮件发送 | Send 开头 → 发送 |
| HTTP | 80 | 网页传输 | 明文 |
| HTTPS | 443 | 加密网页传输 | HTTP + SSL/TLS |
| IMAP | 143 | 邮件访问(服务器端保留) | 比 POP3 高级,可同步 |
| FTP | 20/21 | 文件传输 | 20 数据,21 控制 |
| DNS | 53 | 域名解析 | 域名 → IP |
| DHCP | 67/68 | 自动分配 IP | 服务器 67,客户端 68 |
| SSH | 22 | 安全远程登录 | 加密,替代 Telnet |
| Telnet | 23 | 远程登录 | 明文,不安全 |
| SNMP | 161 | 网络管理 | Simple Network Management Protocol |
ARP vs RARP(高频混淆)
| 协议 | 方向 | 记忆 |
|---|---|---|
| ARP | IP → MAC | 知道 IP,查 MAC |
| RARP | MAC → IP | 知道 MAC,查 IP |
ICMP
因特网控制报文协议。ping 命令使用 ICMP,属于网络层协议。
DHCP 如何分配 IP(DORA 四步)
客户端 DHCP 服务器
│ │
│── Discover(广播:谁给我一个IP?)────────→ │
│ │
│←── Offer(单播:这个IP借给你,租期X小时)── │
│ │
│── Request(广播:我就要这个IP了!)───────→ │
│ │
│←── ACK(单播:租约生效,拿好)─────────── │
│ │
▼ 配置完成 ▼
| 步骤 | 报文 | 方向 | 发送方式 | 含义 |
|---|---|---|---|---|
| 1 | Discover | 客户端→服务器 | 广播 | 客户端没有IP,大喊”有没有DHCP服务器?“ |
| 2 | Offer | 服务器→客户端 | 单播 | 服务器从地址池中挑一个空闲IP,提供租约(含IP、子网掩码、网关、DNS、租期) |
| 3 | Request | 客户端→服务器 | 广播 | 客户端接受该IP,广播是为了同时通知其他DHCP服务器(可能收到多个Offer) |
| 4 | ACK | 服务器→客户端 | 单播 | 服务器确认租约正式生效 |
为什么 Request 也用广播?
客户端可能同时收到多个 DHCP 服务器的 Offer,广播通知所有服务器——选中的那台确认,其余回收已分配的 IP。
租约续期
- 租期到 50% 时 → 客户端单播 Request 续租
- 续租失败,到 87.5% 时 → 广播 Request 向任意 DHCP 服务器续租
- 租期到期 → IP 回收,客户端重新 Discover
DHCP 握手 vs TCP 握手(高频混淆)
| 对比项 | DHCP (DORA) | TCP (三次握手) |
|---|---|---|
| 目的 | 获取IP地址·网关·DNS等网络配置 | 建立端到端可靠连接 |
| 工作层次 | 应用层(底层用UDP) | 传输层 |
| 步数 | 4步 | 3步 |
| 底层协议 | UDP(端口67/68) | TCP协议本身 |
| 通信方式 | 广播+单播混用 | 全程单播 |
| 触发时机 | 设备刚接入网络时 | 每次TCP通信开始前 |
流程对比
DHCP (DORA): TCP (三次握手):
客户端 服务器 客户端 服务器
│──Discover(广播)─→│ │── SYN ──────→│
│←── Offer (单播)──│ │←─ SYN+ACK ──│
│──Request(广播)──→│ │── ACK ──────→│
│←── ACK (单播)───│ │ (连接建立) │
│ (配置完成) │
根本区别
DHCP 客户端没有 IP,所以 Discover 必须广播找服务器。 TCP 双方已有 IP,直接单播建立连接。
一句话记忆
DHCP 握手 = 新员工入职领工牌(广播问谁负责→拿到工牌→确认要这张→正式生效) TCP 握手 = 打电话前确认对方在听(喂?→ 在呢!→ 好我开始说了)
相关笔记
更新于:2026年5月15日