高可用访问系统以及高可用故障切换方法_2

文档序号:9846526阅读:来源:国知局
制节点,负责维护整个网络的转发策略,并通过直连每个SDN交换机的管 理端口下发流表指令。每个SDN交换机则存储着一张网络流表(Flow Table),以接收控制器 所下发的流表策略,并通过匹配流表中的表项对数据层面流经的报文进行转发。
[0034] SDN控制器与交换机之间的通信协议被称为南向协议,最早提出的南向协议是 OpenFlow,目前已经发展至1.5版本。在OpenFlow协议中,每个流表项(Flow Entry)由分类 匹配域(Match Field)与操作规则(Instruction)等部分组成。分类匹配字域指示流入报文 的匹配规则,一旦匹配成功,则进行Instruction部分所指示的操作。例如,在图3中的流表 中,规则1表示所有从端口 1进入的报文都从端口 2进行转发;流表规则2则指示将所有源地 址为0.0.0.0的报文进行丢弃。SDN交换机根据这些规则对所有的流经报文进行操作。
[0035] 继续参考图2,现有的前端代理系统可以划分为如下两个主功能模块,如图4所 示:
[0036] 1)心跳监测模块:通过定期发送心跳包监测资源池中的主机状态;
[0037] 2)网络功能模块:对客户端的访问报文进行地址转换,并导流至实际工作节点。
[0038] 两个模块之间呈松耦合关系,仅当心跳监测模块发现主节点状态异常时,才会与 网络功能模块进行交互,通知其进行流切换。
[0039] 与现有的技术方案不同,根据本申请的一个实施例,在基于SDN架构的高可用实现 的模块中仍保留心跳监测模块,同时将网络功能模块从前端代理主机中分离出,转而通过 SDN架构结合专业的网络设备进行实现。新方案的系统模块框图如图5所示。
[0040] 如图5所示,在一个实施例中,SDN模块由网络控制器与SDN交换机两部分组成。对 于外网的访问请求,数据报文将直接通过SDN交换机进行报文处理与转发,而不必经过其他 代理主机。心跳监测模块与SDN控制器仅是作为管理节点从旁路接入,主要负责转发策略的 制定与下发,并不直接影响到业务流量的转发路径。
[0041] 基于图5的系统模块分解图,将其中SDN模块进行实例化后,本方案的实际系统部 署可由图6所示。在一个实施例中,SDN模块由网络控制器与SDN交换机两部分组成。在系统 初始阶段,系统选取资源池中的节点1为主服务节点,网络控制器首先将如下两条流表规则 写入SDN交换机:
[0042]表1:系统初始阶段SDN交换机的流表
[0044]流规则1的意义为将外网访问的报文转发至节点1进行处理,同时对报文的目的 地址进行转换(转换为节点1的地址)。流规则2则是流规则1的反向规则。
[0045] 由图6可知,客户端的访问报文将被直接传送至SDN交换机,无需经过代理机等前 置设备。根据流规则1,SDN交换机对于所有从端口 0进入的报文进行匹配,如果目的地址为 vip,则将报文的目的地址转换为节点1的地址ip-Ι,并从交换机的端口 1将报文转出。
[0046] 对于从节点1返回的报文则通过流规则2进行反向的操作。
[0047] 与此同时,心跳监测模块通过定期发送心跳报文监测节点1的状态,该过程与上述 的外部报文访问流程是完全独立的。
[0048] 图7示出了根据本申请的一个实施例、基于SDN架构的高可用故障切换原理图。
[0049] 结合图7,根据本申请的一个实施例,当心跳监测模块检测到节点1宕机时,系统将 进行如下的处理流程:
[0050] (1)心跳监测模块检测到节点1宕机,选取备用节点2作为活动主机,并将该消息通 知于网络控制器;
[0051] (2)SDN网络控制器向SDN交换器下发流表更改指令,更新后的流表如下表所示: [0052] 表2:主备切换后SDN交换机的流表
[0054] (3)此后的网络流流经SDN交换器后都经由端口 2进行转发,主备切换完成。
[0055]由此,本申请的技术方案通过软件定义网络(SDN)的架构实现了连接访问的高可 用,并且能够取得比原有基于主机的高可用方案更佳的系统性能以及更为简易的系统实 现。
[0056]综上所述,本申请提出了一种基于软件定义网络(SDN)架构的高可用实现方案。本 申请的技术方案充分利用SDN架构的优势,通过SDN所提供的开放网络接口,将网络功能模 块从主机中分离而出交由专业的网络设备进行处理,由此将高可用系统中的各模块进行最 大程度的解耦,简化系统设计,同时增强了可靠性。
[0057]上文中,参照附图描述了本发明的【具体实施方式】。但是,本领域中的普通技术人员 能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的【具体实施方式】作各 种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
【主权项】
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交换机根据所述控制器下 发的流表,对数据层面流经的报文进行转发。
【专利摘要】本申请公开了一种高可用访问系统,所述系统包括访问资源池,所述访问资源池由多个待访问节点构成;心跳监测模块,用于通过定期发送心跳包来监测所述访问资源池中的节点状态;以及SDN模块,用于直接从外网接收访问请求,以及根据所述心跳监测模块提供的节点状态而对所述访问请求进行处理并直接转发到多个待访问节点中的一个适合节点,而没有经过其他代理主机。本申请还提供了一种高可用故障切换方法。
【IPC分类】H04L12/26, H04L12/24
【公开号】CN105610614
【申请号】CN201510997234
【发明人】周雍恺, 祖立军, 刘国宝, 李戈
【申请人】中国银联股份有限公司
【公开日】2016年5月25日
【申请日】2015年12月28日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1