STP原理-路由交换原理11-【HCNA笔记】

1、BPDU报文格式

交换机之间使用BPDU(网桥协议数据单元)来交换STP(生成树协议)信息,BPDU报文分为配置BPDU和TCN BPDU两类分别对应STP的两种应用场景(STP工作在数据链路层)。

BPDU帧
帧头 Data(BPDU报文) FCS

配置BPDU(Configuration BPDU)报文:用来进行生成树计算和维护生成树拓扑。

配置BPDU报文1
Protocol ID Protocol Version ID BPDU Type Flags Root ID Root Path Cost
2字节 1字节 1字节 1字节 8字节 4字节
配置BPDU报文2
Bridge ID Port ID Message Age Max Age Hello Time Fonward Delay
8字节 2字节 2字节 2字节 2字节 2字节

TCN BPDU(Topology Change Notification BPDU)报文:当拓扑结构发生变化时用来通知相关设备的报文。

TCN BPDU报文
Protocol ID Protocol Version ID BPDU Type
2字节 1字节 1字节

Protocol ID:协议类型,固定为0x0000,表示生成树协议。

Protocol Version ID:协议版本号,生成树目前有三个版本,0x00代表STP。

BPDU Type:BPDU类型,这个值用来区分该报文是配置BPDU还是TCN BPDU。

Flags:BPDU标志位,由8位组成,其中最低位(0位)为TC(Topology Change,拓扑改变)标志位,最高位(7位)为TCA(Topology Change Acknowledge,拓扑改变确认)标志位,其他6位保留不使用。

Root ID:根桥ID,标识已被选为根桥的设备标识,前2字节代表优先级,后6字节为其MAC地址。

Root Path Cost:根桥路径开销,到根桥的路径开销。

Bridge ID:发送网络桥ID,发送该BPDU的网桥信息,前2字节代表优先级,后6字节为其MAC地址。

Port ID:端口ID,发送该BPDU的网桥端口ID,包含该端口的编号和优先级。

Message Age:BPDU在网络中传播的生存期,代表该BPDU报文在网络中已传播了多久。

Max Age:超时时间,若超过该时间还没有收到根桥发出的BPDU数据包,则交换机将向其他所有的交换机发出BPDU数据包,重新计算生成树。

Hello Time:根网桥连续发送BPDU的时间间隔。

Fonward Delay:传输时延,交换机端口状态迁移所用时间。当网络发生故障导致生成树重新计算时,重新计算得到的新配置消息无法立刻传遍网络,如果端口状态立刻迁移的话可能会产生暂时性的环路。所以生成树协议采用状态迁移机制,保证新的配置消息已传遍整个网络。

2、交换机端口状态

运行生成树协议的交换机在正常工作期间其端口总是处于转发或阻塞状态,当设备识别到网络拓扑结构发生变化时,交换机自动进行状态转换,期间端口暂时处于监听和学习状态。

Listening:监听,交换机启动、接入网络或识别到网络拓扑结构发生变化时所有端口都切换到监听状态,此状态下不会接收和转发数据,但可以接收和发送BPDU。监听状态下各设备和端口将确定自己的角色,选举出根桥、根端口、指定桥和指定端口。随后根据选举结果将部分端口转为Learning状态,部分端口转为Blocking状态。

Learning:学习,选举完成后交换机参与工作端口的将转为学习状态,主要是学习并完善MAC地址表。该状态下不会接收和转发数据,但可以接收和发送BPDU。

Forwarding:转发,MAC地址表学习完成后交换机就可以开始工作,参与工作的端口就进入转发状态。该状态下可以接收和转发数据、学习MAC地址、接收和发送BPDU。

Blocking:阻塞,选举完成后交换机部分端口进入阻塞状态,并在工作期间保持该状态。该状态下不能接收或转发数据,不能发送BPDU,只能接收BPDU。

3、STP的工作过程

选举根桥:开启STP协议的交换机启动后默认自己为根桥,此时所有端口进入监听状态并向端口上相连的其他交换机发送配置BPDU报文。该报文中根桥ID就是发送设备自己的ID,交换机发出BPDU的同时也会接收到来自其他设备的BPDU,它会将这两个BPDU报文进行对比。先比较根桥ID中的优先级,数值越小则优先级越高。该优先级可由用户设置,若用户没有设置则所有交换机的默认优先级都是一样的,此时就比较根桥ID中的MAC地址,也是数值越小的优先级越高。若设备发现自己收到的BPDU中根桥ID的优先级较自己当前发送的BPDU高,则设备开始转发优先级较高的BPDU。通过这种方式整个网络很快地就只会发送根桥ID优先级最高的BPDU,同时大家也都知道了那台设备的BPDU优先级最高,并认同该设备为根桥。

在上图所示的网络中,由于交换机的默认优先级一致,所以比较其MAC地址得到SW1的优先级最高,故应选取SW1为根桥。

选举根端口:选举出根桥后,网络中所有设备都只会转发根桥发出的BPDU。根桥发出的BPDU中有一个“根路径开销”字段,BPDU从某端口进入交换机时该字段会累加该端口的“开销值”,于是交换机向其他设备转发根桥的BPDU时,根路径开销字段会不断累加各交换机接收端口的开销值,此值可由用户设置,若不设置则默认都是一样的(一般设置时会将链路两端的开销值设置为一样)。网络中某交换机可能从多个端口都收到来自根桥的BPDU,他比较所有的BPDU中路径开销字段的值,并认为路径开销字段值最小的BPDU为最佳,接收到该BPDU的端口为根端口。若多个端口收到的BPDU中路径开销字段值都一样,交换机就将端口ID最小的那个指定为根端口,若端口ID也一样则MAC地址值较小的为根端口。根端口在同一台交换机上不同端口中选出,其意义在于若根桥发送一段数据到该设备,则通过根端口进来的路径是最佳的。根桥没有根端口。

上图所示的网络中,以SW1为根桥,交换机的各端口收到来自根桥的BPDU的路径开销计算和根端口选举如下表所示:

路径开销计算与根端口选举
交换机 端口 路径开销 根端口
SW2 sw2-0 19 sw2-0
sw2-1 19+4+19 = 42
SW3 sw3-0 19+19 = 38 sw3-1
sw3-1 19+4 = 23
SW4 sw4-0 19 sw4-0
sw4-1 19+19+4 = 42

    选举指定端口:选举出根桥后,交换机SW2和SW3会在各自端口收到不同方向发来的BPDU,其中sw2-1会收到sw3-0转发的BPDU,而sw3-0也会收到sw2-1从另一方向发来的BPDU。交换机SW2和SW3各自收到后就会对这两个BPDU进行比较,根路径开销字段值较小的那个为优,若值一致则编号较小的那个为优,若编号也一致则MAC地址值较小的为优,发送该BPDU的端口就选为指定端口。指定端口从两台不同设备的两个互连端口中选出,其意义在于从两台互相发送BPDU的设备中选出最优的发送方向。

上图所示的网络中,交换机各端口发出的BPDU的路径开销计算和指定端口选举如下表所示,由于所有BPDU都是从根桥即SW1发出的,所以根桥端口发出的BPDU路径开销为0:

路径开销计算和指定端口选举
交换机 端口 路径开销 指定端口
SW1 - SW2 sw1-0 0 sw1-0
sw2-0 19+4+19 = 42
SW1 - SW4 sw1-1 0 sw1-1
sw4-0 19+19+4 = 42
SW2 - SW3 sw2-1 19 sw2-1
sw3-0 19+4 = 23
SW3 - SW4 sw3-1 19+19 = 38 sw4-1
sw4-1 19

阻塞端口:选举出指定端口和根端口后,各交换机就有了最佳接收端口和最佳发送端口,此时将非指定端口、非根端口阻塞,则整个网络的环路消失,同时根桥到各交换机的路径为最优。

上图所示的网络中,sw3-0即不是根端口也不是指定端口,所以将其阻塞,则sw2-1到sw3-0的路径中断,网络环路消失。

4、拓扑变更

以后补充

【能否即是根端口又是指定端口】成为根端口的条件是同一台交换机上,从根桥到达该端口的路径开销最小,成为指定端口的条件是两个交换机直连的两个端口中发出BPDU路径开销最小。如下图所示的两台交换机,我们先假设端口sw1-1为指定端口,从端口sw1-0进入的BPDU路径开销值为A,从宽sw4-1进入的BPDU路径开销值为B,两台交换机直连的端口开销值为C。

由于sw1-1为指定端口,所以从sw1-1发出的BPDU路径开销值小于从sw4-0发出的BPDU路径开销值,所以我们可以得出A<B。

再假设sw1-1也为根端口,则从sw1-1收到的BPDU路径开销值小于从sw1-0收到的BPDU路径开销值,所以可以得出A>B+C。

根据上面的计算,若sw1-1为指定端口则A小于B,若sw1-1为根端口,则A大于B+C,互相矛盾,则我们可以得出结论一个端口不可能即是指定端口又是根端口。

【STP的作用】实际应用中为了使链路更加稳定,用户总是使用多条路径来实现链路以达到的目的,或网络相当复杂时就会产生一个或数个环路。环路的产生易导致广播风暴、多帧复制和MAC地址表抖动等副作用,为了解决这些问题就产生了“生成树协议”。生成树将复杂的网络拓扑看成是一棵树,选取其中一个交换机作为树根称为“根桥”,与之相连的交换机选取一个“根端口”用于接收来自根方向的数据,选取一个“指定端口”用于发送来自根方向的数据,并将其他端口阻塞。实现了数据从根出发后可到达网络中所有设备但不会出现环路和重复接收的情况,同样,数据从任意设备出发到达另一设备的路径都是唯一的。

【环路的危害】环路主要导致三个问题,广播风暴、多帧复制和MAC地址表抖动。

广播风暴:简单的讲是指当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。假设AB两点成环,位于同一交换机。A发出未知地址的广播包,B接收到后由于交换机中无此MAC,重新发起一个广播,此广播包又到达A,由于目标无法从MAC表中匹配,A会再次发一起个广播,这样不停循环下去,就产生了广播风暴。

多帧复制:单播的数据帧可能被多次复制传送到目的站点。很多协议都只需要每次传输一个拷贝。多帧复制会造成目的站点收到某个数据帧的多个副本,不但浪费了目的主机的资源,还会导致上层协议在处理这些数据帧时无法选择,严重时还可能导致不可恢复的错误。

MAC地址表抖动:也就是MAC地址表不稳定,这是由于相同帧的拷贝在交换机的不同端口上被接收引起的。如果交换机将资源都消耗在复制不稳定的MAC地址表上,那么数据转发的功能就可能被消弱了。

【端口开销】网络中接入的交换机型号是多种多样的,同一交换机的不同端口其速率性能也并不一致,所以数据从A设备到达B设备或B设备到达C设备的损耗或速率并不一致,即传输成本不一致,于是提出一个端口开销的概念来区别这种差异性,两个直连端口的开销总是一致的,因为数据的接收和发送是双向的,不存在发送快接收慢的情况。

【路径开销】数据在网络中传递时会通过一个或数个端口,这些端口开销的累积值就是路径开销,代表了从链路一端到达另一端的总成本。

【网桥】早期的网桥就是用来连接两个由集线器构成的网络,因此说网桥可以隔离冲突域。可以将网桥看成只有两个端口的交换机,同样的,若交换机使用两个端口连接着两个网络,则也可以说这个交换机的两个端口实现了一个网桥。所以在前面的叙述中时常将网桥与交换机混为一谈。

时间: 2024-10-22 10:18:24

STP原理-路由交换原理11-【HCNA笔记】的相关文章

交换机工作原理-路由交换原理7-【HCNA笔记】

1.交换原理 我们知道交换机有若干个物理端口,端口可以接入主机.路由或其他交换机.同时接入交换机的设备都有一个MAC地址,交换机内部存储着一张缓存表,表上记录着各个端口对应设备的MAC地址.这样当一台主机需要向另一台设备发送数据时,在数据帧中注明目的设备的MAC地址,交换机读取该MAC地址,查询缓存表找到对应的端口号,将帧直接发往该端口对应的设备即可.缓存表示意如下. 端口 MAC地址 0 00-50-BA-CE-07-0C 1 00-50-BA-CE-07-0D 2 00-50-BA-CE-0

【HCNA笔记】路由交换原理-1 802.3和以太网帧结构

1.RAW 802.3帧格式 前导字段 帧起始符 DMAC SMAC Length Data FCS 7字节 1字节 6字节 6字节 2字节 46-1500字节 4字节 前导字段:每个帧以7个字节的前导字段开头,以0.1间隔代码组成,用以通知目标端作好接收准备(10101010 10101010 10101010 10101010 10101010 10101010 10101010). 帧起始符:紧跟前导字段,值为10101011,最后两位'11'表示帧的实际开始.前导字段与起始符由物理设备自

IP路由基础-路由交换原理9-【HCNA笔记】

1.路由原理 数据在网络上传输时,要先查询本机的路由表而后根据路由表的指示,决定是将该包发往交换机进行帧交换还是直接发往路由器进行IP寻址.首先不同的数据在传输层根据不同的协议打包成各种传输报文,报头中记录的内容可以控制传输的过程,如TCP报文.UDP报文等.而后根据目的地不同在网络层被加上了IP报头,其中指明了目的设备的IP地址.将报文递交给网卡之前,设备先查询自己的路由表,如下图所示,这个表中记录着本机的路由策略,即不同类型的IP地址在接下来应当如何被传递.(说明:本机IP是192.168.

ICMP协议-路由交换原理4-【HCNA笔记】

1.ICMP数据包格式 ICMP协议属于网络层,是TCP/IP协议族的一个子协议,ICMP数据包被封装在IP报文中.网络中传递的ICMP包示意如下,: ICMP数据包格式 帧头 IP报头 Data(ICMP包) FCS Type Code Checksum data 8位 8位 16位 按需要 Type:消息类型. Code:消息类型的具体参数. Checksum:校验字段,用于检查消息是否完整:在ICMP重定向消息中用于指定网关IP地址:在Echo Reply消息中这个字段包含标识符和序号.

IP编址-路由交换原理2-【HCNA笔记】

1.IP报文组成 IP报文由IP报头和Data部分组成,报头由6个数据块组成,其中前5个数据块每块大小是固定的4字节(32位),后一个数据块长度可变,但规定了IP报头最大不能超过60字节,所以IP报头的大小范围在20到60字节. IP报头 Data 数据块1 数据块2 数据块3 数据块4 数据块5 数据块6 4字节 4字节 4字节 4字节 4字节 0-40字节 20-60字节 2.IP报头详解 数据块1(32位=4字节) Version Header Length Type of Service

802.3和以太网帧结构-路由交换原理1-【HCNA笔记】

1.RAW 802.3帧格式 前导字段 帧起始符 DMAC SMAC Length Data FCS 7字节 1字节 6字节 6字节 2字节 46-1500字节 4字节 前导字段:每个帧以7个字节的前导字段开头,以0.1间隔代码组成,用以通知目标端作好接收准备(10101010 10101010 10101010 10101010 10101010 10101010 10101010). 帧起始符:紧跟前导字段,值为10101011,最后两位‘11’表示帧的实际开始.前导字段与起始符由物理设备自

ARP协议-路由交换原理5-【HCNA笔记】

1.ARP报文格式 ARP协议工作在数据链路层,网络中传输的ARP包示意如下(由于字段较多,这里对连续字段进行换行处理): 帧头 Data(ARP包) FCS ARP包: Hardware Type Protocol Type Hardware Length Protocol Length Operation Code 16位 16位 8位 8位 16位 Source Hardware Address Source Protocol Address 48位 32位 Destination Har

VLSM和CIDR-路由交换原理3-【HCNA笔记】

1.子网划分 IP地址分为网络ID和主机ID两部分,子网划分就是将主机ID中的某几位充当子网地址从而将原网络划分为若干子网.通过下表的方法我们将一个网段划分成了4个小的网段,同时使用子网掩码来区分子网的网络ID和主机ID.所以在IP后面我们一般加上其子网掩码如192.168.0.1/255.255.255.192,或是其子网掩码中1的个数如192.168.0.1/26.这样我们通过增加子网掩码中1的个数就能有效的增加网络中的网络ID,不过相应的就会减少每个子网中的主机ID. 子网划分 网络ID/

现代交换原理课程复习大纲

一.交换原理 电路交换.报文交换.分组交换(数据报与虚电路).ATM交换等基本原理及对比 B1P9    B1P133        B1P170 电信网络的交换技术 电路交换 程控交换机 虚电路交换 ATM IP NGN软交换 和IMS 面向连接和无连接方式 来自于互联网 这依赖于信息发送方是否需要与接收方联系并通过联系来维持一个对话连接(面向连接的),还是没有任何预先联系就发送消息(无连接的). 1.面向连接的服务:就是通信双方在通信时,要事先建立一条通信线路,其过程有建立连接.使用连接和释