HCIA数据通信——交换机(Vlan间的通信与安全)
前言
之前的提到了交换机的概念和实验。不过交换机的一些功能还没有说完,我们的实验也仅仅是阻止相同地址段的IP地址互通,也没有用到子接口和路由器。显然,那样的配置过于简单。
端口安全
Port Security(端口安全)的功能会通过MAC表项记录连接到交换机端口的以太网MAC地址,我们可以设置交换机允许哪些MAC地址通过本端口通信。而未知的设备(也就是未知的MAC)发来的数据会被阻止通信。
因为使用端口安全功能可以防止未经允许的设备访问网络,所以增强了安全性。另外,端口安全功能也可用于防止MAC地址泛洪造成的MAC地址表填满。这就意味着我们可以设置最大的设备访问数量。
总而言之有两个优点:
通过MAC表项绑定设备以拒绝外来电脑访问公司网络,以保障安全;
通过设置最大可学习的MAC数量防止设备过多导致的MAC地址泛洪从而造成地址表填满。
端口安全实验
我们构建如下拓扑,并配置好Access的用户接入和到设备的Trunk功能:
我在此默认划分到Vlan 1可放行所有设备通过
下面,我们开始配置端口安全:
接着我们为路由器配置好相应的网关后,ping以下路由器网关查看结果:
可以发现能够连通
此时我们更换设备,将PC1换成PC4,将其划分到Vlan 1后再次ping路由器:
可以发现无法Ping通
这个是因为我们换了设备以后,虽然仍然使用的是交换机曾划分过VLAN的接口,但是MAC地址变更了,且交换机该接口限制学习的MAC表项数量为1个,且与该MAC绑定了。因此设备从PC1换成PC4以后,原交换机int g0/0/2接口的Mac地址表与PC1的Mac地址绑定了,且学习接口限制为1个已经无法继续学习其它Mac表项了。这才导致无法Ping通。
VLAN间通信
我们知道交换机隔离冲突域;路由器隔离冲突域和广播域;而VLAN也是可以隔离广播域和冲突域的技术。VLAN可以减小广播域或冲突域的范围,提高网络通信能力。我们上述的通信一直是以同一IP段的方式进行Vlan间通信。那么不同Vlan之间可以通信吗?当然能,不同的Vlan间通信是可以实现的。这也是Vlan技术的另一大特点。其中有两种配置方式:VLAN IF接口或者单臂路由。
子接口
如果一个网络中需要很多VLAN,路由器不可能有无数的物理接口提供给交换机,交换机也不具备如此多的物理接口连接设备。子接口是为了打破了物理接口的局限性,路由器可以把物理接口通过划分为多个子接口的方式,从而实现多个VLAN间的路由与通信。
VlAN IF接口就是虚拟接口,我们也可以管它叫子接口。子接口是逻辑链路,它需要物理接口作为承载,一个物理接口可以创建4096个子接口。如果物理接口断了,其通过该物理接口创建的子接口也会消失。
子接口的优缺点
优点:打破物理接口的数量限制,一个接口实现多个VLAN间的通信。
缺点:子接口太多会导致争抢带宽,导致数据传输效率受到抑制。
因此,建议不要把子接口全部配置在一条物理接口上面,尽量把子接口分布在不同的物理接口上,以避免传输效率问题。
二层交换机和三层交换机
二层交换机主要用于网络接入层和汇聚层,而三层交换机主要用于网络核心层,但是也可以在汇聚层应用。
二层交换机支持物理层和数据链路层协议,而三层交换机支持物理层、数据链路层及网络层协议。
二层交换机查找MAC表,通过MAC地址表跟ARP协议进行二层转发;三层交换机的原理也是如此,只不过在二层无法通信时,三层交换机会判断是否需要进行三层通信,就将数据交给网络层,进行三层处理,最终一般是将数据发到网关来完成三层通信的。
因此我们可以得知,三层交换机是可以配置IP地址的——在vlanif(子接口)配置不同vlan的IP地址,使得不同vlan之间可通过三层路由实现通讯。但是二层交换机无法配置IP地址。不过实际上,在交换机看来,只是让它们三层(网络)互通了而已、它的二层仍然是隔离的。
配置VLAN IF接口
VLAN IF口可以配置IP地址,三层交换机的VLAN IF接口会自动生成对应网段的直连路由。只需在终端将网关设置为VLAN IF接口地址,就能在隔离广播域的同时,通过三层实现通信。接下来我们就完成三层交换实验的配置。
准备好下列拓扑,并配置相应IP地址和网关(注意线和接口的选择):
随后创建Access并划分VLAN:
随后,我们为相应VLAN的接口地址作为VLAN主机的网关地址:
最后发现我们可以ping通:
重点
[Huawei-GigabitEthernet0/0/2]int vlanif 10
[Huawei-Vlanif10]ip add 10.1.1.2 24
[Huawei-Vlanif10]int vlanif 20
[Huawei-Vlanif20]ip add 20.1.1.2 24
配置单臂路由
二层设备不像三层设备,无法配置vlanif接口。那么可以使用单臂路由。
我们在路由器连接交换机的那个接口上开启子接口,并为每一个子接口配置对应的IP地址和dot1q vid。随后把终端的子接口地址设置为网关之后就能实现和vlanif相同的效果。
注:dot1q就是802.1q,是vlan的一种封装方式。dot为点,就是“.1q”
下面我们开始配置,构建一下拓扑及信息:
之后我们配置好交换机的Access和Trunk,这块儿配置就省略了 。
接下来配置路由器的子接口(注:华为的子接口没有开启ARP请求,需要开启ARP请求获取对端MAC后才能通信)以子接口int g0/0/0.1为例 :
此时,我们可以看到PC1对网关和地址都能Ping通:
重点
[Huawei]int g0/0/0.1 //进入子接口
[Huawei-GigabitEthernet0/0/0.1]dot1q termination vid 10 //允许为802.1q的Vlan 10流量通行
[Huawei-GigabitEthernet0/0/0.1]arp broadcast enable //开启ARP广播
[Huawei-GigabitEthernet0/0/0.1]ip add 10.1.1.2 24 //添加IP网关
后续
基本上就这样,熟悉指令背后的原理后,就是多打命令,不敲手太生了
相关文章:

HCIA数据通信——交换机(Vlan间的通信与安全)
前言 之前的提到了交换机的概念和实验。不过交换机的一些功能还没有说完,我们的实验也仅仅是阻止相同地址段的IP地址互通,也没有用到子接口和路由器。显然,那样的配置过于简单。 端口安全 Port Security(端口安全)的功…...

Linux shell编程学习笔记16:bash中的关联数组
上一节我们探讨了普通的数组,即使用数字下标来索引数组中不同的元素的数组,也可以称之为索引数组。 相比纯粹的数字,字符串不仅能表明含义,也更便于记忆使用,于是就有了关联数组。 一、关联数组概述 bash 从4.0开始支…...
浏览器是怎么执行JS的?——消息队列与事件循环
看完渡一的课后,感觉这块内容确实非常重要,写 JS 的连 JS 的执行原理都不知道可不行。 事件循环 在写 JS 的时候,你有没有想过 JS 是按照什么顺序执行的?浏览器是怎么执行 JS 代码的?为什么有时候代码没有按照我们认为…...

IMU预积分的过程详解
一、IMU和相机数据融合保证位姿的有效性: 当运动过快时,相机会出现运动模糊,或者两帧之间重叠区域太少以至于无法进行特征匹配,所以纯视觉SLAM对快速的运动很敏感。而有了IMU,即使在相机数据无效的那段时间内ÿ…...
TypeScript中的类型运算符
类型运算符 1. keyof运算符 1. 简介 是一个单目运算符,接受一个对象类型作为参数,返回该对象的所有键名组成的联合类型。 type MyObj {foo: number,bar: string, };type Keys keyof MyObj; // foo|bar这个例子keyof MyObj返回MyObj的所有键名组成的…...

【蓝桥杯选拔赛真题03】C++输出字母Y 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析
目录 C/C++输出字母Y 一、题目要求 1、编程实现 2、输入输出 二、算法分析...
redis搭建集群-多实例快速搭建
1.基础的redis.conf的配置 # Redis configuration file example. # # Note that in order to read the configuration file, Redis must be # started with the file path as first argument: # # ./redis-server /path/to/redis.conf# Note on units: when memory size is ne…...

为什么进行压力测试? 有哪些方法?
在信息技术飞速发展的今天,软件系统的性能已经成为了用户满意度的决定性因素之一。而要确保一个系统在实际使用中能够稳定可靠地运行,压力测试就显得尤为关键。本文将深入探讨什么是压力测试,为什么它是如此重要,以及一些常见的压…...

Java开发者必备:支付宝沙箱环境支付远程调试指南
🔥博客主页: 小羊失眠啦. 🔖系列专栏: C语言、Linux、Cpolar ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 前言1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级…...

基于STM32温湿度传感器采集报警系统设计
**单片机设计介绍,1648【毕设课设】基于STM32温湿度传感器采集报警系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序程序 六、 文章目录 一 概要 这次的设计主要是通过读取DHT11和HCSR04的数值,(Proteus的传感器…...

檢測項目簡體字
某些項目可能要求代碼中不允許使用簡體字 安裝stcheck檢查 yarn add stcheck --dev在項目根目錄創建 st.config.json 文件 {"patterns": ["./**/*.(ts|js|tsx|jsx|vue|html)","!**/node_modules/**","!.git/**"],"gitignore&q…...

适用于嵌入式arm的ffmpeg编解码
在嵌入式arm应用开发中,经常会遇到需要处理视频的情况,这时候就需要强大的开源工具ffmpeg出马了。 这里可以下载到各个版本的ffmpeg。 ffmpeg各版本https://www.videohelp.com/software/ffmpeg/old-versions 现在ffmpeg更新较频繁,如…...
nlp与知识图谱代码解读_词嵌入
目录 词嵌入简单原理代码案例解读专业原理介绍场景 词嵌入 简单原理 可以使用一些比喻和生活中的例子: 老师: 你们还记得玩乐高积木的时候,每个积木块代表了一个特定的事物或形状吗?现在,想象一下,每个词…...
HarmonyOS 音频通话开发指导
常用的音频通话模式包括 VOIP 通话和蜂窝通话。 ● VOIP 通话:VOIP(Voice over Internet Protocol)通话是指基于互联网协议(IP)进行通讯的一种语音通话技术。VOIP 通话会将通话信息打包成数据包,通过网络进…...

LeetCode讲解篇之面试题 01.08. 零矩阵
文章目录 题目描述题解思路题解代码 题目描述 题解思路 遍历矩阵,若当前元素为零,则将该行和该列的第一个元素置零 遍历第一行,若当前元素为零,则将当前列置零 遍历第一列,若当前元素为零,则将当前行置零 …...

安装python虚拟环境
什么是虚拟环境: 虚拟环境的意义,就如同 虚拟机 一样,它可以实现不同环境中Python依赖包相互独立,互不干扰。 环境准备 安装python (到官网下载Download Python配置环境变量,cmd进入命令行输入 python…...

【App 抓包提示网络异常怎么破?】
背景 当你测试App的时候,想要通过Fiddler/Charles等工具抓包看下https请求的数据情况,发现大部分的App都提示网络异常/无数据等等信息。以“贝壳找房”为例: 455 x 705 Fiddler中看到的请求是这样的: 619 x 215 你可能开始找证书的问题:是不是Fiddler/Charles的证书没有…...

【开发篇】一、处理函数:定时器与定时服务
文章目录 1、基本处理函数2、定时器和定时服务3、KeyedProcessFunction下演示定时器4、process重获取当前watermark 前面API篇完结,对数据的转换、聚合、窗口等,都是基于DataStream的,称DataStreamAPI,如图: 在Flink…...

重入漏洞EtherStore
重入漏洞 // SPDX-License-Identifier: MIT pragma solidity ^0.8.13;contract EtherStore {mapping(address > uint) public balances;function deposit() public payable {balances[msg.sender] msg.value;}function withdraw() public {uint bal balances[msg.sender]…...

账号运营的底层逻辑---获客思维
什么是运营? 运营是做什么的? 什么是内容运营? 什么是活动运营? 一篇带你搞清楚所有的底层逻辑!...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...

VSCode 没有添加Windows右键菜单
关键字:VSCode;Windows右键菜单;注册表。 文章目录 前言一、工程环境二、配置流程1.右键文件打开2.右键文件夹打开3.右键空白处打开文件夹 三、测试总结 前言 安装 VSCode 时没有注意,实际使用的时候发现 VSCode 在 Windows 菜单栏…...

RKNN开发环境搭建2-RKNN Model Zoo 环境搭建
目录 1.简介2.环境搭建2.1 启动 docker 环境2.2 安装依赖工具2.3 下载 RKNN Model Zoo2.4 RKNN模型转化2.5编译C++1.简介 RKNN Model Zoo基于 RKNPU SDK 工具链开发, 提供了目前主流算法的部署例程. 例程包含导出RKNN模型, 使用 Python API, CAPI 推理 RKNN 模型的流程. 本…...
python数据结构和算法(1)
数据结构和算法简介 数据结构:存储和组织数据的方式,决定了数据的存储方式和访问方式。 算法:解决问题的思维、步骤和方法。 程序 数据结构 算法 算法 算法的独立性 算法是独立存在的一种解决问题的方法和思想,对于算法而言&a…...