上次我们讲到了怎么使用vlan将交换机上的广播域在逻辑上进行分割。有同学就问了,假如公司有多个楼层,每个楼层都有一个交换机,怎么把这些交换机连起来让不同楼层的相同部门也能互相通信呢?
有的同学想:我把vlan理解成逻辑的小交换机,那我只要给每个vlan都多划分一个接口用于级联,这样将楼层之间的相同vlan连接到一起就可以实现互相通信了。
这个办法的确能实现需求,但是如果有很多个vlan,是不是过于浪费接口了。假如有5个vlan,那至少每个交换机就要拿出5个接口用于级联,如果串联交换机数量超过2台,那中间的交换机就要拿出10个接口用于级联,可是交换机普遍都是24口或者48口的,这样浪费接口显然不合适,况且如果有上百个vlan的话该怎么办呢?
这时候就该我们的trunk技术登场了,相对于access链路,trunk链路可以同时承载多个vlan的流量,适合交换机之间的级联使用,那么trunk是怎么实现的这种功能呢?从trunk链路收到数据帧以后,交换机是怎么知道这个数据帧属于哪个vlan的呢?
其实原理很简单,我们用IEEE802.1q封装来举例,当数据帧进入trunk链路时会在数据帧的封装中加入了一个tag字段,标记这个数据帧属于哪一个vlan,接收到数据帧的交换机识别到tag标记后,知道要转发到的相应vlan之后把tag剥掉,然后再进行转发。
ISL封装方式不一样但基本原理是一样的(ISL是思科私有的封装方式,现网很少用,且高端设备如N7k都是不支持isl的,现网几乎所有用到trunk的环境用的都是IEEE802.1q)
接下来我们来一边做实验一边来慢慢了解~
实验拓扑
基础配置描述:我们假设有两个楼层,每个楼层都有部门1和部门2。部门1划分到vlan10,部门2划分到vlan20,Ip地址使用192.168.1.x。
接下来我们要进行的就是使用一根trunk链路承载多个vlan的流量进行通信,配置好基础配置后,首先我们使用show interface trunk来看一下