注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

预防网桥网络风暴的协议:stp  

2014-09-06 19:43:19|  分类: linux路由系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
stp协议新应用介绍:
       传统上,我们有了bridge-util来利用linux高度各个网络接口。现在linux系统下又发布了openvswitch系统能够更好地处理各个物理端口流之间的数据流向(当然也级好地支持stp协议),这使得我们可以直接使用linux来管理生成交换机(linux-based switch)


         STP - Spanning Tree Protocol(生成树协议)逻辑上断开环路,防止二层网络的广播风暴的产生。当线路出现故障,断开的接口被激活,恢复通信,起备份线路的作用。

原理
STP的作用是通过阻断冗余链路,使一个有回路的桥接网络修剪成一个无回路的树形拓扑结构

算法
STP将一个环形网络生成无环拓朴的步骤:

选择根桥(Root Bridge)
选择根端口(Root Ports)
选择指定端口(Designated Ports)

选择根网桥的依据
网桥ID(BID)
网桥ID是唯一的,交换机之间选择BID值最小的交换机作为网络中的根网桥

选择根网桥举例
根据网桥ID选择根网桥
选择根端口的依据
在非根网桥上选择一个到根网桥最近的端口作为根端口

选择根端口的依据是:
根路径成本最低
直连(上游)的网桥ID最小
端口(上游)ID最小
根路径成本
根路径成本(开销)-是网桥到根网桥的路径上所有链路的成本之和,默认10M/100M自适应的路径开销为200000
选择根端口举例
在非根桥上, 选择一个根端口(RP)
选择指定端口的依据
在每个网段上,选择1个指定端口
根桥上的端口全是指定端口
非根桥上的指定端口:
根路径成本最低
端口所在的网桥的ID值较小
端口ID值较小
选择指定端口举例
在每个网段选择1个指定端口(DP)
STP计算结果
经过STP计算,最终的逻辑结构为无环拓朴
STP举例
经过STP计算后的逻辑拓朴
BPDU(桥协议数据单元)
交换机之间使用BPDU来交换STP信息
BPDU
Bridge Protocol Data Unit -桥协议数据单元
使用组播发送BPDU,组播地址为:
01-80-c2-00-00-00
BPDU分为2种类型:
配置BPDU - 用于生成树计算
拓朴变更通告(TCN)BPDU - 用于通告网络拓朴的变化
2BPDU包含的关键字段编辑
STP使用BPDU选择根网桥2-1
交换机启动时,假定自己是根网桥,在向外发送的BPDU中,根网桥ID字段填写自己的网桥ID
STP使用BPDU选择根网桥2-2
当接收到其他交换机发出的BPDU后,比较网桥ID,选择较小的添加到根网桥ID中
STP使用BPDU计算根路径成本2-1
根网桥发送根路径成本为0的BPDU
STP使用BPDU计算根路径成本2-2
其他交换机接收到根网桥的BPDU后,在根路径成本上添加接收接口的路径成本,然后转发
生成树端口的状态
生成树计时器
hello-timer :2s root每2s产生BPDU
forwarding-timer:15s stp选举时间
max-age:20s 储存BPDU的时间,spanning-tree发生故障,20s后原blocking状态->learning 状态
STP状态机
在STP选举过程中,端口是不能转发用户数据的。端口一开始处于阻塞状态,这个状态只能接收BPDU;
一个接口20秒没收到BPDU,也就是到了最大时间,端口会进入侦听状态,这时接口可以接收BPDU,并开始发送BPDU;
发送15秒的BPDU,接口将会为转发用户数据做准备,也开始学习MAC地址,这个状态叫学习状态;
再经过15秒的学习后,端口进入转发状态,转发状态是一个正常的接口。
spanning-tree设置
开启STP:
switchA(Config)#spanning-tree
MSTP is starting now, please wait...........
MSTP is enabled successfully.
spanning-tree设置
查看配置
SW1#sh spanning-tree
-- MSTP Bridge Config Info --
Standard : IEEE802.1s
Bridge MAC : 00:03:0f:01:0e:30
Bridge Times : Max Age 20, Hello Time 2, Forward Delay 15
Force Version: 3
########################### Instance 0 ###########################
Self Bridge Id : 32768 - 00:03:0f:01:0e:30
Root Id : 16384.00:03:0f:01:0f:52
Ext.RootPathCost : 200000
Region Root Id : this switch
Int.RootPathCost : 0
Root Port ID : 128.1
Current port list in Instance 0:
Ethernet0/0/1 Ethernet0/0/2 (Total 2)
PortName ID ExtRPC IntRPC State Role DsgBridge DsgPort
-------------- ------- --------- --------- --- ---- ------------------ -------
Ethernet0/0/1 128.001 0 0 FWD ROOT 16384.00030f010f52 128.007
Ethernet0/0/2 128.002 0 0 BLK ALTR 16384.00030f010f52 128.011
MSTP
用少量资源在网络中实现多个生成树
在多条Trunk链路上实现VLAN级负载均衡
MSTP配置
DCS (Config)# spanning-tree mst configuration
DCS (Config-Mstp-Region)#name mstp
DCS (Config-Mstp-Region)#instance 1 vlan 10
DCS (Config-Mstp-Region)#instance 2 vlan 20
DCS (Config-Mstp-Region)#exit
DCS (Config)# spanning-tree
MSTP is starting now, please wait...........
MSTP is enabled successfully.
改变生成树的形态
改变交换机优先级
switchB(Config)#spanning-tree mst 0 priority 28672
改变链路开销
switchA(config-Ethernet0/0/2 )#spanning-tree mst 1 cost 300000
改变端口优先级
switchA(Config-Ethernet0/0/2)#spanning-tree mst 0 port-priority 144
  评论这张
 
阅读(99)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017