网络模型OSI
网络模型
- OSI定义
- 模型分布
- 数据封装、解封过程
- 数据链路层
- 1.LLC逻辑链路控制子层(Logic Link Control Sub Layer)
- 2.MAC媒介访问控制子层(Medium Acess Control Sub Layer)
- CSMA/CA
- RST-CST原理
OSI定义
OSI:Open Systems Interconnection Reference Model,开放系统互连参考模型
目的:用于计算机或通信系统间互联的标准,以实现网络互通
模型分布


物理层(Physical Layer):定义物理设备标准,包括电气特性、机械特性、功能特性、规程特性这四个方面。用于建立、维护、断开物理连接。定义通信的传输介质,实现实际终端设备信号传输,码流通过物理设备传输。工作设备主要有网卡、集线器、各种线缆(光纤、网线、同轴电缆)
数据链路层(Data Link Layer):
1.提供mac地址(网卡物理地址),物理地址寻址
2.数据成帧frame、转发
3.错误检测机制,发现数据有丢失则通知对方重传
网络层(Network Layer):
1.提供IP地址,数据传送的目的地寻址
2.选择一个传送数据的最佳路线,根据路由器运行的不同的路由协议选择最佳路径
传输层(Transport Layer):
1.提供端口号,根据端口号识别对应服务(每种应用对应不同的端口号)
2.控制数据流量,确保传输准确。发送端分段数据、接收端重组数据
会话层(Session Layer):
在应用程序之间建立维护并拆除会话连接
表示层(Presentation Layer):
为不同客户端提供数据和信息的语法转换,使系统能解读成正确的数据,同时它还能提供压缩解压、加密解密等服务。
应用层(Application Layer):
给用户和抽象的网络之间提供一个接口,使用户可以通过使用应用程序、app来使用整个的6层网络模型
数据封装、解封过程


数据链路层
数据链路层有两个著名sub layer
1.LLC逻辑链路控制子层(Logic Link Control Sub Layer)
该子层实现了两个站点之间帧的交换,实现端到端(源到目的),无差错的帧传输和应答功能及流量控制功能
2.MAC媒介访问控制子层(Medium Acess Control Sub Layer)
解决共用信道竞争,分配信道使用权。
目前LAN中常用的媒介访问控制方法是CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance,译为载波监听多路访问/冲突避免机制))
有线和无线使用MAC差异:
有线使用“冲突检测”CSMA/CD(Carrier Sense Multiple Access/Collision Detect,载波监听多路访问/冲突检测机制):
1.发送数据前监听信道是否空闲,空闲则发送;
2.发送数据的同时监听,监听到冲突时停时发送,停止随机时间后重新发送
无线使用“冲突避免”CSMA/CA:同时发送和监听的方式,对于无线介质来说浪费资源。
CSMA/CA
由于无线网络是共享介质,协调的作用是使各个无线设备使用无线网络时避免冲突发生。
两种冲突避免方案:
1.避退:发送数据前,先监听无线链路状态是否空闲。当无线链路被其他设备占用时,设备会随机为每一帧选择一段退避(backoff)时间,减少冲突发生。
2.RST-CST握手:发送数据前,终端发送一个RST帧给目标,目标回复CST才开始传输数据。确保后续传输数据时其他设备不会使用信道。
RST、CST帧长很小所以消耗很少:
RST请求发送帧:20字节,内容包含要发送的数据帧长,
CST允许发送帧:14字节,内容包含请求中欲发送的数据帧的长度
RST-CST原理

RST-CST如何解决多个站之间数据传输冲突:
站A无线信号覆盖范围:B、C、E
站B无线信号覆盖范围:A、D、E
如果A向B发送数据:
1.A向B发送RST,因为B、C、E在A的覆盖范围内,所以都能接收到A发送的RST
2.B向A发送CST,因为A、D、E在B的覆盖范围内,所以都能接受到B的CTS
3.C接收到A的RST,接收不到B的CST。在A向B发送数据的同时,可以发送数据,不会干扰B
4.D接受不到A的RST,可以接收B的CST。在收到B发送的CST后关闭数据发送,避免干扰B
5.E接收A的RST和B的CST,在A发送数据帧的整个过程中不能发送数据
6.若A和E同时向B发送RST,两个RST冲突使得B接收不到正确的RST,则B无法产生CST,此时A和E各自推迟随机时间后重新发送RST
802.11提供3种“RST-CST”可供使用:
1.使用RST-CST帧
2.不使用
3.在一定条件下使用,当数据帧的长度超过某一数值时
协调功能(Coordination Function):
CSMA/CA具体运作时由协调功能来控制,协议规定四种协调功能
1.分布式协调功能(Distributed CF,简称DCF)
2.基于DCF之上的Point CF(Point CF,简称PCF)
3.混合型协调功能(Hybrid CF,简称HCF)
4.用于Mesh网络的(Mesh CF,简称MCF)
基于竞争的服务(contention-based service,使用DCF进行数据交换)
基于无竞争的服务(contention-free service,使用PCF进行数据交换)
相关文章:
网络模型OSI
网络模型OSI定义模型分布数据封装、解封过程数据链路层1.LLC逻辑链路控制子层(Logic Link Control Sub Layer)2.MAC媒介访问控制子层(Medium Acess Control Sub Layer)CSMA/CARST-CST原理OSI定义 OSI:Open Systems Interconnection Reference Model,开放…...
RT-Thread初识学习-01
1. RT-Thread 简介 1.1 RT-Thread 是什么 据不完全统计,世界有成千上万个 RTOS(Real-time operating system,实时操作系统),RT-Thread 就是其中一个优秀的作品。 RT-Thread 内核的第一个版本是熊谱翔先生在 2006 年…...
二阶段提交事务的实现和缺点
背景 说起分布式事务,我们最绕不开的一个话题就是该不该使用分布式事务,而要理解为什么做出使用与否的决定,就必须要提到分布式事务中的最经典的实现:两阶段提交事务,本文我们就简答介绍下这个两阶段提交事务以及它的优缺点 技术…...
定点数的表示和运算
文章目录真值(有正负号)和机器数(0正1负)原码整数小数补码负数的补数正数的补数[y]~补~ > [-y]~补~反码小结移码移位运算加减法运算溢出判断真值(有正负号)和机器数(0正1负) 无符…...
java虚拟机内存分布
java虚拟机内存分布 Java虚拟机在执行java程序的过程中会把它所管理的内存划分为如下若干个不同的数据区域。 1.程序计数器 程序计数器是线程私有的,它占用的空间相对较小,用来记录当前线程字节码执行到哪一步。字节码解释器通过改变这个计数器的值来获…...
最完整的小红书带货笔记——垂直模式
最完整的小红书带货笔记——垂直模式,小红书直播复盘怎么做?#直播带货笔记 第1篇,带你解锁直播复盘5大要点! #小红书店铺#小红书运营 小红书怎么发带货笔记? 做小红书带货的同学注意了,我们带货一定要发笔…...
SpringBoot实战——个人博客项目
目录 一、项目简介 二、项目整体架构 数据库模块 后端模块 前端模块 三、项目具体展示 四、项目的具体实现 1、一些准备工作 🍎数据库、数据表的创建 🍎设置数据库和MyBatis的配置 🍎将前端项目引入到当前项目中 2、登录注册模块 &…...
浅谈Spring中事务管理器
由于事务部分代码在设计上整体比较简单,我自己觉得它在设计上没有什么特别让我眼前一亮的东西,所以下文更多的是侧重执行流程,能理解事务管理器等一众概念以及相关的变量含义,真正遇到Bug会调试,知道在什么地方打断点就…...
Python练习系统
用python给自己做个练习系统刷题吧! #免费源码在文末公众号哈# 选择题 def xuanze():global flag2if flag21:def insert():numvar1.get()questionvar2.get()choicevar3.get()answervar4.get()with open(d:\\练习系统\\练习三3.1.pickle,rb) as file:lst1pickle.lo…...
Transformer学习笔记1
Transformer学习笔记1 翻译中,每个词翻译时更看重哪个原词? ## 注意力机制的一般性原理 典型的注意力机制 hard one-hot形式,但是太过专一 soft 都分布,但是太过泛滥 local attention 自注意力机制:self-atte…...
软件测试简历个人技能和项目经验怎么写?(附项目资料)
目录 前言 个人技能 项目实战经验 项目名称:苏州银行项目(webapp) 项目描述: 项目名称:中国平安项目(webapp) 项目描述: 项目名称:苏宁易购项目(webapp&a…...
C语言运算符优先级和结合性一览表
所谓优先级就是当一个表达式中有多个运算符时,先计算谁,后计算谁。 运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符()和逗号运算符 简单记就是:! > 算术运…...
Java8介绍
Java 8 Java 8 把函数式编程里的一些思想融入到 Java 的语法中,让我们可以用更少的时间写出高效的代码。 Java 8的优势: 代码行更少Lambda表达式Stream API便于并行减少空指针JVM优化兼容老版本 Lambda Lambda表达式是一段可以传递的代码࿰…...
Java 基准测试
Java 基准测试maven依赖简单使用执行多个函数BenchmarkMode(Mode.AverageTime) 运行模式OutputTimeUnit(TimeUnit.NANOSECONDS) 报告结果时间单位Warmup(iterations 5,time 1,timeUnit TimeUnit.SECONDS) 预热参数Measurement(iterations 5,time 1,timeUnit TimeUnit.SEC…...
普通护照出国免签及落地签国家和地区
1.互免签协议的国家(双向免签) 序号 协议国 限制条件 生效日期 1 阿联酋 停留不超过30天 2018.01.16 2 巴巴多斯 停留不超过30天 2017.06.01 3 巴哈马 停留不超过30天 2014.02.12 4 白俄罗斯 停留不超过30天 2018.8.10 5 波黑 停留不超…...
20230219 质心和重心的区别和性质
质心:(无需重力场的前提)所有质点的位置关于它们的质量的加权平均数。 重心:(需要重力场的前提)重力对系统中每个质点关于重心的力矩之和为零。 质心: xˉ∑i1nmixi∑i1nmi,yˉ∑i1nmiyi∑i1nmi…...
maven多环境配置
maven多环境配置 参考网址: https://mp.weixin.qq.com/s/-e74bd2wW_RLx7i4YF5M2w https://mp.weixin.qq.com/s/3p53kBHqys58QdMme6lR4A 项目地址 https://gitee.com/shao_ming314/maven-profile-dir 项目说明 该项目基于目录进行多环境配置 , 具体的配置文件在 src/resource…...
设计模式之中介模式与解释器模式详解和应用
目录1 中介模式详解1.1 中介模式的定义1.1.1 中介者模式在生活场景中应用1.1.2 中介者模式的使用场景1.2 中介模式的通用实现1.2.1 类图设计1.2.2 代码实现1.3 中介模式应用案例之聊天室1.3.1 类图设计1.3.2 代码实现1.4 中介者模式在源码中应用1.4.1 jdk中Timer类1.5 中介者模…...
2023年全国最新交安安全员精选真题及答案1
百分百题库提供交安安全员考试试题、交安安全员考试预测题、交安安全员考试真题、交安安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 一、单选题: 1.对施工组织设计中的安全技术措施或者专项施工方案是否…...
chrome插件开发备忘录
文章目录前言要点通信方式注意事项参考前言 第一次接触到插件开发,起因是我用了十多年的一键上传需要升级了。之前的版本来自于有道云,是通过在书签栏加一个书签,然后将上传功能注入到当前页面的方式来实现的。一直也用得挺好,挺…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...
JDK 17 序列化是怎么回事
如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...
算法250609 高精度
加法 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; char input1[205]; char input2[205]; int main(){while(scanf("%s%s",input1,input2)!EOF){int a[205]…...
【java】【服务器】线程上下文丢失 是指什么
目录 ■前言 ■正文开始 线程上下文的核心组成部分 为什么会出现上下文丢失? 直观示例说明 为什么上下文如此重要? 解决上下文丢失的关键 总结 ■如果我想在servlet中使用线程,代码应该如何实现 推荐方案:使用 ManagedE…...
