CN105610614A - 高可用访问系统以及高可用故障切换方法 - Google Patents
高可用访问系统以及高可用故障切换方法 Download PDFInfo
- Publication number
- CN105610614A CN105610614A CN201510997234.2A CN201510997234A CN105610614A CN 105610614 A CN105610614 A CN 105610614A CN 201510997234 A CN201510997234 A CN 201510997234A CN 105610614 A CN105610614 A CN 105610614A
- Authority
- CN
- China
- Prior art keywords
- node
- access
- sdn
- heartbeat
- module
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种高可用访问系统,所述系统包括访问资源池,所述访问资源池由多个待访问节点构成;心跳监测模块,用于通过定期发送心跳包来监测所述访问资源池中的节点状态;以及SDN模块,用于直接从外网接收访问请求,以及根据所述心跳监测模块提供的节点状态而对所述访问请求进行处理并直接转发到多个待访问节点中的一个适合节点,而没有经过其他代理主机。本申请还提供了一种高可用故障切换方法。
Description
技术领域
本发明涉及高可用访问系统以及高可用故障切换方法。
背景技术
“高可用性”(HighAvailability)指一个系统经过专门的设计,达到降低停工时间、保持服务不间断的效果。服务系统的高可用通常通过多个冗余节点进行主备切换而实现,其系统的抽象模型如图1所示。
如图1所示,服务端由多个访问节点构成一个资源池。高可用系统将外部的访问进行转换并导向资源池中某个可用的资源节点。高可用系统对外发布一个统一的“虚拟外部地址”以便于客户端进行访问。当客户端通过虚拟地址对服务系统进行访问时,高可用的前端代理将对该访问请求的目的地址进行转换,转换成内部的活动节点地址,并将访问流导向实际的活动节点。
高可用系统会通过一定的机制对于活动的服务节点进行状态监测,当检测到活动节点宕机时,高可用系统将从访问资源池中选取备用节点,并将访问流切换至新的活动节点,从而达到不中断服务的效果。
现有的高可用访问方案大多是基于主机实现的解决方案,例如Heartbeat、Corosync、Keepalived等。其通常的实现方式如图2所示。高可用核心功能通过前端的代理主机进行实现。当客户端的访问报文到达时,前端代理机将报文中的虚拟外部访问地址转换为内部活动主机的实际地址,并重新对访问报文进行封装,随后通过网络设备转发报文;当内部节点返回报文时,代理机再进行反向的地址转换与加解封装操作,并将报文传递至客户端。
与此同时,前端代理机还需要定时对资源池中的节点进行心跳健康监测,当发现主节点宕机时,代理机需要选择其余的备用机作为新的活动节点,并更新转发表项,以便之后到达的报文能够及时进行切换。
该类实现方式能够达到高可用访问的效果,不过存在如下的不足:
首先,功能模块混杂,实现复杂度高。高可用代理主机同时实现了心跳健康监测与网络报文地址转换的功能。而后者属于纯网络层面的操作,应当通过专业的网络设备实现更为合适。
其次,前端代理主机存在单点失效的风险。所有的外部访问报文在到达网络转发设备之前必须首先经过前端代理主机进行地址转换,一旦前端代理主机宕机,则整个系统都将停止工作。
最后,在该类方案中,每个主数据流的进出都将通过代理主机进行网络报文地址的转换、加解封装以及反向代理等网络层面的操作。相比于直接应用专业的网络设备进行这类操作,其稳定性与吞吐性能有所欠缺。
发明内容
为解决上述问题,根据本发明的一个方面,提供了一种高可用访问系统,所述系统包括:访问资源池,所述访问资源池由多个待访问节点构成;心跳监测模块,用于通过定期发送心跳包来监测所述访问资源池中的节点状态;以及SDN模块,用于直接从外网接收访问请求,以及根据所述心跳监测模块提供的节点状态而对所述访问请求进行处理并直接转发到多个待访问节点中的一个适合节点,而没有经过其他代理主机。
在上述高可用访问系统中,所述SDN模块包括:SDN控制器,用于从所述心跳监测模块接收心跳监测异常信息,并通知SDN交换机进行流切换;以及所述SDN交换机,用于直接从外网接收访问请求,并根据所述SDN控制器的通知而对所述访问请求进行处理并直接转发到所述多个待访问节点中的一个适合节点。
在上述高可用访问系统中,所述SDN交换机直接从外网接收访问请求并进行报文处理和转发,所述心跳监测模块和所述SDN控制器作为管理节点从旁路接入,并用于转发策略的制定与下发,而不直接影响业务流量的转发路径。
在上述高可用访问系统中,所述多个待访问节点中的第一节点为设置为主服务节点,并且所述心跳监测模块通过经由所述SDN交换机定期发送心跳包来监测所述第一节点的状态。
在上述高可用访问系统中,当所述心跳监测模块监测到所述第一节点宕机时,它配置成:选择所述多个待访问节点中的第二节点作为活动主机,并将该消息通知所述SDN控制器。
在上述高可用访问系统中,所述SDN控制器进一步配置成:向所述SDN交换机下发流表更改的指令,通知网络流经由第二节点进行转发。
根据本申请的另一个方面,提供了一种高可用故障切换方法,所述方法包括:通过定期发送心跳包,心跳监测模块监测到访问资源池中作为活动节点的第一节点存在异常;心跳监测模块选取所述访问资源池中的第二节点作为新活动节点,并将消息通知SDN控制器;SDN控制器对流表进行更改,并向SDN交换机下发更改的流表;SDN交换机根据更改的流表而将从外网接收的访问请求转发到所述第二节点,而没有经过其他代理主机。
在上述高可用故障切换方法中,所述SDN交换机根据所述控制器下发的流表,对数据层面流经的报文进行转发。
相比于现有的基于主机的高可用实现方案,本申请的技术方案至少具有如下优势:
第一,本申请的技术方案充分利用SDN架构的优势,通过SDN提供的开放网络接口,将网络功能模块从主机中分离而出交由专业的网络设备进行处理,从而将心跳监测模块与网络模块进行最大程度的解耦合,简化系统设计,同时增强了可靠性。
第二,所有的外部访问报文直接通过网络设备转发至最终服务节点,无需通过中间主机,由此克服了基于主机实现方案中的前端代理单点失效问题。
第三,在性能方面,本申请的技术方案直接通过专业的网络设备进行报文地址的转换、加解封装以及反向代理、转发等操作,可以降低故障切换过程中的丢包概率并且提高吞吐性能,更好地达到高可用系统的连接保持、平滑切换效果。
附图说明
在参照附图阅读了本发明的具体实施方式以后,本领域技术人员将会更清楚地了解本发明的各个方面。本领域技术人员应当理解的是:这些附图仅仅用于配合具体实施方式说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。
图1是现有的高可用访问系统的示意图;
图2是现有的基于主机的高可用实现方案示意图;
图3是SDN模型架构图;
图4是图2中的前端代理机的模块分解图;
图5是根据本申请的一个实施例、基于SDN架构高可用实现的模块分解图;
图6是根据本申请的一个实施例、基于SDN架构的高可用系统的框架图;以及
图7是根据本申请的一个实施例、基于SDN架构的高可用故障切换原理图。
具体实施方式
下面介绍的是本发明的多个可能实施例中的一些,旨在提供对本发明的基本了解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。容易理解,根据本发明的技术方案,在不变更本发明的实质精神下,本领域的一般技术人员可以提出可相互替换的其它实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
网络技术极大地推动了互联网的迅猛发展。不过,传统的网络技术一直较为封闭,核心技术与设备市场为少数几家厂商所垄断,并且上层的应用无法直接操作到网络层以下的设备。2009年,斯坦福团队正式提出了软件定义网络(SoftwareDefinedNetworking,SDN)的概念,旨在打破网络层的封闭局面,通过对外提供标准的可编程网络接口,使得应用可以更好地与网络进行交互,从而提升系统的整体优化性能。
典型的SDN模型如图3所示,其由SDN交换机与SDN控制器两部分组成。SDN控制器是整个网络的中心控制节点,负责维护整个网络的转发策略,并通过直连每个SDN交换机的管理端口下发流表指令。每个SDN交换机则存储着一张网络流表(FlowTable),以接收控制器所下发的流表策略,并通过匹配流表中的表项对数据层面流经的报文进行转发。
SDN控制器与交换机之间的通信协议被称为南向协议,最早提出的南向协议是OpenFlow,目前已经发展至1.5版本。在OpenFlow协议中,每个流表项(FlowEntry)由分类匹配域(MatchField)与操作规则(Instruction)等部分组成。分类匹配字域指示流入报文的匹配规则,一旦匹配成功,则进行Instruction部分所指示的操作。例如,在图3中的流表中,规则1表示所有从端口1进入的报文都从端口2进行转发;流表规则2则指示将所有源地址为0.0.0.0的报文进行丢弃。SDN交换机根据这些规则对所有的流经报文进行操作。
继续参考图2,现有的前端代理系统可以划分为如下两个主功能模块,如图4所示:
1)心跳监测模块:通过定期发送心跳包监测资源池中的主机状态;
2)网络功能模块:对客户端的访问报文进行地址转换,并导流至实际工作节点。
两个模块之间呈松耦合关系,仅当心跳监测模块发现主节点状态异常时,才会与网络功能模块进行交互,通知其进行流切换。
与现有的技术方案不同,根据本申请的一个实施例,在基于SDN架构的高可用实现的模块中仍保留心跳监测模块,同时将网络功能模块从前端代理主机中分离出,转而通过SDN架构结合专业的网络设备进行实现。新方案的系统模块框图如图5所示。
如图5所示,在一个实施例中,SDN模块由网络控制器与SDN交换机两部分组成。对于外网的访问请求,数据报文将直接通过SDN交换机进行报文处理与转发,而不必经过其他代理主机。心跳监测模块与SDN控制器仅是作为管理节点从旁路接入,主要负责转发策略的制定与下发,并不直接影响到业务流量的转发路径。
基于图5的系统模块分解图,将其中SDN模块进行实例化后,本方案的实际系统部署可由图6所示。在一个实施例中,SDN模块由网络控制器与SDN交换机两部分组成。在系统初始阶段,系统选取资源池中的节点1为主服务节点,网络控制器首先将如下两条流表规则写入SDN交换机:
表1:系统初始阶段SDN交换机的流表
流规则1的意义为将外网访问的报文转发至节点1进行处理,同时对报文的目的地址进行转换(转换为节点1的地址)。流规则2则是流规则1的反向规则。
由图6可知,客户端的访问报文将被直接传送至SDN交换机,无需经过代理机等前置设备。根据流规则1,SDN交换机对于所有从端口0进入的报文进行匹配,如果目的地址为vip,则将报文的目的地址转换为节点1的地址ip-1,并从交换机的端口1将报文转出。
对于从节点1返回的报文则通过流规则2进行反向的操作。
与此同时,心跳监测模块通过定期发送心跳报文监测节点1的状态,该过程与上述的外部报文访问流程是完全独立的。
图7示出了根据本申请的一个实施例、基于SDN架构的高可用故障切换原理图。
结合图7,根据本申请的一个实施例,当心跳监测模块检测到节点1宕机时,系统将进行如下的处理流程:
(1)心跳监测模块检测到节点1宕机,选取备用节点2作为活动主机,并将该消息通知于网络控制器;
(2)SDN网络控制器向SDN交换器下发流表更改指令,更新后的流表如下表所示:
表2:主备切换后SDN交换机的流表
(3)此后的网络流流经SDN交换器后都经由端口2进行转发,主备切换完成。
由此,本申请的技术方案通过软件定义网络(SDN)的架构实现了连接访问的高可用,并且能够取得比原有基于主机的高可用方案更佳的系统性能以及更为简易的系统实现。
综上所述,本申请提出了一种基于软件定义网络(SDN)架构的高可用实现方案。本申请的技术方案充分利用SDN架构的优势,通过SDN所提供的开放网络接口,将网络功能模块从主机中分离而出交由专业的网络设备进行处理,由此将高可用系统中的各模块进行最大程度的解耦,简化系统设计,同时增强了可靠性。
上文中,参照附图描述了本发明的具体实施方式。但是,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
Claims (8)
1.一种高可用访问系统,所述系统包括:
访问资源池,所述访问资源池由多个待访问节点构成;
心跳监测模块,用于通过定期发送心跳包来监测所述访问资源池中的节点状态;以及
SDN模块,用于直接从外网接收访问请求,以及根据所述心跳监测模块提供的节点状态而对所述访问请求进行处理并直接转发到多个待访问节点中的一个适合节点,而没有经过其他代理主机。
2.如权利要求1所述的高可用访问系统,其中,所述SDN模块包括:
SDN控制器,用于从所述心跳监测模块接收心跳监测异常信息,并通知SDN交换机进行流切换;以及
所述SDN交换机,用于直接从外网接收访问请求,并根据所述SDN控制器的通知而对所述访问请求进行处理并直接转发到所述多个待访问节点中的一个适合节点。
3.如权利要求2所述的高可用访问系统,其中,所述SDN交换机直接从外网接收访问请求并进行报文处理和转发,所述心跳监测模块和所述SDN控制器作为管理节点从旁路接入,并用于转发策略的制定与下发,而不直接影响业务流量的转发路径。
4.如权利要求2或3所述的高可用访问系统,其中,所述多个待访问节点中的第一节点为设置为主服务节点,并且所述心跳监测模块通过经由所述SDN交换机定期发送心跳包来监测所述第一节点的状态。
5.如权利要求4所述的高可用访问系统,其中,当所述心跳监测模块监测到所述第一节点宕机时,它配置成:
选择所述多个待访问节点中的第二节点作为活动主机,并将该消息通知所述SDN控制器。
6.如权利要求5所述的高可用访问系统,其中,所述SDN控制器进一步配置成:
向所述SDN交换机下发流表更改的指令,通知网络流经由第二节点进行转发。
7.一种高可用故障切换方法,所述方法包括:
通过定期发送心跳包,心跳监测模块监测到访问资源池中作为活动节点的第一节点存在异常;
心跳监测模块选取所述访问资源池中的第二节点作为新活动节点,并将消息通知SDN控制器;
SDN控制器对流表进行更改,并向SDN交换机下发更改的流表;
SDN交换机根据更改的流表而将从外网接收的访问请求转发到所述第二节点,而没有经过其他代理主机。
8.如权利要求7所述的高可用故障切换方法,其中,所述SDN交换机根据所述控制器下发的流表,对数据层面流经的报文进行转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510997234.2A CN105610614B (zh) | 2015-12-28 | 2015-12-28 | 高可用访问系统以及高可用故障切换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510997234.2A CN105610614B (zh) | 2015-12-28 | 2015-12-28 | 高可用访问系统以及高可用故障切换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105610614A true CN105610614A (zh) | 2016-05-25 |
CN105610614B CN105610614B (zh) | 2019-06-18 |
Family
ID=55990160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510997234.2A Active CN105610614B (zh) | 2015-12-28 | 2015-12-28 | 高可用访问系统以及高可用故障切换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105610614B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107086963A (zh) * | 2017-03-10 | 2017-08-22 | 中国传媒大学 | 一种基于sdn的目的端精准视频切换方法 |
CN111722963A (zh) * | 2020-06-18 | 2020-09-29 | 深圳力维智联技术有限公司 | 数据接入方法、系统及计算机可读存储介质 |
CN115550220A (zh) * | 2022-09-21 | 2022-12-30 | 浪潮思科网络科技有限公司 | 一种基于Openstack的SDN集群逃生方法、设备及存储介质 |
CN116915837A (zh) * | 2023-09-12 | 2023-10-20 | 苏州浪潮智能科技有限公司 | 基于软件定义网络的通信方法及通信系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725702A (zh) * | 2004-07-20 | 2006-01-25 | 联想网御科技(北京)有限公司 | 一种网络安全设备及其组成的实现高可用性的系统及方法 |
US20120254204A1 (en) * | 2011-03-28 | 2012-10-04 | Microsoft Corporation | Techniques to manage file conversions |
CN103795805A (zh) * | 2014-02-27 | 2014-05-14 | 中国科学技术大学苏州研究院 | 基于sdn的分布式服务器负载均衡方法 |
CN103929333A (zh) * | 2014-05-08 | 2014-07-16 | 陈桂芳 | 一种sdn控制器资源池的实现方法 |
-
2015
- 2015-12-28 CN CN201510997234.2A patent/CN105610614B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725702A (zh) * | 2004-07-20 | 2006-01-25 | 联想网御科技(北京)有限公司 | 一种网络安全设备及其组成的实现高可用性的系统及方法 |
US20120254204A1 (en) * | 2011-03-28 | 2012-10-04 | Microsoft Corporation | Techniques to manage file conversions |
CN103795805A (zh) * | 2014-02-27 | 2014-05-14 | 中国科学技术大学苏州研究院 | 基于sdn的分布式服务器负载均衡方法 |
CN103929333A (zh) * | 2014-05-08 | 2014-07-16 | 陈桂芳 | 一种sdn控制器资源池的实现方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107086963A (zh) * | 2017-03-10 | 2017-08-22 | 中国传媒大学 | 一种基于sdn的目的端精准视频切换方法 |
CN107086963B (zh) * | 2017-03-10 | 2018-10-09 | 中国传媒大学 | 一种基于sdn的目的端精准视频切换方法 |
CN111722963A (zh) * | 2020-06-18 | 2020-09-29 | 深圳力维智联技术有限公司 | 数据接入方法、系统及计算机可读存储介质 |
CN115550220A (zh) * | 2022-09-21 | 2022-12-30 | 浪潮思科网络科技有限公司 | 一种基于Openstack的SDN集群逃生方法、设备及存储介质 |
CN115550220B (zh) * | 2022-09-21 | 2024-09-03 | 浪潮网络科技(山东)有限公司 | 一种基于Openstack的SDN集群逃生方法、设备及存储介质 |
CN116915837A (zh) * | 2023-09-12 | 2023-10-20 | 苏州浪潮智能科技有限公司 | 基于软件定义网络的通信方法及通信系统 |
CN116915837B (zh) * | 2023-09-12 | 2024-01-26 | 苏州浪潮智能科技有限公司 | 基于软件定义网络的通信方法及通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105610614B (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103125102B (zh) | 用于在中间件机器环境中提供基于无限带宽的以太网虚拟集线器可伸缩性的系统和方法 | |
US8982727B2 (en) | System and apparatus of generalized network controller for a software defined network (SDN) | |
CN102197627B (zh) | 组播流量收敛的改善 | |
US9231849B2 (en) | Apparatus and method for controlling virtual switches | |
US9614759B2 (en) | Systems and methods for providing anycast MAC addressing in an information handling system | |
CN108306777B (zh) | 基于sdn控制器的虚拟网关主备切换方法及装置 | |
JP6311612B2 (ja) | 通信システム、制御装置、その制御方法及びプログラム | |
US9692686B2 (en) | Method and system for implementing a multi-chassis link aggregation group in a network | |
CN104639464A (zh) | OpenFlow交换机上实现跨交换机链路聚合的系统及方法 | |
CN104104570A (zh) | Irf系统中的聚合处理方法及装置 | |
US9008080B1 (en) | Systems and methods for controlling switches to monitor network traffic | |
CN104303467A (zh) | 集成的异构的软件定义的网络 | |
CN103179046A (zh) | 基于openflow的数据中心流量控制方法及系统 | |
CN107078974A (zh) | 用于存储区域网中的网络交换机的多播通告消息 | |
JP7092813B2 (ja) | パケット伝送方法及び装置 | |
CN103067291A (zh) | 一种上下行链路关联的方法和装置 | |
EP3866393A1 (en) | Data center traffic exchange method and apparatus, device and storage medium | |
CN105610614A (zh) | 高可用访问系统以及高可用故障切换方法 | |
Du et al. | Software-defined networking for real-time ethernet | |
US9166868B2 (en) | Distributed control plane for link aggregation | |
CN104219115B (zh) | 一种使以太网环协议与生成树协议能够异构混合组网的方法和系统 | |
KR102093296B1 (ko) | 시간 확정적으로 대용량 경로를 전환하는 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 | |
US20140047260A1 (en) | Network management system, network management computer and network management method | |
US10819628B1 (en) | Virtual link trunking control of virtual router redundancy protocol master designation | |
WO2014075594A1 (zh) | 基于多环结构网络相交环的业务的传输保护方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |