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域名解析为 IP53
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) → 线缆

一次网页访问的接力赛

把前面内容串成面试经典题"输入网址回车后发生了什么"(协议视角):

  1. DNS 把域名解析成服务器 IP(应用层,查询常走 UDP:53)。
  2. 浏览器与服务器 IP 建立 TCP 连接(传输层三次握手)。
  3. 客户端发送 HTTP 请求,服务器返回响应(应用层 HTTP)。
  4. 数据经 IP 逐跳路由、ARP 逐段寻址,穿过若干网络到达目标。
  5. 浏览器解析渲染页面,连接关闭或复用(Keep-Alive)。

高频追问速记

  • TCP 与 UDP 怎么选?——要求可靠、顺序选 TCP;要求低延迟、可容忍少量丢失选 UDP。
  • 端口是什么?——16 位数字(065535),01023 为知名端口。
  • ARP 属于哪一层?——工作在网络层与链路层之间,负责 IP 到 MAC 的映射。

小结:TCP/IP 协议族按"应用—传输—网络—接口"四层分工:DNS 找地址、TCP/UDP 管传输、IP 管路由、ARP 找网卡。记住各层代表协议与默认端口,就能完整讲出一次网络访问的接力过程。

笔记加载中…