搜档网
当前位置:搜档网 › STP协议详解与实例

STP协议详解与实例

[*1*].冗余链路中存在的问题

这一部分使用下面这个拓扑来讲解一下链路冗余容易造成的三个问题:

如图所示SW1和SW2之间有两条线路相连,它们之间任何一条链路出现故障另外一条线路可以马上顶替出现故障的那条链路,这样可以很好的解决单链路故障引起的网络中断,但在此之前有下面三个问题需要考虑。

* 广播风暴

以太网交换机传送的第二层数据帧不像路由器传送的第三层数据包有TTL(Time To Live),如果有环路存在第二层帧不能被适当的终止,他们将在交换机之间永无止境的传递下去。结合交换机的工作原理,来看一下上面这张拓扑中广播风暴是如何形成的:

1,PC1发出一个广播帧(可能是一个ARP查询),SW1收到这个广播帧,SW1将这个广播帧从除接收端口的其他端口转发出去(即发往fa0/2、fa0/23、fa0/24)。2,SW2从自己的fa0/23和fa0/24都会收到SW1发过来的相同的广播帧,SW2再将这个广播帧从除接收端口外的所有其他接口发送出去(SW2将从fa0/23接收的广播帧发往其他三个端口fa0/24、fa0/1、fa0/2,从fa0/24接收到的也会发往其他三个端口fa0/23、fa0/1、fa0/2)。

3,这样这个广播帧又从fa0/23以及fa0/24传回了SW1,SW1再用相同的方法传回SW2,除非物理线路被破坏,否则PC1-4将不停的接收到广播帧,最终造成网络的拥塞甚至瘫痪。

* MAC地址表不稳定

广播风暴除了会产生大量的流量外,还会造成MAC地址表的不稳定,在广播风暴形成过程中:

1,PC1发出的广播帧到达SW1,SW1将根据源MAC进行学习,SW1将PC1的MAC和对应端口fa0/1写入MAC缓存表中。

2,SW1将这个广播帧从除接收端口之外的其他端口转发出去,SW2接收到两个来自SW1的广播(从fa0/23和fa0/24),假设fa0/23首先收到这个广播帧,SW2

根据源MAC进行学习,将PC1的MAC和接收端口fa0/23存入自己的MAC缓存表,但是这时候又从fa0/24收到了这个广播帧,SW1将PC1的MAC和对应的fa0/24接口存入自己的MAC缓存表。

3,SW2分别从自己的这两个接口再将这个广播帧发回给SW1,这样PC1的MAC 地址会不停的在两台交换机的fa0/23和fa0/24之间波动,MAC地址缓存表也不断的被刷新,影响交换机的性能。

* 重复帧拷贝

冗余拓扑除了会带来广播风暴以及MAC地址的不稳定,还会造成重复的帧拷贝:

1,假设PC1发送一个单播帧给PC3,这个单播帧到达SW1,假设SW1上海没有PC3的MAC地址,根据交换机的原理,对未知单播帧进行泛洪转发,即发往除接收端口外的所有其他端口(fa0/2、fa0/23、fa0/24)。

2,SW2分从自己的fa0/23和fa0/24接收到这个单播帧,SW3知道PC3连接在自己的fa0/1接口上,所以SW1将这两个单播帧都转发给PC3。

3,PC1只发送了一个单播帧,PC3却收到了两个单播帧,这会给某些网络环境比如流量统计带来不精确计算等问题。

[*2*].STP介绍

基于冗余链路中存在的这些问题STP被设计出来用来解决这些问题,下面介绍STP 的工作原理。

* STP算法

STP通过拥塞冗余路径上的一些端口,确保到达任何目标地址只有一条逻辑路径,STP借用交换BPDU(Bridge Protocol Data Unit,桥接数据单元)来阻止环路,BPDU中包含BID(Bridge ID,桥ID)用来识别是哪台计算机发出的BPDU。在STP运行的情况下,虽然逻辑上没有了环路,但是物理线上还是存在环路的,只是物理线路的一些端口被禁用以阻止环路的发生,如果正在使用的链路出现故障,STP 重新计算,部分被禁用的端口重新启用来提供冗余。

STP使用STA(Spanning Tree Algorithm,生成树算法)来决定交换机上的哪些端口被堵塞用来阻止环路的发生,STA选择一台交换机作为根交换机,称作根桥(Root Bridge),以该交换机作为参考点计算所有路径。

* 根交换机选举

首先要知道什么是BID(Bridge ID,桥ID),因为根交换机的选举是基于BID的,BID由三部分组成:优先级、发送交换机的MAC地址、Extended System ID(扩展系统ID,可选项)如下图所示:

BID一共8个字节,其中优先级2个字节,MAC地址6个字节。在不使用Extended System ID的情况下,BID由优先级域和交换机的MAC地址组成,针对每个VLAN,交换机的MAC地址都不一样,交换机的优先级可以是0-65535。在使用Extended System ID的情况下每个VLAN的MAC地址可以相同(在GNS3模拟器中不支持Extended System ID,Cisco Packet Tracer 5.3支持Extended System ID)。值得一提的是,现在的交换机普遍使用Extended System ID。拥有最小BID的交换机被选举成为根交换机。

在同一个广播域中的所有交换机都参与选举根交换机,当一台交换机启动时,它假设自己是根交换机,并默认每隔2秒发送一次“次优BPDU”帧,BPDU帧中的Root ID(根交换机的BID)和本机的BID相同。在一个广播域中的交换机互相转发BPDU 帧,并且从接收到的BPDU中读取Root ID,如果读取到的Root ID比本交换机的BID小,交换机更新Root ID为这个较小的Root ID,然后继续转发修改后的BPDU;如果接收的BPDU中的Root ID比本交换机的BID大,那么继续将自己的BID作为Root ID向外发送BPDU,直到最后在同一个生成树实例中拥有一致的Root ID,这个Root ID对应了这个广播域中某台交换机的BID(并且这个BID一定是这个广播域最小的),这台交换机就被选作根交换机。

下面用一个实例来演示一下根交换机的选举,在Cisco Packet Tracer 5.3中搭建下面这样的拓扑:

线连接好后等待几十秒钟,它们会自动选举出根交换机,使用下面的命令验证: 1 /*

2 * 在SW1上查看生成树信息,因为SW1、SW2、SW3上面都没有划分其他的VLAN ,

3 * 所以默认只有VLAN0001的生成树信息。

4 *

5 * "Spanning tree enabled protocol ieee",

6 * 表示交换机使用的生成树协议是"PVST+",这也是思科默认的生成树协议。

7 *

8 * "Root ID"后面是VLAN1中根交换机的BID 参数,

9 * Priority 32769,表示根交换机的优先级是32769,

10 * Address 是根交换机的MAC 地址,

11 * "This bridge is the root",表示当前这台交换机就是根交换机。 12 *

13 * "Hello Time 2sec Max Age 20sec Forward Delay 15sec"

14 * BPDU 发送间隔默认2秒,最大存在时间是20秒,转发延时是15秒。 15 *

16 * "Bridge ID"后面的参数是本交换机的BID 参数,

17 * 因为SW1就是根交换机,所以这个下面的参数和"Root ID"是一样的, 18 * 其中"priority 32768 sys-id-ext 1",表示SW1的优先级是32768, 19 * Extended System ID 是1,所以优先级就是32768+1。

20 *

21 * 所以SW1的BID=SW1的优先级+SW1的MAC 地址=32769+0001.9681.2683 22 * 接下来查看SW2和SW3的生成树信息,就会知道为什么SW1可以被选举成根交换机了。

23 */

24 SW1#show spanning-tree

25 VLAN0001

26 Spanning tree enabled protocol ieee

27 Root ID Priority 32769

28 Address 0001.9681.2683

29 This bridge is the root

30 Hello Time 2 ec Max Age 20sec Forward Delay 15sec 31

32 Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) 33 Address 0001.9681.2683

34 Hello Time 2sec Max Age 20sec Forward Delay 15sec

35 Aging Time 20

36

37 Interface Role Sts Cost Prio.Nbr Type

38 ----------- ---- --- --------- -------- ----------

39 Fa0/1 Desg FWD 19 128.1 P2p

40 Fa0/2 Desg FWD 19 128.2 P2p

41 Fa0/3 Desg FWD 19 128.3 P2p

42

43 /*

44 * 查看SW2的生成树信息,

45 *

46 * 可以看到SW2的BID中,优先级是32769,和根交换机(SW1)的相同,

47 * 但是SW2的MAC地址是0030.A310.3975,大于SW1的MAC地址,

48 * 因为BID=优先级+MAC地址,

49 * 从这里可以看出SW1的BID要小于SW2的BID,

50 * 所以SW1为根交换机。

51 */

52 SW2#show spanning-tree

53 VLAN0001

54 Spanning tree enabled protocol ieee

55

56 /*这里是根交换机,也就是SW1的BID信息*/

57 Root ID Priority 32769

58 Address 0001.9681.2683

59 Cost 19

60 Port 2(FastEthernet0/2)

61 Hello Time 2sec Max Age 20sec Forward Delay 15sec

62

63 /*这里是SW2的BID*/

64 Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)

65 Address 0030.A310.3975

66 Hello Time 2sec Max Age 20sec Forward Delay 15sec

67 Aging Time 20

68 ....

69

70 /*查看SW3的生成树信息,优先级相同,同样是因为MAC地址比SW1大*/

71 SW3#show spanning-tree

72 VLAN0001

73 Spanning tree enabled protocol ieee

74 Root ID Priority 32769

75 Address 0001.9681.2683

76 Cost 19

77 Port 1(FastEthernet0/1)

78 Hello Time 2sec Max Age 20sec Forward Delay 15sec

79

80 Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)

81 Address 00E0.8F76.269C

82 Hello Time 2sec Max Age 20sec Forward Delay 15sec

83 Aging Time 20

84 ....

通过这个实例,结合前面说的根交换机选举原理,就能很容易的理解根交换机是如何在一个广播域中被选举出来的了。

上面这种情况是默认连线后不做任何修改根交换机的选举情况,可以通过下面的命令将某台交换机的优先级改小,或者设置成动态优先级(即永远比其它交换机的优先级小),这样,这台拥有较小优先级的交换机将成为根交换机。

结合上面这个拓扑图(图三),将SW3的优先级改小,从而达到手动指定一台根交换机的目的:

1 /*首先我随便配置一个优先级*/

2 SW3(config)#spanning-tree vlan 1 priority 1000

3

4 /*它提示我,只能是4096的倍数,可以是下面的这些值*/

5 % Bridge Priority must be in increments of 4096.

6 % Allowed values are:

7 0 4096 8192 12288 16384 20480 24576 28672

8 32768 36864 40960 45056 49152 53248 57344 61440

9

10 /*

11 * 这里就设置成4096,注意这里针对的是VLAN1,

12 * 不同的VLAN优先级可以不同,

13 * 不同VLAN的STP选举出来的根交换机也可以不同,

14 * 比如SW3现在是VLAN1的根交换机,

15 * 假设还存在一个VLAN2,并且在SW1上使用这条命令:

16 * spanning-tree vlan 2 priority 4096

17 * 那么SW1就将成为VLAN2的根交换机。前提是VLAN2下有端口。

18 */

19 SW3(config)#spanning-tree vlan 1 priority 4096

20 SW3(config)#end

21 SW3#

22

23 /*过个一两秒,查看SW3的生成树信息,发现他已经成为了根交换机。*/

24 SW3#show spanning-tree

25 VLAN0001

26 Spanning tree enabled protocol ieee

27 Root ID Priority 4097

28 Address 00E0.8F76.269C

29 This bridge is the root

30 Hello Time 2sec Max Age 20sec Forward Delay 15sec

31

32 Bridge ID Priority 4097 (priority 4096 sys-id-ext 1)

33 Address 00E0.8F76.269C

34 Hello Time 2sec Max Age 20sec Forward Delay 15sec

35 Aging Time 20

36 ....

使用下面的命令可以让交换机自动动态的调整自己的优先级为整个广播域最小,使用这条命令让SW2成为根交换机:

1 /*首先清除SW3上面手动配置的优先级*/

2 SW3(config)#no spanning-tree vlan 1 priority

3

4 /*然后配置自动调整优先级,让SW2自己动态调整*/

5 SW2(config)#spanning-tree vlan 1 root primary

6

7 /*等待几秒钟,查看SW2的生成树信息,发现根交换机变成了自己*/

8 SW2#show spanning-tree

9 VLAN0001

10 Spanning tree enabled protocol ieee

11 Root ID Priority 16385

12 Address 0030.A310.3975

13 This bridge is the root

14 ....

* 端口花费和路径花费

根交换机被选举出来后,计算其他交换机到根交换机的花费,STA考虑两种花费,端口花费和路径花费,路径花费是从根交换机出发到最终交换机前进方向进入的端口花费总和,也就是说在上面的拓扑图图三中,假设SW1是根交换机,想要改变SW3到根交换机SW1的花费,应该在SW3的fa0/1来改变,而不是在SW1的fa0/3端口上改变。

如果一台交换机有多条路径到达根交换机,这台交换机会选择路径花费最小的那条,下面是默认的端口花费参照表:

这个参照表只是端口默认的花费,端口花费是可以手动修改的,因为”Cisco Packet Tracer 5.3″不支持修改端口花费,修改端口花费的实验使用GNS3来进行,拓扑如下:

图五中SW1被选举成为根交换机,先在SW3上面查看一下默认的生成树信息:

1 SW3#show spanning-tree brief

2

3 VLAN1

4 Spanning tree enabled protocol ieee

5 Root ID Priority 32768

6 Address cc00.0c94.0000

7

8 /*

9 * 可以看到SW3到根交换机的花费是19,

10 * 这说明SW3的fa0/0接口速率是100Mb/s。

11 */

12 Cost 19

13 Port 1 (FastEthernet0/0)

14 Hello Time 2sec Max Age 20sec Forward Delay 15sec

15 .....

通过下面的命令来修改SW3到根交换机的花费:

1 /*将SW3的fa0/0接口的花费改成40*/

2 SW3(config)#int fa 0/0

3 SW3(config-if)#spanning-tree cost 40

4 SW3(config-if)#end

5

6 /*

7 * 再次查看SW3的生成树信息,发现花费居然变成了38,

8 * 这是为什么呢?不是应该为40吗?

9 * 另外我们还发现下面的Port端口也发生了变化,

10 * 没有修改前是Fa0/0,现在是Fa0/1,

11 * 这说明去往根交换机的数据是通过SW3的Fa0/1发给SW2再转发给SW1的,

12 * 这是因为我们将SW3的Fa0/0的花费修改成了40,

13 * 然而,通过SW3的Fa0/1发给SW2再转发给SW1的花费只有38,

14 * 即SW3的Fa0/1的默认花费19,加上SW2的Fa0/2的默认花费19,

15 * 前面也提到了,交换机选取花费最小的那条路径去往根交换机。

16 */

17 SW3#show spanning-tree brief

18 VLAN1

19 Spanning tree enabled protocol ieee

20 Root ID Priority 32768

21 Address cc00.0c94.0000

22 Cost 38

23 Port 2 (FastEthernet0/1)

24 ....

* BPDU结构浅析

前面提到的交换机之间通过转发BPDU来选择根交换机,这里讲BPDU帧的结构简单的介绍一下:

BPDU包含12个字段,如上图所示,部分字段解释如下:

?Flags:标记域,包含TC(Topology Change,拓扑改变)比特位,TCA(Topology Change Acknowledgment,拓扑改变确认)比特位。

?Root ID:包含了根交换机的BID。

?Cost of path:到根交换机的路径花费。

?Bridge ID:转发BPDU的交换机的BID。

?Port ID:转发BPDU的交换机的PID,PID等于端口优先级(默认128)加端口号,后面会介绍到。

?Message age:BPDU已经存在的时间。

?Max age:BPDU最大存在时间。

?Hello time:根交换机发送配置信息的间隔时间,默认2秒。

?Forward Delay:转发延时,默认15秒。

* STP端口角色

1,根端口(Root Port,RP),每个非根交换机上有且仅有一个根端口,稍后的生成树选举中会详细介绍根端口的选举过程。

2,指派端口(Designated Port,DP),网络上除根端口外,所有允许转发流量的端口,每个网段都有一个指派端口,根交换机上的端口都是指派端口。

3,非指派端口,既不是根端口也不是指派端口,这种端口虽然是激活的但是会被堵

塞(Blocking)用来阻止环路。根端口和指派端口都处于转发(Forwarding)状态。

4,禁用端口,被管理员使用”shutdown”命令关闭的端口称作禁用端口,禁用端口不参与生成树算法。

* 端口状态和BPDU时间

互连交换机通过在一个广播域交换BPDU帧构建一个逻辑上无环的路径,当一台交换机启动后,如果一个交换机端口直接转换到转发状态可能会造成暂时性的环路。为了使用这个逻辑生成树,交换机需要在五种状态间转换,转换会历经三种BPDU 时间。

下面是STP中的五种端口状态:

1,Down(禁用)状态。可以使用”no shutdown”命令和插入网线来激活。

2,Blocking(阻塞)状态。链路激活后转入阻塞状态,这个状态大约停留20秒,主要用来确定该端口的角色。如果判断出该端口是非指派端口,则将保持在这一状态,即阻塞,如果处在阻塞状态的端口接收不到BPDU了,也会转入下一状态。如果判断出是其他端口角色,则转入下一状态。

3,Listening(侦听)状态。这个状态大约停留15秒,除了接收BPDU外,还向邻居发送BPDU,通知邻居它将参与激活拓扑。

4,Learning(学习)状态。大约停留15秒,开始学习MAC地址。

5,Forwarding(转发)状态。端口可以转发数据帧。

BPDU的时间有三种,Hello Time、Max Age、Forward Delay:

1,Hello时间控制了发送配置BPDU的时间间隔,默认2秒。这是根交换机生成BPDU 并向非根交换机发送的间隔。

2,非根交换机接收到根交换机发送来的BPDU,再从除接收端口以外的其他端口转发出去,如果在2-20秒里面由于网络故障没有新的BPDU从根交换机发送过来,非根交换机将停止向外发送从根交换机接收到的BPDU。如果这种情况持续20秒,也就是最大存活期,非根交换机就使原储存的BPDU无效,并开始寻找新的根端口。所谓最大存活期就是非根交换机丢弃BPDU前用来备份储存它的时间。

3,转发延时是交换机在侦听状态到学习状态所花的时间,默认是15秒。

从上面的叙述中我们可能会发现,一台启动STP的交换机,每个端口从UP到Forwarding所需的时间大约是50秒左右,而普通的二层交换机端口UP到Forwarding瞬间就能完成。这会带来一个问题,那就是如果这台启动STP的交换机的接口连接的是一个终端设备,比如计算机,那么端口加电启动后计算机就要等上50秒才能发送数据,这很不合理,可以使用下面的命令将支持STP的交换机与终端相连的端口设置成快速端口,这样端口从UP到Forwarding也能一瞬间完成了。

但需要注意的是,仅在连接计算机的端口上使用快速端口的功能,不要在和其他交换机,集线器网桥相连的端口上使用这个功能,否则容易造成环路。

1 /*假设这台交换机的fa0/1到10口都连接的是计算机*/

2 Switch(config)#int range fa 0/1 - 10

3 Switch(config-if-range)#spanning-tree portfast

[*3*].STP收敛

STP的收敛就是整个网络达到稳定的状态,选举出了根交换机,并决定出所有端口的角色,排除所有的潜在环路。

* 生成树的选举

这一小节是这篇文章最重要的部分,上面的所有理论都会在这一小节得到解释和应用,STP最终收敛成为一个没有环路的网络需要通过下面四个步骤:

?每个广播域只能有一个根交换机。

?每个非根交换机有且只有一个根端口。

?每个网段有且只能有一个指派端口。

?既不是根端口也不是指派端口的端口会被阻塞。

下面来看看生成树的选举过程,一共分为四步:

1,选举根交换机

交换机之间通过发送BPDU来选举根交换机,拥有最小BID的交换机将成为根交换机,每个广播域只能有一个根交换机。

2,选举根端口

每个非根交换机有且只有一个根端口,选举根端口依照下面的顺序。

*** 首先,最低花费的端口将成为根端口;在花费相同的情况下比较发送者的BID,BID小的将成为根端口,请看下面这张拓扑图:

图中SW1被选举成根交换机,交换机之间的链路都是100Mb/s,所以SW2的根端口是SW2的fa0/2接口,SW3的根端口是SW3的fa0/1接口,因为他们从这个接口去根交换机的花费都是19,小于通过SW4去根交换机的花费。那么SW4的根端口是哪个呢?不论从自己的哪个接口去往根交换机(经过SW2或SW3),花费都是一样(38),所以在花费相同的情况下比较发送者的BID,也就是比较SW2和SW3的BID,显然SW2的BID(32768+2222.2222.2222)小于SW3的BID

(32768+3333.3333.3333),所以SW4将自己和SW2相连的接口fa0/4选举成为根端口。

*** 在发送者BID相同的情况下,比较发送者的PID,请看下面这张图:

图中,SW1和SW2通过两条100Mb/s线路相连,SW1拥有较小的BID被选举成为根交换机,这时SW2要选举根端口,首先SW2会寻找最低花费的端口,但是去往SW1的两个端口的花费都是19,然后SW2比较发送者的BID,SW2发现,两个端口都连接的是SW1,发送者(SW1)的BID相同,这个时候,就会比较发送者的PID,也就是端口ID(端口ID等于优先级(默认端口优先级是128)加上端口号),发送者(SW1)端口ID较小的那个端口对应的本地(SW2)上的那个端口,将成为根端口。

我们在SW1上查看生成树信息:

1 SW1#show spanning-tree

2 VLAN0001

3 Spanning tree enabled protocol ieee

4 Root ID Priority 24577

5 Address 0030.A3B8.5728

6 This bridge is the root

7 Hello Time 2sec Max Age 20sec Forward Delay 15sec 8

9 Bridge ID Priority 24577 (priority 24576 sys-id-ext 1)

10 Address 0030.A3B8.5728

11 Hello Time 2sec Max Age 20sec Forward Delay 15sec

12 Aging Time 20

13

14 /*

15 * 这一部分信息就是SW1上面的端口信息,其中Prio下面的就是端口ID,

16 * 可以看到SW1的fa0/1默认端口ID是128.1,小于fa0/2的端口ID。

17 */

18 Interface Role Sts Cost Prio.Nbr Type

19 ---------------- ---- --- --------- -------- -----------

20 Fa0/1 Desg FWD 19 128.1 P2p

21 Fa0/2 Desg FWD 19 128.2 P2p

22

23 SW1#

从输出可以看到,SW1上面的fa0/1拥有较小的端口ID,它对应了SW2的fa0/2端口,所以SW2的fa0/2端口被选举成为根端口。

*** 如果发送者的PID也相同,那么比较接收者的PID,看下面这种情况:

图中,SW1的fa0/1连接在一台集线器上,SW2的fa0/1和fa0/2也连接在这台集线器上,线路均为100Mb/s,假设SW1拥有较小的BID被选举成根交换机,SW2现在要选举根端口,首先根据前面说的,比较花费,SW2从两个端口到根交换机SW1的花费都相同;然后SW2比较发送者BID,发送者(SW1)的BID也相同;SW2再比较发送者PID,发现PID也相同;这个时候,SW2比较接收者,也就是自己的PID,将自己PID最小的那个端口选举成根端口。

可以根据SW2的生成树信息输出判断,fa0/1拥有更小的PID,所以它被选举成为根端口:

1 SW2#show spanning-tree

2 VLAN0001

3 Spanning tree enabled protocol ieee

4 Root ID Priority 24577

5 Address 0030.A3B8.5728

6 Cost 19

7 Port 1(FastEthernet0/1)

8 Hello Time 2sec Max Age 20sec Forward Delay 15sec 9

10 Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)

11 Address 0003.E4A7.92DA

12 Hello Time 2sec Max Age 20sec Forward Delay 15sec

13 Aging Time 20

14

15 /*

16 * 下面这一部分可以清楚的看到fa0/1拥有更小的PID 128.1,

17 * Root FWD 表示这个端口被选举成为了根端口,并且状态是转发,

18 * Altn BLK 表示这个端口既不是根端口也不是指派端口,被阻塞。

19 */

20 Interface Role Sts Cost Prio.Nbr Type

21 ---------------- ---- --- --------- -------- ---------

22 Fa0/1 Root FWD 19 128.1 Shr

23 Fa0/2 Altn BLK 19 128.2 Shr

24

25 /*

26 * 这里补充一个知识点,端口的优先级默认为128,

27 * 而这个端口优先级是可以手动修改的,

28 * 可以将fa0/2的优先级通过下面的命令改成100,

29 * 这样STP重新收敛,Fa0/1将被阻塞,Fa0/2将被选举成为根端口,

30 * 端口优先级的取值范围是0-255,

31 * Cisco Packet Tracer中不支持这一条命令,可以在GNS3中测试。

32 */

33 SW2(config)#int fa 0/2

34 SW2(config-if)#spanning-tree port-priority 100

到这里,选举根端口的全部可能性都讲解完了。下面讲解指派端口的选举。

3,选举指派端口

每个网段有且只有一个指派端口。其实,每个网段都有一个指派交换机,指派交换机上如果有多个端口,再从多个端口中选举出一个成为指派端口,指派端口的选举依照下面的顺序:

*** 比较花费

图中,假设SW1被选举成了根交换机,因为每个网段都有一个指派端口,在SW1和SW3相连的线路上,由于SW1本身是根交换机,SW1的fa0/1端口到自己的花费是0,所以SW1的fa0/1接口被选举成指派端口(根交换机上的所有端口都是指派端口);同理在SW1和SW2相连的网段上,SW1的fa0/2也被选举成了指派端口;而在SW2和SW3相连的网段上,由于SW1和SW2之间是1Gb/s链路,SW2去往根交换机的花费(4)要小于SW3去往根交换的花费(19),所以SW2是这个网段上的指派交换机,SW2的fa0/3将成为这个网段的指派端口。再根据前面的根端口的选举可以知道SW2的fa0/2是根端口,SW3的fa0/1是根端口,SW3的fa0/3端口因为不是根端口,也不是指派端口,所以被阻塞。

*** 花费相同则比较接收者的BID(这次不是发送者了)

图中,SW1是根交换机,在SW2和SW3相连的网段上,SW2和SW3到根交换机的花费相同,这时就需要比较接收者的BID,也就是SW2和SW3的BID,BID 小的将成为指派交换机,从图中可以看到SW2的BID小于SW3的BID,所以SW2是指派交换机,SW2的fa0/3端口将成为指派端口。

*** 接收者的BID也相同则比较接收者的PID

图中,SW1是根交换机,SW2和SW3相连的网段上有一台集线器,SW2有两个端口连接在这台集线器上,这种情况下,根据上面一步比较出了SW2的BID比SW3小,但是SW2上面有多个端口连接在这个网段,这时就要比较这些端口的PID,拥有最小PID的成为指派端口(fa0/3),PID大的剩余端口全部阻塞(fa0/4阻塞),通过在SW2上查看生成树信息验证:

1 SW2#show spanning-tree

2 VLAN0001

3 Spanning tree enabled protocol ieee

4 Root ID Priority 24577

5 Address 0090.21DE.9A5B

6 Cost 19

7 Port 2(FastEthernet0/2)

8 Hello Time 2sec Max Age 20sec Forward Delay 15sec 9

10 Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) 11 Address 0004.9A05.9A31

12 Hello Time 2sec Max Age 20sec Forward Delay 15sec 13 Aging Time 20

14

15 Interface Role Sts Cost Prio.Nbr Type

16 ---------------- ---- --- --------- -------- ---------

17 Fa0/2 Root FWD 19 128.2 P2p

18 Fa0/3 Desg FWD 19 128.3 Shr

19 Fa0/4 Altn BLK 19 128.4 Shr

20 /*可以看到默认的PID fa0/3比fa0/4小,所以fa0/4被阻塞,fa0/3是指派端口*/ 4,阻塞端口

既不是根端口也不是指派端口的端口将被阻塞。

* STP 拓扑变化

当交换机检测到端口发生了变化时,交换机将通知根交换机拓扑变化情况,根交换机再将这一情况扩散到整个网络,有三种特殊的BPDU 用来完成这些工

作:TCN(Topology Change Notification)BPDU-拓扑改变通知BPDU 、TCA (Topology Change Acknowledgement )BPDU-拓扑改变确认BPDU 、TC (Topology Change )BPDU ,下图演示了这一过程:

图中,左边SW5首先检测到了拓扑变化,它从根端口向SW2发送TCN,SW2使用TCA向SW5确认,然后SW2产生一个TCN从自己的根端口发送给SW1,也就是根交换机,根交换机SW1收到这个TCN后,使用TCA向SW2确认。一旦根交换机知道了这一拓扑变化,它将向外广播发送TC位被设置的BPDU,就是上图右边的情况,最后整个广播域都知道了这一变化。

[*4*].STP负载均衡实验

实验在GNS3中完成。

在上面这张拓扑图中,SW1的fa0/0连接了SW1的fa0/1,SW1的fa0/1连接了SW2的fa0/0,这两条链路被配置成主干,将SW1设置成VTP Server,SW2设置成VTP Client,在SW1上新建VLAN2,让SW1成为VLAN1的根交换机,SW2成为VLAN2的根交换机,这样根据前面的叙述,在VLAN1生成树实例中SW2的fa0/0接口将被阻塞,VLAN1的流量将全部从上面那条线路经过,而在VLAN2生成树实例中SW1的fa0/0将被阻塞,VLAN2的流量将全部从下面这条线路走。

1 /*首先将SW1和SW2相连的两条线路配置成主干*/

2 SW1(config)#int fa 0/0

3 SW1(config-if)#swi mod trunk

4 SW1(config-if)#int fa 0/1

5 SW1(config-if)#swi mod trunk

6

7 SW2(config)#int fa 0/0

8 SW2(config-if)#swi mod trunk

9 SW2(config-if)#int fa 0/1

10 SW2(config-if)#swi mod trunk

11

12 /*将SW2配置成VTP Server*/

13 SW1#vlan database

14 SW1(vlan)#vtp domain ccna

15 Changing VTP domain name from NULL to ccna

16 SW1(vlan)#vtp password ccna

17 Setting device VLAN database password to ccna.

18 SW1(vlan)#vtp server

19 Device mode already VTP SERVER.

20 SW1(vlan)#vlan 2 /*新建了一个VLAN2*/

21 VLAN 2 added:

22 Name: VLAN0002

23 SW1(vlan)#exit

24 APPLY completed.

25 Exiting....

26 SW1#

27

28 /*将SW2配置成VTP Client*/

29 SW2#vlan database

30 SW2(vlan)#vtp domain ccna

31 Domain name already set to ccna .

32 SW2(vlan)#vtp password ccna

33 Setting device VLAN database password to ccna.

34 SW2(vlan)#vtp client

35 Setting device to VTP CLIENT mode.

36 SW2(vlan)#exit

37 In CLIENT state, no apply attempted.

38 Exiting....

39 SW2#

40

41 /*将SW1配置成VLAN1的根交换机*/

42 SW1(config)#spanning-tree vlan 1 root primary

43 % This switch is already the root of VLAN1 spanning tree

44 VLAN 1 bridge priority set to 8192

45 VLAN 1 bridge max aging time unchanged at 20

46 VLAN 1 bridge hello time unchanged at 2

47 VLAN 1 bridge forward delay unchanged at 15

48 SW1(config)#

49

50 /*将SW2配置成VLAN2的根交换机*/

51 SW2(config)#spanning-tree vlan 2 root primary

52 VLAN 2 bridge priority set to 8192

53 VLAN 2 bridge max aging time unchanged at 20

STP.RSTP协议理解

STP/RSTP 协议理解 拟制 Prepared by 沈岭 Date 日期 2004-11-03 评审人 Reviewed by Date 日期 yyyy-mm-dd 批准 Approved by Date 日期 yyyy-mm-dd 华为三康技术有限公司 Huawei-3Com Technologies Co., Ltd. 版权所有 侵权必究 All rights reserved

修订记录Revision Record

目录 1 S TP 生成树协议 (7) 1.1STP的主要作用 (7) 1.2STP的基本原理: (7) 1.3STP端口的角色和状态 (8) 1.4端口状态: (9) 1.5STP算法 (9) 1.5.1问题1 (12) 1.5.2问题2 (13) 1.6STP的计时器: (13) 1.7STP拓扑结构改变 (14) 1.8问题讨论 (16) 1.8.1问题3的答案: (16) 1.8.2附加题: (16) 2 RSTP 快速生成树协议 (19) 2.1RSTP的改进 (19) 2.2P/A协商 (22) 2.3拓扑结构变化 (23) 2.3.1问题1: (24) 2.3.2问题2: (25) 2.3.3问题3 (25) 2.3.4问题4: (25) 2.3.5附加题 (26) 2.4RSTP新增特性 (26) 2.4.1BPDU Guard (26) 2.4.2Root Guard (27)

2.4.3Root Primary/Secondary (27) 2.4.4Loop Guard (27) 2.4.5STP Mcheck (28) 2.4.6STP TC-protection (28) 推荐资料: (29) 参考资料: (29)

stp协议

Stp协议 STP(Spanning Tree Protocol)是生成树协议的英文缩写,是OSI网络互联模型中的第二层(Date Link Layer)中的协议。 STP是基于什么需要所开发的协议: 一个优秀的网络工程师,冗余的思想是尤为重要的,因此在做某些网络互联的项目时,会使用多个交换机Switch进行保障通信,避免单点故障。可是如果几个交换机同时作用时,难免会发生一些问题:1,广播风暴。一个PC或者Host Server 发送一个广播broadcast,从而使形成环路的交换机不停的泛洪(由于交换机是二层设备,没有网络层封装帧的TTL数,所以这种广播风暴更为严重),直到网络堵塞。2,帧的多重复制。由于多台Switch转发数据,可以使目标路由器接收到几个相同的帧,这在三层路由的一些协议中,会出现故障。3,MAC地址表不稳定。由于交换机中MAC表中,一个端口可对应多个MAC地址,而一个MAC无法对应多个端口。然而在多个Switch同时作用环路时,难免会造成MAC 表学习重复,使MAC地址对应的端口不断被覆盖,造成MAC地址表不稳定。 基于以上问题,开发出来了STP生成树协议,该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。 生成树协议STP/RSTP 一. 技术原理: STP的基本思想就是生成“一棵树”,树的根是一个称为根桥的交换机,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥。由根桥开始,逐级形成一棵树,根桥定时发送配置报文,非根桥接收配置报文并转发,如果某台交换机能够从两个以上的端口接收到配置报文,则说明从该交换机到根有不止一条路径,便构成了循环回路,此时交换机根据端口的配置选出一个端口并把其他的端口阻塞,消除循环。当某个端口长时间不能接收到配置报文的时候,交换机认为端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。 总之,其目的就是在不影响冗余的情况下,避免交换机环路的出现。

详解生成树协议STP RSTP

详解生成树协议STP/RSTP 生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。 生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。“生成树协议”是一个广义的概念,并不是特指IEEE 802.1D中定义的STP协议,而是包括STP以及各种在STP基础上经过改进了的生成树协议。 STP/RSTP 在网络发展初期,透明网桥的运用。它比只会放大和广播信号的集线器聪明得多。它的学习能力是把发向它的数据帧的源MAC地址和端口号记录下来,下次碰到这个目的MAC地址的报文就只从记录中的端口号发送出去,除非目的MAC地址没有记录在案或者目的MAC地址本身就是多播地址才会向所有端口发送。通过透明网桥,不同的局域网之间可以实现互通,网络可操作的范围得以扩大,而且由于透明网桥具备MAC地址学习功能而不会像Hub那样造成网络报文冲撞泛滥。 透明网桥也有它的缺陷,它的缺陷就在于它的透明传输。透明网桥并不能像路由器那样知道报文可以经过多少次转发,一旦网络存在环路就会造成报文在环路内不断循环和增生,出现广播风暴。 为了解决这一问题,后来提出了生成树协议。 STP协议中定义了根桥(RootBridge)、根端口(RootPort)、指定端口(DesignatedPort)、路径开销(PathCost)等概念,目的就在于通过构造一棵自然树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化。用于构造这棵树的算法称为生成树算法SPA(Spanning TreeAlgorithm)。 要实现这些功能,网桥之间必须要进行一些信息的交流,这些信息交流单元就称为配置消息BPDU(BridgeProtocol Data Unit)。STP BPDU是一种二层报文,目的MAC是多播地址01-80-C2-00-00-00,所有支持STP协议的网桥都会接收并处理收到的BPDU报文。该报文的数据区里携带了用于生成树计算的所有有用信息。 生成树协议的工作过程: 首先进行根桥的选举。选举的依据是网桥优先级和网桥MAC地址组合成的桥ID(Bridge ID),桥ID最小的网桥将成为网络中的根桥。在网桥优先级都一样(默认优先级是32768)的情况下,MAC地址最小的网桥成为根桥。 接下来,确定根端口,根据与根桥连接路径开销最少的端口为根端口,路径开销等于‘1000’除于‘传输介质的速率’假设中SW1和跟桥之间

stp协议选举规则

1选取根网桥(rootbridge)---------------只选取一个根交换机1)比较交换机的BridgeID(16位优先级+48位MAC),取ID小的。 优先级可配,如果优先级相同(默认是32768),则比较MAC。 2选取根接口(rootport)-----------------每个非根交换机上选 取一个根接口 1)先比较到达根网桥所经过的所有交换机的出接口的cost值的总和。取cost总和值小的为根接口。 2)当cost总和相同时,则比较对端交换机的BridgeID,取值小的为根接口 3)当BridgeID也相同时,则比较对端PortiD,去小的为根接口。 3选取指定接口(DesignatedPort)--------------每条链路上选取一个指定端口 1)根网桥上的接口都是指定接口。 2)比较该链路两端的交换机到达根网桥所经过的所有交换机的出 接口的cost值的总和。取小的为指定端口。 3)如果cost值的总和相同,则比较该条链路两端的交换机BridgeID,取BridgeID小的上面的端口为指定端口。 4)如果链路两端交换机BridgeID也是相同,则比较对端接口的PortID(由接口优先级和接口号构成,默认优先级128),取小的为 指定接口。 4将其它非根、非指定接口至为替补接口(AlternatePort)。即阻塞。

[SW3]stppriority4096 //修改交换机的优先级 修改接口的代价值// [SW3-Ethernet0/0/3]stpcost4096 [SW3]displaystp //查看详细的stp信息 信息stp查看简单的// displaystpbrief [SW3]

STP生成树协议原理与算法简析

STP生成树协议原理与算法简析 简介 在实际的网络环境中,物理环路可以提高网络的可靠性,当一条线路断掉的时候,另一条链路仍然可以传输数据。但是,在交换网络中,当交换机接收到一个未知目的地址的数据帧时,交换机的操作是将这个数据帧广播出去,这样,在存在物理的交换网络中,就会产生一个双向的广播环,甚至产生广播风暴,导致交换机死机。这就产生一个矛盾,需要物理环路来提高网络可靠性,而环路又可能产生广播风暴,如何才能两全其美呢? 本章将要讲述的STP,就是用来解决这个矛盾的。STP(Spanning Tree Protocol,生成树协议)是根据IEEE 802.1D 标准建立的,用于在局域网中消除数据链路层物理环路的协议。运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某些端口进行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路网络中不断增生和无限循环,避免设备由于重复接收相同的报文所造成的报文处理能力下降的问题发生。 STP采用的协议报文是BPDU(Bridge Protocol Data Unit,桥协议数据单元),也称为配置消息,BPDU中包含了足够的信息来保证设备完成生成树的计算过程。STP即是通过在设备之间传递BPDU来确定网络的拓扑结构。 1 STP 生成树协议 1.1 STP的主要作用 消除环路:通过阻断冗余链路来消除网络中可能存在的路径回环。 链路备份:当前活动路径发生故障时,激活冗余备份链路,恢复网络连通性。 1.2 STP的基本原理: 通过在交换机之间传递一种特殊的协议报文——BPDU(在IEEE 802.1D中这种协议报文被称为“配置消息”)来确定网络的拓扑结构。配置消息中包含了足够的信息来保证交换机完成生成树计算。(注:此BPDU被称为配置BPDU,另外STP还有TCN BPDU。)

生成树协议STP配置

项目五:生成树协议STP配置 1、实验目的 理解快速生成树协议RSTP的配置及原理。 2、背景描述 某学校为了开展计算机教学和网络办公,建立了一个计算机教师和一个校办公区,这两处的计算机网络通过两台交换机互连组成内部校园网,为了提高网络的可靠性,网络管理员用2条链路将交换机互连,现要在交换机上做适当配制,使网络避免环路。 本实验以2台S2690交换机为例,2台交换机分别命名为SwitchA,SwitchB。PC1与PC2在同一个网段,假设IP地址分别为192.168.0.137,192.168.0.136,网络掩码为255.255.255.0。 3、实验功能 使用网络在有冗余链路的情况下避免环路的产生,避免广播风暴等。 4、实验拓扑 5、实验设备 S2126G(2台),PC机(2台),直通线(4条)。 6、实验步骤 步骤1:交换机SwitchA的基本配置。 Switch#configure terminal !进入交换机全局配置模式 Switch(config)#vlan 10 !创建VLAN 10 Switch(config-vlan)#name sales !将其命名为sales Switch(config-vlan)#exit switch(config)#interface fastethernet 0/5 !进入接口配置模式 switch(config-if)#switchport access vlan 10 !将fastethernet 0/5端口加入VLAN 10中switch(config-if)#exit switch(config)#interface range fastethernet 0/1-2 !进入接口0/1和0/2 switch(config-if-range)#switchport mode trunk !配置为trunk 步骤2:交换机B上的基本配置 Switch#configure terminal !进入交换机全局配置模式 Switch(config)#vlan 10 !创建VLAN 10 Switch(config-vlan)#name sales !将其命名为sales

华为stp生成树协议笔记

STP 为什么会有stp 为了保证可靠,设计了一种环网拓扑,又因为交换机的工作原理,会出现环路问题,为了解决环路,才有了stp生成树 1 mac地址表震荡 2 广播风暴 作用:在保证可靠的基础上,解决环路问题 原理:阻塞端口(预备端口)通过选举阻塞端口,来防止环路 1 根桥(根交换机): 1 比较每台交换机上的网桥id (优先级+mac地址)越小越优先 默认优先级 32768 修改优先级修改的时候要改成4096的倍数 交换机上有默认的stp版本为mstp (多实例生成树)stp (生成树)rstp (快速生成树) [系统]stp mode stp 修改stp的模式 Stp priority 4096 修改优先级 2 根端口:非根交换机到达根交换机的最优端口 比较规则 1 路径开销值 2 对端网桥id 3 对端对口id 4 本端端口id (hub) 3 指定端口:每条链路上到达根交换机最优端口根交换机上所有端口都是指定端口 比较规则 1 路径开销 2 本端网桥id

3 本端端口id (端口优先级和端口编号)端口优先级默认是128 4 剩下的端口就叫做阻塞端口 Stp中的报文交互 BPDU 桥协议数据单元 两种bpdu 1 配置bpdu 作用:用于角色(端口)选举 维护网络拓扑 2秒1次最多20秒20 秒没有根的回应,则认为根down掉 2 tcn bpdu 拓扑变化bpdu 作用:当拓扑发生变化时,会发tcn bpdu Bpdu 字段 1 bpdu flsges标识字段 Tca 位拓扑变化确认位 Tc 位拓扑变化位 发生变化时置1 2 root identifier 根网桥id 3 root path cost 到达根的开销值 4 bridge id 本交换机的网桥id 5 port id 端口id 0x8001 前面的80 代表优先级128 , 01代表端口号 6 message age 消息寿命每经过一台交换机message age +1 7 max age 最大寿命 20 秒 8 hello time 2秒 9 forward delay 转发延迟 15秒 端口的状态变化 1 disable 开启stp时特点:不进行stp计算 2 blocking 阻塞端口直接进入blocking 状态 3 listening 非阻塞端口才进入侦听状态特点:加速mac地址表老化 中间有15秒的间隔时间,目的是为了加速mac地址表老化,mac地址表老化时间300秒 4 learning 学习状态 中间有相隔15秒的时间,加速mac地址表的学习 5 forwarding 转发状态

华为生成树协议STP分析过程与配置方法

华为生成树协议STP分析过程与配置方法 一、学习目的: 1、掌握配置STP的方法 2、掌握修改网桥优先级影响根选举的方法 3、掌握修改端口优先级影响根端口与指定端口选举的方法 4、掌握配置RSTP的方法 5、掌握STP与RSTP的相互兼容问题 6、掌握配置MSTP实现不同vlan负载均衡的方法 7、掌握MSTP与STP的相互兼容问题 8、掌握生成树中的保护方法 二、重点命令 1、开启stp [plain]view plain copy 1.stp enable 2.stp mode stp 2、查看stp状态

[plain]view plain copy 1.dis stp 2.dis stp brief 3、指定stp主根和备根 [plain]view plain copy 1.stp root primary 2.stp root secondary 4、手工指定根桥优先级 [plain]view plain copy 1.stp priority 4096(4096的倍数) 5、指定RP [plain]view plain copy 1.int g0/0/10 2.stp port priority 16(16的倍数)

6、指定DP [plain]view plain copy 1.int g0/0/24 2.stp cost 2000000 7、开启rstp [plain]view plain copy 1.stp enable 2.stp mode rstp 8、配置mstp [plain]view plain copy 1.stp enable 2.stp mode mstp 3.stp region-configuration 4.region-name RG1 5.instance 1 vlan 1 to 10 6.instance 2 vlan 11 to 20 7.active region-configuration

生成树协议STP配置

【实验名称】:生成树协议STP配置(Boson Netsim模拟器只能实现部分功能) 【实验目的】: 掌握生成树STP协议的基本概念 掌握使用STP端口权值实现负载均衡 掌握配置STP路径值的负载均衡 【实验仪器及用品】:BOSON NETSIM模拟器 【实验内容】: 生成树协议(Spanning Tree Protocol,STP)是交换式以太网中的重要概念和技术,该协议的目的是在实现交换机之间的冗余连接的同时,避免网络环路的出现,实现网络的高可靠性。它通过在交换机之间传递桥接协议数据单元(Bridge Protocol Data Unit,BPDU)来互相告知诸如交换机的桥ID、链路性质、根桥ID等信息,以确定根桥,决定哪些端口处于转发状态,哪些端口处于阻断状态,以免引起网络环路。 1.使用STP端口权值实现负载均衡 当同一台交换机的两个口形成环路时,STP端口权值用来决定哪个口是交换状态的,哪个口是阻断的。可以通过配置端口权值来决定两对Trunk各走哪些VLAN,有较高权值的端口(优先级数字较小的)Vlan将处于转发状态,同一个Vlan在另一个Trunk有较低的权值(优先级数字较大),则将处于阻断状态。同一个VLAN只在一个Trunk上发送接收。 基于端口权值的负载均衡示意图。假设有5个VLAN1-5,Trunk1将发送和接收VLAN1-2的数据,Trunk2将发送和接收VLAN3-5的数据。 STP端口权值的负载均衡 配置VTP 用端口f0/11做Trunk1,用端口f0/12做Trunk2 switch1#vlan database (进入VLAN配置子模式) switch1(vlan)#vtp server (设置本交换机为Server模式) switch1(vlan)#vtp domain vtpserver (设置域名)

生成树协议(STP)

STP 生成树协议的功能:局域网中为了避免环路形成的广播风暴,需要阻塞冗余链路,消除环路,并且在主链路中断时,又可以将冗余链路自动切换为转发状态,恢复网络的连通性。 STP(spanning tree protocol,生成树协议)用于消除数据层物理环路的协议 通过在桥之间交换BPDU(bridge protocol data unit,桥协议数据单元),来保证设备完成生成树的计算过程。 小知识: 环路产生的原因:1.基于局域网的可靠性,为交换机之间提供冗余连接; 2.错误的网络配置导致环路产生; 根桥(root bridge):整个生成树的根节点,有所有交换机中优先级最高的交换机担任。 桥ID:包含桥优先级和MAC地址(长度是8B),由于MAC 在网络中是唯一的,故:桥ID也是唯一的,先比较优先级在比较MAC地址;(优先级值和MAC值越小越优) 路径开销(path cost):STP中每一条链路都有开销值,用于衡量桥与桥之间的优劣; 指定桥(designate bridge):负责一个物理端上数据转发任务的桥,由物理端上优先级最高的桥担任。、 端口角色:

根端口(root port):是指网桥距离根桥最近的端口。 根桥没有根端口,每一个非根桥有且只有一个根端口; 指定端口(designate port):是指物理端上属于指定桥的端口。根桥是所有网桥中优先级最高的,它是其所连接 所有物理端上的指定桥,所以通常情况下根桥的所有端口 都是指定端口; 阻塞端口(alternate port):既不是根端口又不是指定端口,剩下的就是阻塞端口,它是用来为根端口或指定端 口做备份。是网桥到达根桥的备份路径; 注:当拓扑发生变化时,节点重新计算,收敛成新的树型拓扑;STP使用BPDU(bridge protocol data unit,桥数据单元)来交互信息; 配置BPDU:用来进行生成树计算和维护生成树拓扑的报文; TCN BPDU:当拓扑结构发生变化时,用来通知相关设备网络拓扑发生变化的拓扑; 端口状态: Disabled:未启用STP功能的端口:不接收BPDU,不进行地址学习,不收发数据; Blocking:非指定端口或根端口:不接收BPDU,不进行地址学习,不收发数据; Listening:接收BPDU,不进行地址学习,不收发数据; Learning:接收BPDU,进行地址学习,不收发数据;

stp协议,选举

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 stp协议,选举 甲方:___________________ 乙方:___________________ 日期:___________________

stp协议,选举 篇一:stp到底是怎么选举端口角色的? 下面的拓扑怎么进行生成树呢?书上的说法有点模糊,而且对指定端口的选举更是说的不清不楚,描述为:同一网段的选举。网段这个概念众所周知实在是太模糊了,因此不好说是怎么选举出来的。下面通过pt的模拟实验仿真stp 的选举过程。希望对有此迷惑的童鞋有所帮助。(图中desg=指定端口,Root=根端口,altn= 非指定端口) 第一步:选举根桥:根据端口优先级和桥mac地址来判断。先取优先级低的为根桥。如果优先级都相同,则取mac 地址最低者。如图,s2成为根桥 第二步:指定端口角色。指定s2上所有端口为desg , 同时si和s3连向s2的马上被选举为根端口,因为他们开销最小。 第三步(也就是最难理解的一步):这个时候s1,s3的根端口都被选出来了。一个非Root的switch上根端口只有一个,其他将会成为指定端口或者是非指定端口。在stp中,指定端口最终进入转发状态,而非指定端口最后将进入

disabled 状态。 那么现在到底怎么确定哪个是非指定端口,哪个是指定端口呢?这要先经过比较这两台交换机通过根端口到根交换机开销比较,比较低者直接可以将待定的端口设置为指定端口;如果两个交换机根路径开销相等,这个过程就会通过两个交换机之间交换bpdu来实现的。si与s3交换bpdu, 较低bid者将会赢得竞争,该交换机上的对应端口成为指定端口。最重要的是:接下来,另外一个参与竞争的交换机的对应端口将直接被认为是非指定端口。为什么要经过这样的途径呢?既然stp叫生成树协议,有人说,生成树就是长得像树的样子了,到了树的末端就传不下去了。网上也有很多图用消减链路的模式图来表示生成树,但事实上这是不对的:这个树不是严格意义上的树一一在这些链路上,链路只是被单向屏蔽,而不是双向屏蔽的。 为了理解上述所说的话,我们来模拟一个实验。新的一台计算机被连接上了一台交换机,我们来ping 一下 255.255.255.255 来观察一下数据包的流向。 注意观察icmp包从si 乂传回了s3!这是不是环路了呢? 不对!因为s3这个端口现在处于block状态,也就是既不转发数据,也不接受数据,这些数据将被s3丢弃。其实, 与其理解生成树的算法为一棵树,还不如认为生成树算法在必要的地方单向拦截,即尽虽屏蔽少的端口来达到生成树的 目的 现在就很容易解释我们前面提到的问题了:为什么要经

STP协议原理及配置

Cisco基础:STP协议原理及配置 【内容摘要】一、stp概述stp(生成树协议)是一个二层管理协议。在一个扩展的局域网中参与stp的所有交换机之间通过交换桥协议数据单元bpdu(bridgeprotocoldataunit)来实现;为稳定的生成树拓扑结构选择一个根桥;为每个交换网段选择一台指定交换机;将冗余路径上的交换机置为blocking,来消除网络中的环路。ieee802.1d是最早关于stp的标准,它提供了网络的动态冗余切换机制。stp使您能…… ----------------------------------------------------------------------------- 一、stp概述 stp(生成树协议)是一个二层管理协议。在一个扩展的局域网中参与stp的所有交换机之间通过交换桥协议数据单元bpdu(bridge protocol data unit)来实现;为稳定的生成树拓扑结构选择一个根桥;为每个交换网段选择一台指定交换机;将冗余路径上的交换机置为blocking,来消除网络中的环路。 ieee 802.1d是最早关于stp的标准,它提供了网络的动态冗余切换机制。stp使您能在网络设计中部署备份线路,并且保证: * 在主线路正常工作时,备份线路是关闭的。 * 当主线路出现故障时自动使能备份线路,切换数据流。 rstp(rapid spanning tree protocol)是stp的扩展,其主要特点是增加了端口状态快速切换的机制,能够实现网络拓扑的快速转换。 1.1 设置stp模式 使用命令config spanning-tree mode可以设置stp模式为802.1d stp或者802.1w rstp. 1.2 配置stp 交换机中默认存在一个default stp域。多域stp是扩展的802.1d,它允许在同一台交换设备上同时存在多个stp域,各个stp域都按照802.1d运行,各域之间互不影响。它提供了一种能够更为灵活和稳定网络环境,基本实现在vlan中计算生成树。 1.2.1 创建或删除stp 利用命令create stpd和delete stpd可以创建或删除stp. 缺省的default stp域不能手工创建和删除。 1.2.2 使能或关闭stp 交换机中stp缺省状态是关闭的。利用命令config stpd可以使能或关闭stp. 1.2.3 使能或关闭指定stp的端口 交换机中所有端口默认都是参与stp计算的。使用命令config stpd port可以使能或关闭指定的stp端口。 1.2.4 配置stp的参数 运行某个指定stp的stp协议后,可以根据具体的网络结构调整该stp的一些参数。交换机中可以调整以下的stp协议参数: * bridge priority * hello time * forward delay * max age 另外每个端口上可以调整以下参数: * path cost * port priority

STP协议详解与实例

[*1*].冗余链路中存在的问题 这一部分使用下面这个拓扑来讲解一下链路冗余容易造成的三个问题: 如图所示SW1和SW2之间有两条线路相连,它们之间任何一条链路出现故障另外一条线路可以马上顶替出现故障的那条链路,这样可以很好的解决单链路故障引起的网络中断,但在此之前有下面三个问题需要考虑。 * 广播风暴 以太网交换机传送的第二层数据帧不像路由器传送的第三层数据包有TTL(Time To Live),如果有环路存在第二层帧不能被适当的终止,他们将在交换机之间永无止境的传递下去。结合交换机的工作原理,来看一下上面这张拓扑中广播风暴是如何形成的: 1,PC1发出一个广播帧(可能是一个ARP查询),SW1收到这个广播帧,SW1将这个广播帧从除接收端口的其他端口转发出去(即发往fa0/2、fa0/23、fa0/24)。2,SW2从自己的fa0/23和fa0/24都会收到SW1发过来的相同的广播帧,SW2再将这个广播帧从除接收端口外的所有其他接口发送出去(SW2将从fa0/23接收的广播帧发往其他三个端口fa0/24、fa0/1、fa0/2,从fa0/24接收到的也会发往其他三个端口fa0/23、fa0/1、fa0/2)。 3,这样这个广播帧又从fa0/23以及fa0/24传回了SW1,SW1再用相同的方法传回SW2,除非物理线路被破坏,否则PC1-4将不停的接收到广播帧,最终造成网络的拥塞甚至瘫痪。 * MAC地址表不稳定 广播风暴除了会产生大量的流量外,还会造成MAC地址表的不稳定,在广播风暴形成过程中: 1,PC1发出的广播帧到达SW1,SW1将根据源MAC进行学习,SW1将PC1的MAC和对应端口fa0/1写入MAC缓存表中。 2,SW1将这个广播帧从除接收端口之外的其他端口转发出去,SW2接收到两个来自SW1的广播(从fa0/23和fa0/24),假设fa0/23首先收到这个广播帧,SW2

STP(生成树协议)的选举过程

1.选举根桥 拥有最小BID(bridge ID)的交换机将成为根桥(root bridge) SW1为根桥,SW2、SW3、SW4为非根桥 2.选举非根桥的根端口(RP) ①最低花费的端口成为根端口 端口开销: 10Gb/s 2 1Gb/s 4 100Mb/s 19 10Mb/s 100 SW2:G0/1到根桥的开销为4,F0/1到根桥的开销为19+19+19=57,所以G0/1为SW2的根端口 SW3:F0/2到根桥的开销为19,F0/1到根桥的开销为19+19+4=42,所以F0/2为SW3的根端口 SW4:F0/1到根桥的开销为19+19=38,F0/2到根桥的开销为19+4=23,所以F0/2为SW4的根端口 ②在花费相同的情况下,比较发送者的BID(BID小的为根端口) 换机SW4从端口F0/1和端口F0/2都能收到根交换机SW1的BPDU,两边的花费相同,都是38。接下来比较的就是发送者的BID。假设SW2的BID是32768+2222.2222.2222,SW3的BID是32768+3333.3333. 3333,SW2的BID小,则SW4的端口F0/2成为根端口。 ③在发送者BID相同的情况下,比较发送者的PID(Port ID小的为根端口)

SW1是根交换机,SW2的F1/1和F1/2到根交换机的花费相同,都是19,发送者的BID也相同(都是交换机SW1的BID)。接下来比较的是发送者的PID。PID=端口优先级+端口号,端口优先级占用一个字节,默认是128,端口号在同一个模块上是顺序增加的,起始端口号和交换机的型号以及该模块所在的插槽有关。 可以通过下面的命令更改交换机端口的优先级 比较SW1 F1/1和F1/2的PID,取小的为128.42,SW2上与PID128.42对应的端口为F1/2,所

stp协议,选举

竭诚为您提供优质文档/双击可除 stp协议,选举 篇一:stp到底是怎么选举端口角色的? 下面的拓扑怎么进行生成树呢?书上的说法有点模糊,而且对指定端口的选举更是说的不清不楚,描述为:同一网段的选举。网段这个概念众所周知实在是太模糊了,因此不好说是怎么选举出来的。下面通过pt的模拟实验仿真stp 的选举过程。希望对有此迷惑的童鞋有所帮助。(图中desg=指定端口,Root=根端口,altn=非指定端口) 第一步:选举根桥:根据端口优先级和桥mac地址来判断。先取优先级低的为根桥。如果优先级都相同,则取mac 地址最低者。如图,s2成为根桥 第二步:指定端口角色。指定s2上所有端口为desg,同时s1和s3连向s2的马上被选举为根端口,因为他们开销最小。 第三步(也就是最难理解的一步):这个时候s1,s3的根端口都被选出来了。一个非Root的switch上根端口只有一个,其他将会成为指定端口或者是非指定端口。在stp中,指定端口最终进入转发状态,而非指定端口最后将进入

disabled状态。 那么现在到底怎么确定哪个是非指定端口,哪个是指定端口呢?这要先经过比较这两台交换机通过根端口到根交 换机开销比较,比较低者直接可以将待定的端口设置为指定端口;如果两个交换机根路径开销相等,这个过程就会通过两个交换机之间交换bpdu来实现的。s1与s3交换bpdu, 较低bid者将会赢得竞争,该交换机上的对应端口成为指定端口。最重要的是:接下来,另外一个参与竞争的交换机的对应端口将直接被认为是非指定端口。为什么要经过这样的途径呢?既然stp叫生成树协议,有人说,生成树就是长得像树的样子了,到了树的末端就传不下去了。网上也有很多图用消减链路的模式图来表示生成树,但事实上这是不对的:这个树不是严格意义上的树——在这些链路上,链路只是被单向屏蔽,而不是双向屏蔽的。 为了理解上述所说的话,我们来模拟一个实验。新的一台计算机被连接上了一台交换机,我们来ping一下 255.255.255.255来观察一下数据包的流向。 注意观察icmp包从s1又传回了s3!这是不是环路了呢?不对!因为s3这个端口现在处于block状态,也就是既不 转发数据,也不接受数据,这些数据将被s3丢弃。其实, 与其理解生成树的算法为一棵树,还不如认为生成树算法在必要的地方单向拦截,即尽量屏蔽少的端口来达到生成树的

cisco PT实验 STP(Spanning-Tree_Protocol)生成树协议

Packet Tracer 5.0建构CCNA实验攻略(4)——STP生成树协议 STP的全称是spanning-tree protocol,STP协议是一个二层的链路管理协议,它在提供链路冗余的同时防止网络产生环路,与VLAN配合可以提供链路负载均衡。生成树协议现已经发展为多生成树协议和快速生成树协议(RSTP,Rapid Spanning Tree Protocol,IEEE802.1W)。 一、配置实例拓扑图 图一 两台Cisco 2960交换机使用两个千兆端口相连,默认情况下STP协议启用的。通过两台交换机之间传送BPDU协议数据单元,选出根交换机、根端口等,以便确定端口的转发状态。上图中标记为黄色的端口处于block状态。 二、STP基本配置命令 1、修改Brigde ID,重新选根网桥 switch(config)#spanning-tree vlan 1 priority 4096

图二 图三根网桥改变,交换机端口的状态也发生了变化(与图一比较) switch(config-if)spanning-tree vlan vlan-id port-priority 优先级值交换机端口优先级值修改命令,通过修改端口优先值也可以更改端口的转发状态。 2、查看、检验STP(生成树协议)配置 switch#show spanning-tree switch#show spanning-tree active switch#show spanning-tree detail switch#show spanning-tree interface interface-id switch#show spanning-tree vlan vlanid

生成树协议(STP 一)

生成树协议(STP)原理 在许多交换机或交换机设备组成的网络环境中,通常都使用一些备份连接,以提高网络的健全性、稳定性。备份连接也叫备份链路、冗余链路等。 备份链路使网络存在环路,环路问题是备份链路所面临的最为严重的问题,环路问题将会导致: 广播风暴 多帧复制 MAC地址表的不稳定 在局域网通信中,为了能确保网络连接可靠性和稳定性,常常需要网络提供冗余链路。当一条通信信道遇到堵塞或者不畅通时,就启用备份链路。 为了解决冗余链路引起的问题,IEEE通过了IEEE 802.1d协议,即生成树协议 生成树协议的发展过程划分成三代。 第一代生成树协议:STP/RSTP 第二代生成树协议:PVST/PVST+ 第三代生成树协议:MISTP/MSTP 一、STP工作原理 术语: Bridge ID:每个交换机唯一的桥ID,由桥优先级和Mac地址组合而成(优先级+MAC地址);Root path cost:交换机到根交换机的路径花费,以下简称根路径花费; Port ID:每个端口ID,由端口优先级和端口号组合而成; BPDU:交换机之间通过交换BPDU(Bridge Protocol Data Units,交换机协议数据单元)帧来获得建立最佳树形拓扑结构所需要的信息。 STP将一个环形网络生成无环拓朴的步骤: 选择根网桥(Root Bridge) 选择根端口(Root Ports) 选择指定端口(Designated Ports) 1、选择根网桥 网桥ID是唯一的,交换机之间选择BID值最小的交换机作为网络中的根网桥 选择根网桥的目的是为了给将生成的树形结构确定一个树根 2、选择根端口 在非根网桥上选择一个到根网桥最近的端口作为根端口 选择根端口的依据是: 根路径成本最低(是网桥到根网桥的路径上所有链路的成本之和); 直连的网桥ID最小; 端口ID最小; 路径成本根据链路带宽的高低规定: 链路带宽(Mb/s)路径成本 10 100

STP协议

目录 8 STP/RSTP配置 8.1 STP/RSTP概述 8.2 设备支持的STP/RSTP特性 8.3 缺省配置 8.4 配置STP/RSTP基本功能 8.4.1 配置STP/RSTP工作模式 8.4.2 (可选)配置根桥和备份根桥 8.4.3 (可选)配置交换设备优先级 8.4.4 (可选)配置端口路径开销 8.4.5 (可选)配置端口优先级 8.4.6 启用STP/RSTP 8.4.7 检查配置结果 8.5 配置影响STP拓扑收敛的参数 8.5.1 配置STP网络直径 8.5.2 配置STP超时时间 8.5.3 配置STP定时器 8.5.4 配置影响生成树计算的链路聚合带宽最大连接数8.5.5 检查配置结果 8.6 配置影响RSTP拓扑收敛的参数 8.6.1 配置RSTP网络直径 8.6.2 配置RSTP超时时间 8.6.3 配置RSTP定时器

8.6.4 配置影响生成树计算的链路聚合带宽最大连接数8.6.5 配置端口的链路类型 8.6.6 配置端口的最大发送速率 8.6.7 配置设备执行MCheck操作 8.6.8 配置边缘端口和BPDU报文过滤功能 8.6.9 检查配置结果 8.7 配置RSTP保护功能 8.7.1 配置交换设备的BPDU保护功能 8.7.2 配置交换设备的TC保护功能 8.7.3 配置端口的Root保护功能 8.7.4 配置端口的环路保护功能 8.7.5 检查配置结果 8.8 配置设备支持和其他厂商设备互通的参数 8.9 维护STP/RSTP 8.9.1 清除STP/RSTP统计信息 8.9.2 监控STP/RSTP拓扑变化统计信息 8.10 配置举例 8.10.1 配置STP功能示例 8.10.2 配置RSTP功能示例

stp协议

使用STP ( Spanning Tree Protocol) 协议能使网络内部避免因形成环路而产生的广播风暴,

使网络能根据环境变化而作出自适应的调整, 以避免连接失败等故障, 从而增强网络的健 壮性. 在快速以太网交换机的软件功能模块中, STP协议模块是一个不可或缺的重要组成部分. STP算法是在桥接器(依据IEEE Std 802. 1D, 泛指工作在MAC 层的网络设备, 如交换机等) 连接的网络设备间配置一个动态拓扑结构. 数据包将只能通过桥接器设定的端口, 其他端口将被阻塞掉. 在任何时候, 桥接器都能使这些处于传输状态的端口在局域网内部保持最有效的连接. STP算法的内容是在局域网内部配置一个动态拓扑图, 即生成一个单一的生成树的拓扑结构, 该结构使局域网内部不同的子网间至多只保持一条通信链路, 从而避免数据环路的产生. 同时, STP算法还要定时监测拓扑结构, 如果原有的通信链路因意外中断, 该算法将自动重新配置生成树的拓扑结构, 将阻塞的链路中的一条激活, 维持子网间通信的畅通. 整个STP算法的内容包括: 配置动态拓扑结构、发布拓扑信息、重新配置拓扑结构、改变端口状态、发布拓扑改变的通知等. 2. 2STP算法及功能的实现 STP功能实现的具体步骤如下: A. 建立并维护一个网络动态拓扑结构. STP根据LAN 内各个网络设备的连接状况建立一个网络动态拓扑结构. 该结构建立后, 数据包只通过指定桥接器的指定端口进行传输, 其他的端口将被自动阻塞掉. 被阻塞的端口将不接收和转发一般的数据包, 但仍然可以接受和转发BPDU包, 属于拓扑结构之内. 建立一个稳定的拓扑结构将由个桥接器的标识符、每个桥接器各个端口所对应通路的路径值、每个桥接

论文题目:STP(生成树协议)的原理与配置

论文题目:STP(生成树协议)的原理与配置 STP(生成树协议)的原理与配置 摘要:在局域网中,简单的物理冗余会造成回路,若无正确的备份策略,将形成广播风暴而影响整个网络性能,严重情况下甚至会造成整个网络的瘫痪。基于图论的生成树算法就是通过禁止多余的链路将环路结构转换为逻辑上的树形拓扑结构,这样保证互连的网络中任意节点到其他所有节点均有唯一的路径,而且是最优路径,以阻止由此产生的局域网广播风暴。同时,STP负责监测拓扑结构的变化,并能在拓扑结构发生变化之后重构新的生成树拓扑结构。 关键字:网络、广播风暴、STP、拓扑结构; 1.STP的概念: STP(生成树协议)是一个二层管理协议。在一个扩展的局域网中参与STP 的所有交换机之间通过交换桥协议数据单元BPDU(Bridge Protocol Data Unit)来实现;为稳定的生成树拓扑结构选择一个根桥;为每个交换网段选择一台指定交换机;将冗余路径上的交换机置为Blocking,来消除网络中的环路。 2.STP技术原理: STP的基本思想就是生成“一棵树”,树的根是一个称为根桥的交换机,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥。由根桥

开始,逐级形成一棵树,根桥定时发送配置报文,非根桥接收配置报文并转发,如果某台交换机能够从两个以上的端口接收到配置报文,则说明从该交换机到根有不止一条路径,便构成了循环回路,此时交换机根据端口的配置选出一个端口并把其他的端口阻塞,消除循环。当某个端口长时间不能接收到配置报文的时候,交换机认为端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。 3.STP的功能: 生成树协议最主要的应用是为了避免局域网中的网络环回,解决成环以太网网络的“广播风暴”问题,从某种意义上说是一种网络保护技术,可以消除由于失误或者意外带来的循环连接。STP也提供了为网络提供备份连接的可能,可与SDH保护配合构成以太环网的双重保护。新型以太单板支持符合ITU-T 802.1d 标准的生成树协议STP及802.1w规定的快速生成树协议RSTP,收敛速度可达到1s。 IEEE 802.1d是最早关于STP的标准,它提供了网络的动态冗余切换机制。STP使您能在网络设计中部署备份线路,并且保证: 在主线路正常工作时,备份线路是关闭的;当主线路出现故障时自动使能备份线路,切换数据流。 RSTP(Rapid Spanning Tree Protocol)是STP的扩展,其主要特点是增加了端口状态快速切换的机制,能够实现网络拓扑的快速转换。 4.生成树算法(STA)的过程 生成树算法的过程虽然很复杂,但是其过程可以归纳为三个部分:(1)选择根网桥(2)选项根端口(3)选择指定端口。 选择根网桥的依据是: 交换机的网桥优先级,网桥优先级是用来衡量网桥在生成树算法中优先级的十进制数,取值范围是0~65535.默认值是32768,网桥ID是由网桥优先级和网桥MAC地址组成的。共有8个字节。

相关主题