当前位置: 首页 > news >正文

计算机网络 OSI 七层模型和 TCP 五层模型

本文详细梳理 OSI 七层模型和 TCP/IP 五层模型。这两个模型都是理解网络通信工作原理的基石,OSI 更偏向于理论划分,而 TCP/IP 模型更贴近现实互联网协议栈。

核心对比思想:

  • OSI 模型 (Open Systems Interconnection)
    • 目的: 提供一个通用的、理论化的框架,用于理解不同厂商、不同技术的网络设备如何相互通信。目标是将复杂的通信过程分解成标准化的层次,每层有清晰的功能定义和接口。
    • 特点: 分层清晰、理论完备。七层划分非常细致。
  • TCP/IP 模型 (Transmission Control Protocol/Internet Protocol)
    • 目的: 描述实际运行在互联网上的协议栈如何工作。它是互联网工程实践的产物,协议本身推动了模型的形成。
    • 特点: 更贴近实际应用(互联网),更简洁实用。它将 OSI 的某些层次进行了合并。

1. OSI 七层模型 (从底层到顶层)

层编号层名称主要功能与任务关键协议/设备/概念数据传输单位 (PDU)
7应用层为最终用户或应用程序提供网络服务接口。处理文件传输、邮件收发、远程访问、网页浏览等应用进程间的通信。关注用户看到了什么。HTTP (Web), FTP (文件), SMTP/POP3/IMAP (邮件), DNS (域名), SSH/Telnet (远程登录), SNMP (网络管理)数据 (Data)
6表示层负责数据的表示方式(语法和语义)。处理数据格式转换(编码/解码)、加密/解密、压缩/解压缩等。确保一个系统应用层发出的信息能被另一个系统应用层读取。ASCII, JPEG, GIF, MPEG, TLS/SSL (加密部分), Zip数据 (Data)
5会话层负责建立、管理和终止两个通信主机之间的会话(逻辑连接)。保持会话状态(同步点、恢复点),处理会话控制(单工、半双工、全双工)。NetBIOS (较少直接用,现在多由高层协议集成管理)数据 (Data)
4传输层提供端到端的可靠或不可靠数据传输服务。负责进程到进程的通信(通过端口号 Port)。提供流量控制、错误控制、分段(Segmenting)/重组(Reassembling)等。TCP (有连接, 可靠), UDP (无连接, 不可靠)段 (Segment - TCP)
数据报 (Datagram - UDP)
3网络层负责逻辑寻址(IP地址)和端到端的数据包传输。在不同逻辑网络之间选择数据包传输的最佳路径 (路由 Routing)。处理可能的路由拥塞。IP (IPv4, IPv6), ICMP (如 Ping), RIP, OSPF, BGP (路由协议), ARP (地址解析), IPSec (安全)分组/包 (Packet)
2数据链路层负责节点到节点(同一物理网络/网段内,如局域网)的可靠传输。负责物理寻址(MAC地址/硬件地址)、成帧(Framing)、物理介质访问控制(MAC)、错误检测(如 CRC)。以太网 (Ethernet), Wi-Fi (IEEE 802.11), MAC, PPP, 帧中继, 交换机, 网桥帧 (Frame)
1物理层定义物理接口的电气、机械、规程特性。负责在物理介质上透明地传输原始比特流(0 和 1)。关注电压、线缆类型、接口类型、传输速率、信号传输模式等。RS-232, RJ-45, V.35, USB, 光纤, 同轴电缆, 集线器, 中继器, 物理介质本身比特流 (Bits)
  • PDU (Protocol Data Unit): 每一层处理的数据单元。

2. TCP/IP 五层模型 (从底层到顶层)

TCP/IP 模型将 OSI 模型的应用层、表示层和会话层合并为一个应用层。数据链路层和物理层通常被合并为一个网络接口层(或称为链路层/网络访问层)。

层名称对应 OSI 层主要功能与任务关键协议/设备/概念数据传输单位 (PDU)
应用层应用层(7) + 表示层(6) + 会话层(5)整合了 OSI 应用层、表示层、会话层的功能。定义应用程序如何利用网络进行通信。处理高层协议、数据表示、加密、压缩、会话控制等。HTTP, FTP, SMTP, POP3, IMAP, DNS, DHCP, SSH, Telnet, SNMP, TLS/SSL数据 (Data)
传输层传输层(4)与 OSI 传输层完全对应。提供端到端(主机进程到主机进程)的数据传输服务,管理连接的可靠性、流量控制和错误恢复。TCP, UDP段 (TCP), 数据报 (UDP)
网络层网络层(3)与 OSI 网络层完全对应。处理跨多个网络(即互联网络/互联网)的数据包(分组)的路由和转发。实现逻辑寻址(IP地址),处理路径选择和网际互连。IP (IPv4, IPv6), ICMP, IGMP, IPSec, RIP, OSPF, BGP分组/包 (Packet)
数据链路层 (网络接口层)数据链路层(2)通常包含 OSI 数据链路层的功能(成帧、物理地址、差错检测、介质访问控制)。负责在单一网络链路(如以太网、Wi-Fi 网络)上将数据帧从一个接口(网卡)传输到另一个相连的接口。处理的是相邻节点(下一跳)间的传输。以太网, Wi-Fi (802.11), PPP, MAC, ARP, 交换机帧 (Frame)
物理层物理层(1)与 OSI 物理层完全对应。在物理介质上传输原始比特流。RJ-45, 光纤, 同轴电缆, 无线频谱, 集线器, 调制解调器比特流 (Bits)

关键对应与总结:

  1. 应用层对等: TCP/IP 的应用层直接映射到 OSI 的顶层三层(5,6,7),包含了应用逻辑、数据表示和会话管理的需求。
  2. 核心中间层一致:****传输层网络层在两个模型中功能高度一致且名字相同。TCP/UDP 和 IP 是互联网的基石,它们在模型中的核心地位没有改变。
  3. 底层合并: OSI 的数据链路层物理层在 TCP/IP 模型中通常被合并为网络接口层/数据链路层。虽然有时会区分,但在实际讨论协议栈时,常作为一个整体看待。
  4. OSI 模型的价值: 其理论价值在于清晰、细致的分层定义。它有助于:
    • 理解网络通信的完整过程和各部分职责。
    • 教学和标准化。
    • 故障诊断(逐层排查问题)。
    • 协议设计(职责划分清晰)。
  5. TCP/IP 模型的实践: 它的价值在于:
    • 精确描述了现实世界中互联网协议栈的分工。
    • 简洁实用,更贴近工程师的思维方式。
    • 互联网本身就是基于 TCP/IP 协议族构建的。

实际通信流程简化示例 (以 HTTP 访问为例):

  1. 应用层 (HTTP): 用户在浏览器输入 URL (http://www.example.com),浏览器生成一个 HTTP GET 请求。
  2. 传输层 (TCP): 操作系统将 HTTP 请求交给 TCP。TCP 负责:
    • 建立到 Web 服务器端口 80 的连接(三次握手)。
    • 将数据分成合适的段(Segment)。
    • 为段添加源端口、目的端口、序列号、校验和等 TCP 头部信息,确保可靠传输。
  3. 网络层 (IP): TCP 段交给 IP。IP 负责:
    • 添加源 IP 地址(你的电脑 IP)和目的 IP 地址(www.example.com 解析后的 IP)的 IP 头部。
    • 确定下一跳路由器的地址(通过查询本机路由表)。
    • 根据目的 IP 和路由策略决定如何将数据包发送到目标网络。数据包(Packet)形成。
  4. 数据链路层 (如 Ethernet): IP 包交给数据链路层协议(如以太网卡驱动程序)。这一层负责:
    • 添加帧头(包含源 MAC 地址 - 你的网卡 MAC, 目标 MAC 地址 - 下一跳路由器的 MAC 地址 - 由 ARP 协议获取)。
    • 添加帧尾(CRC 校验码)。
    • 帧(Frame)形成。通过物理介质发送到你的局域网网关(路由器)。
  5. 物理层: 网卡将帧转换成电信号或光信号,通过网线或无线电磁波发送出去。

每一跳的路由器会:

  • 解封物理层 -> 数据链路层 (检查 MAC 目标地址是本接口吗?处理帧错误)。
  • 解封数据链路层 -> 网络层 (检查 IP 包头部的目标 IP 地址)。
  • 在 IP 层进行路由决策: 查询路由表,决定从哪个接口转发出去,下一跳地址是什么(新的目标 MAC)。
  • 将 IP 包重新封装进下一跳链路对应数据链路层的帧中(更改源/目的 MAC 地址)。
  • 通过物理层发送到下一跳。

到达目标服务器后:

  1. 物理层: 接收比特流。
  2. 数据链路层: 组装成帧,检查 MAC 地址(目标地址是本机)、CRC 校验,拆掉帧头尾,得到 IP 包。
  3. 网络层: 检查 IP 包头(目标地址是本机 IP?),拆掉 IP 包头,将 TCP 段交给传输层。
  4. 传输层 (TCP): 检查 TCP 端口号(端口 80 -> HTTP),建立或找到对应连接(Socket),检查序列号,组装数据段,确认接收,将数据提交给应用层相应进程。
  5. 应用层 (HTTP Daemon): 解析 HTTP 请求 (GET /...),生成 HTTP 响应,按原路径发回给客户端。

总结:

  • 理解 OSI 七层模型有助于构建完整的网络知识体系,理论清晰。
  • TCP/IP 五层模型是实际互联网通信的标准蓝图,协议栈分层明确。
  • 它们相互对应,但 TCP/IP 模型更简洁实用,反映了现实部署。在学习网络和排查问题时,经常是综合使用这两种模型的概念,核心的传输层、网络层、数据链路层概念是高度一致的。
  • 关键要记住: 数据从高层到低层逐层封装(加头部信息),到达目的地后从低层到高层逐层解封装(拆头部信息)。每一层只负责特定功能,利用下一层的服务,并为上一层提供服务。
http://www.lryc.cn/news/623712.html

相关文章:

  • IP 分片和组装的具体过程
  • 数字货币的法律属性与监管完善路径探析
  • Trae 辅助下的 uni-app 跨端小程序工程化开发实践分享
  • 【Java后端】Spring Boot 集成 MyBatis-Plus 全攻略
  • 【昇腾】单张48G Atlas 300I Duo推理卡MindIE+WebUI方式跑14B大语言模型_20250817
  • 前端vue3+后端spring boot导出数据
  • Java 大视界 -- Java 大数据分布式计算在基因测序数据分析与精准医疗中的应用(400)
  • Linux | i.MX6ULL网络通信-套字节 UDP(第十八章)
  • 计算机网络 TCP 延迟确认机制
  • 矿物分类案列 (一)六种方法对数据的填充
  • 安卓开发者自学鸿蒙开发2页面高级技巧
  • 安卓14系统应用收不到开机广播
  • Android原生(Kotlin)与Flutter混合开发 - 设备控制与状态同步解决方案
  • Javascript面试题及详细答案150道之(106-120)
  • Python实现区域生长和RANSAC聚类
  • 职场新人如何在快速适应工作的同时保持自我成长节奏?
  • JUC常用线程辅助类详解
  • JavaScript 性能优化实战大纲
  • [GLM-4.5] LLM推理服务器(SGLang/vLLM) | 工具与推理解析器
  • c_str()函数的详细解析
  • 【PHP】Hyperf:接入 Nacos
  • Python | 解决 matplotlib 中文乱码
  • 基于MATLAB多智能体强化学习的出租车资源配置优化系统设计与实现
  • [论文阅读] 人工智能 + 职业教育 | 从技能操作者到技术反思者:生成式AI驱动职业教育学习范式转型
  • 豆包 Java的23种设计模式
  • 微调 AnomalyCLIP——基于对象无关提示学习与全局 - 局部优化的零样本异常检测框架性能验证
  • 迅速掌握Git通用指令
  • 7 索引的监控
  • 编程算法实例-整数分解质因数
  • Mac(五)自定义鼠标滚轮方向 LinearMouse