目录
- [IP、TCP/UDP、HTTP 协议作用与结构详解](#IP、TCP/UDP、HTTP 协议作用与结构详解)
IP、TCP/UDP、HTTP 协议作用与结构详解
下面用清晰、不啰嗦、结合结构的方式,一次性讲清:
IP 协议、TCP 协议、UDP 协议、HTTP 协议各自的作用,以及它们在结构上的定位。
一、整体结构位置(先看懂它们在哪)
TCP/IP 五层模型从上到下:
- 应用层 → HTTP
- 传输层 → TCP、UDP
- 网络层 → IP
- 数据链路层
- 物理层

一句话关系
HTTP 靠 TCP 可靠传输,TCP/UDP 靠 IP 寻址发送,IP 靠底层链路实际传送。
传统 HTTP 选 TCP(HTTP 完全可以跑在 TCP 上),是因为「可靠性优先」:HTTP 是文本协议,丢一个字节、乱序都会导致整个报文解析失败,TCP 帮 HTTP 解决了「怎么把数据完整送到」的问题,让 HTTP 可以只专注「业务格式」。
二、IP 协议(网络层)
作用
负责主机之间的寻址与路由,把数据包从一台电脑送到另一台电脑。
从结构看它做了什么
IP 报文头部包含:
- 源 IP 地址
- 目的 IP 地址
- 协议号(标记上层是 TCP 还是 UDP)
- 分片信息
结构决定功能
IP 只关心「发到哪」,不关心:
- 丢没丢
- 乱没乱序
- 到没到
所以 IP 是不可靠、无连接的尽力交付协议。
三、UDP 协议(传输层)
作用
在 IP 的基础上,增加端口号,实现进程到进程的交付。
从结构看它做了什么
UDP 头部非常简单:
- 源端口
- 目的端口
- 长度
- 校验和
结构决定功能
- 无连接
- 不可靠
- 速度快、开销小
- 不重传、不排序、不握手
适合场景:视频通话、直播、DNS、游戏。
四、TCP 协议(传输层)
作用
在 IP 基础上,实现可靠、有序、面向连接的传输。
从结构看它做了什么
TCP 头部比 UDP 复杂得多:
- 源端口 / 目的端口
- 序号 (Seq)
- 确认号 (Ack)
- 窗口大小(流量控制)
- 标志位 (SYN、ACK、FIN、RST 等)
- 校验和
结构决定功能
- 三次握手建立连接
- 序号 + 确认号 → 保证有序、不丢失
- 窗口 → 控制发送速度
- 重传机制
- 四次挥手断开
TCP 是可靠传输的基石。
五、HTTP 协议(应用层)
作用
定义浏览器 / 客户端与服务器之间如何交流数据,规定请求和响应的格式。
从结构看它做了什么
HTTP 是纯文本协议,结构非常直观:
请求结构
plaintext
GET /index.html HTTP/1.1
Host: www.baidu.com
User-Agent: ...
(空行)
响应结构
plaintext
HTTP/1.1 200 OK
Content-Type: text/html
(空行)
<html>...</html>
结构决定功能
- 基于请求-响应模型
- 无状态(不记住之前请求)
- 明文传输(HTTPS 才加密)
- 靠 TCP 保证可靠传输
HTTP 不关心网络怎么传,只关心业务数据格式。
六、一句话总结(最关键)
- IP:负责找主机(地址 + 路由)
- UDP:负责找进程(端口),快但不可靠
- TCP:负责可靠传输(有序、不丢、重传)
- HTTP:负责应用对话格式(网页、接口数据)
层级关系
HTTP → TCP → IP → 链路 → 物理