【计算机网络安全技术】Day03-STP&RSTP

目录

一、STP 技术背景

1.1冗余带来环路,环路会导致

1.2如何解决环路带来的问题?

二、STP 定义

2.1STP的工作机制

2.1.1STP 术语:

2.2选举详细过程

2.3STP的端口状态机

2.4STP 计时器

2.5拓扑变更机制

2.6STP的基础配置


一、STP 技术背景

在网络中,为了防止单点故障的出现,会给链路和设备都做 冗余

1.1冗余带来环路,环路会导致

1.广播风暴
2.MAC地址表紊乱 【不稳定的MAC地址表/MAC地址表抖动】
3.交换机收到重复数据帧

  • 广播风暴

网络中如若存在二层环路,一旦出现广播数据帧,这些数据帧帧将被交换机不断进行泛洪,从而在网络中造成广播风暴。

广播风暴对网络的危害是非常大的,将严重消耗设备资源及网络带宽,最终导致网络瘫痪,是需要格外注意的问题。

  • MAC地址表紊乱

PC发送数据帧给Server;

SW3的MAC地址表中没有匹配目的MAC的表项,于是将数据帧进行泛洪;

SW1及SW2都会收到这个数据帧并学习源MAC,同时将数据帧进一步泛洪;

SW1及SW2又从自己另一个接口收到这个数据帧,于是MAC表又一次发生改变,如此往复。

1.2如何解决环路带来的问题?

STP既要有冗余,又要去除环路带来的危害------> 从逻辑上去 阻塞 一个端口。 当其余可用的链路出现故障的时候,能过自动化的启用这个被阻塞的端口,保证这个链路可用。

STP 的终极目标就是要找到那个被阻塞的接口。

二、STP 定义

Spanning Tree Protocol

找到阻塞的接口以后,最终网络就会出现一棵无环的树形。基于IEEE 802.1d

2.1STP的工作机制

STP协议如何找到那个被阻塞的接口的? 选举

1 在所有的交换机中,选出 根网桥

2 在所有的非根交换机上,选出一个 根端口

3 选出 指定端口

4 最后剩下的,既没有被选上根端口,也没有被选上阻塞端口的那个端口,就把它 阻塞 掉。

选举的过程,就是交换机彼此之间 相互传递自己信息的过程, 去比较自己信息的 优劣。

2.1.1STP 术语:

BPDU:

桥协议数据单元 : Bridge Protocol Data Unit

STP的正常工作依赖于BPDU报文的泛洪.

BPDU 报文:

选举使用的参数和选举规则:

Root ID : 如果交换机认为自己是根桥,就会在自己发送到BPDU的 Root ID这一栏,输入 优先级+MAC地址

根网桥ID: 优先级+MAC地址

选举过程:

2.2选举详细过程

1 在所有的交换机中,选出 根网桥

一开始,所有的交换机都会认为自己是根桥,相互发送BPDU, 它们会在 DBPU的 Root-id这个字段,填写上自己的BID[优先级和MAC地址],

先比较优先级,如果优先级相同,才比较MAC地址,越小越优先。

当选举出根桥以后,其他的就是非根桥,这些非根桥,就不再自己主动产生BPDU了,而是转发根桥产生的BPDU。

BID: 优先级 + MAC地址,越小越优先
优先级:默认是32768, 可以被设定的范围是:0-65535,但是只能被设置为 4096的倍数。  越小越优先
MAC地址是唯一的,不能被修改。

2 在所有的非根交换机上,选出一个根端口

每一台交换机,在自己的所有接口当中,只选出一个根端口。

比收到BPDU的 Cost值,【反过来就是:到达根桥的路径开销。】

如果Cost相同,则比较收到的BPDU中 Sender-BID字段,越小越优先

如果COST值也相同,则比较 Sender-PID:

Sender-PID : 发送BDPU报文的接口ID :
优先级+ 端口编号: 
优先级默认是  128,范围是 0 - 255

如果Sender PID也相同:

比较 交换机自身接口的PID【local pid】,越小越优先。

3 选出 指定端口

0 一般情况下,根端口对面的,都是指定端口。

1 在其他链路上,选举出指定端口:

1.1 比较 所在交换机到达根桥的开销

1.2 如果所在交换机,达到根桥的路径开销相同,比较所在交换机的 BID

1.3 如果所在交换机的BID也相同,则比较 各自端口的 PID

4 最后剩下的,既没有被选上根端口,也没有被选上阻塞端口的那个端口,就把它 阻塞 掉。

验证接口选举的角色:

# 查看STP的简要信息
display stp brief 

# Role
designate   指定
[SW4]display stp brief 
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   0    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
   0    GigabitEthernet0/0/3        DESI  FORWARDING      NONE

根桥 负责向外发送BPDU,其他非根交换机的根端口来接收BPDU, 所有的指定端口负责转发BPDU。

2.3STP的端口状态机

端口状态

行为

Disable

端口不仅不转发BPDU报文,也不转发用户流量。端口为DOWN

Blocking

只能接收BPDU,不能转发BPDU。也不能学习MAC地址,也不能转发数据。

Listening(要经历15s进入下一个状态)

完成选举的阶段,能够接收和转发BPDU,不能学习MAC地址,不能转发数据。

Learning(要经历15s进入下一个状态)

学习MAC地址的阶段,能够接收和转发DPDU,能够学习MAC地址,不能转发数据。

Forwarding

数据转发状态,能够接收和转发BPDU,能够学习MAC地址,也能够转发数据。

2.4STP 计时器

转发延时【Forward Delay】:

15s, 就是 从 Listening到 Learning,和从Learning到Forwarding需要等待的时间。

报文的Hello时间:

及成为根桥的交换机,发送BPDU的周期:2s一次。

最大存活期:

Blocked的端口,接收BPDU,要进行储存的最大时间,如果经历10个hello周期,Blocked端口依然没有收到来自于根桥的BPDU,这个端口要进入到Listing状态,再次参加选举。

2.5拓扑变更机制

当网络发生拓扑变更是,为了删除交换机中失效的MAC地址,交换机要更新自己的MAC地址表

1、当交换机发现拓扑变更,会从它的根端口发送一个TCN的BPTU【拓扑变更通知】

接收到TCN的交换机会从它的指定端口回复一个 TCN ACK报文,同时也从它的根端口发出TCN BPDU

3、最终TCN BPDU被根桥接收到,发送一个TC置位的BPDU,通知全网,网络中有拓扑变更

3.交换机接收到TC置位的BPDU,会将自己的MAC地址的老化时间调整位15s用以刷新自己的MAC地址表

2.6STP的基础配置

  • 启用生成树:
stp enable
交换机会运行生成树, 默认开启的

# 不启用生成树:
undo stp enable

[SW2]undo stp enable 
Warning: The global STP state will be changed. Continue? [Y/N]Y
  • STP mode
华为 3700 5700 交换机都默认开启了 STP的功能。
可以设置为三种形式
stp: 传统的 生成树协议
rstp: rapid  stp:  快速生成树,对stp做了一些机制的优化【主要从收敛速度方面】
mstp:  multiple stp, 基于stp,支持多个vlan的STP选举。

# 华为 x7系列交换机默认的STP模式为  MSTP
[SW1]stp mode ?
  mstp  Multiple Spanning Tree Protocol (MSTP) mode
  rstp  Rapid Spanning Tree Protocol (RSTP) mode
  stp   Spanning Tree Protocol (STP) mode
  • 交换机的优先级
[SW1]stp priority ?
  INTEGER<0-61440>  Bridge priority, in steps of 4096
  
  # 可以设置交换机的优先级,调整STP根桥的选举,只能被设置为 4096的倍数

根桥和次根桥
如果网络中交换机设备过多,可以设置主根桥和次根桥

  • 主根桥:优先级为0,选举的时候,必然会被选举为根桥
  • 次根桥:优先级设置为 4096, 当主根桥故障的时候,它会成为下一个根桥。
# 设置交换机成为主根桥
stp root  primary

# 设置交换机成为备根桥
stp root secondary

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值