1、Trunk协议
Trunk技术可以在单条物理链路上承载多个VLAN的流量。Trunk可以在一条网络介质上同时传输多个VLAN的数据,一般用在交换机与交换机之间,且必须使用100Mb/s以上的端口来进行点对点连接。Trunk使一个单独的端口同时成为数个VLAN的端口。思科所有的trunk链路默认是允许所有vlan通过,华为交换机所有trunk链路默认情况下是不允所有的vlan通过。
注意:trunk 工作在数据链路层(只能识别 mac 地址),不能实现不同 vlan 之间的通信
2、实验设备
- 二台3560-24PS交换机;
- 四台2901路由器。
3、实验拓扑图
4、实验步骤
根据拓扑图划分VLAN
配置S1
Switch>en
Switch>en
Switch#conf t
Switch(config)#host S1 ;修改主机名
S1(config)#vlan 2 ;创建VLAN2
S1(config-vlan)#name VLAN2
S1(config-vlan)#exit
S1(config)#vlan 3 ;创建VLAN3
S1(config-vlan)#name VLAN3
S1(config-vlan)#exit
S1(config)#int f0/1 ;把端口f0/1划分在VLAN2中
S1(config-if)#switch mode access
S1(config-if)#switch access vlan 2
S1(config-if)#exit
S1(config)#int f0/2 ;把端口f0/2划分在VLAN3中
S1(config-if)#switch mode access
S1(config-if)#switch access vlan 3
S1(config-if)#exit
S1(config)#
配置S2
Switch>en
Switch#conf t
Switch(config)#host s2
s2(config)#vlan 2
s2(config-vlan)#name VLAN2
s2(config-vlan)#exit
s2(config)#vlan 3
s2(config-vlan)#name VALN3
s2(config-vlan)#exit
s2(config)#int f0/3
s2(config-if)#switch mode access
s2(config-if)#switch access vlan 2
s2(config-if)#exit
s2(config)#int f0/4
s2(config-if)#switch mode access
s2(config-if)#switch access vlan 3
s2(config-if)#exit
s2(config)#
配置Trunk
S1>en
S1#conf t
S1(config)#int f0/13
S1(config-if)#sw trunk en dot1q //dot1q就是802.1q,是VLAN 的一种封装方式。提供VLAN识别和服务质量(QoS)级别的IEEE标准
S1(config-if)#switch mode trunk // 把f0/13接口配置为Trunk
S1(config-if)#
s2>en
s2#conf t
s2(config)#int f0/13
s2(config-if)#sw trunk en dot1q
s2(config-if)#switch mode trunk
s2(config-if)#
配置路由器
R1
Router>en
Router#conf t
Router(config)#host R1
R1(config)#int g0/0
R1(config-if)#ip add 192.168.12.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#
R2
Router>en
Router#conf t
Router(config)#host R2
R2(config)#int g0/0
R2(config-if)#ip add 192.168.12.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#
R3
Router>
Router>en
Router#conf t
Router(config)#host R3
R3(config)#int g0/1
R3(config-if)#ip add 192.168.12.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#
R4
Router>en
Router#conf t
Router(config)#host R4
R4(config)#int g0/1
R4(config-if)#ip add 192.168.12.4 255.255.255.0
R4(config-if)#no shutdown
R4(config-if)#exit
R4(config)#
测试连通性
测试R1和R3、R2和R4之间的连通性
R1 ping 192.168.12.3
R2 ping 192.168.12.4
配置Native VLAN
对VLAN进行封装有两种协议:一种是交换链路内协议(ISL),是思科私有协议,主要用于维护交换机和路由器间的通信流量等 VLAN 信息。另一种是公有的协议叫做802.1Q(一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的技术), 两种协议都是针对Trunk承载不同VLAN为防止混乱而产生的
默认情况下,交换机上所有的接口都位于VLAN1下,也就是native
VLAN。 事实上,本地VLAN中不仅仅有接口,还有STP(生成树协议)信息,比如BPDU桥接协议数据单元,VLAN ID的信息等等都要通过native vlan来传输。(BPDU是运行STP的交换机之间交换的消息帧。BPDU内包含了STP所需的路径和优先级信息,STP利用这些信息来确定根桥以及到根桥的路径)
ISL(交换链路内协议)协议和802.1Q协议的区别在于针对native vlan是否打标, ISL是全部都打,有几个VLAN打几个标记。而802.1Q协议除了VLAN1也就是native vlan不打标记之外其他的VLAN都打标记,作用都是一样的,都能让Trunk识别不同的VLAN。
S1>en
S1#conf t
S1(config)#int f0/13
S1(config-if)#switchport trunk native vlan 2 //trunk链路上配置Native VLAN。这里将名称改为VLAN 2,默认是VLAN 1
S1(config-if)#
s2>en
s2#conf t
s2(config)#int f0/13
s2(config-if)#switchport trunk native vlan 2
s2(config-if)#
S1#show int trunk
Port Mode Encapsulation Status Native vlan
Fa0/13 on 802.1q trunking 2
Port Vlans allowed on trunk
Fa0/13 1-1005
Port Vlans allowed and active in management domain
Fa0/13 1,2,3
Port Vlans in spanning tree forwarding state and not pruned
Fa0/13 1,2,3