[转载]交换机STP协议
注:之前做一个项目,测试部使用2个公司的交换机,H3C和H公司的,H公司的交换机是OEM H3C的交换机,正常来说两者使用没有区别。
但是使用中发现,如果设备的多个对外业务网口连接的交换机的聚合网口,启动过程中设备的业务网口尚未配置聚合,此时使用H3C交换机正常,但是使用H公司的交换机就出现网络风暴。
最后确认是因为H公司的交换机没有开启STP协议导致的回环。
交换机 STP 协议 (使用冗余交换机时,防止网络中出现环路造成广播风暴。Active/Standby 模式)
转自 http://sunxuewei.blog.51cto.com/902684/978573
需求:
在大型局域网中,为了维护网络的健壮性和可靠性,在核心层会采取多台设备进行冗余备份,而在汇聚层也会采取双归属或者环路来达到负载分担和冗余备份。因此在此类网络中从一点到达另一点可能会有多条路径可达。因而在报文转发时不可避免的会产生广播风暴。 STP的计算将错综复杂的物理网络整合成一棵逻辑转发树,将那些没有必要的链路阻塞。而当某些当前在用的链路发生故障时,又可以快速启用被阻塞的的链路来代替,保证网络的连通性。简单地说,想做冗余又怕环路所以用 STP 解决。
作用:
交换机内的生成树算法(STA)使你可以创建一条备用链路(当网络中存在多台交换机时)。在主链路正常工作时,备用链路处于空闲状态(不工作);只有在主链路出现问题时,备用链路才不需要任何人工干预自动地接替主链路。这种自动重构的功能,使得网络上的用户能够最大限度地与网络保持正常的连接。
STP协议在逻辑上断开网络的环路,防止广播风暴的产生,而一旦正在使用的线路出现故障,逻辑上被断开的线路又被连同,起到了冗余备份的作用。
原理
什么是STP协议?
STP(Spanning Tree Protocol)生成树协议
举例:当网络存在环路的时候,A查找MAC地址,不存在,那么它向B、C广播,B、C也不存在,那么它们也向外广播,这样一来,就会形成双向广播环,广播风暴最终会导致网络资源耗尽,交换机死机。
在这个时候,STP就起到作用了
stp协议是逻辑上断开环路,防止广播风暴的产生 当线路出现故障,断开的接口被激活,恢复通信,起备份线路的作用
STP将一个环形网络生成无环拓朴的步骤: 选择根网桥(Root Bridge) 选择根端口(Root Ports) 选择指定端口(Designated Ports)
网桥ID(BID) 网桥ID是唯一的,交换机之间选择BID值最小的交换机作为网络中的根网桥
取值范围:0 ~ 65535 缺省值:32768
交换机A的BID只最小(000d.2800.b100),所以它将被选为根网桥(root bridge)
下一步选择跟端口,
在非根网桥上选择一个到根网桥最近的端口作为根端口
选择根端口的依据是: 根路径成本最低 直连的网桥ID最小 端口ID最小
根路径成本-是网桥到根网桥的路径上所有链路的成本之和
链路带宽(Mb/s) 路径成本 10 100 16 62 45 39 100 19 155 14 622 6 1000 4 10000 2
我们只需要记住3个路径成本就够了(100,19,4)这是比较常用的三个
指定端口
在每个网段上,选择1个指定端口
根桥上的端口全是指定端口
非根桥上的指定端口: 根路径成本最低 端口所在的网桥的ID值较小 端口ID值较小
接下来我做一个经过stp计算,最终形成无环拓扑结构的过程,看图
A很明显是根网桥
图没截好,BC上面的根端口 也已经出来了 (因为与根网桥直连的端口是根端口)
接下来,指定端口的选择
A是根网桥,所以它上面的所有端口都是指定端口
如图所说,B的网桥ID较小,所以B上面的端口为指定端口,
这样,经过stp计算,无环拓扑网络结构就出来了
好了 过程大家看明白了吧,但是有没有想过,交换机怎么知道其他交换机的网桥ID?怎么知道哪个端口的根路径成本最小?
这就涉及到BPDU(桥协议数据单元)
交换机之间使用BPDU来交换STP信息 BPDU Bridge Protocol Data Unit -桥协议数据单元 使用组播发送BPDU,组播地址为: 01-80-c2-00-00-00 BPDU分为2种类型: 配置BPDU - 用于生成树计算 拓朴变更通告(TCN)BPDU - 用于通告网络拓朴的变化
BPDU所包含的关键字
1,交换机启动时,假定自己是根网桥,在向外发送的BPDU中,根网桥ID字段填写自己的网桥ID,
2,当接收到其他交换机发出的BPDU后,比较网桥ID,选择较小的添加到根网桥ID中
3,当全网所有的交换机接收到全部的BPDU并作比较后,就可以选择出唯一的一个根网桥
4,根网桥发送根路径成本为0的BPDU
5,其他交换机接收到根网桥的BPDU后,在根路径成本上添加接收接口的路径成本,然后转发
交换机的5种stp状态
状态 用途 转发(Forwarding) 发送和接收用户数据 学习(Learning) 构建网桥表 侦听(Listening) 构建“活动”拓朴 阻塞(Blocking) 只接收BPDU 禁用(Disable) 强制关闭
生成树计时器
交换机开机需要等待30秒时间开始转发数据 当某个正在使用的链路断掉,阻塞的端口需要50秒时间开始转发数据
0--------------20-----------15-----------15
阻断 倾听 学习 转发
OK,比较乱,认真看就明白了
[转载]交换机STP协议的更多相关文章
- CISCO交换机STP实验(生成树协议)
目录 一.前言:生成树协议(STP) 二.CISCO交换机STP命令汇总 三.运用STP搭建简单拓扑 四.实战:STP综合实验 五.结语 一.前言:生成树协议(STP) 计算机网络中,我们为了减少网络 ...
- OSI模型第二层数据链路层-STP协议
1.stp协议的由来. 在二层网络中,交换机起到了很重要的作用,如果有一台交换机出现故障会影响网络的使用,为了避免存在单点故障,在实际的二层链路中会采用链路冗余,也就是采用交换设备之间多条联络连接,即 ...
- STP协议
STP协议的作用: 第一, 可以避免网络环路和广播风暴. 二层数据包是没有TTL(time to live)的,如果不加以限制,可能会无限的传播下去.二层设备间如果存在环路,大量的广播包就可能导致广播 ...
- STP协议树配置
STP协议树作用 为了提高网络可靠性,交换网络中通常会使用冗余链路. 然而,冗余链路会给交换网络带来环路风险 并导致广播风暴以及MAC地址表不稳定等问题进而会影响到用户的通信质量. 生成树协议STP( ...
- STP协议与MSTP协议
STP协议与MSTP协议 目录 一.STP概述 1.1.交换网络环路的产生 1.2.STP简介 二.生成树算法 2.1.生成树算法的步骤 2.2.网桥 ID 2.3.选择根端口 2.4.选择指定端口 ...
- 二层协议--STP协议总结
生成树协议的技术实现与配置注意点 一.stp协议的用途 二.stp协议的运行机制 三.stp协议规范
- LLDP协议、STP协议 笔记
参考: 数据链路层学习之LLDP 生成树协议 LLDP协议.STP协议 笔记 LLDP 提出背景: 随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加 ...
- (转载)RTMP协议中的AMF数据 http://blog.csdn.net/yeyumin89/article/details/7932585
为梦飞翔 (转载)RTMP协议中的AMF数据 http://blog.csdn.net/yeyumin89/article/details/7932585 这里有一个连接,amf0和amf3的库, ...
- 华为交换机STP常用命令
STP配置和选路规则 stp enable 在交换机上启用STP stp mode stp dis stp 查看stp配置 dis stp brief 查看接口摘要信息 stp priority 40 ...
随机推荐
- NumPy Matplotlib库
NumPy - Matplotlib Matplotlib 是 Python 的绘图库. 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 ...
- 用纯css写一个常见的小三角形
.test{ margin:50px auto; width: 0; height: 0; overflow: hidden; border-width: 10px; border-color: #0 ...
- yii2:属性
yii2:属性 在 PHP 中,类的成员变量也被称为属性(properties). 以Foo.php类文件为例: 继承yii\base\Object类(基于类内的 getter 和 setter(读取 ...
- NLP(三)_统计语言模型
概念 统计语言模型:是描述自然语言内在的规律的数学模型.广泛应用于各种自然语言处理问题,如语音识别.机器翻译.分词.词性标注,等等.简单地说,语言模型就是用来计算一个句子的概率的模型 即P(W1,W2 ...
- 解决:夜神模拟器连不上adb的问题
一. adb devices发现不了设备 刚试了一下,在夜神模拟器开启的情况下,adb devices 死活找不到设备 adb kill-server和adb start-server也无济于事 二. ...
- datagrid中用tooltip
function msgFormat(value,row){ value = value.replace(/ /g," "); return '<span title='+ ...
- 21-THREE.JS 将法线矢量映射到RGB颜色的材质
<!DOCTYPE html> <html> <head> <title></title> <script src="htt ...
- Activity的基本概念与Activity的生命周期
一.Activity的基本概念 Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用 ...
- NSURLConnection / NSURLSession/ SDWebImage
1. NSURLConnection (iOS9开始被弃用)=========================================== 此类的对象加载一个URL请求对象,通过异步/同步的方 ...
- 对无序数组的并发搜索的java实现
对无序数组的并发搜索的实现可以充分的用到多cpu的优势 一种简单的策略是将原始数组按照期望的线程数进行分割,如果我们计划使用两个线程进行搜索,就可以把一个数组分成两个,每个线程各自独立的搜索,当其中有 ...