网工必学知识!
网工必学知识!
企业内部网路怎么防止网络出现环路?学会STP生成树协议就可以解决啦!
在二层交换网络中,一旦存在环路就会造成报文在环路内不断循环和增生,产生广播风暴,从而占用所有的有效带宽,使网络变得无法 正常通信。
在这种环境下生成树协议应运而生,生成树协议是一种二层管理协议,它通过有选择性的阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路备份功能。
生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。最初被广泛应用的是IEEE 802.1D-1998 STP(Spanning Tree Protocol,生成树协议),随后以它为基础产生了IEEE 802.1w RSTP(Rapid Spanning Tree Protocol,快速生成树协议)和IEEE 802.1s MSTP(Multiple Spanning Tree Protocol,多生成树协议)。
三种生成树协议的特点比较:
华为实现说明:
1.STP在交换机所有版本,所有形态都支持。
2.华为交换机默认STP模式是MSTP.需要运行STP或MST模式时,必须要手动配置。
3.华为交换机在STP模式下,使用的端口角色和RSTP是一样的,也就是说支持下面5种端口角色:指定端口、根端口、Alternate端口、Backup端口和边缘端口。
4.华为交换机在STP模式下,支持下面4种保护功能:BPDU保护、Root保护、环路保护和防TC-BPDU攻击保护。
版本差异说明:
从V100R006版本开始,华为X7交换机全局默认使能STP功能。
V200R001版本及之后版本,开始支持边缘端口属性自动探测功能。即如果端口从未收到过BPDU报文,则边缘端口属性自动生效(端口下不会自动生成stp edged-port enable配置)。
V200R001版本及之后版本,如果端口已经配置stp edged-port enable,可以再配置根保护和环路保护,而其他版本会提示Error。
H3C
H3C交换机STP相关命令配置与S系列交换机基本没有差异。
H3C交换机默认采用legacy标准来计算路径开销,而S系列交换机默认为dot1t。在与S系列交换机对接时,建议配置相同的计算标准。
某些H3C老形态设备,全局不使能STP或全局使能端口不使能STP时,端口收到BPDU报文后,可以当做普通组播数据报文在VLAN内转发。S系列交换机端口默认会丢弃。
Cisco
Cisco交换机所支持的生成树协议类型分别有:PVST(Per VLAN Spanning Tree)、PVST+(Per VLAN Spanning Tree Plus)、Rapid-PVST+(Rapid Per VLAN Spanning Tree Plus)和MST(Multiple Spanning Tree)。这几种生成树协议的某些BPDU报文采用其私有的报文格式,与IEEE标准的BPDU报文格式不一样。
当Cisco交换机运行私有的PVST+或Rapid-PVST+生成树协议时,与S系列交换机能否互通,取决于Cisco侧的端口链路类型:
① 如果端口链路类型为trunk且退出VLAN 1,与S系列交换机无法实现互通。
Cisco侧端口在非VLAN 1中发送其私有的BPDU报文,S系列交换机默认不会处理该报文,当做普通组播数据报文进行转发,可以通过配置l2protocol-tunnel进行透传。S系列盒式交换机通过l2protocol-tunnel透传PVST+报文时,全局需要配置bpdu mac-address 0100-0ccc-cccd。
② 如果端口链路类型为trunk而且加入VLAN 1,只可以在VLAN 1中与S系列交换机互通。
③ 如果端口链路类型为access,可以与S系列交换机互通。
当Cisco交换机运行MST协议时,可以理解为标准的MSTP模式,可以与S系列交换机互通。但是需要注意:在使用MSTP协议的S系列交换机与使用MST的Cisco交换机采用相同的域配置(域名、修订级别、VLAN与实例的映射关系)的情况下,要想实现域内互通,需要在S系列交换机端口配置摘要侦听功能stp config-digest-snoop。
这是两者由于采用不同的密钥来生成MSTP的摘要信息,因此端口发送的BPDU报文中的摘要信息不同。由于摘要信息不同,则属于不同的MST域,会进行域间互通。
※注意一下介绍的STP是狭义的STP,即 IEEE 802.1D-1998 中定义的STP协议。
协商原则:
STP协议是根据4个维度进行选举协商的,设备之间通过发送BPDU报文,经过4个维度的比较,最终会阻塞综合能力最差的端口。
选举维度(桥ID,累计根路径开销,发送设备BID,发送端口PID)。
经过4个维度的比较,最终会协商出端口的角色和状态,确定报文流量的转发路径。
STP角色的定义,如图所示:
① 根桥:就是桥ID最小的设备。桥ID是由16位的桥优先级与桥MAC地址构成。BID桥优先级占据高16位,其余的低48位是MAC地址。华为交换机默认桥优先级都是32768。所以在不修改桥优先级时,MAC地址最小的设备就是根桥。
② 指定端口:就是负责转发BPDU报文的端口。根桥上的端口都是指定端口。该端口可以正常转发流量。
③ 根端口:就是去往根桥路径开销最小的端口。该端口可以正常转发流量。
④ 阻塞端口:就是禁止转发流量的端口。
从上面的官方定义,可以看出:STP协商完成后,端口要么被阻塞,要么正常转发报文。其实在STP进行协商的过程中,是有一些中间状态的。
STP协议报文是通过BPDU报文封装的,目的MAC是组播MAC:01-80-C2-00-00-00,封装格式是IEEE 802.3。
BPDU报文的分类:
① 配置BPDU报文:根据Flags标记位,分为3类:
第一类配置BPDU报文: Flags的TCA和TC位都置为0的配置BPDU报文。
第二类配置BPDU报文: Flags的TCA和TC位都置为1的配置BPDU报文。
第三类配置BPDU报文:Flags的TCA位置为0,TC位置为1的配置BPDU报文。
② TCN BPDU报文:BPDU Type为0x80的BPDU报文,叫做TCN BPDU报文。
BPDU报文的处理流程:
(未完待续...)
推荐阅读
>>>【必备干货】网工入门必会桥接教程,外网+GNS3+Vmware
网工界市场认可度极高的华为认证,你考了吗?
拿下华为HCIE认证之后,你可以:
跨越90%企业的招聘硬门槛
增加70%就业机会
拿下BAT全国TOP100大厂敲门砖
体系化得到网络技术硬实力
技术大佬年薪可达30w+