混杂接口详解
产生
任何东西的存在都有意义,那么为什么华为的交换机会比思科的多出个混杂模式呢?
可以在没有三层网络设备的情况下实现跨vlan通信和访问控制。相对于Access接口和Trunk接口具有更高的灵活性与可控性。两大优点促进着Hybrid的使用,即流量隔离、流量互通
流量隔离:Hybrid接口本身拥有强大的访问控制能力,通过对接口的配置可以隔离来自于同一个vlan的流量,也可以隔离来自于不同vlan的流量。流量互通:Hybrid接口可以使不同的vlan之间在二层实现通行。Cisco交换机设备需要借助三层网络设备才可以实现不同vlan之间的通信,总的来说,二层的解决方案永远比三层的解决方案要好,因为二层的效率要高于三层。所涉及的网络层次越高,效率越低。再者说,交换机的二层可以实现硬件加速,提高效率妥妥的~
Hybrid接口能够灵活地控制一个接口上数据帧vlan标签的添加和移除。
华为交换机接口模式介绍
Access接口模式:Access接口必须加入某一vlan,对交换机而言,该接口只能允许一个vlan流量通行,且不打vlan标签,用于连接PC、服务器、路由器等设备,一般连接的是终端设备Trunk接口模式:该接口默认允许所有vlan通行,且对每个vlan通过打不同标识加以区分,主要用于连接交换机Hybrid接口模式:华为交换机接口默认为Hybrid模式,既可以实现Access接口的功能,也可以实现Trunk接口的功能,可以在没有三层网络设备的情况下实现跨vlan通信和访问控制,相对于Access接口和Trunk接口具有更高的灵活性与可控性。
Hybrid接口与Trunk接口的比较:
相同之处在于两种链路类型的接口都可以允许多个VLAN的报文发送时打标签(或标记,tag的翻译)
不同之处在于Hybrid接口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。
HUAWEI_VLAN接口详解
1、 只要流量进入华为的设备将马上打上标签;——华为设备内部转发的流量均存在标签
解释:
华为的交换机每个接口默认运行Hybrid,则未带标签的流量进入交换机后,直接打入PVID1,即所有的接口都属于VLAN1
2、 华为设备交换机上所有的接口存在转发允许列表,只有被转发允许列表允许的流量,才能从该接口进入或转出;
即下文要提到的tagged
3、 从某个接口转出时,除查看允许列表外,还需要定义是否标记;
即下文要提到的untagged
4、 若某个流量从交换机某个接口进入时,没有标签,将被标记上该接口pvlanid;
即所有接口都要存在标记,没有标签的就打上PVID 1
5、 若某个流量从交换机的某个接口进入时,存在标签,将匹配该接口的允许列表,若被允许则可以进入,若未被允许将被丢弃;
6、 PC若接收到存在标记的流量,将丢弃;
PC属于终端设备,即网络的终点,节点,并不会对识别带标签的流量
无论接口为任何模式,均匹配以上6条规则
Hybrid接口的三个属性
只在接口发送数据帧时起作用,如果需要发送的数据的vlan标签在接口的untagged列表中,那么将去除标签,然后发送数据。
用于接收被标记的数据帧和发送数据帧,其作用类似于一个允许的vlan标识列表,当接口收到带有vlan标签的数据帧时,该接口的tag列表相当于vlan的允许列表,不在列表中的数据帧将被丢弃;当接口发送数据帧时,数据的vlan标签在接口的tag列表中,将保持标签发送数据帧,否则丢弃数据帧,若数据帧没有标记,那么就用PVID进行标记,什么是PVID?往下看吧
解释:
这里可以把tagged当作一个白名单
接口的默认PVID为vlanPVID只在接收没有标记帧时起作用,PVID用于在接收未标记数据帧时给数据帧打上当前的PVID标识。
混杂接口的工作方式
当switch的接口接收到一个数据帧后,先查看此数据帧有没有携带标签
若携带,检查本接口的tag列表,若tag列表中存在数据帧封装的VALNID,则接收;若不存在,直接丢弃;
若不携带,那就根据Hybrid接口的PVID进行标记
这里的tag列表相当于一个白名单,存在于白名单的VLAN ID就允许通过,不在白名单上的,就不允许通过
Switch要发出数据帧时,那么需要检查本接口的untagged和tagged这两个列表。若数据包的vlanID存在untagged列表中,就给该数据去掉vlanID,使其变成原始以太网数据帧,因为终端设备或路由器不能识别vlanI。若存在tag列表,则直接放行,保留数据原有的vlanID。
小结:
从上面可以得出结论,接口收到数据包后的处理方式,和Hybrid接口的tag列表、PVID这两个属性有关;接口发送数据包时的处理方式,与Hybrid接口的untag列表和tag列表有关。
hybrid属性是一种混杂模式,实现了在一个untagged端口允许报文以tagged形式送出交换机。同时可以利用hybrid属性定义分属于不同的vlan的端口之间的互访,这是access和trunk端口所不能实现的。在一台交换机上不允许trunk端口和hybrid端口同时存在。
使用表格来进行比较说明
接口接收报文时的处理
Access | 丢弃 | 为该报文打上VLAN标记为本接口的PVID |
Trunck | 判断本接口是否允许携带该VLAN标记的报文通过。如果允许则报文携带原有VLAN标记进行转发,否则丢弃 | 同上 |
Hybrid | 检查本接口的tag列表,若tag列表中存在数据帧封装的VALN ID,则接收;若不存在,直接丢弃; | 同上 |
接口发送报文时的处理
Access | 去掉数据帧的VLAN标记,进行转发 |
Trunk | 首先判断报文所携带的VLAN标记是否和端口的PVID相等。如果相等,则剥掉报文所携带的VLAN标记,进行转发;否则报文将携带原有的VLAN标记进行转发 |
Hybrid | 检查本接口的untag和tag这两个列表。若数据包的vlan ID存在于untag列表中,处理方式与Access相同,若数据包的vlan ID存在于tag列表,则直接放行,保留数据原有的vlan ID,处理方式与Trunk相同 |
总结
华为vlan:
1、任何流量在一个交换机内部转发时必须携带标签
2、PC接收到的流量必须为正常流量,不识别携带标签的流量
流量进入一个接口时,先看该流量是否携带标签:
1、若未携带标签将压入该接口的PVID,之后先查看本接口的允许列表是否允许该vlan,若允许将在交换机上寻找出口,否则丢弃;
2、若携带标签,直接查询本接口的允许列表是否允许该vlan;
注:在流量进入接口时,仅关注vlan允许列表中的数字,不关注是否标记;
流量从一个接口出时,查询该接口的vlan允许列表,关注是否标记;
不同的接口模式的配置权限:
接入模式:该接口的pvid和允许列表必须为同一个vlan,且允许列表中只能为允许一个vlan,必然是不标记;
中继模式:该接口的允许列表可以在存在多个,但是不能自主定义该接口允许列表中,是否对某个vlan的流量进行标记;永久规则为PVID对应vlan不标记,其他vlan全部标记;
混杂模式:该接口的允许列表可以存在多个,可以自主定义对各个vlan的是否标记;
配置
各类接口模式
接入模式:只能允许一个VLAN通过(允许列表无法直接定义);PVLAN就是允许VLAN;且一定为不标记
[sw1]interfaceGigabitEthernet 0/0/5
[sw1-GigabitEthernet0/0/5]port link-type access
[sw1-GigabitEthernet0/0/5]port default vlan 2
中继模式:所有VLAN均可手动添加到允许列表中,默认仅pvlan在允许列表,且pvlan的出规则为不标
记,其他VLAN出规则为标记;
[sw1]interfaceGigabitEthernet 0/0/6
[sw1-GigabitEthernet0/0/6]port link-type trunk
[sw1-GigabitEthernet0/0/6]port trunk pvidvlan 2
[sw1-GigabitEthernet0/0/6]port trunk allow-pass vlan all
混杂模式:所有VLAN均可手动添加到允许列表中,且可以在允许通过时,定义是否标记;
默认PVLAN 为VLAN1,出向规则为不标记;一旦PVLAN被修改,那么需要手工添加该VLAN到允许列表,同时可以定义是否标记;
[sw1]interfaceGigabitEthernet 0/0/7
[sw1-GigabitEthernet0/0/7]port hybrid tagged vlan 2 to 3
[sw1-GigabitEthernet0/0/7]port hybrid untagged vlan 4 to 5
[sw1]display port vlan active查看接口的VLAN转发规则;
1、创建vlan
[SWA]vlan 10
[SWA-vlan10]quit
[SWA]vlan batch 2 to 3 5 10 批量创建vlan2-3,5,10
2、接口划入vlan
单个接口修改接口模式为access
[SWA]interface GigabitEthernet 0/0/5
[SWA-GigabitEthernet0/0/5]port link-type access
批量修改为access
[Huawei]port-group 1
[Huawei]group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/10
[Huawei]port link-type access
单个将接口划分到vlan
[SWA]interface GigabitEthernet0/0/5
[SWA-GigabitEthernet0/0/5]port default vlan 3
批量将接口划分到vlan2
[Huawei]vlan 2
[Huawei-vlan2]port GigabitEthernet 0/0/1 to 0/0/2
3、trunk干道
进入接口后先修改接口类型为trunk模式;再定义该trunk干道可以允许通过的vlan;默认trunk干道的PVLAN-类似cisco的native vlan为vlan1,默认对vlan1 的流量不标记,且其他添加到允许列表也可正常通过
[SWA-GigabitEthernet0/0/1]port link-type trunk
[SWA-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all 允许所有vlan通过
[Huawei-GigabitEthernet0/0/1]port default vlan 3 修改trunk干道上的pvlan,注一旦pvlan不是默认的vlan1 了,那么需要在允许条件中添加新的PVLAN;此时原有的vlan1 不再是pvlan,需要手工将其添加到允许列表中;
将接口模式修改为hybrid (注意,华为交换机的接口模式默认为hybrid,在hybrid中指定的PVID其实就是以上第二部步中的将接口划入VLAN,这个要铭记,PVID其实就是VID【VLAN ID】,换了一种叫法而已)
[SW1]interface GigabitEthernet0/0/1
[SW1-GigabitEthernet0/0/1]port hybrid pvid vlan 10
[SW1-GigabitEthernet0/0/1]port hybrid tagged vlan 10
[SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 20 30 100
4、vlan间路由器
单臂路由—子接口—交换机连接路由器的那个交换机接口修改trunk模式
[RTA]interface GigabitEthernet0/0/1.1
[RTA-GigabitEthernet0/0/1.1]dot1q termination vid 2
[RTA-GigabitEthernet0/0/1.1]ip address 192.168.2.254 24
[RTA-GigabitEthernet0/0/1.1]arp broadcast enable
[RTA]interface GigabitEthernet0/0/1.2
[RTA-GigabitEthernet0/0/1.2]dot1q termination vid 3
[RTA-GigabitEthernet0/0/1.2]ip address 192.168.3.254 24
[RTA-GigabitEthernet0/0/1.2]arp broadcast enable
DHCP 池塘配置
dhcp enable 先全局开启DHCP服务
再接口开启dhcp服务,每个子接口单独开启
[r1]interfaceGigabitEthernet 0/0/0.1
[r1-GigabitEthernet0/0/0.1]dhcp select global
再定义池塘
ip pool v3
gateway-list 192.168.2.1
network 192.168.2.0 mask 255.255.255.0
dns-list 114.114.114.114
实验配置演示
以上的理论说了这么多,不乏枯燥与乏味,下面就来实战巩固一下
实验一
实验拓扑及需求如下实验需求:
VLAN需求:
PC1、2、3、路由器对应的分别是VLAN10、20、30、100
业务需求:
PC1和PC2之间可以互访;
PC1和PC3之间可以互访;
PC1、PC2和PC3都可以访问服务器;
其余的PC间访问均禁止。
分析:
PC1连接交换机的接口的PVID就是其所处的VLAN,所以是10,此接口进入时需要匹配tagged列表,所以tagged就是VLAN10,PC1要与PC路由器所处的VLAN20、30、100能通,所以untagged列表要出现这三个VLAN号;其他设备分析方式相同
详细配置:
创建VLAN
[SW1]vlan 10
[SW1]vlan 20
[SW1]vlan 30
[SW1]vlan 100
[SW1-GigabitEthernet0/0/1]di th
#
interface GigabitEthernet0/0/1
port hybrid pvid vlan 10
port hybrid tagged vlan 10
port hybrid untagged vlan 20 30 100
#
return
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]di th
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 20
port hybrid tagged vlan 20
port hybrid untagged vlan 10 100
#
return
[SW1-GigabitEthernet0/0/3]di th
#
interface GigabitEthernet0/0/3
port hybrid pvid vlan 30
port hybrid tagged vlan 30
port hybrid untagged vlan 10 100
#
return
[SW1-GigabitEthernet0/0/4]di th
#
interface GigabitEthernet0/0/4
port hybrid pvid vlan 100
port hybrid tagged vlan 100
port hybrid untagged vlan 10 20 30
#
return
测试:PC1可以ping通所有设备PC2不能ping通PC但是都可以ping通路由器
实验二
实验拓扑如下
实验需求:
在2.1.1的实验需求上,添加以下需求
PC1不能访问PC4
PC2、PC3可以访问PC4
PC4可以访问路由器
分析:
PC3可以访问PC4则在其连接交换机的接口上的untagged里添加VLAN40,PC4连接交换机的接口上的untagged上添加VLAN2030100,路由器连接交换机的接口上的untagged列表添加VLAN40;对于两交换机相连的接口为了区分不同的VLAN,则要对所有的VLAN打上标记,即在tagged上添加VLAN10203040100
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点