计算机网络分层模型通俗指南 (OSI vs TCP/IP)

计算机网络分层模型通俗指南 (OSI vs TCP/IP)

如果说前面的 HTTPS 是"押运公司"的内部操作手册,那么计算机网络分层模型就是整个全球物流系统的运作标准。

为了让全世界不同厂商生产的计算机能顺畅交流,ISO(国际标准化组织)制定了 OSI 七层模型。通过将复杂的网络通信过程拆解成一层层的工序,就像把"寄快递"这件事拆解成打包、贴单、运输、路况等不同环节。

本文将通过 "CEO 寄礼物" 的类比,为你拆解这七层协议,以及现实中更常用的 TCP/IP 四层模型。


一、 OSI 七层模型:CEO 寄礼物的全过程

假设 A 公司的 CEO (张三) 要送一份机密礼物给 B 公司的 CEO (李四)。这个过程需要经过公司内部的一层层处理。

1. 应用层 (Application Layer) - 第7层

  • 场景:CEO 张三说:"我要送这瓶'82年的拉菲'给李四。"
  • 作用 :为应用软件提供服务。直接和用户打交道,决定了你要传什么(是网页 HTTP,还是文件 FTP,还是邮件 SMTP)。
  • 常见协议:HTTP, FTP, SMTO, DNS。

2. 表示层 (Presentation Layer) - 第6层

  • 场景 :秘书小王接过酒,心想:"这酒不能直接寄,得包装一下。" 于是他把酒用精美的礼盒包好(格式化 ),并为了安全在外面贴了封条(加密 ),如果礼物太大还得压缩一下(压缩)。
  • 作用 :数据格式转换、加密、压缩。确保对方能看懂,且数据安全、体积小。
  • 关键词:编码, SSL/TLS (部分功能), JPEG/MPEG。

3. 会话层 (Session Layer) - 第5层

  • 场景:行政主管老赵打电话给 B 公司:"喂,我们这边有东西要发过去,你们准备好接收了吗?别到时候没人签收。"
  • 作用 :建立、管理和维护会话。控制两个应用程序之间的对话连接。
  • 关键词:RPC, Session 管理。
  • > 注:在实际开发中,第5、6、7层经常在代码里合在一起处理。

4. 传输层 (Transport Layer) - 第4层

  • 场景 :物流经理大刘接过包裹。
    • 他决定用"顺丰特快"(TCP):必须保证送到,如果丢了得重发,还要按顺序送(可靠传输)。
    • 或者决定用"普通平邮"(UDP):只管发出去,丢了不管,快就行(不可靠传输)。
    • 他还在单子上写了"请交给财务部前台"(端口号),区分收件人具体是哪个部门。
  • 作用 :端到端的传输控制。关注的是数据怎么传(可靠还是快速)以及传给谁(端口)。
  • 协议:TCP, UDP。

5. 网络层 (Network Layer) - 第3层

  • 场景 :快递分拣中心。工作人员给包裹贴上具体的地址单:"北京市朝阳区xx路xx号"(IP 地址 )。并且规划路线:"虽然要去北京,但先发到天津中转站比较快"(路由选择)。
  • 作用 :寻址和路由。决定数据包在网络中怎么走,从哪条路走。
  • 协议:IP, ICMP (Ping), ARP (部分)。
  • 场景 :长途货车司机。司机不管包裹里是什么,也不管最终去哪,他只负责:"我现在要把车从'上海'开到'南京'的中转站"。他关注的是两个相邻节点之间的传输,依靠车牌号(MAC 地址)识别车辆。
  • 作用 :相邻节点间的可靠传输。物理寻址(MAC)和错误检测。
  • 协议:Ethernet (以太网), Wi-Fi (802.11)。

7. 物理层 (Physical Layer) - 第1层

  • 场景:公路、光缆。这是最底层的物理设施,是柏油马路还是泥土路?是用光传信号还是用电传信号?
  • 作用 :传输比特流 (0和1)。定义电压、接口形状、线缆标准。
  • 关键词:双绞线, 光纤, 4G/5G电波。

二、 现实与理想:TCP/IP 四层模型

OSI 七层模型是教科书里的"理想模型",但在实际工业界(互联网),大家觉得分得太细太麻烦了。

于是,TCP/IP 模型(或称 DoD 模型)成为了实际的标准。它把 OSI 进行了简化和合并:

OSI 七层模型 TCP/IP 四层模型 对应关系说明 现实类比
应用层 (7) 应用层 (Application) 包含了 OSI 的应用层、表示层、会话层 CEO + 秘书 + 行政 (不用分那么细,反正都是公司内部要把货准备好)
表示层 (6) ^ ^ ^
会话层 (5) ^ ^ ^
传输层 (4) 传输层 (Transport) 对应 OSI 传输层 物流经理 (负责选顺丰还是平邮,负责分发到具体部门/端口)
网络层 (3) 网际层/网络层 (Internet) 对应 OSI 网络层 分拣中心 (负责贴地址 IP,负责规划路线)
数据链路层 (2) 网络接口层 (Network Access) 包含了 OSI 的数据链路层、物理层 司机 + 道路 (反正就是要把货运到下一站,底层硬件合在一起算)
物理层 (1) ^ ^ ^

为什么 TCP/IP 赢了?

因为在实际写代码(Socket 编程)时,程序员通常只关心:

  1. 应用层:我要发什么数据?(HTTP报文)
  2. 传输层:我要怎么发?(TCP还是UDP)
  3. 网络层:发给哪个 IP?

至于下面的硬件细节(网卡、光缆),操作系统和硬件厂商已经帮我们搞定了。


总结

  • OSI 7层:学术界的严谨标准,适合学习原理,分工极细。
  • TCP/IP 4层:工业界的实战标准,简单高效,是我们日常开发真正用到的模型。

理解这个模型,你就知道当网络不通时该怎么排查:

  • 先看网线灯亮不亮(物理层/网络接口层)?
  • 再看 Ping 不 Ping 得通 IP(网络层)?
  • 再看端口通不通(传输层)?
  • 最后看 HTTP 报文对不对(应用层)?
相关推荐
VidDown11 小时前
24fps 转 25fps 不只是改个数字:帧率转换、PAL/NTSC 与音频补偿
python·网络协议·音视频·视频编解码·视频
80s77715 小时前
动态IP是什么,动态IP的应用场景有哪些?
网络·网络协议·tcp/ip
ITxiaobing202315 小时前
IP 库与 AppsFlyer 国家/地区数据不一致,如何系统地对账?
数据库·网络协议·tcp/ip
是个西兰花16 小时前
https 协议原理
网络协议·http·https
程序猿老A16 小时前
云服务器ECS怎么配置多IP?
运维·服务器·tcp/ip
xixiaoyunya17 小时前
监控网页插件异常:用 HTTP 探针做第三方依赖的“外视”监测
网络·网络协议·http
AI备忘录19 小时前
(二十五)华为华三锐捷迈普思科 ERPS 环网保护配置命令(G.8032 五厂商对照)
运维·服务器·网络·网络协议·华为
不会就选b19 小时前
Linux之ip地址<3>
linux·运维·tcp/ip
事圆则缓19 小时前
HTTP 请求是怎么走的:从 Android 页面到服务端响应
android·网络协议·http
0+11119 小时前
Linux --HTTPS协议原理
网络协议·http·https