第七章 STP协议

2024-08-26 08:20
文章标签 协议 第七章 stp

本文主要是介绍第七章 STP协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第7章 STP协议

一、生成树协议

介绍

  • 定义
    • STP(生成树协议,Spanning Tree Protocol)是一种用于防止以太网网络中出现环路的网络协议。环路会导致广播风暴、延迟增加和网络不稳定。

    • 使用最短路径优先算法/SPF算法来计算从树根到节点的最短路径。

  • 功能
    • STP的主要功能是确保一个网络中,只有一条活动路径可以通过交换机之间的数据传输,其他的路径则被禁用,以防止环路的形成

  • 版本
    • PVST和PVST+

    • RSTP快速生成树协议

    • MSTP多层生成树协议

冗余

在计算机网络中,冗余指的是通过建立多个网络路径连接来确保网络的可靠性

  • 多路径连接
    • 通过设置多条连接路径(如冗余交换机和路由器),即使其中一条路径发生故障,网络流量依旧可以通过其他路径进行传输。

  • 协议支持
    • 冗余协议,如生成树协议(STP)、快速生成树协议(RSTP)和链路聚合控制协议(LACP),可以优化流量转发及路径选择。

分类
  • 设备冗余
  • 线路冗余
  • 网关冗余
  • UPS电源冗余

交换机环状拓扑

环路问题
  • 广播风暴
    • 网络中存在物理逻辑环路,导致广播帧在回路中不断传递。例如,如果某些交换机之间没有配置生成树协议(STP),则会形成环路

  • MAC地址的漂移(偏移)
    • MAC地址漂移(MAC Address Drift)指的是在网络中同一台物理设备的MAC地址在不同时间或不同网络条件下发生变化的现象。

    • 例如在形成环路的交换机之间不断传递发送一台设备的MAC地址,导致地址在经过不同接口时一直更新变化

  • 多帧复制
    • PC设备发送一个广播帧,交换机进行转发。在交换机环路中其他设备不断对信息进行一次次转发并对其进行解封装处理。影响其他设备的性能

接口阻塞

通过STP逻辑的阻塞一些端口,从而达到逻辑上断开链路的目的,最终生成树形结构,从而破除环路

生成树会发送配置BPDU协商角色(根),并且初始情况下(选举未完成),所有设备运行STP均会发送配置BPDU,之后等角色选举完成后将仅由根设备周期发送配置BPDU,其他非根设备转发

BPDU类型
  • BPDU
    • 配置BPDU(Configuration BPDU):用于管理维护拓扑,包含了根桥ID、路径成本等信息。BPDU配置主要使用Bridge网桥技术。

    • BPDU是STP网络中的控制消息,包含了网络拓扑的信息,主要用于交换桥(或交换机)之间的状态和信息。

  • TCN-BPDU
    • 拓扑变化BPDU(Topology Change Notification BPDU):用于指示网络拓扑的变化,帮助网络设备及时更新其转发表。

    • 当生成树结构/拓扑发生变化时才会发送的BPDU。

    • 用来通知其他设备网络结构发生变化,当结构变化,需要逐级发送TCN-BPDU告诉根桥设备拓扑发生改变,之后根桥会发送配置BPDUTC位置1的数据包,刷新整个交换网络所有设备的MAC地址表(本质是让这些设备MAC地址表老化时间改为15S),之后接口的开启需要重新选举角色。

BPDU报文

STP数据包

STP通过创建一个无环的拓扑结构来确保数据包能有效地转发,避免广播风暴和网络拥塞。STP的工作涉及特殊的数据包称为“桥协议数据单元”(Bridge Protocol Data Units,BPDU)。

数据包内容

STP是跨层封装的数据包

  • 根网桥ID

    • Root ID,网络中被选为根桥的桥的ID标识符,相当于生成树的树根。规则和BID一样,指带根桥设备的身份。

  • 根路径开销

    • RPC,从发送BPDU的桥到根网桥的总成本。非根设备(节点设备)到达根桥的STP Cost

  • 发桥ID

    • Bridge ID,发送BPDU的桥的ID标识符。

  • 发送接口ID

    • Port ID,发送此BPDU的接口ID(优先级+接口号)。

    • 2字节16位二进制:前4位是优先级,后面是接口编号

  • 消息寿命

    • Message Age,BPDU的有效时间,即从根网桥发出BPDU之后的秒数

    • 不是时间单位,每经过一个设备的转发后+1,最大20,相当于限制了交换网络规模。本质是到达根桥的跳数

  • 标记流量特征

    • 指示该BPDU消息中是否包括某些标记信息。

注意
  • 生成树所有数值的比对均为越小越优

STP角色选举

角色划分
  • 根网桥RB
    • 在一个交换网络中选择唯一的一台设备成为根桥

  • 根端口RP
    • 非根设备均会选择自身的一个端口成为根端口。

  • 指定端口DP
    • 一段链路会选择一个端口成为指定端口,用来转发根桥发送的配置BPDU的端口就是指定端口。

  • 非指定端口NDP
    • 剩下没有角色的端口就是非指定端口,最终会被阻塞

根网桥选举
比较规则
  • 初始情况下所有设备均会发送配置BPDU,根据设备发送的配置BPDU中的BID选举BID数值最小的设备为根)。

  • 选举先比较设备优先级,然后再比较设备MAC地址

设备编号
  • BID:标识和区分STP设备的身份。

  • 8字段64位:其中前16位二进制是桥优先级,后48位是设备MAC地址

  • 桥优先级:方便人为干涉选举的结果。

  • 对于STP优先级字段只占前4位二进制,范围0~61440

  • 首先所有交换机默认BID中的优先级32768,并以4096作为步调

  • 在调整BID优先级时,需要以4096作为倍数进行修改。

根端口选举
比较规则
  • 根据RPC值进行选举

    • RPC = 沿途交换机接口入接口开销值累加和

    • 根路径开销RPC,非根设备到达根设备的开销

华为使用的是IEEE公有组织的802.1T标准方法,并未使用自己的华为计算方法,而802.1D标准过于老旧已经舍去。

每经过一个接口的配置BPDU开销值为2000

选举规则
  1. 比较入向RPC值(IRPC)

    • 首先会比较接口收到的从根桥发送配置BPDU的开销值累加和

  2. 入接口RPC一样时,则比较对端设备的编号BID

    • 会选择接口收到的配置BPDU中BID小的接口成为根端口

  3. 对端设备BID一样时,则比较接口收到对端发送的配置BPDU的PID(接口ID)。

  4. 对端设备PID一样时,就只能选择自身接口PID小的成为根端口

指定端口选举
  1. 比较出向RPC值(ORPC)

    • 首先会比较接口发出的从根桥发送配置BPDU的开销值累加和

  2. 出接口RPC一样时,则比较自身设备编号BID

    • BID小的设备,自身接口成为指定端口。

  3. 对端设备BID一样时,比较自身的PID(接口ID)。

  4. 如果自身接口收到了自己发送配置BPDU,则直接阻塞(不选举)。

注意
  • 当根网桥设备故障时,则会继续选择设备编号BID最小的设备成为根网桥

  • 如果一条链路的两个端口都没有选举为角色时,仍旧要进行指定端口的选举,直到选举完所有接口。

  • 所有选举基本在前两条规则就能选举完毕,剩下两条规则基本都是连接错误使交换机设备间成环时来进行判断的(如两台交换机互相连接)。

选举练习
图例
  • 圆圈设备为根网桥

  • 大红点为根端口

  • 蓝点为指定端口

  • 小红点为非指定端口,路径将被阻塞

  • 箭头为生成树路径

练习1
练习2
练习3

STP配置

接口状态

在生成树协议(Spanning Tree Protocol,STP)中,每个接口会有不同的状态,以确定其在网络拓扑中的角色和处理数据包的能力

  1. 禁用状态(Disabled)

    • 端口被手动关闭或因故障无法工作。

    • 在这种状态下,不会转发数据也不会学习MAC地址。

  2. 阻塞状态(Blocking)

    • 端口不转发数据帧,并且不学习MAC地址。

    • 该状态用于防止环路的形成。这种端口只接收不发送BPDU(桥协议数据单元)。

  3. 监听状态(Listening)

    • 端口正常接收发送BPDU,但不开始转发/不接收数据帧,也不学习MAC地址。

    • 监听状态的目的在于确保没有环路,端口在此状态下会监视BPDU信息

  4. 学习状态(Learning)

    • 端口开始学习存储记录通过数据包中的MAC地址,但仍然不转发任何数据帧。

    • 这个阶段是为了构建MAC地址表,以便在后续的转发阶段使用。

  5. 转发状态(Forwarding)

    • 端口开始转发业务数据帧,进行BPDU处理,并且继续学习MAC地址。

    • 这个状态允许端口充当网络中的正常数据转发路径

    • 接口角色为根接口或者指定接口才能进入转发状态。

注意
  • 初始情况下,所有运行STP的设备将自身所有接口置为阻塞状态,为了保证没有业务数据的收发,因为此时STP还没有完成角色选举,链路没有阻塞可能出现环路

  • 之后因为此时所有设备都不涉及配置BPDU的发送,所以没有办法完成角色的选举,所以设备会等待最大寿命20s,之后将接口自动置为侦听状态去完成角色的选举,选举时间为15s(为了让STP设备的所有角色均选举完成 / 避免此时出现临时的环路)。

  • 之后如果接口被选举为非指定接口,那么该接口回到阻塞状态,其他接口(根/指定端口)进入学习状态,在15s内数据来到交换机,仅记录不转发MAC地址表。

STP收敛

首次收敛的时间为50s。

重新收敛的时间为50s。

只需要30s,根端口连接链路故障,则直接改接口进入侦听状态

需要50s重新收敛

命令1

  • 开启设备生成树

    • 华为设备STP低端交换机默认开启

    • stp enable

  • 选择生成树版本为STP

    • stp mode stp

  • 直接将设备配置为根网桥,优先级为0

    • stp root primary

    • 将设备配置为备份根网桥,优先级4096

    • stp root secondary

  • 修改设备BID优先级

    • 选举BID小的为根网桥

    • 默认优先级为32768,步调4096

    • stp priority [优先级]

  • 指定接口STP优先级

    • 注意要进入接口中

    • stp port priority [优先级]

  • 关闭设备生成树

    • undo stp enable

    • 在接口中执行则是只关闭接口生成树协议。

  • 查看STP完整信息

    • display stp

  • 查看接口生成树指令,设备默认使用MSTP

    • display stp brief

配置

 ### 手动开启生成树[sw1]stp enable​### 选择生成树版本,6台设备都要设置[sw1]stp mode stp...​### 查看接口生成树指令[sw6]display stp brief​### 查看完整STP信息# 这里我们发现sw6的根和[sw6]display stp

判断设备是都是根网桥的方法:

  • 查看设备是否含有根端口,如果有说明是非根设备

  • 查看根网桥和自身的BID,如果相同则为根网桥。

这里我们调整sw1为根网桥。

 ### 修改设备BID优先级,选举根桥BID小的为根# 必须按照步调来设置优先值,步调为4096# sw6不设置,默认优先级为32768[sw5]stp priority 28672[sw4]stp priority 24576[sw3]stp priority 20480​### 直接设置为根网桥,优先级为0[sw1]stp root primary### 设置为备份根,优先级4096[sw2]stp root secondary​# 查看接口生成树[sw2]display stp brief

此时发现sw1成功设置为根网桥,并将生成树成功设置。

二、STP版本

思科 --- PVST PVST+

RSTP协议

RSTP(快速生成树协议,Rapid Spanning Tree Protocol,IEEE 802.1w)。对STP进行了改进,减少了收敛时间,提高了网络故障恢复速度

改进

改进点:STP不一样的部分。

  1. 变更端口角色:根端口 指定端口 非指定端口

    • RSTP和MSTP均存在根端口、指定端口、非指定端口拆分为替代端口(ALTE)和备份端口(backup)。

    • 替代端口(ALTE):是作为设备根端口的替代,当根端口出现故障,则直接成为新的根端口。本地快速比较选举新的端口。

    • 备份端口(backup):实际上作为指定端口的备份,当指定端口故障,备份端口将第一时间成为新的指定端口。

  2. 变更了端口状态

    • MSTP和RSTP中仅存在三种状态

    • 可以收发BPDU完成STP角色选举,同时不能收发业务流量,也不会记录MAC地址表。

    • 将STP的禁用、阻塞、侦听状态三合一丢弃状态(Discarding)。

    • MAC地址表

      • 如果能够接收业务数据,就可以记录MAC地址表Learning状态

      • 接口没有被阻塞,正常工作的接口状态Forwarding状态

  3. 修改了配置BPDU报文(8位二进制)中一些参数

    • P/A请求应答机制:RSTP核心加快收敛的机制(Proposal/Agreement),可以让端口更快的进入转发状态(Forwarding),可以将生成树的收敛时间加快到2-3S。

    • 将接口角色的选举,改为一段链路一段链路的选举,若一段链路对端接口是指定,则自身设备会进入到“同步”状态,将自身剩余所有接口直接关闭避免环路,然后发送A标志位为1RST-BPDU通知对端接口直接进入转发状态

  4. 加快了生成树的失效判断时间

    • 超时时间MAX-age设置为3倍的hello时间=6S,所有设备所有接口都可以以2s周期发送BPDU,不必再等待根网桥发送后再转发。只要设备超过6s未收到配置BPDU报文信息,则判断对端设备故障,发送TCN变化BPDU告知拓扑结构发生变化。

  5. 快速收敛机制总结

    • 根端口和指定端口的快速切换:设计了替代端口和备份端口,当根和指定端口故障时,直接切换

    • P/A机制将STP的收敛速度提升到2S左右。

    • 边缘端口:交换机连接PC的端口需要进行角色选举但没有必要进行,可以直接进入转发状态(因为就算选举成功最终也是转发状态),一旦边缘接口收到BPDU则直接变成普通端口

命令2

RSTP

  • 将接口配置为边缘接口(开启/关闭)

    • stp edged-port enable/disable

  • 过滤接口发送的BPDU(开启/关闭)

    • stp bpdu-filter enable/disable

  • 配置BPDU保护

    • 如果收到BPDU则直接关闭该接口

    • stp bpdu-protection

MSTP

  • 启动生成树

    • stp region-configuration

  • 配置生成树名称(注意大小写)

    • 这里进入MSTP生成树模式

    • region-name [生成树名称]

  • 配置修订等级

    • 如果修改都要修改,不修改默认为0--可选

    • revision-level [修订等级]

  • 配置实例ID(Instance ID)并绑定VLAN区域

    • ID范围为0~48,其中0为默认,建议从1开始

    • instance [实例ID] vlan [区域]

    • 也可以绑定多个VLAN

    • instance [实例ID] vlan [区域a] to [区域b]

  • 激活/保存MSTP配置

    • active region-configuration

  • 调整实例优先级(组优先级)

    • 将设备配置为实例1的根,本质将实例1的优先级数值变为0

    • stp instance 1 root primary

    • 将设备配置为实例1的备份根(如果存在备份),本质将实例1的优先级变为4096

    • stp instance 1 root secondary

  • 查看生成树域配置

    • 必须先进行激活MSTP,否则没有信息

    • display stp region-configuration

配置

 ### 无需PC选举角色直接进入转发状态## 将接口配置为边缘接口[SW4-GigabitEthernet0/0/4]stp edged-port enable​### 此时抓包PC可以发现一直有BPDU发送过来,而我们正常不需要这些信息## 过滤接口发送的BPDU[SW4-GigabitEthernet0/0/4]stp bpdu-filter enable​### 防止收到不正常BPDU(如黑客),如果收到BPDU则直接关闭该接口## 配置BPDU保护[SW4]stp bpdu-protection

MSTP协议

MSTP(多层生成树协议/基于VLAN生成树协议,Multiple Spanning Tree Protocol,IEEE 802.1s)。允许在同一个物理网络中创建多个生成树实例,以支持VLAN的负载平衡

为了避免VLAN数量太多,最终生成树的数量太多和周期性数据太多。MSTP提出了Instance VLAN组的概念,可以将VLAN划入一个组中。

  • 基于组生成树Instance ID实例ID占12位二进制,即有212个。

  • 范围:0~4095。其中0默认存在,无需创建。

链路聚合
定义

链路聚合(Link Aggregation),是将多条物理链路,通过链路聚合逻辑上绑定在一起成为一条逻辑链路,以提高带宽和冗余性,同时维持网络的冗余功能和稳定性。

聚合特点
  1. 带宽增加

    • 通过将多条物理链路聚合为一条逻辑链路,网络能提供更高的总带宽。例如,两条千兆以太网链路聚合后可实现最多2Gbps的带宽。

  2. 冗余

    • 如果聚合中的一条链路发生故障,数据流量可以自动转移到其他正常工作的链路上,从而保持连接的稳定性。

  3. 负载均衡

    • 链路聚合技术可以将流量分散到聚合的多条物理链路上,从而实现负载均衡,提高整体传输效率

  4. 简化管理

    • 将多条链路视为一条逻辑链路,可以简化路由和交换机的配置和管理。

聚合条件
  • 聚合前的接口一定不能存在配置(或者一些厂商设备要求聚合接口配置必须完全一致 --- H3C)。

  • 如果聚合接口对端设备不同,则不能使用聚合,聚合链路必须保证带宽一致

注意
  • 如果接口不连续,则一个一个分别聚合。

  • 如果聚合接口连续,则可以直接使用to来连接,批量聚合端口。

  • 如果想要聚合链路放通VLAN,可以直接针对聚合之后的逻辑接口进行配置。

命令3

手动聚合

  • 创建聚合组

    • 范围在0~63,共64个

    • interface Eth-Trunk [聚合组编号]

  • 聚合物理接口

  • 注意聚合前接口不能存在配置

    • 可以空格隔开进行多个聚合,也可用to来聚合连续的接口

    • trunkport GigabitEthernet [接口]

  • 单独将某个接口划入聚合链路中

    • 首先要进入到接口中

    • eth-trunk [聚合组编号]

  • 查看聚合组信息

    • display interface Eth-Trunk

配置1

VLAN配置
 # 创建vlan[SW7]vlan batch 2 to 12# 配置链路协议并放通vlan[SW7-GigabitEthernet0/0/2]port link-type trunk[SW7-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 to 12[SW7-GigabitEthernet0/0/1]port link-type trunk[SW7-GigabitEthernet0/0/1]port trunk allow-pass  vlan  2 to 12# 其他设备同理,所有接口都要配置[SW5]vlan batch 2 to 12[SW5-GigabitEthernet0/0/1]port link-type trunk[SW5-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 to 12[SW5-GigabitEthernet0/0/2]port link-type trunk[SW5-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 to 12...
生成树配置

华为前两步为默认配置,可以省略,这里为了规范。

我们这里选择将创建的VLAN分为两个MST域/组

 # 开启生成树[SW5]stp enable# 选择生成树模式[SW5]stp mode mstp​### 启动生成树[SW5]stp region-configuration​### 配置生成树名称(注意大小写)[SW5-mst-region]region-name aaa​### 配置修订等级,要改就都修改,不改默认为0[SW5-mst-region]revision-level 100​### 配置实例ID并绑定分配VLAN[SW5-mst-region]instance 1 vlan 2 to 6[SW5-mst-region]instance 2 vlan 7 to 12​### 激活/保存MSTP配置[SW5-mst-region]active region-configuration ​# 展示所有配置并复制粘贴配置其他设备[SW5-mst-region]display this​### 查看生成树域配置[SW4]display stp region-configuration

小提示:这里可以直接使用display this命令展开当前所有配置,然后选中框选中的所有命令直接复制粘贴到其他设备,实现快捷配置

注意这里查看配置前必须进行激活,否则没有信息。

这里查表发现根设备为SW7,我们选择修改根网桥为SW5,因为上级设备的性能更好,尽量选择上级设备为根设备。

 ### 此时查看STP表发现SW7为根网桥(无根端口且均为指定状态DESI)[SW7]display stp brief​### 调整实例优先级(组优先级)## 让VLAN2-6的流量(实例1)走SW5,SW6作为备份,# 将SW1配置为实例1的根,本质将实例1的优先级数值变为0[SW5]stp instance 1 root primary​# 将SW6配置为实例1的备份根(如果存在备份),本质将实例1的优先级数值变为4096[SW6]stp instance 1 root secondary​## 让VLAN7-12的流量(实例2)走SW6,SW5作为备份[SW5]stp instance 2 root secondary[SW6]stp instance 2 root primary​### 通过查看不同MSTID的分组端口状态判断根设备[SW5]display stp brief...

即SW7实例1的流量右侧端口被阻塞(ALTE替代端口),所以VLAN2~6从左侧通过;实例2则相反。

配置2

在配置1的基础上将LSW5和LSW7再连接一条线路。

链路聚合

将多条物理链路,通过链路聚合逻辑上绑定在一起成为一条逻辑链路

手动聚合
 ## 聚合前要将接口配置给删除[SW5-GigabitEthernet0/0/2]undo port trunk allow-pass vlan 2 to 12[SW5-GigabitEthernet0/0/2]undo port link-type### 创建聚合组[SW5]interface Eth-Trunk 0​### 聚合接口[SW5-Eth-Trunk0]trunkport GigabitEthernet 0/0/2 0/0/3​## 对端SW7同理配置,注意删除接口2配置[SW7]interface Eth-Trunk 0[SW7-Eth-Trunk0]trunkport GigabitEthernet 0/0/2 0/0/3### 也可以单独将某个接口划入聚合链路中[SW7-GigabitEthernet0/0/2]eth-trunk 0​# 查看接口配置[SW5-Eth-Trunk0]display interface brief ​## 聚合完成后再放通VALN[SW7-Eth-Trunk0]port trunk allow-pass[SW7-Eth-Trunk0]port trunk allow-pass vlan 2 to 12​### 查看聚合组信息[SW7]display interface Eth-Trunk
自动聚合

仅作了解

三、VRRP

虚拟路由冗余协议(VRRP, Virtual Router Redundancy Protocol)是一种用于提供路由器冗余的网络协议(网关冗余)。VRRP使多个路由器能够共同工作,以确保网络中的一个虚拟路由器可以在主路由器出现故障时自动接管IP地址,从而保证网络的可靠性和可用性。

工作原理

  1. 虚拟路由器

    • VRRP通过定义一个虚拟路由器,将多个物理路由器整合为一个虚拟路由器。这个虚拟路由器有一个虚拟IP地址,所有流量通过这个地址进行转发。

  2. 主路由器与备份路由器

    • 在VRRP中,其中一个路由器被选为主路由器(Master),负责转发流量。其他路由器称为备份路由器(Backup),在主路由器故障时接管其职责。

  3. 选举机制

    • 主路由器的选举是基于优先级的设置,优先级值较高的路由器作为主路由器。在系统启动时,路由器根据设定的优先级选择主路由器。如果主路由器失效,其它路由器会通过比对优先级重新进行选举。

  4. 心跳机制

    • 主路由器定期发送VRRP广告包(VRRP Advertisement)以通知备份路由器其状态。如果备份路由器未收到这些广告包,表明主路由器可能故障,备份路由器会进行选举。

  5. 故障转移

    • 当主路由器故障后,最高优先级的备份路由器会变为新的主路由器,并接管虚拟IP地址,从而继续转发流量。

主要特性

  • 冗余性:通过使用多个物理路由器以提供冗余,提高网络的可靠性。

  • 高可用性:确保在某个路由器故障时,网络依然保持可用,不会中断服务。

  • 简化管理:虚拟路由器的使用简化了IP地址管理,允许多个路由器共享一个IP地址。

  • 兼容性:VRRP能够与多种路由协议兼容使用。

选举规则

VRRP存在组的概念,需要把进行VRRP选举的设备添加到一个组中。

  • 先看设备发送的VRRP报文中携带的优先级,默认是100--范围是1-255,越大越优

  • 如果优先级比较不出来,则比较接口IP地址,数值大的为主设备,最终继承虚拟IP(网关)。

  • 当主设备选举出来之后,会1s为周期发送VRRP报文,其他设备3.6s没有收到主设备报文,则认为主设备故障

  • VRRP会在回复MAC地址时,生成一个0000-5e00-01XX,实际上就是组号

抢占延迟

背景信息

在网络环境不稳定时,为了避免出现双Master设备或 由于主备频繁切换导致主机设备学习到错误的Master 设备地址,建议用户配置如下抢占方式以增强主备状 态的稳定性:

  • Backup设备配置为立即抢占,即延迟时间为0 以便在Master设备出现故障后及时切换,减少业务 中断时间。

  • Master设备配置为延迟抢占,以便Master设备 端故障恢复时,先等待其他相关业务恢复故障(如 路由收敛),再抢占到Master状态,减少丢包率

命令

首先要进入接口

  • 创建虚拟组并配置虚拟IP

    • 虚拟组范围为1~255,同组虚拟IP必须相同

    • vrrp vrid [组ID] virtual-ip [虚拟IP]

  • 修改主设备VRRP优先级

    • 数值大的就是Master

    • vrrp vrid [组ID] priority [优先级]

抢占延迟(同样进入接口)

  • 配置抢占延迟

    • 延迟时间单位为秒

    • vrrp vrid [组ID] preempt-mode timer delay [延迟时间]

  • 上行链路监控

    • 可以选择增加或减少优先级

    • vrrp vrid [组ID] track interface GigabitEthernet [接口号] increased/reduced [优先级]

  • 查看VRRP配置

    • display vrrp brief

    • 查看详细信息

    • display vrrp

配置1
基础配置
 ### 基础配置[R1-GigabitEthernet0/0/0]ip address 13.0.0.1 24[R2-GigabitEthernet0/0/0]ip address 23.0.0.1 24[R1-GigabitEthernet0/0/1]ip address 192.168.1.1 24[R2-GigabitEthernet0/0/1]ip address 192.168.1.2 24[R3-GigabitEthernet0/0/0]ip address 13.0.0.2 24[R3-GigabitEthernet0/0/1]ip address 23.0.0.2 24​## 创建环回[R3-LoopBack0]ip address 1.1.1.1 24​# 配置单区OSPF并宣告所有接口[R3-ospf-1-area-0.0.0.0]network 0.0.0.0 0.0.0.0[R1-ospf-1-area-0.0.0.0]network 0.0.0.0 0.0.0.0[R2-ospf-1-area-0.0.0.0]network 0.0.0.0 0.0.0.0
VRRP

这里我们让R2为主设备Master。

 ### 配置虚拟组和虚拟IP## 注意同组内虚拟IP必须相同[R1-GigabitEthernet0/0/1]vrrp vrid 1 virtual-ip 192.168.1.254[R2-GigabitEthernet0/0/1]vrrp vrid 1 virtual-ip 192.168.1.254​### 查看VRRP配置[R1]display vrrp brief## 查看详细配置[R1]display vrrp# 此时发现R1为Master,因为优先级相同,先配置R1就优先抢占​### 修改主设备VRRP优先级,数值大的就是Master[R2-GigabitEthernet0/0/1]vrrp vrid 1 priority 120​# 再次查看发现R1变为备份设备[R1]display vrrp​## 在PC中成功ping通PC>ping 1.1.1.1​## 也可以换一种测试连接方式,可以查看顺序以及时间PC>tracert 1.1.1.1

查看PC发现物理IP地址和虚拟IP地址以及对应MAC地址。

 ### 此时我们来验证当有一个接口故障时另一个设备是否可以抢占成为Master​### 先在PC端进行一个持续ping的命令PC>ping 1.1.1.1 -t​### 关闭接口[R2-GigabitEthernet0/0/1]shutdown
配置2
三层交换机

我们将前面的拓扑图中间的两个路由器换为交换机,并且在两个设备之间连接一条链路。

我们这里给PC1划分为VLAN2,PC2划分为VLAN3.

 ### VLAN划分[SW2]vlan batch 2 3[SW2-GigabitEthernet0/0/3]port link-type access[SW2-GigabitEthernet0/0/3]port default vlan 2[SW2-GigabitEthernet0/0/4]port link-type access[SW2-GigabitEthernet0/0/4]port default vlan 3​## Trunk放通多个VLAN[SW2-GigabitEthernet0/0/1]port link-type trunk[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3[SW2-GigabitEthernet0/0/2]port link-type trunk[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 3# LSW3和LSW4同理[SW3]vlan batch 2 3[SW3-GigabitEthernet0/0/2]port link-type trunk[SW3-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 3[SW4]vlan batch 2 3[SW4-GigabitEthernet0/0/2]port link-type trunk[SW4-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 3# 注意SW3和SW4之间链路也要放通VLAN2、3
生成树配置
 ### 配置生成树[SW2]stp region-configuration[SW2-mst-region]region-name AAA## VLAN2、3分别为一个组[SW2-mst-region]instance 1 vlan 2[SW2-mst-region]instance 2 vlan 3## 激活配置[SW2-mst-region]active region-configuration# 其他交换机同理配置,注意组名称一致[SW3]stp region-configuration [SW3-mst-region]region-name AAA[SW3-mst-region]instance 1 vlan 2 [SW3-mst-region]instance 2 vlan 3[SW3-mst-region]active region-configurationSW4...​### 修改根优先级[SW2]stp instance 1 root primary[SW4]stp instance 2 root primary​### 创建虚拟Vlanif接口并配置IP[SW3]interface Vlanif 2[SW3-Vlanif2]ip address 192.168.1.1 24[SW3]interface Vlanif 3[SW3-Vlanif3]ip address 192.168.2.1 24# SW4同理配置[SW4]interface Vlanif 2[SW4-Vlanif2]ip address 192.168.1.2 24[SW4]interface Vlanif 3[SW4-Vlanif3]ip address 192.168.2.2 24
VRRP配置

要保证根和VRRP的Master在同一台设备上,这里我们选择SW3。

 ### 先在OSPF宣告所有IP[SW3-ospf-1-area-0.0.0.0]network 0.0.0.0 0.0.0.0[SW4-ospf-1-area-0.0.0.0]network 0.0.0.0 0.0.0.0​### 在虚拟接口中配置VRRP[SW3-Vlanif2]vrrp vrid 1 virtual-ip 192.168.1.254[SW4-Vlanif2]vrrp vrid 1 virtual-ip 192.168.1.254# 修改优先级[SW3-Vlanif2]vrrp vrid 1 priority 120​### 配置上级链路虚拟接口[SW3]vlan 100[SW3]interface Vlanif 100[SW3-Vlanif100]ip address 13.0.0.1 24# 配置后虚拟接口状态为down,配置VLAN​## Access放通单个VLAN[SW3-GigabitEthernet0/0/1]port link-type access[SW3-GigabitEthernet0/0/1]port default vlan 100# 此时可以ping通R3[SW3]ping 13.0.0.2​## SW4同理配置[SW4]vlan 200[SW4]interface Vlanif 200[SW4-Vlanif200]ip address 23.0.0.1 24[SW4-GigabitEthernet0/0/1]port link-type access[SW4-GigabitEthernet0/0/1]port default vlan 200[SW4]ping 23.0.0.2​### 此时PC成功连通环回PC>tracert 1.1.1.1
抢占延迟
 ### 配置抢占延迟## 给主设备SW3设置抢占延迟30秒[SW3-Vlanif2]vrrp vrid 1 preempt-mode timer delay 30​### 上行链路监控,上联接口故障往往VRRP不能自己感知到## 如果一号接口故障,则要降低30优先级[SW3-Vlanif2]vrrp vrid 1 track interface GigabitEthernet 0/0/1 reduced 30​### 此时我们将SW3和R3的连线删除,则Master会切换为SW4,完成转换

这篇关于第七章 STP协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108044

相关文章

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

Modbus-RTU协议

一、协议概述 Modbus-RTU(Remote Terminal Unit)是一种基于主从架构的通信协议,采用二进制数据表示,消息中的每个8位字节含有两个4位十六进制字符。它主要通过RS-485、RS-232、RS-422等物理接口实现数据的传输,传输距离远、抗干扰能力强、通信效率高。 二、报文结构 一个标准的Modbus-RTU报文通常包含以下部分: 地址域:单个字节,表示从站设备

网络原理之TCP协议(万字详解!!!)

目录 前言 TCP协议段格式 TCP协议相关特性 1.确认应答 2.超时重传 3.连接管理(三次握手、四次挥手) 三次握手(建立TCP连接) 四次挥手(断开连接)  4.滑动窗口 5.流量控制 6.拥塞控制 7.延迟应答 8.捎带应答  9.基于字节流 10.异常情况的处理 小结  前言 在前面,我们已经讲解了有关UDP协议的相关知识,但是在传输层,还有

DNS协议基础笔记

1.定义 DNS(Domain Name System,域名系统)是互联网的一项核心服务,它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 2.域名解析过程 当用户在浏览器中输入一个域名,浏览器首先会检查自己的缓存中是否有该域名对应的 IP 地址。本地 DNS 服务器收到查询请求后,首先会检查自己的缓存中是否有该域名对应的 IP 地址。根域名服务器收到查询请

4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)

MQTT协议概述 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,它被设计用来提供一对多的消息分发和应用之间的通讯,尤其适用于远程位置的设备和高延迟或低带宽的网络。MQTT协议基于客户端-服务器架构,客户端可以订阅任意数量的主题,并可以发布消息到这些主题。服务器(通常称为MQTT Broker)则负责接受来自客户端的连接请求,并转发消

HTTP协议 HTTPS协议 MQTT协议介绍

目录 一.HTTP协议 1. HTTP 协议介绍 基本介绍: 协议:  注意: 2. HTTP 协议的工作过程 基础术语: 客户端: 主动发起网络请求的一端 服务器: 被动接收网络请求的一端 请求: 客户端给服务器发送的数据 响应: 服务器给客户端返回的数据 HTTP 协议的重要特点: 一发一收,一问一答 注意: 网络编程中,除了一发一收之外,还有其它的模式 二.HTT

Java基础入门 【第七章 抽象、接口、内部类、枚举】(二)

匿名内部类书写格式: 父类或接口类型变量名=new父类或接口(构造方法实参列表){ //重写所有的抽象方法 @Override public返回值类型method1(形参列表){ 方法体实现 } @Override public返回值类型method2(形参列表){ 方法体实现 } //省略... }; //匿名内部类对象调用方法 变量名.重写方法(实参列表); 匿名

CAMediaTiming协议

今天看下下CALayer这个类,里面的属性是实现CAMediaTiming这个协议的,这里简单介绍一下CAMediaTiming协议里面的属性。官网链接 如下 beginTime:开始时间(和父类相关) timeOffset:动态的本地时间t,tp是父类事件。t = (tp - begin) * speed + offset.用于暂停一个layer。  fillMode:layer完成后的