网络安全——数据链路层安全协议(2)

news2024/10/2 20:35:41

  • 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

前言

一.局域网数据链路层安全协议

1.IEEE 802.10

(1)IEEE 802.10的帧格式

(2)IEEE802.10的应用模式

2.IEEE 802.1q


前言

本章将会讲解局域网中的数据链路层安全协议


一.局域网数据链路层安全协议

在IEEE802局域网标准中,涉及局域网安全的协议标准主要有802.10和802.1q。


1.IEEE 802.10

IEEE802.10标准是由IEEE802.10标准安全工作组制定的局域网安全标准,其目的是通过加密和认证等安全机制来保证局域网上数据交换的机密性和完整性。

 IEEE802.10标准原来是为了安全因素而提出的一种帧标签格式。1995年,Cisco公司提倡使用IEEE802.10协议,在此之前,IEEE802.10曾经在全球范围内作为VLAN安全性的统一规范。

Cisco公司试图采用优化后的IEEE802.10帧格式,在网络上传输帧标签(Frame Tagging)模式中所必需的VLAN标签。


(1)IEEE 802.10的帧格式

IEEE802.10标准定义了一个单独的协议数据单元通常被称为Secure Data Exchange(SDE)PDU,也称为802.10报头,该标准把802.10报头插在了MAC地址的帧头和数据区之间。

IEEE802.10标准定义了一种安全数据交换的协议数据单元,它是在MAC帧的帧头和数据域之间插人了一个802.10帧头,其格式如图所示。

 IEEE 802.10帧头由两部分组成,分别称为CH(Clear Header)和PH(ProtectedHeader)。

 CH包含一个安全联盟标识符(SAID)字段和一个可选的管理定义字段(MDF),以便于PDU的处理。

PH包含一个源地址字段,它是从MAC头中的源地址字段复制过来的,以支持地址认证功能,防止其他结点冒充源结点。


在LAN中,每种MAC帧都设有一个帧校验序列(FCS)字段,用于对MAC帧的正确性和完整性检查,通常FCS采用32位的循环冗余校验码。因此,每种MAC协议本身就具有一定的数据完整性检查能力。

 

IEEE802.10完整性检查值(ICV)字段用于数据完整性检查,以防止未经许可对内部数据的修改。为了保证数据机密性,可以对PH和ICV之间的数据进行加密处理,但由于数据加密将降低网络传输设备(如交换机等)的吞吐能力,引起LAN性能的下降,因此IEEE802.10协议中的数据加密功能是可选的,不是强制性规定。


(2)IEEE802.10的应用模式

IEEE802.10协议最初的目的是制定一个互操作的局域网安全标准但没有得到业界的响应和支持。

后来,一些厂商在开发虚拟局域网(VLAN)技术时使用了IEEE802.10头中的SAID字段,作为VLAN标识符,用于标识数据流所属的VLAN。这样,IEEE802.10协议便在VLAN中得到了应用,应用模式拓扑如图所示。

 VLAN是指在局域网的物理结构上通过控制流量分配而形成的一种逻辑网络。在一个支持VLAN的局域网中,可以按一定的方法和规则构造出多个VLAN,一个VLAN中的流量被限制在本VLAN中,不会在其他VLAN中流通。这样就使VLAN之间在逻辑上是相互隔离的,VLAN之间的互通必须通过网桥等设备来实现。


因此通过VLAN可以在局域网中保证一定程度的数据交换安全性。通常VLAN是在LAN交换机支持下实现的,LAN交换机通过标准化的VLAN协议提供VLAN定义和管理功能。


 

由于利用IEEE802.10头中的SAID字段作为VLAN标识符,导致不定长的数据帧在实现上产生一些问题。另外,各个厂商所定义的VLAN标识符格式和长度也不统一,引起不同厂商VLAN设备之间的兼容性问题。

后来,对IEEE802.10协议进行了修订,进一步完善了IEEE802.1q等新VLAN标准,并得到了业界广泛的应用。


2.IEEE 802.1q

早期VLAN在网络之间很难实施,每个VLAN都被手动配置在每个交换机上。对VLAN的管理,在一个延伸的网络中是非常复杂的任务。

为了进一步管理,每个交换机厂商都有不同的方法。为了解决这个问题,开发了VL.AN干线技术。VL.AN干线通过在帧中加入特定的标签来区分所属的VLAN,以支持在一个机构中定义多个VLAN。
VL.AN干线是标准化技术,IEEE802.1q干线协议就是一个被广泛实施的标准。 

图2表示了不同Cisco交换机之间的IEEE802.1g干线。

IEEE802.1q标准制定于1996年3月,它规定了VLAN组成员之间传输的物理帧需要在帧头部增加4个字节的VLAN信息,而且还规定诸如帧发送与校验、回路检测、对服务质量参数的支持以及对网管系统的支持等方面的标准。

IEEE802.1q标准包括3个方面:VLAN的体系结构说明、为在不同设备厂商生产的不同设备之间交流VLAN信息而制定的局域网物理帧的改进标准、VLAN标准的未来发展展望。 

 

 IEEE802.1q标准提供了对VLAN明确的定义及其在交换式网络中的应用。

该标准的发布确保了不同厂商产品的互操作能力,并在业界获得了广泛推广,成为VLAN发展史上的里程碑。

IEEE802.1q的出现打破了VLAN依赖于单一厂商的僵局,从一个侧面推动了VLAN的迅速发展。


IEEE802.1q标准进一步完善了VLAN的体系结构,规定统一的VLAN标记格式。 

与VLAN相关的协议还有如下内容。

  • IEEE802.1p:定义了VLAN中数据流优先级标记和动态组播服务,通过定义8个优先级,支持不同的数据传输服务级别(Class of Service,CoS)。
  • IEEE802.ld:定义了第二层交换机的技术基础和协议标准。
  • IEEE802.1p/g同属一个协议集,使用同一赖格式,它们是在传统的以太网帧格式中插入了一个标记(Tag)字段,占两个字节,如图2-5所示。

图中,IEEE802.1p占3位,定义了8个优先级;IEEE802.1q占12位,定义了VLAN标识符,用于识别数据流所属的VLAN。

由于VLAN标识符共有12位,因此一个局域网最多可划分为4096个VLAN。 


VLAN除了提供局域网通信安全性外,还简化了局域网中结点的迁移操作。它既可以在保持结点物理位置不变的情况下,将结点从一个VLAN迁移到另一个VLAN,也可以在保持统一VLAN不变的情况下,将结点移动到一个新的物理位置上。所有这些操作通过交换机所配置的VLAN管理软件很容易实现。


 创作不易,求关注,点赞,收藏,谢谢~   

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

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

相关文章

JavaWeb HTTP和Maven

4、Http 4.1、什么是HTTP HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。 文本:html,字符串,~ ….超文本:图片,音乐,视频,定位&am…

登峰造极,师出造化,Pytorch人工智能AI图像增强框架ControlNet绘画实践,基于Python3.10

人工智能太疯狂,传统劳动力和内容创作平台被AI枪毙,弃尸尘埃。并非空穴来风,也不是危言耸听,人工智能AI图像增强框架ControlNet正在疯狂地改写绘画艺术的发展进程,你问我绘画行业未来的样子?我只好指着Cont…

jdbc模板的基本使用

1.JdbcTemplate的开发步骤 <1>导入spring-jdbc和spring-tx坐标 <2>创建数据库表和实体 <3>创建JdbcTemplate对象 <4>执行数据库 2.JdbcTemplate快速入门 <1>导入坐标 <dependency><groupId>org.springframework</groupId><…

【Python学习笔记】第十七节 Python 异常处理

Python 异常在任何一种编程语言中&#xff0c;都会有异常处理机制&#xff0c;python也不例外&#xff0c;它提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。Python 异常处理异常的概念&#xff1a;在程序运行过程中&#xff0c;由于代码错误或者运行环境…

Java数据结构与算法——手撕LRULFU算法

LRU算法 力扣146&#xff1a;https://leetcode-cn.com/problems/lru-cache/ 讲解视频&#xff1a;https://www.bilibili.com/video/BV1Hy4y1B78T?p65&vd_source6f347f8ae76e7f507cf6d661537966e8 LRU是Least Recently Used的缩写&#xff0c;是一种常用的页面置换算法&…

Typora图床配置:Typora + PicGo + 阿里云OSS

文章目录一、前景提要二、相关链接三、搭建步骤1. 购买阿里云对象存储OSS2. 对象存储OSS&#xff1a;创建Bucket3. 阿里云&#xff1a;添加OSS访问用户及权限4. 安装Typora5. 配置PicGo方法一&#xff1a;使用PicGo-Core (Command line)方法二&#xff1a;使用PicGo(app)6. 最后…

C语言深度剖析:关键字

C语言深度剖析:关键字C语言深度剖析:关键字前言定义与声明&#xff08;补充内容&#xff09;最宏大的关键字-auto最快的关键字-register关键字static被冤枉的关键字-sizeof整型在内存中的存储原码、反码、补码大小端补充理解变量内容的存储和取出为什么都是补码整型取值范围关于…

多线程的初识和创建

✨个人主页&#xff1a;bit me&#x1f447; ✨当前专栏&#xff1a;Java EE初阶&#x1f447; ✨每日一语&#xff1a;知不足而奋进&#xff0c;望远山而前行。 目 录&#x1f4a4;一. 认识线程&#xff08;Thread&#xff09;&#x1f34e;1. 线程的引入&#x1f34f;2. 线程…

【计算机网络:自顶向下方法】Chapter4 网络层:数据平面

Chapter44.1 网络层概述4.1.1 网络层服务4.1.2 网络层的主要功能转发&#xff08;局部&#xff09;路由选择&#xff08;全局&#xff09;4.1.3 控制平面和数据平面传统方式SDN方式4.1.4 网络服务模型4.2 路由器组成4.2.1 路由器结构概况4.2.2 转发方式4.2.3 输入端口处理与基于…

什么是api应用程序接口?

API:应用程序接口(API:Application Program Interface) 应用程序接口是一组定义、程序及协议的集合&#xff0c;通过 API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过调用 API 函数对应用程序进行开发&#xff0c;可以减轻编程任务。…

【华为OD机试模拟题】用 C++ 实现 - TLV 编码(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明TLV 编码题目输入输出描述示例一输入输出说明Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看…

大数据技术之Hadoop

第1章 Hadoop概述1.1 Hadoop是什么1.2 Hadoop发展历史&#xff08;了解&#xff09;1.3 Hadoop三大发行版本&#xff08;了解&#xff09;Hadoop三大发行版本&#xff1a;Apache、Cloudera、Hortonworks。Apache版本最原始&#xff08;最基础&#xff09;的版本&#xff0c;对于…

模型类的编写有没有什么靠谱的优化方法?

模型类的编写需要私有属性&#xff0c;setter...getter...方法、toString方法 和构造函数。虽然这些内容不难&#xff0c;同时也都是通过IDEA工具生成的&#xff0c;但是过程还是必须得走一遍&#xff0c;那么对于模型类的编写有没有什么优化方法?可以通过Lombok来实现优化。L…

C语言--指针进阶2

目录前言函数指针函数指针数组指向函数指针数组的指针回调函数前言 本篇文章我们将继续学习指针进阶的有关内容 函数指针 我们依然用类比的方法1来理解函数指针这一全新的概念&#xff0c;如图1 我们用一段代码来验证一下&#xff1a; int Add(int x, int y) {return xy;…

idea报错idea start filed

今天遇到idea启动失败的问题 问题分析&#xff1a; address already in use&#xff1a;bind idea需要的端口被占用 解决 重启就行&#xff0c;重启会重新分配端口。 官方解决 查看给的网站地址&#xff0c;这里官方给出的原因&#xff08;访问好慢&#xff0c;搭梯子我才…

图节点嵌入相关算法学习笔记

引言 本篇笔记为coggle 2月打卡任务&#xff0c;正好也在学习cs224w&#xff0c;干脆就一起做了&#xff0c;以下是任务列表&#xff1a; 任务名称难度任务1&#xff1a;图属性与图构造低、1任务2&#xff1a;图查询与遍历低、2任务3&#xff1a;节点中心性与应用中、2任务4&…

Spark计算框架入门笔记

Spark是一个用于大规模数据处理的统一计算引擎 注意&#xff1a;Spark不仅仅可以做类似于MapReduce的离线数据计算&#xff0c;还可以做实时数据计算&#xff0c;并且它还可以实现类似于Hive的SQL计算&#xff0c;等等&#xff0c;所以说它是一个统一的计算引擎 既然说到了Spar…

js 拖动--动态改变div的宽高大小

index.html 如下&#xff1a;&#xff08;可以新建一个index.html文件直接复制&#xff0c;打开运行&#xff09; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible&qu…

Python tkinter -- 第18章 画布控件之窗口

18.2.22 create_window(position, **options) 可以在画布控件中放置其他tkinter控件。放置的方法就是使用窗口组件。一个窗口组件只能容纳一个控件。如果要放置多个控件&#xff0c;可以把这些控件作为Frame控件的子控件&#xff0c;将Frame控件放入窗口组件中&#xff0c;就可…

超简单 华为OD机试用Python实现 -【踢石头子,踢石子问题】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲踢石头子,踢石子问题题目输入输出示例一输入输出Python 代码如下所示算法思路华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/categ…