协议分析树

2024-09-29

协议分析树(精选3篇)

协议分析树 篇1

一、引言

生成树协议是局域网中广泛应用的一种协议。其作用是阻塞二层环路, 避免产生广播风暴, 防止因广播风暴导致网络不可用。由于历史和技术发展等原因, 生成树协议分为标准的STP, RSTP, MSTP以及私有的PVST, PVST+等。各种不同品牌, 甚至同一品牌不同型号的交换机支持的生成树协议不尽相同, 它们之间互联可能会导致环路或者拓扑与预期不符, 因此有必要对不同生成树协议互联时的各种情况进行仔细分析, 并进行合理的设计。

二、生成树协议

(一) 生成树协议概述

现今, 大型企业的局域网结构一般划分为接入层、汇聚层和核心层。其中, 汇聚层设备和核心层设备之间一般采用三层路由协议互联, 考虑到接入层设备较多, 难以每个接入层设备单独划分一个子网, 因此汇聚层和接入层一般采用二层互联。为了避免接入层设备上行链路的单点故障, 一般每个接入层设备需要上联两个汇聚层设备, 从而在两台汇聚层设备以及该台接入层设备之间组成二层环路。由于二层对于未知的单播、多播和广播数据包采取泛洪的方式, 而且没有三层中的TTL超时机制, 因而二层环路造成MAC地址翻滚和广播风暴等现象。而生成树协议的功能是根据一定的规则, 阻塞特定交换机上的特定端口, 逻辑上形成了一棵树, 避免了二层环路。

(二) 各种生成树协议的异同

STP (802.1D) 协议最早被提出, 其思想是首先给予每台交换机分配角色——根交换机或者非根交换机, 然后给予每个端口分配角色——根端口和指定端口, 非根端口或者指定端口为阻塞端口, 不能转发数据包, 从而形成以根交换机为根的一棵树。STP协议的缺点是收敛速度慢, 例如接入层交换机上联其中一台汇聚层交换机的端口不可用后, 至少需要30秒才能启用上联另一台汇聚层交换机的阻塞端口。

为了改进STP协议收敛速度慢的缺点, 提出了RSTP (802.1W) 协议。增加了替换端口和备用端口两种角色, 提出了边缘端口、点对点链路之间快速收敛等增加收敛时间的特性。以接入层交换机上联其中一台汇聚层交换机的端口不可用为例, 如果接入层交换机与汇聚层交换机之间是点对点链路, 一般在几秒内可以启用上联另一台汇聚层交换机的阻塞端口。

STP和RSTP协议中没有VLAN的概念, 因此所有VLAN均对应一个生成树, 造成端口利用率低和流量难以均衡的现象。CISCO提出了PVST和PVST+协议, 即每VLAN一个生成树, 可以实现VLAN在不同链路上传输, 从而实现负载均衡。但是由于每VLAN一个生成树, 如局域网中VLAN数量经过多, 将会导致生成树实例过多, 从而导致链路上的BPDU数据包过多, 占用了一定的交换机内存和链路带宽。

为了改进PVST和PVST+协议的缺点, 提出了MSTP (802.1S) 协议。MSTP将一组VLAN映射至一个MSTI生成树, 而多个MSTI生成树的拓扑可以不一致。MSTP还可以通过CST实现多个MST区域互联、MST区域与普通STP区域互联的特性。

三、不同生成树协议互联

鉴于生成树协议的多样性, 不同品牌、甚至同一品牌不同型号的交换机支持的生成树协议不同。它们之间如选择不同, 甚至相同的协议互联时, 如不仔细分析互联背后的原理, 可能会导致环路等问题的产生, 因此需要对不同生成树协议互联进行分析和设计。以所在单位以及下属地市级单位的网络为例, 根据汇聚层和接入层使用的不同的设备组合, 一般可以分为以下3种互联结构。

(一) 不同品牌交换机MSTP协议互联

以部分地市级单位为例, 其汇聚层采用的是H3C的75系列交换机, 默认使用的生成树协议是MSTP, 其接入层采用的是CISCO的2960或者3550系列交换机, 默认使用的生成树协议是PVST+, 2960可以支持MSTP, 3550需要升级IOS才能支持MSTP。

互联时, 将2960和3550交换机更改为MSTP, 全网均运行MSTP协议。但是由于CISCO实现的MSTP协议为非标准的协议, 其MSTP摘要与标准下的摘要不一致, H3C交换机不能识别, 因此在H3C交换机中, 需要在与CISCO互联的端口以及全局启用摘要侦听功能, 将CISCO发送的摘要先保存, 返回时再将保存的摘要发送给CISCO交换机。由于彼此不能识别各自的摘要, 因此配置时需要确保MST中设置的STP域名、STP修订版本号、VLAN与实例的映射关系等MST域的元素一致, 否则有可能导致部分VLAN形成回路。

该种结构下的网络拓扑如图1所示。

(二) MSTP与PVST+协议互联

根据汇聚层以及接入层所采用的协议不同, 分为两种场景。场景一是汇聚层采用PVST+, 接入层采用PVST+和MSTP;场景二是汇聚层采用MSTP, 接入层采用MSTP和PVST+。

1.MSTP与PVST+互联场景一

以所在单位网络为例, 其汇聚层采用CISCO 6509交换机, 默认使用的生成树协议是PVST+, 其接入层大多采用CISCO2960和3550交换机, 默认使用的也是PVST+, 部分接入层设备采用H3C的5500或者3100交换机, 默认使用的生成树协议是MSTP。

互联时, CISCO PVST+之间的通信不存在问题。对于H3C的接入交换机, 在默认配置下, 每台接入交换机各自组成一个独立的MST域, 该域以交换机的序列号作为域名的一部分, 保证了MST域的唯一性。由于MST域中只有一台设备, 没有必要针对MSTP做配置, 因此所有的VLAN均在MSTI 0中, 即IST实例中。通过该IST实例与CISCO的PVST+相连。由于CISCO在本征VLAN (Native VLAN) 上发送的是802.1D BPDU, 目标MAC地址是标准的IEEE MAC多播地址, MSTP可以识别, 而其余VLAN上发送的是PVST+BPDU, 目标MAC地址是CISCO专用的SSTP多播地址, MSTP不能识别。根据上述的理论分析, 以及对所在单位的网络上的生成树实例的观察, MSTP中的IST可以与PVST+的本征VLAN (默认是VLAN1) 所在的生成树互联, 在该种互联结构中, IST实例中连接VLAN1所在主根的汇聚交换机的端口为根端口, 另一端口作为阻塞端口。

该种结构下的网络拓扑如图2所示。

2.MSTP与PVST+互联场景二

以部分地市级单位为例, 其汇聚层采用H3C的75系列交换机, 默认使用的生成树协议是MSTP, 其接入层大多采用CISCO的2960交换机, 使用的是MSTP协议, 与汇聚层的互联与场景一中的相同。其余采用CISCO的2950和1900交换机, 不支持MSTP协议, 但是支持PVST+协议。

由于CISCO在非本征VLAN上发送的是PVST+BPDU, 目标MAC地址是CISCO专用的SSTP多播地址, 汇聚交换机将其当作未知的多播地址予以泛洪, 因此各台2950和1900交换机在非本征VLAN上组成私有的生成树域, 自行选取根桥。如不妥善设计优先级, 可能选取性能较低的交换机作为根桥, 导致与原有设计不一致并引起性能问题。以两台1900交换机为例, 在其非本征VLAN上跨越MSTP域的生成树结构如图3所示。

为了避免该种情况, 一是将接入交换机断开双线连接, 从而切断物理环路, 并在该接入交换机上全局禁止STP运行;二是将接入交换机上的生成树协议转换为标准的STP (802.1D) 协议, MSTP可以与标准的STP互联互通, 但是H3C中与STP设备互联的端口将启用STP模式而非MSTP模式, 失去快速收敛和支持多VLAN负载均衡的特性, 该种结构下的网络拓扑与图1类似, 不再详细描述。

四、结论

以所在单位以及下属地市级单位的网络为例, 详细介绍了不同生成树协议之间互联的各种架构, 并阐述了各种架构背后的生成树理论, 有效避免了不同生成树协议之间互联时可能会导致环路或者拓扑与预期不符等问题的产生, 从而有助于提高整个局域网的可靠性。

参考文献

[1]Amir Ranjbar著.夏俊杰译.CCNP TSHOOT (642-832) 学习指南[M].人民邮电出版社, 2010.11.

[2]王炅, 张华, 谢储晖.生成树协议的算法分析[J].重庆科技学院学报:自然科学版, 2011.5.

[3]王丽娜, 程玲, 周俊萍.基于VLAN的生成树协议仿真[J].计算机与数字工程, 2010.6.

[4]Richard Froom, Balaji Sivasubramanian, Erum Frahim著.刘大伟, 张芳译.CCNP自学指南:组建Cisco多层交换网络 (BCMSN) (第三版) [M].人民邮电出版社, 2006.6.

生成树协议与交换网络环路的研究 篇2

二层的交换机的功能是转发数据, 通过相应的端口接受数据, 又通过相应的端口将数据转发出去。交换机缓存中有一个MAC地址表, 用以记录每一个端口对应的MAC地址。比如f0/1端口连接的PC1需要和f0/2端口上连接的PC2进行通信。PC1会在自己的ARP高级缓存中查找是否存有PC2的MAC地址, 如果有直接通过交换机建立连接, 便可直接和PC2进行通信进。如果PC1在自己的ARP高级缓存中没有查找到PC2的MAC地址, PC1会发送1个ARP请求给交换机端口f0/1, 交换机收到请求后, 如果交换机里没有PC1的相应信息, 交换机就会将数据帧中的源MAC地址与自己的端口相对应, 并将其写入MAC地址表中, 如果交换机缓存里没有PC2的MAC地址, 交换机就会将ARP包转发给自己的所有端口, 在交换机网络中所有的PC机都能够收到这个ARP请求, PC机收到ARP包后将里面的目的IP地址和自己的IP地址相比较, 如果和自己的IP地址不一致就会将包丢弃, 如果和自己的IP地址一致, 则会将自己的MAC地址填入到ARP数据包中, 发送ARP响应分组, 转发给交换机的端口f0/2, 交换机将PC2的MAC地址与端口信息填入到自己的MAC地址表中, 并将ARP响应分组转发给PC1, PC1收到响应分组后, 将PC2的MAC添加到自己的缓存中, 此时PC1与PC2便建立起连接, 可以直接通信了。这是没有环路的交换网之间的通信。但是如果网络拓扑如图1出现的情况, 如果没有启用生成树协议, 肯定会出现环路。

如图1, 是一个具有冗余功能的交换网络, PC1要和PC2进行通信, PC1发出数据帧通过交换机S1的f0/1转发给S2再转发给S3, 还会通过交换机S1的f0/2端口直接发给S3, 这样就会有两条链路进行通信, 由于此时交换机的MAC地址表还未建立, 数据帧就会以广播的形式发送到交换机的所有其它端口。交换机S2收到数据帧就会沿的f0/2端口将数据帧发送给交换机S3, 交换机S2也会数据帧沿的f0/1端口将数据帧发送回交换机S1。S3收到数据帧通过f0/1发送给S1, 还会通过f0/2将数据帧发送回S2。然后被交换机再次转发, 这样就造成同一数据帧在三个交换机之间的不停地转发, 最终将网络资源耗尽, 形成了广播风暴。

2 生成树协议 (STP)

生成树协议 (STP) 是二层启用的协议, 目的是在引入冗余功能的交换网络时, 防止出现环路和重复帧的问题, 预防广播风暴。STP的工作原理是:为了使交换网络有且只有一条最优路径来进行通信, 对于其它冗余链路的端口进行阻塞, 这样交换网络中只有一条无环链路到达目的地。对端口进行阻塞, 是阻止数据帧进入或离开, 端口的这种状态叫做阻塞状态。冗余路径的端口处于阻塞状态是防止网络环路非常用的方法。被阻塞的冗余路径仍然存在, 只是处于阻塞, 如果交换网络中正在使用的电缆或交换机发生故障而无法正常运行, 那么生成树协议就会重新计算路径, 冗余路径中阻塞端口从学习到活动状态, 这时冗余链路的作用就体现出来了。

3 生成树算法的实现过程

生成树协议启用时, 交换机之间传输一种特殊的消息, 称为网桥协议数据单元 (BPDU) 。BPDU在网络中起到的作用如下:①在整个交换网络中选举一个交换机作为根交换机 (Root Bridge) 。②在每一个交换机上计算出一条最优路径到达跟交换机。③直接和跟交换机相连的端口为根端口 (Root Port) 。④跟交换机上的端口为指定端口。⑤其它的端口就要通过选举确定为指定端口或非指定端口。

STA是生成树算法, 在具有冗余功能的交换网络中, 为了防止环路的形成, 就要将交换机端口配置为阻塞状态。在交换机刚开始加载的时候, 所有的交换机的都不知道其它交换机的优先级是多少, 都把自己视为跟桥, 把每个端口都作为指定端口, 都是处于开启的状态。在交换网络中所有的交换机启动后每2秒发送一次BPDU帧 (BPDU帧中hello计时器的默认值是2秒) , 送出的BPDU帧中将自己的BID作为根ID, 和其它交换机相互比较, 用以确定网络中哪台交换机的网桥ID (BID) 最小, BID最小作为跟桥。每台交换机都有BID、根ID以及到根桥的路径开销的本地信息, 交换机收到BPDU帧, 将BPDU帧内的ID与本地根ID比较, 如果优先级都相同的情况下, MAC地址最小的作为跟桥, 如果BPDU中的本地根ID优先级比根ID比更小, 就会丢弃收到的BPDU帧, 本地信息不发生改变, 如果BPDU中的本地根ID优先级比根ID比更大, 交换机更新本地根自己的信息, 并将更新后的BPDU消息到其它交换上。在经过一轮的选举后, 交换网络就会选举产生根交换机, 指定交换机和交换机的指定端口和根端口都会随之产生, 路径到跟交换机最远的端口为作为非指定端口, 处于阻塞状态。如果存在两个端口到跟交换机路径相同的情况时, 可以比较端口的优先级, 优先级低的作为指定端口, 处于活动状态, 优先级高的端口则作为非指定端口, 处于阻塞状态。如果一个交换机的端口既不是根端口, 也不是指定端口, 则该端口被阻塞。作为网络的根交换机, 要定时向外发送配置BPDU, 以维持自己作为跟桥的信息, 其它交换机通过根端口接收跟桥发来的BPDU, 然后通过指定端口向下一级发送该配置BPDU。

摘要:在交换网络中为了防止因单点故障导致交换网络无法正常运行, 采用冗余的方式便可防止网络因单个故障 (比如网络电缆或交换机故障) 而无法运行。但是随之也会出现问题, 为交换网络提供冗余链路时形成的环路会在交换网络形成广播风暴。由于现在对网络稳定性要求越来越高, 交换网络的冗余链路是必须具备的。因此对具有冗余功能的链路采用生成树协议便可防止环路的形成。在交换网络中启用生成树协议不仅可以避免环路对网络造成影响, 而且还保障了交换网络的可靠性。

协议分析树 篇3

事故树分析法 (Fault Tree Analysis (FTA) ) 也被称作故障树分析, 是以顶上事件为起点反推原因的分析方法。此方法将特定的事故或者故障逐层剥离原因, 并将相关过程和原因用逻辑门符号连接, 从而得出最终原因。

HAZOP (Hazard and operability analysis, 危险与可操作性分析) :通过使用“引导词”分析工艺过程中偏离正常工况的各种情形, 从而发现危害源和操作问题的一种系统性方法。

在实际生产过程中, 不论是对已发生事件还是需要评估的生产系统, 各种分析方法都有着各自的应用长处, 本文以实例, 通过概率分析将对各种方法进行对比。

1 初始案例

假设的溶剂缓冲罐流程简图见图1所示。在生产过程中, 溶剂罐可能出现鼓胀破裂和向内变形的事故。应用工业统计数据进行计算, 得出相关的最终近似概率数据。

1.1 系统的HAZOP分析

系统HAZOP分析见表1。

1.2 脱硫醇系统失效的ETA分析

通过以下事件树可以得出相对概率结论, 图2为脱硫醇系统失效的ETA分析。

1.3 结论

1) 负压危害比正压高压力危害可能性大;

2) 溶剂罐内变形和内变形开裂处于高危险状态;

3) 高压力导致的恶臭气体投诉和溶剂罐变形及开裂均处于高概率状态。

1.4 溶剂罐超压开裂风险事故树分析

如图3所示, 负压变形开裂情况不再赘述。

其它ETA数据分析不再赘述。通过ETA分析, 获得HAZOP概率统计见表2;

分析概率数据统计见表3。由此得出溶剂罐超压开裂概率约为0.1次/年。

内变形开裂的概率约为0.25次/年。两种状态均属于高概率范围。

1.5 各种方法的对比

由此看出, 虽然ETA与FTA分析方法赋值相同, 但是因为逻辑分布方向是不同的, 最后的近似计算数据也会有所偏差。HAZOP一般进行定性分析, 半定量分析的HAZOP通常与ETA、LOPA数据接近, 或者直接使用ETA、LOPA数据。

本文列举的是工业生产的近似计算数据, 对于设计中所追求的精确计算, 不论是低要求操作模式还是高要求操作模式, 都应使用IEC61508标准要求的计算方法进行推导。

2 实际的流程改动案例

针对溶剂罐正、负压两种情况的变形, 做以下低成本设计改动 (图3) :增加氮气补压系统, 增加水封气支路引入其它水封, 关闭放空阀。

ETA结合HAZOP分析结果见表4:

FTA计算结果:溶剂罐超压开裂概率约为0.087 25次/年, 内变形开裂的概率约为0.008 75次/年。

从ETA和FTA分析数据可以看出, 溶剂罐超压开裂风险依然较高。溶剂罐负压过低变形和变形开裂的总概率值也较高。

3 其它方案设计

以下是另外预想的高成本设计方案简图 (图5) , 通过分析, 得出以下结果:

1) 压力控制系统PIC1失效造成超压的概率为2.5×10-6/年;

2) 脱硫醇系统失效造成超压的概率为5.0×10-6/年;

3) 因联锁系统UC1失效关闭导致过负压的概率为2.5×10-6/年;

4) 水封失效造成过负压概率为2.5×10-7/年。

三种设计对比分析:

不同的设计有着不同的安全级别, 通过增加基础控制系统和安全仪表功能能有效提供相对可靠的基础。同时, 不同设计发生的成本也会有所不同。如何选择设计方案, 仍需要企业或者工厂根据自己的实际需求确定。

4 结论

HAZOP、ETA、FTA均是常用的安全评估方法, 有着各自的特点和方向。HAZOP简单、条理清晰、适用和易于掌握, 但风险评估较为简单;同为半定量分析的ETA, 分析条理清晰, 易于进行概率预估, 也有一定的可比较性, 对于单独问题的分析, ETA有非常大的优势, 但分析较大的系统则需要诸如HAZOP、FMEA这类方法作基础支持, 否则分析量会很大;FTA方法较为复杂, 适用于较为复杂的分析环境, 不过工作量大, 在大规模过程控制流程中, 需要花费非常大的成本, 才能完成相关的评估。

HAZOP、ETA所产生的概率是相对数据, 无法与其他企业或者工厂进行对比, 概率的统计也受到工厂自身的限制, 各类标准数据不能完全替代工厂自身数据, 在有些环境中数据还需要评估专家组进行校正。另外, 对于需要进行安全完整性等级评估的系统, 应使用合理的计算公式对不同数量的保护层进行概率计算, 获得准确数值。以上所述概率的获取必须符合IEC61508和IEC61511标准的要求。如果有条件, 可以通过可靠性参数的叶贝斯分析来对比最终数据的理想程度。

HAZOP、ETA、FTA均完全能够适用于实际生产, 合理的逻辑布局和分层分析将会获得相对准确的评估结果。

参考文献

[1]周建方, 唐椿炎, 许智勇.事件树、故障树、决策树与贝叶斯网络[J].河海大学学报 (自然科学版) , 2009, 37 (3) :107-111.

[2]罗云, 等.风险分析与安全评价[M].北京:化学工业出版社, 2010.

[3]罗桦槟, 张世英.事件树方法的贝叶斯分析[J].系统工程与电子技术, 1999, 21 (9) :79-81.

[4]白永忠, 张广文, 万古军.《危险与可操作性分析 (HAZOP分析) 应用导则》解读[J].现代职业安全, 2011, (12) :36-39.

上一篇:肾穿刺术下一篇:数学学习方法点拨