CN111866046A - 一种实现集群的方法及相关设备 - Google Patents

一种实现集群的方法及相关设备 Download PDF

Info

Publication number
CN111866046A
CN111866046A CN201910363077.8A CN201910363077A CN111866046A CN 111866046 A CN111866046 A CN 111866046A CN 201910363077 A CN201910363077 A CN 201910363077A CN 111866046 A CN111866046 A CN 111866046A
Authority
CN
China
Prior art keywords
node
session
cluster
target node
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.)
Pending
Application number
CN201910363077.8A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910363077.8A priority Critical patent/CN111866046A/zh
Publication of CN111866046A publication Critical patent/CN111866046A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Abstract

本发明公开了一种实现集群的方法及相关设备。该方法可以包括:集群中的第一节点接收第一网络设备发送的第一报文,该第一报文与第二网络设备通过集群向该第一网络设备发送的请求报文属于同一会话。第一节点根据第一报文确定集群中的目标节点,目标节点的流表中包括该会话对应的流表信息。在该方法中,该集群中有用于处理该第一报文所属会话的流表信息的目标节点,而无需第一网络设备向集群中的所有节点发送该第一报文。因此,可以节约集群与该第一网络设备之间的带宽资源、以及集群内节点的内存资源。

Description

一种实现集群的方法及相关设备
技术领域
本发明涉及通信领域,具体涉及一种实现集群的方法及相关设备。
背景技术
在企业网络拓扑部署时,通常会部署集群,如防火墙集群、路由器集群等,当经过集群的业务流量发生变化时,可以根据需求增加或减少集群中节点的个数用以调整集群的整体性能,达到节约成本的目的。
集群是基于会话开展业务的,一个会话的请求报文和响应报文必须基于同一个会话,一个会话有一个唯一的标识。在集群的两侧需要部署用于负载均衡的网络设备,其中,一侧的网络设备用于将来自第一设备的请求报文转发给该集群中的某个节点,或将来自集群中的某个节点的报文转发给第一设备。另一侧的网络设备用于将来自集群中的节点的报文转发给第二设备,或向集群中的节点发送来自第二设备的响应报文。
当一侧的网络设备接收到来自第二设备的响应报文时,会将该响应报文发送给集群中的每一个节点。集群中任意一个节点接收到该响应报文之后,在自己的本地流表中查询是否存在该响应报文所属会话的标识的流表信息。若存在,则该节点执行该响应报文对应的业务,若不存在,则该节点丢弃该响应报文。这种方式对于该网络设备的转发性能要求很高,该网络设备需要将同样的报文发送给集群中的所有节点,会占用该网络设备的大量带宽资源,也会浪费集群内节点的内存资源。
发明内容
有鉴于此,本申请第一方面提供了一种实现集群的方法,该方法可以包括:集群中的第一节点接收第一网络设备发送的第一报文,该第一报文与第二网络设备通过集群向该第一网络设备发送的请求报文属于同一会话。第一节点根据第一报文确定集群中的目标节点,目标节点的流表中包括该会话对应的流表信息,该流表信息用于执行该会话对应的业务,第一节点和目标节点为不同节点。该第一方面提供的一种实现集群的方法中,该集群中有用于处理该第一报文所属会话的流表信息的目标节点,而无需第一网络设备向集群中的所有节点发送该第一报文。因此,可以节约集群与该第一网络设备之间的带宽资源以及集群内节点的内存资源。
可选的,结合第一方面,在第一方面的第一种可能的实现方式中,第一节点根据第一报文确定集群中的目标节点具体包括,第一节点根据第一报文携带的用于标识会话的信息确定目标节点。该标识会话的信息可以为会话的五元组,也可以为请求报文的源互联网协议IP地址和目的IP地址。该第一方面的第一种可能的实现方式中,该第一节点可以根据第一报文携带的用于标识会话的信息确定目标节点,而不需要借助其他节点,这种方式可以减少集群内部节点之间的交互,从而可以节约集群内节点的内存资源。
可选的,结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,第一节点根据第一报文携带的用于标识会话的信息确定目标节点包括:第一节点根据第一报文携带的用于标识该会话的信息确定第一节点的关联表中有该会话的表项,该会话的表项包括会话与目标节点的对应关系;第一节点根据第一节点的关联表中该会话的表项确定目标节点。该第一方面的第二种可能的实现方式中,该第一节点根据自己的关联表中该会话的表项就可以确定目标节点,而不需要借助其他节点,这种方式减少了集群内部节点之间的交互动作,节约了时间以及集群内节点的内存资源。
可选的,结合第一方面,在第一方面的第三种可能的实现方式中,第一节点根据第一报文确定集群中的目标节点包括:若第一节点的关联表中没有会话的表项,则第一节点根据第一报文在集群中确定第二节点,第二节点的关联表中有该会话的表项,该会话的表项包括该会话与目标节点的对应关系;第一节点向第二节点获取第二节点的关联表中该会话的表项;第一节点根据第二节点的关联表中该会话的表项确定目标节点。该第一方面的第三种可能的实现方式中,该第一节点可以根据第二节点的关联表中该会话的表项确定目标节点,该表项包括该会话与目标节点的对应关系,根据该对应关系,该第一节点可以准确地确定出该目标节点。
可选的,结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,第一节点根据第一报文在集群中确定第二节点,包括:第一节点根据第一算法对第一报文中目标字段的值进行运算并得到运算值;第一节点将该运算值对应的节点确定为第二节点。该第一方面的第四种可能的实现方式中,该第一节点可以根据第一算法对该会话的信息进行运算得到一个运算值,根据该运算值可以确定第二节点。在该集群中,任意一个节点通过该第一算法与该会话的信息都可以得到唯一确定的一个运算值,该运算值对应着集群中的第二节点。这样无论该第一节点为集群中的哪一个节点,都可以根据第一算法与该会话的信息确定出第二节点,可以增强方案的稳定性。
可选的,结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,该目标字段包括源IP地址字段和目的IP地址字段。
可选的,结合第一方面至第一方面的第五种可能的实现方式中任意一种可能的实现方式,在第一方面的第六种可能的实现方式中,第一节点根据第一报文确定集群中的目标节点之后,该方法还可以包括:第一节点向目标节点发送第一报文,第一报文用于该目标节点执行与第一报文所属会话对应的业务。与该第一报文所属会话对应的业务既可以在目标节点上执行,也可以在第一节点上执行,该第一方面的第六种可能的实现方式中以在目标节点上执行为例,可以增强方案的灵活性。
可选的,结合第一方面至第一方面的第五种可能的实现方式中任意一种可能的实现方式,在第一方面的第七种可能的实现方式中,第一节点根据第一报文确定集群中的目标节点之后,该方法还包括:第一节点向目标节点获取第一报文所属会话的流表信息;第一节点根据第一报文所属会话的流表信息执行与第一报文所属会话对应的业务。与该第一报文所属会话对应的业务既可以在目标节点上执行,也可以在第一节点上执行,该第一方面的第七种可能的实现方式中以在第一节点上执行为例,可以增强方案的灵活性。
本申请第二方面提供了一种实现集群的方法,该方法可以包括:集群中的目标节点接收网络设备发送的请求报文;目标节点在目标节点的流表中添加请求报文所属会话对应的流表信息,该流表信息用于执行该会话对应的业务;目标节点向集群中的至少一个节点发送该会话与目标节点的对应关系。在第二方面提供的一种实现集群的方法中,目标节点向集群中的至少一个节点发送了该会话与目标节点的对应关系,这样可以通过该集群内至少一个节点上该会话与目标节点的对应关系查找到目标节点,增强了方案的灵活性。
可选的,结合第二方面,在第二方面的第一种可能的实现方式中,目标节点向集群中的至少一个节点发送该会话与目标节点的对应关系之前,该方法还可以包括:目标节点根据请求报文在集群中确定第二节点;目标节点向集群中的至少一个节点发送该会话与目标节点的对应关系包括:目标节点向第二节点发送该会话与目标节点的对应关系。该第二方面的第一种可能的实现方式中,该目标节点可以确定第二节点然后将该会话与目标节点的对应关系发送给该第二节点。这样可以使得集群中的任意一个节点根据该第二节点准确地获取到该会话与目标节点的对应关系。
可选的,结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,目标节点根据请求报文在集群中确定第二节点包括:目标节点根据第一算法对请求报文中目标字段的值进行运算并得到运算值;目标节点将运算值对应的节点确定为第二节点。该第二方面的第二种可能的实现方式中,目标节点可以根据该第一算法准确地确定出第二节点,可以增强方案的稳定性。
可选的,结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,目标字段包括源互联网协议IP地址字段和目的IP地址字段。
可选的,结合第二方面,在第二方面的第四种可能的实现方式中,该实现集群的方法还可以包括,目标节点向集群中除目标节点外的其他节点发送会话与目标节点的对应关系。该第二方面的第四种可能的实现方式中,目标节点将该会话与目标节点的对应关系发生给集群中其他节点,可以使得集群中其他节点上都有该对应关系,该集群中任意一个节点都可以根据该对应关系确定目标节点。
本申请第三方面提供了一种实现集群的方法,该方法可以包括:第一网络设备接收来自第一设备的第一报文,第一报文与第二网络设备通过集群向第一网络设备发送的请求报文属于同一会话,第一报文用于执行与第一报文所属会话对应的业务;第一网络设备仅向集群中的一个节点发送第一报文。在第三方面提供的一种实现集群的方法中,该第一网络设备仅向集群中的一个节点发送响应报文,节约了该第一网络设备的带宽资源。
本申请第四方面提供了一种通信装置,该通信装置为集群中的第一节点,该通信装置包括:接收单元,用于接收第一网络设备发送的第一报文,第一报文与第二网络设备通过集群向第一网络设备发送的请求报文属于同一会话;处理单元,用于根据第一报文确定集群中的目标节点,目标节点的流表中包括该会话对应的流表信息,流表信息用于执行会话对应的业务,第一节点和目标节点为不同节点。该第四方面提供的一种实现集群的通信装置中的处理单元可以确定出包括该会话对应的流表信息的目标节点,从而无需第一网络设备向集群中的所有节点发送该第一报文。因此可以节约集群与该第一网络设备之间的带宽资源以及集群内节点的内存资源。
可选的,结合第四方面,在第四方面的第一种可能的实现方式中,该通信装置包括:处理单元,用于根据第一报文携带的用于标识所述会话的信息确定所述目标节点。该第四方面的第一种可能的实现方式中,该处理单元可以根据第一报文携带的用于标识会话的信息确定目标节点,而不需要借助其他节点,这种方式可以减少集群内部节点之间的交互,从而可以节约集群内节点的内存资源。
可选的,结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,该通信装置包括:处理单元,用于根据第一报文携带的用于标识会话的信息确定第一节点的关联表中有该会话的表项,该会话的表项包括该会话与目标节点的对应关系;处理单元,用于根据该第一节点的关联表中该会话的表项确定目标节点。
可选的,结合第四方面,在第四方面的第三种可能的实现方式中,该通信装置包括:处理单元,用于当第一节点的关联表中没有该会话的表项时,根据第一报文在集群中确定第二节点,第二节点的关联表中有该会话的表项,该会话的表项包括该会话与目标节点的对应关系;该处理单元,还用于向第二节点获取第二节点的关联表中该会话的表项并根据第二节点的关联表中该会话的表项确定目标节点。
可选的,结合第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,该通信装置还可以包括,处理单元,用于根据第一算法对该第一报文中目标字段的值进行运算并得到运算值并将运算值对应的节点确定为第二节点,该目标字段包括源互联网协议IP地址字段和目的IP地址字段。
可选的,结合第四方面至第四方面的第四种可能的实现方式中的任意一种可能的实现方式,在第四方面的第五种可能的实现方式中,该通信装置还包括:发送单元,用于向目标节点发送第一报文,第一报文用于目标节点执行与第一报文所属会话对应的业务。
可选的,结合第四方面至第四方面的第四种可能的实现方式中的任意一种可能的实现方式,在第四方面的第六种可能的实现方式中,该通信装置包括:处理单元,还用于向目标节点获取第一报文所属会话的流表信息并根据第一报文所属会话的流表信息执行与第一报文所属会话对应的业务。
本申请第五方面提供了一种通信装置,该通信装置为集群中的目标节点,该通信装置包括:接收单元,用于接收网络设备发送的请求报文;处理单元,用于在目标节点的流表中添加该请求报文所属会话对应的流表信息,该流表信息用于执行该会话对应的业务;发送单元,用于向集群中的至少一个节点发送该会话与目标节点的对应关系。第五方面提供的这种通信装置向集群中的至少一个节点发送了该会话与目标节点的对应关系,这样可以通过该集群内至少一个节点上该会话与目标节点的对应关系查找到目标节点,增强了方案的灵活性。
可选的,结合第五方面,在第五方面的第一种可能的实现方式中,该通信装置包括:处理单元,还用于根据该请求报文在集群中确定第二节点;发送单元,用于向第二节点发送该会话与目标节点的对应关系。
可选的,结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,该通信装置包括:处理单元,用于根据第一算法对请求报文中目标字段的值进行运算并得到运算值并将运算值对应的节点确定为第二节点,该目标字段包括源互联网协议IP地址字段和目的IP地址字段。
可选的,结合第五方面,在第五方面的第三种可能的实现方式中,通信装置包括:发送单元,还用于向集群中除目标节点外的其他节点发送该会话与目标节点的对应关系。
本申请第六方面提供了一种第一网络设备,该第一网络设备包括:接收单元,用于接收来自第一设备的第一报文,第一报文与第二网络设备通过集群向第一网络设备发送的请求报文属于同一会话,第一报文用于执行与第一报文所属会话对应的业务;发送单元,用于仅向集群中的一个节点发送第一报文。第六方面提供的这种第一网络设备仅向集群中的一个节点发送响应报文,节约了该第一网络设备的带宽资源。
本申请第七方面提供了一种通信装置,该通信装置为集群中的第一节点,该通信装置包括:存储器,用于存储计算机程序;处理器,用于执行存储器中存储的计算机程序,以使得通信装置执行如第一方面至第一方面任意一种可能的实现方式中的实现集群的方法。
本申请第八方面提供了一种通信装置,该通信装置为集群中的目标节点,该通信装置包括:存储器,用于存储计算机程序;处理器,用于执行存储器中存储的计算机程序,以使得通信装置执行如第二方面至第二方面任意一种可能的实现方式中的实现集群的方法。
本申请第九方面提供了一种第一网络设备,该第一网络设备包括:存储器,用于存储计算机程序;处理器,用于执行存储器中存储的计算机程序,以使得第一网络设备执行第三方面中的实现集群的方法。
本发明实施例提供了一种实现集群的方法及相关设备,该方法可以包括:集群中的第一节点接收第一网络设备发送的第一报文,该第一报文与第二网络设备通过集群向该第一网络设备发送的请求报文属于同一会话。第一节点根据第一报文确定集群中的目标节点,目标节点的流表中包括该会话对应的流表信息。在该方法中,该集群中有用于处理该第一报文所属会话的流表信息的目标节点,而无需第一网络设备向集群中的所有节点发送该第一报文。因此,可以节约集群与该第一网络设备之间的带宽资源、以及集群内节点的内存资源。
附图说明
图1为本申请实施例中网络架构拓扑图;
图2为本申请实施例提供的一种实现集群方法的实施例示意图;
图3为本申请实施例提供的一种实现集群方法的另一个实施例示意图;
图4为本申请实施例提供的一种实现集群方法的另一个实施例示意图;
图5为本申请实施例提供的一种通信装置的一个实施例示意图;
图6为本申请实施例提供的另一种通信装置的一个实施例示意图;
图7为本申请实施例提供的一种第一网络设备的一个实施例示意图;
图8为本申请实施例提供的一种通信装置的一个实施例示意图;
图9为本申请实施例提供的另一种通信装置的一个实施例示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请中出现的术语“和/或”,可以是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
在企业网络拓扑部署时,通常会部署一个或多个集群。集群是基于会话开展业务的,一个会话的请求报文和响应报文基于同一个会话,一个会话有一个唯一的标识(如五元组)。图1以一个防火墙集群为例,在实际生产中,该集群也可以是路由器集群或是其他网络集群。如图1,该防火墙集群包括节点1、节点2、……、节点N,N为正整数。在该防火墙集群的两侧部署有用于负载均衡的网络设备102与网络设备103,该网络设备102与网络设备103可以为交换机,也可以为具有转发功能的虚拟机或其他网络设备。该网络设备102用于将来自设备101的请求报文转发给该防火墙集群中的一个节点(后续称为目标节点),或者将来自防火墙集群中的某个节点的报文转发给设备101,该设备101可以为终端设备。该网络设备103用于将来自防火墙集群中某一个节点的报文转发给设备104,或将来自设备104的第一报文转发给防火墙集群中的一个节点,该设备104可以为服务器,该第一报文与该请求报文属于同一会话,该第一报文可以为信令报文(如响应报文)或媒体报文。
当网络设备103接收到来自设备104的第一报文时,仅会将该第一报文发送给防火墙集群中的一个节点(后续称为第一节点)。该防火墙集群中的第一节点接收到该第一报文之后,根据该第一报文在集群中确定目标节点,该目标节点的流表中包括该第一报文所属会话对应的流表信息,该第一报文以及该会话对应的流表信息用于该第一节点或该目标节点执行与该会话对应的业务。该方案中,无论网络设备103将第一报文发送给防火墙集群中的哪一个节点,接收到该第一报文的节点都可以准确的确定出具有该会话对应的流表信息的目标节点。因此,该网络设备103无需向集群中的所有节点发送该第一报文,从而可以节约集群与该网络设备的带宽资源以及集群内节点的内存资源。
为了便于理解下述实施例,可以先进行如下定义:
1.定义设备101向网络设备102发送报文的方向为正向;设备104向网络设备103发送报文的方向为反向,方向为正向的报文为正向报文,方向为反向的报文为反向报文。根据报文的五元组可以确定一条流,报文的方向和流的方向一致。根据属于一个会话的正向报文与反向报文可以确定属于一个会话的正向流与反向流。请求报文为第一个正向报文,第一报文可以为任意一个反向报文。
2.在防火墙集群中的每一个节点上都存在一个流表,若防火墙集群中的某一节点接收到了属于某一会话的第一个正向报文,该节点会在该节点的流表中添加该正向报文所属会话对应的流表信息。在一个节点的流表中,会话对应的流表信息可以为该会话的标识所对应的流表信息。该会话的标识可以为该会话正向报文的五元组,后续仅以五元组为例进行详细阐述。如果该集群对该会话的报文不执行网络地址转化(network addresstransition,NAT)操作,该会话的标识可以为该会话的正向报文的五元组。如果该集群对该会话的报文执行NAT操作,该会话的标识可以为该会话的正向报文经过NAT后的五元组。可以理解的是,如果该集群对该会话的报文执行NAT操作,则执行NAT操作前后的正向报文和执行NAT操作前后的反向报文均属于同一会话。
3.在属于同一会话的正向报文与反向报文中,该正向报文的五元组可以包括:源IP地址、目的IP地址、源端口号、目的端口号、协议号;该正向报文经过NAT之后的报文的五元组可以包括:源IP地址经过NAT之后的IP地址、目的IP地址、源端口号、目的端口号、协议号。该源IP地址经过NAT之后的IP地址为公网IP地址。反向报文的五元组的源IP地址与正向报文的五元组的目的IP地址相同,反向报文的五元组的目的IP地址与正向报文的五元组的源IP地址相同;反向报文的五元组的源端口号与正向报文的五元组的目的端口号相同,反向报文的五元组的目的端口号与正向报文的五元组的源端口号相同;反向报文的五元组的协议号与正向报文的五元组的协议号相同。
4.在该防火墙集群中,从网络设备102接收到第一个正向报文的节点为流表建立节点,该流表建立节点根据正向报文确定的节点为正向跳转节点。从网络设备103接收到与该正向报文属于同一会话的反向报文的节点为反向流接收节点,该反向流接收节点根据该反向报文确定的节点为反向跳转节点,该正向跳转节点与该反向跳转节点为同一个节点。在防火墙集群中,每一个节点的关联表包含流表建立节点、正向跳转节点、反向流接收节点和反向跳转节点4个字段。
有鉴于上述问题,本申请实施例一提供了一种实现集群的方法,如图2所示,该方法可以包括:
201、集群中的目标节点接收正向报文。
在该设备101与集群之间还可以设置网络设备102,该网络设备102具有转发功能,设备101将正向报文发送给该网络设备102之后,该网络设备102根据该正向报文确定集群中的目标节点,然后将该正向报文发送给目标节点,目标节点接收来自该网络设备102的正向报文。该网络设备102确定目标节点的方式不限定,可以根据哈希算法确定。该网络设备102根据属于同一会话的所有正向报文确定的集群中的节点均为该目标节点。
202、目标节点在目标节点的流表上添加正向报文所属会话的流表信息。
如果该正向报文为该正向报文所属会话的第一个正向报文(即请求报文),该目标节点执行步骤202。
目标节点接收到该正向报文之后可以在目标节点的流表中查询是否存在该正向报文所属会话的流表信息,当该目标节点确定该目标节点的流表中不存在该正向报文所属会话的流表信息时,该目标节点可以确定该正向报文为该正向报文所属会话的第一个正向报文。
当该目标节点确定该正向报文为该正向报文所属会话的第一个正向报文时,该目标节点在该目标节点的流表上添加该正向报文所属会话的流表信息,该正向报文所属会话的流表信息可以为该会话的标识所对应的流表信息。该会话的标识可以用该第一个正向报文的五元组表示。若执行NAT业务,该会话的标识可以用该第一个正向报文经过NAT之后的五元组表示。
可选的,该目标节点还可以建立该会话与该目标节点的对应关系。该对应关系可以用目标节点的关联表的一条表项表示。若不执行NAT业务,该表项可以为该第一个正向报文的五元组对应的表项;若执行NAT业务,该表项可以为该第一个正向报文经过NAT之后的五元组对应的表项。该目标节点在自己的关联表上建立该表项,其中,该表项的流表建立节点字段为该目标节点的标识。在该目标节点在目标节点的流表中建立该表项之后,该目标节点将该正向报文转发给该网络设备103。
可选的,若该目标节点确定目标节点的流表中存在该正向报文所属会话的流表信息时,则该目标节点可以确定该正向报文不是该正向报文所属会话的第一个正向报文。该目标节点只需将该正向报文转发给该网络设备103。
203、目标节点向集群中的至少一个节点发送该会话与目标节点的对应关系。
如果该正向报文为该正向报文所属会话的第一个正向报文(即请求报文),该目标节点执行步骤203。
可选的,目标节点在该集群中确定第二节点,并向该第二节点发送该会话与目标节点的对应关系。该对应关系具体为该会话的标识(如五元组)与该目标节点的标识的对应关系,可以用目标节点关联表中的一条表项表示。其中,该目标节点的标识用于在该集群中唯一标识该目标节点,具体可以是编号、字符串等。
目标节点可以根据第一算法对该正向报文中的目标字段的值进行运算并得到运算值,再将该运算值对应的节点确定为第二节点,该目标字段可以包括源IP地址和目的IP地址,还可以包括源端口号和目的端口号。该第一算法满足如下条件:利用该第一算法对该会话的正向报文中的目标字段的值进行运算所得到运算值与利用该第一算法对该会话的反向报文中的目标字段的值进行运算所得到运算值相同。示例性的,该第一算法可以为:先将32位二进制源IP地址与16位二进制源端口号连接起来组成一个48位的二进制数。同理可以根据目的IP地址与目的端口号得到一个48位的二进制数,然后将两个二进制数进行异或,并将异或得到的结果对该集群中的节点的数目取模,得到一个值,将该值对应的节点确定为第二节点。该第一算法还可以为:将32位二进制源IP地址与32位二进制目的IP地址进行异或,并将异或得到的结果对集群数目取模,得到一个值,将该值对应的节点确定为第二节点。该第一算法可以为以上两种算法中的一种,但不局限于此。
可选的,该目标节点在确定第二节点之后,还可以将该表项中正向跳转节点字段与该反向跳转节点字段都更新为第二节点。该第二节点也可以收到该表项之后将该表项的正向跳转节点字段与该反向跳转节点字段都更新为第二节点。
204、网络设备接收反向报文。
网络设备103接收来自设备104的反向报文,该设备104可以为服务器,但不限于此。该反向报文与步骤201中的正向报文属于同一会话,该反向报文可以为该正向报文所属会话的第一个反向报文也可以为后续的反向报文,该反向报文可以为信令报文(如响应报文)或媒体报文。
205、网络设备仅向集群中的一个节点发送该反向报文。
网络设备103根据步骤204中接收到的反向报文确定集群中的第一节点,该第一节点为集群中的一个节点。该网络设备103确定第一节点的方式不限定,可以根据哈希算法确定。该网络设备103根据属于同一会话的所有反向报文确定的集群中的节点可以均为该第一节点,则该会话的所有反向报文都会发送给该第一节点。
网络设备103向该第一节点发送该反向报文。
206、第一节点根据反向报文确定集群中的目标节点。
第一节点从网络设备103接收该反向报文之后,根据该反向报文确定集群中的目标节点,该目标节点上有该第一个正向报文的五元组的流表信息。该第一节点具体可以根据该反向报文中携带的用于标识该反向报文所属会话的信息(如五元组)确定该目标节点。后续仅以五元组为例进行详细阐述。
可选的,当该第一节点确定第一节点上有该反向报文所属会话与目标节点的对应关系时,该第一节点可以根据该对应关系确定该目标节点。具体可以为,该第一节点将该反向报文的五元组的源IP地址与目的IP地址交换,将源端口和目的端口交换。从而得到一个新的五元组,用该新的五元组与该第一节点的关联表中每一条表项中的五元组字段相比较,将匹配上的一条表项中的流表建立节点确定为该目标节点。
可选的,当该第一节点确定第一节点上没有该反向报文所属会话与目标节点的对应关系,该第一节点可以根据第一算法对该反向报文的目标字段的值进行运算,将该运算得到的运算值对应的节点确定为第二节点,该第二节点与步骤203中的第二节点为同一个节点,在该第二节点上有该反向报文所属会话与目标节点的对应关系,该第一节点可以根据该对应关系确定该目标节点。具体可以为,该第一节点将该反向报文的五元组的源IP地址与目的IP地址交换,将源端口和目的端口交换。从而得到一个新的五元组,用该新的五元组与该第二节点的关联表中每一条表项中的五元组字段相比较,将匹配上的一条表项中的流表建立节点确定为该目标节点。
207、第一节点从该目标节点获取该反向报文所属会话的流表信息或向该目标节点发送该反向报文。
具体地,在一种实施方式(后续称为实施方式A)中,第一节点确定该目标节点之后可以向该目标节点获取该反向报文所属会话对应的流表信息,根据该流表信息以及该反向报文执行与该反向报文所属会话对应的业务,并通过网络设备102向设备101发送该反向报文。若是执行NAT业务,则第一节点将反向报文中的目的IP地址转换为对应的私网IP地址。若是执行流量统计业务,则第一节点将该反向报文的大小计入总流量。除了执行NAT业务与流量统计业务,该第一个正向报文的五元组的流表信息以及该反向报文还可以用于执行其他业务,此处不做限制。
在另一种实施方式(后续称为实施方式B)中,该第一节点也可以将该反向报文发送给目标节点,该目标节点根据该反向报文和反向报文所属会话的流表信息执行如上述第一节点执行的与该反向报文所属会话对应的业务,并通过网络设备102向设备101发送该反向报文。
需要说明的是,如果网络设备103先后将多个属于该会话的反向报文发送给该第一节点(如网络设备103将该会话的所有反向报文都发送给该第一节点),该第一节点可以仅在第一次接收到该会话的反向报文时执行步骤206以确定该目标节点。
相应地,如果在步骤207中采用实施方式A执行该会话对应的业务,则该第一节点此时获取到了该会话的流表信息,后续再接收到该会话的其它反向报文时,可以直接利用该流表信息执行该会话对应的业务,而无需再次执行步骤206确定该目标节点。
如果在步骤207中采用实施方式B执行该会话对应的业务,由于该第一节点已经在步骤206中确定了该目标节点,此时可以在关联表中记录下该目标节点的标识,后续再接收到该会话的其它反向报文时,可以直接利用记录的目标节点的标识将该反向报文发送给该目标节点,而无需再次执行步骤206确定该目标节点。
在实施例一提供的这种实现集群的方法中,网络设备103仅向集群中的第一节点发送反向报文,集群中的第一节点可以根据该反向报文确定目标节点,该目标节点上有正向报文所属会话的流表信息,该反向报文与正向报文所属会话的流表信息用于执行与该反向报文对应的业务。这种方法该网络设备103不需要将反向报文发送给集群中的多个节点,从而可以节省该网络设备的带宽资源。
在实施例一中,集群中的目标节点在目标节点的流表上添加正向报文所属会话的流表信息之后,可以将会话与目标节点的对应关系发送给集群中的至少一个节点。实施例二具体说明该目标节点将对应关系发送给集群中的一个节点的情况,实施例三说明该目标节点将该对应关系发送给集群中的所有节点的情况。
如图3所示,实施例二提供了另一种实现集群的方法,该方法可以包括:
301、集群中的目标节点接收正向报文。
请参照实施例一中的步骤201进行理解,此处不再赘述。
302、目标节点在目标节点的流表上添加正向报文所属会话的流表信息。
请参照实施例一中的步骤202进行理解,此处不再赘述。
需要说明的是,该目标节点还可以建立该会话与该目标节点的对应关系。该对应关系可以用目标节点的关联表的一条表项表示。该关联表可以如下表所示:
Figure BDA0002047435050000101
303、目标节点根据正向报文确定第二节点。
目标节点确定第二节点的具体实现方式参照步骤203中的实现方式,不再赘述。
目标节点可以将该表项的正向跳转节点字段与反向跳转节点字段都更新为第二节点。该关联表可以如下表所示:
Figure BDA0002047435050000102
304、目标节点向第二节点发送该会话与目标节点的对应关系。
该正向报文所属会话与目标节点的对应关系可以用该目标节点的关联表中的一条表项表示,目标节点将该表项发送给第二节点。该第二节点收到该条表项之后,在该第二节点的关联表中添加该条表项。
305、网络设备接收反向报文。
请参照实施例一中的步骤204进行理解,此处不再赘述。
306、网络设备仅向集群中的一个节点发送该反向报文。
请参照实施例一中的步骤205进行理解,此处不再赘述。
307、第一节点根据反向报文确定集群中的第二节点。
第一节点确定第一节点上没有该反向报文所属会话与目标节点的对应关系,该第一节点可以根据如步骤203所述的第一算法对该反向报文中的目标字段的值进行运算并得到运算值,再将该运算值对应的节点确定为第二节点,该目标字段可以包括源IP地址和目的IP地址,还可以包括源端口号和目的端口号。该第二节点与步骤303中的第二节点为同一个节点,在该第二节点上有该反向报文所属会话与目标节点的对应关系。
可选的,若该第一节点确定该第一节点上有该反向报文所属会话与目标节点的对应关系,则第一节点根据该对应关系直接确定目标节点。
308、第一节点向第二节点获取该会话与目标节点的对应关系。
该反向报文所属会话与目标节点的对应关系可以用该第二节点的关联表中的一条表项表示,第一节点从该第二节点的关联表中获取该条表项。
该第一节点可以根据该表项在该第一节点的关联表中建立一条与该表项对应的表项。该关联表可以如下表所示:
Figure BDA0002047435050000111
可选的,在第一节点上建立该条表项之后可以把该反向流接收节点字段更新为第一节点。这里记录下该反向流接收节点字段为第一节点可以用于执行与反向报文对应的业务之后,将相关信息通知给该第一节点。示例性的,当与反向报文对应的业务为流量统计业务时,在统计完流量之后,可以将统计流量的结果发送给该第一节点。
可选的,该第一节点在第一节点的的关联表建立了该条表项之后,还可以给第二节点以及目标节点发送指示消息,该指示消息用于指示第二节点和目标节点将各自关联表中对应的表项中的反向流接收节点字段更新为第一节点。
309、第一节点根据该对应关系确定目标节点。
第一节点确定该第二节点的关联表中有用于表示该反向报文所属会话与目标节点的对应关系的表项,根据该表项中的流表建立节点字段确定目标节点,该目标节点上有该反向报文所属会话的流表信息。
310、第一节点从该目标节点获取该反向报文所属会话的流表信息或向该目标节点发送该反向报文。
请参照实施例一中的步骤207进行理解,此处不再赘述。
实施例二提供的这种集群控制的方法中,集群中的目标节点可以根据第一算法对正向报文中的目标字段的值进行运算并根据运算值确定第二节点,然后将该正向报文所属会话与目标节点的对应关系发送给第二节点。集群中的第一节点接收到反向报文之后,可以根据第一算法对反向报文中的目标字段的值进行运算并根据运算值确定第二节点,从而根据第二节点上该反向报文所属会话与目标节点的对应关系确定目标节点。这种方式通过第一算法来确定第二节点,该第二节点中有反向报文所属会话与目标节点的对应关系,可以增强方案的准确性。
在实施例二中,集群中的目标节点将会话与目标节点的对应关系仅发送给集群中的一个节点。该目标节点也可以将该对应关系发送给集群中的所有节点,使得所有节点都可以根据自己本地的的对应关系确定该目标节点。
如图4所示,实施例三提供了一种实现集群的方法,该方法可以包括:
401、集群中的目标节点接收正向报文。
请参照实施例一中的步骤201进行理解,此处不再赘述。
402、目标节点在目标节点的流表上添加该正向报文所属会话的流表信息。
请参照实施例一中的步骤202进行理解,此处不再赘述。
需要说明的是,该目标节点还可以建立该会话与该目标节点的对应关系。该对应关系可以用目标节点的关联表的一条表项表示。该关联表可以如下表所示:
Figure BDA0002047435050000121
403、目标节点向集群中的其他节点发送该会话与目标节点的对应关系。
该正向报文所属会话与目标节点的对应关系可以用该目标节点的关联表中的一条表项表示,目标节点将该条表项发送给集群中除了该目标节点外的其他节点。其他节点收到该条表项之后,在该自己的关联表中添加该条表项。
404、网络设备接收反向报文。
请参照实施例一中的步骤204进行理解,此处不再赘述。
405、网络设备仅向集群中的一个节点发送该反向报文。
请参照实施例一中的步骤205进行理解,此处不再赘述。
406、第一节点确定第一节点上有该反向报文所属会话与目标节点的对应关系。
由于步骤403中,目标节点向集群中的其他节点都发送该会话与目标节点的对应关系。该其他节点也包括第一节点。所以该第一节点上也有该反向报文所属会话与目标节点的对应关系。
407、第一节点根据该对应关系确定目标节点。
第一节点确定该第一节点的关联表中有用于表示该反向报文所属会话与目标节点的对应关系的表项,根据该表项中的流表建立节点字段确定目标节点,该目标节点上有该反向报文所属会话的流表信息。
可选的,该第一节点可以将该表项的反向流接收节点字段更新为第一节点,并将更新后的表项发送给集群中的其他节点。该关联表可以如下表所示:
Figure BDA0002047435050000122
可选的,这里记录下该反向流接收节点字段为第一节点可以用于执行与反向报文对应的业务之后,将相关信息通知该第一节点。示例性的,当与反向报文对应的业务为流量统计业务时,在统计完流量之后,可以将统计流量的结果发送给该第一节点。
408、第一节点从该目标节点获取该反向报文所属会话的流表信息或向该目标节点发送该反向报文。
请参照实施例一中的步骤207进行理解,此处不再赘述。
实施例三提供的这种实现集群的方法中,集群中的第一节点可以根据第一节点上该反向报文所属会话与目标节点的对应关系确定目标节点,而不需要先确定其他节点,再根据其他节点确定目标节点。这种方式减少了交互步骤,节约了网络资源。
实施例四提供给了一种通信装置50,该通信装置50可以部署为该集群中的第一节点,如图5所示,该通信装置50用于执行实施例一至实施例三中第一节点执行的步骤,该执行步骤以及相应的有益效果具体请参照实施例一至实施例三进行理解,该通信装置50可以包括:
接收单元501,用于接收网络设备103发送的第一报文,该第一报文与网络设备102通过集群向网络设备103发送的请求报文属于同一会话。该功能的具体实现可以参考图2所示的实施例一的205步骤、图3所示的实施例二的306步骤以及图4所示的实施例三的405步骤。
处理单元502,用于根据第一报文确定集群中的目标节点,目标节点的流表中包括会话对应的流表信息。该功能的具体实现可以参考图2所示的实施例一的206步骤,也可以参考图3所示实施例二中的307、308和309步骤或者图4所示实施例三中的406和407步骤。
该处理单元502,还用于根据第一报文携带的用于标识会话的信息确定第一节点的关联表中有会话的表项,会话的表项包括会话与目标节点的对应关系。该功能的具体实现可以参考图4所示实施例三中的406步骤。
该处理单元502,还用于根据第一节点的关联表中会话的表项确定目标节点。该功能的具体实现可以参考图4所示实施例三中的407步骤。
该处理单元502,还用于当第一节点的关联表中没有会话的表项时,第一节点根据第一中目标字段的值进行运算并得到运算值,并将该运算值对应的节点确定为第二节点,第二节点的关联表中有会话的表项,会话的表项包括会话与目标节点的对应关系。该功能的具体实现可以参考图3所示实施例二中的307步骤。
该处理单元502,还用于向第二节点获取第二节点的关联表中该会话的表项。该功能的具体实现可以参考图3所示实施例二中的308步骤。
该处理单元502,还用于根据第二节点的关联表中会话的表项确定目标节点。该功能的具体实现可以参考图3所示的实施例二中的309步骤。
该处理单元502,还用于向目标节点获取第一报文所属会话的流表信息。该功能的具体实现可以参考图2所示的实施例一中的207步骤、图3所示的实施例二中的310步骤以及图4所示的实施例三中的408步骤。
该处理单元502,还用于根据第一报文的流表信息执行与第一报文所属会话对应的业务。该功能的具体实现可以参考图2所示的实施例一中的207步骤、图3所示的实施例二中的310步骤以及图4所示的实施例三中的408步骤。
发送单元503,用于向目标节点发送第一报文,第一报文用于目标节点执行与第一报文所属会话对应的业务。该功能的具体实现可以参考图2所示的实施例一中的207步骤、图3所示的实施例二中的310步骤以及图4所示的实施例三中的408步骤。
实施例五提供给了一种通信装置60,该通信装置60可以部署为该集群中的目标节点,如图6所示,该通信装置60用于执行实施例一至实施例三中目标节点执行的步骤,该执行步骤以及相应的有益效果具体请参照实施例一至实施例三进行理解,该通信装置60可以包括:
接收单元601,用于接收网络设备102发送的请求报文。该功能的具体实现可以参考图2所示的实施例一中的201步骤、图3所示的实施例二中的301步骤以及图4所示的实施例三中的401步骤。
处理单元602,用于在目标节点的流表中添加请求报文所属会话对应的流表信息,该流表信息用于执行会话对应的业务。该功能的具体实现可以参考图2所示的实施例一中的202步骤、图3所示的实施例二中的302步骤以及图4所示的实施例三中的402步骤。
该处理单元602,还用于根据请求报文在集群中确定第二节点。该功能的具体实现可以参考图3所示的实施例二中的303步骤。
该处理单元602,还用于根据第一算法对请求报文中目标字段的值进行运算并得到运算值。该功能的具体实现可以参考图3所示的实施例二中的303步骤。
该处理单元603,还用于将运算值对应的节点确定为第二节点。该功能的具体实现可以参考图3所示的实施例二中的303步骤。
发送单元603,用于向集群中的至少一个节点发送会话与目标节点的对应关系。该功能的具体实现可以参考图2所示的实施例一中的203步骤。
该发送单元603,还用于向第二节点发送会话与目标节点的对应关系。该功能的具体实现可以参考图3所示的实施例二中的304步骤。
该发送单元603,还用于向集群中除目标节点外的其他节点发送会话与目标节点的对应关系。该功能的具体实现可以参考图4所示的实施例三中的403步骤。
实施例六提供的一种第一网络设备70,如图7所示,该第一网络设备用于执行实施例一至实施例三中网络设备103执行执行的步骤,该执行步骤以及相应的有益效果具体请参照实施例一至实施例三进行理解,该第一网络设备70可以包括:
接收单元701,用于接收来自设备104的第一报文,该第一报文与网络设备102通过集群向第一网络设备发送的请求报文属于同一会话,第一报文用于执行与第一报文所属会话对应的业务。该功能的具体实现可以参考图2所示的实施例一中的204步骤、图3所示的实施例二中的305步骤以及图4所示的实施例三中的404步骤。
发送单元702,用于仅向集群中的一个节点发送第一报文。该功能的具体实现可以参考图2所示的实施例一中的205步骤、图3所示的实施例二中的306步骤以及图4所示的实施例三中的405步骤。
参见图8,本申请实施例七提供了一种实现集群的通信装置80,该通信装置可以为集群中的第一节点,该通信装置80可以包括:处理器801、存储器802和收发器803,该处理器801、存储器802和该收发器803通过总线804相连。
该通信装置80是一种硬件结构的装置,可以用于实现图5所示的通信装置50中的功能单元。例如本领域的技术人员可以想到图5所示的通信装置50中的接收单元501与发送单元503可以通过该收发器803来实现。图5所示的通信装置50中的处理单元502可以通过该处理器801调用存储器802中的代码来实现。
可选的,上述处理器801可以是一个中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
该处理器801,用于执行存储器802中的指令。在一个具体的实施例中,该处理器801用于根据反向报文确定集群中的目标节点。具体可以参照图2所示的实施例一中206步骤,图3所示的实施例二中的307、308和309步骤以及图4所示的实施例三中的406和407步骤。
处理器801、存储器802和收发器803通过总线804相连,总线804可以是外设部件互联标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
在一个具体实施例中,该收发器803,用于接收网络设备发送的反向报文。具体可以参照图2所示的实施例一中的205步骤、图3所示的实施例二中的306步骤以及图4所示的实施例三中的405步骤。还可以用于向目标节点发送该反向报文或从目标节点接收该反向报文所属会话的流表信息,具体可以参考图2所示的实施例一的207步骤、图3所示实施例二的310步骤以及图4所示的实施例三的408步骤。
参见图9,本申请实施例八提供了一种实现集群的通信装置90,该通信装置可以为集群中的第一节点。该通信装置90可以包括:处理器901、存储器902和收发器903,该处理器901、存储器902和该收发器903通过总线904相连。
该通信装置90是一种硬件结构的装置,可以用于实现图6所示的通信装置60中的功能单元。例如本领域的技术人员可以想到图6所示的通信装置60中的接收单元601与发送单元603可以通过该收发器903来实现。图6所示的通信装置60中的处理单元602可以通过该处理器901调用存储器902中的代码来实现。
可选的,上述处理器901可以是一个中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
该处理器901,用于执行存储器902中的指令。在一个具体的实施例中,该处理器901用于在目标节点上添加正向报文所属会话的流表信息。具体可以参照图2所示的实施例一中202步骤、图3所示的实施例二中的302步骤以及图4所示实施例三中的402步骤。该处理器901还可以用于根据正向报文确定第二节点,具体可以参照图3所示的实施例二中的303步骤。
处理器901、存储器902和收发器903通过总线904相连,总线904可以是外设部件互联标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
在一个具体实施例中,该收发器903,用于接收正向报文。具体可以参照图2所示的实施例一中的201步骤、图3所示实施例二中的301步骤以及图4所示的实施例三中的401步骤。还可以用于向集群中的至少一个节点发送该会话与目标节点的对应关系。具体可以参照图2所示的实施例一中的203步骤、图3所示的实施例二中的304步骤以及图4所示的实施例三中的403步骤。
以上对本发明实施例所提供的一种实现集群的方法及相关设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (32)

1.一种实现集群的方法,其特征在于,所述方法包括:
集群中的第一节点接收第一网络设备发送的第一报文,所述第一报文与第二网络设备通过所述集群向所述第一网络设备发送的请求报文属于同一会话;
所述第一节点根据所述第一报文确定所述集群中的目标节点,所述目标节点的流表中包括所述会话对应的流表信息,所述流表信息用于执行所述会话对应的业务,所述第一节点和所述目标节点为不同节点。
2.根据权利要求1所述的实现集群的方法,其特征在于,所述第一节点根据所述第一报文确定所述集群中的目标节点具体包括,所述第一节点根据所述第一报文携带的用于标识所述会话的信息确定所述目标节点。
3.根据权利要求2所述的实现集群的方法,其特征在于,所述第一节点根据所述第一报文携带的用于标识所述会话的信息确定所述目标节点包括:
所述第一节点根据所述第一报文携带的用于标识所述会话的信息确定所述第一节点的关联表中有所述会话的表项,所述会话的表项包括所述会话与所述目标节点的对应关系;
所述第一节点根据所述第一节点的关联表中所述会话的表项确定所述目标节点。
4.根据权利要求1所述的实现集群的方法,其特征在于,所述第一节点根据所述第一报文确定所述集群中的目标节点包括:
若所述第一节点的关联表中没有所述会话的表项,则所述第一节点根据所述第一报文在所述集群中确定第二节点,所述第二节点的关联表中有所述会话的表项,所述会话的表项包括所述会话与所述目标节点的对应关系;
所述第一节点向所述第二节点获取所述第二节点的关联表中所述会话的表项;
所述第一节点根据所述第二节点的关联表中所述会话的表项确定所述目标节点。
5.根据权利要求4所述的实现集群的方法,其特征在于,所述第一节点根据所述第一报文在所述集群中确定第二节点,包括:
所述第一节点根据第一算法对所述第一报文中目标字段的值进行运算并得到运算值;
所述第一节点将所述运算值对应的节点确定为所述第二节点。
6.根据权利要求5所述的实现集群的方法,其特征在于,所述目标字段包括源互联网协议IP地址字段和目的IP地址字段。
7.根据权利要求1至6任一项所述的实现集群的方法,其特征在于,所述第一节点根据所述第一报文确定所述集群中的目标节点之后,所述方法还包括:
所述第一节点向所述目标节点发送所述第一报文,所述第一报文用于所述目标节点执行与所述第一报文所属会话对应的业务。
8.根据权利要求1至6任一项所述的实现集群的方法,其特征在于,所述第一节点根据所述第一报文确定所述集群中的目标节点之后,所述方法还包括:
所述第一节点向所述目标节点获取所述第一报文所属会话的流表信息;
所述第一节点根据所述第一报文所属会话的流表信息执行与所述第一报文所属会话对应的业务。
9.一种实现集群的方法,其特征在于,所述方法包括:
集群中的目标节点接收网络设备发送的请求报文;
所述目标节点在所述目标节点的流表中添加所述请求报文所属会话对应的流表信息,所述流表信息用于执行所述会话对应的业务;
所述目标节点向所述集群中的至少一个节点发送所述会话与所述目标节点的对应关系。
10.根据权利要求9所述的实现集群的方法,其特征在于,所述目标节点向所述集群中的至少一个节点发送所述会话与所述目标节点的对应关系之前,所述方法还包括:
所述目标节点根据所述请求报文在所述集群中确定第二节点;
所述目标节点向所述集群中的至少一个节点发送所述会话与所述目标节点的对应关系包括:
所述目标节点向所述第二节点发送所述会话与所述目标节点的对应关系。
11.根据权利要求10所述的实现集群的方法,其特征在于,所述目标节点根据所述请求报文在所述集群中确定第二节点包括:
所述目标节点根据第一算法对所述请求报文中目标字段的值进行运算并得到运算值;
所述目标节点将所述运算值对应的节点确定为所述第二节点。
12.根据权利要求11所述的实现集群的方法,其特征在于,所述目标字段包括源互联网协议IP地址字段和目的IP地址字段。
13.根据权利要求9所述的实现集群的方法,其特征在于,所述方法还包括:
所述目标节点向所述集群中除所述目标节点外的其他节点发送所述会话与所述目标节点的对应关系。
14.一种实现集群的方法,其特征在于,所述方法包括:
第一网络设备接收来自第一设备的第一报文,所述第一报文与第二网络设备通过集群向所述第一网络设备发送的请求报文属于同一会话,所述第一报文用于执行与所述第一报文所属会话对应的业务;
所述第一网络设备仅向所述集群中的一个节点发送所述第一报文。
15.一种通信装置,所述通信装置为集群中的第一节点,其特征在于,所述通信装置包括:
接收单元,用于接收第一网络设备发送的第一报文,所述第一报文与第二网络设备通过所述集群向所述第一网络设备发送的请求报文属于同一会话;
处理单元,用于根据所述第一报文确定所述集群中的目标节点,所述目标节点的流表中包括所述会话对应的流表信息,所述流表信息用于执行所述会话对应的业务,所述第一节点和所述目标节点为不同节点。
16.根据权利要求15所述的通信装置,其特征在于,所述通信装置包括:
所述处理单元,用于根据所述第一报文携带的用于标识所述会话的信息确定所述目标节点。
17.根据权利要求16所述的通信装置,其特征在于,所述通信装置包括:
所述处理单元,用于根据所述第一报文携带的用于标识所述会话的信息确定所述第一节点的关联表中有所述会话的表项,所述会话的表项包括所述会话与所述目标节点的对应关系;
所述处理单元,用于根据所述第一节点的关联表中所述会话的表项确定所述目标节点。
18.根据权利要求15所述的通信装置,其特征在于,所述通信装置包括:
所述处理单元,用于当所述第一节点的关联表中没有所述会话的表项时,根据所述第一报文在所述集群中确定第二节点,所述第二节点的关联表中有所述会话的表项,所述会话的表项包括所述会话与所述目标节点的对应关系;
所述处理单元,还用于向所述第二节点获取所述第二节点的关联表中所述会话的表项并根据所述第二节点的关联表中所述会话的表项确定所述目标节点。
19.根据权利要求18所述的通信装置,其特征在于,所述通信装置包括:
所述处理单元,用于根据第一算法对所述第一报文中目标字段的值进行运算并得到运算值并将所述运算值对应的节点确定为所述第二节点,所述目标字段包括源互联网协议IP地址字段和目的IP地址字段。
20.根据权利要求15至19任一所述的通信装置,其特征在于,所述通信装置还包括:
发送单元,用于向所述目标节点发送所述第一报文,所述第一报文用于所述目标节点执行与所述第一报文所属会话对应的业务。
21.根据权利要求15至19任一所述的通信装置,其特征在于,所述通信装置包括:
所述处理单元,还用于向所述目标节点获取所述第一报文所属会话的流表信息并根据所述流表信息执行与所述第一报文所属会话对应的业务。
22.一种通信装置,所述通信装置为集群中的目标节点,其特性在于,所述通信装置包括:
接收单元,用于接收网络设备发送的请求报文;
处理单元,用于在目标节点的流表中添加所述请求报文所属会话对应的流表信息,所述流表信息用于执行所述会话对应的业务;
发送单元,用于向所述集群中的至少一个节点发送所述会话与所述目标节点的对应关系。
23.根据权利要求22所述的通信装置,其特征在于,所述通信装置包括:
所述处理单元,还用于根据所述请求报文在所述集群中确定第二节点;
所述发送单元,用于向所述第二节点发送所述会话与所述目标节点的对应关系。
24.根据权利要求23所述的通信装置,其特征在于,所述通信装置包括:
所述处理单元,用于根据第一算法对所述请求报文中目标字段的值进行运算并得到运算值并将所述运算值对应的节点确定为所述第二节点,所述目标字段包括源互联网协议IP地址字段和目的IP地址字段。
25.根据权利要求22所述的通信装置,其特征在于,所述通信装置包括:
所述发送单元,还用于向所述集群中除所述目标节点外的其他节点发送所述会话与所述目标节点的对应关系。
26.一种第一网络设备,其特征在于,所述第一网络设备包括:
接收单元,用于接收来自第一设备的第一报文,所述第一报文与第二网络设备通过集群向所述第一网络设备发送的请求报文属于同一会话,所述第一报文用于执行与所述第一报文所属会话对应的业务;
发送单元,用于仅向所述集群中的一个节点发送所述第一报文。
27.一种通信装置,所述通信装置为集群中的第一节点,其特征在于,所述通信装置包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,以使得所述通信装置执行如权利要求1至8中任一项所述的实现集群的方法。
28.一种通信装置,所述通信装置为集群中的目标节点,其特征在于,所述通信装置包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,以使得所述通信装置执行如权利要求9至13中任一项所述的实现集群的方法。
29.一种第一网络设备,其特征在于,所述第一网络设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,以使得所述第一网络设备执行如权利要求14所述的实现集群的方法。
30.一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得所述计算机执行如权利要求1至8中任一项所述的实现集群的方法。
31.一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得所述计算机执行如权利要求9至13中任一项所述的实现集群的方法。
32.一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得所述计算机执行如权利要求14所述的实现集群的方法。
CN201910363077.8A 2019-04-30 2019-04-30 一种实现集群的方法及相关设备 Pending CN111866046A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910363077.8A CN111866046A (zh) 2019-04-30 2019-04-30 一种实现集群的方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910363077.8A CN111866046A (zh) 2019-04-30 2019-04-30 一种实现集群的方法及相关设备

Publications (1)

Publication Number Publication Date
CN111866046A true CN111866046A (zh) 2020-10-30

Family

ID=72965726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910363077.8A Pending CN111866046A (zh) 2019-04-30 2019-04-30 一种实现集群的方法及相关设备

Country Status (1)

Country Link
CN (1) CN111866046A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177047A (zh) * 2019-05-27 2019-08-27 北京字节跳动网络技术有限公司 报文发送方法、装置、电子设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546497A (zh) * 2012-07-09 2014-01-29 杭州华三通信技术有限公司 一种分布式防火墙IPSec业务负载分担的方法及装置
CN103973573A (zh) * 2014-05-16 2014-08-06 杭州华三通信技术有限公司 会话备份方法、报文转发方法及其装置
CN104994022A (zh) * 2015-05-15 2015-10-21 杭州华三通信技术有限公司 一种报文传输的方法和业务板
CN107579963A (zh) * 2017-08-24 2018-01-12 南京南瑞集团公司 一种高性能的防火墙集群
CN108810042A (zh) * 2017-04-28 2018-11-13 华为技术有限公司 一种任务处理方法、相关设备及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546497A (zh) * 2012-07-09 2014-01-29 杭州华三通信技术有限公司 一种分布式防火墙IPSec业务负载分担的方法及装置
CN103973573A (zh) * 2014-05-16 2014-08-06 杭州华三通信技术有限公司 会话备份方法、报文转发方法及其装置
CN104994022A (zh) * 2015-05-15 2015-10-21 杭州华三通信技术有限公司 一种报文传输的方法和业务板
CN108810042A (zh) * 2017-04-28 2018-11-13 华为技术有限公司 一种任务处理方法、相关设备及系统
CN107579963A (zh) * 2017-08-24 2018-01-12 南京南瑞集团公司 一种高性能的防火墙集群

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177047A (zh) * 2019-05-27 2019-08-27 北京字节跳动网络技术有限公司 报文发送方法、装置、电子设备和计算机可读存储介质
CN110177047B (zh) * 2019-05-27 2022-03-04 北京字节跳动网络技术有限公司 报文发送方法、装置、电子设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN107819663B (zh) 一种实现虚拟网络功能服务链的方法和装置
KR102536676B1 (ko) 패킷 처리 방법 및 장치, 및 관련 디바이스들
US9838291B2 (en) Multicore processing of bidirectional traffic flows
US9807016B1 (en) Reducing service disruption using multiple virtual IP addresses for a service load balancer
CN109714274B (zh) 一种获取对应关系的方法和路由设备
CN106921578B (zh) 一种转发表项的生成方法和装置
US8938794B2 (en) Access relay method and access gateway device
CN111246453B (zh) 一种数据传输方法、用户面网元及控制面网元
CN101106518B (zh) 为中央处理器提供负载保护的拒绝服务方法
CN109040243B (zh) 一种报文处理方法及装置
JP7313480B2 (ja) スライスベースネットワークにおける輻輳回避
CN111193756B (zh) 一种vxlan隧道负载均衡方法及相关设备
CN111803925B (zh) 云游戏的转发服务器的调度方法、装置及可读存储介质
CN112134776B (zh) 生成组播转发表项的方法和接入网关
WO2021129014A1 (zh) 传输数据报文的方法、装置及系统
CN109474713B (zh) 报文转发方法和装置
EP3780885A1 (en) Method, apparatus and system for establishing subflows of multipath connection
WO2016029345A1 (zh) 网络流的信息统计方法和装置
WO2015106453A1 (zh) 处理业务的方法和网络设备
WO2021169291A1 (zh) 发布路由的方法、网元、系统及设备
CN111327545B (zh) 数据发送方法、装置、网络系统及交换机
CN112311672B (zh) 一种路由表项获得方法、装置及设备
CN111866046A (zh) 一种实现集群的方法及相关设备
CN112583736A (zh) 一种信令报文分流方法、装置、设备及介质
CN113010314B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201030