计算机网络 | 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 🕊️系列专栏:🖼…...
复旦管院启动科创战略,培养科技研发人才,引领未来发展!
今年夏天,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博客...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
Python学习(8) ----- Python的类与对象
Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。 🧱 一句话理解: 类就像“图纸”,对…...
