七层、四层和五层网络模型区别和联系
七层、四层和五层网络模型区别和联系
- 概述
- OSI网络7层模型(概念型框架)
- 概述
- 图片分析
- 四层模型
- 概述
- 常用协议
- OSI与TCP/IP四层的区别
- 五层模型
- 概述
- 三种网络模型对比
- 总结
概述
网络模型-七层模型(OSI模型)、五层协议体系结构和TCP/IP四层模型-之间存在一定的联系和演变关系。
七层模型(OSI模型)是最早提出的一种通信参考模型,目的是为了在不同厂商的网络设备之间实现互操作性。它定义了计算机网络中不同层次的功能和职责,并将网络通信分为七个层次。然而,七层模型在实际应用中较为复杂,没有广泛采用。
五层模型
TCP/IP 模型定义了应用层、传输层、网际层、网络接口层这四层网络结构,但并没有给出网络接口层的具体内容,因此在学习和开发中,通常将网络接口层替换为 OSI 七层模型中的数据链路层和物理层来进行理解,这就是五层网络模型
四层模型
TCP/IP是一个四层的体系结构,他包括(从下到上顺序):网络接口层、网际层(用网际层这个名字是强调这一层是为了解决不同的网络的互联问题)、运输层、应用层。不过从实质上讲,TCP/IP只有最上面的三层,因为最下面的网络接口层并没有具体内容。
OSI网络7层模型(概念型框架)
概述
OSI模型,全称为开放系统互联通信参考模型(Open Systems Interconnection),是国际标准化组织(ISO)在20世纪70年代提出的一种网络通信参考模型。它将网络通信过程分为七个层次,每个层次都有其特定的功能和职责。以下是OSI模型的七个层次:
物理层(Physical Layer):负责传输比特流,处理物理连接、电压等物理细节。它定义了数据在传输媒介上的传输方式,如电缆、光纤等。
数据链路层(Data Link Layer):负责建立和管理数据帧,进行错误检测和纠正。它将原始比特流划分为数据帧,并通过物理地址(MAC地址)来寻址和识别设备。
网络层(Network Layer):负责寻址和路由功能,实现不同网络之间的数据包转发。它定义了网络地址(IP地址)和路由选择的机制,以便确保数据能够从源主机传送到目标主机。
传输层(Transport Layer):提供端到端的可靠数据传输,确保数据按序到达目的地。它通过协议(如TCP和UDP)来管理数据的可靠性、流量控制和拥塞控制。
会话层(Session Layer):建立、管理和终止会话连接,在不同主机之间建立通信。它负责建立会话,以便在数据传输期间确保数据的完整性和一致性。
表示层(Presentation Layer):负责数据格式转换、数据压缩和加密等。它将来自应用层的数据进行编码解码和格式转换,以便能够在不同系统之间进行交流。
应用层(Application Layer):提供用户应用程序与网络之间的接口,为应用程序提供服务。它包括各种网络应用,如电子邮件、文件传输协议(FTP)、域名系统(DNS)等。
OSI模型的设计思想是将网络通信过程分解为不同的层次,每个层次专注于特定的功能,从而实现了模块化和可扩展的设计。这种分层结构使得不同厂商的网络设备可以独立开发和演进,同时也方便了网络故障排查和性能优化。同时互联网分层这样就会使得:上层的变动完全不影响下层的结构。
图片分析

自上而下进行数据加工,然后自下而上进行处理数据

四层模型
概述
TCP/IP协议是被组织成四个层次的概念模型
这四个层次是:
网络接口层(Network Interface Layer):也被称为网络访问层或链路层。它定义了计算机如何与物理网络连接,包括硬件设备、驱动程序、数据链路协议等。例如,以太网协议(Ethernet)、Wi-Fi等。
网际层(Internet Layer):网际层使用IP协议来确定数据在网络中的路径和转发方式。它负责寻址和路由,通过IP地址来标识不同主机,确保数据在不同网络之间正确传递。常见的协议有IPv4和IPv6。
传输层(Transport Layer):传输层提供端到端的数据传输服务,确保可靠性和流量控制。最常用的传输层协议是TCP(传输控制协议),它提供面向连接的可靠传输。另外还有UDP(用户数据报协议),提供无连接的传输。
应用层(Application Layer):应用层协议负责处理特定应用程序的通信需求。这些协议包括HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等。应用层协议使用下层提供的服务,完成数据的发送、接收和处理。
TCP/IP模型是互联网通信所采用的标准模型,每个层次都有其特定的功能,从物理连接到应用程序之间提供了一系列的协议和服务。与OSI模型相比,TCP/IP模型将七层模型的会话层、表示层融合到应用层中,并没有独立的会话和表示层。

常用协议
TCP/IP协议族是一组用于互联网通信的协议,包括了多个常用协议。以下是其中一些常用的协议:
IP(Internet Protocol):IP协议是TCP/IP协议族中最重要的协议之一,负责在网络中传输数据包,并通过IP地址唯一标识主机和网络。
TCP(Transmission Control Protocol):TCP协议是一种面向连接的、可靠的传输协议,提供可靠的数据传输、流量控制和拥塞控制机制。
UDP(User Datagram Protocol):UDP协议是一种无连接的传输协议,提供了无需建立连接的快速传输,适用于实时应用或不需要可靠性的场景。
HTTP(Hypertext Transfer Protocol):HTTP协议是一种应用层协议,用于在Web上传输超文本数据。它是Web页面和浏览器之间的主要通信协议。
FTP(File Transfer Protocol):FTP协议是一种用于在网络上传输文件的协议,支持文件的上传、下载、删除等操作。
SMTP(Simple Mail Transfer Protocol):SMTP协议是一种用于电子邮件传输的协议,负责发送和接收邮件。
DNS(Domain Name System):DNS协议用于将域名(如www.example.com)解析为IP地址,实现域名和IP地址之间的转换。
ARP(Address Resolution Protocol):ARP协议用于将IP地址解析为物理硬件地址(MAC地址),以实现在局域网中的通信。
这些是TCP/IP协议族中常用的协议,它们共同构成了互联网通信的基础。每个协议都有不同的功能和用途,通过相互配合,实现了可靠、高效的数据传输和应用服务。
OSI与TCP/IP四层的区别
OSI七层模型和TCP/IP四层模型的区别

-
OSI定义了服务、接口、分层、协议的概念,TCP/IP借鉴了OSI的这个概念建立了TCP/IP模型。
-
OSI先有模型,后有协议,先有标准,后进行实践,而TCP/IP则相反。
-
OSI是一种理论模型,而TCI/IP已经被广泛使用,成为网络互连实际上的标准。
-
TCP/IP模型更贴近实际的互联网协议,因为它是根据实际的互联网协议族进行设计的,而OSI模型则更加抽象和通用。
-
TCP/IP模型中的传输层包含了可靠性传输的TCP协议和无连接传输的UDP协议,而在OSI模型中,这些功能分别分配给了传输层和会话层。
五层模型
概述
五层体系结构包括:应用层、运输层、网络层、数据链路层和物理层。五层协议只是OSI和TCP/IP的综合,实际应用还是TCP/IP的四层结构。下图展示的是OSI模型,TCP/IP模型,五层模型的关系。
五层协议的网络体系结构是为了方便学习计算机网络原理而采用的,综合了OSI七层模型和TCP/IP的四层模型而得到的五层模型。
三种网络模型对比

总结
五层协议的体系结构只是为介绍网络原理而设计的,实际应用还是TCP/IP四层体系结构。而七层模型(OSI模型)则提供了一种更为细致的分层结构,用于理解和设计各个层次的功能和协议。
总之,这三个模型都是为了帮助理解和组织网络通信而设计的,它们之间存在着一定的联系和演变关系,但各自强调的层次和细节不同。
参考文章
文章一
文章二
文章三
相关文章:
七层、四层和五层网络模型区别和联系
七层、四层和五层网络模型区别和联系 概述OSI网络7层模型(概念型框架)概述图片分析 四层模型概述常用协议OSI与TCP/IP四层的区别 五层模型概述三种网络模型对比 总结 概述 网络模型-七层模型(OSI模型)、五层协议体系结构和TCP/IP…...
RH1288V3 - 初识物理服务器
如果你拥有一台物理服务器(不是云服务器) 个人比较推荐你用物理服务器,虽然性能会比云要来的差,但是不用每月交钱上。云服务固然方便,但是几个核的性能和一点存储,想做一个动漫网站固然要很多mp4这种影视资源,云服务器…...
excel中如果A列中某项有多条记录,针对A列中相同的项,将B列值进行相加合并统计
excel中如果A列中某项有多条记录,针对A列中相同的项,将B列值进行相加合并统计。注意:B列的数据类型要为数字 如: 实现方法: C1、D1中分别输入公式,然后下拉 IF(COUNTIF($A$1:A1,A1)1, A1,"") …...
开发智能应用的新范式:大数据、AI和云原生如何构建智能软件
文章目录 1.利用大数据实现智能洞察2. 集成人工智能和机器学习3. 云原生架构的弹性和灵活性4. 实现实时处理和响应5. 数据安全和隐私保护6. 可解释性和透明性7. 持续创新和迭代8. 数据伦理和合规性 🎈个人主页:程序员 小侯 🎐CSDN新晋作者 &a…...
淘宝免费爬虫数据 商品详情数据 商品销售额销量API
场景:一个宽敞明亮的办公室,一位公司高管坐在办公桌前。 高管(自言自语):淘宝,这个平台上商品真是琳琅满目,应该有不少销售数据吧。我该怎么利用这些数据呢? 突然,房间…...
Markdown初级使用指南
前言 大家好,我是艾老虎尤,我在一篇官方的文章中,我了解到了markdown,原本我写博客一直是使用的富文本编译器,之前我也有同学叫我使用MD,但是我嫌它复杂,就比如说一个标题,我在富文…...
国际版阿里云/腾讯云CDN装备运用教程:加快网站拜访速度
阿里云CDN装备运用教程:加快网站拜访速度 本文旨在为读者供给一个关于阿里云CDN的简要教程。咱们将介绍阿里云CDN的基本概念、资源加快过程、同步资源设置以及与阿里云OSS目标存储的结合。期望经过这篇教程,读者能够更好地了解和利用阿里云CDN服务&…...
面试之快速学习计算机网络-http
1. HTTP常见状态码 2. 3开头重定向,4开头客户端错误,5开头服务端错误 2. HTTP 报文 1. start-line:请求行,可以为以下两者之一: 请求行: GET /hello-world2.html HTTP/1.1状态行:HTTP/1.1 200…...
2023水果编曲软件fl studio 21.1.0 .3713官方中文直装破解版
fl studio 21.1.0 .3713官方中文直装破解版是一个完整的软件音乐制作环境或数字音频工作站(DAW)。它代表了 25 多年的创新发展,将您创作、编曲、录制、编辑、混音和掌握专业品质音乐所需的一切集于一身。 fl studio 21.1.0 .3713官方中文直装…...
【微信小程序】页面路由跳转函数之间的区别
微信小程序开发系列 文章目录 前言一、介绍1.wx.switchTab(Object object)2.wx.reLaunch(Object object)3.wx.redirectTo(Object object)4.wx.navigateTo(Object object)5.wx.navigateBack(Object object) 前言 在开发微信小程序中基本都会用到页面跳转,微信小程序…...
Ubuntu inotify
inotify 是一个用于监视文件系统事件的机制。它允许你监视文件或目录的变化,如文件的创建、修改、删除、移动等,以及目录的访问权限变化。 安装 在 Ubuntu 中,你需要安装 inotify-tools 包,这是一个包含 inotifywait 和 inotifywatch 等实用工具的软件包。你可以使用以下命…...
开始MySQL之路——MySQL的DataGrip图形化界面
下载DataGrip 下载地址:Download DataGrip: Cross-Platform IDE for Databases & SQL 安装DataGrip 准备好一个文件夹,不要中文和空格 C:\Develop\DataGrip 激活DataGrip 激活码: VPQ9LWBJ0Z-eyJsaWNlbnNlSWQiOiJWUFE5TFdCSjBaIiwibGl…...
C++ STL 标准模板库
C STL 标准模板库 标准容器 顺序容器 vector vector 向量容器 底层数据结构:动态开辟的数组,每次以原来空间大小的2倍进行扩容。采用allocator进行空间开辟和释放,对象创建和析构的分离。具体如C模板学习笔记中简要实现C中的vector。 增…...
C#-集合小例子
目录 背景: 过程: 1.添加1-100数: 2.求和: 3.平均值: 4.代码: 总结: 背景: 往集合里面添加100个数,首先得有ArrayList导入命名空间,这个例子分为3步,1.添加1-100个数2.进行1-100之间的总和3.求总和的平均值&…...
git保存删除的文件
查看pg源码的函数具体内容: https://doxygen.postgresql.org/resowner_8h.html#a7f01c9e9f97849f2859feabd913de1f8 git add 添加了多余文件 git add . 表示当前目录所有文件,不小心就会提交其他文件 git add 如果添加了错误的文件的话 撤销操作 g…...
【golang】go语句执行规则(goroutine)(下)
怎样才能让主goroutine等待其他goroutine? 上篇文章提到,一旦主 goroutine 中的代码执行完毕,当前的 Go 程序就会结束运行,无论其他的 goroutine 是否已经在运行了。那么,怎样才能做到等其他的 goroutine 运行完毕之后…...
websocket 接收消息无法获取用户id
1.遇到问题 公司项目是基于ruoyi 框架快速搭建开发,使用多线程搜索查询,所以以用户区分任务,保证可以搜索任务和取消搜索,所以我这需要获得用户id,使用 SecurityUtils 共工工具类从请求头获取token,然后解…...
springboot通过sharding-dbc按年、月分片
目录 springboot通过sharding-dbc按年、月分片 1、引入pom依赖 2、application.yml配置 3、分片算法 4、注意事项 1、引入pom依赖 <!--shardingjdbc分片,和Druid不兼容,如果不使用sharding则需要注释--><dependency><groupId>org.…...
基于静电放电算法优化的BP神经网络(预测应用) - 附代码
基于静电放电算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于静电放电算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.静电放电优化BP神经网络2.1 BP神经网络参数设置2.2 静电放电算法应用 4.测试结果:5…...
开发者插件推荐FeHelper
开发者巨好用的插件、有很多功能比如json美化、对比,二维码/解码,图片转Base64,时间戳转换等 一、下载插件 1、打开网址:FeHelper - Awesome(建议用谷歌打开); 2、选择要下载的版本,…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...
Vue 3 + WebSocket 实战:公司通知实时推送功能详解
📢 Vue 3 WebSocket 实战:公司通知实时推送功能详解 📌 收藏 点赞 关注,项目中要用到推送功能时就不怕找不到了! 实时通知是企业系统中常见的功能,比如:管理员发布通知后,所有用户…...
Python环境安装与虚拟环境配置详解
本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...
