TRUNK

2 Jul

VLAN的作用是分割广播域,处于不同VLAN的端口在二层无法通信。两台交换机处于同一VLAN间的端口要想通信,需要用线连接起来。VLAN最多可以设定 4000多个,两台交换机之间当然不可能连4000多根线。因此用一根骨干链路Trunk来连接两台交换机,作用就是让两台交换机上处于相同VLAN的端 口能互相通信。Trunk上用特殊的封装方式来支持转发不同的VLAN的帧。

为何要封装呢?因为Trunk上允许转发不同VLAN的帧,所以需要打上特殊标记来区分帧到底属于哪个VLAN。比如收到VLAN2的帧后打上个 VLAN2的标记,通过Trunk链路转发出去,对方交换机收到帧后,发现是VLAN2的帧,就将VLAN2的标记去掉后发送到VLAN2的端口。这样就 实现了相同VLAN在不同交换机间的通信。封装协议通常是802.1Q和ISL(思科私有)。

IEEE 802.1Q协议是国际标准协议。在普通以太帧的协议号前加上了4byte的tag,同时用新的CRC字段替代了原有的CRC字段:

20151229212831660

tag由TPID和TCI组成。TPID(Tag Protocol Iidentifier)值为0x8100表示802.1Q。TCI(Tag Control Information)指定VLAN的Priority,CFI(固定为0),VLAN ID。

Trunk配置

20151229215455565

上图中两台交换机的f0/1口都配置成VLAN2,f0/0口配置成Trunk接口。这样R1和R2就相当于直连可以互相ping通。R1发出的 包,经过SW1在二层上被打上VLAN2的标记,通过Trunk链路转发到SW2。SW2去掉帧上的VLAN2的标记,经VLAN2的端口即f0/1口发 送至R2。

配置Trunk的命令非常简单,两句命令即可:1.指明封装协议(两端要一致,通常都是802.1Q)。2.指明该端口为Trunk模式

20151229215933743

SW2上同样配置后,Trunk链路就起来了。查看Trunk信息:

20160105154307171

Trunk实现了相同VLAN间的通信。但不同VLAN间要通信,二层是走不通的,需要走三层。因此除了Trunk技术外,还需要路由器配合。下一篇再介绍。

PS:

Trunk链路默认所有VLAN都能通过,但如果只想某些VLAN的帧都能通过,可以手动控制:

sw1(config-if)#switchport trunk allowed vlan 10,20    //这样该Trunk上只能通过VLAN10和20的帧,其他VLAN的帧将不被允许通过。

后面还能接一些其它命令参数:

add:在原有列表上新增VLAN。相反的就是remove:在原有列表里删除VLAN

all:允许所有VLAN通过。相反的就是none:不允许任何VLAN通过

except:除了指定VLAN外,其他都能通过

Leave a Reply

Your email address will not be published. Required fields are marked *