前言:
本篇文章,本人结合自己所学以及上网查阅相关资料,总结出关于Hybrid接口的产生,作用,优点以及工作流程,附带与Cisco的比较。篇幅较长,还需读者耐心阅读;由于牵扯到过多的交换知识,但并不是本篇的重心,以下是参考阅读的资料
网络100问之交换技术(壹)
网络100问之交换技术(贰)
VLAN的产生及作用
交换基础思维导图
任何东西的存在都有意义,那么为什么华为的交换机会比思科的多出个混杂模式呢?
1.首先,可以在没有三层网络设备(路由器、三层交换机)的情况下实现跨vlan通信和访问控制(前提是各个vlan中的IP地址都属于同一网段,否则,仍然需要通过三层网络设备来进行通信,但是在思科设备上,就算是相同的网段跨VLAN通信没有三层的路由是不可能的,详情请点击以上的参考资料来进行查阅)。相对于Access接口和Trunk接口具有更高的灵活性与可控性。
2.其次,两大优点促进着Hybrid的使用,即流量隔离、流量互通
流量隔离:Hybrid接口本身拥有强大的访问控制能力,通过对接口的配置可以隔离来自于同一个vlan的流量,也可以隔离来自于不同vlan的流量。
流量互通:Hybrid接口可以使不同的vlan之间在二层实现通行。Cisco交换机设备需要借助三层网络设备才可以实现不同vlan之间的通信,总的来说,二层的解决方案永远比三层的解决方案要好,因为二层的效率要高于三层。所涉及的网络层次越高,效率越低。再者说,交换机的二层可以实现硬件加速,提高效率妥妥的~
3.Hybrid接口能够灵活地控制一个接口上数据帧vlan标签的添加和移除。
Access接口模式:Access接口必须加入某一vlan(这也是默认所有接口都属于vlan1的原因),对交换机而言,该接口只能允许一个vlan流量通行,且不打vlan标签,用于连接PC、服务器、路由器(非单臂路由)等设备,一般连接的是终端设备
Trunk接口模式:该接口默认允许所有vlan通行(用于承载多个vlan通行),且对每个vlan通过打不同标识加以区分,主要用于连接交换机
Hybrid接口模式:华为交换机接口默认为Hybrid模式(Cisco交换机默认为Access模式),既可以实现Access接口的功能,也可以实现Trunk接口的功能,可以在没有三层网络设备的情况下实现跨vlan通信和访问控制,相对于Access接口和Trunk接口具有更高的灵活性与可控性。
Hybrid接口与Trunk接口的比较:
相同之处在于两种链路类型的接口都可以允许多个VLAN的报文发送时打标签(或标记,tag的翻译)
不同之处在于Hybrid接口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。
1、 只要流量进入华为的设备将马上打上标签;——华为设备内部转发的流量均存在标签
解释:
华为的交换机每个接口默认运行Hybrid,则未带标签的流量进入交换机后,直接打入PVID1,即所有的接口都属于VLAN1
2、 华为设备交换机上所有的接口存在转发允许列表,只有被转发允许列表允许的流量,才能从该接口进入或转出;
即下文要提到的tagged
3、 从某个接口转出时,除查看允许列表外,还需要定义是否标记;
即下文要提到的untagged
4、 若某个流量从交换机某个接口进入时,没有标签,将被标记上该接口pvlanid;
即所有接口都要存在标记,没有标签的就打上PVID 1
5、 若某个流量从交换机的某个接口进入时,存在标签,将匹配该接口的允许列表,若被允许则可以进入,若未被允许将被丢弃;
6、 PC若接收到存在标记的流量,将丢弃;
PC属于终端设备,即网络的终点,节点,并不会对识别带标签的流量
无论接口为任何模式,均匹配以上6条规则
只在接口发送数据帧时起作用,如果需要发送的数据的vlan标签在接口的untagged列表中,那么将去除标签,然后发送数据。
用于接收被标记的数据帧和发送数据帧,其作用类似于一个允许的vlan标识列表,当接口收到带有vlan标签的数据帧时,该接口的tag列表相当于vlan的允许列表,不在列表中的数据帧将被丢弃;当接口发送数据帧时,数据的vlan标签在接口的tag列表中,将保持标签发送数据帧,否则丢弃数据帧,若数据帧没有标记,那么就用PVID进行标记,什么是PVID?往下看吧
解释:
这里可以把tagged当作一个白名单
接口的默认PVID为vlan 1,PVID只在接收没有标记帧时起作用,PVID用于在接收未标记数据帧时给数据帧打上当前的PVID标识(Cisco交换机的Access接口会为没有标签的数据帧打上标记,但是打标记时,只能用于连接的是终端设备,而不能是交换机设备,而华为的交换机就不一样了,它可以给任何设备发送的数据帧进行打标签,包括交换机、路由器、终端设备等,深入理解了Hybrid后,你就会将“妙啊~”送给HUAWEI_Switch)。
1.若携带,检查本接口的tag列表,若tag列表中存在数据帧封装的VALN ID,则接收;若不存在,直接丢弃;
2.若不携带,那就根据Hybrid接口的PVID进行标记(注意:PVID默认为1,即交换机默认的将所有接口划分至VLAN1,这里的PVID其实就是VLAN ID,即混杂模式下,换了一种叫法而已)
这里的tag列表相当于一个白名单,存在于白名单的VLAN ID就允许通过,不在白名单上的,就不允许通过
小结:
从上面可以得出结论,接口收到数据包后的处理方式,和Hybrid接口的tag列表、PVID这两个属性有关;接口发送数据包时的处理方式,与Hybrid接口的untag列表和tag列表有关。
hybrid属性是一种混杂模式,实现了在一个untagged端口允许报文以tagged形式送出交换机。同时可以利用hybrid属性定义分属于不同的vlan的端口之间的互访,这是access和trunk端口所不能实现的。在一台交换机上不允许trunk端口和hybrid端口同时存在。
接口类型 | 数据帧携带VALN标签 | 数据帧不携带VLAN标签 |
---|---|---|
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就是VLAN
10,PC1要与PC2、3、路由器所处的VLAN
20、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通PC3,但是都可以ping通路由器
实验需求:
在2.1.1的实验需求上,添加以下需求
PC1不能访问PC4
PC2、PC3可以访问PC4
PC4可以访问路由器
分析:
- PC2、3可以访问PC4则在其连接交换机的接口上的untagged里添加VLAN40,PC4连接交换机的接口上的untagged上添加VLAN
20 30 100,路由器连接交换机的接口上的untagged列表添加VLAN 40;- 对于两交换机相连的接口为了区分不同的VLAN,则要对所有的VLAN打上标记,即在tagged上添加VLAN 10 20 30 40 100
详细配置:
创建VLAN
[SW1]vlan 40
[SW2]vlan 10
[SW2]vlan 20
[SW2]vlan 30
[SW2]vlan 100
在PC2、3、路由器连接交换机的接口上添加untagged vlan 40
[SW1-GigabitEthernet0/0/2]port hybrid untagged vlan 40
[SW1-GigabitEthernet0/0/3]port hybrid untagged vlan 40
[SW1-GigabitEthernet0/0/4]port hybrid untagged vlan 40
在PC4连接交换机的接口上配置PVID、tagged、untagged
[SW2-GigabitEthernet0/0/2]di th
#
interface GigabitEthernet0/0/2
port hybrid pvid vlan 40
port hybrid tagged vlan 40
port hybrid untagged vlan 20 30 100
#
return
在两交换机相连的接口上要配置允许tagged列表为vlan所有
[SW1-GigabitEthernet0/0/5]di th
#
interface GigabitEthernet0/0/5
port hybrid tagged vlan 1 to 4094
#
return
[SW2-GigabitEthernet0/0/1]di th
#
interface GigabitEthernet0/0/1
port hybrid tagged vlan 1 to 4094
#
return