STP协议.doc_第1页
STP协议.doc_第2页
STP协议.doc_第3页
STP协议.doc_第4页
STP协议.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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的基本思想就是生成“一棵树”,树的根是一个称为根桥的交换机,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥。由根桥开 始,逐级形成一棵树,根桥定时发送配置报文,非根桥接收配置报文并转发,如果某台交换机能够从两个以上的端口接收到配置报文,则说明从该交换机到根有不止 一条路径,便构成了循环回路,此时交换机根据端口的配置选出一个端口并把其他的端口阻塞,消除循环。当某个端口长时间不能接收到配置报文的时候,交换机认 为端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。 总之,其目的就是在不影响冗余的情况下,避免交换机环路的出现。具体的选举步骤为:1、One root bridge per network(在网络中选一个根桥)2、One root port per nonroot bridge(在每一个非根桥中选举一个根端口称为RP)3、One designated port per segment(在每条链路中选举一个指定端口称为DP)4、Nondesignated ports are unused(剩下的一个端口为BLOCK状态)选举原则:1,在所有交换机中Bridge ID越低,越优先。【先介绍一下Bridge ID,Bridge ID又两部分组成,Bridge Priority,MAC Adress。Bridge Priority为桥优先级,默认为32768;MAC Adress就是交换机的MAC地址。桥ID先比较优先级,优先级低的则桥ID低,优先级默认一直时,比较MAC地址。(注:如果想把指定交换机设为根桥,可把改交换机的Bridge Priority设为更低,一般设为0】2,选举根端口时,按照以下原则。COST-Port ID,先比较COST值,即该端口到根桥的花费。COST值越低越优先。【COST值】带宽 COST10Gps 21Gps 4100M 1910M 100如果COST值相同的话,再比较所连接的网桥ID,最后比较Port ID,优先级默认相同时比较端口编号Port 0优先与Port 1。3,选举DP,规则为COST-Bridge ID。先比较COST,当COST相同时,再比较所在桥ID,桥ID越小越优先。桥ID一致时,比较端口ID。4,最后剩下的那个唯一的端口即为BLOCK状态,即不运作,但会接收BPDU报文,监听其他正常使用的交换机是否工作正常,如不正常立即启用。(一般情况下,桥优先级的数值Bridge Priority是决定桥ID即桥在STP根选举以及根端口和指定端口在开销一致下选举过程中的优先等级,只在一种情况下例外,即默认出厂时,桥优先级数值默认一致时,交换机自动比较MAC地址决定桥ID即选举优先等级,但这种默认情况在我们需要自行设计配置STP的时候意义是不大的,因此我们一般都用改动Bridge Priority值的方式来作为设计STP的关键)Spanning-tree transits each port through several different states:1,收BPDU报文,如20s没有收到回包,即转入下一步骤。-只可收BPDU报文2,Listening 届时15s 此期间,会进行STP选举-可以收、发BPDU报文,不转发用户数据3,Learning 届时15s 此期间会学习MAC地址,为以后减少泛洪流量做准备4,Forwarding 以上可以看出,STP协议会持续50s,这就是有的PC开机后50s后才可以上网,进行数据传输。为此,由开发了RSTP协议(快速生成树协议),收敛速度可达到1s。二. 功能介绍:生成树协议最主要的应用是为了避免局域网中的网络环回,解决成环以太网网络的“广播风暴”问题,从某种意义上说是一种网络保护技术,可以消除由于失误 或者意外带来的循环连接。STP也提供了为网络提供备份连接的可能,可与SDH保护配合构成以太环网的双重保护。新型以太单板支持符合ITU-T 802.1d标准的生成树协议STP及802.1w规定的快速生成树协议RSTP,收敛速度可达到1s。但是,由于协议机制本身的局限,STP保护速度慢(即使是1s的收敛速度也无法满足电信级的要求),如果在城域网内部运用STP技术,用户网络的动荡 会引起运营商网络的动荡。目前在MSTP 组成环网中,由于SDH保护倒换时间比STP协议收敛时间快的多,系统采用依然是SDH MS-SPRING或SNCP,一般倒换时间在50ms以内。但测试时部分以太网业务的倒换时间为0或小于几个毫秒,原因是内部具有较大缓存。SDH保护 倒换动作对MAC层是不可见的。这两个层次的保护可以协调工作,设置一定的"拖延时间"(hold-off),一般不会出现多次倒换问题。一、STP算法 IEEE802.1D标准定义了STP的生成树算法。该算法依赖于BID、路径开销和端口ID参数来做出决定。 1、BID(网桥ID): BID是生成树算法的第一个参数,BID决定了桥接网络的中心,称为根网桥或根交换机。BID参数是一个8字节域。前2个字节(10进制)称为“网桥优先级”,后6个字节(16进制)是交换机的一个MAC地址。网桥优先级用来衡量一个网桥的优先度,范围是065535,默认是32768。思科交换机中的PVST+(每VLAN生成树)生成树协议使每个VLAN都有一个STP实例。比较两个BID的大小的原则:一是网桥优先级小的BID优先,二是如果网桥优先级相同,BID中的后六个字节的MAC小的则BID优先。 2、路径开销: 路径开销是生成树算法的第二个参数,决定到根网桥(根交换机)的路径。 通俗说,路径开销是用来衡量网桥之间的距离的远近的,其值是两个网桥之间某条路径上所有链路开销的总和。 路径开销与跳数无关。 路径开销决定到根网桥或根交换机的最佳路径,最小的路径开销是到根交换机的最佳路径。 路径开销的值的规律:带宽越大,STP开销越小。 3、端口ID:端口ID是生成树算法的第三个参数,也决定到根交换机的路径。它由2个字节组成,包括“端口优先级”和“端口号”,各占8位。 端口优先级值从0255,默认128;端口号包括256个。 端口ID大小的判定与BID大小的判定相同。 二、STP的过程 1、STP判决和BPDU交换: 当创建一个逻辑无环的拓扑时,STP总是通过发送BPDU的第二层帧来传递生成树协议,并执行相同的4步判决顺序: 步骤1,确定根交换机; 步骤2,计算到根交换机的最小路径开销; 步骤3,确定最小的发送者BID; 步骤4,确定最小的端口ID。 网桥为每个端口存储一个其收到的最佳BPDU,当有其他的BPDU到达交换机的端口时,交换机会使用四步判决过程来判断此BPDU是否比该端口原来存储的BPDU更好,如果新收到的BPDU(或者本地生成的BPDU)更好,则替换原有值。 当一个网桥第一次被激活时,其上所有端口每隔一个HELLO时间(默认2秒)发送一次BPDU;如果一个端口发现从其他网桥收到的BPDU比自己发送的好,则本地端口就停止发送BPDU;如果在MAX AGE(最大生存时间,默认20秒)内没有从邻居网桥收到更好的BPDU,本地端口则重新开始发送BPDU,即最大生存时间是最佳BPDU的超时时间。 2、STP收敛的三个步骤: 生成树算法收敛于一个无环拓扑的初始过程包含三个选举步骤: 步骤1 选举一个根交换机。 步骤2 选举根端口。 步骤3 选举指定端口。 在网络第一次“初始”时,所有网桥都洪泛混合的BPDU信息,网桥通过执行STP四步判决过程,形成整个网络或VLAN惟一的生成树。在网络稳定后,BPDU从根网桥流出,沿着无环支路到达网络中的每一个网段。网络发生变化时,生成树协议按照收敛三个步骤做出处理 (1)选举根交换机: 根交换机是一个具有最小BID的网桥,它是惟一的,是通过交换BPDU选举得出来的。BPDU的格式:BPDU是网桥之间用来交换生成树信息的特殊帧,它在网桥之间传播,包括交换机和所有配置来进行桥接的路由器,BPDU不携带终端用户流量。BPDU包括根BID、根路径开销、发送者BID和端口ID信息。 也就是说,交换机通过传递BPDU来发现谁是最小的BID,从而将具有最小BID的网桥做为根交换机。最初时,交换机总将自己认为是根网桥,当它发现有比自己小的BID时,就将收到的具有最小BID的交换机作为根网桥。 (2)选举根端口: 在根交换机选举完后,就开始选举根端口了。所谓根端口,就是按照路径开销最靠近根交换机的端口,也就是说具有最小根路径开销的端口。每一个非根交换机都必须选举一个根端口。 (3)选举指定端口: 通过以上两个步骤后,生成树算法还没有消除任何环路,因为还没有选举指定端口。所谓指定端口,就是连接在某个网段上的一个桥接端口,它通过该网段既向根交换机发送流量也从根交换机接收流量。桥接网络中的每个网段都必须有一个指定端口。 指定端口也是根据最小根路径开销来决定,因此根交换机上的每个活动端口都是指定端口,因为它的每个端口都具有最小根路径开销(实际是它的根路径开销是0)。 注意:指定端口只在中继端口(TRUNK口)起作用。接入端口在指定端口选举中不起任何作用。接入端口是用来连接到主机或者三层端口的。 3、STP状态 在网桥已经确定了根端口、指定端口和非指定端口后,STP就准备开始创建一个无环拓扑了。 为创建一个无环的拓扑,STP配置根端口和指定端口转发流量,非指定端口阻塞流量。 实际上,STP决定端口转发和阻塞看似只有这两个状态,实际上是有五种状态的。 (1)、Disabled(为了管理目的或者因为发生故障将端口关闭); (2)、Blocking(在初始启用端口之后的状态。端口不能接收或者传输数据,不能把MAC地址加入地址表,只能接收BPDU(bridge protocol data unit)。如果检测到有一个桥接环,或者端口失去了它的根端口或者指定端口的状态,那么就会返回到Blocking状态); (3)、Listening(如果一个端口可以成为一个根端口或者指定端口,那么它就转入监听状态。此时端口不能接收或者传输数据,也不能把MAC地址加入地址表,但可以接收和发送BPDU); (4)、Learning(在Forward Delay计时时间到(默认15秒)后,端口进入学习状态,此时端口不能传输数据,但可以发送和接收BPDU,也可以学习MAC地址,并加入地址表); (5)、Forwarding(在下一次转发延时计时时间到后,端口进入转发状态,此时端口能够发送和接收数据、学习MAC地址、发送和接收BPDU)。 在这些状态过程中,会引发网络拓扑结构发生改变。此时,发生变化的交换机会在它的根端口上每隔hello time时间就发送TCN BPDU,直到上级的指定网桥邻居确认了该TCN(拓扑结构变化通知)为止。当根网桥收到后,会发送设置了TC(topology change,拓扑改变)位的BPDU,通知整个生成树拓扑结构发生了变化。这会让所有的下级交换机把它们的Address Table Aging(地址表老化)计时器从默认值(300秒)降为Fordwarding Delay(默认为15秒),从而让不活动的MAC地址比正常情况下更快地从地址表更新掉例子:如图由图上所示,s1为根桥,打开s1的配置查看入下:可以看出 根桥的优先级和此交换机的优先级是一致的,而且都是为1(实际为0,系统自动加1)。比较一下S0的配置,如下图:交换机默认的ID好是32768,而根桥的是0,桥ID号是由交换机的优先级和MAC地址组成的(这个MAC地址就是交换机自带的默认管理VLAN1的MAC地址)。这里,S1的优先级被人为改成了0,因此这个根桥是人为定义的。定义方法如下:上一行提示优先级的选择范围,以及优先级必须为4096的倍数,人为定义,一般根桥定义为0. 其余的根据上任根桥断出网络后改由哪个继任相应配置优先级。其他两台二层交换机的配置情况和s0类似,均为直接连接到根桥S1,而连接到S0的线路被置于断开模式。 还有另外一台交换机 2960-24TT switch2 。在选择最优路径的时候为什么选择是左边,而不是右边。即使(如图)是去掉左边二层交换机到根桥的直接连接也是如此(这样从表面上看是左面跨越的交换机多,而右面的少,常规思维应该是右面为最优路径)。解释如下:交换机在选择到根桥的最优路径的时候,不是根据中间隔着的交换机的数量(这和路由器的跳数不同)而是依靠到根桥的时间开销(即响应时间)。交换机由于其直接大容量的硬件电路交换数据包文,中间增加交换机的数量对报文的传递效率几乎没有影响。看一下2960-24TT switch2的配置:到根桥的相应时间依旧为默认的19,是从右边的0/10口连接的,而左面的0/6口的开销为100. (端口状态为BLK即关闭)。查资料得知,该口的速率应该为10M。查看配置证实如此

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论