欢迎光临散文网 会员登陆 & 注册

虚拟局域网---VLAN Trunk

2022-11-24 15:29 作者:互联网小达人  | 我要投稿

VLAN Trunk

       通过前面的学习,我们已经能在交换机上划分VLAN了。但是当网络中有多台交换机时,位于不同交换机上的相同VLAN的主机之间是如何通信的呢?现在我们就来学习如何解决这个问题,即跨交换机的VLAN通信。

       1、Trunk的作用

       如下图所示,在两台交换机SW1和SW2上分别创建了VLAN 10、VLAN 20和VLAN 30,那么,如何才能让连接在不同交换机上的相同VLAN的主机进行通信呢?


跨交换机的VLAN如何通信

       如果为每个VLAN都连接一条物理链路,如下图所示,那么两台交换机之间有几个VLAN通信,就需要在两台交换机之间连接几条物理链路。

使用多条物理链路连接多个VLAN

       这种连接方式的扩展性有很大的问题,即随着VLAN数量的增加,就需要在两台交换机之间连接多条物理链路,从而占用很多交换机端口,这显然是不可取的。

       类似现实生活中运送货物的例子,为了使货物在到达目的地后被正确的区分开,通常的做法是在货物上贴上不同的标识。那么在VLAN中,由于不同VLAN的VLAN号不同,实际上可以只使用一条中继链路,将属于不同VLAN的数据帧打上不同的标识即可,如下图所示:

使用一条中继链路连接多个VLAN

       在交换网络中,链路有两种类型:接入链路和中继链路。

       1)接入链路:通常属于一个VLAN。如上图中的主机与交换机之间连接的链路就是接入链路。

       2)中继链路:可以承载多个VLAN。如上图中的SW1和SW2之间的链路就是中继链路。中继链路常用来将一台交换机连接到其他交换机上,或将交换机连接到路由器上。

       Trunk(干道、中继)的作用就是使同一个VLAN能够跨交换机通信。如下图所示,在VLAN跨交换机通信的过程中,数据帧有什么变化呢?

数据帧通过中继链路时的标识过程

       (1)当VLAN 30中的主机PC2发送数据帧给主机PC5时,主机PC1发送的数据帧是普通的数据帧。

       (2)交换机SW1接收到数据帧,知道这个数据帧来自VLAN 30且要转发给SW2,于是就会在数据帧中打上VLAN 30的标识,然后发送给SW2。

       (3)SW2接收到带有VLAN 30标识的数据帧后,根据目标MAC地址,得知数据帧是发送给主机PC5的,就删除VLAN标识还原为普通的数据帧,然后转发给主机PC5。

       2、VLAN的标识

       1)ISL(Inter-Switch Link,交换机间链路)是Cisco私有的标识方法,ISL帧的封装如下图所示:

采用ISL的帧标识

       ISL报头封装26字节,CRC尾部是4字节,总共30字节。

       ISL只是对帧进行封装,而没有修改帧中的任何内容。

       2)IEEE 802.1q

       IEEE 802.1q是公有的标识方法,其他厂商的产品也支持这种标识方法。

       无论采用哪种标识方法,链路双方的设备都要使用相同的标识方法。

       3)Native VLAN

       IEEE 802.1q在设计时,为了兼容与不支持VLAN的交换机混合部署,特地设计了一个Native VLAN,它允许交换机从Trunk端口上转发未被标识的帧。在Cisco Catalyst交换机上,默认的Native VLAN是VLAN 1,但是可以配置。Native VLAN的数据帧在Trunk链路中是未被识别的,如下图所示:

数据帧在Native VLAN中的传送

       对于两台设备之间的Trunk端口,要求链路两侧具有相同的Native VLAN配置。

       4)Trunk模式和协商

       Catalyst 3560交换机支持ISL和IEEE 802.1q封装;Catalyst 2960只支持IEEE 802.1q封装,不支持ISL封装。

       3、Trunk的配置

       1)配置步骤与命令

       (1)进入接口配置模式的命令如下:

       (2)选择封装类型的命令如下:

       如果选择negotiate,就是指明端口与邻接端口进行协商。根据邻接端口的配置,本地端口可以协商成为ISL或IEEE 802.1q干道。

       (3)将接口配置为Trunk,具体命令如下:

       (4)指定Native VLAN(可选),具体命令如下:

       另外,如果不需要Trunk传送某一个VLAN的数据,则可以从Trunk中删除这个VLAN,具体命令如下:

       同样,也可以在Trunk上添加某个VLAN,具体命令如下:

       使用show命令验证接口模式,具体命令如下:

       4、实例配置

       如下图所示,两台交换机SW1和SW2各划分了三个VLAN,端口分配如下:

       VLAN 10:F0/1~F0/3;

       VLAN 20:F0/4~F0/10;

       VLAN 30:F0/11~F0/23

VLAN通信实例拓扑图

       两台交换机的配置类型,现以SW1为例,做Trunk配置与验证的过程。

       (1)在交换机上添加VLAN,具体命令如下:

       (2)将接口添加套相应的VLAN中,具体命令如下:

       (3)配置交换机之间互连的端口为Trunk模式,具体命令如下:

       (4)在SW2交换机上执行类似的配置,配置完成后,使用show命令进行验证,具体命令如下:

       在上面的命令输出中可以看出,在端口F0/24上配置接口模式为Trunk,并且工作模式也是Trunk。Trunk封装的协议是IEEE 802.1q,Trunk可以承载所有的VLAN。

       (5)如果不需要在Trunk上传输出VLAN 20的数据,可以在Trunk上移除VLAN 20,命令如下:

       然后在观察Trunk的信息,有点尴尬,可能是我这个模拟器有问题,删除了VLAN 20并没显示出来。不过效果可以通过两边的主机互ping即可验证。


虚拟局域网---VLAN Trunk的评论 (共 条)

分享到微博请遵守国家法律