入门 #network#osi#tcpip#protocol

网络分层模型(OSI / TCP/IP)

网络分层模型把复杂的网络通信拆成多个层次——每层各司其职,上层不用关心下层细节,就像寄快递不用关心飞机怎么飞

📮 寄一个包裹——和网络通信惊人的相似

你寄一份文件给北京的朋友。你不需要知道飞机怎么飞、卡车怎么开——你只需要写地址、贴快递单。快递公司的各个部门(揽收、分拣、运输、配送)各司其职,你只要关心”寄出去”和”收到了”。

网络通信也是一样——从你在浏览器输入 www.baidu.com 到页面显示,中间经历了很多层,但你只关心”打开了网页”。

分层(Layering) 就是把复杂的网络通信分解成多个层次的标准化方法——每层只做自己的事,并为上层提供服务。

🏪 类比:快递业的”分层”

寄一个包裹到北京,各层分工:

快递层职责网络层对应
寄件人写地址、打包应用层——生成数据
揽收员贴快递单、扫描传输层——封装端口信息
分拣中心按城市分拣网络层——IP 寻址
运输车队送到下一个城市链路层——帧传输
高速公路物理运输物理层——比特流

📐 OSI 七层模型(教学参考)

OSI(Open Systems Interconnection)七层模型是网络分层的”标准答案”——教学用,实际互联网用 TCP/IP。

名称功能数据单位例子
7应用层为用户提供网络应用数据HTTP, DNS, SMTP
6表示层数据格式转换、加密数据SSL/TLS, JPEG
5会话层建立、管理会话数据NetBIOS, RPC
4传输层端到端可靠传输TCP, UDP
3网络层路由选择和寻址IP, ICMP
2数据链路层帧封装、差错检测Ethernet, Wi-Fi
1物理层比特流传输比特网线, 光纤

💡 实际互联网用的是 TCP/IP 四层模型——OSI 的第 5-7 层合并为”应用层”,第 1-2 层合并为”网络接口层”。


🌐 TCP/IP 四层模型(实际用的)

发送方                                    接收方
┌──────────────────────┐               ┌──────────────────────┐
│  应用层               │ HTTP 请求 →  │  应用层               │
│  (HTTP, DNS, SMTP)   │               │  (HTTP, DNS, SMTP)   │
├──────────────────────┤               ├──────────────────────┤
│  传输层               │ TCP 段 →    │  传输层               │
│  (TCP, UDP)          │               │  (TCP, UDP)          │
├──────────────────────┤               ├──────────────────────┤
│  网络层               │ IP 包 →     │  网络层               │
│  (IP, ICMP)          │               │  (IP, ICMP)          │
├──────────────────────┤               ├──────────────────────┤
│  网络接口层            │ 帧 →        │  网络接口层            │
│  (Ethernet, Wi-Fi)   │               │  (Ethernet, Wi-Fi)   │
└──────────────────────┘               └──────────────────────┘
         │                                    ↑
         └────── 物理介质(网线、光纤)─────────┘

🔄 数据封装——每一层”加个信封”

数据从上层传到下层时——每一层都会加上自己的头部信息(像套信封):

应用层数据:        [GET /index.html]

传输层(TCP):     [TCP头][GET /index.html]              ← 加端口号

网络层(IP):      [IP头][TCP头][GET /index.html]         ← 加 IP 地址

链路层(Ethernet):[帧头][IP头][TCP头][GET /index.html][帧尾] ← 加 MAC 地址

物理层:            010101010101010...(变成比特流发送)

接收方反向操作——每层去掉自己的头部,把数据交给上一层。就像拆快递——你只拿到商品,包装箱已经在路上被一层层去掉了。


💡 为什么要分层?

好处说明
模块化每层独立开发、升级——换了网线(物理层)不用改 HTTP(应用层)
标准化不同厂商的设备可以互操作——Cisco 路由器和华为路由器都跑 IP
抽象上层不用关心下层细节——应用开发者不需要知道数据怎么编码成电信号

📝 小结

概念一句话
网络分层把复杂通信拆成多个标准层次——各层只关心自己的事
OSI 七层物理→链路→网络→传输→会话→表示→应用(教学参考)
TCP/IP 四层应用→传输→网络→网络接口(实际使用的)
数据封装每层加自己的头部——像套信封
分层的价值模块化、标准化、抽象——换底层不影响上层

为什么先学这个? 分层模型是理解整个网络的”地图”。接下来从最底层开始——物理层基础(信号、编码、复用)