Day6 Trunk & STP

Day6 Trunk & STP

1.VLAN Trunk接口

1.1 为什么要有Trunk

1、当一条链路,需要承载多VLAN信息的时候,需要使用trunk来实现。

2、trunk两端的交换机需要采用相同的干道协议。

3、一般见于交换机之间或交换机与路由器、服务器之间。

4、划分多个vlan之后,解决不同交换机之间相同vlan的通信问题。

5、相同vlan在不同交换机上,跨越地理位置的通信问题。

6、使用交换机的某一条线路,来承载多个vlan,实现数据通信

1.2 什么是Trunk

Trunk即干道协议,采用Trunk链路技术可以实现不同交换机同网段的VLAN间通信。

1.3 Trunk的实现原理

Trunk技术可以实现在一条物理线路中可以传递多个VLAN间的信息。原理是能够运行携带来自不同VLAN的tag帧,这些数据帧的封装规则来自于 802.1Q。

- 定义了基于端口的VLAN模型
- 规定如何标识带有VLAN成员信息的以太帧
- 定义VLAN标签的格式

image-20230321170834637

802.1Q 协议详解:

https://support.huawei.com/enterprise/zh/doc/EDOC1100088136

1.4 Trunk数据通信原理

image-20230321214352565

1.PC1 要给 PC3 发送一个 ICMP的数据 (PC1 ping PC3)

image-20230321214441687

image-20230321214533508

没有找到192.168.2.2 这个IP地址对应的MAC地址是多少,触发ARP请求

image-20230321214612248

2.该ARP请求报文被SW1的1号接口接收,由于1号接口是VLAN2的access接口,则会强行个ARP报文添加一个 vlan-id=2的tag

image-20230321214656176

3.交换机学习源MAC地址:将源MAC地址AA和接口 1 的对应关系,填写到vlan2的MAC地址表中

image-20230321214727417

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发出去

image-20230321215332528

5.SW2的Trunk接口接收该ARP报文:

由于该报文携带了一个 带有vlan2的tag,SW2在学习源MAC地址的时候,会将 AA- G1接口的对应关系,写到 VLAN2的MAC地址表中。

<SW2>dis mac-address
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-9807-58aa 20 		   -      - 	 GE0/0/1 		 dynamic   0/-

image-20230321215356877

SW2查看目标MAC地址是FF,则会将ARP请求报文以广播的形式从 属于VLAN2的接口发出

<SW2>dis vlan
---------------------------------------------------------------------------
2 	common	 UT:Eth0/0/1(U)
		 	 TG:GE0/0/1(U)

# GE0/0/1 是接收这个ARP请求的接口,则广播报文只会从ETH0/0/1发出

6.ARP请求从ETH0/0/1发出

image-20230321215554863

由于E0/0/1接口是access类型,则数据帧要剥离掉tag,从E0/0/1发出

7.PC3接收到该ARP请求

首先查看目标MAC地址:全FF,是广播报文,自己可以解封装。解封装到ARP数据部分

image-20230321215648308

查看Sender MAC和SenderIP的对应关系,写到自己的ARP缓存表

image-20230321215717248

查看 target IP,发现目标IP地址是自己的,所以这个ARP请求,就是在请求自己的MAC地址,于是PC2会封装ARP的回复报文

image-20230321215742123

8.PC3发出该ARP的回复报文

1.5 Trunk配置

image-20230321171305378

[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;         UT: Untagged;
# Tagged:被封装802.1Q标签
--------------------------------------------------------------------------------
VID  Type    Ports                                                          
--------------------------------------------------------------------------------
20   common  UT:Eth0/0/1(U)                                                     
             TG:Eth0/0/3(U)                                                     
30   common  UT:Eth0/0/2(U)                                                     
             TG:Eth0/0/3(U)                                                     

1.6 Trunk实验

实验拓扑图:

!image-20230321215952660

SW1配置:

[SW1]vlan batch 20 30
[SW1]int e0/0/1
[SW1-Ethernet0/0/1]p l a
[SW1-Ethernet0/0/1]p d vlan 20
[SW1-Ethernet0/0/1]int e0/0/2
[SW1-Ethernet0/0/2]p l a
[SW1-Ethernet0/0/2]p d vlan 30

[SW1]int e0/0/3
[SW1-Gthernet0/0/1]port link-type trunk 
[SW1-Gthernet0/0/1]port trunk allow-pass vlan 20 30

SW1配置验证:

[SW1]dis vlan
The total number of vlans is : 3
--------------------------------------------------------------------------------
U: Up;         D: Down;         TG: Tagged;         UT: Untagged;
MP: Vlan-mapping;               ST: Vlan-stacking;
#: ProtocolTransparent-vlan;    *: Management-vlan;
--------------------------------------------------------------------------------

VID  Type    Ports                                                          
--------------------------------------------------------------------------------
1    common  UT:Eth0/0/3(U)     Eth0/0/4(D)     Eth0/0/5(D)     Eth0/0/6(D)     
                Eth0/0/7(D)     Eth0/0/8(D)     Eth0/0/9(D)     Eth0/0/10(D)    
                Eth0/0/11(D)    Eth0/0/12(D)    Eth0/0/13(D)    Eth0/0/14(D)    
                Eth0/0/15(D)    Eth0/0/16(D)    Eth0/0/17(D)    Eth0/0/18(D)    
                Eth0/0/19(D)    Eth0/0/20(D)    Eth0/0/21(D)    Eth0/0/22(D)    
                GE0/0/1(D)      GE0/0/2(D)                                      

20   common  UT:Eth0/0/1(U)                                                     

             TG:Gth0/0/3(U)                                                     

30   common  UT:Eth0/0/2(U)                                                     

             TG:Gth0/0/3(U)                                                     


VID  Status  Property      MAC-LRN Statistics Description      
--------------------------------------------------------------------------------

1    enable  default       enable  disable    VLAN 0001                         
20   enable  default       enable  disable    VLAN 0020                         
30   enable  default       enable  disable    VLAN 0030  

SW2配置:

[SW2]vlan batch 20 30
[SW2]int e0/0/1
[SW2-Ethernet0/0/1]p l a
[SW2-Ethernet0/0/1]p d vlan 20
[SW2-Ethernet0/0/1]int e0/0/2
[SW2-Ethernet0/0/2]p l a
[SW2-Ethernet0/0/2]p d vlan 30

[SW2]int e0/0/3
[SW2-Gthernet0/0/3]port link-type trunk 
[SW2-Gthernet0/0/3]port trunk allow-pass vlan 20 30

SW2配置验证:

[SW2]dis vlan
The total number of vlans is : 3
--------------------------------------------------------------------------------
U: Up;         D: Down;         TG: Tagged;         UT: Untagged;
MP: Vlan-mapping;               ST: Vlan-stacking;
#: ProtocolTransparent-vlan;    *: Management-vlan;
--------------------------------------------------------------------------------

VID  Type    Ports                                                          
--------------------------------------------------------------------------------
1    common  UT:Eth0/0/3(U)     Eth0/0/4(D)     Eth0/0/5(D)     Eth0/0/6(D)     
                Eth0/0/7(D)     Eth0/0/8(D)     Eth0/0/9(D)     Eth0/0/10(D)    
                Eth0/0/11(D)    Eth0/0/12(D)    Eth0/0/13(D)    Eth0/0/14(D)    
                Eth0/0/15(D)    Eth0/0/16(D)    Eth0/0/17(D)    Eth0/0/18(D)    
                Eth0/0/19(D)    Eth0/0/20(D)    Eth0/0/21(D)    Eth0/0/22(D)    
                GE0/0/1(D)      GE0/0/2(D)                                      

20   common  UT:Eth0/0/1(U)                                                     

             TG:Gth0/0/3(U)                                                     

30   common  UT:Eth0/0/2(U)                                                     

             TG:Gth0/0/3(U)                                                     


VID  Status  Property      MAC-LRN Statistics Description      
--------------------------------------------------------------------------------

1    enable  default       enable  disable    VLAN 0001                         
20   enable  default       enable  disable    VLAN 0020                         
30   enable  default       enable  disable    VLAN 0030 

实验验证:

图1:PC1可以ping通PC3(2.1>>2.2)

image-20230321204509015

图2:PC2可以ping通PC4(3.1>>3.2)

image-20230321204729598

图3:对SW1的E0/0/3进行抓包

image-20230321205028071

1.7 Trunk的其他特性

什么时候数据经过Trunk链路会不携带TAG?

image-20230321221711079

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 (Native VLAN)

默认的native vlan是vlan1

Trunk链路在发送Native VLAN数据的时候,不携带Tag。
如果Trunk链路接收了一个不带Tag的数据帧,会把这个数据帧发送到自己的Native下。

交换机对于过路的数据,也要配置相应的vlan

image-20230321222504392

对于SW4来说,虽然接口都配置了Trunk,允许vlan10的数据通过,自己本身,也没有VLAN 10的用户相连,SW4依然要 有vlan10

让VLAN10的数据,在经过SW4的时候,有转发依据:VLAN10的MAC地址表【如果SW4不配置VLAN10,交换机上就不会出现VLAN10的MAC地址表和它的VLAN数据库,对于接收到的VLAN10的数据,无法进行转发】

2.STP原理与配置

2.1 什么是STP?

  • 随着局域网规模的不断扩大,越来越多的交换机被用来实现主机之间的互连。如果交换机之间仅使用一条链路互连,则可能会出现单点故障,导致业务中断。为了解决此类问题,交换机在互连时一般都会使用冗余链路来实现备份。
要不要有冗余?

既要有冗余,又要从逻辑上消除环路, 从逻辑上限制某个端口的数据转发功能。
自动化的实现:当网络出现单点故障的时候,被限制的端口,能够起到转发数据的功能。
  • 为了提高网络可靠性,交换网络中通常会使用冗余链路(备份)。但是冗余链路会给交换网络带来环路风险,会导致广播风暴、MAC

    地址表不稳定等问题,进而会影响用户的通信质量。

- 广播风暴
- 重复的数据帧
- 不稳定的MAC地址表

广播风暴:环路会引起广播风暴,网络中的主机会收到重复数据帧。(交换机收到广播帧,不停向相邻端口发送回复信息)

MAC地址表震荡:环路会引起MAC地址表震荡

image-20230322142546818

  • STP(Spanning Tree Protocol)是生成树协议的英文缩写,主要作用是防止网桥网络中的冗余链路形成环路工作,STP可以在提高可

    靠性的同时又能避免环路。STP通过阻塞端口来消除环路,并能够实现链路备份。

2.2 STP概念

spanning tree

最终实现网络的逻辑上的无环,让整个网络,成为一个无环的树的形状。
通过STP协议,最终要找到一个接口,从逻辑上,把它阻塞掉。来消除二层上的环路。

2.3 STP选举

1.每个广播域选举一个根桥(根交换机)

2.每个非根交换机选举一个根端口

3.每个网段选举一个指定端口

4.阻塞非根、非指定端口

image-20230322161450145

2.3.1 每个广播域选举一个根桥

在选举开始的时候,所有的交换机都会认为自己是根桥,他们产生并相互发送自己的BPDU。

比较BPDU中的Bridge-id:优先级+MAC地址,越小越优先。

Bridge-id:优先级+MAC地址
 
优先级:范围0-65535,必须设置成 4096的倍数
优先级的默认值是 32768, 越小越优先

当根桥选举完成后,只有根桥能够自己产生BPDU,其他的非根桥负责接收和转发来自根桥的BPDU。

2.3.2 每个非根交换机选举一个根端口
  1. 比较到达根桥的路径开销

image-20230322194133733

  1. 如果开销值相同:比较端口接收到的BPDU中 Sender-BID这一参数【即从对端交换机接收的BPDU,Sender-BID就是对端交换机的BPDU】

image-20230322194550322

  1. 如果交换机的各个接口接收到BPDU中的 Sender-BID也相同,则比较 BPDU中的 Sender-PID
Sender-PID :
优先级+ 端口编号
128 0-255 越小越优先

image-20230322194654615

  1. 如果交换机的各个接口接收到BPDU中的 Sender-PID也相同,则比较交换机端口的本地ID

    image-20230322194735056

2.3.3 在剩余的链路上,选举出指定端口

1.根端口对面的端口,就是指定端口

2.在剩余链路上,选举指定端口

  • 比较端口所在的交换机到达根桥的路径开销,越小越优先
  • 如果端口所在交换机到根桥的开销相同,则比较端口所在交换机的BID。
  • 如果所在交换机的BID也相同,比较端口自己的PID。

选举完成,从逻辑上去掉那些被阻塞链路,就得到了一棵能到达根桥的无环的树 —> spanning tree BPDU ,由根桥产生的,会从指定端口被转发,由根端口接收的。


nder-PID

Sender-PID :
优先级+ 端口编号
128 0-255 越小越优先

[外链图片转存中…(img-rFWI2fA1-1679830985583)]

  1. 如果交换机的各个接口接收到BPDU中的 Sender-PID也相同,则比较交换机端口的本地ID

    [外链图片转存中…(img-DHM5BO47-1679830985584)]

2.3.3 在剩余的链路上,选举出指定端口

1.根端口对面的端口,就是指定端口

2.在剩余链路上,选举指定端口

  • 比较端口所在的交换机到达根桥的路径开销,越小越优先
  • 如果端口所在交换机到根桥的开销相同,则比较端口所在交换机的BID。
  • 如果所在交换机的BID也相同,比较端口自己的PID。

选举完成,从逻辑上去掉那些被阻塞链路,就得到了一棵能到达根桥的无环的树 —> spanning tree BPDU ,由根桥产生的,会从指定端口被转发,由根端口接收的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值