网络安全之OSI七层模型详解

OSI七层模型分为控制层(前三层)和数据层(后四层)。从第七层到一层为;

应用层(7)接收数据

表示层(6)将数据翻译为机器语言

会话层(5)建立虚连接避免不同流量影响控制层面

传输层(4)区分流量与定义数据传输方式

网络层(3)为数据编制,寻址

数据链路层(2)定义格式,局域网或广域网

物理层(1)网络硬件的物理性质

前四层均在主机设备,后三层均在所有网络设备。

应用层:接收用户的数据。

表示层:将逻辑语言(即软件语言)转换成为机器语言(二进制语言),翻译,加密。

会话层:为每一种流量建立一条虚连接(避免每一种类型数据流量混杂,放置不同类型流量互相影响控制层面)。

传输层:两大功能;1.区分流量。2.定义数据传输方式。

1.区分流量;打上端口号(port ID)1-65535,其中分为静态端口和动态端口,静态端口(1-1023)是与流量一一对应并绑定的,其每一个数字都有对应的服务。动态端口(1024-65535)。常见的端口号有;HTTP--80(使用TCP协议),HTTPS--443(TCP),TELNET远程登录服务--23(TCP),SSH远程登陆“安全性较高,加密认证”--22(TCP),RIP--512(UDP),DNS--域名解析53(TCP和UDP)。

动态端口与流量一一对应,静态端口与流量一一对应并绑定。

2.定义数据传输方式:两种传输方式,可靠传输与不可靠传输。

可靠体现在于保证信息能传过去,不可靠只管传不管到,就相当于都能发数据,但前者保证传到,后者表示我传了,但是到没到就不知道了。

可靠传输的好处:数据完整,数据量小。

不可靠传输:1.大流量。2.实时性较高。3.对数据丢失不敏感。———适合于视频语音这种实时性比较高的传输,要求延迟低,不可能这边说了句话传过去时都过了几分钟甚至于几小时那种,可靠传输虽然也能但是对设备性能要求太高所以不合适。

怎么保证可靠传输有两个个机制保障:1.确认机制。2.重传输机制。——确认机制顾名思义就是传过去后要对方返回一个确认包,确认自己收到,若是在发送数据一段时间后没有收到对方发回的确认包则再发一次数据过去,直到收到对方发回的确认包,这就是重传输机制。

传输层封装有TCP和UDP,这两个都有一个端口号,它们将数据封装成一定格式。

TCP:传输控制协议,是一种面向连接的可靠协议。

UDP:用户数据包协议,是一种非面向连接的不可靠协议。

面向连接就是在数据连接之前,双方进行协商,确保数据可以传输,中间网络是通畅的。

如何保证面向连接;使用三次握手机制,下图为TCP三次握手机制讲解;

TCP三次握手可靠在于其采用的隐式确认+隐式确认,但通过TCP三次握手并不能说明TCP是一个面向连接的可靠协议,这只能保证面向连接,其可靠性要靠确认机制与重传输机制。

在传输TCP数据中有优化机制。

优化机制包括:流程控制(滑动窗口机制)、重排序;

流程机制:发送方根据接收方的处理能力与接收缓存大小来控制发送数据的速率,避免超出接收方能力而不能及时处理,TCP要求发送方维持一个接收窗口,接收方根据当前接收缓存大小动态调整接收窗口大小,其大小反映了接收方的容量。

重排序:TCP报文段作为IP数据来传输,在IP数据包的到达可能会失序,TCP报文段也可能失序,特殊情况下,TCP会将接收到的数据进行重排序,确保顺序正确后再交给应用层。

数据的分段传输:传输较大数据时会按照MTU值进行分段传输。

MTU:最大传输单元,默认为1500字节,可以修改(但不建议修改),超过1500字节就切片发送保证数据为1500字节以内。

扩充:

————————————————————————————————————————

网络单元:

最小单位;bit(比特),一个二进制0,1

1000bit=1kb

1000kb=1Mb

1000Mb=1Gb

1000Gb=1Tb……

byte(字节)一个字节为8bit

1000B=1KB

1000KB=1MB

1000MB=1GB

1000GB=1TB……

以上单位中一个为bit一个为字节,其中换算中前者是小写b后者是大写B。

为什么是1000kb=1Mb一千为换算而不是1024,因为互联网中是1000,没有1024这一个概念,文件系统NTFS或FAT32,exFAT是按照1024个单位去换算的。这也是为什么100G的U盘插上电脑后,读取文件时是按照1024单元换算,导致我们看到的是小于100G的内存。

bit我们只在统计流量时使用,一般是用字节。

速率单位:

100Mbps=100兆比特每秒

12.5MBPS=12.5兆字节每秒

————————————————————————————————————————

PDU(协议数据单元);

4层PDU,也叫segment、分段、分片。数据分段,分片就是说的4层PDU。

4层PDU关注的是TCP还是UDP,端口号是多少,不同层PDU又有不同的叫法,4层PDU还有一个读法,保温,数据报文。

5,6层有的认为没有PDU,华为叫7层PDU为APDU,5层为SPDU,6层为PPDU。

思科对567层没有PDU的叫法。

网络层:

网络层的主要内容就是对数据进行编制,寻址。

编制协议:IP(IPv4,IPv6),IPX,aplle talk,novell,NSAP

IP地址:32个二进制,0和1构成用于编制。

网络掩码:32个二进制,连续的1+连续的0构成,连续的1代表网络位,连续的0代表主机位。

IPv4:采用32位二进制进行编制,一个二进制称为一位bit。

IPv6:采用128位二进制进行编制。

地址分类:

地址一共分为A/B/C/D/E共五类地址

地址分类详情可以查看该本文:TCP/IP卷一详解第二章Internet地址结构概要-CSDN博客

需要补充的是:特殊地址都不能配置;

单播:A、B、C类都属于单播地址,点对点(一对一)通信。

组播:一对多,D类地址:源服务器将资源发送到一个组播组上,当用户需要资源时,访问该组播组并成为组员,然后该组播组将资源复制传递给用户,可以更好的将数据转发和复制给尽可能远的网络节点,减轻资源服务器的负载。

1、1.0.X.X 无效地址(保留地址) 0.0.0.0 无效地址 占位

2、127.0.0.1 本地测试(127.X.X.X测试地址)

3、网络号:主机位全为0的IP就不是IP了,是一个网段。

4、受限广播地址:255.255.255.255 全为1,只能在同一网段中广播

5、直接广播地址:定向广播地址,网络位不变,主机位全为1;例如192.168.56.255/24 向192.168.56.0网段中所有用户发送广播,可以指定网段内广播,只需地址改为该网段的网络号不变,主机位全为1.

6、本地链路地址(link-local):{169.254.0.0 255.255.0.0}只有在上不了网时才出现,只有微软的有,当没有DHCP分配地址时,系统分配的。

该层3层PDU:packet包(数据包)

数据链路层:

数据链路层进行二层封装用来判断数局域网(以太网Ethernet)或广域网(PPP,HDLC,ATM)

二层根据物理层的不同传输介质来定义二层的格式。

数据链路层会根据不同的物理封装来定义二层封装,主要分为局域网封装和广域网封装。MAC地址也叫物理地址,硬件地址,烧录地址。

局域网封装分为两个子层:

LLC层:逻辑链路控制子层;主要任务是描述上层使用的什么协议。

MAC层:介质访问控制子层/媒体访问控制子层;主要用于我们在一个网段内通信,怎么通信。

MAC地址构成:48个二进制书写12个十六进制,书写方式为减分十六进制或点分十六进制;

减分十六进制XX-XX-XX-XX-XX-XX,用于终端,主机,手机,服务器。

点分十六进制XXXX.XXXX.XXXX,用于连接设备上,路由器,防火墙ASA。

MAC地址共48位二进制,由美国一机构掌握,买一个即前24位固定的MAC地址范围。

前24位:厂商ID——OUI(统一资源标识符)

后24位:产品ID——interface ID(接口标识符)

MAC地址无法修改但能伪装;优先网卡配置高级里>本地管理地址中>手动输入伪装。无线的比较麻烦。

二层PDU:frame帧

物理层:

该层关注网络硬件的机械特性、光学特性、电学特性(传输介质:光纤,双绞线)

双绞线(RJ45)又叫网线,一根网线中有8根线,两两绞合在一起。

双绞线有两种线序:

568A线序:绿白,绿,橙白,蓝,蓝白,橙,棕白,棕

568B线序:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕

平行线:又称直通线,线序相同,不同层设备使用平行线

交叉线:线序不同,同层设备使用交叉线。

全反线:又称为console线,配置线,线序相反,用于用户控制网络设备。

屏蔽双绞线(STP):屏蔽信号,屏蔽干扰,但也会减弱自身传输的信号,传输距离不远。

非屏蔽双绞线(UTP):不屏蔽信号。

弱电:路由器,双绞线使用。

强电:工业用电。

光纤两优点:快、抗干扰。

双绞线按拧度分类:3类,4类——(10Mbps),5类,超5类——(100Mbps),超6类——(1000Mbps)在6类线中8根线同时使用。一般双绞线中的8根线不是8根同时使用的,只使用其中的一部分,剩下的用作电话线或备用。

拧度:1cm拧一圈,1.5cm拧一圈等,这种称为拧度。

注意的是,并不是拧度越高传数据路带宽越高,主要是看材质。

OSI七层模型各层的工作的基本原理我们就差不多了解了,总的来讲OSI七层可以规划为一个数据的封装与解封装。

我们把数据产生的过程称为封装。接收数据进行读取的过程称为解封装。

下图为一个数据从产生传输到接收的完整封装和解封装过程:

网络层:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/609780.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何编辑百度百科并提供参考资料

大家都知道参考资料是创建百度百科中最重要的一步,百度百科只收录可以找到资料来源的事实,参考资料的意义在于,指出该部分内容的来源/出处,从而保障这段内容是客观真实的。 注册和登录百度账号 首先,你需要在百度百科…

RuoYi-Vue-Plus (Echarts 图表)

一、echarts 图表介绍和使用 官网地址:目前echarts以及贡献给Apache Apache EChartshttps://echarts.apache.org/zh/index.htmlecharts配置项手册 Documentation - Apache EChartshttps://echarts.apache.org/z

台球桌上的答案 如何优化图形化编程对复杂程序的展现

在公司的休息区,卧龙和凤雏正站在台球桌旁,一场激战即将打响。 “来吧,凤雏,让我们一决高下!”卧龙手持台球杆,面带自信的微笑,向凤雏发起挑战。 凤雏点了点头,拿起台球杆&#xff0…

泰迪科技2024中职大数据实训室方案解读

中职在大数据专业建设所遇到的困难 数据、信息安全、人工智能等新信息技术产业发展迅猛,人才极其匮乏,各个中职院校纷纷开设相应的专业方向。但是,绝大多数院校因为师资和积累问题,在专业建设规划、办学特色提炼、创新教学模…

Objective-C的对象复制与拷贝选项

对象复制与拷贝 文章目录 对象复制与拷贝copy与mutablecopycopy与mutablecopy的简介示例:不可变对象的复制可变对象的复制 NSCopying和NSMutableCopying协议深复刻和浅复刻浅拷贝(Shallow Copy):深拷贝(Deep Copy&…

AI智能分析高精度烟火算法EasyCVR视频方案助力打造森林防火建设

一、背景 随着夏季的来临,高温、干燥的天气条件使得火灾隐患显著增加,特别是对于广袤的森林地区来说,一旦发生火灾,后果将不堪设想。在这样的背景下,视频汇聚系统EasyCVR视频融合云平台AI智能分析在森林防火中发挥着至…

APScheduler定时器使用【重写SQLAlchemyJobStore版】:django中使用apscheduler,使用mysql做存储后端

一、环境配置 python3.8.10 包: APScheduler3.10.4 Django3.2.7 djangorestframework3.15.1 SQLAlchemy2.0.29 PyMySQL1.1.0 项目目录情况 gs_scheduler 应用 commands : 主要用来自定义命令,python manage.py crontab schedulers&#…

20240509解决Protel99se导入philips.ddb出现File is not recognized的问题

20240509解决Protel99se导入philips.ddb出现File is not recognized的问题 2024/5/9 16:25 缘起:最近需要用到/画PCB,想到十年前用过Protel99SE。 使用的系统:WIN10/WIN11都会出错。WIN7没有测试! 从115网盘的角落里找到七集视频…

解放摄影潜能,Topaz Photo AI for Mac/Win 引领降噪新潮流

Topaz Photo AI for Mac/Win 是一款领先的人工智能降噪软件,旨在帮助摄影师和普通用户轻松有效地提高照片质量。随着数字摄影技术的发展,摄影爱好者们不断追求更高质量的图像,而Topaz Photo AI的出现为他们打开了全新的图像处理之门。 先进的…

C++ | Leetcode C++题解之第78题子集

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> t;vector<vector<int>> ans;void dfs(int cur, vector<int>& nums) {if (cur nums.size()) {ans.push_back(t);return;}t.push_back(nums[cur]);dfs(cur 1, nums);t.po…

Linux -- > vim

vi和vim是什么 vi和vim是两款流行的文本编辑器&#xff0c;广泛用于Unix和类Unix系统中。它们以其强大的功能和灵活的编辑能力而闻名&#xff0c;特别是在编程和系统管理中非常受欢迎。 vi&#xff08;Visual Interface&#xff09; vi是最初的文本编辑器之一&#xff0c;由…

【Java从入门到精通】Java 异常处理

在 Java 中&#xff0c;异常处理是一种重要的编程概念&#xff0c;用于处理程序执行过程中可能出现的错误或异常情况。 异常是程序中的一些错误&#xff0c;但并不是所有的错误都是异常&#xff0c;并且错误有时候是可以避免的。 比如说&#xff0c;你的代码少了一个分号&…

idea 使用 git

可以看见项目地址&#xff0c; git clone 地址 就可以拉新项目了 命令 git remote -v

【Unity】Unity项目转抖音小游戏(一) 项目转换

UnityWEBGL转抖音小游戏流程 业务需求&#xff0c;开始接触一下抖音小游戏相关的内容&#xff0c;开发过程中记录一下流程。 相关参考&#xff1a; 抖音文档&#xff1a;https://developer.open-douyin.com/docs/resource/zh-CN/mini-game/develop/guide/game-engine/rd-to-SC…

【Android】Kotlin学习之数据容器(数组for循环遍历)

数组遍历 1. for ( item in arr){…} 2. for ( i in arr.indeces ) {…} (遍历下标) 3. for ((index, item) in arr.withInfex()) {…} (遍历下标和元素) 4. arr.forEach {} ( 遍历元素 ) 5. arr.forEachIndexed{index, item -> …}

2024数维杯数学建模选题建议及各题思路来啦!

大家好呀&#xff0c;2024数维杯数学建模挑战赛开始了&#xff0c;来说一下初步的选题建议吧&#xff1a; 首先定下主基调&#xff0c; 本次数维杯建议选B。难度上C&#xff1e;A&#xff1e;B。B题目是比较经典的数据分析类题目&#xff0c;主要做统计分析差异显著性以及相关…

Qt 6.7功能介绍

Qt 6.7为我们所有喜欢在构建现代应用程序和用户体验时获得乐趣的人提供了许多大大小小的改进。一些新增内容作为技术预览发布&#xff0c;接下来我们就一起来看看吧&#xff1a; 将C20与Qt一起使用 对于许多编译器工具链来说&#xff0c;C20仍然是可选的和实验性的&#xff0c;…

【Git实战】如何将本地仓库推送至Github(windows版)?

最近使用Go语言开发项目&#xff0c;想寻找位操作相关的工具包。找了一圈没有合适的&#xff0c;因此自己写了一个。又想将其推送到Github上&#xff0c;中间逢山开路&#xff0c;遇水搭桥&#xff0c;终于成功将本地Git仓库和Github进行了关联。现将我的方法公之于众&#xff…

如何在JavaScript/Vue中获取当前时间并格式化输出(精确到时分秒)

如何在JavaScript/Vue中获取当前时间并格式化输出&#xff08;精确到时分秒&#xff09; 不只是树&#xff0c;人也是一样&#xff0c;在不确定中生活的人&#xff0c;能比较经得起生活的考验&#xff0c;会锻炼出一颗独立自主的心。在不确定中&#xff0c;就能学会把很少的养分…

二、使用插件一键安装HybirdCLR

预告 本专栏将介绍如何使用这个支持热更的AR开发插件&#xff0c;快速地开发AR应用。 插件简介 通过热更技术实现动态地加载AR场景&#xff0c;简化了AR开发流程&#xff0c;让用户可更多地关注Unity场景内容的制作。 热更方案 基于HybirdCLR HybridCLR是一个特性完整、零成…