STP–生成树协议

由于冗余备份的需要,在一个复杂的网络结构中,难免会出现环路。

生成树协议STP可以将一个环形网络修剪为一个无环的树形网络,可以避免形成环路,导致广播风暴。

原理

在网络刚开始运行阶段,所有交换机都会从所有端口发送BPDU报文,大家都认为自己是根桥,随着BPDU报文的泛洪和收集,根据BPDU中包含的信息,选举唯一根桥。在此之后,根桥以默认2s为周期广播BPDU报文,所有非根桥从自己的根端口收到BPDU报文,再从自己的指定端口产生BPDU报文发出去。被阻塞的非指定端口会源源不断的收到链路上的BPDU报文并一直侦听,当在一定时间内没有收到BPDU报文时,则认为链路出现了故障,开始进入新的收敛阶段。

原理解释

相关概念

根桥

树形网络结构必须有树根,根桥就是树根,根桥有且只有一个。

  • 选举规则:

    ​ - 比较桥ID,先比较优先级,再比较MAC地址,小的优先。

桥ID–Bridge ID

一个交换机设备在STP协议中的编号ID。

桥ID = 桥优先级(2个字节) + 桥MAC地址(6个字节)

桥ID最小的被选举为根桥。默认32768

RID–Root ID

根桥的桥ID

COST OF PAHT

路径开销。选择链路时的参考值,优先选择开销较小的路径。

PID–port ID

PID = 端口优先级(4bit) + 端口号(12bit)

在选择指定端口时,当路径开销与BID都相同时比较PID,优先选择PID小的。

端口

根端口–RP

非根桥上离根桥开销最小的端口。一个非根桥上只有一个根端口。

指定端口–DP

每条链路上去往根桥开销最小的端口称为指定端口。

  • 选举规则

    1. 开销小优先
    2. BPDU报文发送者的桥ID小的优先
    3. BPDU报文发送者的PID小的优先
    4. BPDU报文接收者的PID小的优先

BPDU报文

选举规则

  1. 选根桥
  2. 每个非根桥上选举一个根端口
  3. 每条链路上选举一个指定端口。根桥的所有端口都是指定端口
  4. 既不是根端口,也不是指定端口的其他端口被阻塞。

端口状态

BPDU报文的两种类型

  • Configuratoin BPDU:健康网络中的配置BPDU(主要)
  • TCN BPDU:下游向上游发送的拓扑变化通知BPDU。
    • TCN BPDU报文只能由非根桥发出,通告给根桥。
    • TCA BPDU报文是用于确认接收到TCN BPDU报文,
    • TC BPDU报文由根桥发送,连续发送35s,非根桥收到TC BPDU报文后会将MAC地址的老化时间设为15s,加速老化。

拓扑变化:

  1. 如果非根桥上发生拓扑变化,向根桥发送TCN BPDU包,通告根桥拓扑已改变。
  2. 上联的非根桥从指定端口收到TCN BPDU包后,会向发送者回复TCA flag位置位的配置BPDU包,同时继续向根桥发送TCN BPDU包。
  3. 根桥收到TCN BPDU包后,向发送者回复TCA Flag位置位的配置BPDU包,同时向所有指定端口发送TC Flag位置位的配置BPDU包。TC置位的配置BPDU包会连续发送35s,同时将自己的MAC aging 设置为15s。
  4. 其他非根桥收到TC置位的配置BPDU包后,将自己的MAC地址的老化时间设置为15s,加速老化。

触发拓扑变化条件:

  1. 一个端口从forwarding状态过渡到disable或blocking状态。
  2. 一个非根桥如果从指定端口接收到TCN BPDU包,需要向根桥发TCN BPDU包。
  3. 一个端口进入转发状态,并且本地已存在一个指定端口。

生成树协议的比较

RSTP能够在大约1分钟内恢复连接,并进行快速收敛。

原理:为交换机上的不同端口分配端口角色,在出现故障后,交换机之间实施明确的握手协议,完成快速收敛。

端口角色:

root port,

designated port,

alternative port,

backupport.

配置

portfast一般用在接入终端设备上,使其立即进入转发状态。

bpdu guard用在防止交换机接入到portfast端口。影响原来的树结构。

root guard防止新接入的交换机抢占根桥,改变树结构。stp都是具有抢占性的。

CCNP总结--STP相关推荐

  1. 《CCNP TSHOOT 300-135认证考试指南》——5.4节STP故障检测与排除

    本节书摘来自异步社区<CCNP TSHOOT 300-135认证考试指南>一书中的第5章,第5.4节STP故障检测与排除,作者 [加]Raymond Lacoste , [美]Kevin ...

  2. CCNP交换实验(3) -- STP

    enable 转载于:https://www.cnblogs.com/thlzhf/p/3258495.html

  3. 《CCNP TSHOOT 300-135认证考试指南》——5.1节“我已经知道了吗?”测试题

    本节书摘来自异步社区<CCNP TSHOOT 300-135认证考试指南>一书中的第5章,第5.1节"我已经知道了吗?"测试题,作者 [加]Raymond Lacost ...

  4. CCNP视频教程下载全集

    为旧版本的CCNP教程,CHINALAB版本,学习新的旧的也得看看哦, 不要光下载忘记顶顶哦,注意用迅雷集群下载 [url]http://down.315safe.com:3389/BCMSN_040 ...

  5. 《CCNP TSHOOT 300-135认证考试指南》——5.10节定义关键术语

    本节书摘来自异步社区<CCNP TSHOOT 300-135认证考试指南>一书中的第5章,第5.10节定义关键术语,作者 [加]Raymond Lacoste , [美]Kevin Wal ...

  6. CCNP Switching (300-115) Cert Prep: 1 Layer 2 Technologies CCNP交换(300-115)证书准备:1层2技术 Lynda课程中文字幕

    CCNP Switching (300-115) Cert Prep: 1 Layer 2 Technologies 中文字幕 CCNP交换(300-115)证书准备:1层2技术 中文字幕CCNP S ...

  7. 思科ccnp认证网络工程师VLAN攻击概述你必须要知道

    思科ccnp认证网络工程师VLAN攻击概述你必须要知道,VLAN(Virtual Local Area Network)的中文名为"虚拟局域网".虚拟局域网(VLAN)是一组逻辑上 ...

  8. 视频教程-CCNP 思科认证网络工程师(美女讲师版)-思科认证

    CCNP 思科认证网络工程师(美女讲师版) 思科认证互联网讲师 ISP CCIE# 23996 思科认证讲师 CCSI# 34201 六年IT网络行业教学经验,熟悉网络工程相关业务的工作规范与应用需求 ...

  9. WOLFLAB CCNP交换技术-Rapid-pvst与MSTP实验配置需求与解析

    WOLFLAB CCNP交换技术-Rapid-pvst与MSTP实验配置需求与解析 需求描述 实验室交换机架登陆: Rack 99   192.168.9.99       Rack 98   192 ...

最新文章

  1. YYAsyncLayer 学习
  2. juggle dsl语法介绍及codegen浅析
  3. [51nod1384]全排列
  4. 深度理解Android InstantRun原理以及源码分析
  5. java 获取400的错误信息_获取400错误的请求Spring RestTemplate POST
  6. 简单说说Java程序和Android开发框架
  7. Day03『NLP打卡营』实践课3:使用预训练模型实现快递单信息抽取
  8. 关于TCP协议的大部分,面试常问的几点都在这理里了
  9. Android Studio小技巧
  10. 快捷键jdeveloper
  11. WebService可以远程调试调用
  12. Mbox vs Maildir - 两者原理和区别
  13. 关于int main(int argc,char* argv[])详解
  14. pcs7更改项目计算机名时出错,pcs7的C/S模式,从AS下装到OS或客户机项目时出错-工业支持中心-西门子中国...
  15. 阿丹学理财之资产配置
  16. 刷机入门 手把手教程
  17. 视频转GIF小工具,原生javascript + gif.js + canvas,自定义制作表情包
  18. SpringBoot如何防止重复提交--use
  19. 工业信息物理系统测试验证平台(ETest_CPS)
  20. vmware调整磁盘空间

热门文章

  1. ITextPDF填写模板,部分中文丢失,如“小葵花妈妈课堂”,剩余“小葵花堂”
  2. SpringBoot + zip4j 实现多文件批量下载并压缩
  3. jsp接收到controller传来的list集合 怎么把list集合里的值添加到动态生成的下拉列表,求救。。。。急急急
  4. DS_2010_选择
  5. 企业微信中如何开启远程协助
  6. 大数据揭秘:为何“优衣库+KAWS=全民疯抢”?
  7. 同花顺2015校园招聘笔试题
  8. CGI与ECGI组成介绍
  9. 2021-TRN2-J
  10. 在大厂月薪35K-60K的程序员,和15-25K的程序员差别在哪里?