网络通信模型对比:OSI与TCP/IP参考模型解析
网络通信模型对比:OSI与TCP/IP参考模型解析
OSI参考模型
OSI模型是对发生在网络设备间的信息传输过程的一种理论化描述,它仅仅是一种理论模型,并没有定义如何通过硬件和软件实现每一层功能。
OSI参考模型很重要的一个特性就是其分层体系结构。分层设计可以将庞大而复杂的问题转化为若干较小且易于处理的子问题。将复杂的网络通信过程分解到各个功能层次,各个层次的设计和测试相对独立。
OSI七层模型具有以下优点:
- 开放的标准化接口。
- 多厂商兼容性。
- 易于理解、学习和更新协议标准。
- 实现模块化工程,降低了开发实现的复杂度。
- 便于故障排除。
一、物理层(Physical Layer):
- 功能:
- 在物理介质上传输原始比特流(0和1)。
- 定义电气、机械、时序等物理特性(如电压、线缆类型、接口形状)。
- 关键设备/技术:
- 网线(双绞线、光纤)、集线器(Hub)、中继器(Repeater)。
- 数据单元:比特(Bit)。
二、数据链路层(Data Link Layer):
- 功能:
- 成帧:将比特流封装为数据帧(Frame)。
- 物理寻址:通过MAC地址标识设备(如
00:1A:2B:3C:4D:5E
)。 - 差错控制:检测帧传输错误(如CRC校验)。
- 流量控制:避免接收方被数据淹没(如滑动窗口协议)。
- 关键协议/技术:
- 以太网(Ethernet)、PPP(点对点协议)、交换机(Switch)。
- 数据单元:帧(Frame)。
三、网络层(Network Layer):
- 功能:
- 逻辑寻址:通过IP地址标识设备(如
192.168.1.1
)。 - 路由选择:决定数据从源到目的地的路径(如路由器选路)。
- 拥塞控制:避免网络过载。
- 逻辑寻址:通过IP地址标识设备(如
- 关键协议:
- IP(IPv4/IPv6)、ICMP( ping命令)、OSPF、BGP。
- 数据单元:分组/包(Packet)。
四、传输层(Transport Layer):
- 功能:
- 端到端通信:确保数据在源主机和目的主机之间可靠传输。
- 可靠性控制:丢包重传、排序(如TCP)。
- 多路复用:多个应用共享同一网络连接(如端口号区分应用)。
- 关键协议:
- TCP(可靠,面向连接)、UDP(不可靠,无连接)。
- 数据单元:段(Segment,TCP) / 数据报(Datagram,UDP)。
五、会话层(Session Layer):
- 功能:
- 建立、管理、终止会话:控制应用间的对话逻辑(如登录会话)。
- 同步检查点:在传输中断时恢复会话(如文件下载续传)。
- 关键协议/技术:
- NetBIOS、RPC(远程过程调用)、SSH会话管理。
- 数据单元:会话层协议数据单元(Session Protocol Data Unit)。
六、表示层(Presentation Layer):
- 功能:
- 数据格式转换:确保不同系统能理解彼此的数据(如文本编码转换)。
- 加密/解密:保障数据安全(如TLS/SSL加密)。
- 压缩/解压缩:减少传输量(如GZIP)。
- 关键技术:
- ASCII/Unicode 编码、JPEG/MPEG 格式、加密算法(AES)。
- 数据单元:表示层协议数据单元(Presentation Protocol Data Unit)。
七、应用层(Application Layer):
- 功能:
- 为用户应用程序提供网络服务接口(如浏览器、邮件客户端)。
- 定义应用协议规范。
- 关键协议:
- HTTP(网页浏览)、SMTP/POP3(邮件)、FTP(文件传输)、DNS(域名解析)。
- 数据单元:应用层协议数据单元(Application Protocol Data Unit)。
对等通信:
-
逻辑直连,物理间接:
-
终端主机的每一层都与另一方的对等层次进行通信,但这种通信并非直接进行的,而是通过下一层为其提供服务来间接与对端的对等层来交换数据。
例如:
-
发送方的传输层(TCP) 认为自己在和接收方的传输层(TCP) “直接对话”。
-
实际数据需通过发送方的网络层→数据链路层→物理层,再经路由器转发,最终到达接收方的物理层→数据链路层→网络层→传输层。
-
-
依赖协议规则
对等层使用相同的协议确保理解彼此(如双方传输层都用 TCP 协议)。 -
分层自治
每层只需关注本层功能,无需理解其他层细节(如传输层不关心数据链路层的 MAC 地址)。
封装与解封装:
-
**封装:**发送端:数据从高层向低层传递时,每层添加本层控制信息(头部/尾部)
- 应用层:生成原始数据(如 HTTP 请求报文)。
- 表示层:添加加密/压缩信息(头部)。
- 会话层:添加会话控制信息(头部)。
- 传输层:添加 TCP/UDP 头部(含端口号、序列号等)→ 形成 段(Segment)。
- 网络层:添加 IP 头部(含源/目标 IP 地址)→ 形成 包(Packet)。
- 数据链路层:添加 帧头(含 MAC 地址) 和 帧尾(CRC 校验) → 形成 帧(Frame)。
- 物理层:将帧转换为 比特流(Bits) 通过物理介质传输。
层 动作 数据单元变化 添加的控制信息 应用层 生成原始数据 用户数据 - 表示层 加密/压缩数据 + 表示层头 编码类型、加密算法 会话层 建立会话逻辑 + 会话层头 会话ID、同步点 传输层 分割数据、保障可靠性 段(Segment) 源/目的端口号、序列号(TCP) 网络层 逻辑寻址与路由 包(Packet) 源/目的IP地址(IP头) 数据链路层 物理寻址、成帧 帧(Frame) 源/目的MAC地址、帧尾(CRC) 物理层 转换为比特流 比特(Bits) 电气信号、时钟同步 -
**解封装:**数据从低层向高层传递时,每层移除本层控制信息并处理
- 物理层:接收比特流,重组为帧。
- 数据链路层:
- 检查帧尾的 CRC 校验码,验证数据完整性。
- 移除帧头和帧尾,提取包(Packet)交给网络层。
- 网络层:
- 检查 IP 头部中的目标 IP 地址(判断是否发给本机)。
- 移除 IP 头部,提取段(Segment)交给传输层。
- 传输层:
- 根据 TCP/UDP 头部中的端口号,确定目标应用程序。
- 重组乱序或重传丢失的段,移除传输层头部,将数据交给会话层。
- 会话层:管理会话逻辑(如恢复中断的会话)。
- 表示层:执行解密/解压缩操作。
- 应用层:将原始数据传递给应用程序(如浏览器显示网页)。
层 动作 数据单元变化 移除/使用的控制信息 物理层 接收比特流重组为帧 比特 → 帧 解析时钟同步信号 数据链路层 校验帧完整性 帧 → 包 验证MAC地址、CRC校验 网络层 检查IP地址、路由转发 包 → 段 解析IP地址(判断是否接收) 传输层 重组数据、保障顺序 段 → 会话层数据 通过端口号交给对应应用 会话层 维护会话连续性 移除会话层头 恢复中断的会话(如文件续传) 表示层 解密/解压数据 移除表示层头 还原原始编码格式 应用层 交付最终数据 移除应用层头 应用程序读取数据(如网页)
TCP/IP参考模型
OSI参考模型的诞生为清晰的理解互联网络、开发网络产品和网络设计等带来了极大的方便。但是由于OSI过于复杂,难以完全实现;OSI各层功能具有一定的重复性,效率较低;再加上OSI参考模型提出时,TCP/IP协议已逐渐占据主导地位,因此OSI参考模型并没有流行开来,也从来没有存在一种完全遵守OSI参考模型的协议族。
TCP/IP是一个真正的开放系统,因为协议族的定义及其多种实现可以免费或花很少的钱获得。它已经成为“全球互联网”或“因特网”的基础协议族。
与OSI参考模型一样,TCP/IP也采用层次化结构,每一层负责不同的通信功能。但是TCP/IP协议简化了层次设计,只分为4层——应用层、传输层、网络层和网络接口层。
一、应用层(Application Layer):
- 功能:
- 为应用程序(浏览器、邮件客户端等)提供网络服务接口。
- 整合了OSI模型中应用层、表示层、会话层的功能(如加密、会话管理由应用层协议直接处理)。
- 典型协议:
- HTTP/HTTPS:网页传输(80/443端口)
- DNS:域名解析(53端口)
- SMTP/POP3:邮件收发(25/110端口)
- FTP:文件传输(21端口)
二、传输层(Transport Layer):
- 核心职责:
- TCP:面向连接、可靠传输(三次握手、丢包重传、流量控制)。
- UDP:无连接、高效传输(适用于实时视频、DNS查询)。
- 关键机制:
- 端口号:区分同一主机上的不同应用(如
80
→Web服务,53
→DNS)。 - 多路复用/分解:多个应用共享同一网络连接。
- 端口号:区分同一主机上的不同应用(如
三、网络层(Network Layer):
- 核心协议:
- IP协议:逻辑寻址(IPv4/IPv6地址)、路由选择(路由器工作在此层)。
- ICMP:网络诊断(如
ping
、traceroute
)。 - ARP:将IP地址解析为MAC地址。
- 无连接设计:
- 数据包独立路由(可能乱序到达),可靠性由传输层(TCP)保障。
四、网络接口层(Network Interface Layer):
- 功能:
- 将IP包封装为本地网络能识别的帧(如以太网帧)。
- 物理寻址(MAC地址)、错误检测(CRC校验)。
- 技术示例:
- 以太网(有线局域网)
- 802.11(Wi-Fi无线网络)
- PPP(拨号/点对点连接)
OSI与TCP/IP模型对比分析
分层结构对比
功能描述 | OSI 模型 (7层) | TCP/IP 模型 (4层) | 主要协议示例 (TCP/IP) |
---|---|---|---|
用户交互、应用程序数据 | 7. 应用层 | ||
应用间通信、数据表示/加密 | 6. 表示层 | 4. 应用层 | HTTP, HTTPS, FTP, SMTP, POP3, IMAP, DNS, SSH, Telnet |
建立、管理、终止会话 | 5. 会话层 | ||
端到端可靠/不可靠传输 | 4. 传输层 | 3. 传输层 | TCP (可靠), UDP (不可靠) |
逻辑寻址、路由选择 | 3. 网络层 | 2. 网络层 | IP, ICMP, IGMP, ARP (有时被认为在链路层), RIP, OSPF |
物理寻址、成帧、介质访问 | 2. 数据链路层 | 1. 网络接口层 | Ethernet (MAC), PPP, Wi-Fi (802.11), Frame Relay |
物理介质、比特流传输 | 1. 物理层 |
TCP/IP vs OSI 模型核心差异
特性 | TCP/IP模型 | OSI模型 |
---|---|---|
设计目标 | 解决实际网络互联问题(源于ARPANET) | 理论化通用标准(理想化分层) |
层数 | 4层(简化结构) | 7层(精细划分) |
上三层处理 | 合并为应用层 | 拆分为应用层、表示层、会话层 |
下两层处理 | 合并为网络接口层 | 拆分为数据链路层、物理层 |
实际应用 | 互联网事实标准 | 教学/理论分析为主 |
协议绑定 | 紧密绑定TCP/IP协议栈 | 独立于具体协议 |