STP、RSTP、MSTP作用及区别?

news2024/11/28 0:58:29

一、STP

1 基本概念

STP(Spanning Tree Protocol)即IEEE 802.1D,其作用主要有三个,第一是eliminate logical loops消除逻辑环,第二自动选取最有效的网络路径,第三是当某条链路失效时,自动切换到备份链路,实现所谓的failover功能。STP协议有很多种类,可分为STP(802.1D)、RSTP(802.1W)、MSTP(802.1S)、PVST/PVST+ PVRST/PVRST+。STP的基本原理是通过在交换机之间传递一种特殊的协议报文,网桥协议数据单元(Bridge Protocol Data Unit,简称 BPDU),来确定网络的拓扑结构。

1.1 STP基本术语

  • 根桥(ROOT):在一个交换网络中,有且只能有一个根桥(根交换机),STP的主要作用就是在一个交换网络中计算出一棵无环的STP树。
  • 非根桥:只要不是根桥,就是非根桥(非根交换机)。
  • 桥ID(Bridge ID):BID由优先级+MAC地址组成。
  • 端口ID(Port ID):PID由优先级+端口号组成。
  • 根路径开销(Root Path Cost):RPC 路径成本的计算和链路的带宽相关联;根路径成本就是到根网桥的路径中所有链路的路径成本的累计和;
  • BPDU(Bridge Protocol Data Unit):桥协议数据单元,用于网桥之间传递BPDU来交互协议信息。BPDU分为 配置BPDU 和 TCN BPDU。配置BPDU用来进行生成树的计算和维护生成树拓扑的报文。TCN BPDU是当拓扑结构改变时候,用来通知相关桥设备网络拓扑结构发生变化的报文。

1.2 端口角色

  • 根端口(Root Port):每一个非根交换机都需要选举一个RP(基于设备选举),用于接收根桥发出的BPDU。
  • 指定端口(Designated Port):每条链路都会选举一个DP,在一条链路中,离ROOT根桥交换机最近的就是DP(基于链路选举)。
  • 候补端口(Alernate Port):为根端口(RP)的备份端口,最终宿命为阻塞。

1.3 STP端口状态

  • Disable :不接收也不转发帧,不学习MAC地址,不参与生成树计算(端口没连线,或者端口shutdown)
  • Blocking:不接收也不转发帧,接收但不发送BPDU ,不学习MAC地址(AP/BP) ,直接丢弃对端发过来的数据帧。
  • Listening:不接收也不转发帧,接收并且发送BPDU ,不学习MAC地址(RP/DP) 过渡状态
  • Learning:不接收也不转发帧,接收并且发送BPDU ,学习MAC地址(RP/DP) 过渡状态
  • Forwarding:接收并转发帧,接收且发送BPDU,学习MAC地址       最终状态

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

1.4 STP端口变化过程

1.首先链路up。 2.初始为blocking状态,在迁移到Listening状态时决定谁是RP和DP。 3.Listening状态需要等15秒进入到Learning状态(确定端口角色)。 4.Learning状态再等15秒进到Forwarding(学习MAC表项)。 5.最终达到Forwarding状态,STP完成收敛。 也就是说当使用标准生成树时,现网当中启用新端口,会存在30S的监听+学习时间,这30S时间中,端口是不转发任何数据的。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

2 选举规则

2.1 选举简介

1.首先选举根桥ROOT。 2.每个非根交换机选举根端口RP。 3.每条链路选举出一个指定端口DP。 4.剩余端口为AP端口(阻塞)。

2.2 选举步骤

2.2.1 根桥的选举(ROOT)

1.首先选举root(根桥),通过BID进行选举,BID由优先级与桥MAC组成。2字节桥优先级,6字节MAC地址(6*8=48bit) 。

  • 比较优先级
  • 默认优先级32768相同的情况 下,比较桥MAC的地址,都是越小越优。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

2.2.2 根端口选举(RP)

Root根桥选后之后进行 Root Port根端口选举。每个非根交换机都要选择一个根端口,用来接收ROOT根桥的BPDU。 选举规则: 1.RPC根路径开销(跟链路带宽有直接关系)。(越小越优) 2.比较发送者的桥ID(BID,由优先级与桥MAC组成)。(越小越优) 3.比较发送者的端口ID(PID,由优先级与端口号组成)。(越小越优) 4.比较接受者的端口ID(PID,由优先级与端口号组成)。(越小越优)

举例: 1.下图可以看出,SW4需要选举RP端口,但是去往根桥无论是通过SW2还是SW3,路径开销都是一致的,只能比较发送者BID,最终SW2这条链路更优秀,SW4的E0/0选举为RP。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

2.SW5需要选举RP,可以看出RPC和BID都是一致的,通过发送者PID进行选举,很明显SW3 E0/3这条链路更优,SW5 E0/1端口被选举为RP端口。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

3.SW6需要选举RP,在链路上的这个HUB2可以看做是将一根线劈成两半,RPC和BID是一致的,发送者PID是E1/1,只能通过接收者PID进行选举,SW6 E0/0选举为RP。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

2.2.3 选举指定端口DP

在STP中,选完RP端口后下一步选举 指定端口DP。每条链路都会选举一个DP,一条链路中,离ROOT根桥交换机最近的就是DP。 选举规则: 1.RPC根路径开销(跟链路带宽有直接关系)。(越小越优) 2.发送者的桥 ID(BID,由优先级与桥MAC组成)。(越小越优) 3.发送者的端口ID(PID,由优先级与端口号组成)。(越小越优)

2.2.4 选举替代端口AP

最后是选择AP端口,AP端口是RP端口备份。端口被选举为AP后,端口将会被阻塞,从而达到破环的目的,在这个过程中,端口只会监听BPDU,不会中继BPDU,更不会转发业务流量。 选举规则: 如果一个端口在一条链路上收到另外一个网桥的更好的 BPDU,但不是最好的,那么这个端口成为替换端口。

3 BPDU数据包分析

BPDU报文共有两种类型:配置BPDUTCN BPDU。一般情况下,配置BPDU是根桥发送给各个桥的报文;而TCN BPDU是当网络拓扑中的桥发现网络拓扑发生变化时,向根桥发送的报文。

3.1 配置BPDU

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

字段

描述

Protocol Identifier(协议ID)

生成树协议ID,总是为0

protocol version Identifier(协议版本号)

用于描述当前使用的协议版本号:STP(802.1D)传统生成树,值为0;RSTP(802.1W)快速生成树,值为2;MSTP(802.1S)多生成树,值为3;

BPDU Type(BPDU类型)

用于描述当前BPDU消息类型:配置BPDU类型0x00,用于建立、维护STP拓扑;TCN BPDU类型0x80,传达拓扑变更消息;RSTP/MSTP类型0x02;

BPDU Flags(BPDU标志位)

由8位组成,只使用最高位和最低位,其余6位保留。最低位=TC(Topology Change,拓扑变化)标志,最高位=TCA(Topology Change Acknowledgement,拓扑变化确认)标志

Root Identifier(根ID)

用于描述当前的根桥ID,由2字节的桥优先级+6字节的MAC地址组成。

Root Path Cost(根路径开销)

用于描述发送该BPDU报文的端口累计到根桥的开销

Bridge Identifier(桥ID)

用于描述发送该BPDU的桥ID,由2字节的桥优先级+6字节的MAC地址组成。

Port Identifier(端口ID)

由优先级+端口号组成。指示发送该BPDU报文的端口ID,即“发送端口ID”。

Message Age(消息生存时间)

指示该BPDU报文的生存时间,即端口保存BPDU的最长时间,过期后将删除,要在这个时间内转发才有效,如果配置BPDU是直接来自根桥的,则Message Age为0,如果是其他桥转发的,则配置BPDU报文经过一个桥,Message Age增加1

MAX age(最大生存时间)

指示BPDU消息的最大生存时间,也即老化时间

Hello Time(Hello消息定时器)

指示发送两个相邻BPDU的时间间隔,根桥通过不断发送STP维持自己的地位,Hello time 是发送的间隔时间

Forward Delay(转发延时)

最大延迟时间,默认15s,端口从listening -> learning 或 learning -> forwarding 的转态需要时间。

3.2 TCN BPDU

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

TCN示例: 1.当拓扑发生变化时,交换机首先会发送一个TCN BPDU来通告根桥。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

2.根桥会首先回复一个TCA,表明我已经收到了你发送的TCN通告。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

3.ROOT根桥向全网泛洪TC=1的配置BPDU,持续35秒(20+15 maxage+forwarddelay)

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

4.交换机在收到TC=1的这35S内,所有的交换机的老化时间保持为15秒,直到收到tc=0的配置BPDU后,重新将mac老化时间修改为300。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

4 STP的一些重要特性

4.1 Portfast

PortFast是为了让接入的非交换机设备快速进入转发(Forwarding)状态。假如一台Server接入到了交换机,与交换机连接的是Server的网卡,这个接入是不会改变交换机的STP拓扑的。但默认情况下,接入Server或Server有重启等操作后,端口都要再次经历Blocking–Listening–Learning–Forwarding这个过程,这对于网卡设备是没有必要的,所以Cisco交换机可以开始PortFast功能,跳过Listening和Learning,直接进入Forwarding状态,这可以使服务器网络快速上线。 开启了PortFast的端口,如果检测到接入的是一台Switch,就会按正常的顺序走Listening–Learning–Forwarding的过程,如果检测到是非交换机,就会让端口快速进入Forwarding状态。

4.2 Uplinkfast

如下图,当S3的RP端口失效时,E0/1接口将从AP-RP,状态需要经历listening-learning,最少30秒才能进入到转发状态,当开启uplinkfast后,立即切换成Forwarding状态,跳过延时。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

4.3 BackboneFast

  1. 如下图,如果SW2 E0/0这条链路失效,SW2会认为自己为ROOT,他会向SW3发送BPDU。SW3收到这个次优BPDU后,会选择忽略,等待max age(20S)后,SW3 E0/1 从AP-DP(15S+15S)端口,给SW2发送一个更优的BPDU,SW2知道自己不是ROOT后,停止发送BPDU,SW3 E0/1变为DP,共耗时max age+listening+learning (20S+15S+15S=50S)。
  2. 当开启backbonefast后,SW2给SW3发送次优BPDU,SW3会从自己的RP端口发送RLQ(ROOT link query),如果收到SW1发来的响应,确认根桥还在,会把SW3的E0/1接口直接从blocking-listening状态。启用backbonefast会减少20S的max age时间,不需要去硬等老化时间,会主动去找ROOT进行确认。
  3. 如果配合Uplinkfast,端口状态可以秒级切换。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

4.4 BPDUGuard

  1. 该接口在收到BPDU报文后,会立即切换到err-disable状态
  2. 常搭配portfast特性一起使用,用于连接主机 由于配置了portfast特性,接口可以可以快速进入到fwd状态。但是由于人员误操作接交换机而可能产生了环路风险。带网管的交换机会发送bpdu,当交换机收到bpdu后,马上意识到连接的不是PC,而是交换机.可能出现环路风险,直接将端口shutdown,进入err-disable,这种down与administratively管理down并不相同,这种是err-down,需要手工shutdown,no shutdown才可打开该接口

4.5 Root Guard

Root Guard可以使STP免受Bridge Priority小的新接入的Switch抢了现有根桥的位置,也就是防止更优的BPDU抢占ROOT。开启后,当有一个新接入的交换机的Bridge Priority比现有根桥小时,这个端口会被置于Root Inconsistent状态,它会被Block掉而不会转发和接收任何数据。

5 标准STP的缺陷

5.1 收敛时间长

在默认情况下,STP的收敛时间为30S(Listening+learning各15S),在某些场景下,收敛时间更是长达50S(例如根桥故障,不向外发送BPDU,交换机需要先等待20S的老化时间,再加上30S的Listening+learning),在这个时间段内,会导致网络长时间的中断。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

5.2 拓扑变化时收敛机制不灵活

想象一种场景,当企业上下班时间,每个员工将自己的PC进行开关机的操作,现网当中就会出现大量的TCN BPDU,影响设备的性能,而这种PC机器其实不需要参加到生成树计算当中。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!


二、RSTP

1 基本概念

Rapid Spanning Tree Protocol(RSTP),快速生成树协议,是传统Spanning Tree Protocol的升级版本,由802.1D进化为802.1W。传统STP的收敛时间(Convergence Time)太慢,当有拓扑发生变化,整个网络需要30秒或更多时间才能恢复到稳定状态,这是许多业务场景上无法接受的,RSTP的出现就是为了缩短收敛时间(Convergence Time),以适应更严苛的使用环境的需求。

1.1 基本术语

  • 端口角色:根端口RP、指定端口DP、替代端口AP(Alternate port)、备份端口BP(backup port)
  • 端口状态:转发(Forwarding)、丢弃(discarding)、学习(learning)
  • RSTP BPDU flags标志位与STP有所不同
  • 边缘端口(edge port):边缘端口会节省30S的延时,端口UP后会立即进入转发状态,且端口的UP/DOWN不会触发拓扑变更,他不参与生成树的计算,主要是连接PC机器。它本身会有很多保护机制防环,例如边缘端口如果收到BPDU报文会马上变为一个普通端口,加入到生成树的计算中。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

1.2 端口角色

相比STP来说,RSTP只有根端口替代端口备份端口

  1. 根端口:在一个交换网络中,有且只能有一个根桥(根交换机),主要作用就是在一个交换网络中计算出一棵无环的STP树。
  2. 替代端口:Alternate port(AP)为RP的备份端口。如果一个端口在一条链路上收到另外一个网桥的更好的 BPDU,但不是最好的,那么这个端口成为替换端口。
  3. 备份端口:backup port(BP)为DP的备份端口。由于学习到自己发送的配置BPDU报文而阻塞的端口。

备注:在一些资料中,也有把edge port边缘端口当做一类端口角色,但我个人认为这只是RSTP的一种特性,因为从交换机的角色role里面,没有一种角色叫做边缘端口角色,个人认为只能称之为RSTP的一种特性或者叫状态。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

1.3 端口状态

相比stp来说,RSTP只有转发(Forwarding)、丢弃(discarding)、学习(learning)。

端口状态

说明

Forwarding(转发)

在这种状态下,端口既转发用户流量又处理BPDU报文。

Learning(学习)

这是一种过渡状态。在Learning下,交换设备会根据收到的用户流量,构建MAC地址表,但不转发用户流量,所以叫做学习状态。Learning状态的端口处理BPDU报文,不转发用户流量。

Discarding(丢弃)

Discarding状态的端口只接收BPDU报文。

2 RSTP报文

2.1 与STP对比

RSTP相比STP来说,STP有两种类型的报文格式:配置BPDU和TCN BPDU。而RSTP只有RST BPDU一种,与STP的格式基本一致,最大的变化在于BPDU flags字段做出改变,在STP的FLAG标记中只用了TCA和TC,而RSTP中原先空余的6位全部有了新的定义。

以下为STP报文:

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

以下为RSTP报文:

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

2.2 BPDU Flags

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

字段

作用

TCA

保留但无用,因为在RSTP中并没有TCN BPDU,取值永远为0

Agreement

PA机制中的同意位

Forwarding

Forwarding标志位,表示端口处Forwarding状态

Learning

Learning标志位,表示端口处于Learning状态

Port role

角色位2bit组成 ,有四种组合。00 :未定义;01:AP/BP 替代端口/备份端口;10:RP根端口;11:DP指定端口

Proposal

PA机制中的提议位

TC

RSTP中的拓扑改变通知

3 RSTP核心内容—P/A机制

3.1 传统STP缺乏反馈机制所面临的问题

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

  1. 现网当中新增链路Link1,在SWA和ROOT之间。
  2. A及ROOT在Link1链路两端的接口都将进入listening状态,A在收到ROOT发来的BPDU后,计算出自己的端口角色,A的link1接口为RP。
  3. A将中继ROOT发过来的BPDU,从自己的两个DP端口发送给B和C,C继续发送给D。
  4. 当D收到从C发来的BPDU后,明显ROOT发来的BPDU比C发过来的优先级更优,所以P1端口角色为AP,进行阻塞。
  5. 当A的端口角色确定后,他有一个30S的收敛时间(listening+learning),30S后才能进入转发状态,而如果此时B和C需要往外发送数据是不行的,因为此时A正在收敛,而如果从D走的话,P1端口又是阻塞的,此时ABC通讯会出现问题。
  6. STP缺陷就在此,缺少反馈机制,必须硬等30S的收敛时间。

3.2 P/A机制

P/A机制正是解决STP中缺少反馈的这个问题而出现的,P/A协商可以让交换机的RP和DP的互联接口快速进入转发状态端口角色: P0=指定端口; P1=根端口; P2=替代端口; P3=指定端口; P4=边缘端口;

  1. 首先ROOT 的DP在处于Discarding和Learning状态时,会发送P=1的报文。
  2. A在收到一个最优BPDU后,他知道自己p1端口是一个RP,A会启动sync同步,临时阻塞DP端口。 ——P2是AP端口,已经阻塞的端口状态保持不变 ——P4是边缘端口不参与生成树运算 ——P3是唯一可能会发生环路的接口,DP端口,临时阻塞DP
  3. 在完成SYNC同步后,A发送一个 agreement置位的消息。
  4. ROOT在收到agreement置位的消息后,状态立即转变为Forwarding。此时A的P3仍然为阻塞状态,继续往下PA扩散,直到网络的末梢,PA到AP端口,无法响应P=1后,不再需要PA为止。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

3.3 P/A机制的前提

1.什么场景发送Proposal置位的RST BPDU? 处在Discarding或者Learning的DP口就会发送p=1的rst bpdu 2.什么场景响应Proposal置位的RST BPDU?谁响应谁? 只有RP端口角色才会响应P=1的RST BPDU 3.什么是SYNC同步 SYNC同步的作用就是把DP的Forwarding状态临时性的变为Discarding.先临时性的避免出现环路。AP端口本来堵塞,EP端口不参与生成树计算接是终端也不会出环,只有DP Forwarding端口转发才可能出环。.

3.4 P/A机制报文分析

拓扑:

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

1.两台交换机加电以后,开始交互BPDU,SW2收到更优的BPDU后,会马上停止发送BPDU。 2.SW1的e0/0端口进入Discarding状态,发送RST BPDU中把Proposal置1.

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

3.SW2 在收到proposal置位的BPDU时,开始将自己的所有端口进行SYNC同步。 4.在所有端口都进入Discarding状态之后,SW2向SW1发送agreement置位的BPDU。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

5.SW1在收到回应以后,端口立马从Discarding转变为Forwarding状态。

三、MSTP

1 基本概念

  1. Multiple Spanning Tree protocol (MSTP)多重生成树协议,是由802.1w的快速生成树(RSTP)扩展而来。
  2. RSTP虽然解决了收敛速度的问题,但是也是per vlan的spanning tree,意思是说他是基于每个VLAN一棵树,当VLAN数目非常多的时候,将面临庞大的管理问题,其次是对于交换机的硬件资源也是一个巨大的挑战。
  3. MSTP使用instance的方式将VLAN进行分组,同一组的instance的vlan共用一棵树,将多个VLAN放在一个instance进行统一管理。
  4. 在RSTP中没有区域的概念,MSTP将整个网络进行划分到不同的区域(region),region有自己独立的拓扑,region之间互不干涉,每个region类似于一个个国家。每个region被看做是一个虚拟的switch,每个虚拟交换机会进行一个spanning tree的运算,这个就是CIST(Common and Internal Spanning Tree),CIST不会影响每个region内部的生成树。

2 配置MSTP的参数

MSTP有三个参数,当三要素相同时,才认为是同一个域:

  • configuration Name(域名):同一个Region的交换机使用相同的Configuration Name
  • Revision Number(修订版本):可进行自定义,默认为0
  • Instance(实例):实例与VLAN的对应关系

3 MSTP报文

  • 协议类型标识符(protocol Version Identifier):0为STP,2为RSTP,3为MSTP

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

  • 前35个字节BPDU 和 RST BPDU相同,从36个字节开始为MSTP专有字段。
  • MST配置标识,表示MST域的标签信息,包含4个字段:Configuration Identifier Format Selector:固定为0。Configuration Name:“域名”,32字节长字符串。Revision Level:2字节非负整数。Configuration Digest:利用HMAC-MD5算法将域中VLAN和实例的映射关系加密成16字节的摘要。只有MST Configuration Identifier中的四个字段完全相同的,并且互联的交换机,才属于同一个域。

STP、RSTP、MSTP分别是什么?三者有啥区别?一文带你了解!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果M3 Max芯片跑分曝光:GPU性能不及M2 Ultra

驱动中国2023年11月2日消息,近日,据外媒报道,在苹果 M3 芯片现身 GeekBench 跑分库之后,M3 Max 芯片也出现在该跑分平台上。 据悉,搭载 M3 Max 芯片的设备标识符为 Mac15,9,目前共有 4 条信息,其…

phpstudy_2016-2018_rce

phpstudy_2016-2018_rce 代码 import base64 import requests import sysbanner""" PHPStudy_2016-2018( ) ( ) ( ) | |_ _ _ ___ | |/) _| | _ _ _ __ | _\ /_ ) /___)| , < /_ | /_…

淘宝商品评论API接口(评论内容|日期|买家昵称|追评内容|评论图片|评论视频..)

淘宝商品评论API接口是淘宝开放平台提供的一种API接口&#xff0c;可以帮助开发者获取淘宝平台上的商品评论数据。 要使用淘宝商品评论API接口&#xff0c;需要进行以下步骤&#xff1a; 注册淘宝开放平台账号&#xff0c;创建应用并获取App Key和App Secret等信息。确定需要…

操作系统 day05(进程)

一&#xff0c;进程的概念 进程和程序的区别 如下图所示&#xff1a;通过多次点击QQ程序&#xff0c;可以打开多个QQ进程 二&#xff0c;进程的组成&#xff08;更准确的说&#xff0c;应该是进程实体的组成&#xff09; PCB PCB是进程存在的唯一标志&#xff0c;当进…

鉴源论坛 · 观模丨软件单元测试真的有必要吗?(上)

作者 | 包丹珠 上海控安产品总监 版块 | 鉴源论坛 观模 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” “软件单元测试真的有必要吗&#xff1f;”专题将分为上下两期&#xff0c;深度详解软件单元测试的重要意义&#xff0c;分享目前行业内进行的单元测…

Python接口自动化测试实战,一篇足矣

接口自动化测试是指通过编写程序来模拟用户的行为&#xff0c;对接口进行自动化测试。Python是一种流行的编程语言&#xff0c;它在接口自动化测试中得到了广泛应用。下面详细介绍Python接口自动化测试实战。 1、接口自动化测试框架 在Python接口自动化测试中&#xff0c;我们…

vuepress使用及拓展(骚操作)

官网 文章目录 背景问题思考方案思索实现方案实现结果存在问题 背景 当前开放平台文件静态保存在前端项目&#xff0c;每次修改都需要通过修改文件发版的方式&#xff0c;很不便利。 1、需要前端手动维护 2、每次小的修改都要发版 随着对接业务的增多&#xff0c;对接文档的变…

什么是运营商精准大数据?又有什么作用?

大数据&#xff08;big data&#xff09;&#xff0c;指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合&#xff0c;是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 精准大数据&#xff0c;是一种…

KaiwuDB 内核解析 - SQL 查询的生命周期

一、概述 KaiwuDB 内核解析系列共分上下两部分&#xff0c;本文是该系列的第一部分&#xff0c;主要涵盖了网络协议到 SQL 执行器&#xff0c;解释 KaiwuDB 如何执行 SQL 查询&#xff0c;包括系统各个组件的执行路径&#xff08;网络协议、SQL 会话管理、解析器、执行计划及优…

观察者模式——解决解耦的钥匙

● 观察者模式介绍 观察者模式是一个使用频率非常高的模式&#xff0c;它最常用的地方是GUI系统、订阅——发布系统。因为这个模式的一个重要作用就是解耦&#xff0c;将被观察者和观察者解耦&#xff0c;使得它们之间依赖性更小&#xff0c;甚至做到毫无依赖。以CUI系统来说&a…

下载导出excel的时候碰到比较大的数字导出被转化为科学计数法

下载导出excel的时候碰到比较大的数字导出被转化为科学计数法 问题&#xff1a;下载的excel文件数字被转化成了科学计数法● 导致的原因是&#xff1a; 数值类型过大&#xff0c;excel会自动转化为科学计数法 ● 解决办法&#xff1a; 把数值类型转化为字符串类型 尝试的方法&…

四川思维跳动商务信息咨询有限公司电商服务怎么样

在当今快速发展的电商时代&#xff0c;抖音电商服务成为了许多企业关注的焦点。在这个充满机遇与挑战的领域&#xff0c;四川思维跳动商务信息咨询有限公司以其独特的思维模式和卓越的技术实力&#xff0c;成为了抖音电商服务行业的领军企业。 一、创新引领&#xff0c;思维跳…

centos7中实现多个python版本共存(python2.7、python3.6、python3.9等)

问题描述&#xff1a; 开发环境中&#xff0c;新项目需要在python3.9及以上版本开发&#xff0c;为了不影响之前运行在python3.6上的项目&#xff0c;就需要增加一个python3.9环境。线上直接使用docker部署就可以了。 解决办法 前提&#xff1a;python2.7和python3.6之前已经…

Windows Server 2008安装和IIS,FTP服务的搭建

1.典型 2.稍后安装操作系统 3.Microsoft Windows 4.尽量虚拟机名称也改一下&#xff0c;我忘记改了 5. 默认40G差不多了&#xff0c;不用修改了 6.直接点完成 7.配置处理器和镜像 8.中文简体 9.现在安装 10.第一个就行&#xff08;完全安装&#xff09; 11.我接受&#xff0c…

零信任防勒索产品+保险赔付+容灾备份:全面开启勒索“韧性”防护

“嚣张跋扈”的勒索攻击是近年来全球范围最为流行、对组织单位带来破坏最直接的威胁之一。 一方面&#xff0c;勒索攻击的产业链日益完善&#xff0c;并出现勒索软件即服务(RaaS)的攻击方式&#xff0c;勒索攻击成本大幅降低。同时勒索软件也在进行攻击方式的融合&#xff0c;…

图形库篇 | EasyX | 文字输出

图形库篇 | EasyX | 文字输出 编码 既然涉及到文字输出的内容,那就必然要先讲解编码设置的问题。EasyX官方建议采用Unicode编码,这是因为Unicode编码可以避免乱码问题。只需要通过以下步骤设置即可: 项目->属性->高级->字符集 需要说明的是,Unicode编码下一些数…

【windows】添加共享打印机错误:0x000006ba

【问题描述】 添加共享打印机的时候&#xff0c;提示操作无法完成。 错误&#xff1a;0x000006ba。 【解决方法】 一、看下服务里 打印机服务Print Spooler是否正常启动&#xff1b; 二、打印机服务Print Spooler没有的话&#xff1b;&#xff08;开始–运行—services.msc 回…

基于计算机视觉的身份证识别系统 计算机竞赛

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于机器视觉的身份证识别系统 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-sen…

代理IP的巧妙运用:降低TikTok运营成本的秘诀

在当今数字时代&#xff0c;社交媒体已经成为企业推广和运营的关键工具之一。其中&#xff0c;TikTok作为一款以短视频为主题的社交媒体平台&#xff0c;已经成为了各行各业的广告商和营销人员的焦点。 然而&#xff0c;对于那些试图在TikTok上进行运营和广告推广的企业来说&a…

阿里云2023年双11活动优惠券领取与使用及特惠云服务器产品购买规则汇总

2023年阿里云双11大促活动正在火热进行中&#xff0c;今年的双11活动还是延续了去年金秋云创季的活动名称&#xff0c;对于大部分用户来说&#xff0c;最为关心的是活动优惠券与云服务器的优惠政策&#xff0c;在我们领取双11优惠券和购买双11活动云服务器的时候&#xff0c;应…