CN116668282B - 一种基于stp生成树协议的二层网关高可用方法及系统 - Google Patents

一种基于stp生成树协议的二层网关高可用方法及系统 Download PDF

Info

Publication number
CN116668282B
CN116668282B CN202310755139.6A CN202310755139A CN116668282B CN 116668282 B CN116668282 B CN 116668282B CN 202310755139 A CN202310755139 A CN 202310755139A CN 116668282 B CN116668282 B CN 116668282B
Authority
CN
China
Prior art keywords
gateway
layer
ports
spanning tree
high availability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310755139.6A
Other languages
English (en)
Other versions
CN116668282A (zh
Inventor
吴长亮
徐文豪
张凯
王弘毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhiling Haina Technology Co ltd
Original Assignee
SmartX Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SmartX Inc filed Critical SmartX Inc
Priority to CN202310755139.6A priority Critical patent/CN116668282B/zh
Publication of CN116668282A publication Critical patent/CN116668282A/zh
Application granted granted Critical
Publication of CN116668282B publication Critical patent/CN116668282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及二层网关高可用技术领域,提供了一种基于STP生成树协议的二层网关高可用方法,包括:S1:设置包括若干网关节点副本的二层网关,每一个所述网关节点均分别同时与不同的二层网络连接;S2:基于STP生成树协议对所述二层网关进行高可用设置,使得同一时刻仅一个所述网关节点处于可用状态;S3:在当前时刻采用处于可用状态的所述网关节点为当前连接的所述二层网络提供包括转发和连接在内的功能。上述技术方案,使用STP技术,利用原本用于避免链路成环的技术,在数据平面实现了二层网关的高可用,避免引入额外的控制器开销。同时使用mSTP技术将二层网络划分成多个mS TP域,实现多个二层网关实例的共存和隔离。

Description

一种基于STP生成树协议的二层网关高可用方法及系统
技术领域
本发明涉及二层网关高可用的技术领域,尤其涉及一种基于STP生成树协议的二层网关高可用方法及系统。
背景技术
二层网关高可用(Layer 2 Gateway High Availability)是指在计算机网络中,保持二层网关设备连续可用和无中断的状态,以确保网络的持续性和可靠性。二层网关是连接不同二层网络的设备,它提供了二层网络之间的转发和连接功能。在网络中,二层网关起着至关重要的作用,如果二层网关发生故障或不可用,将导致二层网络之间的通信中断,影响网络的正常运行。
在现有技术中二层网关高可用一般通过以下方法实现:
一、完全控制器高可用
在二层网关的高可用性设计中,完全控制器(Full Controler)是一种额外的控制程序,通过特定的选主机制,找到并配置主网关节点来提供服务。完全控制器的主要功能是监控和管理二层网关设备,并确保主备网关节点的状态同步和一致性。它可以通过以下步骤实现二层网关的高可用性:
(1)选主机制:完全控制器实施一种选主机制,用于从备份网关节点中选择主网关节点。选主机制可以根据设备的健康状态、性能指标、优先级等因素进行选择,确保选出的主网关节点是最适合承担主要服务的设备。
(2)主备节点状态同步:完全控制器负责监控主备网关节点的状态,并确保状态在主备网关节点之间同步。这包括配置信息、路由表、MAC地址表等关键状态的同步,以确保备份网关节点能够在主网关节点故障时无缝接管工作。
(3)主备网关节点切换:当主网关节点发生故障或不可用时,完全控制器会自动进行主备网关节点的切换。它会检测主网关节点状态的变化,并将服务流量和配置信息切换到备份网关节点上,以保持网络的连续性和可用性。
(4)故障恢复:完全控制器会监测主网关节点的恢复,并在主网关节点恢复正常后将服务流量和配置信息切换回主节点,以实现正常的工作状态。
二、部分控制器高可用
在二层网关的高可用性设计中,可以利用链路检测和高可用技术如BFD(Bidirectional Forwarding Detection)和VRRP(Virtual Router Redun dancyProtocol)来感知物理网络异常,并通过控制程序操作主网关节点切换。
BFD(Bidirectional Forwarding Detection):BFD是一种快速探测链路故障的协议,它可以在网络中快速检测链路故障,并通知控制程序。通过在主备网关节点之间建立BFD会话,可以实时监测链路的连通性。当BFD检测到链路异常或故障时,它会立即通知控制程序,以触发主网关节点切换操作。
VRRP(Virtual Router Redundancy Protocol):VRRP是一种网络协议,用于实现虚拟路由器冗余。通过配置VRRP,可以在主备网关节点之间创建虚拟路由器,实现冗余和故障切换。VRRP主网关节点负责处理网络流量,备份网关节点处于备份状态。当主网关节点故障或不可用时,备份网关节点会自动接管主网关节点的IP地址和功能。
利用BFD和VRRP等技术,可以实现以下流程:
(1)BFD监测链路状态:BFD会话在主备网关节点之间建立,实时监测链路的连通性。一旦BFD检测到链路故障或异常,它会发出通知。
(2)接收链路异常通知:控制程序接收BFD的链路异常通知,并感知到物理网络的异常情况。
(3)触发主网关节点切换:控制程序根据链路异常通知,判断主网关节点的状态,并触发主网关节点切换操作。这可能涉及更改VRRP中的主备角色或执行其他切换策略。
(4)备份网关节点接管:一旦主网关节点切换完成,备份网关节点会自动接管主网关节点的IP地址和功能,继续提供服务。
三、ECMP高可用
在二层网关的高可用性设计中,ECMP(Equal Cost Multipath)可以用于配置等价多路径,以实现同时存在多个可用的数据路径。ECMP是一种路由策略,用于在具有相同成本的多个路径之间进行负载均衡。它允许将流量分布到多个路径上,以提高网络的性能和可靠性。在二层网关中,ECMP可以应用于物理网络配置,以实现高可用性。
以下是在二层网关中利用ECMP实现高可用性的步骤:
(1)物理网络配置:在二层网络中,配置多个物理链路(路径)连接二层网关设备。这些链路应具有相同的成本(Cost),即具有相似的带宽、延迟和可靠性。
(2)等价多路径配置:将这些物理链路配置为等价多路径。这意味着它们在逻辑上被视为具有相同的成本,可以同时用于数据传输。二层网关设备会识别这些等价路径,并将流量分发到这些路径上。
(3)数据流分发:当数据流进入二层网关时,通过负载均衡算法将流量分发到多个等价路径上。负载均衡算法可以根据流量的源IP、目标IP、源端口、目标端口等因素进行分发决策。
(4)路径故障检测:通过链路状态监测或其他故障检测机制,实时检测等价路径的可用性。如果其中某条路径发生故障或不可用,二层网关设备会自动将流量切换到其他可用的路径上。
上述现有技术中二层网关高可用的方法具有以下缺陷:
采用包括完全控制器和部分控制器在内的高可用方式,都引入了控制器这样的额外组件,所以带来了新的资源开销。同时通过控制器实现高可用,控制链路更长,数据路径切换时的时效性不能保证。
采用ECMP实现高可用性的方式,需要整个物理网络进行较为复杂的配置,并且只能针对部分流量的路由处理,其他链路层报文,例如arp等不能很好的支持。
发明内容
针对上述问题,本发明的目的在于提供一种基于STP生成树协议的二层网关高可用方法及系统,使用STP技术,利用原本用于避免链路成环的技术,在数据平面实现了二层网关的高可用,避免引入额外的控制器开销。同时使用mSTP技术将二层网络划分成多个mSTP域,实现多个二层网关实例的共存和隔离。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种基于STP生成树协议的二层网关高可用方法,包括以下步骤:
S1:设置包括若干网关节点副本的二层网关,每一个所述网关节点均分别同时与不同的二层网络连接;
S2:基于STP生成树协议对所述二层网关进行高可用设置,使得同一时刻仅一个所述网关节点处于可用状态;
S3:在当前时刻采用处于可用状态的所述网关节点为当前连接的所述二层网络提供包括转发和连接在内的功能。
进一步地,在步骤S2中,基于所述STP生成树协议对所述二层网关进行高可用设置,使得同一时刻仅一个所述网关节点处于可用状态,具体为:
S21:在若干所述网关节点的副本中选择一个所述网关节点作为根桥;
S22:在除选中的作为所述根桥的所述网关节点之外的其他所有所述网关节点上任意选择一个网关端口作为当前所述网关节点能够连接到所述根桥的根端口;
S23:在若干所述网关节点的所述网关端口中选取与所述二层网络个数相同的所述网关端口作为指定端口用于连接所述二层网络,所述指定端口与每一个所述二层网络一一对应,除所述指定端口之外的所述网关端口设置为阻塞端口。
进一步地,在步骤S23中,在若干所述网关节点的所述网关端口中选取与所述二层网络个数相同的所述网关端口作为所述指定端口用于连接所述二层网络,具体为:
首先优先选择作为所述根桥的所述网关节点上的所述网关端口作为所述指定端口,当所述根桥上的所述网关端口的数量小于所述二层网络的个数时,再选择除所述根桥之外的所述网关节点上的所述网关端口补充所述根桥的所述网关端口数量不足的部分作为所述指定端口。
进一步地,在步骤S2中,还包括:
当所述二层网关中发生所述网关节点或者链路故障时,所述STP生成树协议在排除故障的所述网关节点后剩余的健康的所述网络节点中重新按照步骤S21-S23相同的方法选择所述根桥、所述根端口、所述指定端口和所述阻塞端口。
进一步地,对于采用多个所述二层网关实例分别连接所述二层网络的所述二层网关,采用mSTP多生成树域对多个所述二层网关实例进行隔离,多个所述二层网关独立生成由所述根桥、所述根端口、所述指定端口和所述阻塞端口组成的STP树。
一种用于执行如上述的基于STP生成树协议的二层网关高可用方法的基于STP生成树协议的二层网关高可用系统,包括:
二层网关设置模块,用于设置包括若干网关节点副本的二层网关,每一个所述网关节点均分别同时与不同的二层网络连接;
网关高可用设置模块,用于基于STP生成树协议对所述二层网关进行高可用设置,使得同一时刻仅一个所述网关节点处于可用状态;
二层网关应用模块,用于在当前时刻采用处于可用状态的所述网关节点为当前连接的所述二层网络提供包括转发和连接在内的功能。
进一步地,所述网关高可用设置模块,进一步包括:
根桥设置单元,用于在若干所述网关节点的副本中选择一个所述网关节点作为根桥;
根端口设置单元,用于在除选中的作为所述根桥的所述网关节点之外的其他所有所述网关节点上任意选择一个网关端口作为当前所述网关节点能够连接到所述根桥的根端口;
指定端口设置单元,用于在若干所述网关节点的所述网关端口中选取与所述二层网络个数相同的所述网关端口作为指定端口用于连接所述二层网络,所述指定端口与每一个所述二层网络一一对应,除所述指定端口之外的所述网关端口设置为阻塞端口。
进一步地,基于STP生成树协议的二层网关高可用系统,还包括:
mSTP域隔离模块,用于对于采用多个所述二层网关实例分别连接所述二层网络的所述二层网关,采用mSTP多生成树域对多个所述二层网关实例进行隔离,多个所述二层网关独立生成由所述根桥、所述根端口、所述指定端口和所述阻塞端口组成的STP树。
一种计算机设备,包括存储器和一个或多个处理器,所述存储器中存储有计算机代码,所述计算机代码被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述的方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如上述的方法被执行。
与现有技术相比,本发明包括以下至少一种有益效果是:
(1)通过提供一种基于STP生成树协议的二层网关高可用方法,包括:S1:设置包括若干网关节点副本的二层网关,每一个所述网关节点均分别同时与不同的二层网络连接;S2:基于STP生成树协议对所述二层网关进行高可用设置,使得同一时刻仅一个所述网关节点处于可用状态;S3:在当前时刻采用处于可用状态的所述网关节点为当前连接的所述二层网络提供包括转发和连接在内的功能。上述技术方案,使用STP技术,利用原本用于避免成环的技术,在数据平面实现了二层网关的高可用,避免引入额外的控制开销。
(2)通过当所述二层网关中发生所述网关节点或者链路故障时,所述STP生成树协议在排除故障的所述网关节点后剩余的健康的所述网络节点中重新按照步骤S21-S23相同的方法选择所述根桥、所述根端口、所述指定端口和所述阻塞端口。上述技术方案,使用纯数据面的计算,在网关节点或者链路状态发生变化后,STP协议可以自动检测并切换可用端口,实现网关集群的高可用。同时本发明进行高可用切换时,直接切换具体的物理链路可用性,对于数据报文没有任何限制,可以支撑任何业务场景。
(3)通过当所述二层网关中发生所述网关节点或者链路故障时,所述STP生成树协议在排除故障的所述网关节点后剩余的健康的所述网络节点中重新按照步骤S21-S23相同的方法选择所述根桥、所述根端口、所述指定端口和所述阻塞端口。上述技术方案,使用mSTP技术将二层网络划分成多个mSTP域,实现多个二层网关实例的共存和隔离。
(4)支撑任意数量的网关节点组成高可用集群,链路端口级别高可用切换,响应速度快。
附图说明
图1为本发明基于STP生成树协议的二层网关高可用方法的整体流程图;
图2为本发明三副本的二层网关实例示意图;
图3为本发明根接口选取示意图;
图4为本发明指定端口选取示意图;
图5为本发明网关节点1不可用时的示意图;
图6为本发明网关节点1和2都不可用时的示意图;
图7为本发明mSTP域实现隔离示意图;
图8为本发明基于STP生成树协议的二层网关高可用系统的整体结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本发明涉及的技术简单介绍:
一、生成树协议(Spanning Tree Protocol,STP)是一种用于在网络中防止环路并确保数据包在广播网络中正常传输的协议。它的目标是通过选择一个网络中的根桥(RootBridge)以及每个网段上的一个设计为根端口(Root Port)来创建一个无环的树状拓扑结构,从而防止数据包在网络中产生循环。
STP的基本工作原理如下:
(1)在网络中,所有的网关节点通过发送Bridge Protocol Data Unit s桥协议数据单元(BPDU)来交换信息,以选择一个根桥。BPDU包含了网关节点的标识信息、端口优先级等。
(2)初始情况下,所有网关节点都将自己设为根桥,并将自己的优先级设为最低。
(3)网关节点通过比较收到的BPDU中的信息来选择一个具有最小优先级的网关节点作为根桥。如果存在优先级相同的情况,则比较网关节点的MAC地址。
(4)选择出根桥后,每个网关节点计算到达根桥的路径成本,并将该信息记录在BPDU中。
(5)每个网关节点通过比较收到的BPDU中的路径成本信息来选择一个最佳的路径(即最小成本路径)到达根桥。该路径上的端口将被设置为根端口。
(6)在形成树状拓扑结构后,STP会关闭部分端口,以阻止形成环路。这些端口被称为阻塞端口或设计为指定端口(Designated Port)。
(7)如果网络中出现故障或拓扑结构发生变化,STP会重新计算并更新根桥和根端口,以适应新的拓扑结构。
二、mSTP(Multiple Spanning Tree Protocol)是一种多生成树协议,它是基于STP(Spanning Tree Protocol)的扩展版本。mSTP允许在一个物理网络中运行多个独立的生成树实例,解决STP所有VLAN共享一棵树导致的问题,以提高网络的容错性和性能。
mSTP的主要目标是允许管理员将网络划分为多个区域(也称为实例或区),每个区域可以拥有自己的生成树。每个生成树实例都可以有不同的根桥和路径,因此不同的数据流可以在不同的生成树实例上进行转发,避免了单一生成树协议下的性能瓶颈。
mSTP的关键特点包括:
(1)区域划分:mSTP允许将网络划分为多个区域。每个区域都有一个唯一的区域标识(Region ID)和一个根桥。区域之间是相互独立的,每个区域可以有自己的生成树拓扑。
(2)实例映射:mSTP允许将一个或多个生成树实例映射到每个区域。每个生成树实例有一个唯一的实例标识(Instance ID)和一个根端口。生成树实例的数量可以根据网络需求进行配置。
(3)拓扑计算:mSTP使用RSTP(Rapid Spanning Tree Protocol)的快速收敛机制来计算每个区域内的生成树拓扑。只有发生拓扑变化时,受影响的区域会重新计算生成树,从而减少计算开销。
(4)BPDU传输:mSTP使用特定的mSTP BPDU进行区域和实例之间的通信。mSTP BPDU中包含了区域标识、实例标识和生成树配置信息,用于区域间的生成树计算和同步。
三、多生成树域(Multiple Spanning Tree Domains)是指在mSTP(MultipleSpanning Tree Protocol)中将一个物理网络划分为多个独立的生成树实例的逻辑区域。
多生成树域的划分允许网络管理员将网络划分为不同的区域,每个区域内可以有自己独立的生成树拓扑。这种划分使得不同的数据流可以在不同的生成树实例上进行转发,从而提高网络的容错性和性能。
在MSTP中,每个多生成树域都有一个唯一的区域标识(Region ID)。区域标识用于区分不同的多生成树域,并确保区域之间的生成树拓扑相互独立。
每个多生成树域包含以下组件:
(1)区域标识(Region ID):用于唯一标识每个多生成树域。
(2)区域内生成树实例(Instance):每个多生成树域可以包含一个或多个生成树实例。生成树实例是生成树协议运行的一个实体,它有自己的实例标识(Instance ID)和对应的生成树拓扑。
(3)区域内的根桥(Root Bridge):在每个多生成树域中,会选择一个根桥作为该域的根桥。根桥是生成树拓扑中的顶级桥,它是该域中生成树的根节点。
(4)区域内的根端口(Root Port):每个多生成树域中,根桥与其他桥之间的连接会有一个根端口,用于在生成树拓扑中传输数据。
通过多生成树域的划分,mSTP可以支持在一个物理网络上运行多个独立的生成树实例,每个实例都有自己的生成树拓扑。这样,不同的数据流可以根据需求在不同的生成树实例上进行转发,提高了网络的性能和可扩展性。
四、二层网关(Layer 2 Gateway)是指在计算机网络中用于连接不同的二层网络(数据链路层网络)的设备或系统。它提供了二层网络之间的转发和连接功能。
在计算机网络中,不同的二层网络可能采用不同的数据链路层协议,如以太网、无线局域网(Wi-Fi)、令牌环等。这些二层网络之间通常是相互隔离的,无法直接进行通信。而二层网关则充当了桥梁的角色,允许不同的二层网络之间进行通信和交换数据。
二层网关的功能主要包括以下几个方面:
(1)路由转发:二层网关可以根据目标MAC地址进行转发决策,将数据包从一个二层网络转发到另一个二层网络。它维护着多个接口,每个接口连接到不同的二层网络。
(2)MAC地址学习:当二层网关接收到数据包时,它会学习源MAC地址与接口的对应关系,并将其记录在MAC地址表中。这样,在转发数据包时,二层网关可以根据目标MAC地址查找对应的接口进行转发。
(3)二层协议转换:二层网关可以在不同的二层网络之间进行协议转换。例如,将以太网数据转换为无线局域网(Wi-Fi)数据,或者将以太网数据转换为令牌环数据。
(4)VLAN间的隔离与互通:二层网关可以连接不同的虚拟局域网(VLAN),提供VLAN之间的隔离与互通功能。它可以将数据包从一个VLAN转发到另一个VLAN,实现不同VLAN之间的通信。
二层网关通常是以路由器或网关节点的形式实现的,它可以连接不同的二层网络,并提供二层网络之间的通信桥接功能。通过二层网关,不同的二层网络可以实现互连和数据交换,从而构建起更大规模的网络。
第一实施例
如图1所示,本实施例提供了一种基于STP生成树协议的二层网关高可用方法,包括以下步骤:
S1:设置包括若干网关节点副本的二层网关,每一个所述网关节点均分别同时与不同的二层网络连接。
当涉及到二层网关的高可用设计时,可以采用多个网关节点副本的方式来增加冗余和可用性。这种配置方式可以确保即使一个网关节点发生故障时,仍有其他节点可以接管其他功能并保持网络连通。可以减少因单一节点故障而导致的网络中断,并实现自动切换和故障恢复,确保网络的连续性和可靠性。
对于包括多个网关节点副本的二层网关一般包括以下设置:
(1)配置多个网关节点:建立多个网关节点作为副本,并在网络中分配多个网关节点的IP地址。
(2)主备节点切换机制:使用一种主备份节点切换机制来确定主网关节点和备份网关节点。主网关节点负责处理网络流量,而备份网关节点处于待命状态。在本发明中采用STP生成树协议作为主备节点切换机制,也即本发明提到的二层网关的高可用设置,在步骤S2中将具体说明。
(3)状态同步:确保主备网关节点之间的状态同步。这包括配置信息、路由表、MAC地址表等关键状态的同步,以便备份网关节点能够在主网关节点故障时无缝接管。
(4)心跳检测:建立主备网关节点之间的心跳检测机制,用于实时监测网关节点的可用性。如果主网关节点故障,备份网关节点可以通过检测到主节点失去心跳信号来触发切换。
(5)自动切换和故障恢复:当主网关节点故障或不可用时,备份网关节点会自动接管主节点的功能和IP地址,并继续提供网络服务。一旦主网关节点恢复正常,可以通过同样的机制将功能和流量切换回主网关节点。
但是如图2所示,对于每一个网关节点的副本,在初始状态均分别与不同的二层网络连接。如果所有的网关节点都处于可用状态,因为同属于一个二层网络,显然物理链路会产生环路,并导致广播风暴的处理。所以二层网关高可用的要点就是,同一时刻只能允许一个网关节点处于可用状态。
S2:基于STP生成树协议对所述二层网关进行高可用设置,使得同一时刻仅一个所述网关节点处于可用状态。
具体的,在本实施例中,对若干网关节点配置STP生成树协议,所有的网关节点属于同一颗生成树,具体的STP生成树协议选主的过程如下:
S21:在若干所述网关节点的副本中选择一个所述网关节点作为根桥。
其中,在二层网络中,根桥(Root Bridge)是指在生成树协议(如STP、RSTP、mSTP等)中被选举为生成树的根节点的网关节点或桥设备。生成树协议用于在二层网络中防止环路形成,确保数据包在网络中不会无限循环。生成树协议通过选举根桥和确定最佳路径的方式,建立一个无环的拓扑结构,从而实现冗余路径的有效利用。
以下是关于根桥的一些重要概念:
根桥选举:在生成树协议中,交换机会通过比较优先级(Bridge Priority)和MAC地址来选举根桥。具有较低优先级和较低MAC地址的网关节点将成为根桥。
根桥的作用:根桥是生成树的起点,它负责广播生成树信息,向其他网关节点通知最佳路径,并控制网络中的端口状态。
生成树计算:根桥会计算生成树,确定最佳路径,以及每个网关端口的状态(指定端口、根端口、阻塞端口等),从而构建一个无环的拓扑结构。
网络拓扑变化:如果网络中出现拓扑变化,如网关节点故障或添加新网关节点,根桥将重新计算生成树,更新最佳路径和端口状态。
根桥在生成树协议中起着关键的作用,它决定了网络中的生成树拓扑结构。其他网关节点会根据根桥提供的信息,通过选择根端口和阻塞端口来构建最佳路径,以实现环路的消除和数据包的正常转发。
S22:在除选中的作为所述根桥的所述网关节点之外的其他所有所述网关节点上任意选择一个网关端口作为当前所述网关节点能够连接到所述根桥的根端口。
其中,根端口(Root Port)是在生成树协议中由非根桥上的网关节点选择的一个端口,它被用作到达根桥的最佳路径。在生成树协议中,根端口是非根桥上的每个网关节点选择的一个网关端口,该网关端口距离根桥的路径成本最小。它是生成树中的最佳路径,用于转发数据包到根桥。
根端口的选举过程如下:
网关节点收到根桥发送的生成树信息,其中包括根桥的优先级(BridgePriority)和路径成本(Path Cost)。
每个网关节点根据接收到的生成树信息计算到达根桥的路径成本。路径成本由端口与其连接的链路的成本累加而成。
网关节点选择具有最小路径成本的端口作为根端口。如果存在多个路径成本相等的端口,则选择与根桥的连接端口中的最小桥ID(Bridge ID)作为决策依据。
根端口是生成树中的关键概念,它确保了数据包从非根桥到根桥的最佳路径选择。通过选择根端口,交换机可以建立一个无环的拓扑结构,防止广播风暴和数据包的无限循环。
S23:在若干所述网关节点的所述网关端口中选取与所述二层网络个数相同的所述网关端口作为指定端口用于连接所述二层网络,所述指定端口与每一个所述二层网络一一对应,除所述指定端口之外的所述网关端口设置为阻塞端口。
对于指定端口的选定方式,具体为:首先优先选择作为所述根桥的所述网关节点上的所述网关端口作为所述指定端口,当所述根桥上的所述网关端口的数量小于所述二层网络的个数时,再选择除所述根桥之外的所述网关节点上的所述网关端口补充所述根桥的所述网关端口数量不足的部分作为所述指定端口。
需要说明的是,一般情况下,在同一时刻只允许一个网关节点处于可用状态,即仅用作根桥的网关节点处于可用状态。那么所有的指定端口都处于根桥上面。只有少数在根桥上网关端口不够用的情况下,才会选择其他网关节点上的端口。
如图3-4所示,为一个三网关节点的通过STP选主的具体实例,具体包括:
(1)选定根桥,这里选择网关节点1作为根桥
(2)非根桥节点选取根端口,这里网关节点2和网关节点3可以任意选择自己的一个网关端口,都可以连接到根桥。算法选择情况如图3所示。
(3)选取指定端口,根据指定端口的定义,首先根桥的所有端口都是指定端口,每个网段只能有一个指定端口。因为二层网关是连接了两个二层网络,所以总共只有两个网段,根桥的两个指定端口已经可以覆盖所有的网段。算法收敛之后,其余端口均设置为阻塞端口,最终的执行结果如图4所示。
(4)此时只有根桥的两端端口可用,实现了网关高可用中,只有一个网关节点两端端口可用的需求。
进一步地,当所述二层网关中发生所述网关节点或者链路故障时,所述STP生成树协议在排除故障的所述网关节点后剩余的健康的所述网络节点中重新按照步骤S21-S23相同的方法选择所述根桥、所述根端口、所述指定端口和所述阻塞端口。
还是以三个网关节点为例。本发明支持至少一个网关节点可用,在发生网关节点/链路故障时,STP协议会重新选取根桥,根端口以及指定端口,以下分别展示两个网关节点可用和一个网关节点可用时,链路的状况。
(1)如图5所示,此时网关节点1不可用,重新选举网关节点2为根桥,网关节点2作为可用节点
(2)如图6所示,此时网关节点1和网关节点2均不可用,选举网关节点3作为根桥。
S3:在当前时刻采用处于可用状态的所述网关节点为当前连接的所述二层网络提供包括转发和连接在内的功能。
进一步地,对于采用多个所述二层网关实例分别连接所述二层网络的所述二层网关,采用mSTP多生成树域对多个所述二层网关实例进行隔离,多个所述二层网关独立生成由所述根桥、所述根端口、所述指定端口和所述阻塞端口组成的STP树。
具体的,多个网关节点实例的情况下,不同的实例之间的STP服务会相互影响。所以这里采用mSTP隔离域的方式,实现多个实例独立进行STP树的生成。如图7中,描述了两个网关实例sw1和sw2分别连接二层网络A-C,以及二层网络B-D。每组网关实例分配在不同的mSTP域中,实现了相互隔离。
第二实施例
如图8所示,本实施例提供了一种用于执行如第一实施例中的基于STP生成树协议的二层网关高可用方法的基于STP生成树协议的二层网关高可用系统,包括:
二层网关设置模块1,用于设置包括若干网关节点副本的二层网关,每一个所述网关节点均分别同时与不同的二层网络连接;
网关高可用设置模块2,用于基于STP生成树协议对所述二层网关进行高可用设置,使得同一时刻仅一个所述网关节点处于可用状态;
二层网关应用模块3,用于在当前时刻采用处于可用状态的所述网关节点为当前连接的所述二层网络提供包括转发和连接在内的功能。
进一步地,所述网关高可用设置模块2,进一步包括:
根桥设置单元21,用于在若干所述网关节点的副本中选择一个所述网关节点作为根桥;
根端口设置单元22,用于在除选中的作为所述根桥的所述网关节点之外的其他所有所述网关节点上任意选择一个网关端口作为当前所述网关节点能够连接到所述根桥的根端口;
指定端口设置单元23,用于在若干所述网关节点的所述网关端口中选取与所述二层网络个数相同的所述网关端口作为指定端口用于连接所述二层网络,所述指定端口与每一个所述二层网络一一对应,除所述指定端口之外的所述网关端口设置为阻塞端口。
进一步地,基于STP生成树协议的二层网关高可用系统,还包括:
mSTP域隔离模块4,用于对于采用多个所述二层网关实例分别连接所述二层网络的所述二层网关,采用mSTP多生成树域对多个所述二层网关实例进行隔离,多个所述二层网关独立生成由所述根桥、所述根端口、所述指定端口和所述阻塞端口组成的STP树。
一种计算机可读存储介质,计算机可读存储介质存储有计算机代码,当计算机代码被执行时,如上述方法被执行。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种基于STP生成树协议的二层网关高可用方法,其特征在于,包括以下步骤:
S1:设置包括若干网关节点副本的二层网关,每一个所述网关节点均分别同时与不同的二层网络连接;
S2:基于STP生成树协议对所述二层网关进行高可用设置,使得同一时刻仅一个所述网关节点处于可用状态;
S3:在当前时刻采用处于可用状态的所述网关节点为当前连接的所述二层网络提供包括转发和连接在内的功能;
在步骤S2中,基于所述STP生成树协议对所述二层网关进行高可用设置,使得同一时刻仅一个所述网关节点处于可用状态,具体为:
S21:在若干所述网关节点的副本中选择一个所述网关节点作为根桥;
S22:在除选中的作为所述根桥的所述网关节点之外的其他所有所述网关节点上任意选择一个网关端口作为当前所述网关节点能够连接到所述根桥的根端口;
S23:在若干所述网关节点的所述网关端口中选取与所述二层网络个数相同的所述网关端口作为指定端口用于连接所述二层网络,所述指定端口与每一个所述二层网络一一对应,除所述指定端口之外的所述网关端口设置为阻塞端口。
2.根据权利要求1所述的基于STP生成树协议的二层网关高可用方法,其特征在于,在步骤S23中,在若干所述网关节点的所述网关端口中选取与所述二层网络个数相同的所述网关端口作为所述指定端口用于连接所述二层网络,具体为:
首先优先选择作为所述根桥的所述网关节点上的所述网关端口作为所述指定端口,当所述根桥上的所述网关端口的数量小于所述二层网络的个数时,再选择除所述根桥之外的所述网关节点上的所述网关端口补充所述根桥的所述网关端口数量不足的部分作为所述指定端口。
3.根据权利要求1所述的基于STP生成树协议的二层网关高可用方法,其特征在于,在步骤S2中,还包括:
当所述二层网关中发生所述网关节点或者链路故障时,所述STP生成树协议在排除故障的所述网关节点后剩余的健康的所述网关节点中重新按照步骤S21-S23相同的方法选择所述根桥、所述根端口、所述指定端口和所述阻塞端口。
4.根据权利要求1所述的基于STP生成树协议的二层网关高可用方法,其特征在于,还包括:
对于采用多个所述二层网关实例分别连接所述二层网络的所述二层网关,采用mSTP多生成树域对多个所述二层网关实例进行隔离,多个所述二层网关独立生成由所述根桥、所述根端口、所述指定端口和所述阻塞端口组成的STP树。
5.一种用于执行如权利要求1-4任意一项所述的基于STP生成树协议的二层网关高可用方法的基于STP生成树协议的二层网关高可用系统,其特征在于,包括:
二层网关设置模块,用于设置包括若干网关节点副本的二层网关,每一个所述网关节点均分别同时与不同的二层网络连接;
网关高可用设置模块,用于基于STP生成树协议对所述二层网关进行高可用设置,使得同一时刻仅一个所述网关节点处于可用状态;
二层网关应用模块,用于在当前时刻采用处于可用状态的所述网关节点为当前连接的所述二层网络提供包括转发和连接在内的功能。
6.根据权利要求5所述的基于STP生成树协议的二层网关高可用系统,其特征在于,所述网关高可用设置模块,进一步包括:
根桥设置单元,用于在若干所述网关节点的副本中选择一个所述网关节点作为根桥;
根端口设置单元,用于在除选中的作为所述根桥的所述网关节点之外的其他所有所述网关节点上任意选择一个网关端口作为当前所述网关节点能够连接到所述根桥的根端口;
指定端口设置单元,用于在若干所述网关节点的所述网关端口中选取与所述二层网络个数相同的所述网关端口作为指定端口用于连接所述二层网络,所述指定端口与每一个所述二层网络一一对应,除所述指定端口之外的所述网关端口设置为阻塞端口。
7.根据权利要求5所述的基于STP生成树协议的二层网关高可用系统,其特征在于,包括:
mSTP域隔离模块,用于对于采用多个所述二层网关实例分别连接所述二层网络的所述二层网关,采用mSTP多生成树域对多个所述二层网关实例进行隔离,多个所述二层网关独立生成由所述根桥、所述根端口、所述指定端口和所述阻塞端口组成的STP树。
8.一种计算机设备,包括存储器和一个或多个处理器,所述存储器中存储有计算机代码,所述计算机代码被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至4中任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如权利要求1至4中任一项所述的方法被执行。
CN202310755139.6A 2023-06-26 2023-06-26 一种基于stp生成树协议的二层网关高可用方法及系统 Active CN116668282B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310755139.6A CN116668282B (zh) 2023-06-26 2023-06-26 一种基于stp生成树协议的二层网关高可用方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310755139.6A CN116668282B (zh) 2023-06-26 2023-06-26 一种基于stp生成树协议的二层网关高可用方法及系统

Publications (2)

Publication Number Publication Date
CN116668282A CN116668282A (zh) 2023-08-29
CN116668282B true CN116668282B (zh) 2024-02-13

Family

ID=87718998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310755139.6A Active CN116668282B (zh) 2023-06-26 2023-06-26 一种基于stp生成树协议的二层网关高可用方法及系统

Country Status (1)

Country Link
CN (1) CN116668282B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001165A (zh) * 2006-01-11 2007-07-18 大唐移动通信设备有限公司 具有冗余端口的网络故障恢复方法
US7941837B1 (en) * 2007-04-18 2011-05-10 Juniper Networks, Inc. Layer two firewall with active-active high availability support
CN103765808A (zh) * 2011-08-30 2014-04-30 Abb技术有限公司 公用事业通信方法和系统
CN105900406A (zh) * 2013-12-23 2016-08-24 瑞典爱立信有限公司 针对网络服务可用性的技术

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007022238A2 (en) * 2005-08-17 2007-02-22 Nortel Networks Limited High-availability networking with intelligent failover
US8559341B2 (en) * 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001165A (zh) * 2006-01-11 2007-07-18 大唐移动通信设备有限公司 具有冗余端口的网络故障恢复方法
US7941837B1 (en) * 2007-04-18 2011-05-10 Juniper Networks, Inc. Layer two firewall with active-active high availability support
CN103765808A (zh) * 2011-08-30 2014-04-30 Abb技术有限公司 公用事业通信方法和系统
CN105900406A (zh) * 2013-12-23 2016-08-24 瑞典爱立信有限公司 针对网络服务可用性的技术

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高林娥等.《计算机网络基础与工程实践研究》.2022,第160-164页. *

Also Published As

Publication number Publication date
CN116668282A (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
US6262977B1 (en) High availability spanning tree with rapid reconfiguration
CN101960798B (zh) 多机箱端口信道上的分布式生成树协议
US6717922B2 (en) Network configuration protocol and method for rapid traffic recovery and loop avoidance in ring topologies
EP1511238B1 (en) Distributed and disjoint forwarding and routing system and method
US9450893B2 (en) System and method for providing network route redundancy across layer 2 devices
RU2423008C2 (ru) СПОСОБ И СИСТЕМА АВТОМАТИЧЕСКОЙ ЗАЩИТЫ СЕТИ Ethernet
KR101563102B1 (ko) 가상 패브릭 링크 고장 복구를 위한 시스템 및 방법
JP4461175B2 (ja) 伝送装置、および伝送装置とレイヤ2スイッチ間の冗長方法
US20140153567A1 (en) System and Method for Implementation of Layer 2 Redundancy Protocols Across Multiple Networks
US20100020680A1 (en) Multi-chassis ethernet link aggregation
US8320281B2 (en) Methods, systems and computer readable media for utilizing a standard spanning tree protocol to indicate an active switching fabric in a network node
US8284658B2 (en) Method for reconfiguring a communications network
US20130077621A1 (en) System and method for a virtual chassis system
WO2009045608A1 (en) Providing an abstraction layer in a cluster switch that includes plural switches
EP2769515A1 (en) Fhrp optimizations for n-way gateway load balancing in fabric path switching networks
JP2009524332A (ja) リング・ネットワークのvpls障害保護
JP2007208369A (ja) ネットワークシステム及びネットワークシステムのノード冗長方法
CN113259235B (zh) 一种基于IPv6的双活路由冗余方法及系统
JP2014131130A (ja) 通信システム、経路切替方法及び通信装置
JP5338428B2 (ja) 通信装置及びその方法並びに通信システム及びその方法
CN116668282B (zh) 一种基于stp生成树协议的二层网关高可用方法及系统
Huynh et al. RRR: Rapid ring recovery submillisecond decentralized recovery for ethernet ring
WO2014030732A1 (ja) 通信システム、通信装置、プロテクション切り替え方法および切り替えプログラム
JP2008301433A (ja) 通信装置およびリングノード装置
CN114268581A (zh) 一种实现网络设备高可用和负载分担的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 8b, building 1, No. 48, Zhichun Road, Haidian District, Beijing 100098

Patentee after: Beijing Zhiling Haina Technology Co.,Ltd.

Country or region after: China

Address before: 8b, building 1, No. 48, Zhichun Road, Haidian District, Beijing 100098

Patentee before: Beijing zhilinghaina Technology Co.,Ltd.

Country or region before: China