CN110290174B - 一种主主集群的控制方法以及控制节点 - Google Patents
一种主主集群的控制方法以及控制节点 Download PDFInfo
- Publication number
- CN110290174B CN110290174B CN201910437296.6A CN201910437296A CN110290174B CN 110290174 B CN110290174 B CN 110290174B CN 201910437296 A CN201910437296 A CN 201910437296A CN 110290174 B CN110290174 B CN 110290174B
- Authority
- CN
- China
- Prior art keywords
- message
- address
- forwarding rule
- network
- packet
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 111
- 238000004891 communication Methods 0.000 claims description 13
- 238000012790 confirmation Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 description 129
- 230000008569 process Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/33—Flow control; Congestion control using forward notification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6295—Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2582—NAT traversal through control of the NAT server, e.g. using universal plug and play [UPnP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
- H04L61/2532—Clique of NAT servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种主主集群的控制方法,所述方法包括:控制节点接收主主集群中的第一网络处理节点发送的第一查询请求,并根据第一查询请求携带的第一报文的转发信息配置出方向转发规则,产生与出方向转发规则方向相反的入方向转发规则,将出方向转发规则发送至所述第一网络处理节点,控制节点还可以接收主主集群中的第二网络处理节点发送的第二查询请求,在确认第二报文的转发信息与入方向转发规则匹配的情况下,根据第二报文的转发信息获取记录的入方向转发规则,并发送至第二网络处理节点。本申请提供的技术方案可以实现主主集群的网络设备之间转发规则的可靠同步,避免出现丢包、业务中断等问题。
Description
技术领域
本申请涉及网络通信技术领域,并且更具体地,涉及一种控制节点以及控制节点。
背景技术
在网络通信中,为避免将客户端暴露于公网,可将客户端设置于私有网络中,私有网络中的客户端通过网络处理节点与公网连接,避免将客户端直接暴露在公网,从而提高私密性。
进一步,为了实现高可用机制,将网络处理节点部署成集群的模式。
具体地,客户端与服务端之间进行通信的过程中,客户端发送至服务端的请求报文(即出方向报文)首先路由至主主集群,主主集群包括负载均衡节点以及多个网络处理节点,多个网络处理节点之间具有相同的配置和功能,主主集群的负载均衡节点接收请求报文,根据负载均衡策略从多个网络处理节点选择一个第一网络处理节点,并发送请求报文至选择的第一网络处理节点,该第一网络处理节点针对请求报文生成转发规则(包括出方向转发规则和入方向转发规则),第一网络处理节点根据转发规则中的出方向转发规则进行例如源地址转换(source net address translateton,SNAT)或访问控制列表(accesscontrol list,ACL)等网络处理之后,再将经网络处理后的请求报文发送至服务端。相应的,服务端根据该经网络处理后的请求报文产生响应报文(即入方向报文),并将响应报文发送至主主集群,主主集群的负载均衡节点接收请求报文,根据负载均衡策略从多个网络处理节点选择一个第二网络处理节点,该第二网络处理节点根据转发规则中的入方向转发规则对响应报文进行目的地址转换(destination net address translateton,DNAT)或访问控制列表(access control list,ACL)等网络处理之后,再将经网络处理后的请求报文发送至客户端。在上述过程中,当第二网络处理节点和第一网络处理节点不是同一个节点时,第二网络处理节点需从第一网络节点获取入方向转发规则,以根据入方向转发规则对响应报文进行处理。
由于负载均衡节点根据负载均衡策略来选择第二网络处理节点,因此,第二网络处理节点的选择取决于负载均衡策略,具有不确定性,一般而言,第一网络处理节点需向主主集群中除本身之外的所有网络处理节点发送入方向转发规则。
第一网络处理节点通过单播或者组播的方式在主主集群中同步转发规则的情况下,若第二网络处理节点在接收到响应报文之前还没接收到该入方向转发规则,则不能对响应报文进行正确的处理,从而造成丢包、通信业务中断等问题。
因此,如何实现转发规则的可靠同步成为当前亟需要解决的问题。
发明内容
本申请提供一种主主集群的控制方法以及控制节点,可以实现主主集群的网络设备之间转发规则的可靠同步,避免出现丢包、业务中断等问题。
第一方面,提供了一种主主集群的控制方法,该方法包括:控制节点接收所述主主集群中的第一网络处理节点发送的第一查询请求,所述第一查询请求携带有第一报文的转发信息,所述第一报文的转发信息记录所述第一报文的发送方向为出方向;所述控制节点根据所述第一报文的转发信息配置出方向转发规则,产生与所述出方向转发规则方向相反的入方向转发规则,记录所述出方向转发规则和入方向转发规则,并将所述出方向转发规则发送至所述第一网络处理节点;所述控制节点接收所述主主集群中的第二网络处理节点发送的第二查询请求,所述第二查询请求携带有第二报文的转发信息,所述第二报文的转发信息记录所述第二报文的发送方向为入方向;所述控制节点确认所述第二报文的转发信息与所述入方向转发规则匹配的情况下,根据所述第二报文的转发信息获取记录的所述入方向转发规则,将所述入方向转发规则发送至所述第二网络处理节点。
具体的,可以根据第一报文的转发信息生成出方向转发规则,该出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点对第一报文进行处理。并且,还可以根据出方向转发规则生成所述出方向转发规则方向相反的入方向转发规则,该入方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点对第二报文进行处理。
在第一方面的第一种可能的实现方式中,所述控制节点记录有公网IP地址以及可用的公网端口范围,所述控制节点在所述公网端口范围中选择公网端口,所述公网端口与所述第一报文的源IP地址和源端口一一对应,所述出方向转发规则包括所述第一报文的源IP地址和源端口与所述公网IP地址和所述公网端口的对应关系,所述出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点将发送方向为出方向的报文的源IP地址修改为所述公网IP地址,将发送方向为出方向的报文的源端口修改为所述公网端口。
在根据第一方面或第一方面的第一种可能的实现方式中,所述控制节点根据所述出方向转发规则记录的所述第一报文的源IP地址和源端口与所述公网IP地址和公网端口的对应关系,产生所述入方向转发规则,所述入方向转发规则包括所述第一报文的源IP地址和源端口与所述公网IP地址和公网端口的对应关系,所述入方向转发规则用于指示所述主主集群中接收到所述入方向转发规则的网络处理节点将发送方向为入方向的报文的目的IP地址修改为所述第一报文的源地址,将发送方向为入方向的报文的目的端口修改为所述第一报文的源端口。
在根据第一方面或第一方面的第一种可能的实现方式中,所述第二报文的转发信息包括所述第二报文的目的IP地址和目的端口,所述控制节点确认所述第二报文的目的IP地址是所述公网IP地址,确认所述第二报文的目的端口是所述公网端口。
在根据第一方面或第一方面的第一种可能的实现方式中,所述第一报文由客户端发送至服务端,所述客户端和所述主主集群设置于虚拟私有云VPC网络,所述VPC网络设置有所述公网IP地址。
在第一方面的第二种可能的实现方式中,所述控制节点根据所述第一报文的源网络地址和目的网络地址配置所述出方向转发规则,所述出方向转发规则包括所述第一报文的源网络地址和目的网络地址的对应关系,所述出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点判断发送方向为出方向的报文的目的网络地址是否为预设网络地址,如果是,则根据发送方向为出方向的报文的目的网络地址发送所述发送方向为出方向的报文,如果否,则丢弃发送方向为出方向的报文。
在第一方面的第二种可能的实现方式中,所述控制节点根据所述出方向转发规则记录的所述第一报文的源网络地址和目的网络地址配置所述入方向转发规则,所述入方向转发规则包括所述第一报文的源网络地址和目的网络地址的对应关系,所述入方向转发规则用于指示所述主主集群中接收到所述入方向转发规则的网络处理节点判断发送方向为入方向的报文的目的网络地址是否为所述第一报文的源网络地址,如果是,则根据发送方向为入方向的报文的目的网络地址发送所述发送方向为入方向的报文,如果否,则丢弃所述发送方向为入方向的报文。
在第一方面的第二种可能的实现方式中,所述控制节点确认所述第二报文的目的网络地址是所述第一报文的源网络地址。
第二方面,提供了一种控制节点,包括:
接收模块,用于接收所述主主集群中的第一网络处理节点发送的第一查询请求,所述第一查询请求携带有第一报文的转发信息,所述第一报文的转发信息记录所述第一报文的发送方向为出方向;
配置模块,用于根据所述第一报文的转发信息配置出方向转发规则,产生与所述出方向转发规则方向相反的入方向转发规则,记录所述出方向转发规则和入方向转发规则,并将所述出方向转发规则发送至所述第一网络处理节点;
所述接收模块,还用于接收所述主主集群中的第二网络处理节点发送的第二查询请求,所述第二查询请求携带有第二报文的转发信息,所述第二报文的转发信息记录所述第二报文的发送方向为入方向;
确认模块,用于确认所述第二报文的转发信息与所述入方向转发规则匹配的情况下,根据所述第二报文的转发信息获取记录的所述入方向转发规则,将所述入方向转发规则发送至所述第二网络处理节点。
在第二方面的第一种可能的实现方式中,所述控制节点记录有公网IP地址以及可用的公网端口范围,所述第一报文的转发信息包括所述第一报文的源IP地址和源端口,所述配置模块具体用于:
在所述公网端口范围中选择公网端口,所述公网端口与所述第一报文的源IP地址和源端口一一对应,所述出方向转发规则包括所述第一报文的源IP地址和源端口与所述公网IP地址和所述公网端口的对应关系,所述出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点将发送方向为出方向的报文的源IP地址修改为所述公网IP地址,将发送方向为出方向的报文的源端口修改为所述公网端口。
在根据第二方面或第一方面的第一种可能的实现方式中,配置模块还用于:
根据所述出方向转发规则记录的所述第一报文的源IP地址和源端口与所述公网IP地址和公网端口的对应关系,产生所述入方向转发规则,所述入方向转发规则包括所述第一报文的源IP地址和源端口与所述公网IP地址和公网端口的对应关系,所述入方向转发规则用于指示所述主主集群中接收到所述入方向转发规则的网络处理节点将发送方向为入方向的报文的目的IP地址修改为所述第一报文的源地址,将发送方向为入方向的报文的目的端口修改为所述第一报文的源端口。
在根据第二方面或第一方面的第一种可能的实现方式中,所述第二报文的转发信息包括所述第二报文的目的IP地址和目的端口,所述确认模块具体用于:
确认所述第二报文的目的IP地址是所述公网IP地址,确认所述第二报文的目的端口是所述公网端口。
在根据第二方面或第二方面的第一种可能的实现方式中,所述第一报文由客户端发送至服务端,所述客户端和所述主主集群设置于虚拟私有云VPC网络,所述VPC网络设置有所述公网IP地址。
在第二方面的第二种可能的实现方式中,所述第一报文的转发信息包括所述第一报文的源网络地址和目的网络地址,所述配置模块还用于:
根据所述第一报文的源网络地址和目的网络地址配置所述出方向转发规则,所述出方向转发规则包括所述第一报文的源网络地址和目的网络地址的对应关系,所述出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点判断发送方向为出方向的报文的目的网络地址是否为预设网络地址,如果是,则根据发送方向为出方向的报文的目的网络地址发送所述发送方向为出方向的报文,如果否,则丢弃发送方向为出方向的报文。
在第二方面的第二种可能的实现方式中,所述配置模块具体用于:
根据所述出方向转发规则记录的所述第一报文的源网络地址和目的网络地址配置所述入方向转发规则,所述入方向转发规则包括所述第一报文的源网络地址和目的网络地址的对应关系,所述入方向转发规则用于指示所述主主集群中接收到所述入方向转发规则的网络处理节点判断发送方向为入方向的报文的目的网络地址是否为所述第一报文的源网络地址,如果是,则根据发送方向为入方向的报文的目的网络地址发送所述发送方向为入方向的报文,如果否,则丢弃所述发送方向为入方向的报文。
在第二方面的第二种可能的实现方式中,所述第二报文的转发信息包括所述第二报文的目的网络地址,所述确认模块具体用于:确认所述第二报文的目的网络地址是所述第一报文的源网络地址。
第三方面,提供了一种控制节点,包括处理器和存储器,所述存储器用于存储计算机执行指令,所述控制设备运行时,所述处理器执行所述存储器中的计算机执行指令以通过控制设备执行如第一方面及第一方面中任一种可能的实现方式中的方法步骤。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,当所述程序指令被控制节点运行时,所述控制节点执行如第一方面及第一方面中任一种可能的实现方式中的方法。
第五方面,提供了一种计算机程序产品,包括程序指令,当所述程序指令被控制节点运行时,所述控制节点执行如第一方面及第一方面中任一种可能的实现方式中的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是一种报文流量转发的***架构100的示意性框图。
图2是本申请实施例提供的一种报文流量转发的***架构200的示意性框图。
图3是本申请实施例提供的一种报文流量的处理方法的示意性流程图。
图4是本申请实施例提供的另一种报文流量转发的***架构200的示意性框图。
图5是本申请实施例提供的另一种报文流量的处理方法的示意性流程图。
图6是本申请实施例提供的一种控制节点600的结构性示意性图。
图7是本申请实施例提供的一种控制节点700的结构性示意性图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
随着互联网和大数据的兴起,对于网络带宽的需求越来越大。为了实现高可用机制,通常可以将网络节点部署成集群的模式。下面结合图1,对本申请实施例的***架构100进行详细描述。
图1是一种报文流量转发的***架构100的示意性框图。如图1所示,***架构100可以包括虚拟私有云(virtual private clound,VPC)110、至少一个服务端(例如,服务端120、服务端130),下面分别对上述提及的模块进行详细描述。
VPC 110包括:至少一个客户端(例如,客户端111、客户端113)、网络节点集群112。其中,网络节点集群112中可以包括至少一个网络处理节点,为了便于描述,本申请实施例中以网络节点集群112中包括节点1121、1122、1123为例进行说明。
应理解,VPC 110也可以数据中心取代,本申请实施例对此不做具体限定。
还应理解,客户端可以是虚拟机(virtual machine,VM)或容器,且在VPC 110以数据中心取代的情况下,客户端还可以是物理设备,本申请实施例对此不做具体限定。
客户端和客户端可以将发送至服务端的请求报文先发送至网络节点集群112中的一个节点,由网络节点集群112中的该一个网络处理节点对请求报文进行流量处理之后转发至服务端。
例如,VPC 110中的负载均衡节点114接收客户端111发送的请求报文,并根据负载均衡策略将请求报文分发至网络节点集群112中的某一个节点进行处理,从而实现负载均衡。
负载均衡节点114的具体实现方式有多种,本申请实施例对此不做具体限定。作为一个示例,该负载均衡节点114可以是一个负载均衡器,该负载均衡器可以根据请求报文的目的地址、目的端口、源地址、源端口、协议号组合形成哈希(hash)算法,并根据哈希算法的结果对请求报文做分发处理,从而实现对请求报文流量进行负载分担。作为另一个示例,该负载均衡节点114还可以是等价多路径(equal cost multi-path,ECMP)设备,或者为链路汇聚控制协议(link aggregation control protocol,LACP)设备。
在本申请实施例中,私有网络中客户端发出的出方向的报文在发出到公网之前,会被路由至负载均衡节点114,公网中服务端发出的入方向的报文在到达私有网络之前,会被路由至负载均衡节点114。
应理解,上述提及的请求报文的目的地址、目的端口、源地址、源端口、协议类型为请求报文的转发信息。
还应理解,本申请实施例的负载均衡器可以是三层(layer 3,L3)负载均衡器,或者还可以是七层(layer 7,L7)负载均衡器。
本申请实施例中对网络节点集群112不做具体限定。作为一个示例,网络节点集群112可以是源地址转换(source network address translation,SNAT)集群,负责对请求报文的源地址进行修改。例如,客户端111向服务端120发送请求报文,该请求报文的源地址为客户端111的IP地址,网络节点集群112作为SNAT集群可以将请求报文的源地址由客户端111的IP地址修改为数据中心110统一的对外的IP地址(一般为网关的对外地址)。作为另一个示例,网络节点集群112还可以是目的地址转换(destination network addresstranslation,DNAT)集群,负责对响应报文的目的地址进行修改。例如,服务端120向客户端111发送响应报文,该响应报文的目的地址为数据中心110统一的对外的IP地址,网络节点集群112作为DNAT集群可以将响应报文的目的地址由数据中心110统一的对外的IP地址修改为客户端111的IP地址。作为另一个示例,网络节点集群112还可以是防火墙(fire wall,FW)集群,部署有安全防护策略,负责对请求报文或者响应报文进行安全、权限等方面的检查。
需要说明的是,VPC 110统一的对外地址也可以称为公网互联网协议(publicinternet protocol,PIP)地址,简称公网IP地址。
网络节点集群112中的网络处理节点可以是物理设备,还可以是虚拟机,本申请实施例对此不做具体限定。
网络节点集群112中的节点在对客户端发送的请求报文进行处理的过程中,记录请求报文的转发信息,该转发信息可以包括但不限于报文的五元组结构体信息。在响应报文经过网络节点集群112中的节点时,网络节点集群112中的节点判断是否有相应请求报文的信息。如果响应报文有对应的请求报文,则将二者有依赖或有关联的流量称为有状态流量。如果响应报文没有对应的请求报文,则将二者没有依赖或关联的流量称为无状态流量。
具体的,网络节点集群112中的节点可以在接收到请求报文之后,记录该请求报文的目的地址、目的端口、源地址、源端口、协议号。网络节点集群112中的节点在接收到响应报文之后,记录响应报文的目的地址、目的端口、源地址、源端口、协议号。如果请求报文与响应报文的协议号一致,且请求报文的目的地址为响应报文的源地址、请求报文的目的端口为响应报文的源端口、响应报文的目的地址为请求报文的源地址、响应报文的目的端口为请求报文的源端口,可以将该请求报文和响应报文理解为有状态流量。
对于有状态流量,请求报文和响应报文有需要在网络节点集群112中的同一个节点处理的诉求。具体的,网络节点集群112为有状态集群,网络节点集群112中的节点需要保存相关的转发规则,以便于网络节点集群112中的节点在接收到响应报文之后,可以根据该节点保存的转发规则确定响应报文为有状态流量,并对该响应报文进行流量处理。
应理解,转发规则也可以理解为对报文进行处理的转发规则。本申请实施例对转发规则的表现形式不做具体限定,例如,可以是流表,又如,还可以是路由规则。
以网络节点集群112为NAT集群为例,该转发规则可以为基于请求报文五元结构体信息的转发规则。网络节点集群112中的节点在接收到客户端111向服务端120发送的请求报文之后,记录该请求报文的五元结构体信息。并根据本地存储的基于五元结构体信息的转发规则将请求报文的源地址由客户端111的IP地址修改为数据中心110或企业内部网络统一的公网IP,并转发至服务端120。
网络节点集群112中的节点在接收到服务端120向客户端111发送的响应报文之后,根据响应报文的五元组结构体以及该节点中保存的转发规则确定该流量是否为有状态流量。在响应报文为有状态流量的情况下,该节点根据本地保存的转发规则将响应报文的目的地址由数据中心110统一的对外的IP地址修改为客户端111的IP地址,并转发至客户端111。
对于有状态流量需要在网络节点集群112中的同一个节点,根据保存的状态流量进行流量处理的需求。但是,由于报文流量是经过负载均衡节点114发送至网络节点集群112中的节点,因此,请求报文和该请求报文对应的响应报文有可能不在网络节点集群112中的同一个节点进行处理。因此,网络节点集群112中的节点需要对存储的转发规则进行同步,以便于节点在接收到响应报文之后,该节点可以根据存储的转发规则对响应报文进行处理,从而避免由于转发规则的缺失所带来的丢包现象。
以网络节点集群112为主主集群作为示例。参见图1,网络节点集群112中的节点1121、节点1122、节点1123可以同时对报文流量进行处理,当某个节点故障时,该节点上的流量会被分发至网络节点集群112中的其他节点进行处理。传统的技术方案中,节点1121、节点1122、节点1123之间通过组播的方式同步转发规则。
以网络节点集群112为主备集群作为示例。参见图1,网络节点集群112中的各个节点中,同时仅有一个节点在处理流量的称为主节点(master),其他节点(通常称为备节点(slaver))在主节点故障之后成为主节点开始处理流量。传统的技术方案中,网络节点集群112中的主节点保存有转发规则,该主节点通过对单播的方式向其他备节点同步转发规则。
上述通过单播或者组播同步转发规则的技术方案中,容易导致丢包、业务中断等。一方面,通过单播或者组播同步转发规则的过程中,并不是实时同步,因此,容易导致丢包、业务中断。另一方面,在单播或组播消息的处理时间大于请求报文对应的响应报文返回至网络节点集群112中的节点的时间,也会导致丢包、业务中断。另一方面,对于主主集群而言,由于不确定响应报文会被转发至网络节点集群112的具体节点,因此,需要网络节点集群112中所有的节点接收并保存所有的转发规则导致整体的容量规格受限。
本申请实施例提供的主主集群的控制方法,对于网络节点集群112为主主集群而言,可以将网络节点集群112中的各个节点的转发规则存储在一个独立的控制节点中,在网络节点集群112中的各个节点对流量进行处理的过程中,如果节点本地没有存储转发规则,可以从独立的控制节点中获取,以实现可靠的转发规则同步,避免丢包、业务中断等。同时,将转发规则保存在一个独立的控制节点中,无需每个节点都保存转发规则提升了集群服务的整体的容量规格。
下面结合图1所示的架构,以网络节点集群112为NAT集群为例,对本申请实施例提供的报文流量的处理方法进行详细描述。
需要说明的是,转发规则可以存储在控制节点自身的缓存,或者还可以存储在控制节点的配置管理数据库(configuration management database,CMDB)中,本申请实施例对此不做具体限定。
图2是本申请实施例提供的一种报文流量转发的***架构200的示意性框图。如图2所示,***架构200在图1所示的***架构100的基础上增加了控制节点210。
需要说明的是,控制节点210可以位于VPC 100的内部,或者也可以位于VPC 100的外部,本申请实施例对此不做具体限定。图2中为了便于描述,以控制节点210位于VPC 100的内部进行说明。
控制节点210中可以存储有转发规则,在网络节点集群112中的任意一个节点接收到报文流量之后,从控制节点210中获取转发规则,并根据转发规则对该报文流量进行处理。
需要说明的是,控制节点210可以是集中式的,也可以是分布式的,本申请实施例对此不作具体限定。
可选地,在一些实施例中,控制节点210可以为软件自定义网络(softwaredefined network,SDN)控制器,该SDN控制器可以在接收到网络节点集群112中的任意一个节点上报的请求报文的转发信息生成转发规则,并将生成的转发规则下发至网络节点集群112中的节点,以便于该节点根据转发规则对请求报文或者该请求报文对应的响应报文进行处理。
下面以图2所示的网络节点集群112为NAT集群,控制节点210为SDN控制器,结合图3对本申请实施例提供的报文流量的处理方法进行详细描述。
图3是本申请实施例提供的一种报文流量的处理方法的示意性流程图。图3所示的方法可以包括步骤310-370,下面分别对步骤310-370进行详细描述。
步骤310:租户向云管理平台发送创建服务的命令。
租户可以向云管理平台向发送创建服务的命令,具体的实现方式有多种,本申请对此不做具体限定。作为一个示例,租户可以通过云管理平台上的控制台(console)发送创建服务的命令。作为另一个示例,租户还可以通过云平台上的应用程序界面(applicationprogram interface,API)发送创建服务的命令。
一种可能的实现方式中,本申请实施例中租户可以以VPC为粒度发送创建服务的命令。应理解,VPC内的所有客户端共享至少一个公网IP,并通过该公网IP对外部网络进行访问。
步骤311:云管理平台根据创建服务的命令产生针对SDN控制器的配置方案。
云管理平台可以根据创建服务的命令产生SDN控制器210的配置方案,该配置方案可以指示SDN控制器210创建NAT服务,并进行初始化。
可选地,在一些实施例中,租户向云管理平台发送的创建服务的命令中可以包括可用的公网端口范围,云管理平台产生针对SDN控制器210的配置方案中可以包括可用的公网端口范围,以便于SDN控制器210从可用的公网端口范围选择一个公网端口,该公网端口与第一请求报文的源IP地址和源端口一一对应。
步骤315:SDN控制器210接收云管理平台发送的配置方案。
步骤320:SDN控制器210初始化。
SDN控制器210接收云平台发送的配置方案之后,解析并创建NAT服务。SDN控制器210还可以为VPC内的客户端分配可用的公网IP,并创建NAT服务对应的空的NAT转发配置库,该NAT转发配置库中可以存储有NAT转发规则。
SDN控制器210还可以为网络节点集群112中的各个节点进行转发面的配置。
具体的,SDN控制器210向网络节点集群112中的各个节点下发OpenFlow流表,该OpenFlow流表用于指示网络节点集群112中的各个节点在接收到的报文的转发信息与本地存储的NAT转发表项不匹配时,发送查询请求至SDN控制器210。
网络节点集群112中的各个节点均设置有内网网卡和外网网卡,内网网卡与私有网络连接,外网网卡与公网连接。节点可根据转发规则对接收到的报文进行修改,根据修改后的报文的目的地址选择网卡发送修改后的报文,举例而言,在修改后的报文的目的地址属于私网地址时,选择内网网卡发送修改后的报文至私有网络,在修改后的报文的目的地址属于公网地址时,选择外网网卡将修改后的报文发送至公网。
应理解,在网络节点集群112中的各个节点为物理设备的情况下,该网卡可以为物理网卡。在网络节点集群112中的各个节点为虚拟机的情况下,该网卡可以为虚拟网卡。
步骤325:节点1121接收客户端111向服务端120发送的第一请求报文。
举例而言,客户端111向服务端120发送第一请求报文,该第一请求报文可被路由至负载均衡节点114,举例而言,客户端111的默认网关可被设置为负载均衡节点114的网络地址,当第一请求报文的目的地址与源地址不在一个子网范围内,该第一请求报文可被路由至默认网关,负载均衡节点114根据负载均衡策略选择节点1121,并将第一请求报文发送至网络节点集群112中的节点1121。其中,第一请求报文的源IP为客户端111的IP地址、目的地址为服务端120的IP地址。
客户端111向服务端120发送的第一请求报文可以携带有转发信息,该转发信息记录第一请求报文的发送方向为出方向。
应理解,在本申请实施例中,出方向为从客户端到服务端的方向,入方向为从服务端到客户端的方向,上文中的出方向可以理解为从VPC 110内的客户端发送到VPC 110外的服务端的报文,或者为从局域网内的客户端发送至局域网外的服务端的报文,入方向可理解为从VPC 110外的服务端发送到VPC 110内的客户端的报文,或者为从局域网外的服务端发送至局域网内的客户端的报文。
步骤330:节点1121向SDN控制器210发送查询请求,该查询请求用于查询与第一请求报文的转发信息对应的出方向转发规则。
节点1121在接收到客户端111发送的第一请求报文之后,根据第一请求报文的转发信息,确定本地是否有存储的对第一请求报文进行处理的出方向转发规则。如果节点1121本地没有存储出方向转发规则,该节点1121基于SDN控制器210下发的OpenFlow流表,将第一请求报文的转发信息上报至SDN控制器210进行查询。
步骤335:SDN控制器210向节点1121下发出方向转发规则。
第一请求报文的转发信息可例如为第一请求报文的五元组结构体信息(例如,第一请求报文的源IP、源端口、目的IP、目的端口、报文类型),SDN控制器210在接收到节点1121上报的查询第一请求报文的转发信息对应的出方向转发规则之后,根据第一请求报文的五元组结构体信息(例如,第一请求报文的源IP、源端口、目的IP、目的端口、报文类型)在NAT转发配置库中进行查询。
可选地,在一些实施例中,如果NAT转发配置库中没有存储第一请求报文对应的出方向转发规则,可以理解为该第一请求报文为客户端111访问服务端120的首包。可以根据第一请求报文的转发信息生成对应的出方向转发规则,并将生成的出方向转发规则下发给节点1121。同时,SDN控制器210还可以产生与所述出方向转发规则方向相反的入方向转发规则。并将出方向转发规则以及入方向转发规则存储在NAT转发配置库中,以便于网络节点集群112中的其他节点接收到第一请求报文对应的响应报文之后,可以直接从NAT转发配置库中获取入方向转发规则,并对该响应报文进行转发处理。
出方向转发规则以及入方向转发规则为基于第一请求报文的转发信息的双向转发规则。其中,出方向转发规则为:将接收到的出方向的报文的源IP修改为公网IP(PIP),将接收到的出方向的报文的源端口修改为公网端口。入方向转发规则:将接收到的入方向的报文的目的IP修改为客户端111的IP,将接收到的入方向的报文的目的端口修改为第一请求报文的源端口。
本申请实施例中SDN控制器210记录有公网IP地址以及可用的公网端口范围,SDN控制器210从可用的公网端口范围选择一个公网端口,该公网端口与第一请求报文的源IP地址和源端口一一对应。
应理解,可用的公网端口范围可以是管理员自定义的。
作为一个示例,客户端111的IP地址为192.168.1.100,服务端120的IP地址为67.18.2.23。客户端111向服务端120发送的第一请求报文的源IP地址为192.168.1.100,源端口为6000。第一请求报文的目的IP(也就是服务端120的IP地址)地址为67.18.2.23,目的端口为443。SDN控制器210中记录的公网IP地址为200.16.1.2,可用的公网端口范围为6000-8000。
下面以SDN控制器210从可用的公网端口范围为6000-8000中选择的公网端口为8000作为示例,对出方向转发规则的具体实现方式进行详细描述。
以出方向转发规则为例:将第一请求报文的源IP地址由192.168.1.100修改为200.16.1.2,将第一请求报文的源端口由端口6000修改为端口8000。经过出方向转发规则处理之后,第一请求报文的源IP地址为200.16.1.2,源端口为8000,目的IP地址为67.18.2.23,目的端口为443。
作为另一个示例,服务端120向客户端111发送的第一响应报文的源IP地址(也就是服务端120的IP地址)为67.18.2.23,源端口为443,目的IP地址为200.16.1.2,目的端口为8000。由于第一响应报文的目的IP地址与处理之后的第一请求报文的源IP地址相同,目的端口与处理之后的第一请求报文的源端口相同,可以理解为第一响应报文为第一请求报文的有状态流量,第一响应报文与第一请求报文对应。
以入方向转发规则为例:在第一响应报文为第一请求报文的有状态流量的情况下,将第一响应报文的目的IP地址由200.16.1.2修改为192.168.1.100,将第一响应报文的目的端口由端口8000修改为端口6000。经过入方向转发规则处理之后,第一响应报文的源IP地址为67.18.2.23,源端口为443,目的IP地址为192.168.1.100,目的端口为6000。
可选地,在一些实施例中,如果NAT转发配置库中存储第一请求报文对应的出方向转发规则,SDN控制器210可以直接将出方向转发规则下发给节点1121。
步骤340:节点1121基于SDN控制器210下发的出方向转发规则,对第一请求报文进行网络处理。
节点1121可以根据第一请求报文对应的出方向转发规则,将第一请求报文的源IP修改为PIP,将第一请求报文的源端口修改为端口X。并根据第一请求报文的目的IP为服务端120的IP地址、目的端口为端口2。
例如,节点1121基于出方向转发规则,将第一请求报文的源IP地址由192.168.1.100修改为200.16.1.2,将第一请求报文的源端口由端口6000修改为端口8000。经过节点1121对第一请求报文处理之后,第一请求报文的源IP地址为200.16.1.2,源端口为8000,目的IP地址为67.18.2.23,目的端口为443。
步骤345:节点1121将第一请求报文转发至服务器120。
例如,节点1121可以根据第一请求报文的源IP地址为200.16.1.2,源端口为8000,目的IP地址为67.18.2.23,目的端口为443,通过外网网卡将第一请求报文发送至公网,第一请求报文经由公网的路由设备转发至服务器120(服务器120的目的IP地址为67.18.2.23)。
下面以图2结合步骤350-370,对本申请实施例提供的报文流量的处理方法进行进一步的详细描述。
步骤350:服务端120发送第一响应报文至节点1122。
服务端120在接收到第一请求报文之后,根据第一请求报文产生第一响应报文,第一响应报文携带有第一请求报文要求的内容,例如网页。其中,第一响应报文携带转发信息,该转发信息包括目的IP、目的端口、源IP、源端口以及协议类型,目的IP地址是公网IP地址,目的端口为公网端口,源IP地址是服务端120的IP地址,源端口是服务端120的提供服务的端口,由于该报文的源地址是服务端120的IP地址,目的端口是VPC的公网端口,因此该转发信息记录第一响应报文的发送方向为入方向。
服务端120发出的第一响应信息根据其目的地址被路由至负载均衡节点,负载均衡节点根据负载均衡策略选择网络节点集群112中一个具体的节点并将第一响应报文发送至该节点。
为了便于描述,下文中以服务端120发出的第一响应报文被负载均衡节点114发送至网络节点集群112中节点1122进行说明。
步骤355:节点1122向SDN控制器210请求查询入方向转发规则。
节点1122在接收到服务端120发送的第一响应报文之后,根据第一响应报文的转发信息,例如源IP、源端口、目的IP、目的端口以及协议类型判断第一响应报文的方向,由于第一响应报文的源IP是服务端的IP,目的IP是公网IP,因此第一响应报文为入方向报文。
节点1122进一步根据第一响应报文的转发信息判断本地是否存储与第一响应报文的转发信息匹配的入方向转发规则。具体地,节点1122在本地存储的转发规则中查找是否有对公网IP进行修改的转发规则,如果是,则说明本地存储有与第一响应报文的转发信息匹配的入方向转发规则,反之,则本地没有存储有与第一响应报文的转发信息匹配的入方向转发规则。
如果节点1122本地没有存储与第一响应报文的转发信息匹配的入方向转发规则,该节点1122基于SDN控制器210下发的OpenFlow流表,将第一请求报文的转发信息上报至SDN控制器210进行查询。
步骤360:节点1122接收SDN控制器210下发的入方向转发规则。
SDN控制器210在接收到节点1122报的查询第一响应报文对应的入方向转发规则之后,根据第一响应报文的转发信息(例如,第一响应报文的源IP、源端口、目的IP、目的端口、报文类型)在NAT转发配置库中进行查询。如果第一响应报文为有状态流量,也就是说,第一响应报文对应有第一请求报文,NAT转发配置库中会存储出方向转发规则以及与出方向转发规则对应的入方向转发规则。SDN控制器210可以将入方向转发规则下发给节点1122。
应理解,SDN控制器210可以根据第一响应报文的目的IP地址是公网IP地址,目的端口为公网端口确认第一响应报文是第一请求报文的有状态流量报文。
可选地,在一些实施例中,如果SDN控制器210在NAT转发配置库中没有查询到入方向转发规则,可以理解为该第一响应报文不是有状态流量,而是外网设备主动请求向VPC100发送的报文流量。本申请实施例中基于安全考虑SDN控制器210可以不生成第一响应报文对应的入方向转发规则,网络处理节点在没有获得SDN控制器210下发的入方向转发规则的情况下,直接将该第一响应报文丢弃。
步骤365:节点1122根据入方向转发规则对第一响应报文进行处理。
可选地,在一些实施例中,节点1122接收到SDN控制器210下发的出方向转发规则,可以根据入方向转发规则,将第一响应报文的目的IP由公网IP修改为客户端111的IP地址、目的端口由公网端口修改为第一请求报文的源端口。
例如,承接上例,节点1122可以基于入方向转发规则,将第一响应报文的目的IP地址由200.16.1.2修改为192.168.1.100,将第一响应报文的目的端口由8000修改为6000。经过节点1121对第一响应报文处理之后,第一响应报文的源IP地址为67.18.2.23,源端口为443,目的IP地址为192.168.1.100,目的端口为6000。
步骤370:节点1122将第一响应报文转发至客户端111。
例如,节点1122可以根据第一响应报文的目的IP地址192.168.1.100选择内网网卡,从内网网卡将第一响应报文发送至私有网络中的客户端111。
可选地,在另一些实施例中,节点1122没有接收到SDN控制器210下发的入方向转发规则,可以将第一响应报文丢弃。
可选地,在一些实施例中,如果网络节点集群112中的某一个节点故障,例如,节点1122发生故障,负载均衡节点114不再将请求报文或者响应报文发送至故障的节点1122。
具体的实现方式有多种,本申请实施例对此不做具体限定。作为一个示例,负载均衡节点114可以根据SDN控制器210的指示负载均衡节点114删除向故障的节点1122转发报文的表项,在接收到报文之后,不再将报文分发至故障的节点1122进行处理。作为另一个示例,负载均衡节点114还可以根据ECMP或者LACP的自身机制探测到节点1122故障,将报文不再分发至故障的节点1122进行处理。
需要说明的是,本申请实施例中的节点故障的情况包括但不限于:节点自身上报的网卡故障、网元故障,SDN控制器210感知到的(例如,通过保活的方式感知)节点故障。
下面以节点1122发生故障,负载均衡节点114将节点1122处理的报文流量分发至网络节点集群112中的节点1123为例,对本申请实施例提供的报文的处理方法进行详细描述。
上述步骤350中:负载均衡节点114在获知节点1122发生故障之后,将需要节点1122处理的第一响应报文发送至网络节点集群112中的节点1123进行处理。
上述步骤355中:节点1123向SDN控制器210请求查询入方向转发规则。
节点1123在接收到服务端120发送的第一响应报文之后,根据第一响应报文的转发信息判断本地是否存储有入方向转发规则。如果节点1123本地没有存储入方向转发规则,该节点1122基于SDN控制器210下发的OpenFlow流表,将第一请求报文的转发信息上报至SDN控制器210进行查询。
上述步骤360中:节点1123接收SDN控制器210下发的入方向转发规则。
SDN控制器210在接收到节点1123报的查询第一响应报文对应的入方向转发规则之后,根据第一响应报文的转发信息在NAT转发配置库中到入方向转发规则,并将入方向转发规则下发给节点1123。
上述步骤365中:节点1123根据入方向转发规则对第一响应报文进行处理。
承接上例,节点1123可以基于入方向转发规则,将第一响应报文的目的IP地址由200.16.1.2修改为192.168.1.100,将第一响应报文的目的端口由8000修改为6000。经过入方向转发规则处理之后,第一响应报文的源IP地址为67.18.2.23,源端口为443,目的IP地址为192.168.1.100,目的端口为6000。
上述步骤370中:节点1123将第一响应报文通过内网网卡发出至私有网络,从而经由私有网络的路由器(图未示)转发至客户端111。
本申请实施例中,在网络节点集群112中的节点发生故障的情况下,其他节点通过从SDN控制器210获取存储的NAT转发规则对报文进行处理,避免传统的方案中由于节点发生故障,NAT转发规则没有同步所导致的正常通信的中断问题,或者丢包问题。
可选地,在一些实施例中,在故障的节点1122恢复之后,该节点1122在接收到待处理的报文流量,可以根据待处理的报文流量的转发信息从SDN控制器210中拉取存储的对待处理的报文进行处理的转发规则。
可选地,在一些实施例中,在网络节点集群112中的节点在一段时间内没有接收到需要进行处理的报文,该节点将会删除本地存储的对报文流量进行处理的转发规则,也可以理解为规则老化。如果该节点再次接收到需要处理的报文,该节点可以根据待处理报文的转发信息从SDN控制器210中拉取存储的对报文进行处理的转发规则。
下面结合图1所示的架构,以网络节点集群112为防火墙(firewall,FW)集群为例,对本申请实施例提供的报文流量的处理方法进行详细描述。
图4是本申请实施例提供的另一种报文流量转发的***架构200的示意性框图。如图4所示,网络节点集群112为FW集群。
应理解,FW集群是一种位于私有网络与公网之间的屏障,可以按照预先定义的转发规则来控制数据包的进出。FW集群作为***的一道防线,其作用是防止非法用户的进入。
SDN控制器210中可以存储有转发规则,在网络节点集群112中的任意一个节点接收到报文流量之后,从控制器210中获取转发规则,并根据转发规则确定是否可以将报文流量进行转发。
下面以图4所示的网络节点集群112为FW集群为例,结合图5,对本申请实施例提供的报文流量的处理方法进行详细描述。
图5是本申请实施例提供的另一种报文流量的处理方法的示意性流程图。图5所示的方法可以包括步骤510-570,下面分别对步骤510-570进行详细描述。
步骤510:租户向云管理平台发送创建服务的命令。
与步骤310对应,具体的请参考步骤310中的描述,此处不再赘述。
步骤511:云管理平台接收上述命令,根据上述命令产生针对SDN控制器的配置方案。
云管理平台可以根据创建服务的命令产生SDN控制器210的控制方案,该控制方案可以指示SDN控制器210创建FW服务,并进行初始化。
步骤515:SDN控制器210接收云管理平台发送的配置方案。
与步骤315对应,具体的请参考步骤315中的描述,此处不再赘述。
步骤520:SDN控制器210初始化。
SDN控制器210接收云平台发送的配置方案之后,解析并创建FW服务。SDN控制器210还可以创建FW服务对应的空的FW转发配置库,该FW转发配置库中可以存储有FW转发规则。
SDN控制器210还可以为网络节点集群112中的各个节点进行转发面配置。作物额示例而非限定,SDN控制器210向网络节点集群112中的各个节点下发OpenFlow流表,该OpenFlow流表用于指示网络节点集群112中的各个节点在接收到的报文的转发信息与本地存储的NAT转发表项不匹配时,发送查询请求至SDN控制器210。具体的请参考步骤320中的描述,此处不再赘述。
步骤525:节点1121接收客户端111向服务端120发送的第一请求报文。
举例而言,客户端111向服务端120发送第一请求报文,该第一请求报文可被路由至负载均衡节点114,举例而言,客户端111的默认网关可被设置为负载均衡节点114的网络地址,当第一请求报文的目的地址与源地址不在一个子网范围内,该第一请求报文可被路由至默认网关,负载均衡节点114根据负载均衡策略选择节点1121,并将第一请求报文发送至网络节点集群112中的节点1121。
客户端111向服务端120发送的第一请求报文就可以携带有转发信息,该转发信息记录第一请求报文的发送方向为出方向。
应理解,在本申请实施例中,出方向为从客户端到服务端的方向,入方向为从服务端到客户端的方向,上文中的出方向可以理解为从VPC 110内的客户端发送到VPC 110外的服务端的报文,或者为从局域网内的客户端发送至局域网外的服务端的报文,入方向可理解为从VPC 110外的服务端发送到VPC 110内的客户端的报文,或者为从局域网外的服务端发送至局域网内的客户端的报文。
步骤530:节点1121向SDN控制器210发送查询请求,该查询请求用于查询与第一请求报文的转发信息对应的出方向转发规则。
节点1121在接收到客户端111发送的第一请求报文之后,根据第一请求报文的转发信息,确定本地是否有存储的对第一请求报文进行处理的出方向转发规则。如果节点1121本地没有存储出方向转发规则,该节点1121基于SDN控制器210下发的OpenFlow流表,将第一请求报文的转发信息上报至SDN控制器210进行查询。
步骤535:SDN控制器210向节点1121下发出方向转发规则。
第一请求报文的转发信息可例如为第一请求报文的五元组结构体信息(例如,第一请求报文的源IP、源端口、目的IP、目的端口、报文类型),SDN控制器210在接收到节点1121上报的查询第一请求报文的转发信息对应的出方向转发规则之后,可以根据第一请求报的源网络地址和目的网络地址配置所述出方向转发规则。其中,出方向转发规则包括所述第一报文的源网络地址和目的网络地址之间的对应关系。
需要说明的是,第一报文的源网络地址可以为第一报文的源IP地址,或者还可以是第一报文的源IP地址以及源端口。第一报文的目的网络地址可以为第一报文的目的IP地址,或者还可以是第一报文的目的IP地址以及目的端口。
应理解,出方向转发规则用于指示网络节点集群112中接收到出方向转发规则的节点判断发送方向为出方向的报文的目的网络地址是否为预设网络地址。如果是,则根据发送方向为出方向的报文的目的网络地址发送所述发送方向为出方向的报文。如果否,则丢弃发送方向为出方向的报文。
SDN控制器210还可以根据出方向转发规则记录的第一报文的源网络地址和目的网络地址配置入方向转发规则。入方向转发规则包括第一报文的源网络地址和目的网络地址的对应关系。
应理解,入方向转发规则用于指示网络节点集群112中接收到入方向转发规则的节点判断发送方向为入方向的报文的目的网络地址是否为所述第一报文的源网络地址。如果是,则根据发送方向为入方向的报文的目的网络地址发送所述发送方向为入方向的报文。如果否,则丢弃所述发送方向为入方向的报文。
本申请实施例中,SDN控制器210还可以将出方向转发规则以及入方向转发规则存储在FW转发配置库中,以便于网络节点集群112中的其他节点接收到第一请求报文对应的响应报文之后,可以直接从FW转发配置库中获取入方向转发规则,并对该响应报文进行转发处理。
作为一个示例,客户端111的IP地址为192.168.1.100,服务端120的IP地址为67.18.2.23。客户端111向服务端120发送的第一请求报文的源IP地址为192.168.1.100,目的IP(也就是服务端120的IP地址)地址为67.18.2.23。出方向转发规则为:允许源IP地址为192.168.1.100,目的地址为67.18.2.23的报文通过。入方向转发规则为:允许源IP地址为67.18.2.23,目的地址为192.168.1.100的报文通过。
步骤540:节点1121基于SDN控制器210下发的出方向转发规则,对第一请求报文进行网络处理。
节点1121可以接收第一请求报文对应的出方向转发规则,并根据出方向转发规则判断第一请求报文的源网络地址和目的网络地址是否符合条件。
例如,客户端111向服务端120发送的第一请求报文的源IP地址为192.168.1.100,目的IP地址为67.18.2.23。节点1121根据出方向转发规则中允许源IP地址为67.18.2.23,目的地址为192.168.1.100的报文通过,确定第一请求报文允许通过。
步骤545:节点1121将第一请求报文转发至服务器120。
下面以图2结合步骤550-570,对本申请实施例提供的报文流量的处理方法进行进一步的详细描述。
步骤550:服务端120发送第一响应报文至节点1122。
服务端120在接收到第一请求报文之后,根据第一请求报文产生第一响应报文,第一响应报文携带有第一请求报文要求的内容,例如网页。第一响应报文携带转发信息,该转发信息包括目的IP、目的端口、源IP、源端口以及协议类型。其中,第一响应报文的源IP地址是服务端120的IP地址,源端口是服务端120的提供服务的端口,由于该报文的源地址是服务端120的IP地址,目的端口是VPC的公网端口,因此该转发信息记录第一响应报文的发送方向为入方向。
服务端120发出的第一响应信息根据其目的地址被路由至负载均衡节点,负载均衡节点根据负载均衡策略选择网络节点集群112中一个具体的节点并将第一响应报文发送至该节点。
为了便于描述,下文中以服务端120发出的第一响应报文被负载均衡节点114发送至网络节点集群112中节点1122进行说明。
步骤555:节点1122向SDN控制器210请求查询入方向转发规则。
节点1122在接收到服务端120发送的第一响应报文之后,根据第一响应报文的转发信息,例如源IP、源端口、目的IP、目的端口以及协议类型判断第一响应报文的方向,由于第一响应报文的源IP是服务端的IP,目的IP是公网IP,因此第一响应报文为入方向报文。
节点1122进一步根据第一响应报文的转发信息判断本地是否存储与第一响应报文的转发信息匹配的入方向转发规则。如果节点1122本地没有存储入方向转发规则,该节点1122基于SDN控制器210下发的OpenFlow流表,将第一请求报文的转发信息上报至SDN控制器210进行查询。
步骤560:节点1122接收SDN控制器210下发的入方向转发规则。
SDN控制器210在接收到节点1122报的查询第一响应报文对应的入方向转发规则之后,根据第一响应报文的转发信息中包括的网络地址,在FW转发配置库中进行查询。如果第一响应报文为有状态流量,也就是说,第一响应报文对应有第一请求报文,FW转发配置库中会存储出方向转发规则以及与出方向转发规则对应的入方向转发规则。SDN控制器210可以将入方向转发规则下发给节点1122。
应理解,SDN控制器210可以根据第一响应报文的目的网络地址是第一报文的源网络地址确认第一响应报文是第一请求报文的有状态流量报文。
步骤565:节点1122根据入方向转发规则对第一响应报文进行处理。
节点1121可以接收第一响应报文对应的入方向转发规则,并根据入方向转发规则判断第一响应报文的源IP地址和目的IP地址是否符合条件。
例如,承接上例,客户端111向服务端120发送的第一请求报文的源IP地址为192.168.1.100,目的IP地址为67.18.2.23。节点1121根据入方向转发规则中允许源IP地址为67.18.2.23,目的地址为192.168.1.100的报文通过,确定第一响应报文允许通过。
步骤570:节点1122将第一响应报文转发至客户端111。
与步骤370对应,具体的请参考步骤370中的描述,此处不再赘述。
可以理解的,本申请实施例中,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。
上文结合图1至图5,详细描述了本申请实施例提供的报文流量的处理方法,下面将结合图6-图7,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图6是本申请实施例提供的一种控制节点600的结构性示意性图。应理解,该控制节点600对应于上文中的控制器210。
该控制节点600包括:
接收模块610,用于接收所述主主集群中的第一网络处理节点发送的第一查询请求,所述第一查询请求携带有第一报文的转发信息,所述第一报文的转发信息记录所述第一报文的发送方向为出方向;
配置模块620,用于根据所述第一报文的转发信息配置出方向转发规则,产生与所述出方向转发规则方向相反的入方向转发规则,记录所述出方向转发规则和入方向转发规则,并将所述出方向转发规则发送至所述第一网络处理节点;
所述接收模块610,还用于接收所述主主集群中的第二网络处理节点发送的第二查询请求,所述第二查询请求携带有第二报文的转发信息,所述第二报文的转发信息记录所述第二报文的发送方向为入方向;
确认模块630,用于确认所述第二报文的转发信息与所述入方向转发规则匹配的情况下,根据所述第二报文的转发信息获取记录的所述入方向转发规则,将所述入方向转发规则发送至所述第二网络处理节点。
可选地,所述控制节点600记录有公网IP地址以及可用的公网端口范围,所述第一报文的转发信息包括所述第一报文的源IP地址和源端口,
所述配置模块620具体用于:在所述公网端口范围中选择公网端口,所述公网端口与所述第一报文的源IP地址和源端口一一对应,所述出方向转发规则包括所述第一报文的源IP地址和源端口与所述公网IP地址和所述公网端口的对应关系,所述出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点将发送方向为出方向的报文的源IP地址修改为所述公网IP地址,将发送方向为出方向的报文的源端口修改为所述公网端口。
可选地,配置模块620还用于:根据所述出方向转发规则记录的所述第一报文的源IP地址和源端口与所述公网IP地址和公网端口的对应关系,产生所述入方向转发规则,所述入方向转发规则包括所述第一报文的源IP地址和源端口与所述公网IP地址和公网端口的对应关系,所述入方向转发规则用于指示所述主主集群中接收到所述入方向转发规则的网络处理节点将发送方向为入方向的报文的目的IP地址修改为所述第一报文的源地址,将发送方向为入方向的报文的目的端口修改为所述第一报文的源端口。
可选地,所述第二报文的转发信息包括所述第二报文的目的IP地址和目的端口,
所述确认模块630具体用于:确认所述第二报文的目的IP地址是所述公网IP地址,确认所述第二报文的目的端口是所述公网端口。
可选地,所述第一报文由客户端发送至服务端,所述客户端和所述主主集群设置于虚拟私有云VPC网络,所述VPC网络设置有所述公网IP地址。
可选地,所述第一报文的转发信息包括所述第一报文的源网络地址和目的网络地址,所述配置模块620还用于:根据所述第一报文的源网络地址和目的网络地址配置所述出方向转发规则,所述出方向转发规则包括所述第一报文的源网络地址和目的网络地址的对应关系,所述出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点判断发送方向为出方向的报文的目的网络地址是否为预设网络地址,如果是,则根据发送方向为出方向的报文的目的网络地址发送所述发送方向为出方向的报文,如果否,则丢弃发送方向为出方向的报文。
可选地,所述配置模块620具体用于:根据所述出方向转发规则记录的所述第一报文的源网络地址和目的网络地址配置所述入方向转发规则,所述入方向转发规则包括所述第一报文的源网络地址和目的网络地址的对应关系,所述入方向转发规则用于指示所述主主集群中接收到所述入方向转发规则的网络处理节点判断发送方向为入方向的报文的目的网络地址是否为所述第一报文的源网络地址,如果是,则根据发送方向为入方向的报文的目的网络地址发送所述发送方向为入方向的报文,如果否,则丢弃所述发送方向为入方向的报文。
可选地,所述第二报文的转发信息包括所述第二报文的目的网络地址,所述确认模块630具体用于:确认所述第二报文的目的网络地址是所述第一报文的源网络地址。
应理解的是,本申请实施例的控制节点600可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图2至图5所示的方法时,控制节点600及其各个模块也可以为软件模块。
各功能模块的具体功能,在上述图2至图5所示实施例中亦有相关描述,在此不再赘述。
图7是本申请实施例提供的一种控制节点700的结构性示意性图。控制节点700包括处理单元711和通信接口712,处理单元711用于执行各种软件程序所定义的功能,例如,用于实现控制节点700的功能。通信接口712用于与其他计算节点进行通信交互,其他设备可以是其它物理服务器,具体地,通信接口712可以是网络适配卡。
可选地,该控制节点700还可以包括输入/输出接口713,输入/输出接口713连接有输入/输出设备,用于接收输入的信息,输出操作结果。输入/输出接口713可以为鼠标、键盘、显示器、或者光驱等。可选地,该控制节点700还可以包括辅助存储器714,一般也称为外存,辅助存储器714的存储介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如固态硬盘)等。
可选的,控制节点700还可以包括总线715。其中,处理单元711、通信接口712、输入/输出接口713、辅助存储器714可以通过总线715连接。总线715可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。总线715可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
处理单元711可以有多种具体实现形式,例如处理单元711可以包括处理器7112和存储器7111,处理器7112根据存储器7111中存储的程序指令执行图1至图5所示的实施例的相关操作。处理器7112可以为中央处理单元(central processing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器7112采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
控制节点700中的各个单元的上述和其它操作和/或功能分别为了实现图2至图5中的方法的相应流程,为了简洁,在此不再赘述。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (18)
1.一种主主集群的控制方法,其特征在于,包括:
控制节点接收所述主主集群中的第一网络处理节点发送的第一查询请求,所述第一查询请求携带有第一报文的转发信息,所述第一报文的转发信息记录所述第一报文的发送方向为出方向;
所述控制节点根据所述第一报文的转发信息配置出方向转发规则,产生与所述出方向转发规则方向相反的入方向转发规则,记录所述出方向转发规则和入方向转发规则,并将所述出方向转发规则发送至所述第一网络处理节点;
所述控制节点接收所述主主集群中的第二网络处理节点发送的第二查询请求,所述第二查询请求携带有第二报文的转发信息,所述第二报文的转发信息记录所述第二报文的发送方向为入方向;
所述控制节点确认所述第二报文的转发信息与所述入方向转发规则匹配的情况下,根据所述第二报文的转发信息获取记录的所述入方向转发规则,将所述入方向转发规则发送至所述第二网络处理节点。
2.根据权利要求1所述的方法,其特征在于,所述控制节点记录有公网IP地址以及可用的公网端口范围,所述第一报文的转发信息包括所述第一报文的源IP地址和源端口,所述控制节点根据所述第一报文的转发信息配置出方向转发规则,包括:
所述控制节点在所述公网端口范围中选择公网端口,所述公网端口与所述第一报文的源IP地址和源端口一一对应,所述出方向转发规则包括所述第一报文的源IP地址和源端口与所述公网IP地址和所述公网端口的对应关系,所述出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点将发送方向为出方向的报文的源IP地址修改为所述公网IP地址,将发送方向为出方向的报文的源端口修改为所述公网端口。
3.根据权利要求2所述的方法,其特征在于,所述产生与所述出方向转发规则方向相反的入方向转发规则,包括:
所述控制节点根据所述出方向转发规则记录的所述第一报文的源IP地址和源端口与所述公网IP地址和公网端口的对应关系,产生所述入方向转发规则,所述入方向转发规则包括所述第一报文的源IP地址和源端口与所述公网IP地址和公网端口的对应关系,所述入方向转发规则用于指示所述主主集群中接收到所述入方向转发规则的网络处理节点将发送方向为入方向的报文的目的IP地址修改为所述第一报文的源地址,将发送方向为入方向的报文的目的端口修改为所述第一报文的源端口。
4.根据权利要求3所述的方法,其特征在于,所述第二报文的转发信息包括所述第二报文的目的IP地址和目的端口,所述控制节点确认所述第二报文的转发信息与所述入方向转发规则匹配,包括:
所述控制节点确认所述第二报文的目的IP地址是所述公网IP地址,确认所述第二报文的目的端口是所述公网端口。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述第一报文由客户端发送至服务端,所述客户端和所述主主集群设置于虚拟私有云VPC网络,所述VPC网络设置有所述公网IP地址。
6.根据权利要求1所述的方法,其特征在于,所述第一报文的转发信息包括所述第一报文的源网络地址和目的网络地址,所述控制节点根据所述第一报文的转发信息配置出方向转发规则,包括:
所述控制节点根据所述第一报文的源网络地址和目的网络地址配置所述出方向转发规则,所述出方向转发规则包括所述第一报文的源网络地址和目的网络地址的对应关系,所述出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点判断发送方向为出方向的报文的目的网络地址是否为预设网络地址,如果是,则根据发送方向为出方向的报文的目的网络地址发送所述发送方向为出方向的报文,如果否,则丢弃发送方向为出方向的报文。
7.根据权利要求6所述的方法,其特征在于,所述产生与所述出方向转发规则方向相反的入方向转发规则,包括:
所述控制节点根据所述出方向转发规则记录的所述第一报文的源网络地址和目的网络地址配置所述入方向转发规则,所述入方向转发规则包括所述第一报文的源网络地址和目的网络地址的对应关系,所述入方向转发规则用于指示所述主主集群中接收到所述入方向转发规则的网络处理节点判断发送方向为入方向的报文的目的网络地址是否为所述第一报文的源网络地址,如果是,则根据发送方向为入方向的报文的目的网络地址发送所述发送方向为入方向的报文,如果否,则丢弃所述发送方向为入方向的报文。
8.根据权利要求7所述的方法,其特征在于,所述第二报文的转发信息包括所述第二报文的目的网络地址,所述控制节点确认所述第二报文的转发信息与所述入方向转发规则匹配,包括:
所述控制节点确认所述第二报文的目的网络地址是所述第一报文的源网络地址。
9.一种控制节点,其特征在于,包括:
接收模块,用于接收主主集群中的第一网络处理节点发送的第一查询请求,所述第一查询请求携带有第一报文的转发信息,所述第一报文的转发信息记录所述第一报文的发送方向为出方向;
配置模块,用于根据所述第一报文的转发信息配置出方向转发规则,产生与所述出方向转发规则方向相反的入方向转发规则,记录所述出方向转发规则和入方向转发规则,并将所述出方向转发规则发送至所述第一网络处理节点;
所述接收模块,还用于接收所述主主集群中的第二网络处理节点发送的第二查询请求,所述第二查询请求携带有第二报文的转发信息,所述第二报文的转发信息记录所述第二报文的发送方向为入方向;
确认模块,用于确认所述第二报文的转发信息与所述入方向转发规则匹配的情况下,根据所述第二报文的转发信息获取记录的所述入方向转发规则,将所述入方向转发规则发送至所述第二网络处理节点。
10.根据权利要求9所述的控制节点,其特征在于,所述控制节点记录有公网IP地址以及可用的公网端口范围,所述第一报文的转发信息包括所述第一报文的源IP地址和源端口,所述配置模块具体用于:
在所述公网端口范围中选择公网端口,所述公网端口与所述第一报文的源IP地址和源端口一一对应,所述出方向转发规则包括所述第一报文的源IP地址和源端口与所述公网IP地址和所述公网端口的对应关系,所述出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点将发送方向为出方向的报文的源IP地址修改为所述公网IP地址,将发送方向为出方向的报文的源端口修改为所述公网端口。
11.根据权利要求10所述的控制节点,其特征在于,配置模块还用于:
根据所述出方向转发规则记录的所述第一报文的源IP地址和源端口与所述公网IP地址和公网端口的对应关系,产生所述入方向转发规则,所述入方向转发规则包括所述第一报文的源IP地址和源端口与所述公网IP地址和公网端口的对应关系,所述入方向转发规则用于指示所述主主集群中接收到所述入方向转发规则的网络处理节点将发送方向为入方向的报文的目的IP地址修改为所述第一报文的源地址,将发送方向为入方向的报文的目的端口修改为所述第一报文的源端口。
12.根据权利要求11所述的控制节点,其特征在于,所述第二报文的转发信息包括所述第二报文的目的IP地址和目的端口,所述确认模块具体用于:
确认所述第二报文的目的IP地址是所述公网IP地址,确认所述第二报文的目的端口是所述公网端口。
13.根据权利要求10至12任一项所述的控制节点,其特征在于,所述第一报文由客户端发送至服务端,所述客户端和所述主主集群设置于虚拟私有云VPC网络,所述VPC网络设置有所述公网IP地址。
14.根据权利要求9所述的控制节点,其特征在于,所述第一报文的转发信息包括所述第一报文的源网络地址和目的网络地址,所述配置模块还用于:
根据所述第一报文的源网络地址和目的网络地址配置所述出方向转发规则,所述出方向转发规则包括所述第一报文的源网络地址和目的网络地址的对应关系,所述出方向转发规则用于指示所述主主集群中接收到所述出方向转发规则的网络处理节点判断发送方向为出方向的报文的目的网络地址是否为预设网络地址,如果是,则根据发送方向为出方向的报文的目的网络地址发送所述发送方向为出方向的报文,如果否,则丢弃发送方向为出方向的报文。
15.根据权利要求14所述的控制节点,其特征在于,所述配置模块具体用于:
根据所述出方向转发规则记录的所述第一报文的源网络地址和目的网络地址配置所述入方向转发规则,所述入方向转发规则包括所述第一报文的源网络地址和目的网络地址的对应关系,所述入方向转发规则用于指示所述主主集群中接收到所述入方向转发规则的网络处理节点判断发送方向为入方向的报文的目的网络地址是否为所述第一报文的源网络地址,如果是,则根据发送方向为入方向的报文的目的网络地址发送所述发送方向为入方向的报文,如果否,则丢弃所述发送方向为入方向的报文。
16.根据权利要求15所述的控制节点,其特征在于,所述第二报文的转发信息包括所述第二报文的目的网络地址,所述确认模块具体用于:
确认所述第二报文的目的网络地址是所述第一报文的源网络地址。
17.一种控制节点,其特征在于,包括处理器、存储器和通信接口,所述存储器中用于存储计算机执行指令,所述控制节点运行时,所述处理器运行所述存储器中的计算机执行指令以执行如权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,包括计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行如权利要求1至8中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910437296.6A CN110290174B (zh) | 2019-05-24 | 2019-05-24 | 一种主主集群的控制方法以及控制节点 |
PCT/CN2020/092025 WO2020238835A1 (zh) | 2019-05-24 | 2020-05-25 | 一种主主集群的控制方法以及控制节点 |
EP20814348.7A EP3965377A4 (en) | 2019-05-24 | 2020-05-25 | CONTROL PROCEDURES FOR MAIN MASTER CLUSTER AND CONTROL NODES |
US17/534,586 US11729102B2 (en) | 2019-05-24 | 2021-11-24 | Active-active cluster control method and control node |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910437296.6A CN110290174B (zh) | 2019-05-24 | 2019-05-24 | 一种主主集群的控制方法以及控制节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110290174A CN110290174A (zh) | 2019-09-27 |
CN110290174B true CN110290174B (zh) | 2021-02-05 |
Family
ID=68002596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910437296.6A Active CN110290174B (zh) | 2019-05-24 | 2019-05-24 | 一种主主集群的控制方法以及控制节点 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11729102B2 (zh) |
EP (1) | EP3965377A4 (zh) |
CN (1) | CN110290174B (zh) |
WO (1) | WO2020238835A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11652736B2 (en) * | 2020-06-30 | 2023-05-16 | Amazon Technologies, Inc. | Transmitting network traffic to a pool of redundant network appliances |
CN112003736B (zh) * | 2020-07-31 | 2023-05-02 | 深圳市腾讯网域计算机网络有限公司 | 一种多节点配置信息确定方法、装置及存储介质 |
CN111884942A (zh) * | 2020-08-03 | 2020-11-03 | 航天宏图信息技术股份有限公司 | 组播数据传输方法、装置、接收主机和组播*** |
CN112087533B (zh) * | 2020-09-11 | 2023-05-09 | 北京青云科技股份有限公司 | 报文处理方法、装置、设备和存储介质 |
US11595307B1 (en) | 2020-09-25 | 2023-02-28 | Amazon Technologies, Inc. | Customized tuple definition for hashing at a network appliance routing service |
CN113923204A (zh) * | 2021-10-29 | 2022-01-11 | 深圳证券信息有限公司 | 一种请求转发方法、装置、设备及可读存储介质 |
CN114401214B (zh) * | 2021-12-28 | 2024-03-29 | 航天科工网络信息发展有限公司 | 一种实现容器组播通信的网络及方法 |
CN114513465A (zh) * | 2022-02-15 | 2022-05-17 | 京东科技信息技术有限公司 | 负载均衡方法、负载均衡装置、电子设备和存储介质 |
CN114710491B (zh) * | 2022-03-31 | 2024-04-26 | 深圳昂楷科技有限公司 | 一种数据库集群的防护方法、数据库防火墙及介质 |
CN115996136B (zh) * | 2022-09-29 | 2024-03-26 | 华数云科技有限公司 | 一种基于sdn的多租户场景下云安全能力实现方法 |
CN115633093B (zh) * | 2022-10-24 | 2024-06-25 | 平安银行股份有限公司 | 资源获取方法、装置、计算机设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410730A (zh) * | 2014-12-10 | 2015-03-11 | 上海斐讯数据通信技术有限公司 | 基于nat技术的sdn主备控制器无缝切换方法 |
CN105099779A (zh) * | 2015-07-29 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 多租户云平台架构 |
US20160330281A1 (en) * | 2015-05-07 | 2016-11-10 | Dell Products L.P. | Systems and methods to improve read/write performance in object storage applications |
CN106911802A (zh) * | 2017-04-18 | 2017-06-30 | 北京华云网际科技有限公司 | 分布式块存储***的管理平台的部署方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10375158B2 (en) * | 2012-04-04 | 2019-08-06 | Radware, Ltd. | Techniques for adaptive traffic direction via scalable application delivery controller services |
CN105591863B (zh) * | 2014-10-20 | 2019-11-26 | 中兴通讯股份有限公司 | 一种实现虚拟私有云网络与外部网络互通的方法和装置 |
US10129180B2 (en) * | 2015-01-30 | 2018-11-13 | Nicira, Inc. | Transit logical switch within logical router |
CN106101298B (zh) * | 2016-06-06 | 2019-06-21 | 刘昱 | 基于sdn的网络地址转换装置及方法 |
CN107800626B (zh) * | 2016-08-31 | 2020-10-09 | 阿里巴巴集团控股有限公司 | 数据报文的处理方法、装置及设备 |
US20180176181A1 (en) * | 2016-12-19 | 2018-06-21 | Cisco Technology, Inc. | Endpoint admission control |
CN106506700A (zh) * | 2016-12-28 | 2017-03-15 | 北京优帆科技有限公司 | 一种负载均衡器的透明代理方法及负载均衡*** |
CN106533890B (zh) * | 2016-12-30 | 2019-12-24 | 华为技术有限公司 | 一种报文处理方法、装置及*** |
CN106789367A (zh) * | 2017-02-23 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种网络***的构建方法及装置 |
US10951584B2 (en) * | 2017-07-31 | 2021-03-16 | Nicira, Inc. | Methods for active-active stateful network service cluster |
CN108768817B (zh) * | 2018-05-22 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 一种虚拟化网络组网***、数据包发送方法 |
CN109451084B (zh) * | 2018-09-14 | 2020-12-22 | 华为技术有限公司 | 一种服务访问方法及装置 |
CN109361764B (zh) * | 2018-11-29 | 2021-02-05 | 杭州数梦工场科技有限公司 | 内跨vpc的服务访问方法、装置、设备及可读存储介质 |
-
2019
- 2019-05-24 CN CN201910437296.6A patent/CN110290174B/zh active Active
-
2020
- 2020-05-25 WO PCT/CN2020/092025 patent/WO2020238835A1/zh unknown
- 2020-05-25 EP EP20814348.7A patent/EP3965377A4/en active Pending
-
2021
- 2021-11-24 US US17/534,586 patent/US11729102B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410730A (zh) * | 2014-12-10 | 2015-03-11 | 上海斐讯数据通信技术有限公司 | 基于nat技术的sdn主备控制器无缝切换方法 |
US20160330281A1 (en) * | 2015-05-07 | 2016-11-10 | Dell Products L.P. | Systems and methods to improve read/write performance in object storage applications |
CN105099779A (zh) * | 2015-07-29 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 多租户云平台架构 |
CN106911802A (zh) * | 2017-04-18 | 2017-06-30 | 北京华云网际科技有限公司 | 分布式块存储***的管理平台的部署方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110290174A (zh) | 2019-09-27 |
EP3965377A4 (en) | 2022-06-22 |
EP3965377A1 (en) | 2022-03-09 |
US20220086092A1 (en) | 2022-03-17 |
US11729102B2 (en) | 2023-08-15 |
WO2020238835A1 (zh) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290174B (zh) | 一种主主集群的控制方法以及控制节点 | |
US10389634B2 (en) | Multiple active L3 gateways for logical networks | |
EP3695568B1 (en) | Systems and methods for controlling switches to record network packets using a traffice monitoring network | |
US11329914B2 (en) | User customization and automation of operations on a software-defined network | |
US9503371B2 (en) | High availability L3 gateways for logical networks | |
US11398956B2 (en) | Multi-Edge EtherChannel (MEEC) creation and management | |
US20150326467A1 (en) | Bridging clouds | |
US10411742B2 (en) | Link aggregation configuration for a node in a software-defined network | |
US20130091264A1 (en) | Dynamic session migration between network security gateways | |
WO2017127138A1 (en) | Virtual address for controller in a controller cluster | |
CN113364741A (zh) | 一种应用访问方法及代理服务器 | |
US11218918B2 (en) | Fast roaming and uniform policy for wireless clients with distributed hashing | |
US11522955B2 (en) | Transferring state information of resources | |
US20230269275A1 (en) | Implementing policy based on unique addresses or ports | |
US20230269217A1 (en) | Binding flows to unique addresses or ports | |
EP3843342A1 (en) | Communication method and related device |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220208 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |