计算机网络的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组件库系列第二篇样式 🌟前言 🌟定义全局样式 生成主题色和不同亮度的颜色 编辑 中性色及其他变量 🌟样式重置 🌟总结 🌟前言 在前端开发中,大家…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

