什么是VLAN呢?
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。
VLAN的数据帧和传统的以太网数据帧有什么区别呢?
IEEE 802.1Q是VLAN的正式标准,在传统的以太网数据帧基础上(源MAC地址字段和协议类型字段之间)增加4个字节的802.1Q Tag。
其中,数据帧中的VID(VLAN ID)字段用于标示该数据帧所属的VLAN,数据帧只能在所属VLAN内进行传输。
VLAN有哪些作用呢?
由上图可以看出,通过划分不同的VLAN,VLAN内的主机间可以直接通信,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内。这里小编总结了下VLAN技术的优点,一起来看下吧:
- 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
- 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
- 提高网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
- 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
VLAN数据帧在经过各接口时是如何处理的呢?
设备上都有哪些类型的接口呢?跟随小编一起看下吧!
- Access接口:交换机上用来连接用户主机的接口,它只能连接接入链路(Access Link)。
- Trunk接口:交换机上用来和其他交换机连接的接口,它只能连接干道链路(Trunk Link)。
除此之外,还有一种接口叫Hybrid接口,是交换机上既可以连接用户主机,又可以连接其他交换机的接口。Hybrid接口既可以连接接入链路又可以连接干道链路。
Hybrid接口和Trunk接口在接收数据时,处理方法是一样的。唯一不同之处在于:发送数据时,Hybrid接口可以允许多个VLAN的报文发送时不打标签,而Trunk接口只允许缺省VLAN的报文发送时不打标签。
接口类型不同,交换机对VLAN数据帧的处理过程也不同。具体处理方式如下:
acess接口收发数据包处理流程
Trunk接口收发数据包处理流程
Hybrid接口收发数据包流程
3种类型总结:
案例演示
1.基本配置
按照上图的规划,完成基本的配置:
vlan batch 10
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
interface GigabitEthernet0/0/23
port link-type access
vlan batch 20
interface GigabitEthernet0/0/1
port hybrid pvid vlan 20
interface GigabitEthernet0/0/23
port link-type access
#
interface GigabitEthernet0/0/24
port link-type trunk
vlan batch 30
interface GigabitEthernet0/0/24
port link-type trunk
interface GigabitEthernet0/0/1.30
dot1q termination vid 30
ip address 10.1.10.254 255.255.255.0
arp broadcast enable
2.实现PC1与PC2互访
根据VLAN 通信规则,相同VLAN可以一起通信。所以在SW1的GE0/0/23也打上VLNA10的标签:
interface GigabitEthernet0/0/23
port link-type access
port default vlan 10
这时,它们还不能通信,原因是一边是VLAN10,一边是VLAN 20。关键是在SW2的GE0/0/23是配置VLAN10还是VLAN 20呢?聪明的小伙伴,已经知道了是要打上VLAN20了,原因很简单相同VLAN可以相互通信。SW2的GE0/0/1是配置了缺省VLAN ID是20,
interface GigabitEthernet0/0/23
port link-type access
port default vlan 20
interface GigabitEthernet0/0/1
port hybrid pvid vlan 20
port hybrid untagged vlan 20
验证结果:
3.实现PC1与路由器R1通信
当PC1数据包来到SW2的GE0/0/24时,携带的是VLAN20的标签,而且Truk的默认PVID是1,数据包到了路由器哪里由于两个VLAN ID不同,所以不能通信。实现思路:
- 当数据包来的SW2的GE0/0/24接口,剥离20标签,并运行20通过
- 当数据包来到SW3的GE0/0/1接口上,打上30的标签,并运行30通过
关键代码如下:
# SW2
interface GigabitEthernet0/0/24
port link-type trunk
port trunk pvid vlan 20
port trunk allow-pass vlan 20
# SW3
interface GigabitEthernet0/0/24
port link-type trunk
port trunk pvid vlan 30
port trunk allow-pass vlan 30
interface GigabitEthernet0/0/1
port hybrid pvid vlan 30
port hybrid tagged vlan 30
验证结果:
拓扑地址存放地址https://gitee.com/didiplus/datacom.git 如果小伙伴想学数通的可以关注这个项目,后期所有的拓扑项目都存放在这里,也欢迎有兴趣的小伙伴一起维护。为了不忘记每一期的,可以点击watch关注这个项目 :