OSI七层模型
第一层:物理层
核心任务: 把数据变成可以在线缆、无线电波等介质上传输的物理信号(如光信号、电脉冲)。
-
通俗例子: 快递公司的运输工具(卡车、飞机)和道路(高速公路、航线)。它不关心包裹里是什么,只负责把“货物”从A点物理移动到B点。
-
关键设备: 网线、光纤、网卡、集线器、中继器。
-
数据单位: 比特
第二层:数据链路层
核心任务: 在相邻的两个节点之间,提供可靠的数据传输,并进行差错控制。它通过 MAC地址(物理地址,如同身份证号)来标识设备。
-
通俗例子: 快递公司在一个城市内的配送站。当卡车到达某个城市后,配送站负责检查货物有没有在运输中破损(差错控制),并根据“门牌号”(MAC地址)将货物派送给同一局域网内的具体用户。
-
关键设备: 交换机、网桥。
-
数据单位: 帧
第三层:网络层
核心任务: 负责路由选择和逻辑寻址。它通过 IP地址(如同你的家庭住址)来找到数据包从源到目的地的最佳路径,跨越不同的网络。
-
通俗例子: 快递总部的路由调度中心。它负责规划“包裹”怎么从北京发往纽约:是走海运还是空运?途中经过哪个中转站?它不关心具体的“运输工具”(物理层),只关心“下一站该去哪”。
-
关键设备: 路由器、三层交换机。
-
数据单位: 包
第四层:传输层
核心任务: 建立端到端的连接,负责流量控制和可靠性。它区分不同的应用(通过端口号),并决定是使用可靠的TCP协议(三次握手)还是高效的UDP协议。
-
通俗例子: 快递公司的客服与品控部门。
-
TCP(可靠):寄送一批名贵手表。客服会打电话确认“你收到了吗?”,如果没收到,会重新派送,确保不丢件、顺序不乱。
-
UDP(高效):看视频直播。偶尔丢一两个画面没关系,只要流畅就行,不会为了补一帧画面去暂停直播。
-
-
关键概念: TCP、UDP、端口号。
-
数据单位: 段
第五层:会话层
核心任务: 管理会话的建立、维持和终止。它就像应用之间的“握手”和“挂断”,决定谁先说话、说多久,并设置断点。
-
通俗例子: 快递员与收件人之间的通话过程。
-
建立会话:“喂,是王先生吗?您的快递到了。”
-
维持会话:“我现在不在家,放快递柜吧。”
-
终止会话:“好的,已放入,再见。”
-
断点续传:如果下载一个100G的大文件,中途断网了,会话层可以记住下载到了99%,重连后接着传,而不是从头开始。
-
-
协议示例: NetBIOS、RPC。
第六层:表示层
核心任务: 负责数据翻译、加密解密、压缩解压。它把“机器语言”翻译成“人类或应用能看懂的语言”,并确保不同系统(Windows和Linux)能互通。
-
通俗例子: 快递公司的打包与翻译组。
-
翻译:如果你寄给国外朋友一封信,它负责把中文翻译成英文。
-
加密:如果是贵重物品,它负责给包裹加上密码锁。
-
压缩:如果东西太大,它负责抽真空压缩,让体积变小。
-
-
常见应用: SSL/TLS证书(HTTPS的锁)、JPEG/MPEG(图片视频压缩)。
第七层:应用层
核心任务: 最接近用户的一层,为应用软件(如浏览器、微信)提供网络服务接口。
-
通俗例子: 你拿到包裹拆开使用的瞬间。你打开手机上的App(微信、Chrome),看到别人发来的消息或网页内容。这一层决定了“用户最终体验的是什么”。
-
关键协议: HTTP(网页)、SMTP(邮件)、FTP(文件传输)、DNS(域名解析)。
层与层之间的关系:逐级封装
在OSI模型中,每一层都只为相邻的层服务,数据从发送端自上而下传输时,会发生封装;在接收端自下而上传输时,发生解封装。
举个例子:你用微信发“你好”给对方
发送端(自上而下):
-
应用层 (L7):你输入“你好”。微信把这几个字作为数据。
-
表示层 (L6):将“你好”压缩或加密(通常这一步在微信内部做了),确保数据能被识别。
-
会话层 (L5):建立你与对方服务器的会话通道。
-
传输层 (L4):在这段数据前加上TCP头,注明“这个数据包的端口号是443(微信服务)”,交给下层。此时数据叫段。
-
网络层 (L3):加上IP头,注明“源IP是你的手机IP,目标IP是微信服务器IP”。此时数据叫包。
-
数据链路层 (L2):加上MAC头,注明“这个包要从你手机的网卡发给路由器(下一跳的物理地址)”。此时数据叫帧。
-
物理层 (L1):把这一长串二进制的帧,变成电信号或光信号,通过网线或WiFi发出去。
接收端(自下而上):
对方的服务器收到信号后,从下往上逐层拆解:
物理层收到电信号 → 链路层检查MAC地址是否匹配 → 网络层检查IP是否匹配 → 传输层检查端口号,把数据重组 → 会话层确认会话有效 → 表示层解密 → 应用层最终把“你好”显示在对方的微信界面上。
什么要有这么多层?
这种分层设计就像流水线作业,带来了巨大的好处:
-
分工协作:如果你要换网络设备(比如从网线换到WiFi),只需要改动物理层和数据链路层,上面的微信(应用层)完全不需要修改。
-
标准化:任何厂商只要遵循这个标准,他们生产的硬件和软件就能互相通信。
总结:
物理层决定用什么路,数据链路层决定怎么在一条路上跑,网络层决定从哪条路到另一个城市,传输层保证东西没丢,会话层管通话礼仪,表示层负责语言翻译,应用层就是你正在干的事。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)