5.2 TCP/IP协议簇 (4课时)
本课核心知识点整理
协议簇不是一个协议
TCP/IP 协议簇指的是互联网中一组相互配合的协议,而不是 TCP 和 IP 两个协议的简单相加。它解决的问题是:应用数据怎样被拆分、寻址、路由、传输、到达目标主机,并最终交给目标应用进程。
OSI 七层更像教学和标准化参考模型,层次划分细;TCP/IP 更像工程世界真正落地的协议体系。课堂里提到,实践中常把七层压缩成四层使用,原因不是表示层、会话层“不存在”,而是这些能力通常被合并进应用层或由具体应用库处理。
从 OSI 到 TCP/IP
| OSI 七层 | TCP/IP 四层 | 为什么这样合并 |
|---|---|---|
| 应用层、表示层、会话层 | 应用层 | 应用协议通常同时处理业务、格式、会话控制 |
| 传输层 | 传输层 | 仍需独立解决进程到进程通信 |
| 网络层 | 网际层 | 仍需独立解决跨网络寻址与路由 |
| 数据链路层、物理层 | 网络接口层 | 具体接入技术差异大,统一抽象为链路接入 |
这就是为什么考试里一方面会问 OSI 七层的设备和职责,另一方面又大量考 TCP/IP 协议的功能归属。前者帮你定位层次,后者帮你处理真实协议。
四层各自解决什么问题
| TCP/IP 层次 | 核心问题 | 高频协议或技术 | 记忆方式 |
|---|---|---|---|
| 应用层 | 用户到底要做什么网络业务 | HTTP、FTP、SMTP、POP3、DNS、DHCP | 网页、文件、邮件、域名、自动配置 |
| 传输层 | 数据交给目标主机上的哪个进程,是否可靠 | TCP、UDP | 端口、连接、可靠性、效率 |
| 网际层 | 数据怎样跨网络到达目标主机 | IP、ICMP、ARP | IP 寻址、路由、差错报告、地址解析 |
| 网络接口层 | 数据怎样进入具体链路 | Ethernet、PPP、MAC | 帧、网卡、链路介质 |
学习协议时不要只背英文缩写。更稳的记忆方式是“三连问”:它在哪一层?解决什么问题?题干会怎样描述它?
封装视角下的协议协作
一次访问网页大致可以这样理解:
text
HTTP 说明“我要请求哪个页面”
TCP 说明“可靠地把数据交给对方 80/443 等端口”
IP 说明“目标主机的 IP 地址和路由方向”
以太网/MAC 说明“下一跳网卡怎么收这个帧”接收方反过来解析:网卡收到帧,交给 IP;IP 确认目标主机,交给 TCP;TCP 按端口交给 Web 服务;Web 服务再按 HTTP 解释请求。
按功能记协议
| 功能场景 | 常见协议 | 层次 |
|---|---|---|
| 访问网页、传输超文本 | HTTP/HTTPS | 应用层 |
| 上传下载文件 | FTP | 应用层 |
| 发送邮件 | SMTP | 应用层 |
| 接收邮件 | POP3/IMAP | 应用层 |
| 域名转换为 IP 地址 | DNS | 应用层 |
| 自动分配 IP 地址等网络参数 | DHCP | 应用层 |
| 可靠传输 | TCP | 传输层 |
| 低开销、实时性优先传输 | UDP | 传输层 |
| 主机寻址和路由 | IP | 网际层 |
| 差错报告、ping | ICMP | 网际层 |
| IP 地址到 MAC 地址 | ARP | 网际层/链路协作 |
ARP 经常让人困惑:它解决的是 IP 地址到 MAC 地址的映射,服务于网际层到链路层的衔接。考试中通常把它放在 TCP/IP 网际层相关协议里记。
例题
下列属于 TCP/IP 应用层协议的是:
TCP/IP 常用四层模型而不是完全照搬 OSI 七层,主要原因是:
自查要点
- 为什么说 TCP/IP 是协议簇,而不是单个协议?
- OSI 七层和 TCP/IP 四层如何对应?
- DNS、DHCP、TCP、UDP、IP、ICMP、ARP 分别解决什么问题?
- 封装时 HTTP、TCP、IP、MAC 信息大致按什么顺序加入?