Skip to content
难度基础(★)
建议时长45分钟

5.2.1 TCP-IP协议簇概述

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

先建立一张协议地图

TCP/IP 协议簇的学习难点不是概念深,而是名字多。HTTP、FTP、SMTP、DNS、DHCP、TCP、UDP、IP、ICMP、ARP 都可能出现在选择题里。最稳的方法是把每个协议固定到“层次 + 功能 + 触发场景”上。

层次这层的职责常见协议
应用层直接支撑具体网络服务HTTP、FTP、SMTP、POP3/IMAP、DNS、DHCP、Telnet
传输层在两个主机的进程之间传输数据TCP、UDP
网际层跨网络寻址、路由、差错报告、地址解析IP、ICMP、ARP
网络接口层把数据帧送入具体物理/链路网络Ethernet、PPP、MAC

每层应该怎么理解

应用层:业务语义

应用层协议回答“用户在做什么事”。访问网页用 HTTP/HTTPS;传文件用 FTP;发邮件用 SMTP;收邮件用 POP3 或 IMAP;输入域名找 IP 用 DNS;自动拿 IP 地址用 DHCP。

题干常不会直接说协议名,而是说功能。看到“域名解析”选 DNS;看到“自动分配 IP 地址”选 DHCP;看到“超文本传输”选 HTTP。

传输层:进程到进程

传输层解决的是“目标主机上哪个进程来接收数据”,所以端口号是传输层关键词。TCP 和 UDP 的核心差异不是谁更高级,而是服务取舍不同:

协议优势劣势适合场景
TCP面向连接、可靠传输、顺序控制、重传机制开销较大,实时性较弱网页、文件、邮件等要求可靠的业务
UDP无连接、开销小、速度快、实时性好不保证可靠到达和顺序音视频、直播、DNS 查询等可容忍少量丢包的业务

这种对比也体现了技术取舍:UDP 没有“替代”TCP,TCP 也没有“淘汰”UDP。它们服务于不同约束。可靠性越强,控制开销通常越大;实时性越强,往往要接受一定不可靠。

网际层:主机到主机、网络到网络

网际层解决“数据怎样跨网络找到目标主机”。IP 是核心;ICMP 用于差错报告和控制消息,ping 就依赖 ICMP;ARP 用于把 IP 地址解析为 MAC 地址,让分组能在下一跳链路上封装成帧。

协议一句话功能高频题干
IP提供无连接、不可靠的数据报传送和路由寻址IP 地址、路由、分组转发
ICMP传递差错报告和控制信息ping、目标不可达、超时
ARP根据 IP 地址获取 MAC 地址IP 到 MAC 的地址解析

网络接口层:落到具体链路

这一层关注帧、MAC 地址、网卡、以太网、PPP 等。它不关心用户访问的是网页还是邮件,只关心在当前链路上怎样把帧交给下一跳。

协议识别表

题干关键词选什么不要混淆
超文本、网页、WebHTTP/HTTPS不是 HTML;HTML 是文档标记语言
域名到 IP 地址DNS不是 ARP;ARP 是 IP 到 MAC
自动分配 IP、网关、DNS 服务器DHCP不是 DNS
发送电子邮件SMTP接收邮件常是 POP3/IMAP
文件上传下载FTP不是 HTTP,除非题干说 Web 下载
可靠传输、三次握手TCP不是 UDP
低开销、实时传输UDP不保证可靠性
ping、回显请求ICMP不是 TCP 或 UDP
IP 地址解析为 MAC 地址ARP不是 DNS

封装时协议怎样配合

以“浏览器访问 example.com”为例:

  1. 浏览器需要先把域名解析为 IP,使用 DNS。
  2. 得到 IP 后,浏览器按 HTTP/HTTPS 组织请求。
  3. 若使用可靠连接,传输层使用 TCP,并通过端口定位 Web 服务。
  4. 网际层使用 IP 决定目标主机和路由路径。
  5. 到下一跳链路前,需要通过 ARP 找到下一跳 MAC,再封装成帧。

这条链路解释了为什么同一道题里可能出现多个协议:它们不是互斥关系,而是在不同层次协同完成一次通信。

DNS域名 -> IPHTTP组织请求TCP可靠+端口IP寻址路由
<rect x="255" y="180" width="130" height="58" rx="8" fill="#ffecec" stroke="#c96969"/> <text x="320" y="205" text-anchor="middle" font-weight="700">ARP</text> <text x="320" y="227" text-anchor="middle">IP -> MAC</text> <line x1="390" y1="209" x2="455" y2="209" stroke="#456" stroke-width="2" marker-end="url(#arrow-tcpip-521)"/> <rect x="460" y="180" width="130" height="58" rx="8" fill="#eaf7f7" stroke="#5da6a6"/> <text x="525" y="205" text-anchor="middle" font-weight="700">Ethernet</text> <text x="525" y="227" text-anchor="middle">帧 + MAC</text> <text x="450" y="270" text-anchor="middle" font-weight="700">不同协议分工协作,不是彼此替代</text> 

例题

单选
负责把 IP 地址解析为 MAC 地址的协议是:
单选
ping 命令主要依赖的协议是:
单选
将域名解析为 IP 地址的协议是:

自查要点

  1. TCP/IP 四层各自负责什么?
  2. DNS 和 ARP 都叫“解析”,它们解析的对象有什么不同?
  3. TCP 与 UDP 的优劣势分别是什么,为什么两者会长期并存?
  4. 一次访问网页时,DNS、HTTP、TCP、IP、ARP 大致如何协同?