【计算机基础速成】第六课:计算机网络入门与 TCP/IP 分层
1. 这节课的目标
计算机网络如果一上来就学三次握手、四次挥手、HTTP、HTTPS,很多人会觉得很乱。
原因不是这些内容难,而是:
脑子里没有“网络分层”这张地图。
所以这一课我们先不急着钻细节,而是先建立整体框架。
这节课学完后,你至少要做到:
- 知道为什么网络要分层
- 知道 OSI 七层是“参考模型”
- 知道 TCP/IP 四层是“更常用、更贴近实际”的模型
- 知道每一层大概负责什么
- 知道常见协议分别属于哪一层
2. 为什么网络要分层
一句话理解
因为网络通信太复杂了,所以要把复杂问题拆成多层,每层只负责自己的一部分。
举个例子
你在浏览器里输入一个网址,看起来只是“发了一个请求”,但实际上背后至少涉及:
- 应用怎么组织请求数据
- 数据怎么可靠传输
- 数据怎么找到目标机器
- 数据怎么在物理网络中传输
如果所有问题都混在一起处理,会非常混乱。
所以网络采用分层思想:
每一层只解决一类问题,并向上一层提供服务。
3. 面试怎么回答“为什么网络要分层”
标准回答
计算机网络采用分层设计,是为了把复杂的通信过程拆分成多个相对独立的功能层。这样每一层只需要关注自己的职责,层与层之间通过标准接口协作,从而降低系统复杂度,提高可维护性和可扩展性。
关键词
- 拆分复杂问题
- 各层职责清晰
- 降低耦合
- 便于维护和扩展
4. OSI 七层模型
OSI 是一个经典的参考模型。
你面试里通常要知道它,但不一定要求你讲得特别细。
七层分别是:
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层
你现在怎么理解就够了
- OSI 七层是“理论参考模型”
- 真实开发和实际协议讨论中,更常用的是 TCP/IP 分层模型
5. TCP/IP 四层模型
这才是你后面真正要重点掌握的。
常见说法有四层:
- 应用层
- 传输层
- 网络层
- 网络接口层
有些资料会把最后一层再拆成“数据链路层 + 物理层”,但你现阶段先记四层版本就够了。
6. TCP/IP 四层分别做什么
这是本课的核心。
6.1 应用层
一句话理解
直接面向应用程序,规定应用之间如何通信。
常见协议
- HTTP
- HTTPS
- DNS
- FTP
- SMTP
你可以这样理解
你在浏览器访问网页,最接近你这个“用户行为”的,就是应用层。
面试答法
应用层是直接为应用程序提供网络服务的一层,像 HTTP、HTTPS、DNS 等协议都属于应用层。
6.2 传输层
一句话理解
负责端到端的数据传输。
常见协议
- TCP
- UDP
这一层解决什么问题
- 数据怎么从一个进程传到另一个进程
- 要不要可靠传输
- 要不要控制顺序
面试答法
传输层主要负责端到端的数据传输和通信控制,常见协议有 TCP 和 UDP。其中 TCP 提供可靠传输,UDP 更轻量。
6.3 网络层
一句话理解
负责把数据从源主机送到目标主机。
常见协议
- IP
- ICMP
这一层解决什么问题
- 数据包怎么找到目标机器
- 路由怎么选
面试答法
网络层主要负责主机之间的通信和路由选择,核心协议是 IP。它决定数据包如何从源地址发送到目标地址。
6.4 网络接口层
一句话理解
负责数据在底层网络介质中的实际传输。
这一层你现在不用太深究
你先把它理解成:
- 网卡
- 局域网传输
- 物理链路
都和这一层关系更近。
面试答法
网络接口层负责数据在具体网络介质中的传输,它更贴近底层硬件和链路实现。
7. 四层模型怎么串起来理解
你可以把一次网络通信理解成这样:
- 应用层决定“我要发什么内容”
- 传输层决定“怎么可靠地传过去”
- 网络层决定“发到哪台机器”
- 网络接口层负责“真正把数据发出去”
这个顺序特别重要。
8. 常见协议属于哪一层
这是面试里很喜欢问的基础题。
| 协议 | 所属层 |
|---|---|
| HTTP | 应用层 |
| HTTPS | 应用层 |
| DNS | 应用层 |
| TCP | 传输层 |
| UDP | 传输层 |
| IP | 网络层 |
你一定要记住的几个
- HTTP/HTTPS:应用层
- TCP/UDP:传输层
- IP:网络层
- DNS:应用层
9. OSI 七层和 TCP/IP 四层怎么对应
你不用背得特别机械,但要有基本概念。
| OSI 七层 | TCP/IP 四层中的大致对应 |
|---|---|
| 应用层、表示层、会话层 | 应用层 |
| 传输层 | 传输层 |
| 网络层 | 网络层 |
| 数据链路层、物理层 | 网络接口层 |
一句话理解
TCP/IP 可以理解成对 OSI 的“更实用化简版本”。
10. 面试里怎么回答“OSI 和 TCP/IP 有什么区别”
标准回答
OSI 七层模型更偏理论和标准参考,分层更细;TCP/IP 模型更贴近实际互联网协议栈,实际开发和面试中更常用。通常我们学习网络原理时会提到 OSI,但真正讨论协议时更常用 TCP/IP 四层模型。
11. 一次 HTTP 请求大概经过哪些层
这个问题很适合帮你把分层模型和真实场景串起来。
假设你在浏览器访问一个网页:
应用层
- 浏览器构造 HTTP 请求
传输层
- 使用 TCP 建立连接并传输数据
网络层
- 使用 IP 寻找目标主机地址并路由转发
网络接口层
- 通过网卡、链路等把数据真正发出去
面试答法
一次 HTTP 请求通常会先在应用层组织请求报文,然后通过传输层的 TCP 进行可靠传输,再由网络层的 IP 负责寻址和路由,最后通过网络接口层在底层网络介质中完成实际传输。
12. 本课高频面试题
12.1 为什么网络要分层
标准回答
网络分层是为了把复杂的通信过程拆分成多个功能层,每层只负责自己的职责,从而降低系统复杂度,减少耦合,便于协议设计、维护和扩展。
12.2 OSI 七层和 TCP/IP 四层的区别
标准回答
OSI 七层模型更偏理论参考,分层更细;TCP/IP 四层模型更贴近实际互联网协议栈,因此在实际开发和面试中更常用。
12.3 TCP/IP 四层分别是什么
标准回答
TCP/IP 四层一般包括应用层、传输层、网络层和网络接口层。应用层负责应用之间的通信,传输层负责端到端传输,网络层负责寻址和路由,网络接口层负责底层链路中的数据传输。
12.4 HTTP、TCP、IP 分别属于哪一层
标准回答
HTTP 属于应用层,TCP 属于传输层,IP 属于网络层。
12.5 DNS 属于哪一层
标准回答
DNS 属于应用层,它负责把域名解析成 IP 地址。
13. 一套可直接背的完整答法
如果面试官问:
你说一下 TCP/IP 分层模型。
你可以这样答:
TCP/IP 模型通常可以分为四层,分别是应用层、传输层、网络层和网络接口层。
应用层直接面向应用程序,常见协议有 HTTP、HTTPS、DNS;
传输层负责端到端的数据传输,常见协议有 TCP 和 UDP;
网络层负责寻址和路由,核心协议是 IP;
网络接口层更贴近底层链路和硬件,负责数据在实际网络介质中的传输。
网络分层的好处是把复杂通信过程拆分开来,让各层职责更清晰,也便于维护和扩展。14. 本课最小记忆卡片
卡片 1
- 网络分层:拆分复杂问题,降低耦合
卡片 2
- OSI:七层,偏理论
- TCP/IP:四层,偏实际
卡片 3
- 应用层:HTTP、HTTPS、DNS
卡片 4
- 传输层:TCP、UDP
卡片 5
- 网络层:IP
卡片 6
- 网络接口层:底层链路和实际传输
15. 课后练习
15.1 口头复述题
请你尝试不看讲义回答:
- 为什么网络要分层?
- OSI 七层和 TCP/IP 四层有什么区别?
- TCP/IP 四层分别做什么?
- HTTP、TCP、IP、DNS 分别属于哪一层?
- 一次 HTTP 请求大概会经过哪些层?
15.2 今日最低完成标准
如果今天时间不多,至少完成下面任务:
- 背会本课 6 张最小记忆卡片
- 能口头回答 5 道高频题
- 能说清 HTTP、TCP、IP 各自属于哪一层
16. 下一课预告
第七课:TCP 与 UDP、三次握手与四次挥手