我们访问网页、看视频、发微信,其实就是一段数据从远方服务器一路传到你电脑的过程。而这个过程遵循一个叫“网络通信模型”的套路,最常用的模型叫 “OSI七层模型” 。今天我们就来用最通俗的语言,带你一层一层拆解它。
什么是 OSI 七层模型?
OSI 模型是一个网络通信的参考框架,它把网络通信从底到顶分为七层,每层负责一个“功能环节”。
从下往上是:
物理层 → 数据链路层 → 网络层 → 传输层 → 会话层 → 表示层 → 应用层
你可以把它想象成:你发出去消息,对方收到这条消息,中间有七步曲。
1、物理层
在最底层,网络传输的信号都是“电信号”“光信号”,我们日常发送的消息在计算机中是0和1的组合。
网线、光纤、无线电波、USB、网卡,都属于物理层。
例子:当你发送的一条信息时,计算机先将内容转换成0和1组成的数字信号,再由网卡变成电流信号传输到路由器。
2、数据链路层
数据链路层将数据封装成IP包之后,加上MAC地址,封装成帧再通过局域网传输。
-
写上源MAC地址和目标MAC地址。
-
每一台设备网卡都有自己的 MAC地址,全球唯一。
-
若知道对方 IP,但不知道 MAC,会使用 ARP 协议查找目标 MAC 地址,实现点对点通信。下图是数据链路层的执行流程。
例子:家用路由器用MAC地址知道该把数据送到哪个设备。
3、网络层
有了MAC地址还不够,想去另一个城市,还要靠 IP地址 来“选路”:
-
网络层负责地址规划(用IP地址标识设备位置)和路由选择(选路、转发)。
-
数据被封装成数据包(包含源IP和目标IP),之后由路由器决定接下来的传输方向。如果目标在另一个网络,就会被交给上一级路由器中转。
例子:访问百度时,系统会查找 baidu.com 对应的IP地址,然后通过多层路由器找到目标服务器
4、传输层
传输层负责:
-
把大数据分段传送,每段都有编号。
-
到达后按顺序重组
-
哪一段数据丢了就重发。
在传输层有两个常用的协议:TCP协议和UDP协议。它们有怎样的区别?
简言之,
TCP 是“长连接”:可靠但慢,适合对数据完整性要求高的场景,如网页、文件传输。
UDP 是“短连接”:快速但不可靠,适合实时性高但可容忍丢包的场景,如微信发消息、在线游戏。
例子:就像在看视频的时候,卡了一会又加载过来了。实际上就是数据打包重传起了作用。
5、会话层:
会话层负责建立、维持和终止通信双方之间的“对话”。比如你和朋友正在视频通话:
-
会话层负责“是谁和谁在通话”
-
确保多个会话互不干扰
-
负责同步恢复(比如你网络断了能重新连接)
6.表示层:
这一层是数据的“翻译官”。当你的微信消息发出时,它需要:
-
编码(比如 UTF-8)
-
压缩(节省流量)
-
加密/解密(确保别人看不懂),接收端解密恢复原始内容
7.应用层
到了应用层,你终于看到网页、视频、图片啦!在这一层中把底层的数据变成了人能看懂的内容。
-
网页靠 HTTP 协议
-
看视频靠 RTSP 或 HTTP
-
发邮件靠 SMTP
-
文件靠FTP
总览:
刚才我们已经学习了网络通信的七层模型,那我们再通过从“人话”到“电信号”的全过程,再巩固一下所学知识:
步骤 | 网络层级 |
---|---|
应用层 | 输入信息(比如你在微信打“你好”) |
编码处理 | 转换成 Unicode、UTF-8 等编码(二进制表示) |
协议封装 | 添加 TCP/IP 协议头,打包成数据包(传输层) |
网卡处理 | 通过计算机的网卡,将数据包转换为 电信号 / 光信号 / 无线信号 |
物理层传输 | 电信号通过网线或无线传输到路由器(物理层) |
路由器转发 | 路由器读取 IP 信息,将数据包发往下一站(如运营商服务器) |
最终到达微信服务器,再发送到对方手机 |
总结
OSI 七层模型就像一个完整的通信流水线,把你输入的一段“人话”,经过层层加工、打包、传送,最终精确地送达对方设备,并展示为可读内容。
如果你觉得这篇文章有帮助,不妨点个赞或收藏支持一下!