📄 一句话概括
通信双方必须说同一种"语言"——这套语言的学名叫协议。而通信要做的事太多,一套话说不完,于是把规矩分层:每层只管自己的事、为上层服务。这套分层规矩的总设计图,就叫网络架构(体系结构)。
1. 为什么需要"共同的语言"
- 你说中文、对方只懂日文——面对面也白搭。计算机通信同理:发之前先约定"怎么打招呼、怎么确认收到、地址怎么写、包裹怎么打包"。
- 这套约定就是协议(Protocol)——通信的语言。1.1 说"网络 = 连接 + 规矩",这节的"语言"就是规矩本矩。
2. 为什么语言还要"分层"(本节核心)
一次通信要干的事一大堆:内容说什么、怎么打包、地址写哪、走哪条路、路上怎么搬……全塞进一句规矩里,必然乱成一锅粥。
解决办法:分层。像寄一件快递:
- 你只管写内容——不碰包裹;
- 快递点只管装袋贴单——不管里面是什么;
- 分拣中心只管定路线——不拆包裹;
- 运输车只管上路——不关心货物内容。
每一环只管自己那一段,规矩各不相同;但两边处在同一环节时,说的必须是同一种话。这套分工的总设计图,就是网络架构。
💡 分层的最大好处:各层独立升级
某一层的规矩换代,其他层完全不用动——就像快递从空运改陆运,你寄件的流程一点没变。Wi-Fi 换成网线,浏览器照样写它的网页请求。换搬运工,不换写信人。
3. 四层简版地图(先立形状,后面逐层放大)
| 层 | 干什么 | 老相识 |
|---|---|---|
| 应用层 | 写内容、读内容 | 1.5 的应用程序(浏览器/微信) |
| 传输层 | 打包分段、确认送达 | Java 13.2 的 TCP/UDP |
| 网络层 | 写地址、选路线 | 1.2 门牌号 + 1.4 逐跳接力 |
| 链路层 | 上路物理搬运 | 1.3 的交换机/路由器/网线 |
数据的旅程:发送方自上而下逐层"加外套"(封装)→ 物理线路 → 接收方自下而上逐层"脱外套"(拆封)。两边的同层像在"直接对话",其实数据是一层层穿过去、再一层层剥出来的。
教材后面还有更细的分层模型(如 OSI 七层),本节先记住四层简版的形状——形状对了,细节都是往格子里填东西。
4. 动手时间(Demo06):亲眼看见"应用层的对话"
步骤:
1. 打开浏览器,按 F12(开发者工具)→ 切到「网络 / Network」选项卡
2. 刷新任意网页(比如 baidu.com)
3. 列表里刷出一堆"请求"——这就是浏览器(应用层)和服务器
的一问一答,当场抓到"说同一种话"的现行
4. 点开任意一条:请求头 = 打招呼的方式、状态码 200 = 服务器
回一句"收到,东西给你"、404 = "你要的我这儿没有"
5. 按 Ctrl+R 重跑一次对比:问法一样、答案可能不同——
规矩不变,内容随现场变
5. 30 秒实验
- 实验 1:F12 网络页看 Status 列——
200满屏绿,就是服务器在说"收到,给你";这是应用层的话,人眼直接可读。 - 实验 2:断网再刷新——请求全变红:语言再通,路断了也白搭。印证 1.1:连接(路)和规矩(语言)缺一不可。
- 实验 3:换一个浏览器打开同一网页——网络页里请求长得几乎一样:应用不同、同层规矩相同,分层的"同层同话"现场实锤。
6. 常见误区
- 以为"协议"是一个东西——它是一整套分层的规矩家族:应用有应用的话、传输有传输的话,各层各说各的。
- 以为同层之间真的直接对话——中间隔着封装/拆封和整条物理线路;"同层对话"是逻辑上的感觉,不是物理上的直连。
- 以为分层是拖沓、越多越慢——分层是分工不是盖章排队;换来的是各层独立设计、独立升级,整体反而更快更稳。
- 以为网络架构只有一种——OSI 七层是教学用的"解剖图",实际互联网跑的是 TCP/IP 体系(四层/五层画法都有)。先记四层简版,名字见到能认。
7. 折叠自测题
❓ Q1:通信的"语言"学名叫什么?为什么必须有它?
协议。双方必须事先约定好通信规则(怎么打招呼、怎么确认、地址怎么写),否则各说各话无法互通。
❓ Q2:为什么语言要分层?用寄快递说一句话。
通信要做的事太多,分层=各管一段:你只管写内容、快递点只管打包、分拣只管选路、运输车只管搬——同层两边说同一种话,各层规矩互不掺和。
❓ Q3:四层简版里,每层各干什么?
应用层写读内容;传输层打包分段确认送达;网络层写地址选路线;链路层上路物理搬运。
❓ Q4:封装和拆封的方向?
发送方自上而下逐层加外套(封装)→ 物理线路 → 接收方自下而上逐层脱外套(拆封)。
❓ Q5:分层最大的好处是什么?举个例子。
各层独立升级、互不牵连:Wi-Fi 换成网线(链路层换规矩),浏览器(应用层)一个字都不用改。
8. 下一步学什么
- ☑ 1.7 运行和管理服务器(服务器、云服务、内部部署) ✅ 已完成 —— 点此复习:服务器就是应用层对话另一端的"常驻主角"
相关笔记
- 是谁在负责收发数据(应用程序、P2P应用):应用程序就是应用层的主角——本节四层地图的最上层
- 网络的网络(互联网):逐跳接力就是网络层的日常业务
- 公司内部网络的结构(LAN和WAN):交换机管里、路由器管外——分别是链路层与网络层在地盘上的具体岗位
- Java 13.2 TCP通信:当时写的 Socket 程序站在传输层——你已经亲手当过传输层的用户了