1.为什么要有Trunk
当一条链路,需要承载多VLAN信息的时候,需使用trunk来实现。
2.什么是Trunk
Trunk即干道协议,
采用Trunk链路技术可以实现不同交换机同网段的Vlan间通信。
3.Trunk的实现原理
Trunk技术可以实现在一条物理线路中可以传递多个Vlan间的信息。原理是能够运行携带来自不同vlan的tag帧。这些数据帧的封装规则来自于 802.1Q
802.1Q 协议详解:
定义了基于端口的VLAN模型
规定如何标识带有VLAN成员信息的以太帧
定义VLAN标签的格式
https://support.huawei.com/enterprise/zh/doc/EDOC
4.Trunk的配置
[SWA-GigabitEthernet0/0/1]port link-type trunk
[SWA-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3
trunk的配置验证:
<Sw1>dis vlan
The total number of vlans is : 3
--------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; # 被封装802.1Q标签 UT: Untagged;
--------------------------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------------------------
2 common UT:Eth0/0/1(U)
TG:GE0/0/1(U) # TG 即通过该接口的时候,会添加tag的接口,即Trunk接口。
3 common UT:Eth0/0/2(U)
TG:GE0/0/1(U)
5.Trunk的应用场景
主要应用场景是交换机与交换机之间的链路,需要承载不同的vlan通过。
Trunk的其他应用场景:
交换机与路由器:单臂路由技术的应用
交换机与服务器:交换机连接可以配置多个IP地址并生效的网络接口
6.Trunk 数据通信原理
- PC1 要给 PC3 发送一个 ICMP的数据 (PC1 ping PC3)
没有找到192.168.2.2 这个IP地址对应的MAC地址是多少,
2. 该ARP请求报文被SW1的 1 号接口接收,由于 1 号接口是VLAN2的access接口,则会强行个ARP报文添加一个 vlan-id=2的tag
3. 交换机学习源MAC地址:将源MAC地址AA和接口 1 的对应关系,填写到vlan2的MAC地址表中
4. 交换机查看目标MAC地址是 全FF的形式,则会将这个ARP请求的数据帧广播到 所有其他的vlan2的接口
<Sw1>dis vlan
2 common UT:Eth0/0/1(U)
TG:GE0/0/1(U)
3 common UT:Eth0/0/2(U)
TG:GE0/0/1(U)
# 查看vlan数据库,vlan2对应的接口有 Ethernet0/0/1和 GE0/0/1,由于ETH0/0/1是接收该报文的
接口,所以,ARP请求报文只会有GE0/0/1发出去
3. 交换机学习源MAC地址:将源MAC地址AA和接口 1 的对应关系,填写到vlan2的MAC地址表中
4. 交换机查看目标MAC地址是 全FF的形式,则会将这个ARP请求的数据帧广播到 所有其他的vlan2的接口
<Sw1>dis vlan
2 common UT:Eth0/0/1(U)
TG:GE0/0/1(U)
3 common UT:Eth0/0/2(U)
TG:GE0/0/1(U)
# 查看vlan数据库,vlan2对应的接口有 Ethernet0/0/1和 GE0/0/1,由于ETH0/0/1是接收该报文的
接口,所以,ARP请求报文只会有GE0/0/1发出去
<SW2>dis mac-address
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-9807-58aa 2 - - GE0/0/1 dynamic 0/-
<SW2>dis vlan
---------------------------------------------------------------------------
2 common UT:Eth0/0/1(U)
TG:GE0/0/1(U)
# GE0/0/1 是接收这个ARP请求的接口,则广播报文只会从ETH0/0/1发出
由于E0/0/1接口是access类型,则数据帧要剥离掉tag,从E0/0/1发出
首先查看目标MAC地址:全FF,是广播报文,自己可以解封装。解封装到ARP数据部分
查看Sender MAC和SenderIP的对应关系,写到自己的ARP缓存表
7.Trunk的其他特性
7.1 本征VLAN
什么时候数据经过Trunk链路会不携带TAG?
PVID:
Trunk链路的PVID默认就是 1 , 如果想让某个vlan的数据,由Trunk链路发出的时候,不携带Tag,就把Trunk链路的PVID改成这个vlan的vlan-id就可以了。
[Sw1-GigabitEthernet0/0/1]port trunk pvid vlan 2
如果某个VLAN和Trunk链路的PVID相同,我们就说这个VLAN是该Trunk链路的 本征VLAN (nativeVLAN),默认的native vlan是vlan1.
Trunk链路在发送Native VLAN数据的时候,不携带Tag。
如果Trunk链路接收了一个不带Tag的数据帧,会把这个数据帧发送到自己的Native下。
7.2 交换机对于过路的数据,也要配置相应的vlan
对于SW4来说,虽然接口都配置了Trunk,允许vlan10的数据通过,自己本身,也没有VLAN 10的用户相连,SW4依然要 有vlan10.
让VLAN10的数据,在经过SW4的时候,有转发依据:VLAN10的MAC地址表【如果SW4不配置VLAN10,交换机上就不会出现VLAN10的MAC地址表和它的VLAN数据库,对于接收到的VLAN10的数据,无法进行转
发】