一、关于Trunk的一些内容

首先要保证两台交换机之间的封装类型是一样的。ISL思科私有,802.1q是IEEE标准。

1、ISL封装方式是在以太帧的前面加上ISL头部和在后面加上FCS校验,ISL不会破坏以太帧,但是插入的字节数大为30Bytes。

2、802.1q是在中间插入Tag字段,仅4Bytes。

VLAN、Trunk、VTP_第1张图片

VLAN、Trunk、VTP_第2张图片

VLAN、Trunk、VTP_第3张图片

VLAN、Trunk、VTP_第4张图片

DTP(Dynamic Trunk Protocol)是思科私有的,如果不是思科设备,就不会发送DTP帧。

二、Native vlan

802.1q Native vlan:默认为vlan 1,但是可以改。注意native vlan是针对dot1q的,isl不存在native vlan一说。

交换机针对native vlan 的流量不用打tag,这样就可以提高转发速度。

注意交换机之间的native vlan要一致。

VLAN、Trunk、VTP_第5张图片

三、802.1q tunning

VLAN、Trunk、VTP_第6张图片

为什么提出这个概念,因为如图所示,如果,A企业的vlan 10 想通过ISP到达远端A企业的vlan 10 ,由于B企业也有vlan 10 ,那么ISP是如何区分这两个vlan10的呢?

我们可以采用“双重tag”,在vlan10的tag外面再打一层vlan30的tag,然后在ISP网络里面转发数据包的时候都是只看最外一层的tag即vlan30的tag。

VLAN、Trunk、VTP_第7张图片

四、VTP

cisco私有协议。

 

VLAN、Trunk、VTP_第8张图片

注意,不是说client模式的交换机一定是学习server模式的交换机的vlan信息的。

谁学习谁是看谁的configuration revision(配置版本号)高,低revision交换机向高revision的学习。如果配置版本号相同,则不学习。transparent模式的配置版本号永远都是0.

实验中,如果你想让server端向client端学习vlan信息,那么有一种方法,那就是先down掉client端和server端之间的接口,然后把client端的交换机设置成server模式,接着通过一些增删改vlan信息,让其configuration revision升高(比另一个server端的版本号高),然后再设置回client模式,然后开启端口,让vtp报文传输,可以看到这时是server端向client端学习vlan信息。

vtp pruning修剪(默认关闭)

交换机在发送vtp报文更新的时候会向交换机上的所有Trunk端口去发送,这样不必要的流量会占用带宽。

因此,我们启用VTP修剪,把一些没必要的流量修剪掉。

那vtp修剪到底是怎么样修剪的呢?

sw1--------sw2----f0/1(vlan 10)

其中sw1有vlan 1 和vlan 10,sw2也有vlan 1 和vlan 10,但是sw1的vlan 10没有用户,而sw2的vlan10有用户。所以,sw2根本没必要在vtp更新报文中携带vlan10的信息去告知sw1,因此我们在sw1和sw2上启用vtp pruning:
sw1(config)#vtp pruning   
sw2(config)#vtp pruning
启用完以后,我们show interface trunk看看vtp修剪的情况,可以发现sw1的vlan1和vlan10没有被修剪掉,而sw2的vlan10被修剪掉了。这里要这么理解,因为sw2还有vlan10用户,所以sw1的vtp更新报文中必须还携带vlan10的信息,而sw1没有vlan10的用户,所以sw2的vtp更新报文中不用携带vlan10的信息,因此在sw2把vlan10修剪掉。