🌐 第一章 网络基础知识
📄 一句话概括

通信双方必须说同一种"语言"——这套语言的学名叫协议。而通信要做的事太多,一套话说不完,于是把规矩分层:每层只管自己的事、为上层服务。这套分层规矩的总设计图,就叫网络架构(体系结构)。

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. 实验 1:F12 网络页看 Status 列——200 满屏绿,就是服务器在说"收到,给你";这是应用层的话,人眼直接可读。
  2. 实验 2:断网再刷新——请求全变红:语言再通,路断了也白搭。印证 1.1:连接(路)和规矩(语言)缺一不可。
  3. 实验 3:换一个浏览器打开同一网页——网络页里请求长得几乎一样:应用不同、同层规矩相同,分层的"同层同话"现场实锤。

6. 常见误区

  1. 以为"协议"是一个东西——它是一整套分层的规矩家族:应用有应用的话、传输有传输的话,各层各说各的。
  2. 以为同层之间真的直接对话——中间隔着封装/拆封和整条物理线路;"同层对话"是逻辑上的感觉,不是物理上的直连。
  3. 以为分层是拖沓、越多越慢——分层是分工不是盖章排队;换来的是各层独立设计、独立升级,整体反而更快更稳。
  4. 以为网络架构只有一种——OSI 七层是教学用的"解剖图",实际互联网跑的是 TCP/IP 体系(四层/五层画法都有)。先记四层简版,名字见到能认。

7. 折叠自测题

❓ Q1:通信的"语言"学名叫什么?为什么必须有它?

协议。双方必须事先约定好通信规则(怎么打招呼、怎么确认、地址怎么写),否则各说各话无法互通。

❓ Q2:为什么语言要分层?用寄快递说一句话。

通信要做的事太多,分层=各管一段:你只管写内容、快递点只管打包、分拣只管选路、运输车只管搬——同层两边说同一种话,各层规矩互不掺和。

❓ Q3:四层简版里,每层各干什么?

应用层写读内容;传输层打包分段确认送达;网络层写地址选路线;链路层上路物理搬运。

❓ Q4:封装和拆封的方向?

发送方自上而下逐层加外套(封装)→ 物理线路 → 接收方自下而上逐层脱外套(拆封)。

❓ Q5:分层最大的好处是什么?举个例子。

各层独立升级、互不牵连:Wi-Fi 换成网线(链路层换规矩),浏览器(应用层)一个字都不用改。

8. 下一步学什么

相关笔记