华为与CISCO交换机二层生成树协议互通分析.docx

上传人:b****2 文档编号:2327990 上传时间:2022-10-28 格式:DOCX 页数:40 大小:1.40MB
下载 相关 举报
华为与CISCO交换机二层生成树协议互通分析.docx_第1页
第1页 / 共40页
华为与CISCO交换机二层生成树协议互通分析.docx_第2页
第2页 / 共40页
华为与CISCO交换机二层生成树协议互通分析.docx_第3页
第3页 / 共40页
华为与CISCO交换机二层生成树协议互通分析.docx_第4页
第4页 / 共40页
华为与CISCO交换机二层生成树协议互通分析.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

华为与CISCO交换机二层生成树协议互通分析.docx

《华为与CISCO交换机二层生成树协议互通分析.docx》由会员分享,可在线阅读,更多相关《华为与CISCO交换机二层生成树协议互通分析.docx(40页珍藏版)》请在冰豆网上搜索。

华为与CISCO交换机二层生成树协议互通分析.docx

华为与CISCO交换机二层生成树协议互通分析

资料编码

产品名称

华为S系列交换机

使用对象

产品版本

编写部门

资料版本

华为与CISCO交换机

二层生成树协议互通分析

拟制:

日期:

审核:

日期:

审核:

日期:

批准:

日期:

华为技术有限公司

版权所有XX

修订记录

日期

修订版本

描述

作者

2011-09-05

V0.9

初稿完成

韩松博

2011-10-17

V1.0

根据测试部实测情况修改部分章节,增加互通性分析,修改案例

吴炯明

2012-10-16

V2.0

增加MSTP与CISCO交换机互通的几个特殊命令详解

增加MSTP与CISCO生成树协议的优劣对比

增加PVST/PVST+/RPVST+向MSTP迁移的操作指导

吴炯明

关键词:

生成树

摘要:

企业网环境常见的几种交换机二层生成树协议互通方案进行技术和案例分析,希望能够为客户和一线员工提供一种互通解决方法及思路

缩略语清单:

STP,RSTP,MSTP,PVST+,Rapid-PVST+

参考资料清单:

第1章前言

生成树协议是一个用于在局域网中消除环路的协议。

运行该协议的交换机通过彼此交互信息而发现网络中的环路,并适当对某些端口进行阻塞以消除环路。

由于局域网规模的不断增长,生成树已经成为了当前最重要的局域网协议之一。

在交换机二层网络环境里,经常会遇到与CISCO厂家设备对接的情形,由于CISCO厂家的交换机设备默认使用的是私有的生成树协议,一线服务员工在交付或规划设计项目时遇到与CISCO设备进行对接的场景,通常会显得无从下手,此文档就二层网络的典型组网交换机互通方案进行讲解,希望能够为客户和一线员工提供一种解决方法及思路。

第2章生成树原理分析

2.1STP原理

2.1.1STP基本概念

STP协议通过在交换机之间传递特殊的消息BPDU报文并进行分布式的计算,来决定一个有环路的网络中,哪台交换机的哪个端口应该被阻塞(Blocking),用这种方法来剪切掉环路。

IEEEstd802.1D协议文档的第8章描述了STP。

交换机的STP操作可以分为如下3个主要步骤:

●选举根桥

●选举根端口

●选举网段的指定端口

每一阶段都遵循以下规则:

●最小的根交换机ID

●到根交换机最小的PATHCOST

●最小的发送BPDU的交换机ID

●最小的发送BPDU的端口ID

●最小的接收BPDU的端口ID

交换机之间定期发送BPDU包(根交换机产生BPDU,其他非根交换机转发),交换生成树配置信息,以便能够对网络的拓扑、花费或优先级的变化做出及时的响应。

BPDU分为两种类型,包含配置信息的BPDU包称为配置BPDU(ConfigurationBPDU),当检测到网络拓扑结构变化时则要发送拓扑变化通知BPDU(TopologyCHANGENOTIFICATIONBPDU)。

图2-1配置bpdu报文的包结构

如图2-1所示首先是以太网帧头,包括dlc头部、llc头部,接下来是bpdu字段,最后是为了补齐60字节边界用的dlc填充(padding)8字节。

图2-2配置bpdu报文的报文格式

拓扑变化通知BPDU报文格式

图2-3拓扑变化bpdu报文的报文格式

抓包分析报文及字段解析

图2-4配置bpdu报文抓包分析

⏹bpdu采用的是多播目标mac地址:

01-80-c2-00-00-00(bridge_group_addr:

网桥组多播地址)

⏹dlc后面所跟的802.3帧的总长度为38字节,是指除了dlc头、尾之外的所有内容的长度

⏹协议标识符和协议版本都是固定的0。

⏹bpdu类型表明是一个配置bpdu

⏹bpdu标志字段表明这既不是一个拓扑变更帧也不是一个拓扑变更确认帧

⏹随后是根网桥标识,其中:

优先级是0x8000,即10进制的32768(默认值)

mac基地址:

00:

e0:

fc:

01:

39:

00

⏹随后是根网桥代价:

0(表示本交换机就是根网桥)

⏹随后是发送网桥id,其中:

优先级是0x8000,即10进制的32768(默认值)

mac基地址:

00:

e0:

fc:

01:

39:

00

⏹端口:

发送此bpdu的交换机端口

⏹最后是一些定时器的值:

⏹消息年龄:

当前为0

⏹消息寿命:

20秒(默认值)

⏹根hello时间:

2秒(发送bpdu的时间间隔)

⏹转发延迟:

15秒(交换机端口处于侦听、学习状态的时间)

STP端口有5种状态,如表2-1所示

状态

说明

Forwarding

在这种状态下,端口转发用户流量的状态,只有根端口或指定端口才有这种状态。

Learning

这是一种过渡状态。

在这种状态下,交换机会根据收到的用户流量(但仍然不转发流量)构建MAC地址表,所以叫做学习“状态”。

Listening

这是一种过渡状态。

在这种状态下,上述的三步选择(根桥、根端口、指定端口)就是在该状态内完成。

Blocking

在这种状态下,端口仅仅接收并处理BPDU,不转发用户流量。

Disabled

或Down,认为阻断或物理上断掉。

表2-1拓扑变化bpdu报文的报文格式

2.1.2STP技术细节

初始生成树的过程:

网络初始化的时候,所有网络中的STP交换机都认为自己是“根桥”。

在每个端口所发出的BPDU中,根桥字段都是用各自的BID,RootPathCost字段是累计的到根桥的开销,发送者BID是自己的BID,端口PID是发送该BPDU端口的端口ID。

BPDU会按照HelloTime指定的时间间隔来发送,默认的时间为2秒。

一旦在某端口上收听到比自己发的还要“好”的BPDU,那么这个端口就提取该BPDU中的某些信息,更新自己的信息。

比较BPDU的“好坏”的方式(自己的或其他交换机的),都是根据四元组来完成的,即最低桥ID、最低到累计根路径开销,最低发送者BID(有时还需要最低端口PID)。

该端口会缓存最好的BPDU。

当发送BPDU的时候,交换机填充SenderBID字段的总是自己的BID,而填充RootBID字段的是“当前我所认为是根桥的”BID。

根端口的选择:

每个非根桥STP交换机都要选择一个根端口,根端口对于一个交换机来说有且只有一个。

其本质是“距离根桥最近的端口”,这个最近的衡量是靠累计根路径开销来判定的,即累计根路径开销最小的端口就应该是根端口。

累计根路径开销的计算方法如下:

端口收到一个BPDU(从根桥发送出来的BPDU,RootPathCost字段的值总是0)后,抽取该BPDU中累计根路径开销字段的值,加上该端口本身的路径开销。

所谓该端口本身的路径开销只体现直连链路的开销,这个值是端口量,可以人为配置的。

如果有两个以上的端口计算得到的累计根路径开销相同,那么选择收到发送者BID最小的那个端口作为根端口。

指定端口的选择:

这是生成树协议发现环路的重要的一步,每台交换机都各自存储着一套信息,包括当前的根桥ID、RootPathCost和自己的桥ID,此外每个端口还存储了自己的端口ID。

当几个端口被一个网段连接到一起以后,他们都有机会根据所属网桥的情况发送BPDU,当这些连接到同一个网段中的网桥都接收到这些BPDU后,它会用这个BPDU中的信息和自己所属网桥所存储的信息进行对比,根据选举的规则可以得到两种结果:

●收到的BPDU信息不如设备和端口上存储的信息,说明发送BPDU的端口优先级比端口自己的优先级低,端口在这轮比较中胜出,不做任何变化。

●收到的BPDU信息高于设备和端口上存储的信息,说明发送BPDU的端口优先级比端口自己的优先级高,则端口在这轮比较中失败,停止向该网段中转发BPDU。

这样的结果是到了最后,这几个连接到同一个网段中的端口,只有一个会获得最终的胜出,其他的端口都失败了,他们会停止向该网段中转发BPDU。

这个时候,这个获得最终胜利的端口就成为了这个网段的指定端口。

其他端口成为Alternate端口进入Blocking状态,既不接受或转发数据报文,也不转发BPDU。

STP中的拓扑变更:

当交换机发现拓扑变更的时候,就会产生TCNBPDU。

通常情况下,拓扑变更的原因在于链路故障、交换机故障或端口转换到转发状态。

TCNBPDU的类型字段的取值是0x80。

TCN将被根端口转发给根交换机。

上行交换机将以TCA(TopologyChangeAcknowledgment,拓扑变更确认)格式的BPDU进行确认。

在标记(Flag)字段中,最低有效位代表TCN,最高有效位代表TCA。

交换机向上行交换机发送该报文。

需要记住的是,上行交换机是距离根最近的交换机的邻接交换机(如果直接连接,那么就是根)。

上行交换机将拓扑变更得确认报文发送回发送端的邻接交换机,并且将报文发送给其上行交换机。

这种过程将不断重复,直到根交换机接受到该报文为止。

通过上述方式,根能够了解到网络拓扑变更。

默认情况下,交换机将MAC地址在MAC地址转发表中停留5分钟。

当拓扑发生变更的时候,交换机将临时把该计时器的值降低,使其等于转发延迟计时器的数值(默认值是15秒)。

这将使STP网络将拓扑变更做出反应,交换机将快速重新学习链路状态变更时的MAC地址变更。

2.2RSTP原理

2.2.1RSTP基本概念

继IEEE802.1D定义了STP标准后,IEEE又推出了802.1W这个草案作为802.1D的补充,并定义了RSTP标准。

在新版本的802.1D(2004)中已经接纳了RSTP标准,取代了原来的STP。

RSTP保留了STP的大部分算法和计时器,只在一些细节上做了改进。

但这些改进相当关键,极大的提升了STP的性能,使其能满足如今低延时高可靠性的网络要求。

后续诞生的MSTP,单个实例中的算法和RSTP几乎一摸一样。

可以说从STP发展到RSTP的这套算法,是整个生成树协议的精髓。

BPDU报文的变化

BPDU内容

RSTP

STP

ProtocolIdentifier

0000

0000

ProtocolVersion

02

00

BPDUType

02

00(ConfBPDU)0x80(TCN)

Flags

2c

0001(TC)80(TCA)

RootIdentifier

80.00.00.00.e0.fc.01.39.00

80.00.00.00.e0.fc.01.39.00

RootPathCost

0000

0000

BridgeIdentifier

80.00.00.00.e0.fc.01.39.00

80.00.00.00.e0.fc.01.39.00

PortIdentifier

80.20

80.20

MessageAge

0000

0000

MaxAge

20

20

HelloTime

2

2

ForwardDelay

15

15

Version1Length

0

表2-1RSTP/STPbpdu报文区别

图2-2RSTPBPDU报文抓包分析

RSTP的BPDU被称作RSTBPDU,和STPConfigBPDU的主要区别在协议版本号,BPDU类型和Flags字段。

RSTP中没有了TCN和TCA报文,在拓扑结构变化时只发送TC报文。

Bit7

Bit6

Bit5

Bit4

Bit3

Bi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1