先说结论:
如果只是单纯的在交换机划分vlan,那么vlan就是二层技术。
如果你想实现vlan之间的通信,有两种方法
1:起三层vlan 也就是vlanif 或者叫svi (交换机虚拟接口),这个时候vlan工作在了三层。
2:采用单臂路由的架构实现vlan之间的通信,这个是由路由器来实现,所以这和三层vlan没什么关系。
要想弄清楚这个问题 。就要明白vlan对数据做了什么。这里以华为的产品解释一下。
大白话就是对每个数据包加上vlan tag的标记 ,一个交换机有划分多个vlan 就会产生多个vlan tag ,如果交换机从一个已经划分vlan的端口收到一个不带vlan tag的数据包 ,那么他就回给个包打上vlan tag 然后根据vlan tag 进行转发 。vlan 5 的端口收到数据包只会在vlan 5的端口里进行转发 ,其他vlan是不会收到vlan5的包,这样是不是就隔离了广播域。
这是二层vlan的作用 ,通过对原始数据包进行打标来隔离不同的广播域。
解释一个问题
对于不同vlan使用相同网段进行通信(前提是ip地址不冲突)
还是上面说的 二层转发是根据mac来转发的,交换机会有一个mac和端口的映射表,vlan只不过是在这之上有加了一个条件,如果没有vlan 那么更据mac和端口映射表就能转发,现在多了vlan tag。好的要满足vlan tag 的要求。
重点:通常交换机端口模式有access 、trunk、hybird。
前两个大家用的比较多 ,大家可能比较了解。
我这里就用hybird 来简单说明一下上面如何实现通信。
例子
vlan 10 192.168.1.1/24
vlan 20 192.168.1.2/24
如果是使用access模式 不启用三层的相关技术,一般是无法实现的。
使用hybird
1.给各自的端口打上pvid
2.然后允许对方的vlan 不带vlan tag 标记通过
具体的配置有兴趣的可以评论说一下,我用模拟器给大家展示。
大家一定会觉得这个东西很鸡肋.......
其实看情况吧,比如这样一个场景:有个公司,他有好几个部门。这些部门不要上网就是单纯的内部之间通信就可以,但有一些公共资源比如打印机、服务器这种需要大家都可以访问。怎么样以最低的成本实现客户的需求。
这样的话是不是觉得hybird还是有点用。