时间:2017-08-17来源:东坡网作者:zhijie
2.Trunk和三层没有任何关系
如果一个VLAN交换机上配置了两个VLAN,分别为VLAN1和VLAN2,另外几台VLAN交换机上可能也需要配置VLAN1和VLAN2,毕竟单独一台机器的口子有限,因此对于组网,不级联的拓扑是很少见的,现在关键的问题就是需要让处在不同VLAN交换机的口子可以属于同一个VLAN,即属于同一个广播域。办法很简单,那就是每一个VLAN用一个线将两个VLAN交换机上属于同一个VLAN的口子连起来,如果两台交换机上分别有3个VLAN,那就扯3根线。。。这不得不说是一个好方法,但决不是一个妙方法。对于硬件上的体力活儿,软件一般都能很好的解决,这一次,又是软件帮了忙,正如VLAN的概念提出时那样。
Trunk标准提出来了,所谓的Trunk就是可以让多个VLAN在两个交换机级联时复用一根线,因此软件上需要对数据帧做一些文章,以便数据帧到达另一个交换机的时候知道自己属于哪个VLAN从而限制帧的传输域,802.1q正是做这个的,从而这也成了VLAN的核心。Trunk只是简化了布线,降低了硬件成本,这是一个通过软件降低硬件成本的绝好的例子。
既然Trunk可以通过多个VLAN的数据,那么实际上Trunk是将广播域延伸到了另外一台交换机上,而对于LAN,其广播域延伸到哪里,LAN也就延伸到了那里。事实上这并不与VLAN的初衷之一-限制广播域相冲突,Trunk将广播透传的时候是打着VLAN id标记的,也就是说广播除了可以在Trunk上或者在自己VLAN内部传输,是决不会到达其它VLAN里面的,如果一个广播到达了这样一个交换机,其上既没有别的Trunk口,也没有广播携带的VLAN id对应的VLAN,那么广播也就到此为止而消失了。
到此为止,丝毫没有任何第三层的概念出现。
3.VLAN接口的概念
VLAN接口的概念和Linux上Bridge的实现十分相像,就是可以为一个VLAN配置一个或者多个接口,在该接口上可以指定三层的IP地址,在VLAN的某一个口子(物理二层接口)上配置这样一个VLAN接口(三层接口)实际上就等同于在VLAN的该口子上插入了一台三层设备,只是这台设备是一台虚拟的设备罢了,另外和真正插一台设备不同的是,由于它是处在本机内部的,因此它所配置IP地址当然也就属于本机IP地址了,处在路由表的Local域中。
理解了这一点就会明白,实际上配置了VLAN接口的VLAN交换机实际上是往纯VLAN交换机里面硬塞了一台三层设备,二者合而为一,因此更能加深对“VLAN交换机是一个纯二层的设备”这个观点的认识。
4.LAN交换机上可以配置IP地址
姑且先抛开VLAN的概念,说一下LAN交换机。一般以为LAN交换机是纯二层的设备,可是知道了VLAN接口的概念后,我们发现即使没有VLAN,也是可以将一台虚拟的三层设备插入到一个LAN交换机的口子上去的,其实Linux的软Bridge就是这样做的,那么内置了三层虚拟设备的LAN交换机就有了三层的功能。这是什么呢?还是以Linux为例,在Linux上配置两个Bridge,分别为br0,br1,在br0上配置IP地址1.1.1.1/24,在br1上配置IP地址2.2.2.2/24,我们就可以看到br0标示的一个LAN上的流量可以通过br0的IP地址被路由到br1,反之,br1标示的LAN流量也可以通过br1的IP地址路由到br0,这是什么?这就是三层交换机,一个将路由器接口变成交换机接口的路由器,这部三层交换机上拥有两组LAN接口,虽然可以略见VLAN的概念,但是没有任何标准说这个三层交换机上的两组LAN就是两个VLAN。
可见,三层交换机可以和VLAN没有关系。
2023-03-16
Linux通过shell脚本创建SVN版本库的方法2023-03-16
Linux安装使用Axel的步骤2023-03-16
Fedora系统ifconfig和netstat命令找不到的解决方法Linux系统下netstat命令的用法有很多,能够列出所有端口,显示当前UDP连接状况,今天小编要给大家介绍的是Linux使用netstat命令查看80端口连接数的方法,不了解的朋友可以来学习下。...
2023-03-16
Linux在启动sshd服务的时候,出现错误提示,提示Could not load host key:/etc/ssh/ssh_ed25519_key,这段错误代码是什么意思呢?遇到该错误代码该如何解决问题呢?随小编一起来学习下吧。...
2023-03-16