网络技术之路--STP学习理解

  • 格式:doc
  • 大小:83.50 KB
  • 文档页数:14

一花一叶

1一叶一世界 1 概述 ................................................................................................. 错误!未定义书签。

2 Bridge ID和Path Cost ..................................................................... 错误!未定义书签。

2.1 Bridge ID ............................................................................. 错误!未定义书签。

2.2 Path Cost ............................................................................. 错误!未定义书签。

3 贯穿STP选举比较的4项技术指标 ................................................ 错误!未定义书签。

4 STP收敛的3步 ................................................................................ 错误!未定义书签。

4.1 选举根桥(Root) ............................................................. 错误!未定义书签。

4.2 选举根端口(Root Port) ................................................. 错误!未定义书签。

4.3 选举指定端口(Designated Port) ................................... 错误!未定义书签。

4.4 举例 ..................................................................................... 错误!未定义书签。

4.4.1 选举根桥 ..................................................................... 错误!未定义书签。

4.4.2 选举根端口 ................................................................. 错误!未定义书签。

4.4.3 选举指定端口 ............................................................. 错误!未定义书签。

5 3个定时器 ....................................................................................... 错误!未定义书签。

5.1 Hello Time .......................................................................... 错误!未定义书签。

5.2 Max Age .............................................................................. 错误!未定义书签。

5.3 Forward Delay ..................................................................... 错误!未定义书签。

能化繁为简,是真的水平。Cisco的文档“LAN Switching”在这方面做得很好,其中的第6,7章是介绍STP的。如果已对STP有所了解,但对某些地方仍不太明白,建议看一看。

本文只是作为STP知识的导读,简单介绍了STP的基本原理,顺便介绍了几个常见胶片中没有介绍的小知识点。欲更深入了解STP,看“LAN Switching”第6,7章吧。

1 概述

“Cisco LAN Switching” Chapter 6 “Understanding Spanning Tree”目录:

1. 什么是STP,为什么要用STP

2. STP的两个重要概念(Bridge ID and Path Cost)

3. 贯穿STP选举比较过程的4项技术指标

4. 网络由初始态到达STP收敛需要经过的3步

5. 5种端口状态 一花一叶

2一叶一世界 6. 3个定时器

7. Cisco STP命令介绍

8. 两种BPDU报文(Configuration BPDU和TCN BPDU)

9. 拓扑变化过程

10. 在实际的组网中如何使用STP

11. 如何选择根桥的位置,以使整个网络的性能最佳

12. PVST的最重要的特点:每个VLAN一个STP树

第一节是基础知识,假设大家已非常熟悉,本文从第2节开始介绍,涉及2,3,4,6节和部分第7章内容,原文每节同样精彩,希望有时间看看。本文只作个人理解和大家交流。

2 Bridge ID和Path Cost

2.1 Bridge ID

Bridge ID是交换机的唯一标识,用于STP生成树(无环路树型拓扑)计算中的比较,在STP比较中,永远是数值小者获胜。STP选举“根桥(Root)”的方法是比较交换机的BID(比较BID就足够了),同一LAN中拥有最小Bridge ID的交换机作为根桥。

理论上唯一标识一台交换机,用交换机的MAC就够了。那么Bridge ID是交换机的MAC么,如果不是,为什么这样处理?

Bridge ID共8个字节,由交换机的优先级和MAC地址组成(Bridge Priority + Bridge MAC)。

图1-1

前面的问题答案出来了,Bridge ID(简称BID)的取值中用了MAC,但不完全是,前面还加了两个字节的Bridge Priority。

接下来的疑问也许是:Bridge Priority是什么,它是干什么的? 2 字节

取值范围:0~65535,

默认:32768 Bridge Priority Bridge MAC Bridge ID – 8 字节 6 字节 一花一叶

3一叶一世界 Bridge Priority是交换机的优先级,处于Bridge ID的最高2字节上,通过调节Bridge

Priority,可以显著地改变Bridge ID。如果想指定某一台交换机为根桥。通过把它的Bridge

Priority配置成同一网段中最小,足以保证它拥有最小的BID,进而赢得Root War。

有了Bridge Priority,MAC地址就不那么重要了。因为相比调节Bridge Priority,通过调节交换机MAC地址来影响Root的选举结果不是一个好办法(这与常识相悖:通常认为设备的MAC地址是固定的,唯一的)。即便可行,也容易产生迷惑:两个MAC!一个是真实的MAC,一个是用于STP Root选举而手动设置的,一不小心可能就弄混了。

这里还有一个问题,为什么非要手动指定根桥,用系统通过比较MAC产生的根桥不行么?

答案是:行,完全可以。STP会收敛,可以得到一个无环的拓扑。但当你接着往下看完这种情况潜在的问题时,可能会改变想法。

网络设备制造商生产的设备使用的MAC地址是从指定机构购买的,一块地址有2^24个(大约1600万),用完再买。当一个公司开始申请到一块“厂商代码”比较小的地址段,生产了一些交换机,销售出去了,且运行得很好。若干年后,地址用完了,又买了一块,这回的“厂商代码”比上次的要大。这时公司还没改行,仍然生产交换机,只不过这时生产的交换机的性能与几年前不可同日而语,处理速度上升了几个数量级。

在这样的新旧交换机组成的网络中,如果仅通过比较MAC地址来选举根桥(Root),旧的设备肯定会获胜。那么STP收敛后,很多作为叶子节点或中间节点的高性能交换机之间交换数据,必须先通过在它们看来像老牛车一样慢的Root(老式交换机)。

如果考虑不同厂家的设备混合组网,问题就更复杂了。哪个厂家也不愿意看到不管自己的设备性能多好,仅仅因为MAC地址字段的“厂商代码”大而在Root War中总是输家。

如此说来,好像只用Bridge Priority字段就够了,为什么要采用Priority + MAC呢?

这是为了保证当所有设备都采用缺省优先级(32768)时,网络中仍然能选举出唯一的Root。也就是说Bridge Priority可以配,也可以不配置。如果不配置,都采用缺省值,选举出的Root将是拥有最小MAC的交换机(性能不好总比干脆不工作强)。

2.2 Path Cost

下面详细介绍一下Path Cost,目标:看到它的时候不但认识它,而且了解它的来龙去脉,前世今生。怎么样,够八卦吧,Path Cost肯定会因此而抓狂的。不过只好请它谅解了,因为如果对STP领域如此鼎鼎大名的人物不知根知底,我们也会有麻烦的。 一花一叶

4一叶一世界 交换机用“路径开销(Path Cost)”来表示距其它交换机的“远近”。这里“远近”不是物理上的链路长短,而是链路带宽的大小。带宽大的链路,Cost值小;带宽小,Cost值大。之所以计算Cost值不考虑链路长短,是因为对于电信号(Speed=30万Km/s)来说,真正影响传输速率的因素是线路的带宽,线路长度增加带来的延时可以忽略不计。

802.1D(IEEE 802.1D包含但不限于STP的定义,GARP,GMRP的定义也在其中)中最初采用了一种比较简单的定义Path Cost的方法:用1000Mbps作分母,除以Mbps作单位的链路带宽值,得到的商就是这条链路的Cost。Cost与带宽之间是简单的反比例关系。

比如:传统的10BaseT链路的带宽是10Mbps,它的Cost就是:1000Mbps / 10Mbps = 100;

快速以太网(Fast Ethernet)和FDDI,带宽是100Mbps,因此Cost=1000 / 100 =10。

这种算法在刚开始的时候运行得很好,但当Gigabit Ethernet和OC-48 ATM(2.4Gbps)出现的时候,问题就产生了。Path Cost值在交换机内部以整数形式存储,无法表示小数,所以OC-48 ATM的Cost=1000/(2.4*1000)=0.41667就无法表示。

针对这个问题,一种简单的处理方法是:凡是带宽大于1Gbps的链路,Cost值都用1表示。但这样同样有问题:当两条链路带宽都大于1Gbps时,无法区分出其中的优劣,也就无法准确选出其中的“最优”路径。

为了解决上面的问题,IEEE制定了一个新的算法,确切的说是一个对照表,包含常见链路带宽和其对应的Cost值。对应关系不再是简单的反比例,即:不再有一个简单的公式可以根据带宽计算出Cost。表中的数据更多地源自实际组网经验,和考虑同之前的计算方法兼容等。