STP工作原理 - kummer话你知

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STP工作原理 - kummer话你知相关的知识,希望对你有一定的参考价值。

参考技术A

生成树协议(Spanning-Tree Protocol,以下简称STP)是一个用于在局域网中消除环路的协议。运行该协议的交换机通过彼此交互信息而发现网络中的环路,并适当对某些端口进行阻塞以消除环路。由于局域网规模的不断增长,STP已经成为了当前最重要的局域网协议之一。

环路导致网络报文风暴:
由于在二层网络中,广播,组播,未知单播都采用了泛洪的方式,如果网络中存在环路,会导致报文无限复制,直到最终网络崩溃。

环路导致MAC表震荡
如上图,在报文复制的过程中,SwitchB会发现PC1的报文一会儿从上面接口收到,一会儿从下面接口收到,反复震荡,导致MAC表不稳定。
即使是已知单播,也可能会导致问题,如下图:

下图是一个有环路的网络演示例子,我们看看STP如何在这个网络中计算出一个生成树,并将会导致环路的链路阻塞。

我们看看根端口RP和指定端口DP的简单示例,对RP和DP有一个直观的认识。指定端口DP就是树中父节点上的端口,根端口RP就是树中子节点上的端口。

看看完整的示例,包括根端口RP,指定端口DP和可选端口AP。STP通过关闭AP端口的转发功能,将物理上的网状拓扑,转变为逻辑上的树状拓扑。从而消除网络环路。

在整个网络消除环路,稳定后,应该处于这样一种状态

拓扑变化后的响应

*---
*---

要实现STP功能,网桥之间必须要进行一些信息的交互,这些信息交互单元就称为配置消息BPDU(BridgeProtocolDataUnit)。STPBPDU是一种二层报文,目的MAC是多播地址01-80-C2-00-00-00,所有支持STP协议的网桥都会接收并处理收到的BPDU报文。该报文的数据区里携带了用于生成树计算的所有有用信息。具体如下:

在BPDU中,最核心的字段是根桥ID,跟路径成本,发送网桥ID,端口ID四个字段。这四个字段组成四元组,用来比较两个BPDU的“好坏”。四元组越小,说明越好。
注:发送网桥ID,端口ID仅仅在路径成本相同时发挥作用

1. 初始状态,自立山头: ,虽然A的BID最小,但初始状态还没有互通信息,各自自立山头,此时正确的树上仅有孤零零的一个根节点。

2. 发现强者,归顺强者: 通过BPDU的对外通告,树逐渐向外生长,收复C和D两个节点,但B节点还不再王化之内。

3. 通告全网,天下归心: 随着根桥的势力范围扩大,已归顺节点(如图中的C和D)也帮着A对外宣传根桥是A,最终该信息传遍全网,天下归心,大家都臣服在A的STP树下。至此,全网就有了一个统一的根,即BID最小的A。

整个网络的破环与剪枝过程与选举根桥过程类似,都是从根桥出发,这棵树逐步向外生长,直到最后长满整个网络。
1. 天地初开,一片混沌: 此时正确的树上仅一个跟节点,其他节点的信息都是错误或不可信的。

2. 树开始向外“生长”: 离根最近的交换机首先收到根节点的召唤(根节点会发送“最优”的BPDU),加入到树上来。产生了正确的RP,DP信息。

3. 树“生长”至整个网络: 随着树的进一步生长,节点一个接一个的加入到树上来(通过向外发布“更好”的BPDU吸引其他节点加入)。最终遍布整个网络,形成了一颗全网的STP树。

与拓扑变化后的收敛密切相关的几个基本概念:
1. 端口状态机
STP交换机端口一共有五个状态:

2.几个相关定时器

3. 拓扑变化后重新收敛需要解决那些问题

解决方法: 其实重新生成STP树没有什么特别的,其过程与初始收敛过程完全相同。
有一点需要说明的是:如果DR端口down了,或者根桥down了,需要等待MaxAge时间,
到了MAXAge时间后,通过BPDU的老化机制将无效BPDU删除,并重新尝试生成新的BPDU。

![Uploading Paste_Image_518231.png . . .]

解决方法: 为了尽快恢复流量转发,STP引入了变更通知和应答消息
在常规 STP 操作中,网桥一直从其根端口上的根网桥接收配置 BPDU。但是,它从未派出BPDU往根网桥。为此,引入了称为拓扑更改通知 (TCN) BPDU 的特殊 BPDU。因此,当网桥需要对拓扑更改发出信号时,它开始在其根端口上发送 TCN。指定的网桥接收并确认 TCN,还为自己的根端口生成另一个 TCN。此过程将一直持续,直到 TCN 发现根网桥为止。
TCN 是非常简单的 BPDU,不包含网桥每 hello_time 秒(这是本地配置的 hello_time,不是配置 BPDU 中指定的 hello_time)发送的任何信息。指定的网桥通过立即发回设置了拓扑更改确认 (TCA) 位的正常配置 BPDU 来确认 TCN。通知拓扑更改的网桥不停地发送其 TCN,直到指定的网桥确认它为止。因此,指定的网桥将应答 TCN,即使不从其根网桥接收配置 BPDU 也是如此。

将事件广播到网络
只要根网桥得知网络中有拓扑更改事件,就会开始发送设置了拓扑更改 (TC) 位的配置 BPDU。这些 BPDU 将由网络中设置了此位的每个网桥转发。因此,所有网桥都注意到拓扑更改情况,并可以将其老化时间缩短到 forward_delay。网桥在转发和阻塞端口上接收拓扑更改 BPDU。
TC 位在 max_age + forward_delay 秒(默认情况下为 20+15=35 秒)内由根网桥设置。

1.网桥至少有一个指定端口,并且某端口从其他(Blocking、Listening、Learning)状态转到Forwading状态。
2.某端口由Forwading、Learning状态转到Blocking状态。

Cisco:网络拓扑变化
STP与RSTP的比较

AIOps话你知

Gartner发起的2018年度CIO调查中,三千余名CIO均把数字化业务和数字化转型作为业务工作的重点。越来越多的大型企业将大数据、人工智能技术应用于IT管理,因此AIOps在业内引起了很大的关注。


 

AIOps是什么

 

AIOps的概念由Gartner在2016年提出,在《Market Guide for AIOps Platforms》报告中作出如下定义:AIOps即AlgorithmicIT Operations,AIOps平台是结合大数据、人工智能或机器学习功能的软件系统,用以增强和部分取代广泛应用的现有IT运维流程和事务,包括可用性和性能监控、事件关联和分析、IT服务管理以及运维自动化。


国内清华大学裴丹教授将AIOps解释为Artificial Intelligence for IT Operations,即将人工智能应用于运维领域,目标是基于已有的运维数据(日志、监控信息、应用信息等),通过机器学习的方式来进一步解决自动化运维所未能解决的问题。目前在国内外顶尖互联网公司得到了应用,且其前景被业内所一致看好。



从人工运维,到依赖于人为指定规则的自动化运维,再到,展现了运维管理工作不断演化升级的过程。如果说DevOps强调开发与运营的紧密结合,那么AIOps就是DevOps在运维侧的高阶实现。


AlOps可以不依赖于人为指定的规则,主张由机器学习算法自动地从海量运维数据中不断地学习,不断地提炼并总结规则。相当于在自动化运维的基础上,安装了一个人工智能大脑,指挥监测系统采集决策所需数据,基于数据做出分析与决策,并指挥自动化脚本去执行该决策,涵盖IT监控、应用性能管理、外网监控、日志分析,系统安全等方面。


AIOps始终聚焦于“运维”这个核心词,其目标是“利用大数据、机器学习和其他分析技术,通过预防预测、个性化和动态分析,直接和间接增强IT业务的相关技术能力,实现所维护产品或服务的更高质量、合理成本及高效支撑”。市场上的相关产品也是围绕这个目标、由运维部门主导的。


 

现阶段AIOps的发展:重在落地

 

据Gartner预测,至2020年,将近50%的企业会在业务和IT运维方面采用AIOps,这一比例远远高于今天的10%,AIOps将会在未来2、3年中进入高速发展阶段。


立足于AIOps,IT部门可以获得强大的自动化IT决策和运营管理能力,并能对业务质量和用户体验进行准确检测和持续优化。但理想与现实之间往往存在着一定的差距,目前阶段的AIOps可以理解为:通过深度整合IT数据资源与运维的实际场景进行深度集成的,同时结合了大数据以及机器学习技术,以多种维度和分析场景为展现的智能辅助分析平台。


当前阶段的AIOps平台主要适用于中大型客户,并需要构建者在行业领域相关知识、对应行业运维场景知识和机器学习相关知识上具有一定的储备。



,成为行业标准的制定者之一。在AIOps实践方面,苏宁自主研发的“云穆立体式智能监控平台”已经走在了前面,它能够为用户提供从系统监控、问题定位、实时告警到决策分析、故障自愈的一站式解决方案。


(推送内容和图片源自互联网,部分内容有所改动。)



以上是关于STP工作原理 - kummer话你知的主要内容,如果未能解决你的问题,请参考以下文章

AIOps话你知

STP的工作原理和配置(学习笔记)

STP的工作原理和配置(学习笔记)

RSTP原理

STP原理详解及SMTP案例分析

STP的作用是啥