生成树简介.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简介

STP(生成树协议SpanningTreepProtocol)能够提供路径冗余,使用STP可以使两个终端中只有一条有效路径。在实际的网络环境中,物理环路可以提高网络的可靠性,当一条线路断掉的时候,另一条链路仍然可以传输数据。但是,在交换网络中,当交换机接收到一个未知目的地址的数据帧时,交换机的操作是将这个数据帧广播出去,这样,在存在物理的交换网络中,就会产生一个双向的广播环,甚至产生广播风暴,导致交换机死机。如何既有物理冗余链路保证网络的可靠性,又能避免冗余环路所产生的广播风暴呢?STP协议是在逻辑上断开网络的环路,防止广播风暴的产生,而一旦正在用的线路出现故障,逻辑上被断开的线路又被连通,继续传输数据。

交换网络环路

交换网络环路会带来3个问题:广播风暴、同一帧的多个拷贝和交换机CAM表不稳定。

交换网络环路的产生:

PC1和PC2通过交换机相连。网络初始状态时,PC1与PC2通信过程如下:

1.在网络通信最初,PC1的ARP条目中没有PC2的MAC地址,PC1首先会向SW1发送一个ARP广播请求PC2的MAC地址;

2.当SW1收到ARP的广播请求后,SW1会将广播帧从除接收端口之外的所有端口转发出去即会从F0/1和F0/2发出;

3.SW2收到广播后,会将广播帧从F0/2和连接PC2的端口转发,同样SW3收到广播后,将其从F0/2端口转发;

4.SW2收到SW3的广播后,将其从F0/1和连接PC2的端口转发,SW3收到SW2的广播后将其从F0/1端口转发;

5.SW1分别从SW2、SW3收到广播帧,然后将从SW2收到的广播帧转发给SW3,而将从SW3收到的广播帧发给SW2。SW1、SW2和SW3会将广播帧相互转发。这时网络就形成了一个环路,而交换机并不知道,这将导致广播帧在这个环路中永远循环下去。

STP工作原理

STP运行STA(生成树算法Spanning Tree Algorithm)。STA算法很复杂,但是其过程可以归纳为以下三个步骤:

1.选择根网桥(Root Bridge);

1>网桥ID最小。

2.选择根端口(Root Ports);

1>到根路径成本最低;

2>最小的直连发送方网桥ID;

3>最小的发送方端口ID。

3.选择指定端口(Designated Ports)。

1>根路径成本最低;

2>所在交换机的网桥ID最小;

3>所在交换机的端口ID最小。

特别注意:选择根端口:比较接收的BPDU!!!;选择指定端口:比较发送的BPDU!!!。

选择根网桥

网桥ID最小:选择根网桥的依据是网桥ID的大小。在选择根网桥的时候,比较的方法是看哪台交换机的网桥ID的值最小,优先级小的被选择为根网桥;在优先级相同的情况下,MAC 地址小的为根网桥。

网桥ID:是一个8Byte的字段,前面2Byte的十进制数称为网桥优先级,后6Byte是网桥的MAC地址。

网桥优先级:用于衡量网桥在生成树算法中优先级的十进制数,取值范围为0-65535,默认值是32768。

网桥的MAC地址:交换机自身的MAC地址,可以使用命令show version查看。

示例:

选择根端口

选出了根网桥之后,网络中的每台交换机必须和根网桥建立关联,因此STP将开始选择根端口。每个非根网桥上存在一个根端口,因此需要在每个非根网桥上选择一个根端口。选择根端口的依据有三个:

到根路径成本最低的端口:路径成本是两个网桥间的路径上所有链路的成本之和,根路径成本也就是一个网桥到达根网桥的中间所有链路的路径成本之和,路径成本用来代表一条链路带宽的大小,一条链路的带宽越大,它的传输数据的成本也就越低。

最小的直连发送方网桥ID:BPDU帧是从根网桥发向根端口的,则当端口的根路径成本相同时,以收到发来BPDU直连的网桥ID最小(端口的对端端口,即本地端口)为根端口。

最小的发送方端口ID:当直连发送方网桥ID大小相同时,也就是说有几个位于同一交换机上的端口时,比较最小的发送方端口ID。端口ID是一个二字节的STP参数,由一个字节的端口优先级和一个字节的端口编号组成。端口优先级是一个可配置的STP参数,在基于IOS 的交换机上,端口优先级的十进制取值范围是0-255,默认值是128。端口编号是catalyst 用于列举各个端口的数字标识符,在基于IOS的交换机上,可以支256个端口。

说明:端口编号不是端口号,但是端口号低的端口,端口编号值(端口ID)也较小。

端口ID:

示例:

选择指定端口

选择完根网桥和每台交换机的根端口后,一个树形结构已初步形成,但是,所有链路仍连接在一起,并可以都处于活动状态,最后导致形成环路。为了消除环路形成的可能,STP进行最后的计算,在每一个网段上选择一个指定端口。选择指定端口的依据有三个:

根路径成本最低;

所在交换机的网桥ID最小;

所在交换机的端口ID最小。

注意:根网桥上的接口都是指定端口,因为根网桥上端口的根路径成本为0。

示例:

说明:如果端口既不是根端口,也不是指定端口,那么这个端口被阻塞(BLOCK)称为阻塞端口。被阻塞的端口不能传输数据,即该链路成为备份链路。

BPDU(Bridge Protocol Data Unit 桥协议数据单元)

STP在交换机互相通信时进行操作,数据报文以桥协议数据单元(BPDU)的形式进行交换。每隔2秒,BPDU报文便向所有的交换机端口发送一次,以便交换机(或网桥)能交换当前最新的拓扑信息,并迅速识别和检测其中的环路。

BPDU的两种类型

正常情况下,交换机只会从它的Root Port上接收configuration BPDU包,但不会主动发送configuration BPDU包给Root Bridge。第二种类型的BPDU包是Topology Change Notification(TCN) BPDU,当一台交换机检测到拓扑变化后,它就可以发送TCN给Root Bridge,注意TCN是通过Root Port向Root Bridge方向发出的。当交换机从它的designate port接收到TCN类BPDU时,它必须为其做转发,从它自已的root port上发送出去TCN类型的BPDU包,这样一级一级地传到root bridge后,TCN的任务才算完成。

BPDU报文主要字段

协议ID:该值总为0。

版本号:STP的版本(为IEEE 802.1d时值为0)。

报文类型:BPDU类型(配置BPDU=0,TCN BPDU=80)。

标记域:LSB(最低有效位)=TCN标志;MSB(最高有效位)=TCA标志。

根网桥ID:根信息由2字节优先级和6字节ID组成。这个信息组合标明已经被选定为根网桥的设备标识。

根路径成本:路径成本为到达根网桥交换机的STP开销。表明这个BPDU从根网桥传输了多远,成本是多少。这个

字段的值用来决定哪些端口将进行转发,哪些端口将被阻断。

发送网络桥ID:发送该BPDU的网桥信息。由网桥的优先级和网桥ID组成。

端口ID:发送该BPDU的网桥端口ID。

计时器:计时器用于说明生成树用多长时间完成它的每项功能。这些功能包括报文老化时间、最大老化时间、

访问时间和转发延迟。

最大老化时间:根网桥发送BPDU后的秒数,每经过一个网桥都会递减1,所以它的本质是到达根网桥的跳计数。

访问时间:根网桥连续发送BPDU的时间间隔。

转发延迟:网桥在监听学习状态所停留的时间。

STP利用BPDU选择根网桥的过程

1.当一台交换机第一次启动时,假定自己是根网桥在BPDU报文中的根网桥字段填入自己的网桥ID,向外发送。

2.交换机比较接收到的BPDU报文中根网桥ID与自己的网桥ID的值哪个更小,如果接收到的BPDU中的根网桥ID值小

于自己的网桥ID,则用接收到的根网桥ID替换现有的根网桥ID,并向外转发。如此不断反复,最终能够选择出

全网公认的唯一一个根网桥。

相关文档
最新文档