rstp的pa机制/A机制是怎么样的

扫二维码下载作业帮
1.75亿学生的选择
下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
PVIFA怎么计算
扫二维码下载作业帮
1.75亿学生的选择
这是指利率为10%、期数为5的年金现值系数年金现值系数公式:P/A=[1-(1+i)^-n]/i 其中i表示报酬率,n表示期数,P表示现值,A表示年金.[1-(1+i)^-n]/i
你好,那个-n是(1+i)的n次方吗?
为您推荐:
其他类似问题
我也想知道
扫描下载二维码2079人阅读
网络相关(68)
首先简单比较802.1D和802.1W在PDU上的一些结构和区别。
生成树协议一共有两种BPDU:
一、Configuration BPDU:
l 在802.1D里,配置BPDU在生成树初始化时由各Bridge自己生成,当接收到更优(superior)BPDU后,改用更优的BPDU。当STP域收敛时,全网的配置BPDU都是Root Bridge的配置BPDU。当然,每台Bridge都有可能修改BPDU的内容,例如TCA标记;
l 在802.1W里,该BPDU改为全部由Bridge自己生成,只是在Root ID里填上已知Root Bridge的Bridge ID。配置BPDU由本机产生这点很重要,这直接使得RSTP在拓扑变更时无需等待Root Bridge的配置BPDU,即可刷新MAC表。
二、TCN BPDU
l 在802.1D中,TCN BPDU由获知网络拓扑发生变化的Bridge生成,并从根端口(以下简称R-Port)往Root Bridge方向发送。接收到TCN BPDU的Bridge有两个动作:1、继续从R-Port转发,并期待从R-Port接收到TCA置位的配置BPDU;另一方面,在下一次配置BPDU发送时,向该指定端口(以下简称D-Port)发送TCA置位的配置BPDU进行确认。Bridge将一直生成并发送TCN BPDU,直到收到TCA置位的配置BPDU为止。该行为一直延伸到Root Bridge接收到TCN
BPDU为止。然后Root Bridge发送新的配置BPDU,使整个STP域的Bridge老化其MAC表,准备学习新的拓扑。由于STP域内所有Bridge的收敛行为均由Root Bridge的配置BPDU驱动,可称为同步收敛;
l 在802.1W中,不存在TCN BPDU,因为RSTP域内状态的同步无需由Root Bridge发起。Topology Change(TC)的通告发生在毗邻Bridge之间,当且仅当某D-Port状态从Discarding到Forwarding时需要使用TC置位的配置BPDU。该BPDU仅从该D-Port转发出去,且一个新增的位(Proposal Bit)将被置位。这将引发一系列同步操作,也就是RSTP新增的一个协商机制:P/A机制。通过P/A机制,STP域内收敛行为发生在相邻的Bridge之间,各自完成自己的同步过程,可称为异步收敛。
STP与RSTP对端口状态的描述:
Forwarding
Discarding
Discarding
Forwarding
RSTP BPDU如下:
Protocol ID
Protocol Version ID
Root Path Cost
Message Age
Hello Time
Forward Delay
其中Flags一项与STP比较而言变化较大:
Topology Change(TC):1 Bit,由获知STP域拓扑发生改变的Bridge生成。在STP中,该Bridge将生成TC置位的TCN BPDU,并向Root Bridge方向泛洪。Root Bridge接收后,往其下游继续泛洪,直到STP域内所有Bridge都获知该信息。在RSTP中,BPDU仅在相邻Bridge间进行转发,因此TCN BPDU和TCA BPDU都仅在设备间生效。
Proposal:1 Bit。用于向对端协商成为转发状态。所有处于Discarding/Learning状态的端口,生成的BPDU都将Proposal比特置位。若接收到对端Agreement置位的BPDU,则立即进入Learning状态,并在随后进入Forwarding状态。
Port Role:2 Bit。用于标识发送本BPDU端口的角色。
Learning:1 Bit。处于Learning状态的端口,生成Learning比特置位的BPDU。
Forwarding:1 Bit。处于Forwarding状态的端口,生成Forwarding比特置位的BPDU。
Agreement:1 Bit。接收到Proposal比特置位的BPDU后,若Bridge的所有端口均处于Synced状态,则返回Agreement置位的BPDU。
Topology Change Acknowledgment(TCA):1Bit,由接收到TCN BPDU的Bridge生成,作为对端Bridge的回应。
Port Role:R-Port(10),非根交换机到根交换机的最优端口;D-Port(11):网段到根交换机的最优端口;A-Port(01):R-Port的替换端口;Backup Port(01):D-Port的替换端口;Unknown Port(00):未知角色端口;Edge Port:连接终端的端口,因Edge Port不发送BPDU,因此BPDU包里没有该定义。
介绍完端口角色,接下来就是介绍RSTP如何实现快速收敛。
首先,RSTP将网络拓扑的变化定义为端口角色的变化,这个应该比较容易理解,因为网络拓扑的变化可以描述为某些网络端口在转发/阻塞态之间的转换,而RSTP将端口角色和端口状态进行了明确的定义(这是RSTP比STP优胜的地方)。
其次,RSTP端口角色的变化直接影响端口状态的变化。R-Port、D-Port、Edge Port处于Forwarding状态;Alternated Port(以下简称A-Port)和Backup Port处于Discarding状态。
一、Forwarding-〉Discarding
若某条链路失效,即链路两端的端口从转发态变为阻塞态。从生成树协议的目的来看,并不会使得网络形成环路。RSTP仅需要找到处于合适的阻塞态端口,并将其转为转发态,使拓扑重新连通起来。由于RSTP在计算时已经分配好R-Port的备份端口A-Port,因此若从转发态变为阻塞态的是R-Port,则把对应的A-Port改为转发态;同理,D-Port的则色也可置相应的Backup Port为转发来实现。而Edge Port并不影响生成树的计算,故忽略。这样,当某个(些)端口状态从转发到阻塞,对于RSTP而言,无需重新计算(是不是有点熟悉,好像哪儿见过不用计算直接使用备用路径的算法。聪明的你一定想到了:DUAL)。
二、Discarding-〉Forwarding
由于某条链路的连通有可能导致生成树域成环。在RSTP里,该行为定义为D-Port从阻塞态转化为转发态,相对的检查机制应的就是P/A机制,即从需要进入转发态的D-Port,建议对端进行同步,待收到确认后进入转发态。
对端Bridge在接收到“建议”消息后,一方面阻塞自身所有D-Port,并返回“同意”消息给“建议”消息发送方;另一方面,对自身端口进行同步。同步分两种类型:若端口为E-Port,或者原来就是非转发态,则为“已同步”;若端口原来为转发态,为重新进入转发态,将对对端进行“建议”并等待确认。
下面将结合图例,演示P/A机制的流程:
(一)B、E之间建立一条新链路,首先进行端口角色选择;
(二)B、E通过该链路交换BPDU,由于B端口发送的BPDU较优(superior),因此B端口角色为D-Port;与此同时,E从B收到的BPDU比从C收到的较优,因此E把连接B的端口转换为Root Port,同时,连接C的端口转换为A-Port。要注意的是,RSTP相对STP进行了根端口转发的改进,一旦确定了旧的R-Port非转发态,且新的R-Port已确定,则新的R-Port立即进入转发态;
(三)此刻B端口仍为Discarding状态,并期望进入Forwarding状态,因此它将从该D-Port发送“Proposal“置位的配置BPDU给E;E接收到该BPDU后,进入同步状态:即将所有转发态端口转为丢弃,并检查端口同步情况;
(四)从同步原理可知,E中只有连接D的端口为转发态,因此E继续阻塞该端口,并向B返回”同意“置位的BPDU。自此,B-E链路进入已完成同步,立即进行流量转发;而由于D连接E的端口为A-Port,不转发BPDU,因此E发出的”Proposal“置位BPDU将不会被”Agreement“置位的BPDU回应。该端口将一直保持阻塞态。
本文出自 “” 博客,请务必保留此出处
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:441674次
积分:4653
积分:4653
排名:第5411名
转载:450篇
评论:20条
(1)(1)(2)(6)(10)(2)(2)(8)(6)(7)(1)(7)(15)(4)(1)(1)(2)(1)(23)(25)(41)(38)(24)(9)(11)(14)(34)(13)(8)(9)(15)(8)(2)(3)(7)(12)(8)(2)(15)(17)(21)(3)(12)现在位置:
以太网STP协议模拟 详细内容
以太网STP协议模拟
以太网STP协议模拟
【摘要】: 以太网生成树协议STP的功用是:使组成网络的交换机冗余端口置于“阻塞状态”,当网络中的计算机在通信时,只有一条链路生效,确保网络中不会形成环路,引起广播风暴;当此链路出现故障时,将处于“阻塞状态”的端口重新打开,从而确保网络连接稳定可靠。
本题目实现以太网STP协议的模拟演示软件,通过单机运行程序,展示生成树协议运行时的具体细节,尤其是各个交换机之间的信息沟通方式;要对具体的数据包交换格式、操作顺序、状态变化、故障恢复等进行细致的模拟。
1&&&&&&&&&&&&&&&&&&&&&& 前言 1.1&&&&& 课题背景
交换机是网络的核心设备之一,其技术发展非常迅速。以太网交换机已经走出了当初的桥接框架,广泛应用到汇聚层和骨干层,交换机和路由器逐渐融合的趋势越来越明显。而且当前我国的经济形势良好,持续稳定发展,各行各业对信息化、网络建设和升级的需求都很迫切,这是以太网交换机设备市场强大的驱动力。尤其是电信、金融、政府和教育等大型行业信息化工程的开展、宽带城域网建设力度的加大,对网络和网络设备提出了更高的要求,大大促进交换机市场的增长,特别是高端路由交换机市场的增长。据统计显示,高端路由交换机销量占到以太网交换机总销售量的五分之一,而销售额占市场总销售额的一半,可以看出高端市场是以太网交换机市场的主要利润区。本文来源于某公司的实际项目,在其高端以太网交换机上实现RSTP。该项目成员共三人,笔者参与了项目开发的全过程,与项目组成员一道,完成了方案设计、详细设计、编码和测试的工作。1.2&&&&& 国内外研究现状
目前生成树协议已经演化出许多版本,性能越来越好,对硬件资源的要求也越来越高。以MSTP为例,它是基于多生成树的协议,是当前研究的热点之一,但由于该技术较复杂,主要掌握在国外大公司手中,对于国内的交换机生产厂商来说,RSTP才是主流技术。一些低端的设备,比如二层交换机,为了控制成本,一般只要实现STP就行了。对于高端的交换机,比如三层交换机,甚至是路由交换机,一般要求实现RSTP。RSTP的收敛速度能控制在秒级,对于大多数网络应用来说,这个收敛时间都能满足需求。从1999年IEEE委员会开始制定该标准以来,历经许多专家学者的修改和完善,RSTP协议经受住了实践检验,得到了广大交换机设备厂商的认可和支持。但是我们也应该认识到每一项技术都不是十全十美的,RSTP理论也有它的缺陷,还需要继续研究。IEEE802.1w文档中定义了RSTP的内核即8个状态机,至于如何实现RSTP并不象STP一样有示例代码。目前能查到的国内外的各种文献也都是对RSTP理论的研究,没有具体实现的例子。不同的厂商硬件种类多种多样,软件构架也各不相同,如何在具体的软硬件环境中有效的实现
1.3&&&& 软硬件环境介绍 1.3.1& VxWorks操作系统简介
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。WRS是国际著名的嵌入式实时操作系统的供应商,其产品VxWorks操作系统是专门为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理、实时的系统资源以及实时的任务间的通信。
应用程序员可以将尽可能多的精力放在应用程序本身,雨不必再去关心系统资源的管理。嵌入式软件开发是一种比较复杂的劳动,操作系统性能再好,仅仅依靠人工编程调试很难发挥它的功能,要设计出可靠、高效的嵌入式系统,必须要有与之相适应的开发工具,Tornado就是为开发VxWorks应用系统提供的集成开发环境。针对通信行业的特定应用,VxWorks还有相应的软件支持包TMS(Tornado for Mnanged Switches),在此基础上用户可以快速地开发网络通信产品。
一、&&&&& VXWorks任务
软件设计时通常将应用划分成独立的、相互作用的程序,当这些程序执行时,我们称之为任务。gxWorks的任务可以直接或共享访问大多数系统资源,这些任务共同合作来实现整个系统的功能。多任务提供一种机制,使得应用程序可以控制响应多重的、离散的事件,VxWorks实时内核提供基本的多任务环境。每个任务有自己的上下文(CPU环境、系统资源等),任务由系统内核调度运行,在任务切换时,任务的上下文保存在任务控制块(TCB)中。需要注意的是,与?/indows操作系统不同,VxWorks操作系统的内存是线性的,所有代码执行在单一的公共地址空间内,因而内存地址空间不属于任务上下文,每个任务各自的地址空间需要虚地址到物理地址的转换映射。
二、&&&&& 任务状态转换
任务状态反映任务当前在系统中所处的情形。内核负责维护系统中所有任务的当前状态,一个任务从一个状态变为另一个状态是内核调用的结果。
同一时刻,只有一个任务在执行。VxWorks内核状态有四种基本状态和若干种复合状态。
²&&&& 就绪(READY)
处于这种状态的任务除了等待CPU外,不需要等待其他资源。
²&&&& 阻塞(PEND)
处于这种状态的任务等待的资源目前不可用。
²&&&& 睡眠(DELAY)
处于这种状态的任务由于某时间点未到而休眠。
²&&&& 挂起(SUSPEND)
处于这种状态的任务不能执行,主要用于出错时的调试。
三、&&&&& 任务调度
任务调度是根据一定的规则,将CPU的使用权分配给符合条件的任务,这些规则称为调度算法。VxWorks内核默认采用基于优先级的抢占式调度算法,同时还可以选用时间片轮转调度算法。
如果使用基于优先级的抢占式调度算法,系统中的每个任务都有一个优先级,任一时刻,内核将CPU分配给处于就绪状态的优先级最高的任务执行。如果系统内核发现有一个任务优先级比当前正在运行的任务的优先级高的任务转变为了就绪态,内核立即保存当前运行任务的上下文,将当前任务变为阻塞态,插入到阻塞队列,并切换到这个高优先级的任务上下文运行。VxWorks内核提供256个优先级(0~255),优先级0最高,255最低。任务的优先级在仓O建时指定,可以动态改变。
轮转调度算法让优先级相同的、处于就绪态的任务公平地分享使用CPU资源。如果不使用轮转调度,当系统中存在多个相同优先级的任务共享CPU时,第一个获得CPU的任务将独占CPU,如果没有阻塞出现,它将不会给其他相同优先级的任务运行的机会。轮转调度是使用时间片来实现这种相同优先级任务公平分配CPU资源。一组任务中的每个任务执行一个预先确定的时间片,然后另一个任务执行相等的时间片,依次进行,机会均等。1.3.2& VxWorks任务间的通信
要想多任务间相互同步和通信以协调各自活动,任务间的通信机制必不可少。VxWorks提供的任务间通信手段包括信号量、消息队列、管道、套接字等。本文主要涉及前两种通信方式。
一、&&&&& 信号量
YxWorks信号量是提供任务闻通信、同步和互斥的最优选择,它提供任务间的最快速通信,是任务间同步和互斥的主要手段。VxWorks有三种类型的信号量,用于解决不同的问题。
²&&&& 二进制信号量
最快最常用的信号量,可以用于同步和互斥。
²&&&& 互斥信号量
为解决具有互斥问题、优先级继承问题、删除安全问题和递归问题等情况而优化了的特殊的二进制信号量。
²&&&& 计数器信号量
类似于二进制信号量,但是随信号量释放的次数的改变而改变,适合于一个资源的多个实例需要保护的情形。
为了简化程序设计,VxWorks信号量提供一套单一的接口用于控制信号量,而不是为每种信号量定义一套完整的信号量控制函数。信号量的类型仅仅由创建函数确定,其他接口根据需要处理的信号量的类型自动完成相应的操作。信号量在创建的时候,队列类型就已经确定。等待一个信号量的任务可以按优先级(sEM-Q―PRIORITY)或按先进先出(SEM Q PIFO)的顺序排队。信号量的控制函数主要有:semBCreate(),分配并初始化一个二进制信号量;semMCreate 0,分配并初始化一个互斥信号量;semCCreate(),分配并初始化一个计数器信号量;semDelete0,终止并释放一个信号量;semTake 0,获取一个信号量;semGive 0,释放一个信号量;semFlush 0,解锁所有等待该信号置的任务。
二、&&&&& 消息队列
信号量提供高速的任务间同步和互斥机制,但是常常还需要一种较高级的合作任务之间相互通信的机制。7xWorks提供任务通信的全局消息队列,消息队列允许长度可变、数目可变的消息排队。任何任务可以发送消息到消息队列,任何任务可以从消息队列接收消息。多个任务可以向同一个消息队列发送消息或接收消息。消息队列由函数msgQCreate0创建,以它能够排队的最大消息数目以及每个消息的最大字节长度作为参数。任务调用msgQSend()来向消息队列发送消息。此时如果没有任务在等待该队列中的消息,那么该消息进入消息队列的缓冲。如果有任务等待该队列的消息,那么1.3.3& TMS2.0简介
TMS的全称是Tornado for Managed Switches,它是、^,indRiver为快速开发网络产品而提供的一个软件包,目前的版本是TMS2.0。TMS是一个可裁剪的组件结构,定义了从底层硬件驱动到上层协议软件的全套解决方案。
TMS上层协议部分实现了大部分的TCP/IP协议栈,支持大部分的IETF、IEEE等标准和SNMP MIB库,为用户开发各种产品提供了便利。TMS定义了一种L2的构架允许将一个物理端口映射为逻辑端口,许多概念如vtAs(虚拟局域网,802。lq)、LinkAggregation(链路聚合,802.3am、Spanning Tree(生成树,802.d/w/s)都能够被支持,这种构架也支持VLAN间的路由和L3路由。
TMS中对端口的操作都是基于逻辑端口的,不是物理端口,这就实现了硬件和协议间的独立。其构架如图2-1所示:
(1)HardwareEND,即Hw层,与硬件的物理端口一一对应。
(2)Aggregation Port sub?END,即Ap层,在TMS中对应交换机trunk的物理端口。
(3)Aggregator sub―END,即Ag层,在TMS中对应交换机trunk的逻辑端口。RSTP协议通过MUX直接绑定到Ag层,即从Ag层收取报文。
(5)MUX(VxWorks Protocol Multiplexer),即VxWorks协议复用器。Sw层、Ag层、Ap层通过MUX与相关的协议模块(如IP、BOOTP、DHCP,GVRP、GMRP、RSTP、802.1x)相连接。这些协议模块就可以通过MUX提供的接口从不同的层次收取报文。1.4&&&&& 交换机关键技术简介
以太网交换机,英文为switch,也有人翻译为开关,交换器或交换式集线器。我们首先回顾一下局域网的发展过程。计算机技术与通信技术的结合促进了计算机局域网络的飞速发展,从六十年代末ALOHA的出现到九千年代中期1000MBPS交换式以太网的登台亮相,短短的三十年间经过了从单工到双工,从共享到交换,从低速到高速,从简单到复杂,从昂贵到普及的飞跃。
八十年代中后期,由于通信量的急剧增加,促使技术的发展,使局域网的性能越来越高,最早的IMBPS的速率已广泛地被今天的IOOBASE--T和IOOCG--ANYLAN替代,但是,传统的媒体访问方法都局限于使大量的站点共享对一个公共传输媒体的访问,即cs姒/cD。九十年代初,随着计算机性能的提高以及通信量的聚增,传统局域网已经愈来愈超出了负荷,交换式以太网技术应运而生,大大提高了局域网的性能。与现在基于网桥和路由器的共享媒体的
局域网拓扑结构相比,网络交换机能显著的增加带宽。交换技术的加入,就可以建立地理位置相对分散的网络,使局域网交换机的每个端口可平行、安全、同时的互相传输信息,而且使局域网可以高度扩充。局域网交换技术的
2&&&&&&&&&&&&&&&&&&&&&& 生成树协议(STP)
2.1&&&&& 生成树的定义
生成树算法的网桥协议STP(Spanning Tree Protocol) 它通过生成生成树保证一个已知的网桥在网络拓扑中沿一个环动态工作。网桥与其他网桥交换BPDU消息来监测环路,然后关闭选择的网桥接口取消环路,统指IEEE802?1生成树协议标准和早期的数字设备合作生成树协议,该协议是基于后者产生的。IEEE版本的生成树协议支持网桥区域,它允许网桥在一个扩展本地网中建设自由环形拓扑结构。IEEE版本的生成树协议通常为在数字版本之上的首选版本。生成树协议的主要功能有两个:一是在利用生成树算法、在以太网络中,创建一个以某台交换机的某个端口为根的生成树,避免环路。二是在以太网络拓扑发生变化时,通过生成树协议达到收敛保护的目的。2.2&&&&& 802.1D生成树协议概述: 2.2.1& 几个关键的概念:
(1)网桥标识(bridge ID):
  ①非扩展的:网桥优先级(2bytes)+ MAC地址
  ②扩展的:网桥优先级(4bits) + 系统标识(VLAN ID;12bits) + MAC地址
(2)网桥协议数据单元(BPDU):
①配置(CFG)BPDU: 初始时每个网桥都会发送,假设自己就是根网桥
  收敛后,只从根网桥发出,其他网桥在根端口接收后向下中继。
  ②拓扑改变提示(TCN)BGDU:当拓扑发生变化是,其他网桥可以从根端口发&&& 出该BPDU,到达根网桥。
根网桥在配置BPDU中设定TCN位,提示其他网桥快速清理MAC地址表。
(3)时间值:
  ①HELLO间隔:2秒,CFG BPDU发送间隔
  ②MAX AGE: 20秒,CFG BPDU的保留时间
  ③FWD_DELAY: 15秒,监听(listening)和学习(learning)的时间
(4)路径代价:与链路速率相关,用于计算网桥间的距离
(5)端口状态:
  ①关闭(disable):端口处于管理关闭状态
  ②阻塞(blocking): 不能转发用户数据
  ③监听(listening): 接口开始启动
  ④学习(learning) : 学习MAC地址, 构建MAC表进程项
  ⑤转发(forwarding): 可以转发用户数据
(6)选择标准:
  ①最低的网桥标识号
  ②最低的路径代价到根网桥
  ③最低的发送者的网桥标识号
  ④最低的端口标识号 2.2.2& 选择操作顺序
  (1)选择一个根网桥:每一个网络选择一个
  (2)选择一个根端口:每一个非根网桥选择一个
(3)选择一个指派端口:每一个网段选择一个
(4)非指派端口被放置在阻塞状态2.3&&&&& 快速生成树协议
&& &&RSTP:快速生成树协议(rapid spaning tree protocol):802.1w由802.1d发展而成,这种协议在网络结构发生变化时,能更快的收敛网络。它比802.1d多了两种端口类型:预备端口类型(alternate port)和备份端口类型。 STP(Spanning Tree Protocol)是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。
§&&&&&&&& 在上图所示拓扑中,各端口角色如图中标注
连接主机的端口通常配置为边缘端口 2.3.1& 基本原理
&&& STP协议由IEEE802.1D定义,RSTP由IEEE802.1W定义。
  STP的基本原理是,通过在交换机之间传递一种特殊的协议报文(在IEEE 802.1D中这种协议报文被称为“配置消息”)来确定网络的拓扑结构。配置消息中包含了足够的信息来保证交换机完成生成树计算。
生成树协议STP/RSTP 2.3.2& 技术原理
STP的基本思想就是生成“一棵树”,树的根是一个称为根桥的交换机,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥。由根桥开始,逐级形成一棵树,根桥定时发送配置报文,非根桥接收配置报文并转发,如果某台交换机能够从两个以上的端口接收到配置报文,则说明从该交换机到根有不止一条路径,便构成了循环回路,此时交换机根据端口的配置选出一个端口并把其他的端口阻塞,消除循环。当某个端口长时间不能接收到配置报文的时候,交换机认为端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。
2.3.3& 功能介绍
生成树协议最主要的应用是为了避免局域网中的网络环回,解决成环以太网网络的“广播风暴”问题,从某种意义上说是一种网络保护技术,可以消除由于失误或者意外带来的循环连接。STP也提供了为网络提供备份连接的可能,可与SDH保护配合构成以太环网的双重保护。新型以太单板支持符合ITU-T 802.1d标准的生成树协议STP及802.1w规定的快速生成树协议RSTP,收敛速度可达到1s。
2.3.4& 802.1d 中STP的端口状态
  交换机的端口在STP环境中共有5种状态:阻塞blocking、倾听listening、学习learning、转发forwarding、关闭(disable)。
  Blocking:处于这个状态的端口不能够参与转发数据报文,但是可以接收配置消息,并交给CPU进行处理。 不过不能发送配置消息,也不进行地址学习。
  Listening:处于这个状态的端口也不参与数据转发,不进行地址学习;但是可以接收并发送配置消息。
  Learning:处于这个状态的端口同样不能转发数据,但是开始地址学习,并可以接收、处理和发送配置消息。
  Forwarding:一旦端口进入该状态,就可以转发任何数据了,同时也进行地址学习和配置消息的接收、处理和发送。
  交换机上一个原来被阻塞掉的端口由于在最大老化时间内没有收到BPDU,从阻塞状态转变为倾听状态,倾听状态经过一个转发延迟(15秒)到达学习状态,经过一个转发延迟时间的MAC地址学习过程后进入转发状态。如果到达倾听状态后发现本端口在新的生成数中不应该由此端口转发数据则直接回到阻塞状态。当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个时延称为转发延迟(Forward Delay),协议默认值是15秒。
  在所有网桥收到这个变化的消息之前,若旧拓扑结构中处于转发的端口还没有发现自己应该在新的拓扑中停止转发,则可能存在临时环路。为了解决临时环路的问题,生成树使用了一种定时器策略,即在端口从阻塞状态到转发状态中间加上一个只学习MAC地址但不参与转发的中间状态,两次状态切换的时间长度都是Forward lDelay,这样就可以保证在拓扑变化的时候不会产生临时环路。  2.3.5& RSTP的P/A协商快速收敛机制
  P/A机制即Proposal/Agreement机制。其目的是使一个指定端口尽快进入Forwarding状态。其过程的完成根据以下几个端口变量:
  A)Proposing。当一个指定端口处于Discarding或Learning状态的时候,该变量置位。并向下游交换传递Proposal位被置位的BPDU。
  B)Proposed。当端口收到对端的指定端口发来的携带Proposal的BPDU的时候。该变量置位。该指示本网段上的指定端口希望忙进入Forwarding状态。
  C)sync。当Proposed被设置以后,收到Proposal置位信息的根端口会依次为自己的其他端口置位sync变量。如果端口是非边缘的指定端口是则会进入Discarding状态。
  D)synced。当端口完成转到Discarding后,,会设置自己的synced变量。Alternate、Backup和边缘端口会马上设置该变量。根端口监视其他端口的synced,当所有其他端口的synced全被设置,,根端口会设置自己的synced,然后传回BPDU,其中Agreement位被置位。
  E)agreed。当指定端口接收到一个BPDU时,如果该BPDU中的Agreement位被置位且端口角色定段是“根端口”,该变量被设置。Agreed变量一旦被置位,指定端口马上转入Forwarding状态。
  端口状态
在RSTP中只有三种端口状态。802.1D中的禁止端口,阻塞端口,监听端口在802.1W中统一合并为禁止端口。
  Port State
  Port State
  为活跃状态
  学习MAC地址
 RSTP相对于STP由以下优点:
  A、STP没有明确区分端口状态与端口角色,收敛时主要依赖于端口状态的切换。RSTP比较明确的区分了端口状态与端口角色,且其收敛时更多的是依赖于端口角色的切换。
B、STP端口状态的切换必须被动的等待时间的超时。而RSTP端口状态的切换却是一种主动的协商。
C、STP中的非根网桥只能被动的中继BPDU。而RSTP中的非根网桥对BPDU的中继具有一定的主动性。
2.4&& MSTP基本原理
MSTP协议在计算生成树时使用的算法和原理与STP/RSTP大同小异,只是因为在MSTP中引入了域和内部路径开销等参数,故MSTP中的优先级向量是7维,而STP/RSTP是5维。STP/RSTP中的优先级向量是{根桥标识符,根路径开销,桥标识符, 发送BPDU报文端口标识符, 接收BPDU报文端口标识符},MSTP中的优先级向量是{CIST根桥标识符,CIST外部根路径开销,CIST域根标识符,CIST内部根路径开销,CIST指定桥标识符,CIST指定端口标识符,CIST接收端口标识符},其中STP/RSTP中的桥标识符实际上是发送BPDU的设备的标识符,与MSTP中的CIST指定桥标识符对应。MSTP中的CIST域根标识符有两种情况,一种是总根所在域内,BPDU报文中该字段是参考总根的标识符,另一种情况是不包含总根的域中,BPDU报文该字段是参考主设备的标识符。运行MSTP的实体初始化时认为自己是总根、域根,通过交互配置消息,按照上面介绍的7维向量计算CIST生成树和MSTI,下面简要介绍CIST生成树和MSTI的计算,介绍H3C设备MSTP算法实现过程
多生成树协议的区域&
MSTP基本原则
每个实例上分别计算各自的生成树,互不干扰
每个实例的生成树的算法与RSTP基本相同
每个实例的生成树可以有不同的根,不同的拓扑
每个实例各自发自己的BPDU
每个实例的拓扑可以人为通过配置来确定
每个端口在不同实例上的生成树参数可以不同
每个端口在不同实例上的角色、状态可能不同步骤1:启用生成树
&O&&&&& Switch(config)#spanning-tree步骤2:选择生成树模式为MSTP
&O&&&&& Switch(config)#spanning-tree mode mstp
&O&&&&& 在锐捷交换机中,默认情况下,当启用生成树后,生成树的运行模式为MSTP。步骤1:进入全局配置模式
&O&&&&& Switch#configure terminal步骤2:进入MSTP配置模式
&O&&&&& Switch(config)#spanning-tree mst configuration步骤3:在交换机上配置VLAN与生成树示例的映射关系
&O&&&&& Switch(config-mst)#instance instance-id vlan vlan-range看生成树的全局配置及状态信息
&O&&&&& Switch#show spanning-tree 查看MSTP的配置结果
&O&&&&& Switch#show spanning-tree mst configuration 查看特定实例的信息
&O&&&&& Switch#show spanning-tree mst instance 查看特定端口在相应实例中的状态信息
&O&&&&& Switch#show spanning-tree mst instance interface
配置MSTP――实现负载分担3&&&&&&&&&&&&&&&&&&&&&& 企业园区生成树事例 3.1&&&&& 系统架构
3.2&&&&& STP功能框图
3.3&&&&& 生成树协议的实验步骤
实验设备: 接入层交换机S2126G (2台)、分布层交换机S台)
3.3.1& 第一步:配置接入层交换机S2126-A
S2126-A (config)#spanning-tree&& !开启生成树
S2126-A (config)#spanning-tree mode mstp&&& !配置生成树模式为MSTP
S2126-A(config)#vlan 10&&& !创建Vlan 10
S2126-A(config)#vlan 20&&& !创建Vlan 20
S2126-A(config)#vlan 40&&& !创建Vlan 40
S2126-A(config)#interface fastethernet 0/1
S2126-A(config-if)#switchport access vlan 10&& !分配端口F0/1给Vlan 10
S2126-A(config)#interface fastethernet 0/2
S2126-A(config-if)#switchport access vlan 20&& !分配端口F0/2给Vlan 20
S2126-A(config)#interface fastethernet 0/23
S2126-A(config-if)#switchport mode trunk&&&&& !定义F0/23为trunk端口
S2126-A(config)#interface fastethernet 0/24
S2126-A(config-if)#switchport mode trunk&&&&& !定义F0/24为trunk端口
S2126-A(config)#spanning-tree mst configuration&&& ! 进入MSTP配置模式
S2126-A(config-mst)#instance 1 vlan 1,10&&& !配置instance 1(实例1)并关联Vlan 1和10
S2126-A(config-mst)#instance 2 vlan 20,40&&&& !配置实例2并关联Vlan 20和40
S2126-A(config-mst)#name region1&&&&&&&&&&& !配置域名称
S2126-A(config-mst)#revision 1&&&&&&&&&&&&&& !配置版本(修订号)
验证测试:验证MSTP配置
S2126-A#show spanning-tree mst configuration&&&& ! 显示MSTP全局配置
Multi spanning tree protocol : Enabled
Name&&&& : region1
Revision : 1
Instance& Vlans Mapped
--------& ------------------------------------------------------------
0&&&&&&&& 2-9,11-19,21- 39,41- 4094
1&&&&&&&& 1,10
2&&&&&&&& 20,40
3.3.2& 第二步:配置接入层交换机S2126-B
S2126-B (config)#spanning-tree&&& !开启生成树
S2126-B (config)#spanning-tree mode mstp&& !采用MSTP生成树模式
S2126-B(config)#vlan 10&&& !创建Vlan 10
S2126-B(config)#vlan 20&&& !创建Vlan 20
S2126-B(config)#vlan 40&&& !创建Vlan 40
S2126-B(config)#interface fastethernet 0/1
S2126-B(config-if)#switchport access vlan 10&& !分配端口F0/1给Vlan 10
S2126-B(config)#interface fastethernet 0/2
S2126-B(config-if)#switchport access vlan 40&& !分配端口F0/2给Vlan 40
S2126-B(config)#interface fastethernet 0/23
S2126-B(config-if)#switchport mode trunk&&&&& !定义F0/23为trunk端口
S2126-B(config)#interface fastethernet 0/24
S2126-B(config-if)#switchport mode trunk&&&&& !定义F0/24为trunk端口
S2126-B(config)#spanning-tree mst configuration&&& ! 进入MSTP配置模式
S2126-B(config-mst)#instance 1 vlan 1,10&&&& !配置instance 1(实例1)并关联Vlan 1和10
S2126-B(config-mst)#instance 2 vlan 20,40&&&& !配置实例2并关联Vlan 20和40
S2126-B(config-mst)#name region1&&&&&&&&&&& !配置域名称
S2126-B(config-mst)#revision 1&&&&&&&&&&&&&& !配置版本(修订号)
验证测试:验证MSTP配置
S2126-B#show spanning-tree mst configuration
Multi spanning tree protocol : Enabled
Name&&&& : region1
Revision : 1
Instance& Vlans Mapped
--------& ------------------------------------------------------------
0&&&&&&&& 2-9,11-19,21-39,41-4094
1&&&&&&&& 1,10
2&&&&&&&& 20,40
3.3.3& 第三步:配置分布层交换机S3550-A
S3550-A(config)#spanning-tree& !开启生成树
S3550-A (config)#spanning-tree mode mstp&& !采用MSTP生成树模式
S3550-A(config)#vlan 10
S3550-A(config)#vlan 20
S3550-A(config)#vlan 40
S3550-A(config)#interface fastethernet 0/1
S3550-A(config-if)#switchport mode trunk&&&&& !定义F0/1为trunk端口
S3550-A(config)#interface fastethernet 0/23
S3550-A(config-if)#switchport mode trunk&&&&& !定义F0/23为trunk端口
S3550-A(config)#interface fastethernet 0/24
S3550-A(config-if)#switchport mode trunk&&&&& !定义F0/24为trunk端口
S3550-A (config)#spanning-tree mst 1 priority 4096&& !配置交换机S3550-A在instance 1中的优先级为4096& ,缺省是32768,值越小越优先成为该instance中的root switch
S3550-A (config)#spanning-tree mst configuration&&&& ! 进入MSTP配置模式
S3550-A (config-mst)#instance 1 vlan 1,10&&&& ! 配置实例1并关联Vlan 1和10
S3550-A (config-mst)#instance 2 vlan 20,40&&& ! 配置实例2并关联Vlan 20和40
S3550-A (config-mst)#name region1&&&&&&&&& ! 配置域名为region1
S3550-A (config-mst)#revision 1&&&&&&&&&&&& ! 配置版本(修订号)
验证测试:验证MSTP配置
S3550-A#show spanning-tree mst configuration
Multi spanning tree protocol : Enabled
Name&&&& : region1
Revision : 1
Instance& Vlans Mapped
--------& ------------------------------------------------------------
0&&&&&&&& 2-9,11-19,21-39,41-4094
1&&&&&&&& 1,10
2&&&&&&&& 20,40
3.3.4& 第四步:配置分布层交换机S3550-B
S3550-B(config)#spanning-tree& !开启生成树
S3550-B (config)#spanning-tree mode mstp&& !采用MSTP生成树模式
S3550-B(config)#vlan 10
S3550-B(config)#vlan 20
S3550-B(config)#vlan 40
S3550-B(config)#interface fastethernet 0/1
S3550-B(config-if)#switchport mode trunk&&&&& ! 定义F0/1为trunk端口
S3550-B(config)#interface fastethernet 0/23
S3550-B(config-if)#switchport mode trunk&&&&& ! 定义F0/23为trunk端口
S3550-B(config)#interface fastethernet 0/24
S3550-B(config-if)#switchport mode trunk&&&&& ! 定义F0/24为trunk端口
S3550-B (config)#spanning-tree mst 2 priority 4096&& !配置交换机S3550-B在instance 2(实例2) 中的优先级为4096& ,缺省是32768,值越小越优先成为该region (域)中的root switch
S3550-B (config)#spanning-tree mst configuration&&&& ! 进入MSTP配置模式
S3550-B (config-mst)#instance 1 vlan 1,10&&&& ! 配置实例1并关联Vlan 1和10
S3550-B (config-mst)#instance 2 vlan 20,40&&& ! 配置实例2并关联Vlan 20和40
S3550-B (config-mst)#name region1&&&&&&&&& ! 配置域名为region1
S3550-B (config-mst)#revision 1&&&&&&&&&&&& ! 配置版本(修订号)
验证测试:验证MSTP配置
S3550-B#show spanning-tree mst configuration
Multi spanning tree protocol : Enabled
Name&&&& : region1
Revision : 1
Instance& Vlans Mapped
--------& ------------------------------------------------------------
0&&&&&&&& 2-9,11-19,21-39,41-4094
1&&&&&&&& 1,10
2&&&&&&&& 20,40
3.3.5& 第五步:验证交换机配置
S3550-A#show spanning-tree mst 1&&&&& !显示交换机S3550-A上实例1的特性
###### MST 1 vlans mapped : 1,10
BridgeAddr : 00d0.f8ff.4e3f&&&&&&&&&&& !交换机S3550-A的MAC地址
Priority : 4096&&&&&&&&&&&&&&&&&&&&&& ! 优先级
TimeSinceTopologyChange : 0d:7h:21m:17s
TopologyChanges : 0
DesignatedRoot : F8FF4E3F&& !后12位是MAC地址,此处显示是S3550-A自身的MAC,这说明S3550-A是实例1 (instance 1)的生成树的根交换机
RootCost : 0
RootPort : 0
S3550-B#show spanning-tree mst 2&&&&&&& &!显示交换机S3550-B上实例2的特性
###### MST 2 vlans mapped : 20,40
BridgeAddr : 00d0.f8ff.4662
Priority : 4096
TimeSinceTopologyChange : 0d:7h:31m:0s
TopologyChanges : 0
DesignatedRoot : F8FF4662&&& ! S3550-B是实例2 (instance 2)的生成树的根交换机
RootCost : 0
RootPort : 0
S2126-A#show& spanning-tree mst 1&&&& !显示交换机S2126-A上实例1的特性
###### MST 1 vlans mapped : 1,10
BridgeAddr : 00d0.f8fe.1e49
Priority : 32768
TimeSinceTopologyChange : 7d:3h:19m:31s
TopologyChanges : 0
DesignatedRoot : F8FF4E3F&&& ! 实例1的生成树的根交换机是S3550-A
RootCost : 200000
RootPort : Fa0/23&&&&&&&&&&&&&&&& !对实例1而言,S2126-A的根端口是Fa0/23
S2126-A#show& spanning-tree mst 2&&& !显示交换机S2126-A上实例2的特性
###### MST 2 vlans mapped : 20,40
BridgeAddr : 00d0.f8fe.1e49
Priority : 32768
TimeSinceTopologyChange : 7d:3h:19m:31s
TopologyChanges : 0
DesignatedRoot : F8FF4662&&& ! 实例2的生成树的根交换机是S3550-B
RootCost : 200000
RootPort : Fa0/24&&&&&&&&&&&&&&&&&&& !对实例2而言,S2126-A的根端口是Fa0/24
类似可以验证其它交换机上的配置。
3.3.6& 第六步:交换机PC1与PC2能ping通
3.3.7& 第七步:ping PC1与PC2以外的IP(PC3)
3.3.8& 第八步:环路形成,已产生“广播风暴”
3.3.9& 第九步:启动生成树,“风暴”已消除
4&&&&&&&&&&&&&&&&&&&&&& 系统设计小结
对规模很大的交换网络可以划分多个域(region),在每个域里可以创建多个instance(实例);
划分在同一个域里的各台交换机须配置相同的域名(name)、相同的修订号(revision number)、 相同的 instance―vlan 对应表;
交换机可以支持65个MSTP instance,其中实例0是缺省实例,是强制存在的,其它实例可以创建和删除;
将整个spanning-tree恢复为缺省状态用命令spanning-tree reset 。5&&&&&&&&&&&&&&&&&&&&&& 参考文献
【1】Herber Schildt著.王威若等译,ANSI C标准详解.学苑出版社,1994
【2】Herber Schildt著.戴健鹏译.C语言大全(第二版).电子工业出版社,
f171谭浩强.c语言程序设计教程.高等教育出版,1992
【3】严蔚敏,吴伟民.数据结构.清华大学出版社,1997
【4】傅清祥,王小东.算法与数据结构.电子工业出版社,200l
【5】苏大忠,林鸿才,李成忠.以太网交换机高可靠性研究西南交通大学研
究生学术论坛,2004
【6】W,Richard,G R,陆雪莹等译谢希仁校TCP/IP协议详解(卷1)机械工
业出版社,2000
【7】W.Richard,G R,陆雪莹等译谢希仁校TCP/IP协议详解(卷2)机械工
业出版社,2000
【8】W.Richard,Q R,陆雪莹等译谢希仁校TCP/IP协议详解(卷3)机械工
业出版社,2000
【9】W.Riehard Stevens.UNIX网络编程(第2版)第1卷.清华大学出版社
【10】汤子瀛,哲风屏,汤小丹等.计算机操作系统.西安电子电子科技大学出版社,2000
【11】谢希仁.计算机网络(第二版).电子工业出版社,2001
【12】李成忠,张新有,郭大春等.计算机网络原理与设计(第二版).西南交
通大学,2003
【13】杨新强,陈国有,邵军力.数据通讯与计算机网络(第二版).电子工业
出版社,2003
【14】周明天,汪文勇.TCPflP网络原理与技术.清华大学出版社,2001
【15】李成忠.计算机网络辅助教材,西南交通大学,2004
【16】尤晋云,朱鹏等.操作系统设计与实现.电子工业出版社,2001
没有相关文章
推 荐 阅 读
阅 读 排 行
专 题 列 表
Corporation </small Inc. 网站备案号:鄂ICP备号-2 
基于架构  

我要回帖

更多关于 rstp 收敛机制 的文章

 

随机推荐