课程DA000028生成树原理ISSUE1.0DA000028生成树原理ISSUE1.0目录i目录课程说明.......................................................................................................................................1课程介绍.......................................................................................................................................1课程目标.......................................................................................................................................1第1章透明桥接概述....................................................................................................................21.1透明网桥的应用......................................................................................................................21.2路径回环的产生......................................................................................................................41.3生成树协议的引入..................................................................................................................5第2章STP协议...........................................................................................................................62.1生成树协议基本原理..............................................................................................................62.2配置消息介绍.........................................................................................................................72.3生成树比较.............................................................................................................................92.4配置消息举例......................................................................................................................112.5链路故障处理......................................................................................................................132.6临时回路处理......................................................................................................................172.7拓扑改变时处理...................................................................................................................212.8生成树协议的不足...............................................................................................................25第3章快速生成树协议(RSTP).............................................................................................263.1快速生成树协议介绍...........................................................................................................263.2快速生成树协议改进...........................................................................................................273.3生成树和快速生成树的比较.................................................................................................32DA000028生成树原理ISSUE1.0课程说明1课程说明课程介绍本课程主要介绍STP(SpanningTreeProtocol)。在以太网中为了避免单点故障进行链路冗余备份,链路的冗余备份又会导致路径环路,从而产生网络风暴。STP协议可应用于环路网络,通过一定的算法阻断某些冗余路径,将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。课程目标完成本课程的学习后,您应该能够:掌握路径环路产生的原因掌握STP协议的基本原理掌握RSTP协议的基本原理DA000028生成树原理ISSUE1.0第1章透明桥接概述2第1章透明桥接概述1.1透明网桥的应用对于一般的透明网桥来说,通常都具有以下的特点:拓展LAN能力:通过透明网桥的应用,可以使原先只在小范围LAN上操作的站点能够在更大范围的LAN环境中工作。透明网桥能够自主学习站点的地址信息,从而有效控制网络中的数据包数量。当网桥的某个端口上收到含有某个源MAC地址的数据帧时,它就把该MAC地址和接收该数据帧的端口号保存在MAC地址表中。MAC地址表能够指明该MAC地址与透明网桥的哪个端口相连。当网桥收到一个数据帧时,会查找这张地址表,找到目的MAC所对应的端口。然后分下列三种情况进行处理:如果目的端口是接收端口,则抛弃这个帧;如果不是接收端口,则从那个端口转发该帧。如果收到的数据帧不能从该表中找到对应目的地址的端口,则要从除收到该数据之外所有其他端口广播出去。DA000028生成树原理ISSUE1.0第1章透明桥接概述3另外如果网桥收到的是广播帧,也要把该帧从除接收端口以外的所有其他端口转发出去。但问题是“透明”网桥毕竟不是路由器,它不会对报文做任何修改的,报文中不会记录到底经过了几个网桥,如果网络中存在环路,报文有可能在环路中不断循环和增生,造成网络的拥塞,因而导致了网络中“路径回环”问题的产生。DA000028生成树原理ISSUE1.0第1章透明桥接概述41.2路径回环的产生图中是一个由于环路造成报文循环和增生的例子。假定A站点还没有发送过任何包,因此网桥B1、B2和B3的地址表中都没有A的地址的记录。当A发送了一个包,最初三个网桥都接受了这个包,记录A的地址在LAN1上,并排队等待将这个包转发到LAN2上。根据LAN的规则,其中的一个网桥将首先成功的发送包到LAN2上,假设这个网桥是B1,那么B2和B3将会再次接收到这个包,因为B1对于B2和B3来说是透明的,这个包就好像是A在LAN2上发送的一样,于是B2和B3记录A在LAN2上,排队等待将这个新包转发到LAN1上,假设这时B2成功将最初的包转发到LAN2上,那么B1和B3都接收到这个包。B3还好,只是认为A仍然在LAN2上,而B1又发现A已经转移到LAN2上了,然后B1和B3都会排队等待转发新包到LAN1上。如此下去,包就在环路中不断循环,更糟糕的是每次成功的包发送都会导致网络中出现两个新包。DA000028生成树原理ISSUE1.0第1章透明桥接概述51.3生成树协议的引入为什么引入生成树协议为什么引入生成树协议通过阻断冗余链路来消除桥接网络中可能存在的路径回环当前活动路径发生故障时激活冗余备份链路恢复网络连通性ROOTROOTLANALANALANBLANBLANCLANCLANDLANDLANELANE尽管透明网桥存在这个隐患,但是它的应用还是相当有诱惑力的,因为透明网桥在无回路的网络中发挥的作用是无可指摘的。那么是不是就认为我们不能组建有回路的网络呢?这显然是不合适的,因为回路的存在可以在拓扑结构的某条链路断开之后,仍然保证网络的连通性。为此,我们找到了一种很好的算法,它通过阻断冗余链路将一个有回路的桥接网络修剪成一个无回路的树型拓扑结构,这样既解决了回路问题,又能在某条活动(active)的链路断开时,通过激活被阻断的冗余链路重新修剪拓扑结构以恢复网络的连通。上面的图中给出了一个应用生成树的桥接网络的例子,其中字符ROOT所标识的网桥是生成树的树根,实线是活动的链路,也就是生成树的枝条,而虚线则是被阻断的冗余链路,只有在活动链路断开时才会被激活。DA000028生成树原理ISSUE1.0第2章STP协议6第2章STP协议2.1生成树协议基本原理生成树协议的基本原理生成树协议的基本原理基本思想:在网桥之间传递特殊的消息(配置消息),包含足够的信息做以下工作:从网络中的所有网桥中,选出一个作为根网桥(Root)计算本网桥到根网桥的最短路径对每个LAN,选出离根桥最近的那个网桥作为指定网桥,负责所在LAN上的数据转发网桥选择一个根端口,该端口给出的路径是此网桥到根桥的最佳路径选择除根端口之外的包含于生成树上的端口(指定端口)生成树算法的基本原理也很简单,网桥之间彼此传递一种特殊的配置消息,802.1D协议将这种配置消息称为“配置桥协议数据单元”或者“配置BPDU”。配置消息中包含了足够的信息来保证网桥完成生成树的计算。交换机会根据BPDU消息来完成如下的工作:在桥接网络的所有参与生成树计算的网桥中,选出一个作为树根(RootBridge);计算出其他网桥到这个根网桥的最短路径;为每一个LAN选出一个指定网桥,该网桥必须是离根网桥最近的。指定网桥负责将这个LAN上的包转发给根桥;为每个网桥选择一个根端口,该端口给出的路径是本网桥到根网桥的最短路径;选择包含在生成树上的端口,由根端口和LAN连接其指定网桥的那些端口(指定端口)组成。DA000028生成树原理ISSUE1.0第2章STP协议72.2配置消息介绍配置消息的内容配置消息的内容配置消息也被称作桥协议数据单元(BPDU)主要内容包括根网桥的Identifier(RootID)从指定