当前位置: 首页 > news >正文

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,即使在相机数据无效的那段时间内&#xff…...

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]…...

账号运营的底层逻辑---获客思维

什么是运营? 运营是做什么的? 什么是内容运营? 什么是活动运营? 一篇带你搞清楚所有的底层逻辑!...

Pinia中如何实现数据持久化操作

使用vue3中的pinia,我们可以在多个页面间共享数据,但是一旦我们关闭或刷新页面,这些数据就会丢失,因此,我们需要有一种数据持久化的解决方案。在记录vue3 使用vue3中的pinia,我们可以在多个页面间共享数据&…...

【owt-server】RTC视频接收调用流程学习笔记1: Call::CreateVideoReceiveStream 前后

WebRTC源码分析——Call模块 大神提到,call模块是在worker线程创建的。主要创建接收、发送流Call模块是WebRTC会话中不可缺少的一个模块,一个Call对象可以包含多个发送/接收流,且这些流对应同一个远端端点,并共享码率估计。 call中通过webrtc::VideoReceiveStream::Config …...

淘宝商品链接获取淘宝商品评论数据(用 Python实现淘宝商品评论信息抓取)

在网页抓取方面,可以使用 Python、Java 等编程语言编写程序,通过模拟 HTTP 请求,获取淘宝多网站上的商品详情页面评论内容。在数据提取方面,可以使用正则表达式、XPath 等方式从 HTML 代码中提取出有用的信息。值得注意的是&#…...

十九、类型信息(1)

本章概要 为什么需要 RTTI RTTI(RunTime Type Information,运行时类型信息)能够在程序运行时发现和使用类型信息 RTTI 把我们从只能在编译期进行面向类型操作的禁锢中解脱了出来,并且让我们可以使用某些非常强大的程序。对 RTTI …...

十八、字符串(3)

本章概要 正则表达式 基础创建正则表达式量词CharSequencePattern 和 Matcherfinde()组(Groups)start() 和 end()Pattern 标记split()替换操作reset()正则表达式与 Java I/0 正则表达式 很久之前,_正则表达式_就已经整合到标准 Unix 工具…...

基于SSM的酒店预约及管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...

MIxformerV2的onnx和tensorrt加速

MIxformerV2的onnx和tensorrt加速 注意事项 地址:github地址 注意事项 转换成onnx模型之前,最好现简化算法的源代码,使其结构干净。因为在进行onnx转换后,可能在进行onnx→trt时算子不匹配,这时就需要去查看模型的源…...

Kotlin 中let 、run 、with、apply、also的用法与区别

实例代码 User(val userName:String,val age:Int){fun printName(){println(userName)}fun getUserName():String{return userName}} let 函数 let 函数常用来与对象的空判断一起用,起到作用于的限定效果。let 函数最后一行返回值。(比如实例需要let函…...

PHP函数的定义与最简单后门原理

PHP函数的定义与最简单后门原理 文章目录 PHP函数的定义与最简单后门原理函数的定义函数调用的过程变量的范围局部变量全局变量 可变函数动态函数 PHP 最简单后门原理分析 函数的定义 使用function关键字来定义一个函数定义函数的函数名避开关键字形式参数是传递映射的实际参数…...

PlantSimulation访问本地Excel文件的方法

PlantSimulation访问本地Excel文件的方法 PlantSimulation访问本地Excel文件的方法PlantSimulation访问本地Excel文件的方法 //Param StatusTable,T_DataTable:object var T_DataTable:object:=DataTable IF NOT isComputerAccessPermittedMESSageBox("计算机访问被阻止,…...