网络协议安全:OSI七层模型分层及作用,数据封装与解封过程,数据传输过程。

news2025/1/16 16:02:44

「作者简介」:2022年北京冬奥会中国代表队,CSDN Top100,学习更多干货,请关注专栏《网络安全自学教程》

这一章节我们需要知道OSI分哪七层,每层的作用,知道数据在七层模型中是怎样传输的,封包和解封过程,数据包在每一层是怎么封装和解封的。

OSI七层模型

    • 1.1、为什么要分层?
    • 1.2、每层的作用
    • 1.3、数据的封装与解封过程
    • 1.4、数据的传输过程
    • 1.5、OSI安全体系结构

OSI(Open System Interconnect )是国际标准化组织ISO制定的开放系统互联参考模型。

它把网络分为七层,从下往上依次是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

其中下面的四层是底层协议,负责「创建链路」,处理实际的信息传输;上面三层是高层协议,负责「处理应用请求」

在这里插入图片描述

1.1、为什么要分层?

分层是计算机领域中,用来解决复杂问题的一种「思维方式」

每层负责一些「独立」的功能,可以把复杂问题简单化。各层相互独立,单独制定标准,每一层的变化不会影响其他层。

1.2、每层的作用

「物理层」定义了物理链路的电气特性,将比特流转成电压。这一层的设备有:光纤、双绞线、中继器、集线器(HUB)。

「数据链路层」负责物理寻址,根据Mac地址转发数据包。这一层的设备有:网卡、网桥、交换机(Switch)。

「网络层」负责路由寻址,根据IP地址转发数据包。这一层的设备有:路由器(Router)、三层交换机。

  • 交换机本身是二层设备,但一些高档的交换机可以做路由转发,所以能在三层工作。

「传输层」负责建立逻辑链接,通过端口来区别不同的应用和服务。

「会话层」负责会话(Session)的建立、维持和终止。

「表示层」负责数据的加密、解密,数据格式的转换。这一层定义了很多编码,比如:ASCLL编码、Unicode编码。

「应用层」负责处理应用请求。这一层有很多应用协议,像FTP、HTTP这种需要提供可靠服务的协议底层是基于TCP实现的;而SNMP、DNS这种可靠性要求不是那么高的协议,底层是基于UDP实现的。

1.3、数据的封装与解封过程

OSI七层模型按照「从上往下」的顺序「封装」数据:

  • 应用层将数据转换成二进制,交给传输层。
  • 传输层把二进制分割成小的数据段,添上TCP头部,封装成数据段,交给网络层。
  • 网络层添上IP头部,封装成数据包,交给数据链路层。
  • 数据链路层添上MAC头部,封装成数据帧,交给物理层。
  • 物理层把二进制数据转换成电信号,在网络中传输。

传给接收方后,再按照「从下往上」的顺序「解封」数据,一层一层的拆掉报头,然后往上传。

在这里插入图片描述

1.4、数据的传输过程

数据实际传输时,中间要经过交换机、路由器等设备,经过的设备不同,数据的封装和解封操作也会不一样。

  • 发送方封装完数据,用物理网卡以「电信号」的形式通过网线传给交换机。
  • 交换机将「电信号」「转换」「二进制」,根据数据帧头部的Mac地址寻址;这个将二进制转换成电信号操作,从逻辑上看,就是从物理层走到数据链路层了。看完MAC地址以后,再把成「二进制」「转换」「电信号」,发送给路由器。
  • 路由器会拆掉MAC头部,把「数据帧」「解封」「数据包」,根据IP头里的IP地址进行路由;这个解封的操作,从逻辑上看,就是从数据链路层走到网络层了。看完IP地址以后,再添上IP头部,「封装」「数据帧」,再把「数据帧」「二进制」「转换」「电信号」,传给下一跳路由器。
  • 然后再重复这个步骤,直到传给接受者的电脑,解封数据。

在这里插入图片描述
从这里就能发现,数据在传输过程不断进行着封装和解封的操作,「中间设备」属于哪一层,就解封到哪一层。

1.5、OSI安全体系结构

为了保证数据传输过程的安全,OSI定义了五类安全服务和八种安全机制。

安全服务是需要解决的安全问题,安全机制是解决安全问题的技术实现。一种安全服务可以由多种安全机制实现;一种安全机制也可以实现多个安全服务。

五类安全服务:

  • 鉴别服务(支撑技术有:加密、数字签名、鉴别交换)
  • 访问控制服务(支撑技术有:访问控制)
  • 数据完整性服务(支撑技术有:加密、数字签名、数据完整性)
  • 数据保密性服务(支撑技术有:加密、业务流填充、路由控制)
  • 抗抵赖服务(支撑技术有:数字签名、数据完整性、公证)

八种安全机制:

  • 加密
  • 数字签名
  • 访问控制
  • 数据完整性
  • 鉴别交换
  • 业务流填充
  • 路由控制
  • 公证

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构练习:链表扩容

大致步骤: 一:创建一个新链表,遍历原链表的同时,将原链表的值复制给新链表 二:将新链表插入到原链表中(大致如下) 注: 1.头结点是不存有数据的 2.记得malloc后要free 3.*&是…

男士休闲裤比较好的品牌有哪些?高品质休闲男装推荐

穿衣服最重要的并不是要求多好看多时尚,相信绝大部分年纪在23岁以上的男同胞们更希望穿一些简约好搭配的款式,更重要的其实就是要求质量耐穿,以及有足够好的舒适性。 但是现在市面上的品牌实在是太多了,而且质量也参差不齐&#x…

SpringBoot 3.x + Swagger3 踩坑实录

问题描述 维护的SpringBoot版本是3.0版本,翻教程的时候发现很多SpringBoot2.x版本用的都是springfox,但问题是在SpringBoot3.x版本后,逐渐不支持springfox,强行启动会导致异常,现阶段使用的Springdoc进行替换。 参考…

设计模式-六大原则

设计模式的六大原则是软件工程中的基本概念,使得构建可维护、可扩展和可重用的代码。 1.单一职责原则(Single Responsibility Principle):一个类或方法应该只有一个引起变化的原因,确保类或模块的功能高度内聚。 案例&…

力扣数据库题库学习(4.22日)

577. 员工奖金 问题链接 思路分析 Employee表与Bonus表通过empId字段可以连接,需求是查出奖金少于1000的员工名和奖金值。 这里奖金少于1000的情况就是没有奖金有奖金但少于1000 这里我给出的解决方案就是使用左连接,将Employee表作为左表&#xff…

c++二叉树的进阶--二叉搜索树

1. 二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左…

企业为什么要选择通配符SSL证书使用?

企业选择使用通配符SSL证书主要是出于以下几个重要原因: 1. 经济性: - 节省成本:相较于为每一个子域名单独购买并维护单独的SSL证书,通配符证书能够以一张证书覆盖同一主域名下的所有同级子域名,无需为新增或已有的子域…

SpringBoot框架——8.MybatisPlus常见用法(常用注解+内置方法+分页查询)

1.MybatisPlus常用注解: 1.1 当数据库、表名和字段名和实体类完全一致时无需加注解,不一致时: TableName指定库名 TableId指定表名 TableField指定字段名 1.2 自增主键: TableId(typeIdType.AUTO) private Long id; 1.3 实体类中属…

【JAVA】java 中的Stream 常用函数

java 中的Stream 常用函数 一、简介1.1、什么是Stream?1.2、创建Stream1.3、Stream的特性 二、Stream的操作2.1、中间操作:2.2、终端操作:2.3、Stream的并行处理 三、Stream 常用函数四、使用示例4.1、计算集合中偶数的平方和:4.2…

新手也能学会的甘特图制作教程

甘特图是什么? 甘特图(Gantt Chart)是一种以图表形式直观展示项目计划的工具,由20世纪初的管理学家亨利甘特(Henry Gantt)发明并命名。它具有以下几个主要特点: 水平时间轴 甘特图的横轴是一条时间轴,通常按天、周或月来刻度,直观展示了项目从开始到结束的整个时间…

【信息收集】端口扫描masscan负载均衡识别lbd

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 1、什么是masscan masscan在kali系统上是自带的端口扫描…

回归预测 | Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测

回归预测 | Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测 目录 回归预测 | Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测; 2.输入7个特征&#xf…

考研日常记录(upd 24.4.24)

由于实在太无聊了 , 所以记录以下考研备考日常 , 增加一点成就感 , 获得一点前进动力。 文章目录 2024.4.18 周四课程情况:时间规划: 2024.4.19 周五课程情况:时间规划: 2024.4.20 周六2024.4.2…

Java知识总结---并发篇

线程 线程的状态 Java中线程可以有如下6中状态: NEW 新创建 RUNNABLE 可运行 BLOCKED 阻塞 WAITING 等待 TIMED WAITING 计时等待 TERMINATED 终止 线程的创建 (1)继承Thread类 public class ExtendsThread extends Thread { O…

学习Docker笔记

在23号刚刚学完新版本的docker还想说回去继续学习老版本的springcloud课程里面的docker 结果一看黑马首页新版本课程出了,绷不住了。以下是我学习新版本docker的笔记,记录了我学习过程遇到的各种bug和解决,也参考了黑马老师的笔记&#xff1a…

SLMs之Phi-3:Phi-3的简介、安装和使用方法、案例应用之详细攻略

SLMs之Phi-3:Phi-3的简介、安装和使用方法、案例应用之详细攻略 导读:2024年4月23日,微软发布Phi-3,这是微软推出的一款新的开源AI模型家族Phi-3。背景痛点:小语言模型(SLM)尽管规模不大,但在语言理解、代码…

three.js 制作卡牌正反面 旋转

1.效果图 2.代码 <template><div><div id"container"></div></div> </template><script> import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.…

C语言指针进阶:各类型指针变量详解

目录 1. 字符指针变量2. 数组指针变量2.1 什么是数组指针变量2.2 数组指针变量的初始化 3. 二维数组传参的本质4. 函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用4.3 代码分析4.3.1 typedef 关键字 5. 函数指针数组6. 转移表 正文开始。 1. 字符指针变量 我们可以…

融合算法:引力融合

问题&#xff1a; 有一批数据&#xff0c;如&#xff1a; [ 1, 2, 3, 45, 46, 55, 89, 101 ]想把它分成3块&#xff0c;如&#xff1a; [1, 2, 3] [45, 46, 55] [89, 101]算法&#xff1a; 参考万有引力公式&#xff0c;想象坐标轴上这8个点的分布&#xff1a; 每一个点都会…

偏执型人格的症状和起因,偏执型人格测试和应对方法

偏执型人格&#xff0c;主打一个敏感多疑&#xff0c;过分的固执&#xff0c;过度的警觉。无论别人怎么解析&#xff0c;都难以说服。偏执型人格常常毫无根据的怀疑他人的忠诚&#xff08;动机&#xff09;&#xff0c;曲解别人的言语&#xff08;或行为&#xff09;&#xff0…