2021-05-25

 

 

一、端口状态

802.1W                                        802.1D

                                                      disable

dis                                                  black

                                                    lis

len                                                    len

f                                                   f

 

二、端口角色

802.1W                                        802.1D

RP                                                    RP

DP                                                    DP

AP                                                    blocking

BP

Edge port

 

port-id为两个字节=优先级+id

如果1号端口down了,2号端口变成DP需要等待hold time时间 18s,但是状态是discarding之后再P/A

如果C交换机的RP端口down了,3号端口变为RP,时间—>立即

在RSTP中,如果一个端口收不到BPDU,接口的BPDU超时时间=2*3*时间因子(默认3s)

 

三、link-type

Edge port

P2P 全双工—>两种方式判断1、自己检测,只要不是半双工,就认为是全双工;2、通过命令修改让STP认为是全双工

share(共享)—>半双工和802.1D差不多

 

四、BPDU的走向

802.1D                            802.1W

                                                    

五、端口角色的改变

 

802.1D:当B的RP端口链路断开,B收不到A的BPDU会认为自己是根桥,向C发自己的BPDU,C的AP端口收到次级BPDU,不会立即回从A学来正确的BPDU给B交换机

而是等待之前接口缓存的BPDU超时,超时时间max age减去m,最大20秒,之后再会送从A交换机正确的BPDU给B,此时C的AP变DP,B的DP变RP,在等待两倍的转发延迟30S,一共50秒。

802.1W: 直接会送正确的BPDU再P/A,几乎在一秒内完成。

 

DP端口收到次级BPDU会立即回优的BPDU

 

六、这种场景,两个交换机通过一个没有运行STP的交换机相连

802.1d收不到BPDU的时候等待max-age-message age时间端口角色发生该变

802.1w收不到BPDU的时候等待hold-time=2*3*时间因子3=18S

AP收到一个次级BPDU会立刻会送优的BPDU,变为DP,discading,在P/A

拓扑变化:

STP:标准触发TCN的条件是一个端口up/down了,华为一个端口fording转发了。收到TC,mac地址age改为15秒。TC发20+15一共35秒。

RSTP: 触发TC的条件是一个非边缘端口fording了,收到TC,删除除了收TC和egde端口的mac表,其他全删,发2次。

好处:STP拓扑变化,mac全部老化15S,RSTP只对一些错误的端口删除不全删,不用在root发了,自己就可以发TC了,加快收敛。

802.1W桥ID

一个8个字节

4个bit的优先级;12个bit扩展系统id用全0;后6个字节mac地址

802.1D的flags位只使用了两个位最高位和最低为,最高位是TCA,最低为是TC

802.1w的flags八位都使用了

 

端口角色的bit位:

00未定义;01-AP/BP;10-RP;11-DP

P/A机制的前提条件两个:

1、P2P全双工

2、DP对面得是一个RP

当DP端口想要快速forwarding的时候触发P/A,此时DP端口的状态可能是阻塞dis或者len学习状态。

 

(1)A和B交换机刚开始都认为自己是root,相互交互BPDU

(2)当第一轮BPDU交互完成,链路之间的,交换机的端口角色,如果此时A的1端口为DP,B的2端口为RP

(3)同步B交换机会把除了边缘端口的其他DP端口全部阻塞,也就是后续要流出BPDU的端口

(4)B交换机直接把RP端口进入forwarding状态,在向上回复A置位的配置BPDU

(5)A交换机收到A消息再把DP端口打开进入forwarding状态

注意:P/A机制是逐段P/A的

 

P/A发生在P2P full全双工的链路上

如果不是点到点,是一个多点的环境比如:A和C和D连接在一个hub上,会触发临时环路。P/A协调机制会复杂。

 

第一步:刚一开始A和D之间的链路没有连接在没有hup上,这个时候,A和B和C上的端口1,2,3,4,5都已经forwarding了,这个时候,只要A交换机的6端口forwarding就会出现环路。

第二步:然后把A和D之间的链路接起来,此时A交换机从6端口往外流p置位BPDU,C可能因为某种原因没有收到,D交换机收到了回应了a置位的BPDU消息,此时A交换机的6号端口forwarding,出现了临时性环路。

之后C从5号口收到了A的BPDU,在C和A之间链路端口角色重选,再破环。可能C的4号端口被阻塞了。

如果下游有多台交换机,上游交换机无法确定收到多少个A置位的BPDU才能进入转发状态,如果此时贸然进入转发状态,可能会产生临时性环路。

Full 全双工的链路

如果是这种情况,是P2P但是半双工的链路:

 

因为是半双工,所以链路只能有一个人发,A发P置位的BPDU,如果还有其他流量,那么B就只能等在链路空闲时才能回A消息,这样就不快了,失去了快的意义。

半双工的BPDU的flags位里面A位置0,B只要收到了A位置0的BPDU,不会阻塞其他DP端口,也不会回复A消息,此时不能P/A;半双工无法保证点到点,可能导致临时环路。

 

P/A如果DP的对端是AP的话,此时端口想要forwarding,需要等待2倍的转发延迟30S。DP端口发15次BPDU

 

【扩展】交换机怎么区分这个端口是AP还是BP?

答:根据端口收到了BPDU的转发桥ID来判断,如果BPDU的转发桥ID不是自己那个这个端口就是AP;如果更优的BPDU转发桥ID是自己,那么这个端口就是BP,列举场景什么是AP和BP?

【扩展】AP/BP的工作过程?

答:端口角色参数对比顺序:根ID、根路径开销、转发桥ID、转发桥端口ID、本地端口ID。

AP是交换机的备份端口。当交换机到达根桥的路劲丢失时,AP端口迅速变成RP根端口转发数据。

如果交换机上有多个端口,按照参数顺序选择一个最优的AP端口转变为RP根端口。

 

BP是网段上指定的备份端口。当网段上的指定端口down掉时,BP端口等待hold time时间

变成指定端口转发数据,如果交换机上有BP端口,按照参数对比顺序选择一个最优的BP端

口转变成指定端口

 

【扩展】STP为什么要等max age,stp为什么要逐跳去转TCN?

答:交换机根端口RP和非指定端口AP/BP收到BPDU后,会把BPDU缓存,BPDU里面有max age字段,定义了这个BPDU的

老化年龄。在老化年龄之前,这个BPDU都是有效的。

 

stp中配置了BPDU的flag字段的TC位表示拓扑发生了变化。在STP中,只有根桥才能发送TC bpdu,所以需要发生变化的节点

逐跳向根桥的方向rp端口发出去,给根桥,让根桥发TC,通知全网拓扑发生变化,收到TC的交换机,mac表置位15s刷新。

 

802.1D中,configuration BPDU是单向流动的,只能从root流下来,TCN不是配置BPDU。是单独BPDU。

 

802.1W收到TC后交换机会立刻刷新mac表,怎么刷的?

答:收到TC后,除了边缘端口和收到TC的端口不删除以外其他的都删除,重新学

为什么收到TC的端口不删呢?难道收到TC的端口mac是对的吗?

答:是对的,从这个端口收到TC说明从这个端口可以去往故障点,如图?

刚开始A和B和E交换机以绿色接口访问PC,当链路down了,拓扑发生该变发TC,刷新mac地址表,可以看出收TC的端口mac地址对应关系是正确的

 

扩展:

只有在AP变RP的这台交换机上,接了下游交换机的端口DP的端口角色不变,状态不变。接PC会discading,在F,edeg端口不变。

 

 

 

rstp和SRP比较,快体现在哪里?

1、有AP和BP,BP是RP的备份,BP是DP的备份,一旦RP挂了,AP可以立即变为RP,DP挂了,BP端口等待3*2之后,再P/A,没有P/A   两个15秒

2、P/A机制

3、边缘端口

 

五向量:

根的桥ID

根路径开销RPC

转发桥ID

转发桥端口

接收桥本地端口

 

STP中为什么要等待30S的转发延时?

是为了让最优的BPDU流到全网,

 

四种保护机制:

BPDU保护通常和egde port 一起使用,收到BPDU   把接口error-down掉    stp bpdu-protection 全局开

根保护,用在交换机上,只对DP端口有效,开启后DP端口收到更优的BPDU把端口discading掉   stp root-protection

环路保护:AP,RP端口要靠周期收到根的BPDU维持状态,网络拥塞,可能有一段时间收不到,配置环路保护,可以在BPDU老化后,把接口discading掉,防止AP

变RP,RP变DP  变为转发状态。  HYPERLINK "http://127.0.0.1:7890/pages/AZG0221P/05/AZG0221P/05/resources/dc/stp_loop-protection.html"stp loop-protection

 

TC保护:收到TC设备会清MAC地址表,防止有人恶意攻击,配置接口收到TC的阈值

 

使用python中的pymsql完成如下:表结构与数据创建 1. 建立 `users` 表和 `orders` 表。 `users` 表有用户ID、用户名、年龄字段,(id,name,age) `orders` 表有订单ID、订单日期、订单金额,用户id字段。(id,order_date,amount,user_id) 2 两表的id作为主键,`orders` 表用户id为users的外键 3 插入数据 `users` (1, '张三', 18), (2, '李四', 20), (3, '王五', 22), (4, '赵六', 25), (5, '钱七', 28); `orders` (1, '2021-09-01', 500, 1), (2, '2021-09-02', 1000, 2), (3, '2021-09-03', 600, 3), (4, '2021-09-04', 800, 4), (5, '2021-09-05', 1500, 5), (6, '2021-09-06', 1200, 3), (7, '2021-09-07', 2000, 1), (8, '2021-09-08', 300, 2), (9, '2021-09-09', 700, 5), (10, '2021-09-10', 900, 4); 查询语句 1. 查询订单总金额 2. 查询所有用户的平均年龄,并将结果四舍五入保留两位小数。 3. 查询订单总数最多的用户的姓名和订单总数。 4. 查询所有不重复的年龄。 5. 查询订单日期在2021年9月1日至9月4日之间的订单总金额。 6. 查询年龄不大于25岁的用户的订单数量,并按照降序排序。 7. 查询订单总金额排名前3的用户的姓名和订单总金额。 8. 查询订单总金额最大的用户的姓名和订单总金额。 9. 查询订单总金额最小的用户的姓名和订单总金额。 10. 查询所有名字中含有“李”的用户,按照名字升序排序。 11. 查询所有年龄大于20岁的用户,按照年龄降序排序,并只显示前5条记录。 12. 查询每个用户的订单数量和订单总金额,并按照总金额降序排序。
最新发布
06-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值