session 1 华为交换机端口模式
一、华为交换机端口分为三种模式:access、trunk、hybird
1、access端口,用于连接主机,pvid就是该端口所属的vlan号,只能属于一个vlan
2、trunk端口,用于交换机之间连接,默认pvid是vlan1,不属于任何vlan
3、hybird端口,是一种特殊的端口类型,默认pvid是vlan1,不属于任何vlan,是交换机端口的默认模式
二、三种端口的配置命令和解释
1、access端口vlan属性
[Huawei-GigabitEthernet0/0/10]display this
#
interface GigabitEthernet0/0/10
port link-type access 配置端口的模式为access
port default vlan 2 端口属于vlan2
#
return
2、trunk端口vlan属性
[Huawei-GigabitEthernet0/0/10]display this
#
interface GigabitEthernet0/0/10
port link-type trunk 配置端口的模式为trunk
port trunk pvid vlan 2 配置端口的pvid为vlan2
port trunk allow-pass vlan 2 to 10 配置trunk允许进入的vlan-id,允许vlan1-vlan10(vlan1默认允许)
#
return
3、hybird端口vlan属性
[Huawei-GigabitEthernet0/0/10]display this
#
interface GigabitEthernet0/0/10 配置端口模式为hybrid
port hybrid pvid vlan 2 配置端口的pvid是2
port hybrid tagged vlan 10 配置端口在发送帧时不将帧中的vlan10的标签去掉(类似trunk功能)
port hybrid untagged vlan 2 配置端口在接到帧后移除vlan2的标签后转发(给主机)
#
return
pvid的作用,分为端口接收和发送数据两个方向:
1、当端口收到一个未标记的帧时,就把该帧打上vlan id,这个id值等于pvid的值,然后转发到VID和PVID相等的VLAN 中。
2、当帧从端口向外发送出去时,如果帧头中的VID和端口的PVID值相同,就把这个标识去掉,再送出去。
下面例子解释pvid的双向作用:
整个拓扑中PC1连接在sw1的g/0/1口,vlan1,PC2连接在sw2的g/0/1接口,vlan2
SW1和SW2的g0/0/3接口都是trunk模式,其中sw1的g0/0/3接口的pvid是1,sw2的g0/0/3接口的pvid是2,并且两端trunk都允许vlan 1 to 2的帧通过。
这样配置下来的结果是pc1和pc2只要在同一个网段内就可以通信,虽然vlan不同,但是可以通信。
1、pc1发送数据包给pc2过程是:pc1发送一个去往PC3的数据包到达sw1的e0/0/1接口,由于该接口属于vlan1所以sw1将受到的pc1的数据帧打上vlan1的标签(无标签),然后sw1查找PC3的mac,发现在接口g0/0/3下于是将数据包发给g0/0/3接口,当g0/0/3接口收到这个pc1发来的不打vlan标签的vlan1的帧后,就要将这个不打tag的帧发送出去,发现这个帧的VID和自己的PVID=1是相同的都是vlan1的于是就要把这个帧的tag去掉(vlan1默认就没有tag所以这里不做操作转发出去)然后转发出去。然后这个由PC1发来的帧被sw2在自己的g0/0/3接口收到,sw2发现收到的这个帧是没有tag的普通帧并且trunk接口的配置是允许vlan1、2通过所以会接收这个数据帧,并查看自己的pvid=2,于是就将这个数据包打上vlan2的tag,然后在vlan2的MAC表中查找PC3的mac地址发现在自己的e0/0/1接口上,于是将数据包转发到PC3。
2、PC3收到PC1发来的数据包后需要给PC1回包,PC3回给PC1的包经过sw2的g0/0/1后被打上了vlan2的tag,到达g0/0/3接口,SW2发现PC3发来的这个帧有tag是vlan2,而自己的pvid=2,于是就将这个tag去掉,而接口又允许vlan1、2通过,于是就将这个去掉了tag的数据包通过g0/0/3接口转发出去,被sw1在g0/0/3接口收到,sw1查看自己的trunk配置发现接口允许vlan1、2通过就接收这个帧,然后检查该帧的VID,发现没有,于是打上vlan1的tag(也就是没有tag),然后在vlan1的MAC表中查找PC1的mac地址,发现PC1连接在自己的e0/0/1接口,就会把帧从e0/0/1接口发送给PC1,这样就完成了一次PC1与PC3的互通。
交换机SW1上的配置:
[SW1-GigabitEthernet0/0/3]display this
#
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 端口pvid=1(默认)并允许vlan1、2的帧进入sw1
#
return
[SW1-GigabitEthernet0/0/1]display this
#
interface GigabitEthernet0/0/1
port link-type access 端口默认属于vlan1,连接的是pc1
#
return
交换机SW2上的配置:
[SW2-GigabitEthernet0/0/3]display this
#
interface GigabitEthernet0/0/3
port link-type trunk
port trunk pvid vlan 2 端口的pvid=2
port trunk allow-pass vlan 2 端口允许vlan1、2的帧进入sw2
#
return
[SW2-GigabitEthernet0/0/1]display this
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 2 端口属于vlan2,连接的是pc2
#
return
PC端的配置:
PC1:192.168.1.10/24
PC2:192.168.1.30/24
测试连通性
PC1>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fec3:22c4
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 192.168.1.10
Subnet mask.......................: 255.255.255.0
Gateway...........................: 0.0.0.0
Physical address..................: 54-89-98-C3-22-C4
DNS server........................:
PC1>ping 192.168.1.30
Ping 192.168.1.30: 32 data bytes, Press Ctrl_C to break
From 192.168.1.30: bytes=32 seq=1 ttl=128 time=62 ms
--- 192.168.1.30 ping statistics ---
1 packet(s) transmitted
1 packet(s) received
0.00% packet loss
round-trip min/avg/max = 62/62/62 ms
PC1>
[Huawei]clear configuration interface g0/0/1 清除接口配置,恢复默认
在hybird模式中的tag和untag:
tag是指允许通过的tag的帧,功能类似trunk的allow-vlan。untag是指当接口收到帧的时候去除哪个tag,untag=2就是收到vlan2的数据帧后将tag去掉还原成普通的帧(发给主机),类似于access接口的功能。所以hybrid模式是trunk和access接口功能的集合,可以灵活使用。
下面几个vlan划分的类型来学习hybrid端口的用法:
1、基于端口的vlan划分,这个就是普通的使用access模式做的,一般都用这个模式
2、基于ip地址的vlan划分,这个是用hybrid模式做,用于主机移动的办公环境(比如公司经常部门调整地理位置),原理是将vlan-id与ip网段进行映射绑定,只要主机的ip网段不变,那么他不管连接那个sw的那个接口都属于同一个vlan,不用担心频繁换地区导致连接sw的端口需要进行vlan的调整
配置如下:
首先将ip网络与vlan进行绑定,分别在sw1和sw2中创建vlan并绑定相应的ip网段(SW1与SW2配置相同,只以sw1为例)
vlan 2
ip-subnet-vlan 2 ip 192.168.1.0 255.255.255.0 将192.168.1.0/24与vlan2绑定,红色的数字2是id号,不是vlan号,可以随意设置但是
# 一个vlan中最多可以绑定最多12个子网网段,只有12个id号
配置sw1与sw2的级联trunk端口,并允许所有vlan通过
[SW1-GigabitEthernet0/0/3]display this
#
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 to 4094 允许所有vlan通过trunk
#
return
配置sw1连接PC的g0/0/1端口为hybrid模式,并且只允许vlan2的数据帧通过(去除vlan2的标签给pc,收到其他vlan的数据就不会去掉标签直接发给pc,而pc不能识别带有vlan标识的帧从而丢弃数据帧,达到将pc的ip绑定在vlan2中)
[SW1-GigabitEthernet0/0/1]display this
#
interface GigabitEthernet0/0/1
port hybrid untagged vlan 2 在发送帧(给PC)时只去掉vlan2的标签(带有其他vlan的帧不会去掉标签)
vlan precedence ip-subnet-vlan 配置优先使用基于ip划分的vlan模式(默认使用基于端口的vlan模式)
ip-subnet-vlan enable 启用基于ip网络的vlan划分
#
return
验证方法是将sw1或者sw2的g0/0/1端口port hybrid untagged vlan 2修改为其他vlan-id后pc之间就无法通信,可以抓包查看帧的vlan-id。或者将pc1与pc2的ip地址改为192.168.2.x也不通,是因为vlan2只绑定了192.168.1.0/24而没有绑定其他网段,而端口又只untag了vlan2的帧。
3、基于mac地址的vlan划分,与基于ip的vlan划分一样使用hybrid模式做,功能和基于ip地址的vlan划分类似
首先将pc的mac地址与vlan绑定,SW1与SW2配置相同,在vlan2中绑定pc1和pc3
vlan 2
mac-vlan mac-address 5489-98c3-22c4 priority 0
mac-vlan mac-address 5489-98ce-1433 priority 0
配置sw1与sw2之间的trunk端口,允许所有vlan帧通过
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
配置sw连接pc的接口的vlan模式优先使用mac划分vlan模式(hybrid端口默认就是mac-vlan模式),开启基于mac地址的vlan划分
interface GigabitEthernet0/0/1
port hybrid untagged vlan 2 允许vlan2的帧通过,在发送帧(给PC)时只去掉vlan2的标签(带有其他vlan的帧不会去掉标签)
mac-vlan enable 开启基于mac地址的vlan划分
#
验证方法与基于ip的vlan划分一样,或者可以将pc1与pc3改为其他网络,依然能通信,是因为使用的是基于mac的vlan划分,所以只要mac在一个vlan内,那么不管ip如何变化只要在一个网段内都能通信。