计算机网络的OSI七层模型
目录
1、OSI七层模型是什么
1.1 物理层(Physical Layer)
1.2 数据链路层(Data Link Layer)
1.3 网络层(Network Layer)
1.4 传输层(Transport Layer)
1.5 会话层(Session Layer)
1.6 表示层(Presentation Layer)
1.7 应用层(Application Layer)
2、七层模型图示
3、tcp与udp的位置及其区别
3.1 tcp与udp的位置
3.2 tcp与udp的区别
小结:
1、OSI七层模型是什么
计算机网络的七层模型是指OSI(Open System Interconnection)参考模型,它被国际标准化组织(ISO)制定,并于1984年正式发布。该模型将计算机网络通信协议分为七层,该模型目的是将复杂的网络通信问题划分为更小、更容易管理的部分,每一层负责不同的功能,分别是:
1.1 物理层(Physical Layer)
负责传输比特流,即0和1的数据流,这一层关注数据传输的物理特性,如电压、电流、频率等。这一层的数据单位叫做比特(bit)。
物理层是OSI七层模型中最底层的部分,主要负责将数字数据转换成适合在通信信道中传输的信号。物理层直接和物理介质相关,主要定义了相关物理设备的标准(网卡,网线,集线器,中继器,调制解调器等)。
1.2 数据链路层(Data Link Layer)
负责将物理层传输的比特流组织成➡帧(Frame),并进行错误检测和纠正,以保证数据无误地传输。
因为数据链路层是 OSI 模型中最复杂的一层,所以它通常被分成两部分: 媒体访问控制子层和逻辑链路控制子层。数据链路层的协议是由底层网络定义的。在物理层传输的比特序列被组合成字节,进而组合成帧。数据链路层使用MAC地址访问介质,可以发现错误,但不能纠正。
图片来源:计算机网络 – 七层模型概述 – 前端教程
1.3 网络层(Network Layer)
负责实现不同网络之间的互联,提供路由选择和寻址等功能,以保证数据能够正确地传递到目标网络中。网络层在数据链路层之上增加了路由的概念。每当数据抵达网络层时,就会检查每个帧中包含的源地址和目标地址,以确定数据是否已到达其最终目的地。如果数据已经到达最终目的地,第3层就会将数据格式化并打包为数据包交付给下一层运输层,否则网络层会更新目的地址并将帧推送到下层。

图片来源:计算机网络 – 七层模型概述 – 前端教程
互联网是由无数子网络构成的巨型网络,为了避免在同一网段内的广播风暴,需要将用户划分到不同的网段,使得每个用户都能在自己的小网段内进行广播。为了实现这个目的,在网络层引入了一套新的地址系统,称为“网络地址”或“网址”。每台计算机在网络层拥有两种地址:MAC地址和网络地址。MAC地址是网卡固有的地址,而网络地址则是由网络管理员分配的。网络地址用于区分不同的子网络,而MAC地址将数据包送达目标子网络内的特定网卡。
为了支持路由,网络层需要一个维护逻辑地址,比如网络设备的IP地址。网络层还管理着这些逻辑地址和物理地址之间的映射,在IPv4网络中,这种映射通过地址解析协议(ARP)完成,IPv6使用邻居发现协议(NDP)。
1.4 传输层(Transport Layer)
负责将数据可靠地传输到目标主机的应用程序中,提供端到端的数据传输服务。传输层通过网络连接传输数据。传输层在网络通信过程中起着至关重要的作用,主要负责定义端口号、流量控制和校验。TCP(传输控制协议)和 UDP(用户数据报协议)是传输层比较常见且有代表性的协议。
- TCP协议是一种面向连接的、可靠的协议。它通过三次握手和四次挥手的过程来确保数据传输的可靠性(可靠协议)。然而,这种可靠性的保证会以速度为代价,因为三次握手和四次挥手会增加通信的开销。尽管如此,TCP协议在很多场景下仍然是首选,如文件传输、电子邮件发送和Web浏览等。
- 与TCP相比,UDP协议更注重实时性和高效性。由于UDP没有进行三次握手和四次挥手的过程,因此它的稳定性相对较低,但传输速度较快。这使得UDP协议非常适用于对实时性和低延迟性有较高要求的场景,如在线游戏、实时音视频通信和直播等。
1.5 会话层(Session Layer)
负责建立、维护和关闭应用程序之间的会话,为应用程序提供可靠的数据传输和错误处理机制。在网络通信中负责创建、维护、终止或断开发送方和接收方之间的连接,类似于电话通话的过程。它为发送方和接收方提供了一种机制,允许他们在需要时启动或停止通信会话,并在通信过程中遇到拥塞的情况下仍能维持对话。它支持多种类型的连接,这些连接可以动态地创建并在单个网络上运行。
1.6 表示层(Presentation Layer)
主要是进行消息数据的语法处理,负责数据的格式转换、加密解密和压缩解压缩等操作,以保证应用程序能够正确地读取和处理数据。也常被称为“报文”。
1.7 应用层(Application Layer)
应用层为终端用户使用的应用提供网络服务(处理用户数据的协议)。举个例子,在Web浏览器应用程序中,应用层协议HTTP打包发送和接收网页内容所需的数据。同时应用层也会向表示层提供或获取数据。该层负责提供网络应用程序所需的服务,例如电子邮件、文件传输、远程登录等。
它是网络模型中与用户最接近的一层,为用户提供了直接的网络服务和应用接口。应用层处理了诸多网络协议,以满足用户在各种场景下的需求。以下是一些常见的应用层协议及其用途:
- HTTP(超文本传输协议):HTTP 是用于在互联网上进行文档和资源传输的基本协议。例如,当我们使用浏览器访问网页时,就是通过 HTTP 协议进行通信的。在 Web 开发中,AJAX 请求也是基于 HTTP 协议发送的。
- DNS(域名系统):DNS 是用于将域名解析成 IP 地址的服务,它将便于人们记忆的域名转换为计算机可识别的 IP 地址。例如,当我们在浏览器中输入一个网址时,DNS 会将该网址转换为实际的 IP 地址,以便正确访问目标网站。
- SMTP(简单邮件传输协议):SMTP 是一种用于在网络上发送和接收电子邮件的协议。当我们使用电子邮件客户端或 Web 邮件服务发送邮件时,就是通过 SMTP 协议进行通信的。
- WebSocket:WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,用于实现客户端和服务器之间的长连接。例如,在实时聊天、在线游戏或股票行情推送等场景中,WebSocket 可以提供低延迟、高效的数据传输。
- SSH(安全外壳协议):SSH 是一种用于在不安全的网络环境中对远程服务器进行安全访问和管理的加密协议。它可以保护数据在传输过程中的完整性、机密性和可靠性,广泛应用于远程登录、文件传输等场景。(片段引自:计算机网络 - 七层模型概述 - 掘金)
2、七层模型图示

图片来源:网络七层模型-CSDN博客
3、tcp与udp的位置及其区别
3.1 tcp与udp的位置
TCP和UDP都是传输层协议,处于OSI参考模型的第四层。在TCP/IP协议栈中,TCP和UDP也位于网络层和应用层之间,负责提供端到端的数据传输服务。其中,TCP是一种面向连接的协议,提供可靠的数据传输服务,而UDP则是一种无连接的协议,提供不可靠但高效的数据传输服务。由于UDP比较简单,UDP头包含很少的字节,比TCP负载消耗少。
3.2 tcp与udp的区别
TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种常用的传输层协议,它们之间有以下几点区别:
-
连接导向 vs 无连接:TCP是一种面向连接的协议,通信双方在传输数据前需要先建立连接,然后再进行数据传输,最后释放连接;而UDP是无连接的,通信双方直接发送数据包,不需要建立连接。
-
可靠性:TCP提供可靠的数据传输,通过序号、确认和重传机制来确保数据的完整性和顺序性;而UDP不提供可靠性保证,数据包可能会丢失或者乱序到达。
-
拥塞控制:TCP具有拥塞控制机制,可以根据网络情况动态调整传输速率,以避免网络拥塞;UDP没有拥塞控制机制,数据包会以最大速率发送,可能导致网络拥塞。
-
数据量限制:TCP没有固定的数据包大小限制,可以根据需要动态调整;而UDP有固定的数据包大小限制,每个数据包的大小都有一个上限。TCP的头部开销大,UDP的头部开销小。
-
应用场景:TCP是面向字节流的,UDP是面向报文的。TCP适用于要求可靠传输、顺序传送的应用,如文件传输、邮件等;UDP适用于实时性要求高、可以容忍少量数据丢失的应用,如音频、视频流等。
总的来说,TCP和UDP各有优势,适用于不同的应用场景。TCP适合对数据可靠性要求高的场景,而UDP适合对实时性要求高的场景。在实际应用中,根据具体需求选择合适的协议非常重要。
小结:
尽管OSI七层模型在理论上得到了广泛的认可和应用,但在实际的网络实现中,它并没有得到广泛的采用。TCP/IP协议族,最早由美国国防部高级研究计划署(DARPA)在20世纪70年代开发,成为了互联网的基石。TCP/IP模型采用了一个更简化的四层架构,即:链路层、网络层、传输层和应用层。

图片来源:计算机网络 – 七层模型概述 – 前端教程
就算如此,OSI七层模型仍然是计算机网络领域的重要理论基础。这七层模型的设计目的是为了提供一个标准的参考框架,使不同厂商和组织开发的计算机网络能够相互兼容和互通。同时,该模型也有助于理解和分析网络通信协议的工作原理和功能。它有助于理解不同协议和设备如何相互协作,并为网络故障排查、性能优化等提供了有用的参考框架。
参考:
计算机网络 - 七层模型概述 - 掘金
简单图解OSI七层网络模型
网络七层结构是干啥的?看这篇文章就够了 - 知乎
网络七层模型-CSDN博客
ISO的七层模型是什么?tcp/udp属于哪一层?tcp/udp有哪些优缺点?tcp/udp的使用场合?PPP协议属于哪一层协议?_tcp哪一层-CSDN博客
TCP和UDP的区别_ZJE_ANDY的博客-CSDN博客
【精选】计算机网络七层模型OSI_计网七层模型_coding-day的博客-CSDN博客
感谢阅读,码字不易,多谢点赞!如有不当之处,欢迎反馈指出,感谢!

相关文章:
计算机网络的OSI七层模型
目录 1、OSI七层模型是什么 1.1 物理层(Physical Layer) 1.2 数据链路层(Data Link Layer) 1.3 网络层(Network Layer) 1.4 传输层(Transport Layer) 1.5 会话层(S…...
如何一次性解压多个文件
第一步:多选压缩包 第二步:右键解压即可 一句话,单个怎么解压,多个就怎么解压,只不过先选中 参考:如何一次性解压多个文件...
类和对象学习笔记
类和对象 类的定义this指针类的6个默认成员函数构造函数析构函数拷贝构造函数赋值运算符重载赋值运算符重载运算符重载const成员 取地址操作符重载const取地址操作符重载 初始化列表explicit关键字static成员匿名对象友元内部类拷贝对象时编译器的优化 类的定义 c类的定义形式…...
Linux程序之可变参数选项那些事!
一、linux应用程序如何接收参数? 1. argc、argv Linux应用程序执行时,我们往往通过命令行带入参数给程序,比如 ls /dev/ -l 其中参数 /dev/ 、-l都是作为参数传递给命令 ls 应用程序又是如何接收这些参数的? 通常应用程序都…...
【1day】泛微e-office OA系统user_page接口未授权访问漏洞学习
注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现...
Midjourney绘画提示词Prompt参考教程
Midjourney绘画提示词Prompt参考教程:无需魔法使用。 一、AI工具 SparkAi: SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常…...
Altium Designer学习笔记6
原理图库的制作,SMA元件的制作: 图形不是很重要,重要的是管脚的功能。 Design Item ID和Designator两个值是要注意的。 进行Place放置,切换到原理图工作区,测试下功能。 AD9851元件库制作: 不需要再新建原…...
【问题解决】Maven密码加密
普通的maven部署方式是把maven私服的账号密码以明文的方式配置在settings.xml文件中 <server><id>deploymentRepo</id><username>xxx</username><password>123</password></server> 这种方式的配置很容易被别人看到从而泄漏…...
vue3基于vite打包
大的js和css打包成:gzip npm install vite-plugin-compression 在vite.config.ts中配置: import viteCompression from vite-plugin-compressionplugins:[viteCompression({verbose:true,//控制台输出压缩结果disable:false,//开启还是禁用threshold:…...
前端使用JWT时无法获取Authorization请求头
是因为后端没有解决跨域问题: 补充下面的代码即可 response.setHeader("Access-Control-Expose-Headers", "Authorization");...
postman定义公共函数这样写,测试组长直呼牛逼!!!
postman定义公共函数 在postman中,如下面的代码: 1、返回元素是否与预期值一致 var assertEqual(name,actual,expected)>{tests[${name}:实际结果: ${actual} , 期望结果:${expected}]actualexpected…...
单元测试实战(六)其它
为鼓励单元测试,特分门别类示例各种组件的测试代码并进行解说,供开发人员参考。 本文中的测试均基于JUnit5。 单元测试实战(一)Controller 的测试 单元测试实战(二)Service 的测试 单元测试实战&am…...
jmeter 主从配置
配置 主从需要在同一子网。 可以修改从机的端口,主要是防火墙的原因,这样就可以在防火墙只配置一个端口,如果没有防火墙,可以不用配置 server_port1099 server.rmi.localport1099 centos防火墙开端口 sudo firewall-cmd --zonep…...
4
【任务 1】容器云平台搭建[5 分] 【题目 1】平台部署–部署容器云平台[1.5 分] 【题目 2】平台部署–部署 Istio 服务网格[0.5 分] 【题目 3】平台部署–部署 KubeVirt 虚拟化[1 分] 【题目 4】平台部署–部署 Harbor 仓库及Helm 包管理工具[1 分] 【题目 5】集群管理–备份 ET…...
C++ Day04 this指针,友元函数,重载
this指针 概念 谁调用 this 所在的函数 ,this 就存储谁的地址 特点 1, 在当前类的非静态成员函数中调用本类非静态成员时 , 默认有 this 关键字 2, 静态成员函数 , 没有 this 指针。 示例 #include <iostream> #include <cstring> using namespace std; class S…...
2023做车载测试真的可以远离内耗!转行车载月入20K!
2023年,车载测试正处于一个发展阶段,随着新能源汽车的蓬勃发展,电气化、智能化逐渐成为发展趋势。在汽车开发过程中,测试是非常重要的一个环节。现在软件越来越多地被应用到汽车上,对软件测试的需求也越来越多、越来越…...
LINUXZ
10.6.2 AT24C02 访问方法 设备地址 从芯片手册上可以知道,AT24C02 的设备地址跟它的 A2、A1、A0 引脚有关: 图 10.36 AT24C02 设备地址引脚配置 294 / 577 打开 I2C 模块的原理图: 开发板配套网盘资料\04_开发板原理图\ 04_Extend_modules\通…...
C#单例模式懒汉式与饿汉式
单例模式一般分为懒汉模式和饿汉模式,懒汉式单例在第一次引用时创建实例,不是在类加载时;饿汉式单例模式是一种在类加载时就创建实例的方式,因此也称为静态初始化。 单例模式实现的技巧时构造私有,向外提供静态实例。…...
小微初创企业,如何利用媒体宣传快速成长
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 对于小微初创企业来说,利用媒体宣传可以快速提升品牌知名度、扩大影响力,进而促进企业的成长。 1.确定宣传目标:是增加销售、提升品牌知名度、还是推…...
【封装UI组件库系列】全局样式的定义与重置
封装UI组件库系列第二篇样式 🌟前言 🌟定义全局样式 生成主题色和不同亮度的颜色 编辑 中性色及其他变量 🌟样式重置 🌟总结 🌟前言 在前端开发中,大家…...
2026指纹浏览器常见故障排查与运维实战手册
在指纹浏览器规模化应用的 2026 年,无论是企业级多账号运营,还是个人隐私防护,工具的稳定运行都是核心前提。但在实际使用过程中,受设备配置、网络环境、参数设置、平台风控迭代等多种因素影响,指纹浏览器难免出现各类…...
如何免费让Windows电脑变身苹果AirPlay接收器:3步实现iPhone投屏
如何免费让Windows电脑变身苹果AirPlay接收器:3步实现iPhone投屏 【免费下载链接】airplay2-win Airplay2 for windows 项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win 还在为Windows电脑无法接收iPhone或iPad的AirPlay投屏而烦恼吗?…...
AI驱动的代码库测绘工具Recon:为大型项目构建智能架构地图
1. 项目概述:AI驱动的代码库测绘工具如果你和我一样,每天都要面对动辄几千甚至上万个文件的代码库,那你肯定也经历过那种“迷失”的感觉。想了解一个模块的职责,得翻遍十几个目录;想重构一个功能,却不知道动…...
企业级Docker存储架构设计(含K8s节点适配):单机TB级持久化方案与IO隔离实践
更多请点击: https://intelliparadigm.com 第一章:企业级Docker存储架构设计概览 在高可用、多租户的企业生产环境中,Docker 存储架构绝非仅依赖默认的 overlay2 文件系统即可胜任。它需兼顾性能隔离、数据持久化、跨节点一致性、快照备份与…...
手把手教你用U盘搞定VMware ESXi 7.0安装,附网络配置与避坑指南
手把手教你用U盘搞定VMware ESXi 7.0安装,附网络配置与避坑指南 在个人开发者和小团队的实际工作中,搭建一个稳定高效的虚拟化环境往往能极大提升开发效率。对于预算有限但又需要灵活部署的场景,使用U盘安装VMware ESXi 7.0无疑是最经济实惠的…...
独立开发者如何利用Taotoken多模型能力打造个性化AI应用
独立开发者如何利用Taotoken多模型能力打造个性化AI应用 1. 多模型统一接入的价值 对于独立开发者和小型工作室而言,构建AI增强型应用时面临的核心挑战之一是如何平衡模型能力与开发成本。不同的大模型在创意生成、逻辑推理、代码补全等场景下表现各异,…...
【MCP 2026边缘部署性能优化黄金五步法】:20年一线架构师亲授,避开92%团队踩过的实时推理延迟陷阱
更多请点击: https://intelliparadigm.com 第一章:MCP 2026边缘部署性能优化的底层逻辑与范式跃迁 MCP 2026(Model Control Plane 2026)并非简单延续传统云原生调度范式,而是以“确定性时延契约”为第一性原理重构边缘…...
让家庭网络永不掉线:luci-app-aliddns动态域名解析终极指南
让家庭网络永不掉线:luci-app-aliddns动态域名解析终极指南 【免费下载链接】luci-app-aliddns OpenWrt/LEDE LuCI for AliDDNS 项目地址: https://gitcode.com/gh_mirrors/lu/luci-app-aliddns 你是否曾遇到过这样的尴尬时刻:出差在外急需访问家…...
如何用 cursor.continue 实现本地海量数据的分页查询加载
cursor.continue()实现分页的核心是游标递进定位而非跳过前N条,通过lastKey参数seek到指定键或更大键的下一条记录,配合索引顺序(如倒序)实现高效“下一页”加载,避免循环调用导致性能问题。用 cursor.continue() 实现…...
3步构建Windows任务栏美学:CenterTaskbar的终极桌面优化指南
3步构建Windows任务栏美学:CenterTaskbar的终极桌面优化指南 【免费下载链接】CenterTaskbar Center Windows Taskbar Icons 项目地址: https://gitcode.com/gh_mirrors/ce/CenterTaskbar 面对Windows系统原生任务栏图标左对齐带来的视觉失衡问题,…...

