CN115086220A - 一种网络报文转发方法、装置、设备及介质 - Google Patents
一种网络报文转发方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115086220A CN115086220A CN202210767462.0A CN202210767462A CN115086220A CN 115086220 A CN115086220 A CN 115086220A CN 202210767462 A CN202210767462 A CN 202210767462A CN 115086220 A CN115086220 A CN 115086220A
- Authority
- CN
- China
- Prior art keywords
- service function
- network
- function node
- total
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000006870 function Effects 0.000 claims description 422
- 230000008569 process Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 239000003550 marker Substances 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 3
- 101150115300 MAC1 gene Proteins 0.000 description 3
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 2
- 102100039558 Galectin-3 Human genes 0.000 description 2
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 2
- 101150051246 MAC2 gene Proteins 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100289995 Caenorhabditis elegans mac-1 gene Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
-
- 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/38—Flow based 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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Abstract
本申请公开了一种网络报文转发方法、装置、设备及介质,用以在节约资源的基础上,快捷灵活地保证网络报文的高效转发。由于本申请针对目标服务功能链中的每个服务功能节点,在任一目标服务功能节点当前的流量承载能力总值与应用当前各会话待转发的网络报文的总流量不匹配时,可以根据该总流量,对目标服务功能节点中包含的网络设备进行调整,使得调整后的目标服务功能节点的流量承载能力总值与该总流量匹配;从而可以使得基于调整后的目标服务功能链,对会话的网络报文进行转发时,可以在节约资源的基础上,快捷灵活地保证网络报文的高效转发。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种网络报文转发方法、装置、设备及介质。
背景技术
网络报文在网络中传递时,通常以特定顺序依次转发至各网络设备,如防火墙、加解密卡等安全设备,以保证能够按照预期向用户提供安全、快速、稳定的网络服务。其中,网络报文以特定顺序依次转发至各网络设备时,形成的串联各网络设备的网络报文传输路径就是服务功能链(Service Function Chaining,SFC)。
相关技术中,服务功能链中包含的各网络设备通常是固定不变的,而当服务功能链中的某个或某些网络设备发生故障等时,就可能会导致服务功能链的流量承载能力无法满足转发网络报文的业务需求,导致网络报文无法高效转发。另外,如果服务功能链的流量承载能力过大时,也可能会造成一定程度的资源浪费等,因此,如何在节约资源的基础上,快捷灵活地保证网络报文的高效转发是目前亟需解决的一个技术问题。
发明内容
本申请提供了一种网络报文转发方法、装置、设备及介质,用以在节约资源的基础上,快捷灵活地保证网络报文的高效转发。
第一方面,本申请提供了一种网络报文转发方法,所述方法包括:
接收会话的网络报文的转发指令,获取所述会话所属的应用当前各会话待转发的网络报文的总流量及所述应用的目标标识信息;根据所述目标标识信息及保存的应用标识信息与服务功能链的对应关系,确定所述目标标识信息的应用对应的目标服务功能链;
针对所述目标服务功能链中的每个服务功能节点,若任一目标服务功能节点当前的流量承载能力总值与所述总流量不匹配,则根据所述总流量,对所述目标服务功能节点中包含的网络设备进行调整,其中,调整后的所述目标服务功能节点的流量承载能力总值与所述总流量匹配;
基于调整后的目标服务功能链,对所述网络报文进行转发。
可选的,确定任一目标服务功能节点当前的流量承载能力总值与所述总流量不匹配包括:
若任一目标服务功能节点当前的流量承载能力总值小于所述总流量,则确定所述目标服务功能节点当前的流量承载能力总值与所述总流量不匹配;或者,
若任一目标服务功能节点中包含的其中一部分网络设备当前的流量承载能力子总值不小于所述总流量,则确定所述目标服务功能节点当前的流量承载能力总值与所述总流量不匹配。
可选的,若任一目标服务功能节点当前的流量承载能力总值小于所述总流量,所述根据所述总流量,对所述目标服务功能节点中包含的网络设备进行调整包括:
根据保存的服务功能节点与网络设备类型的对应关系,确定所述目标服务功能节点对应的目标网络设备类型;
确定所述目标网络设备类型的目标网络设备,将所述目标网络设备添加到所述目标服务功能节点中,其中所述目标网络设备的流量承载能力值不小于所述总流量与所述流量承载能力总值的差。
可选的,若所述目标服务功能节点中包含的其中一部分网络设备当前的流量承载能力子总值不小于所述总流量,所述根据所述总流量,对所述目标服务功能节点中包含的网络设备进行调整包括:
确定所述目标服务功能节点中的至少一个待移除网络设备,将所述至少一个待移除网络设备从所述目标服务功能节点中移除,其中各待移除网络设备的流量承载能力子总值不大于所述流量承载能力总值与所述总流量的差。
可选的,若确定任一目标服务功能节点当前的流量承载能力总值与所述总流量不匹配之后,所述基于调整后的目标服务功能链,对所述网络报文进行转发之前,所述方法还包括:
若识别到任一目标服务功能节点中包含发生故障的网络设备,则将发生故障的网络设备从所述目标服务功能节点中移除。
可选的,所述基于调整后的目标服务功能链,对所述网络报文进行转发包括:
针对各会话的网络报文分别执行以下操作:针对所述目标服务功能链中包含的每个服务功能节点,基于一个会话的网络报文的属性信息,确定所述一个会话的网络报文在该服务功能节点中流经的网络设备及接口,基于所述流经的网络设备及接口,对所述一个会话的网络报文进行处理及转发。
可选的,所述基于一个会话的网络报文的属性信息,确定所述一个会话的网络报文在该服务功能节点中流经的网络设备及接口包括:
若基于所述一个会话的网络报文的属性信息,识别到所述一个会话的网络报文的类型为响应类型报文,则获取所述一个会话的网络报文对应的请求类型报文在该服务功能节点中流经过的网络设备及接口;
根据所述请求类型报文在该服务功能节点中流经过的网络设备及接口,确定所述一个会话的网络报文在该服务功能节点中流经的网络设备及接口。
可选的,预先编排任一应用对应的服务功能链的过程包括:
根据保存的应用标识信息与服务功能链中包含的服务功能节点连接信息的对应关系,确定任一应用的目标标识信息对应的各服务功能节点及各服务功能节点之间的连接关系;
针对每个服务功能节点,基于预设的基准流量承载能力总值,确定该服务功能节点包含的每个网络设备。
第二方面,本申请提供了一种网络报文转发装置,所述装置包括:
获取模块,用于接收会话的网络报文的转发指令,获取所述会话所属的应用当前各会话待转发的网络报文的总流量及所述应用的目标标识信息;根据所述目标标识信息及保存的应用标识信息与服务功能链的对应关系,确定所述目标标识信息的应用对应的目标服务功能链;
调整模块,用于针对所述目标服务功能链中的每个服务功能节点,若任一目标服务功能节点当前的流量承载能力总值与所述总流量不匹配,则根据所述总流量,对所述目标服务功能节点中包含的网络设备进行调整,其中,调整后的所述目标服务功能节点的流量承载能力总值与所述总流量匹配;
转发模块,用于基于调整后的目标服务功能链,对所述网络报文进行转发。
可选的,所述调整模块,具体用于若任一目标服务功能节点当前的流量承载能力总值小于所述总流量,则确定所述目标服务功能节点当前的流量承载能力总值与所述总流量不匹配;或者,
若任一目标服务功能节点中包含的其中一部分网络设备当前的流量承载能力子总值不小于所述总流量,则确定所述目标服务功能节点当前的流量承载能力总值与所述总流量不匹配。
可选的,所述调整模块,具体用于根据保存的服务功能节点与网络设备类型的对应关系,确定所述目标服务功能节点对应的目标网络设备类型;
确定所述目标网络设备类型的目标网络设备,将所述目标网络设备添加到所述目标服务功能节点中,其中所述目标网络设备的流量承载能力值不小于所述总流量与所述流量承载能力总值的差。
可选的,所述调整模块,具体用于确定所述目标服务功能节点中的至少一个待移除网络设备,将所述至少一个待移除网络设备从所述目标服务功能节点中移除,其中各待移除网络设备的流量承载能力子总值不大于所述流量承载能力总值与所述总流量的差。
可选的,所述调整模块,还用于若识别到任一目标服务功能节点中包含发生故障的网络设备,则将发生故障的网络设备从所述目标服务功能节点中移除。
可选的,所述转发模块,具体用于针对各会话的网络报文分别执行以下操作:针对所述目标服务功能链中包含的每个服务功能节点,基于一个会话的网络报文的属性信息,确定所述一个会话的网络报文在该服务功能节点中流经的网络设备及接口,基于所述流经的网络设备及接口,对所述一个会话的网络报文进行处理及转发。
可选的,所述转发模块,具体用于若基于所述一个会话的网络报文的属性信息,识别到所述一个会话的网络报文的类型为响应类型报文,则获取所述一个会话的网络报文对应的请求类型报文在该服务功能节点中流经过的网络设备及接口;
根据所述请求类型报文在该服务功能节点中流经过的网络设备及接口,确定所述一个会话的网络报文在该服务功能节点中流经的网络设备及接口。
可选的,所述装置还包括:
编排模块,用于根据保存的应用标识信息与服务功能链中包含的服务功能节点连接信息的对应关系,确定任一应用的目标标识信息对应的各服务功能节点及各服务功能节点之间的连接关系;
针对每个服务功能节点,基于预设的基准流量承载能力总值,确定该服务功能节点包含的每个网络设备。
第三方面,本申请还提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述网络报文转发方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述如上述任一所述网络报文转发方法的步骤。
第五方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如上述任一所述网络报文转发方法的步骤。
由于本申请针对目标服务功能链中的每个服务功能节点,在任一目标服务功能节点当前的流量承载能力总值与应用当前各会话待转发的网络报文的总流量不匹配时,可以根据该总流量,对目标服务功能节点中包含的网络设备进行调整,使得调整后的目标服务功能节点的流量承载能力总值与该总流量匹配;从而可以使得基于调整后的目标服务功能链,对会话的网络报文进行转发时,可以在节约资源的基础上,快捷灵活地保证网络报文的高效转发。
附图说明
为了更清楚地说明本申请实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1示出了一些实施例提供的第一种网络报文转发过程示意图;
图2示出了一些实施例提供的第二种网络报文转发过程示意图;
图3示出了一些实施例提供的第三种网络报文转发过程示意图;
图4示出了一些实施例提供的一种服务功能链结构示意图;
图5示出了一些实施例提供的一种网络设备结构示意图;
图6示出了一些实施例提供的第四种网络报文转发过程示意图;
图7示出了一些实施例提供的第五种网络报文转发过程示意图;
图8示出了一些实施例提供的另一种服务功能链结构示意图;
图9示出了一些实施例提供的第六种网络报文转发过程示意图;
图10示出了一些实施例提供的一种网络报文转发装置示意图;
图11示出了一些实施例提供的一种电子设备结构示意图。
具体实施方式
为了在节约资源的基础上,快捷灵活地保证网络报文的高效转发,本申请提供了一种网络报文转发方法、装置、设备及介质。
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
实施例1:
图1示出了一些实施例提供的第一种网络报文转发过程示意图,该过程包括以下步骤:
S101:接收会话的网络报文的转发指令,获取所述会话所属的应用当前各会话待转发的网络报文的总流量及所述应用的目标标识信息;根据所述目标标识信息及保存的应用标识信息与服务功能链的对应关系,确定所述目标标识信息的应用对应的目标服务功能链。
本申请实施例提供的网络报文转发方法应用于电子设备,该电子设备例如可以是PC、移动终端等设备,也可以是服务器等设备,示例性的,本申请实施例提供的网络报文转发方法可以由服务器或者移动终端等单独执行,也可以由服务器和移动终端共同执行。示例性的,对象(用户)可以在移动终端中点击访问某应用,移动终端响应于该访问请求,创建该对象访问应用的会话以及该会话中包含的网络报文,并将转发该会话的网络报文的转发指令发送给服务器,服务器可以继而执行S101~S103等步骤。为方便描述,下文以电子设备执行本申请实施例提供的网络报文转发方法进行举例说明。
在一种可能的实施方式中,应用可以为通过网络为对象等提供服务的应用或业务系统,例如应用可以为全球广域网(又称万维网,World Wide Web,WEB)站点、视频站点等等。可选的,多个对象可以同时对同一个应用发起访问请求,电子设备可以同时创建多个对象各自访问应用的会话,即针对同一应用可以同时有多个会话。电子设备接收到会话的网络报文进行转发的转发指令后,可以先识别该会话所属的应用,并获取该应用当前的各会话,以及该应用当前的各会话的待转发的网络报文的总流量。示例性的,假设针对某个应用,当前有3个会话,其中第一个会话当前待转发的网络报文的流量为10M,第二个会话当前待转发的网络报文的流量为20M,第三个会话当前待转发的网络报文的流量也为20M,则该应用当前各会话待转发的网络报文的总流量为50M。
可选的,电子设备还可以获取会话所属应用的目标标识信息(为方便描述,将会话所属应用的标识信息称为目标标识信息),并可以根据该目标标识信息以及保存在电子设备自身中的应用标识信息与服务功能链的对应关系,确定目标标识信息的应用对应的目标服务功能链(为方便描述,将目标标识信息的应用对应的服务功能链称为目标服务功能链)。其中,本申请对应用标识信息以及应用标识信息对应的服务功能链不作具体限定,可以根据需求灵活设置。
S102:针对所述目标服务功能链中的每个服务功能节点,若任一目标服务功能节点当前的流量承载能力总值与所述总流量不匹配,则根据所述总流量,对所述目标服务功能节点中包含的网络设备进行调整,其中,调整后的所述目标服务功能节点的流量承载能力总值与所述总流量匹配。
在一种可能的实施方式中,确定了目标服务功能链之后,电子设备可以针对目标服务功能链中包含的每个服务功能节点,判断每个服务功能节点当前的流量承载能力总值与应用当前各会话待转发的网络报文的总流量是否匹配。其中,服务功能链中包含的服务功能节点可以根据需求灵活设置,本申请对此不作具体限定,示例性的,服务功能节点可以包括:防火墙功能节点、加解密卡功能节点等。
可选的,针对每个服务功能节点,该服务功能节点中可以包含若干个网络设备,这若干个网络设备当前的流量承载能力的和,即为该服务功能节点当前的流量承载能力总值。其中,本申请对每个服务功能节点中包含的网络设备的数量不作具体限定。可选的,针对每个网络设备,可以根据该网络设备当前是否发生故障等来确定该网络设备当前的流量承载能力。例如,当某个网络设备当前发生故障无法转发网络报文时,可以将该网络设备当前的流量承载能力确定为0等。当网络设备未发生故障可以正常转发网络报文时,可以根据该网络设备的性能参数等,确定该网络设备当前的流量承载能力,在此不再赘述。
确定了服务功能节点的流量承载能力总值后,可以判断服务功能节点当前的流量承载能力总值与应用当前各会话待转发的网络报文的总流量是否匹配。
在一种可能的实施方式中,如果服务功能节点当前的流量承载能力总值不小于应用当前各会话待转发的网络报文的总流量,可以认为该服务功能节点当前的流量承载能力总值与应用当前各会话待转发的网络报文的总流量匹配。而如果某个服务功能节点当前的流量承载能力总值小于应用当前各会话待转发的网络报文的总流量,可以认为该服务功能节点当前的流量承载能力总值与应用当前各会话待转发的网络报文的总流量不匹配(为方便描述,将流量承载能力总值与总流量不匹配的服务功能节点,称为目标服务功能节点)。
在一种可能的实施方式中,为了节约资源,可以在当某个目标服务功能节点中包含的其中一部分网络设备当前的流量承载能力子总值(为方便描述,将其中一部分网络设备当前的流量承载能力的和,称为流量承载能力子总值)就已经不小于总流量时,可以认为该服务功能节点中只使用其中一部分网络设备即可以完成对网络报文的转发,该服务功能节点的流量承载能力过大,存在一定程度的资源浪费,可以确定该服务功能节点当前的流量承载能力总值与总流量不匹配。示例性的,当目标服务功能节点中包含三个网络设备,其中第一个网络设备当前流量承载能力为50M,第二个网络设备当前流量承载能力为50M,第三个网络设备当前流量承载能力为20M,应用当前各会话待转发的网络报文的总流量为90M,由于第一个网络设备和第二网络设备的流量承载能力子总值就已经大于总流量,可以认为该服务功能节点当前配置第三个网络设备存在一定的资源浪费,可以确定该服务功能节点当前的流量承载能力总值与总流量不匹配。
在一种可能的实施方式中,针对当前的流量承载能力总值与总流量不匹配的目标服务功能节点,可以根据应用当前各会话待转发的网络报文的总流量(为方便描述,简称为总流量),对目标服务功能节点中包含的网络设备进行调整,使得调整后的该目标服务功能节点的流量承载能力总值与总流量匹配。
可选的,在根据应用当前各会话待转发的网络报文的总流量,对目标服务功能节点中包含的网络设备进行调整时,如果该目标服务功能节点当前的流量承载能力总值小于总流量,即该目标服务功能节点当前的流量承载能力总值偏小时,可以通过在该目标服务功能节点中加入新的网络设备的方式来提高该目标服务功能节点的流量承载能力总值。
示例性的,考虑到不同的服务功能节点所适用的网络设备的类型可能不同,例如,以服务功能节点为防火墙功能节点为例,防火墙功能节点中包含的网络设备可以为防火墙等类型的安全设备。再以服务功能节点为加解密卡功能节点为例,加解密卡功能节点中包含的网络设备可以为加解密卡等类型的安全设备。可选的,在目标服务功能节点中加入新的网络设备时,可以先根据保存的服务功能节点与网络设备类型的对应关系,确定目标服务功能节点对应的目标网络设备类型。然后,将目标网络设备类型中的某网络设备加入目标服务功能节点中。其中,可以根据总流量与目标服务功能节点当前的流量承载能力总值的差,来确定将目标网络设备类型中的哪个目标网络设备(为方便描述,将添加到目标服务功能节点中的网络设备称为目标网络设备)加入到目标服务功能节点中,其中,添加了目标网络设备之后的目标服务功能节点中各网络设备的流量承载能力总值不小于总流量,也即目标网络设备的流量承载能力值不小于总流量与目标服务功能节点当前的流量承载能力总值的差。示例性的,假设目标服务功能节点当前的流量承载能力总值为100M,总流量为150M,则新添加的目标网络设备的流量承载能力值不小于50M。在一种可能的实施方式中,可以将保存在预设的网络服务资源池中的目标网络设备,添加到目标服务功能节点中。
在一种可能的实施方式中,当识别到某个目标服务功能节点中包含发生故障的网络设备时,可以将发生故障的网络设备从该目标服务功能节点中移除,将目标网络设备添加到目标服务功能节点中,从而可以实现将目标服务功能节点的流量承载能力总值调整为与总流量匹配,进而使得服务功能链的流量承载能力可以满足转发网络报文的业务需求。
在一种可能的实施方式中,当服务功能链的流量承载能力过大,即某个目标服务功能节点的流量承载能力过大时,可以通过将目标服务功能节点中的其中一个或多个网络设备移除出目标服务功能节点,从而使得调整后的目标服务功能节点的流量承载能力总值与总流量匹配。具体的,可以确定目标服务功能节点中的至少一个待移除网络设备,然后将至少一个待移除网络设备从目标服务功能节点中移除,其中,各待移除网络设备的流量承载能力子总值不大于当前流量承载能力总值与总流量的差,即将待移除网络设备从目标服务功能节点中移除后,目标服务功能节点中包含的留存下来的网络设备的流量承载能力子总值也需要不小于总流量。示例性的,假设目标服务功能节点中包含三个网络设备,其中第一个网络设备当前流量承载能力为50M,第二个网络设备当前流量承载能力为50M,第三个网络设备当前流量承载能力为20M,目标服务功能节点当前的流量承载能力总值为120M,应用当前各会话待转发的网络报文的总流量为90M,则目标服务功能节点当前流量承载能力总值与总流量的差为30M,所以,待移除网络设备的流量承载能力子总值可以不大于30M,可以将第三个网络设备作为待移除设备,将第三个网络设备从目标服务功能节点中移除。
在一种可能的实施方式中,可以将各待移除网络设备移除至网络服务资源池中,以使其他服务功能链可以使用该网络设备,提高网络设备的资源利用率。
S103:基于调整后的目标服务功能链,对所述网络报文进行转发。
将目标服务功能链中的每个目标服务功能节点均进行上述S102中的调整方式进行调整后,可以认为得到调整后的目标服务功能链,可以基于调整后的目标服务功能链,进行对网络报文的转发过程,以对应用提供其所需的网络安全服务。
由于本申请针对目标服务功能链中的每个服务功能节点,在任一目标服务功能节点当前的流量承载能力总值与应用当前各会话待转发的网络报文的总流量不匹配时,可以根据该总流量,对目标服务功能节点中包含的网络设备进行调整,使得调整后的目标服务功能节点的流量承载能力总值与该总流量匹配;从而可以使得基于调整后的目标服务功能链,对会话的网络报文进行转发时,可以在节约资源的基础上,快捷灵活地保证网络报文的高效转发。
为方便理解,参阅图2,图2示出了一些实施例提供的第二种网络报文转发过程示意图,该过程包括以下步骤:
S201:接收会话的网络报文的转发指令,获取该会话所属的应用当前各会话待转发的网络报文的总流量及该应用的目标标识信息;根据该目标标识信息及保存的应用标识信息与服务功能链的对应关系,确定该目标标识信息的应用对应的目标服务功能链。
S202:针对目标服务功能链中的每个服务功能节点,若任一目标服务功能节点当前的流量承载能力总值小于总流量,则确定目标服务功能节点当前的流量承载能力总值与总流量不匹配。
S203:根据保存的服务功能节点与网络设备类型的对应关系,确定目标服务功能节点对应的目标网络设备类型;确定目标网络设备类型的目标网络设备,将目标网络设备添加到目标服务功能节点中,其中目标网络设备的流量承载能力值不小于总流量与流量承载能力总值的差。
S204:基于调整后的目标服务功能链,对网络报文进行转发。
为方便理解,参阅图3,图3示出了一些实施例提供的第三种网络报文转发过程示意图,该过程包括以下步骤:
S301:接收会话的网络报文的转发指令,获取该会话所属的应用当前各会话待转发的网络报文的总流量及该应用的目标标识信息;根据该目标标识信息及保存的应用标识信息与服务功能链的对应关系,确定该目标标识信息的应用对应的目标服务功能链。
S302:针对目标服务功能链中的每个服务功能节点,若任一目标服务功能节点中包含的其中一部分网络设备当前的流量承载能力子总值不小于总流量,则确定目标服务功能节点当前的流量承载能力总值与总流量不匹配。
S303:确定目标服务功能节点中的至少一个待移除网络设备,将至少一个待移除网络设备从目标服务功能节点中移除,其中各待移除网络设备的流量承载能力子总值不大于流量承载能力总值与总流量的差。
S304:基于调整后的目标服务功能链,对网络报文进行转发。
在一种可能的实施方式中,可以基于调整后的目标服务功能链,对应用的各会话的网络报文进行转发,其中,对各会话的网络报文进行转发时,针对各会话的网络报文可以分别执行以下操作:
针对目标服务功能链中包含的每个服务功能节点,可以基于其中一个会话的网络报文的属性信息,确定这一个会话的网络报文在该服务功能节点中流经的网络设备及接口,从而基于该流经的网络设备及接口,对这一个会话的网络报文进行处理及转发。其中,网络报文的属性信息可以包括网络报文的类型,例如是响应类型报文,还是请求类型报文等,网络报文的属性信息还可以包括网络报文的源IP地址、目的IP地址等,网络报文的属性信息还可以包括网络报文的流量大小等。本申请对网络报文的属性信息不作具体限定。
在一种可能的实施方式中,参阅图4,图4示出了一些实施例提供的一种服务功能链结构示意图,参阅图4,服务功能链中可以包含多个服务功能节点,每个服务功能节点中可以分别包含有一个对应的负载均衡器,该负载均衡器可以基于预设的负载均衡算法等,为每个会话的网络报文确定一个适合该会话的网络报文流经的网络设备。示例性的,负载均衡器可以基于会话的网络报文的属性信息,确定该会话的网络报文的第一哈希值,同时,也可以确定服务功能节点中每个网络设备当前的第二哈希值,通过计算第一哈希值与第二哈希值之间的匹配度等,确定适合该会话的网络报文流经的网络设备及相应的接口。
在一种可能的实施方式中,负载均衡器还可以基于每个网络设备当前的流量承载能力值等,为每个网络设备配置对应的权重系数,例如,可以为流量承载能力值较小的网络设备配置一个较小的权重系数,为流量承载能力值较大的网络设备配置一个较大的权重系数,从而可以增加网络报文流经的网络设备为流量承载能力值较大的网络设备的概率等。本申请对网络设备对应的权重系数不作具体限定可以根据需求灵活设置。
在一种可能的实施方式中,考虑到如果会话的网络报文为响应类型报文时,该响应类型报文在之前通常有对应的请求类型报文,为了进一步保证对网络报文处理的准确性,可以将响应类型报文和对应的请求类型报文基于同一个网络设备进行处理。为了将响应类型报文和对应的请求类型报文基于同一个网络设备进行处理,本申请实施例中提供了一种会话保持机制,具体的,负载均衡器在确定其中一个会话的网络报文流经的网络设备及接口时,如果基于该会话的网络报文的属性信息,识别到该会话的网络报文的类型为响应类型报文,则可以获取该会话的网络报文对应的请求类型报文在该服务功能节点中流经过的网络设备及接口;根据对应的请求类型报文在该服务功能节点中流经过的网络设备及接口,确定该会话的网络报文(响应类型报文)在该服务功能节点中流经的网络设备及接口。
示例性的,参阅图5,图5示出了一些实施例提供的一种网络设备结构示意图,以某个会话的请求类型报文为基于服务功能节点中的网络设备A处理的为例,可以继续将网络设备A确定为该会话的响应类型报文流经的网络设备。网络设备A中包含接口1和接口2,其中,该会话的请求类型报文从接口1输入网络设备A,从接口2输出网络设备A,该会话的响应类型报文可以从接口2输入网路设备A,从接口1输出网络设备A。
参阅图6所示,图6示出了一些实施例提供的第四种网络报文转发过程示意图,该过程包括以下步骤:
S601:接收会话的网络报文的转发指令,获取该会话所属的应用当前各会话待转发的网络报文的总流量及该应用的目标标识信息;根据该目标标识信息及保存的应用标识信息与服务功能链的对应关系,确定该目标标识信息的应用对应的目标服务功能链。
S602:针对目标服务功能链中的每个服务功能节点,若任一目标服务功能节点当前的流量承载能力总值与总流量不匹配,则根据总流量,对目标服务功能节点中包含的网络设备进行调整,其中,调整后的目标服务功能节点的流量承载能力总值与总流量匹配。
S603:针对各会话的网络报文分别执行以下操作:针对目标服务功能链中包含的每个服务功能节点,基于其中任一个会话的网络报文的属性信息,确定这一个会话的网络报文在该服务功能节点中流经的网络设备及接口,基于流经的网络设备及接口,对这一个会话的网络报文进行处理及转发。
其中,若基于其中任一个会话的网络报文的属性信息,识别到该会话的网络报文的类型为响应类型报文,则获取该会话的网络报文对应的请求类型报文在该服务功能节点中流经过的网络设备及接口;根据请求类型报文在该服务功能节点中流经过的网络设备及接口,确定该会话的网络报文在该服务功能节点中流经的网络设备及接口。
为方便理解,下面通过一个具体实施例对本申请提供的报文转发过程进行举例说明。参阅图7所示,图7示出了一些实施例提供的第五种网络报文转发过程示意图,对象在移动终端(应用客户端)中点击访问某应用,移动终端响应于该访问请求,创建该对象访问应用的会话以及该会话中包含的网络报文,并将转发该会话的网络报文的转发指令发送给服务器。服务器接收会话的网络报文的转发指令,获取该会话所属的应用当前各会话待转发的网络报文的总流量及应用的目标标识信息。可选的,服务器可以基于服务器的核心交换机根据目标标识信息及保存的应用标识信息与服务功能链的对应关系,确定目标标识信息的应用对应的目标服务功能链。
可选的,请参阅图8,图8示出了一些实施例提供的另一种服务功能链结构示意图,服务器中的网络状态监控器可以持续监听服务功能链中各网络设备的状态事件,其中,状态事件包括网络设备的在线状态、是否发生故障、CPU利用率、内存利用率、磁盘利用率、网络链路状态、网络质量等状态。示例性的,网络状态监控器可以将监控到的状态事件通过消息总线发送给服务器中的服务功能链编排控制器(为方便描述,称为编排器),编排器可以根据针对目标服务功能链中的每个服务功能节点,在识别到任一目标服务功能节点当前的流量承载能力总值与总流量不匹配时,根据总流量,对目标服务功能节点中包含的网络设备进行调整,使得调整后的目标服务功能节点的流量承载能力总值与总流量匹配。
请再次参阅图7,假设调整后的目标服务功能链中,从前到后分别包括:服务功能节点1、服务功能节点2、服务功能节点3,其中服务功能节点1中包含网络设备1,服务功能节点2中包含网络设备2和网络设备3,服务功能节点3中包含网络设备4。
基于该目标服务功能链对会话的网络报文进行转发时,会话的网络报文例如可以先通过服务功能节点1的引流口1进入服务功能节点1。当然,如果服务功能节点2为其他某个服务功能链的第一个服务功能节点时,会话的网络报文也可以通过服务功能节点2的引流口2中进入服务功能节点2,如果服务功能节点3为其他另一个服务功能链的第一个服务功能节点时,会话的网络报文也可以通过服务功能节点3的引流口3中进入服务功能节点3,在此不再赘述。
参阅图9,图9示出了一些实施例提供的第六种网络报文转发过程示意图,示例性的,会话的网络报文例如先通过服务功能节点1的引流口1进入服务功能节点1后,服务功能节点1中的负载均衡器,即OpenFlow交换机1可以先基于方向标记器,确定该会话的网络报文的类型,基于网络报文的类型,确定网络报文的方向标识。可选的,可以基于网络报文携带的源IP地址和目的IP地址,确定网络报文的类型,示例性的,如果源IP地址为应用客户端,目的IP地址为应用服务端,则可以认为该网络报文的类型为请求类型报文,可选的,可以将请求类型报文的方向标识标记为0。而如果源IP地址为应用服务端,目的IP地址为应用客户端,则可以认为该网络报文的类型为响应类型报文,可选的,可以将响应类型报文的方向标识标记为1。
可选的,确定了会话的网络报文的方向标识后,可以再基于负载均衡器中的服务标记器对该会话的网络报文在该服务功能节点实现的服务功能类型进行标识,如防火墙服务功能类型或加解密卡服务功能类型等。
可选的,确定会话的网路报文在服务功能节点中的服务功能类型标识后,可以基于负载均衡器中的设备标记器和接口标记器,对会话的网路报文在该服务功能节点中流经的网络设备和接口进行标识。示例性的,如果会话的网络报文为请求类型报文,则可以认为该服务功能节点之前没有处理过该会话的网络报文,则可以基于负载均衡算法,确定适合该会话的网络报文流经的网络设备(Bucket),并可以基于预先保存的接口标记流表项(Openflow流表项),确定适合该会话的网络报文流经的接口,并对该网络设备和接口进行标识,使得会话的网络报文可以准确的流经该网络设备和接口。
可选的,如果会话的网络报文为响应类型报文,则可以认为该服务功能节点之前处理过该会话的网络报文对应的请求类型报文,则可以基于会话保持算法,获取该会话的网络报文对应的请求类型报文在该服务功能节点中流经过的网络设备及接口;根据请求类型报文在该服务功能节点中流经过的网络设备及接口,确定该会话的网络报文在该服务功能节点中流经的网络设备及接口。
可选的,确定了会话的网络报文在服务功能节点中流经的网络设备及接口后,可以基于负载均衡器中的报文转发器,对会话的网络报文进行转发。示例性的,可以基于预先维护的二层MAC转发表来实现对网络报文的可寻址转发。其中该二层MAC转发表中包含网络报文要送达的网络设备的目的MAC地址,以及网络报文要想送达该目的MAC地址的网络设备时,需要流经的接口(端口)的标识。
在一种可能的是实施方式中,请参阅图7,例如三台Openflow交换机(负载均衡器)分别分布式地部署在不同的网络位置。Openflow交换机两两之间可以通过虚拟局域网(Virtual Local Area Network,VLAN)、隧道等方式建立起一张二层转发网络。整个二层转发网络中部署了4台网络设备。其中网络设备1通过端口(设备口)1连接到Openflow交换机1,网络设备1的MAC地址为MAC1。网络设备2通过端口(设备口)2连接到Openflow交换机2,网络设备2的MAC地址为MAC2。另外,网络设备3通过端口(设备口)3也连接到Openflow交换机2,网络设备3的MAC地址为MAC3。网络设备4通过端口(设备口)4和设备口5连接到Openflow交换机3,网络设备4的MAC地址分别为MAC4和MAC5。
以Openflow交换机1为例,参阅表1,表1为Openflow交换机1中的二层MAC转发表。
表1
根据表1可知,网络报文在服务功能节点1中,如果想要将网络报文送达(流经)MAC地址为MAC1的网络设备(即网络设备1)时,可以通过将网络报文流经设备口1,实现将网络报文送达到网络设备1的目的。另外,网络报文在服务功能节点1中,如果想要将网络报文送达(流经)MAC地址为MAC2的网络设备(即网络设备2)时,可以通过将网络报文流经互联口1,实现将网络报文转发到跨服务功能节点布置的网络设备2对应的Openflow交换机2中,Openflow交换机2可以基于与表1相同的原理建立的二层MAC转发表,实现将网络报文转发到对应的网络设备的目的。另外,如果想要将网络报文送达(流经)MAC地址为MAC3的网络设备(即网络设备3)时,可以通过将网络报文流经互联口1,实现将网络报文转发到跨服务功能节点布置的网络设备3对应的Openflow交换机2中。另外,如果想要将网络报文送达(流经)MAC地址为MAC4的网络设备(即网络设备4)或MAC5的网络设备时,可以通过将网络报文流经互联口2,实现将网络报文转发到跨服务功能节点布置的网络设备4对应的Openflow交换机3中。
示例性的,以会话的网络报文需要被网络设备1处理为例,网络报文在服务功能节点1中可以通过流经设备口1,被送达到网络设备1,网络设备1对网络报文进行处理后,被处理后的网络报文可以通过流经互联口1,被转发到服务功能节点2。参阅表2,表2为服务功能节点2中Openflow交换机2中的二层MAC转发表示意表。
表2
示例性的,参阅表2,网络报文在服务功能节点2中,如果想要将网络报文送达(流经)MAC地址为MAC2的网络设备(即网络设备2)时,可以通过将网络报文通过流经设备口2,实现将网络报文送达到网络设备2的目的。如果想要将网络报文送达(流经)MAC地址为MAC3的网络设备(即网络设备3)时,可以通过将网络报文通过流经设备口3,实现将网络报文送达到网络设备3的目的。如果想要将网络报文送达(流经)MAC地址为MAC4的网络设备(即网络设备4)或MAC5的网络设备时,可以通过将网络报文流经互联口4,实现将网络报文转发到跨服务功能节点布置的网络设备4对应的Openflow交换机3中,Openflow交换机3可以基于与表1和表2相同的原理建立的二层MAC转发表,实现将网络报文转发到对应的网络设备的目的,在此不再赘述。另外,如果想要将网络报文送达(流经)MAC地址为MAC1的网络设备(即网络设备1)时,可以通过将网络报文流经互联口3,实现将网络报文转发到跨服务功能节点布置的网络设备1对应的Openflow交换机1中。
示例性的,以会话的网络报文在服务功能节点2中需要先经过网络设备2处理,再经过网络设备3处理为例,Openflow交换机2可以先将网络报文通过流经设备口2,被送达到网络设备2,网络设备2对网络报文进行处理后,被处理后的网络报文可以通过流经设备口3,被转发到网络设备3,网络设备3对网络报文进行处理后,被处理后的网络报文可以通过流经互联口4,被转发到服务功能节点3。参阅表3,表3为服务功能节点3中Openflow交换机3中的二层MAC转发表示意表。
表3
示例性的,参阅表3,网络报文在服务功能节点3中,如果想要将网络报文送达(流经)MAC地址为MAC4的网络设备(即网络设备4)时,可以通过将网络报文流经设备口4,实现将网络报文送达到网络设备4的目的。另外,如果想要将网络报文送达(流经)MAC地址为MAC1的网络设备(即网络设备1)时,可以通过将网络报文通过流经互联口6,实现将网络报文转发到跨服务功能节点布置的网络设备1对应的Openflow交换机1中,Openflow交换机1可以基于表1中的二层MAC转发表,实现将网络报文转发到对应的网络设备的目的,在此不再赘述。
示例性的,以网络报文在服务功能节点3中需要通过被MAC4的网络设备4处理为例,Openflow交换机3可以将网络报文通过流经设备口4,被送达到网络设备4。
值得说明的是,如果对应的服务功能节点不是服务功能链的最后一个服务功能节点,则网络报文在该服务功能节点中被处理可以被提交到服务功能链的下一个服务功能节点进行继续处理;如果对应的服务功能节点为服务功能链的最后一个服务功能节点,则会话的网络报文在该服务功能节点中被处理,可以从服务链回注口发送到会话相关的服务端或客户端等。
示例性的,以服务功能节点3为服务功能链的最后一个服务功能节点为例,会话的网络报文在服务功能节点3中被处理后,可以基于服务链回注口被发送到会话相关的服务端或客户端等。
实施例2:
在一种可能的实施方式中,可以预先为每个应用编排一个服务功能链,为方便理解,下面以对其中任一个应用编排服务功能链的过程进行说明,对其他应用编排服务功能链的过程类似,在此不再赘述。
在一种可能的实施方式中,应用的服务商等可以预先为应用配置该应用适用的服务功能链中包含的每个服务功能节点,以及各服务功能节点之间的连接信息,并将应用标识信息与服务功能链中包含的服务功能节点连接信息的对应关系保存在电子设备中,在对应用编排服务功能链时,电子设备可以根据保存的应用标识信息与服务功能链中包含的服务功能节点连接信息的对应关系,确定其中任一应用的目标标识信息对应的各服务功能节点及各服务功能节点之间的连接关系;然后针对每个服务功能节点,可以基于预设的基准流量承载能力总值,确定该服务功能节点包含的每个网络设备。示例性的,假设某个应用对应的服务功能节点依次分别为:服务功能节点A、服务功能节点B、服务功能节点C,确定按照这个先后顺序,确定服务功能链中各服务功能节点的连接顺序,然后针对每个服务功能节点,可以按照预设的基准流量承载能力总值,例如100M等,确定每个服务功能节点包含的各网络设备,可以理解的,每个服务功能节点中包含的各网络设备的能力承载能力总值不小于该基准流量承载能力总值。
可以理解的,后续再基于该预先编排的服务功能链转发网络报文时,如果任一服务功能节点中的网络设备发生故障等、或者应用当前各会话的网络报文的总流量超过该基准流量承载能力总值等,导致服务功能链的流量承载能力无法满足转发网络报文的业务需求时;亦或者是如果服务功能链的流量承载能力过大时,造成一定程度的资源浪费等时,均可以基于上述实施例提供的对目标服务功能节点中包含的网络设备进行调整的方式进行调整,使得调整后的目标服务功能链可以在节约资源的基础上,快捷灵活地保证网络报文的高效转发。相较于相关技术中将服务功能链的网络设备配置为固定不变的而言,本申请中可以基于总流量以及服务功能链的各服务功能节点中网络设备的当前流量承载能力总值,自适应地动态增加或减少各服务功能节点中的网络设备,可以提高服务功能链的可伸缩性及资源利用率,基于此,实现在节约资源的基础上,快捷灵活地保证网络报文的高效转发的目的。
实施例3:
基于相同的技术构思,本申请提供了一种网络报文转发装置。如图10所示,图10示出了一些实施例提供的一种网络报文转发装置示意图,所述装置包括:
获取模块1001,用于接收会话的网络报文的转发指令,获取所述会话所属的应用当前各会话待转发的网络报文的总流量及所述应用的目标标识信息;根据所述目标标识信息及保存的应用标识信息与服务功能链的对应关系,确定所述目标标识信息的应用对应的目标服务功能链;
调整模块1002,用于针对所述目标服务功能链中的每个服务功能节点,若任一目标服务功能节点当前的流量承载能力总值与所述总流量不匹配,则根据所述总流量,对所述目标服务功能节点中包含的网络设备进行调整,其中,调整后的所述目标服务功能节点的流量承载能力总值与所述总流量匹配;
转发模块1003,用于基于调整后的目标服务功能链,对所述网络报文进行转发。
在一种可能的实施方式中,所述调整模块1002,具体用于若任一目标服务功能节点当前的流量承载能力总值小于所述总流量,则确定所述目标服务功能节点当前的流量承载能力总值与所述总流量不匹配;或者,
若任一目标服务功能节点中包含的其中一部分网络设备当前的流量承载能力子总值不小于所述总流量,则确定所述目标服务功能节点当前的流量承载能力总值与所述总流量不匹配。
在一种可能的实施方式中,所述调整模块1002,具体用于根据保存的服务功能节点与网络设备类型的对应关系,确定所述目标服务功能节点对应的目标网络设备类型;
确定所述目标网络设备类型的目标网络设备,将所述目标网络设备添加到所述目标服务功能节点中,其中所述目标网络设备的流量承载能力值不小于所述总流量与所述流量承载能力总值的差。
在一种可能的实施方式中,所述调整模块1002,具体用于确定所述目标服务功能节点中的至少一个待移除网络设备,将所述至少一个待移除网络设备从所述目标服务功能节点中移除,其中各待移除网络设备的流量承载能力子总值不大于所述流量承载能力总值与所述总流量的差。
在一种可能的实施方式中,所述调整模块1002,还用于若识别到任一目标服务功能节点中包含发生故障的网络设备,则将发生故障的网络设备从所述目标服务功能节点中移除。
在一种可能的实施方式中,所述转发模块1003,具体用于针对各会话的网络报文分别执行以下操作:针对所述目标服务功能链中包含的每个服务功能节点,基于一个会话的网络报文的属性信息,确定所述一个会话的网络报文在该服务功能节点中流经的网络设备及接口,基于所述流经的网络设备及接口,对所述一个会话的网络报文进行处理及转发。
在一种可能的实施方式中,所述转发模块1003,具体用于若基于所述一个会话的网络报文的属性信息,识别到所述一个会话的网络报文的类型为响应类型报文,则获取所述一个会话的网络报文对应的请求类型报文在该服务功能节点中流经过的网络设备及接口;
根据所述请求类型报文在该服务功能节点中流经过的网络设备及接口,确定所述一个会话的网络报文在该服务功能节点中流经的网络设备及接口。
在一种可能的实施方式中,所述装置还包括:
编排模块,用于根据保存的应用标识信息与服务功能链中包含的服务功能节点连接信息的对应关系,确定任一应用的目标标识信息对应的各服务功能节点及各服务功能节点之间的连接关系;
针对每个服务功能节点,基于预设的基准流量承载能力总值,确定该服务功能节点包含的每个网络设备。
实施例4:
基于相同的技术构思,在上述各实施例的基础上,本申请还提供了一种电子设备,图11示出了一些实施例提供的一种电子设备结构示意图,如图11所示,包括:处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信;
所述存储器1103中存储有计算机程序,当所述程序被所述处理器1101执行时,使得所述处理器1101以完成上述网络报文转发方法的步骤。
由于上述电子设备解决问题的原理与上述方法部分提供的网络报文转发方法相似,因此上述电子设备的实施可以参见网络报文转发方法的实施,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1102用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
基于相同的技术构思,在上述各实施例的基础上,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,计算机可执行指令用于使计算机执行前述方法部分所执行的流程。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
基于相同的技术构思,在上述各实施例的基础上,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如上述任一所述网络报文转发的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种网络报文转发方法,其特征在于,所述方法包括:
接收会话的网络报文的转发指令,获取所述会话所属的应用当前各会话待转发的网络报文的总流量及所述应用的目标标识信息;根据所述目标标识信息及保存的应用标识信息与服务功能链的对应关系,确定所述目标标识信息的应用对应的目标服务功能链;
针对所述目标服务功能链中的每个服务功能节点,若任一目标服务功能节点当前的流量承载能力总值与所述总流量不匹配,则根据所述总流量,对所述目标服务功能节点中包含的网络设备进行调整,其中,调整后的所述目标服务功能节点的流量承载能力总值与所述总流量匹配;
基于调整后的目标服务功能链,对所述网络报文进行转发。
2.根据权利要求1所述的方法,其特征在于,确定任一目标服务功能节点当前的流量承载能力总值与所述总流量不匹配包括:
若任一目标服务功能节点当前的流量承载能力总值小于所述总流量,则确定所述目标服务功能节点当前的流量承载能力总值与所述总流量不匹配;或者,
若任一目标服务功能节点中包含的其中一部分网络设备当前的流量承载能力子总值不小于所述总流量,则确定所述目标服务功能节点当前的流量承载能力总值与所述总流量不匹配。
3.根据权利要求2所述的方法,其特征在于,若任一目标服务功能节点当前的流量承载能力总值小于所述总流量,所述根据所述总流量,对所述目标服务功能节点中包含的网络设备进行调整包括:
根据保存的服务功能节点与网络设备类型的对应关系,确定所述目标服务功能节点对应的目标网络设备类型;
确定所述目标网络设备类型的目标网络设备,将所述目标网络设备添加到所述目标服务功能节点中,其中所述目标网络设备的流量承载能力值不小于所述总流量与所述流量承载能力总值的差。
4.根据权利要求2所述的方法,其特征在于,若所述目标服务功能节点中包含的其中一部分网络设备当前的流量承载能力子总值不小于所述总流量,所述根据所述总流量,对所述目标服务功能节点中包含的网络设备进行调整包括:
确定所述目标服务功能节点中的至少一个待移除网络设备,将所述至少一个待移除网络设备从所述目标服务功能节点中移除,其中各待移除网络设备的流量承载能力子总值不大于所述流量承载能力总值与所述总流量的差。
5.根据权利要求1-4任一所述的方法,其特征在于,若确定任一目标服务功能节点当前的流量承载能力总值与所述总流量不匹配之后,所述基于调整后的目标服务功能链,对所述网络报文进行转发之前,所述方法还包括:
若识别到任一目标服务功能节点中包含发生故障的网络设备,则将发生故障的网络设备从所述目标服务功能节点中移除。
6.根据权利要求1-4任一所述的方法,其特征在于,所述基于调整后的目标服务功能链,对所述网络报文进行转发包括:
针对各会话的网络报文分别执行以下操作:针对所述目标服务功能链中包含的每个服务功能节点,基于一个会话的网络报文的属性信息,确定所述一个会话的网络报文在该服务功能节点中流经的网络设备及接口,基于所述流经的网络设备及接口,对所述一个会话的网络报文进行处理及转发。
7.根据权利要求6所述的方法,其特征在于,所述基于一个会话的网络报文的属性信息,确定所述一个会话的网络报文在该服务功能节点中流经的网络设备及接口包括:
若基于所述一个会话的网络报文的属性信息,识别到所述一个会话的网络报文的类型为响应类型报文,则获取所述一个会话的网络报文对应的请求类型报文在该服务功能节点中流经过的网络设备及接口;
根据所述请求类型报文在该服务功能节点中流经过的网络设备及接口,确定所述一个会话的网络报文在该服务功能节点中流经的网络设备及接口。
8.根据权利要求1-4任一所述的方法,其特征在于,预先编排任一应用对应的服务功能链的过程包括:
根据保存的应用标识信息与服务功能链中包含的服务功能节点连接信息的对应关系,确定任一应用的目标标识信息对应的各服务功能节点及各服务功能节点之间的连接关系;
针对每个服务功能节点,基于预设的基准流量承载能力总值,确定该服务功能节点包含的每个网络设备。
9.一种网络报文转发装置,其特征在于,所述装置包括:
获取模块,用于接收会话的网络报文的转发指令,获取所述会话所属的应用当前各会话待转发的网络报文的总流量及所述应用的目标标识信息;根据所述目标标识信息及保存的应用标识信息与服务功能链的对应关系,确定所述目标标识信息的应用对应的目标服务功能链;
调整模块,用于针对所述目标服务功能链中的每个服务功能节点,若任一目标服务功能节点当前的流量承载能力总值与所述总流量不匹配,则根据所述总流量,对所述目标服务功能节点中包含的网络设备进行调整,其中,调整后的所述目标服务功能节点的流量承载能力总值与所述总流量匹配;
转发模块,用于基于调整后的目标服务功能链,对所述网络报文进行转发。
10.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-8中任一所述网络报文转发方法的步骤。
11.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现上述如权利要求1-8任一所述网络报文转发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210767462.0A CN115086220B (zh) | 2022-06-30 | 一种网络报文转发方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210767462.0A CN115086220B (zh) | 2022-06-30 | 一种网络报文转发方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086220A true CN115086220A (zh) | 2022-09-20 |
CN115086220B CN115086220B (zh) | 2024-05-17 |
Family
ID=
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103929492A (zh) * | 2014-04-28 | 2014-07-16 | 华为技术有限公司 | 业务链负载均衡方法及其装置、系统 |
US20150333930A1 (en) * | 2014-05-15 | 2015-11-19 | Akamai Technologies, Inc. | Dynamic service function chaining |
WO2016033729A1 (zh) * | 2014-09-01 | 2016-03-10 | 华为技术有限公司 | 一种确定服务功能路径的方法及装置 |
US20160080263A1 (en) * | 2014-03-31 | 2016-03-17 | Kulcloud | Sdn-based service chaining system |
US20160182684A1 (en) * | 2014-12-23 | 2016-06-23 | Patrick Connor | Parallel processing of service functions in service function chains |
CN106034087A (zh) * | 2015-03-20 | 2016-10-19 | 中兴通讯股份有限公司 | 一种业务功能链负载均衡方法、装置及系统 |
US20170026462A1 (en) * | 2014-04-01 | 2017-01-26 | Huawei Technologies Co., Ltd. | Load balancing method, apparatus and system |
CN108141416A (zh) * | 2016-09-30 | 2018-06-08 | 华为技术有限公司 | 一种报文处理方法、计算设备以及报文处理装置 |
US20180219762A1 (en) * | 2017-02-02 | 2018-08-02 | Fujitsu Limited | Seamless service function chaining across domains |
US20190260679A1 (en) * | 2018-02-22 | 2019-08-22 | Futurewei Technologies, Inc. | Service function chaining congestion tracking |
US20200028749A1 (en) * | 2017-02-16 | 2020-01-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and Apparatus for Virtual Function Self-Organisation |
KR20200026628A (ko) * | 2018-09-03 | 2020-03-11 | 성균관대학교산학협력단 | 서비스 기능 연결 환경에서의 네트워크 서비스 관리 방법 |
US20210136140A1 (en) * | 2019-10-30 | 2021-05-06 | Vmware, Inc. | Using service containers to implement service chains |
CN112954086A (zh) * | 2021-02-19 | 2021-06-11 | 南京创网网络技术有限公司 | 基于arp协议的sdn网络实现三层模式服务链的方法 |
CN113055289A (zh) * | 2016-07-01 | 2021-06-29 | 华为技术有限公司 | 基于业务功能链sfc的报文转发方法、装置和系统 |
CN113179299A (zh) * | 2021-04-19 | 2021-07-27 | 温州职业技术学院 | 面向工业互联网应用的服务功能链协同控制系统及方法 |
CN113535385A (zh) * | 2021-06-21 | 2021-10-22 | 广州杰赛科技股份有限公司 | 虚拟网络功能部署方法、装置、设备及存储介质 |
CN113904923A (zh) * | 2021-09-27 | 2022-01-07 | 重庆电子工程职业学院 | 一种基于软件定义网络的服务功能链联合优化方法 |
WO2022017249A1 (zh) * | 2020-07-21 | 2022-01-27 | 阿里巴巴集团控股有限公司 | 可编程交换机、流量统计方法、防御方法和报文处理方法 |
WO2022058868A1 (en) * | 2020-09-18 | 2022-03-24 | Nokia Solutions And Networks Oy | Improved allocation of computing resources for radio access networks |
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160080263A1 (en) * | 2014-03-31 | 2016-03-17 | Kulcloud | Sdn-based service chaining system |
US20170026462A1 (en) * | 2014-04-01 | 2017-01-26 | Huawei Technologies Co., Ltd. | Load balancing method, apparatus and system |
CN103929492A (zh) * | 2014-04-28 | 2014-07-16 | 华为技术有限公司 | 业务链负载均衡方法及其装置、系统 |
US20150333930A1 (en) * | 2014-05-15 | 2015-11-19 | Akamai Technologies, Inc. | Dynamic service function chaining |
WO2016033729A1 (zh) * | 2014-09-01 | 2016-03-10 | 华为技术有限公司 | 一种确定服务功能路径的方法及装置 |
US20160182684A1 (en) * | 2014-12-23 | 2016-06-23 | Patrick Connor | Parallel processing of service functions in service function chains |
CN106034087A (zh) * | 2015-03-20 | 2016-10-19 | 中兴通讯股份有限公司 | 一种业务功能链负载均衡方法、装置及系统 |
CN113055289A (zh) * | 2016-07-01 | 2021-06-29 | 华为技术有限公司 | 基于业务功能链sfc的报文转发方法、装置和系统 |
CN108141416A (zh) * | 2016-09-30 | 2018-06-08 | 华为技术有限公司 | 一种报文处理方法、计算设备以及报文处理装置 |
US20180219762A1 (en) * | 2017-02-02 | 2018-08-02 | Fujitsu Limited | Seamless service function chaining across domains |
US20200028749A1 (en) * | 2017-02-16 | 2020-01-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and Apparatus for Virtual Function Self-Organisation |
US20190260679A1 (en) * | 2018-02-22 | 2019-08-22 | Futurewei Technologies, Inc. | Service function chaining congestion tracking |
KR20200026628A (ko) * | 2018-09-03 | 2020-03-11 | 성균관대학교산학협력단 | 서비스 기능 연결 환경에서의 네트워크 서비스 관리 방법 |
US20210136140A1 (en) * | 2019-10-30 | 2021-05-06 | Vmware, Inc. | Using service containers to implement service chains |
WO2022017249A1 (zh) * | 2020-07-21 | 2022-01-27 | 阿里巴巴集团控股有限公司 | 可编程交换机、流量统计方法、防御方法和报文处理方法 |
WO2022058868A1 (en) * | 2020-09-18 | 2022-03-24 | Nokia Solutions And Networks Oy | Improved allocation of computing resources for radio access networks |
CN112954086A (zh) * | 2021-02-19 | 2021-06-11 | 南京创网网络技术有限公司 | 基于arp协议的sdn网络实现三层模式服务链的方法 |
CN113179299A (zh) * | 2021-04-19 | 2021-07-27 | 温州职业技术学院 | 面向工业互联网应用的服务功能链协同控制系统及方法 |
CN113535385A (zh) * | 2021-06-21 | 2021-10-22 | 广州杰赛科技股份有限公司 | 虚拟网络功能部署方法、装置、设备及存储介质 |
CN113904923A (zh) * | 2021-09-27 | 2022-01-07 | 重庆电子工程职业学院 | 一种基于软件定义网络的服务功能链联合优化方法 |
Non-Patent Citations (3)
Title |
---|
J. HALPERN, ED.;ERICSSON;C. PIGNATARO, ED.;CISCO;: "Service Function Chaining (SFC) Architecture", IETF RFC7665 * |
W. HAEFFNER;VODAFONE; J. NAPPER; CISCO SYSTEMS;M. STIEMERLING; NEC;D. LOPEZ;TELEFONICA I+D; J. UTTARO;AT AMP;AMP;AMP;T;: "Service Function Chaining Use Cases in Mobile Networks\ndraft-ietf-sfc-use-case-mobility-02", IETF * |
黄梅根;汪涛;刘亮;庞瑞琴;杜欢;: "基于软件定义网络资源优化的虚拟网络功能部署策略", 计算机科学, no. 1 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Eramo et al. | Migration energy aware reconfigurations of virtual network function instances in NFV architectures | |
US20240039895A1 (en) | Virtual private gateway for encrypted communication over dedicated physical link | |
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
Eramo et al. | An approach for service function chain routing and virtual function network instance migration in network function virtualization architectures | |
CN113261240A (zh) | 使用可编程客户机进行多租户隔离 | |
Desmouceaux et al. | 6lb: Scalable and application-aware load balancing with segment routing | |
CN104584484A (zh) | 提供基于策略的数据中心网络自动化的系统和方法 | |
US11467922B2 (en) | Intelligent snapshot generation and recovery in a distributed system | |
US10530669B2 (en) | Network service aware routers, and applications thereof | |
CN113261242A (zh) | 使用可编程交换机进行覆盖网络路由 | |
Bakhshi Kiadehi et al. | A fault-tolerant architecture for internet-of-things based on software-defined networks | |
JP2016207201A (ja) | 電源供給ユニットのホールドタイムを延長するためのサーバシステム、方法、および、コンピュータ可読記憶媒体 | |
CN113992569A (zh) | Sdn网络中多路径业务收敛方法、装置及存储介质 | |
US9197545B2 (en) | Highly scalable modular system with high reliability and low latency | |
CN110391987B (zh) | 从运营商边缘设备集合中选择指定转发器的方法、设备及计算机可读介质 | |
US7480735B2 (en) | System and method for routing network traffic through weighted zones | |
US20220321469A1 (en) | Dynamic routing for peered virtual routers | |
US20220255900A1 (en) | Methods and systems to dynamically select vpnc gateway and on-demand vrf-id configuration based on behavioral pattern of user | |
US11595471B1 (en) | Method and system for electing a master in a cloud based distributed system using a serverless framework | |
US8964596B1 (en) | Network service aware routers, and applications thereof | |
CN115086220B (zh) | 一种网络报文转发方法、装置、设备及介质 | |
CN110601989A (zh) | 一种网络流量均衡方法及装置 | |
CN115086220A (zh) | 一种网络报文转发方法、装置、设备及介质 | |
CN114726796A (zh) | 流量控制方法、网关及交换机 | |
US11709741B1 (en) | Systems and methods for enabling a failover service for block-storage volumes |
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 |