网工笔记(二):STP生成树

在网络二层协议中,STP生成树应算是最难懂最能给网络制造麻烦的一位,可以说不经历过STP故障造成的网络崩溃也不算见过世面的网工。网络技术经历了那么多年的创新迭代,尽管有些新的技术架构号称可以无需使用STP,但我所接触到的顶级科技公司的数据中心网络依然会使用STP。值得一提的是在虚拟网络里,譬如说用NSX,的确是没有STP,但这是另外一个课题了。

今天我们来复习一下STP生成树,以下是本文的提纲。

  • 基本原理
  • STP中的报文BPDU
  • 根桥和根端口的选举
  • 拓扑的变更
  • STP的几种模式
  • 排错清单

 基本原理

 一般网络系统中都会搭建有多台的交换机,交换机之间会有冗余链路,STP的提出就是用来解决局域网(二层网络)中的环路问题的。二层上的报文是没有TTL的(就是说没有毁灭计时器),如果网络有环路,报文就会被反复传播最后造成二层网的风暴。 STP通过阻断一些端口,达到打破环路的目的,从而让整个网络拓扑逻辑上成为一个树状结构。

STP生成树的生成过程大概如下:

  1. 选举根桥(Root Bridge)-- 根桥交换机位于整个逻辑树的根部,并由此确定那些交换机处于下游。
  2. 选举根端口(Root Port)-- 一旦根桥确定,其他交换机会计算出自身的端口中那一个(并只有一个)端口去往根桥的路径,并以该端口为根端口。
  3. 选举指定端口(Designated Port) -- 交换机用于转发BPDU(STP报文)的端口, 每个网段有且只能有一个指定端口。
  4. 阻断端口(Blocking Port),阻断一些端口达到断开环路的目的。

特别指出的是在根桥上的所有端口都是指定端口。

This diagram comes from Cisco Book ENCOR350-401[1]  

上图是从书ENCOR350-401[1]引用而来,它很好的展示了STP各种端口的状况,DP指的就是Designated Port, RP为Root Port。从上图可见,designated port一般都连着root port, 其对应连着的交换机为处于下游的交换机。

STP中的报文BPDU

在STP协议中发送的报文叫Bridge Protocol Data Unit, 简称为BPDU。根桥根端口的选举都依赖于交换机之间发送的BPDU报文,可以说局域网生成树的建立和维持都要使用BPDU报文。BPDU报文的类型有两种:

  1. Configuration BPDU -- 这类报文用于确定根桥,根端口,指定端口和阻断端口。
  2. Topology change notification (TCN) BPDU -- 这类报文用于交换机之间通知拓扑发生了变更。拓扑变更是常见现象,例如某一个交换机中原先连接的端口突然中断,TCN BPDU就会被发出。

在抓包时你能在BPDU报文中看到以下几个参数,后文会对这些参数进行解析:

  • Bridge ID -- 根桥ID。
  • Local bridge identifier -- 交换机自身的桥ID(交换机也被称作桥bridge)。
  • System  Priority -- 系统权重,在交换机上可配置的一个权重值,可用于影响根桥的计算。
  • root cost path -- 到根桥的距离。
  • System Extention ID -- 这个其实就是VLAN ID。 
  • Hello time -- BPDU报文发送的间距,默认值为2秒。

BPDU报

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值