必威体育Betway必威体育官网
当前位置:首页 > IT技术

802.1W 感悟以及和802.1D对比

时间:2019-10-08 15:11:05来源:IT技术作者:seo实验室小编阅读:62次「手机版」
 

802.1d

  上次说了STP的感悟,这次讲讲我个人对与RSTP的感悟。(学校坑爹的开题报告,没时间微博了)

RSTP的出现的原因:就是因为传统的STP是基于被动的收敛时间,收敛时间太慢,根本无法满足真正的生产网络,网络震荡一次,就得等30S-50S,才能上网,估计谁也忍不了吧!

对于如何对RSTP下手呢?我总结如下两点,STP也可以这么考虑

①如何形成一棵树

②如何维护这个树(随时检测树的状态,当树根被拔了,当树干断了,如何用新的树根和新的树干来再次形成这棵逻辑的树)

802.1D:

  形成树:先选举root bridge,再选取RP(形成树,不能转发数据),再选取DP和NDP(防止初期数据环路和BPDU环路),然后经过2倍的forward delay时间,端口的状态才会进入forwarding或者blocking状态。此时才可以转发数据。

  维护树:当拓扑变更时候,下游交换机从根端口向上游发送TCN BPDU,上游交换机接收到TCN BPDU就回复一个TCA位置位的配置BPDU,并且转发给上游,然后一直到根桥,根桥收到后发送TC位置位的配置BPDU,来告诉整个的生成树,有拓扑发生变化了,然后所有收到TC置位的BPDU的交换机会将自己的MAC地址表的老化时间改成和forward dealy,以此来刷新mac地址表,准备学习新的拓扑,防止错误的mac地址表的转发还会形成环路.这样发生拓扑改变的端口的最终经过两个forward delay 时间,到达forwrding 状态。

其实你可以想想,一棵树的拓扑发生了变更,对于STP的做法是将这一消息要递送给根桥,然后让根桥来告知整个树,虽然这个方法很好,但是这样就会产生那两个被动的两个forward delay,这也是严重影响生成树收敛速度的原因之一。

802.1W

形成树:同802.1D

维护树:①当链路失效,不会造成环路,RSTP只要能找到合适的堵塞端口来替代该端口就行了

(RSTP使用TC置位的BPDU来表示拓扑的变更,但是为了和802.1D保持协调,RSTP可以产生和处理TCN bpdu)

    ②当有新的链路的时候,可能会发生环路,此时的检查机制就是P/A机制。

深入剖析阶段:

选举过程:①根桥的选举

wKiom1bgK37y30r_AABoIZda9oA012.png

   一开始都会认为自己是根桥,从每个指定端口发送BPDU,就以C为例子。

wKiom1bgK-iTF8HMAACoZxYhGz8642.png

                                                        C会认为我自己是根桥,A收到C的BPDU,比较ROOT ID 会认为A自己是根桥

                                                                      B收到C的BPDU,会认为C是根桥,这时候B,C 都是rootbridge

wKiom1bgLFziGdLlAAC8rBfwneM834.png

                                   

  A发送BPDU,形成的结果如上图,这时候才能真正选出来,而不是所谓的一句笼统的大家互发  BPDU选举就完事了也就是说一个交换机想要成为根桥,他的 ROOT ID字段必须比所有指定端口能接收到BPDU的ROOT ID字段都要小,这时候他才能成为根桥,一旦他接收到到了更好的,立马脱离根桥的身份.

RSTP更加明确的规定了端口角色和端口状态,更加依赖的是端口角色

       STP端口角色:RP DP NDP

       RSTP端口角色:RP DP AP(备份根端口) BP(备份指定端口)

wKiom1bgLTXDpUDqAABAxQZSF84740.png

wKioL1bgLevw07XtAABSR-1D7Uc230.png

字节

              字段  

2

Protocol ID

1

Version

1

message Type

1

Flag

8

Root ID

4

Cost of path

8

Bridge  ID

2

Port ID

2

Message Age

2

Maximum Time

2

Hello Time

2

Forward Delay

1

version 1 length

收到劣质BPDU的不同反应(X为NDP)

wKioL1bgL6njFICLAAAlnm3JTYk598.png

当S1和S2之间的链路失效的时候

STP:S2认为自己根桥,开始发送劣质BPDU,S3的NDP接口将等待20S的超时时间,然后再经过learning →listening→forwarding  约50s的时间

RSTP:S2认为自己根桥,开始发送劣质BPDU,S3的Alternate接口收到后,会告诉S2,S1才是跟,然后经过learning →listening→forwarding 约30s的时间

STP收敛

  • 依靠计时器被动进行收敛

RSTP快速收敛

  • 边缘端口机制(Cisco的portfast

  • 特性:                    

                               

                                          ①连接PC不需要等待转发延迟直接进入转方状态)

                                   ②接口状态的改变不会影响生成树的拓扑变更

                                   ③跟端口的快速切换时,不会堵塞边缘端口

                                   ④tc置位的配置BPDU不会通过边缘端口转发

                                   ⑤ 收到tc置位的配置BPDU,边缘端口的mac地址表项的计时器不会改变

                                   ⑥边缘端口收到BPDU,会立即还原成普通接口)               

  

  • 根端口快速切换机制(上述说到的,某个端口down了,立马找堵塞端口替代,立即进入转发状态,其实就是Cicso的uplinkfast【级联快速】,并且会向上游发送不带数据部分的伪帧来刷新mac地址表,一般用于接入层交换机)

  • Proposal/Agreement机制(使指定端口快速进入转发状态,接口两端必须是全双工的点到点链路,否则P/A报文无法相互交互,就只能借助STP的2倍forward delay时间了)

P/A机制

P/A机制即Proposal/Agreement机制。其目的是使一个指定端口尽快进入Forwarding状态。其过程的完成根据以下几个端口变量:

A)Proposing。当一个指定端口处于Discarding或Learning状态的时候,该变量置位。并向下游交换传递Proposal位被置位的BPDU。

B)Proposed。当下游交设备端口收到对端的指定端口发来的携带Proposal的BPDU的时候。该变量置位。该变量指示上游网段的指定端口希望进入Forwarding状态。

C)sync。当Proposed被设置以后,收到Proposal置位信息的根端口会依次为自己的其他端口置位sync变量。如果端口是非边缘的指定端口是则会进入Discarding状态。(这个过程的堵塞状态就是完全的防环)

D)synced。当其它端口完成转到Discarding后,会设置自己的synced变量(Alternate、Backup和边缘端口会马上设置该变量)。根端口监视其他端口的synced,当所有其他端口的synced全被设置,根端口会设置自己的synced,然后传回BPDU,其中Agreement位被置位。

E)agreed。当指定端口接收到一个BPDU时,如果该BPDU中的Agreement位被置位且端口角色定义是“根端口”,该变量被设置。Agreed变量一旦被置位,指定端口马上转入Forwarding状态。

提示:RSTP的端口角色的同步是指根端口信息的同步,因为在一台交换机上只能有一个根端口(堵塞的是非边缘指定端口)

某位大神举的一个例子

实线为百兆链路,虚线为后加的千兆链路,圆圈为根端口

wKioL1bgP4ayOgKHAABGBeh9eA4441.png

加上千兆虚线之后的拓扑如下

wKioL1bgQEmhKYxCAABMSy3Qy9Y323.png

此时SW6和SW2之间新加的一条千兆链路,马上进行端口角色选举,毫秒附近,SW6  2口根端口确定,如图。立即进入转发状态,此时SW2 2口也立即进入转发状态,SW6根端口和指定端口选举之间肯定会有空隙,SW6的1口还是转发状态此时,图中明显右侧出现临时环路。所以P/A机制出现了

SW6根端口选举完毕,立即进入转发状态,但是SW2连接SW6的端口处于Discarding状态,并且向SW6发送一个P置位的配置BPDU,sw6会堵塞所有的非边缘指定端口,进行根端口角色的同步,100%无环路,然后依次向下游传递。

Cisco的PVST,PVST+,RPVST+

pv:per-vlan

ieee定义的STP,RSTP都是无法基于vlan的,cisco将BPDU的BID 八个字节进行了划分

priority

vlan ID

MAC

4bit

12bit

48bit

开启了

PVST :在中继链路用ISL封装,ISL封装思科自己不怎么用了

PVST+ :在中继链路用dot1q封装

RPVST+: 在中继链路用dot1q封装

为什么优先级设置成4096的倍数,我认为是一共16bit,前12位被占,后面的只能4bit只能以4096的倍数增加了

转载于:https://blog.51cto.com/yaotongshaonian/1749385

相关阅读

div自定义设置滚动条样式

示例 效果 CSS myp{ max-height:910px; overflow:auto; } myp::-webkit-scrollbar{ width:8px; hei

一文读懂 android 事件分发机制 MotionEvent

点击事件用MotionEvent表示,最重要的事件分别是: 手指按下:ACTION_DOWN 手指移动:ACTION_MOVE 手指抬起:ACTION_UP 点击事件的分发始

JS&禁用超链接&e.preventDefault(); 阻止事件默认行为

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

Guava Ordering的使用

Guava Ordering的使用 参考 官方说明文档-OrderingExplained Guava强大的”流畅风格比较器”-翻译版 Guava —- Ordering排序

js中hasOwnProperty()的作用

hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属

分享到:

栏目导航

推荐阅读

热门阅读