二层交换:生成树STP基本概念与实验
STP原理

STP (Spanning Tree Protocol)2012年6月1日星期五Walk on the fire 总结定义:STP 是二层链路管理协议,为了提供链路冗余,以及防止网络环路,在两个站点之间只有一条活动的链路存在,一旦存在多条有可能引起网络的环路,站点可能会接受到很多复制的信息。
Switch 可能从二层以太口学习到多个相同的MAC addresses ,从而使网络不稳定。
STP 对于二层来说是透明的。
STP 运用Spannting tree algorithm 选择出一个直连网络冗余的无环的Root switch ,通过指定每个端口的角色来完成。
以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。
但是使用冗余链路会在交换网络上产生环路,并导致广播风暴以及MAC 地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。
为解决交换网络中的环路问题,提出了生成树协议STP(Spanning Tree Protocol)。
STP :IEEE802.1D 1998RSTP: IEEE802.1W 2001MSTP :IEEE802.1S 2002Spannting Tree Protocol MechanismsStp存在的背景以上拓扑存在很严重的问题:1.广播风暴导致网络不可用。
假如switch A 和switch B 并没有启动STP 功能,当一切是Default 情况下,通过switch原理不难看出,当Host A 访问Host B A 先发送的ARP request ,此报文为广播报文,这时Switch A 、B 都会收到双方转发的广播包,反复如此,最终导致整个网络资源的耗尽。
2.MAC 地址的重复通过Switch 原理,这点不难理解。
STP 基本思想STP 是数据链路层协议,switch 之间通过交互BPDU (Bridge protocol Data Unit),发现网络中的环路,通过STP 机制对一些接口的blocking,最终形成无环路的树形结构。
生成树STP基本概念与实验

二层交换:生成树STP基本概念与实验如果你把两台傻瓜式交换机之间连两根网线,那么这俩交换机就会出现环路从而产生广播风暴。
可能你会觉得好笑,但实际工作中,我却碰到了,一些不懂网络的装修包工头,就会这样做。
====================================================================生成树就是为了让交换网络中防环而出现的。
生成树最原始的版本是802.1d,也就是STP(Spanning Tree Protocol),但这个版本的标准是所有VLAN共用一个生成树,所以也叫CST(Common Spanning Tree)思科在此基础上增强了一下,发布了PVST+(Per Vlan Spanning Tree)802.1d的下一个版本是802.1w,也就是RSTP(Rapid STP),但还是共用生成树,搞不懂IEEE不长点记性。
于是思科又搞了一下,发布了PVRST+IEEE又基于思科的MISTP的方案,发布了802.1s(MSTP),这个就屌爆了,之后再说为何这么屌,凡是大一点的交换网络都用MSTP。
=====================================================================STP的基础要学习更高级的RSTP/MST,还是需要STP的基础,尽管现在已经很少用到STP。
STP的工作流程1. 在整个交换网段里选择一台做根桥,这根桥就是整棵树的根部,所有其他交换机就选一条到这个根桥的最短路径,其余的路径阻塞掉。
所有交换机中桥优先级最低的成为根桥。
2. 选择所有非根桥交换机的根端口,就是那条最短路径的接口。
如果有超过1条等价路径,则选择对端指定端口优先级最低的本地端口(有点绕口,通过实验来说明)3. 选择各网段的指定端口。
这个网段其实就是指一根链接,其中一头一定是指定端口,另外一头可能是根端口,也可能是非指定端口。
生成树协议STP 实验报告

实验三生成树协议STP1、项目目的理解生成树协议STP的原理及配置。
2、项目描述在网络建设中,为了提高网络的可靠性,网络管理员用两条链路将交换机互连,现要在交换机上做适当配置,使网络避免环路。
本项目以两台3560交换机为例,两台交换机分别命名为:SwitchASwitchB。
PC0和PC1在同一个网段,假设IP地址分别为:192.168.1.1 ,192.168.1.2 ,子网掩码为:255.255.255.03、实现功能使网络在有冗余链路的情况下避免环路的产生,避免广播风暴等。
4、项目拓扑生成树如图所示。
5、项目设备思科3560交换机(2台)、PC机(2台)。
6、项目步骤(1)在SwitchA查看生成树情况,用show spanning-tree brief命名输出。
(2)在SwitchB查看生成树情况,用show spanning-tree brief命名输出。
验证测试:在SwitchA上的Fa0/24端口处于BLK状态,分析原因?(3)修改SwitchA的BID优先级,让SwitchA成为Root Bridge。
设置交换机SwitchAr优先级为4096,数值最小的交换机为根交换机(也称根桥)交换机SwitchBr优先级采用默认优先级(32768),因此SwitchA将成为根交换机。
SwitchA(config)#spanning-tree vlan 1 priority 4096(4)在SwitchA上查看show spanning-tree 命名输出结果。
(5)在SwitchB上查看show spanning-tree 命名输出结果。
验证测试:在SwitchB上的Fa0/23端口处于BLK状态,分析原因?(6)如果将SwitchB的Fa0/23和Fa0/24的状态调换过来,可能通过修改什么参数来实现?可以在SwitchA降低接口优先级来实现。
SwitchA(config)#int fa0/24SwitchA(config-if)#spanning-tree vlan 1 port-priority 112(7)修改后,在SwitchA查看show spanning-tree 命名输出结果。
生成树_配置_实验报告

一、实验目的1. 理解生成树协议(STP)的基本原理和工作机制;2. 掌握生成树协议的配置方法;3. 通过实验验证生成树协议在网络中的实际应用效果。
二、实验环境1. 实验设备:两台华为S5700交换机、两台PC机;2. 实验软件:华为网络设备仿真软件;3. 实验拓扑:两台交换机通过一条物理链路连接,两台PC机分别连接到两台交换机上。
三、实验原理生成树协议(Spanning Tree Protocol,STP)是一种用于在网络中消除环路并实现冗余链路备份的协议。
当网络中出现环路时,STP会阻塞部分端口,形成一个没有环路的树形结构,确保网络的高可用性和容错能力。
STP通过交换机之间的BPDU(Bridge Protocol Data Unit)报文进行信息交互,选举根网桥,并确定每个交换机的根端口和指定端口。
根端口是连接到根网桥的端口,指定端口是连接到同一VLAN且路径最短的端口。
其余端口被阻塞,不参与数据转发。
四、实验步骤1. 配置交换机名称和密码;2. 配置交换机接口;3. 配置VLAN;4. 配置STP;5. 验证STP配置效果。
五、实验过程1. 配置交换机名称和密码```bashS1>display versionS1>sysname S1S1>display versionS1>enableS1#configure terminalS1(config)#username admin password simple 123456 S1(config)#exit```2. 配置交换机接口```bashS1>display ip interface briefS1#interface GigabitEthernet0/0/1S1(config-if)#ip address 192.168.1.1 24S1(config-if)#exitS1#interface GigabitEthernet0/0/2S1(config-if)#ip address 192.168.1.2 24S1(config-if)#exit```3. 配置VLAN```bashS1>display vlanS1#vlan 10S1(config-vlan)#name VLAN10S1(config-vlan)#exitS1#interface GigabitEthernet0/0/1S1(config-if)#port link-type access S1(config-if)#port default vlan 10 S1(config-if)#exitS1#interface GigabitEthernet0/0/2S1(config-if)#port link-type access S1(config-if)#port default vlan 10 S1(config-if)#exit```4. 配置STP```bashS1>display stpS1#stpmode stpS1>display stpS1#interface GigabitEthernet0/0/1S1(config-if)#port link-type access S1(config-if)#port default vlan 10 S1(config-if)#exitS1#interface GigabitEthernet0/0/2S1(config-if)#port link-type access S1(config-if)#port default vlan 10S1(config-if)#exit```5. 验证STP配置效果```bashS1>display stpS1>display stp interface GigabitEthernet0/0/1S1>display stp interface GigabitEthernet0/0/2S1>ping 192.168.1.2```六、实验结果与分析1. 实验结果通过实验,成功配置了生成树协议,并验证了STP在网络中的实际应用效果。
生成树STP

生成树协议
一.实验要求:
1.了解交换机中使用生成树的意义;
2.掌握STP的工作原理;
3.熟悉STP在园区网的部署;
4.掌握生成树协议的基本配置。
二.实验设备:
3台交换机
三.实验步骤:
1. 实验拓扑图:
将3台交换机通过制定的端口如图连接。
2. 配置trunk链路使交换机互联
注:配置trunk链路后,交换机Switch0默认的阻塞端口为:fa0/2,如拓扑图中所示3. 配置VTP,在Switch0下配置VTP服务模式,其他2台交换机配置Vtp客户模式VTP客户模式:
VTP服务模式:
4. 在交换机Switch0中划分3个VLAN,其他2台交换机会自动更新
5. 在交换机Switch0中通过配置生成树协议将VLAN2设置优先级
同理,在交换机1和2中分别设置VLAN3和VLAN4为优先。
6.在特权模式下,分别在3台交换机上通过命令:show spanning-tree 查看各自VLAN下的端口连通情况
四.实验结果:
在交换机0下查看得知:
在VLAN2中,端口fa0/1,fa0/2都是是畅通的。
在VLAN3中,端口fa0/1畅通,端口fa0/2阻塞。
在VLAN4中,端口fa0/1阻塞,端口fa0/2畅通。
在交换机1和2中查看3个VLAN结果一样,都是畅通的,因为未配置生成树协议时,这2个交换机的连接端口都是连通的,只有交换机0的端口fa0/2是阻塞的。
生成树协议简介及实验

生成树协议简介及实验第一部分:STP/RSTP协议简介一、STP协议1、STP协议简介生成树协议(STP)是一个用于局域网中消除环路的协议,协议运行原理是通过运行该协议的设备之间交互信息而发现网络中的环路,并适当对某些端口进行阻塞以消除环路。
生成树协议是局域网重要协议之一。
网络中出现环路会造成广播风暴导致网络瘫痪或MAC 地址表抖动导致MAC地址表项被破坏。
2、STP基本概念STP引入了根桥(Root Bridge)概念,对于一个STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。
根桥会根据网络拓扑的变化而动态变化。
网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置BPDU,其他设备仅对该报文进行处理,传达拓扑变化记录,从而保证拓扑的稳定。
生成树的生成计算有两大基本度量依据:ID和路径开销。
ID又分为:BID(桥ID)和PID(端口ID)。
BID(桥ID):IEEE 802.1D标准中规定BID是由16位的桥优先级(Bridge Priority)与桥MAC地址构成。
BID桥优先级占据高16位,其余的低48位是MAC地址。
在STP网络中,桥ID最小的设备会被选举为根桥。
PID(端口ID):PID由两部分构成的,高4位是端口优先级,低12位是端口号。
PID只在某些情况下对选择指定端口有作用。
路径开销:路径开销(Path Cost)是一个端口变量,是STP协议用于选择链路的参考值。
STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。
在一个STP网络中,某端口到根桥累计的路径开销就是所经过的各个桥上的各端口的路径开销累加而成,这个值叫做根路径开销(Root Path Cost)。
从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。
根桥就是网桥ID最小的桥,通过交互配置BPDU协议报文选出最小的BID。
网络初级篇之STP(概念原理)

⽹络初级篇之STP(概念原理)⼀、什么是STP ⽣成树协议(Spanning Tree Protocol,STP),是⼀种⼯作在OSI⽹络模型中的第⼆层(数据链路层)的通信协议,基本应⽤是防⽌交换机冗余链路产⽣的环路.⽤于确保以太⽹中⽆环路的逻辑拓扑结构.从⽽避免了⼴播风暴,⼤量占⽤交换机的资源。
⼆、STP初始化阶段 ⽹络中所有的桥设备在使能STP协议后,每⼀个桥设备都认为⾃⼰是根桥。
这时候每台设备仅仅收发配置BPDU,⽽不转发⽤户流量,所有的端⼝都处于Listening状态。
所有桥设备通过交换配置BPDU后才进⾏根桥、根端⼝和指定端⼝的选举⼯作。
三、STP中的概念 BPDU:是运⾏STP的交换机之间交换的消息帧。
BPDU内包含了STP所需的路径和优先级信息,STP便利⽤这些信息来确定根桥以及到根桥的路径。
BID:BID报⽂长度为8,包含2字节的桥优先级与6字节的桥背板mac地址。
桥优先级的取值为0--65535,缺省值为32768。
PID:端⼝优先级+端⼝ID(端⼝优先级默认为128,端⼝ID为端⼝的编号) 累计根路开销:对从设备端⼝到达根桥路经的各端⼝(除根桥上的指定端⼝外)的各段链路的路径开销值(也称链路开销值)进⾏累加。
同⼀交换机上不同端⼝的路径开销值为0。
根桥:是STP⽣成树的“树根” 根端⼝:就是在所有⾮根桥上的不同端⼝之间选举出⼀个到根桥最优路径的端⼝,根端⼝在每个⾮根设备上有且只有⼀个。
(最优路径:端⼝到根桥的累计根路径开销最⼩) 指定端⼝:是在每⼀个物理⽹段的不同端⼝之间选举出⼀个指定端⼝。
阻塞端⼝:关闭数据转发,以打破环路。
使其成为⼀种“预备端⼝”的形式存在。
对端:接收数据时发送⽅,也就是链路对端的桥四、根桥的选举 在交换⽹络中所有运⾏STP协议的交换机上选举出⼀个唯⼀的根桥,根桥的选举是根据桥BID中优先级与mac地址来确定的(先对⽐桥优先级,优先级最⼩的为根桥;当桥优先级都相等时,对⽐mac地址,mac地址⼩的为根桥)。
生成树协议(STP)概述及工作原理

⽣成树协议(STP)概述及⼯作原理
1、交换⽹络环路的产⽣
⼴播风暴的形成
多帧复制
MAC地址表混乱
2、STP——Spanning Tree Protocol(⽣成树协议)
逻辑上断开环路,防⽌⼴播风暴的产⽣
当线路故障,阻塞接⼝被激活,恢复通信,起备份线路的作⽤
3、STP⼯作原理
3.1 ⽣成树的算法:1.选择根⽹桥(Root Bridge);2.选择根端⼝(Root Ports);3.选择指定端⼝(Designated Ports) 3.2 ⽹桥ID(BID)
⽹桥ID是唯⼀的
选择交换⽹络中⽹桥ID最⼩的交换机成为根⽹桥
取值范围:0~65535
缺省值:32768
3.3 选择根端⼝的依据
到根⽹桥最低的根路径成本
直连的⽹桥ID最⼩
端⼝ID最⼩
3.4 端⼝ID
取值范围:0~255
缺省值:128
3.5 .1在⾮根⽹桥上,选择⼀个根端⼝
离根⽹桥最近的⼀个端⼝
3.5.2 根桥上的端⼝全是指定端⼝
3.5.3在每个⽹段上,选择1个指定端⼝
3.5.4 ⾮根桥上的指定端⼝,选择顺序
根路径成本较低
所在的交换机的⽹桥ID的值较⼩
端⼝ID的值较⼩
既不是根端⼝,也不是指定端⼝,STP将这个端⼝阻塞(Block)
3.6 STP端⼝状态
延迟:阻塞——(20s)——>倾听——(15s)——>学习——(15s)——>转发。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二层交换:生成树STP基本概念与实验如果你把两台傻瓜式交换机之间连两根网线,那么这俩交换机就会出现环路从而产生广播风暴。
可能你会觉得好笑,但实际工作中,我却碰到了,一些不懂网络的装修包工头,就会这样做。
===================================================== ===============生成树就是为了让交换网络中防环而出现的。
生成树最原始的版本是802.1d,也就是STP(Spanning Tree Protocol),但这个版本的标准是所有VLAN共用一个生成树,所以也叫CST(Common Spanning Tree)思科在此基础上增强了一下,发布了PVST+(Per Vlan Spanning Tree)802.1d的下一个版本是802.1w,也就是RSTP(Rapid STP),但还是共用生成树,搞不懂IEEE不长点记性。
于是思科又搞了一下,发布了PVRST+IEEE又基于思科的MISTP的方案,发布了802.1s(MSTP),这个就屌爆了,之后再说为何这么屌,凡是大一点的交换网络都用MSTP。
===================================================== ================STP的基础要学习更高级的RSTP/MST,还是需要STP的基础,尽管现在已经很少用到STP。
STP的工作流程1. 在整个交换网段里选择一台做根桥,这根桥就是整棵树的根部,所有其他交换机就选一条到这个根桥的最短路径,其余的路径阻塞掉。
所有交换机中桥优先级最低的成为根桥。
2. 选择所有非根桥交换机的根端口,就是那条最短路径的接口。
如果有超过1条等价路径,则选择对端指定端口优先级最低的本地端口(有点绕口,通过实验来说明)3. 选择各网段的指定端口。
这个网段其实就是指一根链接,其中一头一定是指定端口,另外一头可能是根端口,也可能是非指定端口。
根端口——只出现在非根桥交换机上,就是到达根桥最短路径的那个接口。
如下图,SW1被设置较低的桥优先级成为了根桥,注意,根桥上是没有根端口的。
根端口转发数据帧。
指定端口(和非指定端口)——所有交换机上都可能有,根桥上的所有端口都是指定端口(接终端的那些不算啊),非根桥之间的指定端口通过判断优先级,谁低谁是指定端口,对端是非指定端口或根端口,非指定端口禁止转发数据帧,不过仍会监听BPDU。
如下图,SW1上的接口都是指定端口,SW2/3上离根桥最短路径的端口就是根端口。
而SW2<->SW3之间的链路,记住,一条链接上一定有一头是指定端口,另外一头如果不是根端口,那就一定是非指定端口。
那哪边是指定端口呢?哪边的桥优先级更低,哪边就是指定端口。
而SW3上非指定端口被阻塞了,所以SW2<->SW3之间的链路其实是被阻塞了不能用于转发数据。
===================================================== ================端口的状态上面所说是端口的最终角色但每个端口,在任何时候都会有一个状态,包括在选举时和选举后·Blocking ——选举完成后,非指定端口的状态,禁止转发数据帧,但接收并处理BPDU。
·Listening ——端口最初始的状态,在接收到邻居发过来的BPDU后,判断出哪个端口要参与数据转发,于是通过这个端口发送BPDU,通知邻居网桥自己要参与数据帧的转发。
此状态需时15秒。
·Learning ——端口准备但未转发数据帧,并开始学习收到的帧中的MAC地址。
此状态需时15秒。
·Forwarding ——正式开始转发数据帧,也收发BPDU。
·Disabled ——不参与生成树,也不转发数据帧。
===================================================== ================端口开销默认情况下,·10Gbit/S cost为1·1Gbit/S cost为4·100Mbit/S cost为19·10Mbit/S cost为100这种值是通过一个算法算出来,具体算法不详,所以只能死记了。
每台非根桥的每条路径都是累加的计算。
可以通过手工修改接口的带宽去影响cost值,从而影响选路,但要注意,这种修改方法会影响所有VLAN。
sw3(config)#int f0/7sw3(config-if)#spanning-tree cost 5===================================================== ================桥优先级桥的优先级默认是32768桥ID= 优先级+vlanid(如果是vlan10,那么就是32778)先比优先级,最低的成为根桥,次低的就是备份根桥(备份根桥只是一种说法,实际环境中没有这个角色);如果优先级一样,就比最小的MAC地址,最小的为根桥根桥是抢占式的,所以当有新交换机加入网络,如果MAC比现有的根桥小且根桥使用了默认优先级,那就会立即改变现有的网络,因此最佳的做法是,在现有的网络中,确立根桥谁属,然后将其优先级改低,那么新交换机加入,就不会影响现有架构。
===================================================== ================实验在默认优先级下,SW1由于MAC最小,自然是根桥。
思科交换机默认工作于STP模式查看STP信息sw1#sh spanning-treeVLAN0001Spanning tree enabled protocol ieeeRoot ID Priority 32769Address 000d.bc01.bb00This bridge is the rootHello Time 2 sec Max Age 20 sec Forward Delay 15 secBridge ID Priority 32769 (priority 32768 sys-id-ext 1)Address 000d.bc01.bb00Hello Time 2 sec Max Age 20 sec Forward Delay 15 secAging Time 300Interface Role Sts Cost Prio.Nbr Type---------------- ---- --- --------- -------- --------------------------------Fa0/5 Desg FWD 19 128.5 P2pFa0/8 Desg FWD 19 128.8 P2pFa0/9 Desg FWD 19 128.9 P2pFa0/12 Desg FWD 19 128.12 P2p由于SW3两侧的最短路径相同(都是19+19=38),再来比较两侧的优先级又一样,再比桥ID,发现SW2的更低因此使用接SW2的端口为根端口,将F0/7置为BLK(blocking)sw3#sh spanning-treeVLAN0001Spanning tree enabled protocol ieeeRoot ID Priority 32769Address 000d.bc01.bb00Cost 38Port 6 (FastEthernet0/6)Hello Time 2 sec Max Age 20 sec Forward Delay 15 secBridge ID Priority 32769 (priority 32768 sys-id-ext 1)Address 0015.630d.7080Hello Time 2 sec Max Age 20 sec Forward Delay 15 secAging Time 15Interface Role Sts Cost Prio.Nbr Type---------------- ---- --- --------- -------- --------------------------------Fa0/6 Root FWD 19 128.6 P2pFa0/7 Altn BLK 19 128.7 P2p现在,我们通过修改Cost为5,来达到让SW3使用F0/7做根端口(ROOT PORT)sw3(config-if)#spanning-tree cost ?<1-200000000> port path costsw3(config-if)#spanning-tree cost 5再来检查一下stpsw3(config-if)#do sh spann【CUT】Interface Role Sts Cost Prio.Nbr Type---------------- ---- --- --------- -------- --------------------------------Fa0/6 Altn BLK 19 128.6 P2pFa0/7 Root FWD 5 128.7 P2p---------------------------------------------------------------------------------------------------------------端口优先级端口优先级默认是128.x ,x是端口编号,端口优先级是干什么用的呢?是用来影响邻居选择根端口用的。
SW1-SW4的两条链接,两侧的端口我故意接反,用来验证port优先级SW4的哪个端口是根端口呢?答案是F0/9明明是F0/8比F0/9 更小,为什么反而是9是根端口呢?原因是,在判断根端口时,如果两台交换机之间有多条等价链路,那么本地交换机,会根据对端的端口优先级来确定哪个是根端口。
像我现在这种接法,SW4 f0/8<-> SW F0/9SW4 F0/9 <-> SW1 F0/8对于SW4来说,F0/8收到的BPDU的端口优先级是128.9,而F0/9收到的是128.8,因此F0/9成为根端口。
sw4#sh spann【CUT】---------------- ---- --- --------- -------- --------------------------------Fa0/7 Desg FWD 19 128.7 P2pFa0/8 Altn BLK 19 128.8 P2pFa0/9 Root FWD 19 128.9 P2p修改根端口的优先级为了影响SW4的选择,需要修改SW1上的端口优先级sw1(config)#int f0/9sw1(config-if)#spanning-tree port-priority ?<0-240> port priority in increments of 16 【修改为16的倍数】sw1(config-if)#spanning-tree port-priority 64再来看看SW4的STPsw4#sh spanning-tree【CUT】Fa0/7 Desg FWD 19 128.7 P2p Fa0/8 Root FWD 19 128.8 P2p Fa0/9 Altn BLK 19 128.9 P2p现在F0/8成为了根端口了。