17. TCP/IP 协议栈分层与各层协议(热度 590 · 核心必考)
Q: 画出 TCP/IP 模型,说明各层功能和代表协议。
A:
模型对照(表)
diagram
应用层 ← OSI: 应用/表示/会话 (HTTP、DNS、SMTP)
传输层 ← OSI: 传输 (TCP、UDP)
网际层 ← OSI: 网络 (IP、ICMP、ARP*)
网络接口层 ← OSI: 数据链路 + 物理 (以太网、Wi-Fi;*ARP 常被单列为 2.5 层)
教学用「五层」拆法:把最底层分成 数据链路层 + 物理层,其余同上。| 层 | 功能 | 代表协议 | 数据单元 |
|---|---|---|---|
| 应用层 | 为用户提供网络服务 | HTTP/HTTPS、DNS、FTP、SMTP/POP3/IMAP、DHCP、SNMP、SSH、WebSocket | 报文 |
| 传输层 | 端到端(进程到进程)通信 | TCP、UDP | 报文段/用户数据报 |
| 网际层 | 主机到主机、路由与转发 | IP、ICMP、ARP*、IGMP、RIP/OSPF/BGP | 分组/数据报 |
| 网络接口层 | 相邻节点成帧与物理传输 | 以太网、PPP、Wi-Fi;ARP 常被讨论在 2.5 层 | 帧/比特 |
* ARP 国内教材常归网络层,也有说法是介于网络层与数据链路层之间。
TCP/IP 应用层 ↔ OSI 会话+表示+应用;传输层 ↔ 传输层;网际层 ↔ 网络层;网络接口层 ↔ 数据链路+物理。教材常用五层是教学折中,不是第三个国际标准模型。
设计动机:为什么分层?
关注点分离;各层独立演进(换介质不必改 HTTP);封装与同层对等通信;IP over everything / Everything over IP——网络接口层不规定唯一技术,应用层百花齐放,IP 做“细腰”。
封装与解封装
HTTP 报文 → TCP 首部+报文 → IP 首部+段 → 帧首尾 → 比特流。接收端自下而上拆首部,由同层实体读出;路由器通常只读到网络层。
常见追问
追问 1:为什么教材常用五层而不是四层?
- 答题要点: 五层把网络接口层拆成物理层与数据链路层,便于单独讲以太网、编码、成帧;是教学折中,TCP/IP 标准四层与 OSI 七层才是常见模型。
追问 2:路由器/交换机/集线器分别工作在哪一层?
- 答题要点: 集线器物理层(再生广播);交换机数据链路层(按 MAC 转发,隔离冲突域);路由器网络层(按 IP 查表转发,隔离广播域)。见主库第 20、129 题。
追问 3:ARP 属于哪一层?为什么有争议?
- 答题要点: 功能是 IP→MAC,服务网络层寻址,但报文在局域网以太网帧传输、不经过路由器转发到远端,故常归网络层或称“介于两层之间”。
易错点
| 易错说法 | 纠正 |
|---|---|
| 「TCP/IP 就是 OSI」 | 层数、产生顺序、归并方式不同 |
| 「HTTP 工作在传输层」 | HTTP 在应用层;传输层是 TCP/UDP |
| 「IP 保证可靠交付」 | IP 尽最大努力,不可靠不有序 |
| 「端口号在网络层」 | 端口在传输层,用于进程分用 |
| 「封装时下层改上层首部」 | 一般只封装本层首部;路由器改 TTL/校验和是网络层自己的事 |
与选择题对照
- 主库 150: 第 2 题(OSI 七层/TCP-IP 四层)、第 3 题(网络层功能)、第 4 题(TCP/IP 与 OSI 对应)、第 6 题(对等层读首部)、第 7 题(两模型比较)、第 20 题(隔离广播域设备)、第 34 题(ARP)、第 46 题(路由器重新封装)、第 93 题(不属于应用层协议)、第 129 题(设备工作层次)。
- 补题 16: 补-02(以太网帧格式,数据链路层实例)、补-05(PPP)、补-10(冲突域/广播域与设备)。
- 口述联动: 选择题考层数/对应/设备;面试要能画层+封装链+分层动机。
工程 / 抓包背景
Wireshark 的 Frame/Ethernet/IPv4/TCP/HTTP 即封装视图。ping(ICMP)、traceroute(IP/TTL)、ss/netstat(传输层 socket)、curl(应用层)、tcpdump(帧/分组)。设备侧:交换机 show mac address-table,路由器 show ip route(最长前缀匹配)。排障口诀:链路 → IP(ping)→ 端口(ss/telnet)→ 应用(curl/日志)。