隧道技术的用途
在前面已经出现了很多次Trunk这个词汇,但并没有详细的进行解答。我们知道交换机的接口可以运行在接入模式(Access Mode)或者干道模式(Trunk Mode)。交换机接口所连接的链路也被相应地称为接入链路和trunk链路。在接入模式下,接口属于且仅属于一个VLAN。
而Trunk(干道)是一种封装技术,它是一条点到点的链路,主要功能就是仅通过一条链路就可以连接多个交换机从而扩展已配置的多个VLAN,如图7-10所示。
同时trunk链路可以连接一台交换机或者路由器或者服务器(特殊网卡),还可以采用通过trunk技术和上级交换机级联的方式来扩展接口的数量,可以达到近似堆叠的功能,节省了网络硬件的成本。
提示:trunk链路不属于任何一个VLAN,它只是在网络中起到了管道的作用。Trunk承载的VLAN范围,默认下是1~1005,可以修改,但必须有1个Trunk协议。使用Trunk时,两台交换机连接接口上的协议要一致。配置为Trunk链路的接口,通常都是交换机上支持最大带宽的带宽口。
表7-6列出了和Trunk操作有关的命令。
表7-6 在基于IOS的交换机上配置trunk
步 骤 | 命 令 | 解 释 |
1 | Switch#configure terminal | 进入全局配置模式 |
2 | Switch(config)# interface interface-id | 进入要分配的接口 |
3 | Switch(config-if)#switchport mode trunk | 将端口设置为trunk模式 |
3(1) | Switch(config-if)#switchport mode dynamic desirable | 在仅支持802.1Q封装,但支持DTP功能的交换机上主动尝试转换为trunk模式 |
3(2) | Switch(config-if)#switchport mode dynamic auto | 在仅支持802.1Q封装,但支持DTP功能的交换机上转换为trunk模式,由邻居接口决定 |
3(3) | Switch(config-if)#switchport nonegotiate | 在仅支持802.1Q封装,但支持DTP功能的交换机上将接口永久设置为trunk模式,但禁止产生DTP帧 |
4 | Switch(config-if)#switchport trunk encapsulation {isl | dot1q} | 配置接口是使用ISL或者802.1Q封装,两端链路必须采用相同的封装格式 |
5 | Switch(config-if)#switchport trunk allowed vlan remove vlan-list | 要限制trunk传送的VLAN,从允许的VLAN 列表中去除某些VLAN |
6 | Switch(config-if)#end (Ctrl+Z) | 返回到特权模式 |
7 | Switch#show interface interface-id Switchport | 对配置进行检验。一定要加上Switchport关键字,否则会出现show interface输出结果 |
8 | Switch#copy running-config startup-config | 保存配置 |
在默认状态下,Trunk接口允许所有VLAN的发送和接口传输。当然,根据需要,我们也可以将拒绝某些VLAN通过Trunk传输,从而将该VLAN限制与其他交换机的通信,或者拒绝某些VLAN对敏感数据的访问。需要注意的是,不能从Trunk中移除默认的VLAN1。
Switch(config-if)# switchport trunk allowed vlan {add | all | except | remove} vlan-list要限制trunk传送的VLAN,从允许的VLAN 列表中去除某些VLAN。如执行Switch2(config-if)#switchport trunk allowed vlan remove 10 之后,VLAN 10的将不被传递。
配置Trunk上允许的VLAN列表。使用add(添加)、all(所有)、except(除外)和remove(移除)关键字,可以定义允许在Trunk上传输的VLAN。VLAN列表既可以是一个VLAN,也可以是一个VLAN组。当同时指定若干VLAN时,不要在“,”或“-”间使用空格。