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

网络通信模型对比:OSI与TCP/IP参考模型解析

网络通信模型对比:OSI与TCP/IP参考模型解析

OSI参考模型

OSI模型是对发生在网络设备间的信息传输过程的一种理论化描述,它仅仅是一种理论模型,并没有定义如何通过硬件和软件实现每一层功能。

OSI参考模型很重要的一个特性就是其分层体系结构。分层设计可以将庞大而复杂的问题转化为若干较小且易于处理的子问题。将复杂的网络通信过程分解到各个功能层次,各个层次的设计和测试相对独立。

OSI七层模型具有以下优点:

  1. 开放的标准化接口。
  2. 多厂商兼容性。
  3. 易于理解、学习和更新协议标准。
  4. 实现模块化工程,降低了开发实现的复杂度。
  5. 便于故障排除。
一、物理层(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(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:网络诊断(如 pingtraceroute)。
    • 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协议栈独立于具体协议
http://www.dtcms.com/a/276455.html

相关文章:

  • 《Java Web程序设计》实验报告三 使用DIV+CSS制作网站首页
  • ServiceNow Portal前端页面实战讲解
  • [案例八] NX二次开发长圆孔的实现(支持实体)
  • C++中Lambda表达式 [ ] 的写法
  • Redis面试精讲 Day 1:Redis核心特性与应用场景
  • 浅谈 Python 中的 yield——生成器对象与函数调用的区别
  • 2025必问46道软件测试面试题(答案+文档)
  • Armstrong 公理系统深度解析
  • 网络安全初级第一次作业
  • super task 事件驱动框架
  • Openpyxl:Python操作Excel的利器
  • 浅谈npm,cnpm,pnpm,npx,nvm,yarn之间的区别
  • Python 数据建模与分析项目实战预备 Day 3 - 特征工程基础与数据预处理(针对简历结构化数据)
  • 使用iso制作ubuntu22.04docker镜像
  • 处理日期与时间
  • 【嵌入式电机控制#13】PID参数整定的全面步骤
  • ClickHouse 25.6 版本发布说明
  • 【华为机试】HJ68 成绩排序
  • 从0设计一个短链接服务:如何实现尽可能短、可变长的短网址系统?
  • 过拟合 跷跷板 幻觉 混合精度
  • 计算机毕业设计springboot影视周边推荐系统 基于SpringBoot的电影衍生品智能推荐平台 JavaWeb实现的影视文化周边个性化服务系统
  • git版本发布
  • 黑客工具Nessus介绍及其安装使用教程
  • 使用Kali Linux hydra进行密码爆破(仅供学习)
  • 质量属性场景(Quality Attribute Scenario)深度解析
  • mybatis模糊匹配采用concat与#{},动态sql讲解
  • 模拟专家协作网络——重塑LLM专业内容生成
  • C语言基础知识--枚举
  • 商业智能(BI)系统深度解析
  • Matlab R2024b下载及详细安装教程,附中文免费Matlab安装包(含离线帮助文档)