在一个有两台交换机的网络拓扑中,相同的VLAN是否可以通讯呢?答案是肯定的!!


TRUNK本身中文含义就是:干线, 树干, 躯干, 箱子, 主干, 象鼻之意?那么在换句话来说它就是可以承载一些东西的意思,同样在网络中它也起到了一个承载作用,它可以承载多个VLAN,使不同交换设备的同一VLAN进行通信。


 

VLAN的TRUNK协议 vlan trunk的作用_VLAN的TRUNK协议








如图所视,TRUNK也同样有着自己的结构,既然说TRUNK是中继链路,那么我们就不能不提到链路的两种类型:



1、接入链路:接入链路只是VLAN的成员。连接到这个端口上的设备完全不知道存在VLAN这个东西,图上主机与交换机之间连接的链路就是接入链路。设备只是根据配置在该设备上的第3层信息,认为它是网络或子网的一个部分。接入链路是属于一个并且只属于一个VLAN的端口。这个端口不能从另外一个VLAN接收或发送信息,除非该信息经过了路由。



2、中继链路:刚才我说了中继链路可以承载多个VLAN。SW1与SW2之间的链路就是中继链路。



那么我们现在来看一下一个数据帧通过中继链路的过程。



1、当连接在SW1上的VLAN3中的主机A发送数据帧给SW2上的VLAN3中的主机B时。主机A发送的数据是普通的数据帧。


2、交换机SW1接收到这一系列数据帧,根据接收数据帧的端口的信息。得知这个数据帧来自VLAN3,并且查看MAC地址表后,知道需要转发给SW2,于是,SW1就会在这个数据帧中打上一个VLAN标记,也就是在数据帧中插一个字段,将VLAN ID信息写如这个字段。



3、SW2接收到这些有VLAN ID标示的数据帧后,根据目标MAC地址,将数据帧转发给VLAN3中的主机B。



以上就是数据通过中继链路的过程。



下面我们说说刚刚我提到的VLAN标示问题。



VLAN标示在TRUNK中起到了相当大的作用,VLAN标示就是帧标示,给在中继链路上传输的每个帧分配一个用户唯一定义的ID。这个ID是VLAN的VLAN号。如果帧在传输中还有发送到另外的中继链路,VLAN标示仍将保留在该帧头中。否则,如果该帧发送到一条接如链路,交换机就会把帧头里的VLAN标示删除。



VLAN标示又分两种:



一种是公有标记802.1Q封装所有厂商支持。还有一种是ISL封装,只限于CISCO使用(注意:CISCO2950不支持ISL,只支持802.1Q)。



关于IEEE802.1Q,它的正式名称是虚拟桥接局域网标准,它支持通过一条中继链路承载一个一上的VLAN数据流的能力。它也定义了VLAN的架构,VLAN中所提供的服务以及提供这些服务所涉及的协议和算法



采用802.1Q封装的帧,是在标准以太网帧上添加了4个字节。



VLAN的TRUNK协议 vlan trunk的作用_算法_02



 



原始以太网帧不能超过1518个字节,如果一个最大长度的帧是通过8021.起来标示的,那么。这个帧变成1522个字节,被称为小巨帧。但交换机仍可成功处理这种帧。



TPID:指明帧带有802.1Q/802.1P标示信息。



至于ISL封装就是:



ISL给帧增加了一个26字节的帧头和一个4字节的帧尾。帧尾包含了一个循环冗余效验码(CRC)。



VLAN的TRUNK协议 vlan trunk的作用_cisco_03



 



那么我们现在回过头来看看IEEE802.1Q和ISL的不同之处:



1、802.1Q是公有的VLAN-TRUNK标示,而ISL是CISCO私有的标示方式。



2、802.1Q将标记添加到以太网帧的中间,而ISL将标示添加到以太网帧的首尾。



3、ISL标记比802.1Q标记长26个字节,802.1Q标记共4字节长,ISL共ISL个字节长。



既然我们已经了解了TRUNK的原理那么我们看看它的配置命令:


Switch(config)#interface fa interface ID   //进入端口模式
 
 
Switch(config-if)#switchport mode trunk    //启动trunk
 
 
Switch#show interface fa 0/0 switchport    //查看TRUNK状态



VLAN的TRUNK协议 vlan trunk的作用_interface_04