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

计算机网络 | OSI 参考模型

计算机网络 | OSI 参考模型

  • 计算机网络 | OSI 参考模型
    • 应用层
    • 表示层
    • 会话层
    • 传输层
    • 网络层
    • 数据链路层
    • 物理层

参考视频:王道计算机考研 计算机网络

参考书:《2022年计算机网络考研复习指导》

计算机网络 | OSI 参考模型

OSI 参考模型自下而上分为7层:

在这里插入图片描述

名称英文作用
应用层Application Layer直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。如HTTP、SMTP、FTP、DNS 等
表示层Presentation Layer把数据转换为能与接收者的系统格式兼容并适合传输的格式,即让两个系统可以交换信息
会话层Session Layer负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接
传输层Transport Layer负责端到端通讯,可靠传输,不可靠传输 ,流量控制,复用分用
网络层Network Layer负责选择路由最佳路径,规划 IP 地址(ipv4 和 ipv6 变化只会影响网络层),拥塞控制
数据链路层Data Link Layer帧的开始和结束,还有透明传输,差错校验(纠错由传输层解决)
物理层Physical Layer定义网络设备接口标准,电气标准(电压),如何在物理链路上传输的更快

通信过程:

在这里插入图片描述

在这里插入图片描述

应用层

在这里插入图片描述
简介:直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。

协议:HTTP、SMTP、FTP、DNS 等。

表示层

简介:把数据转换为能与接收者的系统格式兼容并适合传输的格式,即让两个系统可以交换信息。

协议:JPEG、ASCII 等。

在这里插入图片描述

会话层

简介:负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。

协议:ADSP、ASP 等。

在这里插入图片描述

传输层

简介:负责主机中两个进程的通信,即端到端通信。传输单位是报文段或用户数据报。

协议:TCP、UDP 等。

在这里插入图片描述

功能1:可靠传输、不可靠传输

  • 可靠传输:例如,传输一个大文件或者重要文件,需要发送方和接收方先通过确认机制,确认连接后,再将该文件切分层多个报文段或者用户数据报,然后逐个传输(顺序传输),当接收方成功接收到一个报文段后,发送方再发送下一个报文段,如果某个报文段发送/接收失败,则发送方重新发送,直到切分的所有报文段都被接收方接收成功。
  • 不可靠传输:例如,发送简单文件或消息时,直接把数据报发送给接收方即可,不用确认机制确认连接等流程。

功能2:差错控制

例如,当在传输文件或数据时,某些报文段丢失,或传输失序(顺序错误),这时候就需要差错控制,矫正错误。

功能3:流量控制

例如,当大量数据发送给接收方,而接收方接收数据的速率跟不上时,这时候需要数据发送方控制数据发送的量(例如减缓数据发送速率),这就叫流量控制。

功能4:复用分用

  • 复用:多个应用层进程可同时使用下面运输层的服务
  • 分用:运输层把收到的信息分别交付给上面应用层中相应的进程

在这里插入图片描述

网络层

简介:把分组从源端发送到目的端,为分组交换网上的不同主机提供通信服务。

网络层的传输单位是数据报。

协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF。

在这里插入图片描述

功能1:路由选择

选择最佳路径。

功能2:流量控制

对发送端发送数量(发送速率)的控制,如果接收端因为数据量大,接收不过来时,就会对发送端进行流量控制。

功能3:差错控制

通信两节点之间约定一些规则(比如,奇偶校验码),如果校验后,分组不满足约定的规则,则对其进行整改或者丢弃该分组(整改失败就丢弃)。

功能4:拥塞控制

其区别于流量控制(发送端),拥塞控制是在全局上进行数据发送的控制。例如:所有结点都来不及接收分组,而要丢掉大量分组的话,网络就处于拥塞状态,因此需要采取一定措施缓解这种拥塞。

数据链路层

简介:把网络层传下来的数据组装成帧。

数据链路层的传输单位是帧。

协议:SDLC、HDLC、PPP、STP。

在这里插入图片描述

功能1:成帧

定义帧的开始和结束。

功能2:差错控制

差错包括帧错和位错。发现差错后,可以丢弃错误的帧,也可以根据协议纠正错误。

数据链路层既可以查错,也可以纠错。

功能3:流量控制

例如,两个相邻节点之间传送数据时,而节点B接收数据的速率跟不上时,这时候需要节点A控制数据发送的量(例如减缓数据发送速率),这就叫流量控制。

流量控制可以协调两个节点的速率,使节点A发送数据的速率刚好是节点B可以接收的速率。

功能4:访问(接入)控制

控制对(共享)信道的访问。

物理层

简介:在物理媒体上实现比特流的透明传输。

物理层的传输单位是比特。

协议:Rj45、802.3 等。

在这里插入图片描述

功能1:定义接口特性

例如,引脚类型、引脚的连接方式。

功能2:定义传输模式

例如,单工、半双工、双工。

功能3:定义传输速率

例如,发送端的发送速率。

功能4:比特同步

利用时钟保证发送端和接收端的每一个比特的同步。

功能5:比特编码

用什么电压表示0/1。例如,曼彻斯特编码。

相关文章:

计算机网络 | OSI 参考模型

计算机网络 | OSI 参考模型 计算机网络 | OSI 参考模型应用层表示层会话层传输层网络层数据链路层物理层 参考视频:王道计算机考研 计算机网络 参考书:《2022年计算机网络考研复习指导》 计算机网络 | OSI 参考模型 OSI 参考模型自下而上分为7层&…...

uniapp 实现地图头像上的水波纹效果

最近实现了uniapp 地图头像水波纹的效果,话不多说,先来看看视频效果吧:链接 在这里具体的代码就不放出来了,还是利用了uniapp的 uni.createAnimation 方法,因为cover-view 不支持一些css 的动画效果,所以这…...

Zabbix7.0 LTS新功能

一、简介 LTS是长期支持。LTS版本支持5年。如果更喜欢稳定性,未涉及到最新的功能,可以选次新的LTS或者更低解决方案。而Zabbix6.4是最新的主要版本不属于LTS版本。 二、新功能 从以下几个方面介绍部分新功能: 性能提升:内存储存…...

充电100%并非都是美事,有时少点更有溢出!如何正确为iPhone充电

iPhone是非凡的设备,但一旦电池耗尽,它们就会失去光泽。这就是为什么照看电池内部并确保始终正确充电很重要。 在这篇文章中,我们解释了如果你想让你的iPhone每天运行到深夜,并尽可能多地保持这种状态,你需要采取的步…...

【软件测试】JUnit详解

文章目录 一. Junit是什么?二.Junit中常见的注解1. Test2. BeforeAll & AfterAll3. BeforeEach & AfterEach4. ParameterizedTest参数化5. Disabled6. Order 三. 测试套件1. 通过class运行测试用例2. 通过包运行测试用例 四. 断言 一. Junit是什么? JUnit是一个用于…...

hive统计页面停留时间

1、背景:通过业务埋点数据,统计用户在页面的停留时间 样例数据,样例数据存入表tmp, 有如下字段用户uid、动作时间戳time、页面名称pn、动作名称action SELECT 12345 AS uid, 1695613731020 AS time, 搜索 AS pn, click AS acti…...

LeetCode 24.两两交换链表中的结点

题目链接 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目解析 首先可以特判一下,如果结点数目小于等于1,则直接返回即可,因为数目小于等于1就不需要交换了。 然后我们可以创建一个虚拟的头结点,然…...

【每日一记】OSPF区域划分详讲、划分区域的优点好处

个人名片: 🐼作者简介:一名大二在校生,喜欢编程🎋 🐻‍❄️个人主页🥇:小新爱学习. 🐼个人WeChat:hmmwx53 🕊️系列专栏:&#x1f5bc…...

复旦管院启动科创战略,培养科技研发人才,引领未来发展!

今年夏天,600多位优秀的企业家成为复旦大学EMBA 2023级新生。在疫情结束后,他们选择百战归来再读书,重新回到久违的课堂,共同探索科创大时代下企业的商业本质,开启新的学习与人生旅程。复旦大学管理学院院长陆雄文教授…...

Infinity同步

...

C语言:转义字符

目录 话不多说,先上表 \n \? \ \" \\ \t \a \ddd 附一张ASCII表 \xdd 练习 话不多说,先上表 一一举例解释下哈 \n 读取到结尾标识符\0 printf("demo\n\0Zh"); // demo \? 在书写连续多个问号时使用,防止…...

为什么 0.1 + 0.1 !== 0.2

为什么 0.1 0.1 ! 0.2 总结了几个很有意思的基础题目,分享一下。 为什么 0.1 0.1 ! 0.2 看到这个问题,不得不想到计算机中的数据类型,其中浮点数表示有限的精度。那么它就无法精确的表示所有的十进制小数,所以在在某些情况下…...

超详细!主流大语言模型的技术原理细节汇总!

1.比较 LLaMA、ChatGLM、Falcon 等大语言模型的细节:tokenizer、位置编码、Layer Normalization、激活函数等。 2. 大语言模型的分布式训练技术:数据并行、张量模型并行、流水线并行、3D 并行、零冗余优化器 ZeRO、CPU 卸载技术 ZeRo-offload、混合精度训…...

本人4年测试经验,211 本科计算机专业,由于互联网裁员,然后谈谈我最近测试面试的总结

本人4年测试经验,211 本科计算机专业,由于互联网裁员,最近在 bosss 上投了些简历,测试开发岗,看看目前市场情况。 虽然都在说大环境不好,失业的人很多,我最近约面试的还是比较多的,…...

Android中级——Activity数据恢复过程

Activity数据恢复 onSaveInstanceState()onRestoreInstanceState()扩展 onSaveInstanceState() 在Activity调用onStop()之前调用会onSaveInstanceState(),如下 final void performStopActivity(IBinder token, boolean saveState, String reason) {ActivityClient…...

国内就能使用的chatgpt网页版,包含AIGC应用工具

Chatgpt的出现在多个领域带来了重要的影响。它能够显著提高我们的工作效率,无论是编写文案代码还是回答常见问题,都能在短时间内完成任务。通过Chatgpt,我们能够迅速获取所需答案。随着人工智能技术的不断发展,相信在未来AI能够带…...

Fast DDS之RTPS

目录 RTPS的使用 RTPS层实现了RTPS标准。DDS层概念映射关系如下: DDS LayerRTPS LayerDomainRTPSDomainDomainParticipantRTPSParticipantDataWriterRTPSWriterDataReaderRTPSReader RTPS的使用...

【算法|动态规划No.16】leetcode931. 下降路径最小和

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…...

Jenkins 构建时动态获取参数

文章目录 问题简介Groovy 脚本配置进阶 问题 在做jenkins项目时,有些参数不是固定写死的,而是动态变化的,这时我们可以用 Active Choices 插件来远程调用参数 问题解决方案:执行构建前使用Groovy Scrip调用本地脚本,…...

android app开机自启动

参考文章: Android APP开机启动,安卓APP开发自启动,安卓启动后APP自动启动 Android让程序开机自动运行APP_安卓应用开机启动并打开软件_weijia3624的博客-CSDN博客...

XSS CSRF

XSS & CSRF xss:跨站脚本攻击:注入一些非法的脚本 csrf:冒充身份 XSS 反射型 /welcome:res.send(req.query.type) 输入什么就输出什么(httpOnly:false,但不是解决方案) 比如:?&…...

新加坡星银行项目组笔试题面试题

Java/Fullstack___开发常见问题收集:(根据个人面试岗位进行参考) 项目介绍部分 介绍最近做过的项目,项目中遇到的印象深刻的问题,如何解决?就项目用到的技术,自己的技术以及如何使用&#xff1…...

基于SpringBoot的智能物流管理系统

目录 前言 一、技术栈 二、系统功能介绍 顾客信息管理 员工信息管理 员工信息管理 门店信息管理 门店信息管理 订单信息管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施…...

【开源电商网站】(2),使用docker-compose和dockerfile进行配置,设置自定义的镜像,安装插件,增加汉化包,支持中文界面汉化。

项目相关代代码地址 相关内容: https://blog.csdn.net/freewebsys/category_12461196.html 原文地址: https://blog.csdn.net/freewebsys/article/details/133666433 包括以下运行的详细代码: https://gitee.com/study-demo-all/oscommerc…...

HTML5开发实例-3D全景(ThreeJs全景Demo) 详解(图)

前言 在现在市面上很多全景H5的环境下,要实现全景的方式有很多,可以用css3直接构建也可以用基于threeJs的库来实现,还有很多别的制作全景的软件使用 本教学适用于未开发过3D全景的工程狮 如果觉得内容太无聊可以直接跳到最后 下载代码 理论 整个3D全景所用的相关理论就…...

springboot项目静态资源映射

1. springboot项目静态资源映射 import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import...

【Linux初阶】多线程1 | 页表的索引作用,线程基础(优缺点、异常、用途),线程VS进程,线程控制,C++多线程引入

文章目录 ☀️一、深入理解页表☀️二、Linux线程概念🌻1.什么是线程(重点)⚡(1)线程的概念⚡(2)线程库初识 🌻2.线程的优点🌻3.线程的缺点🌻4.线程异常&…...

Flink--9、双流联结(窗口联结、间隔联结)

星光下的赶路人star的个人主页 我还有改变的可能性,一想起这点,我就心潮澎湃 文章目录 1、基于时间的合流——双流联结(Join)1.1 窗口联结(Window Join)1.2 间隔联结(Interval Join)…...

家政服务行业做开发微信小程序可以实现什么功能

家政服务行业开发微信小程序可以实现多种功能,从而提升服务品质和效率,下面我们来详细介绍一些可能实现的功能。 一、展示服务信息 家政服务微信小程序可以展示各种服务信息,包括各类家政服务项目、价格、服务流程、服务人员信息等。用户可以…...

20哈希表-三数之和

目录 LeetCode之路——15. 三数之和 分析: 官方题解: LeetCode之路——15. 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nu…...