TCP/IP 协议族
TCP/IP 并不是单个协议,而是一整套协议的集合:网页、邮件、文件传输、域名解析分别由不同协议分工完成。面试题"浏览器输入网址后发生了什么",答案就藏在这些协议如何接力配合里。
协议族全景
按四层模型把常用协议归类,一眼看清各自位置:
应用层: HTTP HTTPS FTP SMTP POP3 DNS SSH DHCP
传输层: TCP UDP
网络层: IP ICMP IGMP ARP/RARP
网络接口层: Ethernet(以太网) WiFi PPP
应用层协议数量最多,传输层只有 TCP/UDP 两个主角,越往下越"通用"。
应用层协议:解决"要做什么"
每个应用层协议定义一类业务语义与默认端口:
| 协议 | 用途 | 默认端口 |
|---|---|---|
| HTTP / HTTPS | 网页与接口数据传输 | 80 / 443 |
| FTP | 文件传输 | 21 |
| SMTP | 发送邮件 | 25 |
| DNS | 域名解析为 IP | 53 |
| SSH | 安全远程登录 | 22 |
| DHCP | 自动分配 IP 地址 | 67 / 68 |
传输层协议:解决"交给哪个进程"
传输层负责进程到进程的通信,用端口号区分同一台主机上的不同应用:
- TCP:面向连接、可靠、按序到达,适合数据一点不能丢的场景。
- UDP:无连接、开销小、速度快,适合实时音视频等容忍丢失的场景。
一个 TCP 连接由四元组唯一标识:源 IP、源端口、目的 IP、目的端口。
网络层协议:解决"主机在哪"
- IP:为主机分配逻辑地址(IPv4/IPv6),负责跨网络路由转发。
- ICMP:传递差错报告与连通性探测,
ping就基于它。 - ARP:已知 IP 询问"对应网卡的 MAC 地址是谁",在局域网内完成寻址。
数据旅行路径
应用层(HTTP 报文) → 传输层(TCP:443 段) → 网络层(IP 选路)
→ 网络接口层(以太网帧 + ARP 找到下一跳 MAC) → 线缆
一次网页访问的接力赛
把前面内容串成面试经典题"输入网址回车后发生了什么"(协议视角):
- DNS 把域名解析成服务器 IP(应用层,查询常走 UDP:53)。
- 浏览器与服务器 IP 建立 TCP 连接(传输层三次握手)。
- 客户端发送 HTTP 请求,服务器返回响应(应用层 HTTP)。
- 数据经 IP 逐跳路由、ARP 逐段寻址,穿过若干网络到达目标。
- 浏览器解析渲染页面,连接关闭或复用(Keep-Alive)。
高频追问速记
- TCP 与 UDP 怎么选?——要求可靠、顺序选 TCP;要求低延迟、可容忍少量丢失选 UDP。
- 端口是什么?——16 位数字(0
65535),01023 为知名端口。 - ARP 属于哪一层?——工作在网络层与链路层之间,负责 IP 到 MAC 的映射。
小结:TCP/IP 协议族按"应用—传输—网络—接口"四层分工:DNS 找地址、TCP/UDP 管传输、IP 管路由、ARP 找网卡。记住各层代表协议与默认端口,就能完整讲出一次网络访问的接力过程。