CN115604172A - 报文转发的方法、装置及系统 - Google Patents

报文转发的方法、装置及系统 Download PDF

Info

Publication number
CN115604172A
CN115604172A CN202110722092.4A CN202110722092A CN115604172A CN 115604172 A CN115604172 A CN 115604172A CN 202110722092 A CN202110722092 A CN 202110722092A CN 115604172 A CN115604172 A CN 115604172A
Authority
CN
China
Prior art keywords
node
message
packet
session
session identifier
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
CN202110722092.4A
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 CN202110722092.4A priority Critical patent/CN115604172A/zh
Priority to EP22831901.8A priority patent/EP4195621A4/en
Priority to PCT/CN2022/101268 priority patent/WO2023274087A1/zh
Publication of CN115604172A publication Critical patent/CN115604172A/zh
Priority to US18/312,198 priority patent/US20230275830A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • 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
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • 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
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种报文转发的方法、装置及系统,属于通信技术领域。所述方法包括:第一节点接收第一报文;所述第一节点基于所述第一报文向第二节点发送第二报文,所述第二报文的源地址是所述第一报文的源地址经过转换得到的,所述第二报文的目的地址为所述第一报文的目的地址,所述第二报文的报文载荷为所述第一报文的报文载荷,所述第二报文还包括会话标识,所述会话标识用于供所述第二节点转发所述第二报文。

Description

报文转发的方法、装置及系统
技术领域
本申请涉及通信技术领域,特别涉及一种报文转发的方法、装置及系统。
背景技术
在具有负载分担功能的网络中,负载均衡节点则需要将接收到的多个数据流的报文分散到多个目标节点上去。在此过程中,负载均衡节点需要进行会话保持,即使得来自同一用户的应用请求被转发到同一服务节点上,避免出现断流、丢包、流量乱串等问题。
通常,网络中的节点通过报文的源地址来实现会话保持和负载分担。但是,对于部分应用场景而言,报文到达路由节点或负载均衡节点之前源地址会经过转换,造成基于源地址的会话保持和负载分担失效。
发明内容
本申请提供了一种报文转发的方法、装置及系统,该方法能够基于报文中的会话标识进行会话保持和负载分担,避免基于源地址的会话保持和负载分担失效的问题。
第一方面,本申请提供了一种报文转发的方法,该方法由第一节点执行,包括:第一节点接收第一报文;第一节点基于第一报文向第二节点发送第二报文,这里第二报文是基于第一报文得到的。示例性地,第二报文的源地址是第一报文的源地址经过转换得到的,第二报文的目的地址为第一报文的目的地址,第二报文的报文载荷为第一报文的报文载荷,第二报文还包括会话标识,会话标识用于供第二节点转发第二报文。例如,第二节点基于会话标识实现会话保持或者负载分担。
这里,第一节点是具有NAT或代理功能的网络节点,第一节点对第一报文中源地址进行NAT或代理生成第二报文,由于NAT或代理可能会将相同的源地址转换成不同的地址,或者将不同的源地址转换成相同的地址,造成第二节点基于第二报文的源地址的会话保持及负载分担策略不可用。本申请第一节点在生成的第二报文中携带会话标识,使得第二节点无需再基于第二报文的源地址进行会话保持及负载分担,而是可以基于会话标识进行会话保持及负载分担,保证会话保持及负载分担的正常实现。
这里,负载分担是指将网络流量按照各个服务节点的负载,分配给不同的服务节点,使得各个服务节点负载均衡,也即基于算力负载的均衡。当然这里的负载分担也可以是普通的负载均衡,也即将负载分摊给多个服务节点。
会话保持是指在用户和服务节点建立会话后,保持该会话,也即将该用户发出的属于该会话的所有报文都转发给该服务节点。
在本申请中,会话标识包括如下两种实现方式:
第一种,会话标识包括第一报文的源地址,这里的第一报文是指前文中经过地址转换前的报文。
可选地,会话标识除了包括第一报文的源地址外,还可以包括第一报文的目的地址,或者还包括第一报文的目的地址以及第一报文的源端口,或者还包括第一报文的目的地址以及第一报文的源端口、目的端口。
第二种,会话标识包括第二报文对应的第一应用感知标识。
示例性地,第一应用感知标识为基于应用感知网络APN的应用感知标识APP-awareID,或者基于APN6的应用感知标识。
在上述实现方式中,会话标识采用第一报文的源地址或者第一应用感知标识,保证相同会话的会话标识相同,不同会话的会话标识不同,从而保证会话保持及负载分担的正常实现。
示例性地,第二报文为互联网协议第6版IPv6报文,会话标识位于第二报文的扩展报文头中;
或者,第二报文为互联网协议第4版IPv4报文,会话标识位于第二报文的选项字段中。
其中,扩展报文头为逐跳选项报文头HBH或新增扩展报文头。
第二方面,本申请提供了一种报文转发的方法,该方法由第二节点执行,包括:第二节点从第一节点接收第一报文,第一报文包括第一会话标识;第二节点基于第一会话标识,发送第一报文。
在本申请中,第二节点收到的报文中携带第一会话标识,使得第二节点无需再基于报文的源地址进行会话保持及负载分担,而是可以基于第一会话标识进行会话保持及负载分担,保证会话保持及负载分担的正常实现。
这里的第一报文是第一方面提供的方法中的第二报文。
示例性地,第一会话标识用于供第二节点执行负载分担。
示例性地,第一报文的源地址是第二报文的源地址经过转换得到的,第一报文的目的地址为第二报文的目的地址,第一报文的报文载荷为第二报文的报文载荷。
需要说明的是,这里的第二报文是第一方面提供的方法中的第一报文。
第一会话标识包括如下两种实现方式:
第一种,第一会话标识包括第二报文的源地址。
可选地,第一会话标识除了包括第二报文的源地址外,还可以包括第二报文的目的地址,,或者还包括第二报文的目的地址以及第二报文的源端口,或者还包括第二报文的目的地址以及第二报文的源端口、目的端口。
第二种,第一会话标识包括第二报文对应的第一应用感知标识。
示例性地,第一应用感知标识为基于应用感知网络APN的应用感知标识,或者基于APN6的应用感知标识。
在上述实现方式中,第一会话标识采用第一报文的源地址或者第一应用感知标识,保证相同会话的第一会话标识相同,不同会话的第一会话标识不同,从而保证会话保持及负载分担的正常实现。
示例性地,第一报文为互联网协议第6版IPv6报文,第一会话标识位于第一报文的扩展报文头中;
或者,第一报文为互联网协议第4版IPv4报文,第一会话标识位于第一报文的选项字段中。
其中,扩展报文头为逐跳选项报文头HBH或新增扩展报文头。
在本申请的一种可能的实现方式中,第二节点基于第一会话标识,发送第一报文,包括:
第二节点基于第一会话标识生成会话表,会话表包括键Key值和下一跳信息,Key值包括第一会话标识;
第二节点基于第一会话标识对应的Key值查询到下一跳信息,根据下一跳信息发送第一报文。
在本申请中,第二节点为算力优先网络的入口路由器或者负载均衡网络的负载均衡节点。
当第二节点为算力优先网络的入口路由器时,第二节点基于第一会话标识生成会话表,包括:
第二节点获取算力优先网络中提供第一服务的多个第三节点的算力信息,第一服务为第一报文对应的服务;
第二节点根据多个第三节点的算力信息,从多个第三节点中确定目标节点,目标节点满足算力条件;
第二节点基于目标节点确定下一跳信息,下一跳信息用于将报文发送至目标节点;
第二节点基于下一跳信息和第一会话标识生成会话表。
当第二节点为负载均衡网络的负载均衡节点时,第二节点基于第一会话标识生成会话表,包括:
第二节点获取负载均衡网络中提供第一服务的多个第三节点的负载信息,第一服务为第一报文对应的服务;
第二节点根据多个第三节点的负载信息,从多个第三节点中确定目标节点,目标节点满足负载条件;
第二节点基于目标节点确定下一跳信息,下一跳信息用于将报文发送至目标节点;
第二节点基于下一跳信息和第一会话标识生成会话表。
可选地,第二节点发送的第一报文包括第一会话标识。
可选地,该方法还包括:
第二节点从第一节点接收第三报文,第三报文包括第一会话标识;
第二节点基于第一会话标识将第三报文发送到与第一报文相同的目的节点。
在该实现方式中,第二节点将具有相同会话标识的报文发送到相同节点,从而实现会话保持功能。
可选地,该方法还包括:
第二节点从第一节点接收第四报文,第四报文包括第二会话标识,第二会话标识与第一会话标识不同;
第二节点基于第二会话标识,发送第四报文,以使第四报文和第一报文被发送到不同的服务节点。
在该实现方式中,第二节点将具有不同会话标识的报文发送到不同节点,从而能够实现负载分担功能。
第三方面,本申请提供了一种报文转发的装置,该装置包括:
接收单元,用于接收第一报文;
发送单元,用于基于第一报文向第二节点发送第二报文,第二报文的源地址是第一报文的源地址经过转换得到的,第二报文的目的地址为第一报文的目的地址,第二报文的报文载荷为第一报文的报文载荷,第二报文还包括会话标识,会话标识用于供第二节点转发第二报文。
可选地,会话标识用于供第二节点执行负载分担。
可选地,会话标识包括第一报文的源地址;
或者,会话标识包括第二报文对应的第一应用感知标识。
可选地,当会话标识包括第一应用感知标识时,第一报文还包括第一应用感知标识。
可选地,第二报文为互联网协议第6版IPv6报文,会话标识位于第二报文的扩展报文头中;
或者,第二报文为互联网协议第4版IPv4报文,会话标识位于第二报文的选项字段中。
可选地,扩展报文头为逐跳选项报文头HBH或新增扩展报文头。
第四方面,本申请提供了一种报文转发的装置,该装置包括:
接收单元,用于从第一节点接收第一报文,第一报文包括第一会话标识;
发送单元,用于基于第一会话标识,发送第一报文。
可选地,第一会话标识用于供第二节点执行负载分担。
可选地,第一报文的源地址是第二报文的源地址经过转换得到的,第一报文的目的地址为第二报文的目的地址,第一报文的报文载荷为第二报文的报文载荷;
第一会话标识包括第二报文的源地址;
或者,第一会话标识包括第一报文对应的第一应用感知标识。
可选地,当第一会话标识包括第二报文的源地址时,第一会话标识还包括第二报文的目的地址,
或者,第一会话标识还包括第二报文的目的地址以及第二报文的源端口,
或者,第一会话标识还包括第二报文的目的地址以及第二报文的源端口和目的端口。
可选地,第二节点接收到的第一报文为IPv6报文,第一会话标识位于第一报文的扩展报文头中;
或者,第一节点接收到的第一报文为IPv4报文,第一会话标识位于第一报文的选项字段中。
可选地,发送单元,用于基于第一会话标识生成会话表,会话表包括键Key值和下一跳信息,Key值包括第一会话标识;基于第一会话标识对应的Key值查询到下一跳信息,根据下一跳信息发送第一报文。
可选地,第二节点为算力优先网络的入口路由器,发送单元,用于第二节点获取算力优先网络中提供第一服务的多个第三节点的算力信息,第一服务为第一报文对应的服务;根据多个第三节点的算力信息,从多个第三节点中确定目标节点,目标节点满足算力条件;基于目标节点确定下一跳信息,下一跳信息用于将报文发送至目标节点;基于下一跳信息和第一会话标识生成会话表。
可选地,第二节点为负载均衡网络的负载均衡节点,发送单元,用于获取负载均衡网络中提供第一服务的多个第三节点的负载信息,第一服务为第一报文对应的服务;根据多个第三节点的负载信息,从多个第三节点中确定目标节点,目标节点满足负载条件;基于目标节点确定下一跳信息,下一跳信息用于将报文发送至目标节点;基于下一跳信息和第一会话标识生成会话表。
可选地,第二节点发送的第一报文包括第一会话标识。
可选地,接收单元,还用于从第一节点接收第三报文,第三报文包括第一会话标识;
发送单元,还用于基于第一会话标识将第三报文发送到与第一报文相同的目的节点。
可选地,接收单元,还用于从第一节点接收第四报文,第四报文包括第二会话标识,第二会话标识与第一会话标识不同;
发送单元,还用于基于第二会话标识,发送第四报文,以使第四报文和第一报文被发送到不同的服务节点。
第五方面,本申请提供了一种第一节点,所述第一节点包括处理器和存储器;所述存储器用于存储软件程序以及模块,所述处理器通过运行或执行存储在所述存储器内的软件程序和/或模块,使所述第一节点实现上述第一方面的任一种可能的实施方式中的方法。
第六方面,本申请提供了一种第二节点,所述第二节点包括处理器和存储器;所述存储器用于存储软件程序以及模块,所述处理器通过运行或执行存储在所述存储器内的软件程序和/或模块,使所述第二节点实现上述第二方面的任一种可能的实施方式中的方法。
可选地,所述处理器为一个或多个,所述存储器为一个或多个。
可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
第七方面,本申请提供了一种报文转发的系统,该系统包括第五方面所述的第一节点以及第六方面所述的第二节点。
第八方面,本申请提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述第一方面或第二方面的任一种可能的实施方式中的方法。
第九方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储处理器所执行的程序代码,所述程序代码包括用于实现上述第一方面或第二方面的任一种可能的实施方式中的方法。
第十方面,提供了一种芯片,包括处理器,处理器用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述第一方面或第二方面的任一种可能的实施方式中的方法。
第十一方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述第一方面或第二方面的任一种可能的实施方式中的方法。
附图说明
图1是本公开实施例提供的一种CFN网络架构示意图;
图2是本公开实施例提供的一种CFN网络架构示意图;
图3是本公开实施例提供的5G MEC网络架构示意图;
图4是本申请实施例提供的一种应用场景的示意图;
图5是本申请实施例提供的另一种应用场景的示意图;
图6是本申请实施例提供的一种报文转发的方法的流程图;
图7是本申请实施例提供的一种报文转发的方法的流程图;
图8是本申请实施例提供的一种报文转发的方法的流程图;
图9是本申请实施例提供的一种报文转发流程示意图;
图10是本申请实施例提供的一种报文转发流程示意图;
图11是本申请实施例提供的一种报文转发流程示意图;
图12是本申请实施例提供的一种报文转发流程示意图;
图13是本申请实施例提供的一种报文转发的装置的框图;
图14是本申请实施例提供的一种报文转发的装置的框图;
图15是本申请实施例提供的一种第一节点的框图;
图16是本申请实施例提供的一种第二节点的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为便于对本申请实施例提供的技术方案的理解,首先介绍一下算力优先网络(compute first networking,CFN),CFN通过网络参与计算的调度,同一应用请求可以由多个等价节点提供服务。CFN需要实时的为每个新应用请求寻找合适(最佳)的服务节点。CFN采用动态选播(dynamic anycast)技术,能够提供相同服务的各服务节点采用相同的任播(anycast)地址。
CFN基于各个服务节点的算力,来进行服务节点的选择,算力的定义如下:
静态算力:中央处理器(central processing unit,CPU)/图形处理器(graphicsprocessing unit,GPU)性能、存储容量、网络接口带宽等;
动态算力:CPU/GPU/内存使用率,当前连接数等。
图1是本公开实施例提供的一种CFN网络架构示意图。图1示出了3个MEC站点(Node1~3,也即前述服务节点),每个MEC站点中部署有2个应用程序(application,APP)实例,分别为S1和S2。相关技术中,CFN实现算力感知及算力信息扩散的方式如下:
1、MEC站点进行算力采集
MEC站点驻留程序(Deamon)基于APP粒度采集算力,图1中示例Node1和Node2均为容器环境,所以采用相同的驻留程序进行采集,如果不同节点是异构环境则需要采用不同的驻留程序进行采集;通过边界网关协议(Border Gateway Protocol,BGP)协议将算力信息发送给本地的CFN Router。
2、CFN Router感知MEC站点算力信息的方式
CFN Router通过BGP协议感知本地MEC站点的APP的算力信息。
3、CFN Router之间算力信息扩散与同步
APP的算力信息在CFN Router之间随BGP VPN路由扩散与同步。
图2是本公开实施例提供的一种CFN网络架构示意图。参见图2,CFN网络主要包括入口(Ingress)和出口(Egress)路由器,CFN网络能够实现负载均衡代理,将应用请求引流至合适的APP实例,过程如下:
1、对于每个APP根据每个站点发布的算力信息为每个站点计算出算力融合跃点数(Metric),负载均衡算法将会参考Metric进行APP实例选择,通常选择Metric最小的。
2、Ingress CFN Router对某个用户访问S1的数据流的首个数据包采用负载均衡算法选择Node2的S1实例进行服务,如图2所示,3个服务节点中Node2的S1实例的负载最小,对应的Metric最小。
3、Ingress CFN Router将首个数据包发送给连接Node2的Egress CFN Router,并且为该数据流生成会话表。
4、该数据流后续的数据包会被发送至同一实例,即Node2的APP1实例,保持会话连接。
在上述过程中,CFN路由器作为负载均衡器,将计算任务调度到合适的服务节点,保证业务体验;通过数据流会话保持(或流粘性Session Affinity),保证服务不中断;基于算力和网络状态进行服务节点和路径选择,服务节点的选择考虑网络因素;CFN路由器负载均衡和会话保持基于三层(网络层)、四层(传输层)的方式。
CFN用于5G移动边缘计算(mobile edge computing,MEC)解决方案是CFN的一种典型应用场景,图3是本公开实施例提供的5G MEC网络架构示意图。参见图3,相同APP部署在多个MEC站点(MEC1~4)。MEC站点中的数据中心网关(data center gateway,DCGW)作为CFNRouter。
用户访问APP的报文通过上行分类器(uplink classifier,ULCL)用户面功能(user plane function,UPF)分流到本地网,在本地网Ingress CFN Router选择合适的MEC站点的APP实例进行服务。在图3中,PE是指运营商边缘路由器(provider edge),MEP是指移动边缘平台(ME platform),PSA是指协议数据单元会话锚定(PDU session anchor)。
但是ULCL UPF到本地网时通常会进行网络地址转换(network addresstranslation,NAT)操作,将报文源地址NAT转换为少量的地址。导致传统的基于三层的负载均衡和会话保持方案将会失效。
下面结合本申请的应用场景对NAT等转换操作造成负载均衡和会话保持失效进行详细说明。
图4是本申请实施例所提供的一种应用场景的示意图。参见图4,该场景为移动边缘计算(mobile edge computing,MEC)场景,涉及算力优先网络(compute firstnetworking,CFN)网络及应用感知网络(Application-aware Networking,APN)。
以CFN为例,CFN通过网络实时感知服务节点的算力信息,基于算力信息灵活选择服务节点,实现整网资源的最优化利用。该应用场景包括第一节点和第二节点。
其中,第一节点为图中的转换节点50,转换节点50可以是任何具备网络地址转换(network address translation,NAT)功能的设备或应用代理服务器。第二节点是图中的入口(Ingress)路由器20。
在CFN网络中,Ingress路由器20靠近客户端(APP client端,用户)10,例如小区站点网关(cell site gateway,CSG)设备;Egress路由器30靠近部署应用的应用程序(application,APP)服务器(APP server端)40,例如数据中心网关(data center gateway,DCGW)设备;特殊情况下,同一个路由器可能同时具有Ingress和Egress路由器的功能。各个APP服务器40上均部署有应用APP,每个APP对应一个任播地址(anycast),例如APP1对应anycast1,APP2对应anycast2。
其中,客户端10发起应用请求;Ingress路由器20支持CFN动态选播(dynamicanycast)功能,Ingress路由器20是客户端10发出的报文进入CFN网络的入口设备,是流量的调度节点,该节点具备网络级的负载均衡和会话保持功能;Egress路由器30支持CFNdynamic anycast功能,是客户端10发出的报文离开CFN网络的出口设备。APP服务器40运行应用服务的服务器或集群,响应客户端10的应用请求。
图5是本申请实施例所提供的另一种应用场景的示意图。参见图5,该场景为负载均衡场景,涉及APN及CFN。
以APN为例,网络感知报文的APP的标识,进行基于应用级别的精细化调度和应用级别处理,该应用场景包括第一节点和第二节点。
其中,第一节点为图中的转换节点50。第二节点是图中的负载均衡节点20。其中,负载均衡节点20可以是任何具备负载分担功能的设备,例如路由器。
其中,负载均衡节点20负责将应用请求分散到一个服务器集群中的可用服务节点上去。
需要说明的是,在图4所示的场景中,Ingress路由器20也可以执行负载分担功能。
相关技术中,在图4和图5所示的应用场景中,客户端产生的报文到达第一节点后,第一节点为了节省互联网协议(internet protocol,IP)地址,会对客户端发送的报文的源地址进行网络地址转换(network address translation,NAT)或代理。这样就有可能导致属于同一会话的两个连接经过转换后源地址不同,造成基于源地址的会话保持(sessionaffinity)方案不可用;或者,有可能导致属于不同会话的两个连接经过转换后地址相同,造成不同会话对应的任务都被分配给同一服务节点,造成负载失衡。
在其他实现方式中,服务器还可以为虚拟机(virtual machine,VM)等其他设备。
图6是本申请实施例提供的一种报文转发的方法的流程图。该方法可以由应用场景中的第一节点执行,如图6所示,该方法包括如下步骤:
S31:第一节点接收第一报文。
S32:第一节点基于第一报文向第二节点发送第二报文。
其中,第二报文的源地址是第一报文的源地址经过转换得到的,第二报文的目的地址为第一报文的目的地址,第二报文的报文载荷为第一报文的报文载荷,第二报文还包括会话标识,会话标识用于供第二节点转发第二报文。
这里,第一节点是具有NAT或代理功能的网络节点,第一节点对第一报文中源地址进行NAT或代理生成第二报文,由于NAT或代理可能会将相同的源地址转换成不同的地址,或者将不同的源地址转换成相同的地址,造成第二节点基于第二报文的源地址的会话保持及负载分担策略不可用。本申请第一节点在生成的第二报文中携带会话标识,使得第二节点无需再基于第二报文的源地址进行会话保持及负载分担,而是可以基于会话标识进行会话保持及负载分担,保证会话保持及负载分担的正常实现。同时,本方案基于报文头中携带的会话标识实现会话保持及负载分担,无需深度解析。
图7是本申请实施例提供的一种报文转发的方法的流程图。该方法可以由应用场景中的第二节点执行,如图7所示,该方法包括如下步骤:
S41:第二节点从第一节点接收第一报文,第一报文包括第一会话标识。
S42:第二节点基于第一会话标识,发送第一报文。
在本申请中,第二节点收到的报文中携带第一会话标识,使得第二节点无需再基于报文的源地址进行会话保持及负载分担,而是可以基于第一会话标识进行会话保持及负载分担,保证会话保持及负载分担的正常实现。
图8是本申请实施例提供的一种报文转发的方法的流程图。该方法可以由应用场景中的第一节点和第二节点执行,如图8所示,该方法包括如下步骤:
S51:第一节点接收报文A。
第一节点接收到的报文是客户端发送的,第一节点可以和客户端直连,从而直接接收该报文A;第一节点和客户端之间也可以通过其他节点连接,从而通过其他节点的转发接收到该报文A。
图9是本申请实施例提供的一种报文转发流程示意图,参见图9,第一节点(转换节点)接收客户端C1发送的报文A。该报文A包括源地址(SIP1)、目的地址(DIP1)、协议类型(TCP)、源端口(TSP1)和目的端口(TDP1),其中,源地址(SIP1)、目的地址(DIP1)位于报文的网络侧IP头中,协议类型(TCP)、源端口(TSP1)和目的端口(TDP1)位于报文的传输层中。
其中,目的地址可以是APP对应的任播地址。
S52:第一节点基于报文A生成报文B。
第一节点对报文A的源地址及源端口进行转换(NAT转换或代理),并在报文B中增加会话标识。
在本申请实施例中,报文B的源地址是报文A的源地址经过转换得到的,报文B的目的地址为报文A的目的地址,报文B的报文载荷为报文A的报文载荷,报文B还包括第一会话标识,第一会话标识用于供第二节点转发报文B。
报文B的源端口是报文A的源端口经过转换得到的,报文B的目的端口为报文A的目的端口。
如图9所示,报文B包括转换后的源地址(SIP11)、目的地址(DIP1)、第一会话标识(SIP1+DIP1)、协议类型(TCP)、转换后的源端口(TSP11)和目的端口(TDP1)。
报文B相比于报文A除了源地址和源端口经过转换发生变化外,报文中的3层(L3)和4层(L4)的内容也可能发生变化。
在本申请中,会话标识包括如下两种实现方式:
第一种,会话标识包括报文A的源地址。
可选地,会话标识除了包括报文A的源地址外,还可以包括报文A的目的地址,或者还包括报文A的目的地址以及报文A的源端口,或者还包括报文A的目的地址以及报文A的源端口、目的端口。
如图9所示,报文B中携带的第一会话标识由源地址(SIP1)和目的地址(DIP1)组成。
第二种,会话标识包括报文A(报文B)对应的第一应用感知标识。
示例性地,第一应用感知标识为基于APN的应用感知标识(application-awareidentifier,APP-aware ID),或者基于APN6(基于IPv6+的APN)的应用感知标识。基于APN或APN6的应用感知标识,后文简称APNID。
其中,APP-aware ID应用感知标识通常包含应用识别号(applicationidentifier,APP ID)、用户识别号(user identifier,User ID)和数据流识别号(flowidentifier,Flow ID)等,在本申请提供的方案中,携带在报文中的APP-aware ID可以只需要包含APP ID和User ID,用于区分用户。
图10是本申请实施例提供的另一种报文转发流程示意图,参见图10,在该实现方式中,报文B中携带的第一会话标识为应用感知标识(APNID1)。
在图10所示的实现方式中,报文A中可以携带该应用感知标识(APNID1)。
在其他实现方式中,报文A也可以不携带该应用感知标识(APNID1),该应用感知标识(APNID1)可以由具有分流功能的转换节点设置。
在上述实现方式中,第一会话标识采用报文A的源地址或者第一应用感知标识,保证相同会话的会话标识相同,不同会话的会话标识不同,从而保证会话保持及负载分担的正常实现。
示例性地,报文B为互联网协议第6版IPv6报文,第一会话标识位于报文B的扩展报文头中;
或者,报文B为互联网协议第4版IPv4报文,第一会话标识位于报文B的选项字段中。这里的选项字段为报文网络层报文头中。
其中,扩展报文头为逐跳选项(Hop-By-Hop options,HBH)报文头或新增扩展报文头。
因此,本申请提供的方案是基于网络侧及传输层的会话保持方案,而非基于更高层(例如应用层)的会话保持方案,不需要进行深度解析。
需要说明的是,这里的报文A是图6对应的方法流程中的第一报文,报文B是图6对应的方法流程中的第二报文,同时,报文B也是图7对应的方法流程中的第一报文。
在本申请实施例中,第一节点除了需要进行源地址及源端口转换生成新的报文(报文B)外,还需要基于报文A生成第一会话表。如图9和图10所示,该第一会话表包括源地址、协议(转换前协议类型)、源端口、转换地址(也即转换后的源地址)、协议(转换后协议类型)和转换端口(转换后的源端口)。第一节点基于该第一会话表进行会话保持。
S53:第一节点向第二节点发送报文B。第二节点接收报文B。
第二节点可以和第一节点直连,从而直接接收该报文B;第二节点和第一节点之间也可以通过其他节点连接,从而通过其他节点的转发接收到该报文B。
S54:第二节点基于报文B中的第一会话标识,生成会话表,会话表包括键Key值和下一跳信息,Key值包括第一会话标识。
在本申请中,第二节点为算力优先网络的入口路由器或者负载均衡网络的负载均衡节点。
当第二节点为算力优先网络的入口路由器时,第二节点基于第一会话标识生成会话表,包括:
第二节点获取算力优先网络中提供第一服务的多个第三节点的算力信息,第一服务为报文B对应的服务;
第二节点根据多个第三节点的算力信息,从多个第三节点中确定目标节点,目标节点满足算力条件;
第二节点基于目标节点确定下一跳信息,下一跳信息用于将报文发送至目标节点;
第二节点基于下一跳信息和第一会话标识生成会话表。
下面结合附图9和图10对算力优先网络的入口路由器生成会话表的方式进行说明:
如图9和8所示,第三节点包括APP服务器S1和APP服务器S2,假如APP服务器S1和APP服务器S2均能够提供第一服务(对应APNID1)和第二服务(对应APNID2)。
第二节点(R1)接收到该报文B,基于该报文B确定能够提供报文B对应的服务的节点包括S1和S2。第二节点根据S1和S2的算力信息,确定算力满足条件的节点为S1;第二节点确定通往S1的下一跳为R2;第二节点根据下一跳R2和第一会话标识生成第二会话表。
在图9所示的例子中,第一会话标识由源地址(SIP1)和目的地址(DIP1)组成,该第二会话表包括源地址(SIP1)、目的地址(DIP1)和下一跳(R2),其中,源地址(SIP1)+目的地址(DIP1)为会话标识。
在图10所示的例子中,第一会话标识为应用感知标识(APNID1),该第二会话表包括应用感知标识(APNID1)和下一跳(R2)。
当第二节点为负载均衡网络的负载均衡节点时,第二节点基于第一会话标识生成会话表,包括:
第二节点获取负载均衡网络中提供第一服务的多个第三节点的负载信息,第一服务为报文B对应的服务;
第二节点根据多个第三节点的负载信息,从多个第三节点中确定目标节点,目标节点满足负载条件;
第二节点基于目标节点确定下一跳信息,下一跳信息用于将报文发送至目标节点;
第二节点基于下一跳信息和第一会话标识生成会话表。
下面结合附图11和图12对负载均衡网络的负载均衡节点生成会话表的方式进行说明:
如图11和10所示,第三节点包括APP服务器S1和APP服务器S2,假如APP服务器S1和APP服务器S2均能够提供第一服务(APNID1)和第二服务(APNID2)。
第二节点(R1)接收到该报文B,基于该报文B确定能够提供报文B对应的服务的节点包括S1和S2。第二节点根据S1和S2的负载信息,确定负载满足条件的节点为S1;第二节点确定通往S1的下一跳为S1(仅为举例,实际第二节点和S1之间通常存在中间节点);第二节点根据下一跳S1和第一会话标识生成第二会话表。
在图11所示的例子中,第一会话标识由源地址(SIP1)和目的地址(DIP1)组成,该第二会话表包括源地址(SIP1)、目的地址(DIP1)和下一跳(S1)。
在图12所示的例子中,第一会话标识为应用感知标识(APNID1),该第二会话表包括应用感知标识(APNID1)和下一跳(S1)。
在本申请中,服务器提供第一服务是指处理该第一服务所对应的报文的请求,例如,通过第一服务对应的APP Server端,处理第一服务所对应的报文请求。
S55:第二节点基于第一会话标识对应的Key值查询到下一跳信息,根据下一跳信息发送报文B。
例如图9中,第二节点(R1)采用Key(SIP1+DIP1)查询,得到下一跳R1,然后通过R1进行报文B的发送。
在本申请的一种实现方式中,第二节点在发送该报文B时,可以保留报文B中的第一会话标识。例如在图9所示的场景中,保留报文B中的第一会话标识,这样,Egress路由器R2可以继续基于该第一会话标识进行会话保持和负载分担,也即Egress路由器R2能够进行二次负载分担和会话保持。Egress路由器R2基于该第一会话标识执行会话保持和负载分担的具体方式与上述实施例中描述的基本相同,在此不再赘述。
在本申请的另一种实现方式中,第二节点在发送该报文B时,删除报文B中的第一会话标识。
S56:第一节点接收报文C。
在本申请实施例中,报文A和报文C对应去往同一个应用程序server端的多条流(flow),这多条流属于同一个会话。
S57:第一节点基于报文C生成报文D。
第一节点生成报文D的方式和生成报文B的方式相同。
以图9为例,报文C包括源地址(SIP1)、目的地址(DIP1)、协议类型(UDP)、源端口(USP1)和目的端口(UDP1)。
报文D包括转换后的源地址(SIP11)、目的地址(DIP1)、第一会话标识(SIP1+DIP1)、协议类型(UDP)、转换后的源端口(USP11)和目的端口(UDP1)。
S58:第一节点向第二节点发送报文D。第二节点接收报文D。
S59:第二节点基于第一会话标识对应的Key值查询到下一跳信息,根据下一跳信息发送报文D。
这里查询的是步骤S54生成的会话表中的条目。
第二节点基于第一会话标识将报文D发送到与报文B相同的目的节点。
例如图9中,报文B和报文D都被发送给了APP服务器S1。
S60:第一节点接收报文E。
S61:第一节点基于报文E生成报文F。
第一节点生成报文F的方式和生成报文B的方式相同。
以图9为例,报文E包括源地址(SIP2)、目的地址(DIP1)、协议类型(TCP)、源端口(TSP2)和目的端口(TDP1)。
报文F包括转换后的源地址(SIP11)、目的地址(DIP1)、第二会话标识(SIP2+DIP1)、协议类型(TCP)、转换后的源端口(TSP12)和目的端口(TDP2)。
如图9所示,报文A、报文C和报文E的源地址经过转换,变成相同的源地址,在后续会话保持中无法在通过报文B、报文D和报文F中的源地址实现,需要通过会话标识实现。例如,报文B和报文D中会话标识相同,属于同一会话;报文B和报文F中携带的会话标识不同,属于不同会话。
S62:第一节点向第二节点发送报文F。第二节点接收报文F。
S63:第二节点基于第二会话标识对应的Key值查询到下一跳信息,根据下一跳信息发送报文F。
这里查询的并不是步骤S54生成的会话表中的条目,而是基于第二会话标识生成的另一个条目,生成的方式和步骤S54相同。
第二节点基于第二会话标识,发送报文F,以使报文F和报文B发送到不同的服务节点。
例如图9中,报文B被发送给了APP服务器S1,报文F被发送给了APP服务器S2。
图13是本申请实施例提供的一种报文转发的装置的框图。该报文转发的装置可以通过软件、硬件或者两者的结合实现成为第一节点的全部或者一部分,该第一节点为图4或图5所示的应用场景中的第一节点。该报文转发的装置可以包括:接收单元601和发送单元602。
其中,接收单元601用于执行图6中的步骤S31,也即接收单元601用于接收第一报文;
发送单元602用于执行图6中的步骤S32,也即发送单元602用于基于第一报文向第二节点发送第二报文,第二报文的源地址是第一报文的源地址经过转换得到的,第二报文的目的地址为第一报文的目的地址,第二报文的报文载荷为第一报文的报文载荷,第二报文还包括会话标识,会话标识用于供第二节点转发第二报文。
可选地,接收单元601还用于执行图8中的步骤S51、S56、S60;该发送单元602还用于执行图8中的步骤S53、S58、S62。
可选地,会话标识用于供第二节点执行负载分担。
可选地,会话标识包括第一报文的源地址;
或者,会话标识包括第二报文对应的第一应用感知标识。
可选地,当会话标识包括第一应用感知标识时,第一报文还包括第一应用感知标识。
可选地,第二报文为互联网协议第6版IPv6报文,会话标识位于第二报文的扩展报文头中;
或者,第二报文为互联网协议第4版IPv4报文,会话标识位于第二报文的选项字段中。
可选地,扩展报文头为逐跳选项报文头HBH或新增扩展报文头。
图14是本申请实施例提供的一种报文转发的装置的框图。该报文转发的装置可以通过软件、硬件或者两者的结合实现成为第二节点的全部或者一部分,该第二节点为图4或图5所示的应用场景中的第二节点。该报文转发的装置可以包括:接收单元701和发送单元702。
其中,接收单元701用于执行图7中的步骤S41,也即接收单元701用于从第一节点接收第一报文,第一报文包括第一会话标识;
发送单元702用于执行图7中的步骤S42,也即发送单元702用于基于第一会话标识,发送第一报文。
可选地,接收单元701还用于执行图8中的步骤S53、S58、S62;该发送单元702还用于执行图8中的步骤S55、S59、S63。
可选地,第一会话标识用于供第二节点执行负载分担。
可选地,第一报文的源地址是第二报文的源地址经过转换得到的,第一报文的目的地址为第二报文的目的地址,第一报文的报文载荷为第二报文的报文载荷;
第一会话标识包括第二报文的源地址;
或者,第一会话标识包括第一报文对应的第一应用感知标识。
可选地,当第一会话标识包括第二报文的源地址时,第一会话标识还包括第二报文的目的地址,
或者,第一会话标识还包括第二报文的目的地址以及第二报文的源端口,
或者,第一会话标识还包括第二报文的目的地址以及第二报文的源端口和目的端口。
可选地,第二节点接收到的第一报文为IPv6报文,第一会话标识位于第一报文的扩展报文头中;
或者,第一节点接收到的第一报文为IPv4报文,第一会话标识位于第一报文的选项字段中。
可选地,发送单元702,用于基于第一会话标识生成会话表,会话表包括键Key值和下一跳信息,Key值包括第一会话标识;基于第一会话标识对应的Key值查询到下一跳信息,根据下一跳信息发送第一报文。
可选地,第二节点为算力优先网络的入口路由器,发送单元702,用于第二节点获取算力优先网络中提供第一服务的多个第三节点的算力信息,第一服务为第一报文对应的服务;根据多个第三节点的算力信息,从多个第三节点中确定目标节点,目标节点满足算力条件;基于目标节点确定下一跳信息,下一跳信息用于将报文发送至目标节点;基于下一跳信息和第一会话标识生成会话表。
可选地,第二节点为负载均衡网络的负载均衡节点,发送单元702,用于获取负载均衡网络中提供第一服务的多个第三节点的负载信息,第一服务为第一报文对应的服务;根据多个第三节点的负载信息,从多个第三节点中确定目标节点,目标节点满足负载条件;基于目标节点确定下一跳信息,下一跳信息用于将报文发送至目标节点;基于下一跳信息和第一会话标识生成会话表。
可选地,第二节点发送的第一报文包括第一会话标识。
可选地,接收单元701,还用于从第一节点接收第三报文,第三报文包括第一会话标识;
发送单元702,还用于基于第一会话标识将第三报文发送到与第一报文相同的目的节点。
可选地,接收单元701,还用于从第一节点接收第四报文,第四报文包括第二会话标识,第二会话标识与第一会话标识不同;
发送单元702,还用于基于第二会话标识,发送第四报文,以使第四报文和第一报文被发送到不同的服务节点。
需要说明的是:上述实施例提供的报文转发的装置或报文转发的装置在工作时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的报文转发的装置与报文转发的方法实施例属于同一构思,上述实施例提供的报文转发的装置与报文转发的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
图15示出了本申请一个示例性实施例提供的第一节点800的结构示意图。图15所示的第一节点800用于执行上述图6、图8所示的报文转发的方法所涉及的操作。该第一节点800例如是转换节点等,该第一节点800可以由一般性的总线体系结构来实现。
如图15所示,第一节点800包括至少一个处理器801、存储器803以及至少一个通信接口804。
处理器801例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processingunits,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器801包括专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,第一节点800还包括总线。总线用于在第一节点800的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器803例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器803例如是独立存在,并通过总线与处理器801相连接。存储器803也可以和处理器801集成在一起。
通信接口804使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口804可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口804可以为以太(Ethernet)接口、快速以太(Fast Ethernet,FE)接口、千兆以太(GigabitEthernet,GE)接口,异步传输模式(Asynchronous Transfer Mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口804可以用于第一节点800与其他设备进行通信。
在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,如图15中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,第一节点800可以包括多个处理器,如图15中所示的处理器801和处理器805。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,第一节点800还可以包括输出设备和输入设备。输出设备和处理器801通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器801通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器803用于存储执行本申请方案的程序代码810,处理器801可以执行存储器803中存储的程序代码810。也即是,第一节点800可以通过处理器801以及存储器803中的程序代码810,来实现方法实施例提供的报文转发的方法。程序代码810中可以包括一个或多个软件模块。可选地,处理器801自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的第一节点800可对应于上述各个方法实施例中的第一网络设备,第一节点800中的处理器801读取存储器803中的指令,使图15所示的第一节点800能够执行第一网络设备所执行的全部或部分操作。
具体的,处理器801用于通过通信接口向至少一个远端服务器发送探测报文,该探测报文包括DHCP报文或DHCPv6报文;根据至少一个远端服务器的响应情况确定至少一个远端服务器的状态。
其他可选的实施方式,为了简洁,在此不再赘述。
又例如,本申请实施例的第一节点800可对应于上述各个方法实施例中的第二网络设备,第一节点800中的处理器801读取存储器803中的指令,使图15所示的第一节点800能够执行第二网络设备所执行的全部或部分操作。
具体的,处理器801用于通过通信接口接收第一网络设备发送的指示信息;根据指示信息确定至少一个远端服务器的状态。
其他可选的实施方式,为了简洁,在此不再赘述。
第一节点800还可以对应于上述图13所示的报文转发的装置,报文转发的装置中的每个功能模块采用第一节点800的软件实现。换句话说,报文转发的装置包括的功能模块为第一节点800的处理器801读取存储器803中存储的程序代码810后生成的。
其中,图6、图8所示的报文转发的方法的各步骤通过第一节点800的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
图16示出了本申请一个示例性实施例提供的第二节点900的结构示意图。图16所示的第二节点900用于执行上述图7、图8所示的报文转发的方法所涉及的操作。该第二节点900例如是路由器、交换机等,该第二节点900可以由一般性的总线体系结构来实现。
如图16所示,第二节点900包括至少一个处理器901、存储器903以及至少一个通信接口904。
处理器901例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processingunits,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器901包括专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,第二节点900还包括总线。总线用于在第二节点900的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器903例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器903例如是独立存在,并通过总线与处理器901相连接。存储器903也可以和处理器901集成在一起。
通信接口904使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口904可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口904可以为以太(Ethernet)接口、快速以太(Fast Ethernet,FE)接口、千兆以太(GigabitEthernet,GE)接口,异步传输模式(Asynchronous Transfer Mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口904可以用于第二节点900与其他设备进行通信。
在具体实现中,作为一种实施例,处理器901可以包括一个或多个CPU,如图16中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,第二节点900可以包括多个处理器,如图16中所示的处理器901和处理器905。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,第二节点900还可以包括输出设备和输入设备。输出设备和处理器901通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器901通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器903用于存储执行本申请方案的程序代码910,处理器901可以执行存储器903中存储的程序代码910。也即是,第二节点900可以通过处理器901以及存储器903中的程序代码910,来实现方法实施例提供的报文转发的方法。程序代码910中可以包括一个或多个软件模块。可选地,处理器901自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的第二节点900可对应于上述各个方法实施例中的第一网络设备,第二节点900中的处理器901读取存储器903中的指令,使图16所示的第二节点900能够执行第一网络设备所执行的全部或部分操作。
具体的,处理器901用于通过通信接口向至少一个远端服务器发送探测报文,该探测报文包括DHCP报文或DHCPv6报文;根据至少一个远端服务器的响应情况确定至少一个远端服务器的状态。
其他可选的实施方式,为了简洁,在此不再赘述。
又例如,本申请实施例的第二节点900可对应于上述各个方法实施例中的第二网络设备,第二节点900中的处理器901读取存储器903中的指令,使图16所示的第二节点900能够执行第二网络设备所执行的全部或部分操作。
具体的,处理器901用于通过通信接口接收第一网络设备发送的指示信息;根据指示信息确定至少一个远端服务器的状态。
其他可选的实施方式,为了简洁,在此不再赘述。
第二节点900还可以对应于上述图14所示的报文转发的装置,报文转发的装置中的每个功能模块采用第二节点900的软件实现。换句话说,报文转发的装置包括的功能模块为第二节点900的处理器901读取存储器903中存储的程序代码910后生成的。
其中,图7、图8所示的报文转发的方法的各步骤通过第二节点900的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
本申请实施例还提供了一种芯片,包括处理器,处理器用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请提供的任一种的报文转发的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述任一种的报文转发的方法。
应理解的是,上述处理器可以是CPU,还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持ARM架构的处理器。
进一步地,在一种可选的实施例中,上述处理器为一个或多个,存储器为一个或多个。可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储参考块和目标块。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、PROM、EPROM、EEPROM或闪存。易失性存储器可以是RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,SRAM、DRAM、SDRAM、DDR SDRAM、ESDRAM、SLDRAM和DR RAM。
本申请实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中存储的计算机指令被计算机设备执行时,使得计算机设备执行上述所提供的报文转发的方法。
本申请实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述所提供的报文转发的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (21)

1.一种转发报文的方法,其特征在于,所述方法包括:
第一节点接收第一报文;
所述第一节点基于所述第一报文向第二节点发送第二报文,所述第二报文的源地址是所述第一报文的源地址经过转换得到的,所述第二报文的目的地址为所述第一报文的目的地址,所述第二报文的报文载荷为所述第一报文的报文载荷,所述第二报文还包括会话标识,所述会话标识用于供所述第二节点转发所述第二报文。
2.根据权利要求1所述转发报文的方法,其特征在于,所述会话标识用于供所述第二节点执行负载分担。
3.根据权利要求1或2所述的转发报文的方法,其特征在于,所述会话标识包括所述第一报文的源地址;
或者,所述会话标识包括所述第二报文对应的第一应用感知标识。
4.根据权利要求3所述的转发报文的方法,其特征在于,当所述会话标识包括所述第一应用感知标识时,所述第一报文还包括所述第一应用感知标识。
5.根据权利要求1至4任一项所述的转发报文的方法,其特征在于,所述第二报文为互联网协议第6版IPv6报文,所述会话标识位于所述第二报文的扩展报文头中;
或者,所述第二报文为互联网协议第4版IPv4报文,所述会话标识位于所述第二报文的选项字段中。
6.根据权利要求5所述的转发报文的方法,其特征在于,所述扩展报文头为逐跳选项报文头HBH或新增扩展报文头。
7.一种转发报文的方法,其特征在于,所述方法包括:
第二节点从第一节点接收第一报文,所述第一报文包括第一会话标识;
所述第二节点基于所述第一会话标识,发送所述第一报文。
8.根据权利要求7所述转发报文的方法,其特征在于,所述第一会话标识用于供所述第二节点执行负载分担。
9.根据权利要求7或8所述的转发报文的方法,其特征在于,所述第一报文的源地址是第二报文的源地址经过转换得到的,所述第一报文的目的地址为所述第二报文的目的地址,所述第一报文的报文载荷为所述第二报文的报文载荷;
所述第一会话标识包括所述第二报文的源地址;
或者,所述第一会话标识包括所述第一报文对应的第一应用感知标识。
10.根据权利要求9所述的转发报文的方法,其特征在于,当所述第一会话标识包括第二报文的源地址时,所述第一会话标识还包括所述第二报文的目的地址,
或者,所述第一会话标识还包括所述第二报文的目的地址以及所述第二报文的源端口,
或者,所述第一会话标识还包括所述第二报文的目的地址以及所述第二报文的源端口和目的端口。
11.根据权利要求7至10任一项所述的转发报文的方法,其特征在于,所述第二节点接收到的所述第一报文为IPv6报文,所述第一会话标识位于所述第一报文的扩展报文头中;
或者,所述第一节点接收到的所述第一报文为IPv4报文,所述第一会话标识位于所述第一报文的选项字段中。
12.根据权利要求7至11任一项所述的转发报文的方法,其特征在于,所述第二节点基于所述第一会话标识,发送所述第一报文,包括:
所述第二节点基于所述第一会话标识生成会话表,所述会话表包括键Key值和下一跳信息,所述Key值包括第一会话标识;
所述第二节点基于所述第一会话标识对应的Key值查询到所述下一跳信息,根据所述下一跳信息发送所述第一报文。
13.根据权利要求12所述的转发报文的方法,其特征在于,所述第二节点为算力优先网络的入口路由器,所述第二节点基于所述第一会话标识生成会话表,包括:
所述第二节点获取所述算力优先网络中提供第一服务的多个第三节点的算力信息,所述第一服务为所述第一报文对应的服务;
所述第二节点根据所述多个第三节点的算力信息,从所述多个第三节点中确定目标节点,所述目标节点满足算力条件;
所述第二节点基于所述目标节点确定所述下一跳信息,所述下一跳信息用于将报文发送至所述目标节点;
所述第二节点基于所述下一跳信息和所述第一会话标识生成所述会话表。
14.根据权利要求12所述的转发报文的方法,其特征在于,所述第二节点为负载均衡网络的负载均衡节点,所述第二节点基于所述第一会话标识生成会话表,包括:
所述第二节点获取所述负载均衡网络中提供第一服务的多个第三节点的负载信息,所述第一服务为所述第一报文对应的服务;
所述第二节点根据所述多个第三节点的负载信息,从所述多个第三节点中确定目标节点,所述目标节点满足负载条件;
所述第二节点基于所述目标节点确定所述下一跳信息,所述下一跳信息用于将报文发送至所述目标节点;
所述第二节点基于所述下一跳信息和所述第一会话标识生成所述会话表。
15.根据权利要求7至14任一项所述的转发报文的方法,其特征在于,所述第二节点发送的所述第一报文包括所述第一会话标识。
16.根据权利要求7至15任一项所述的转发报文的方法,其特征在于,所述方法还包括:
所述第二节点从所述第一节点接收第三报文,所述第三报文包括所述第一会话标识;
所述第二节点基于所述第一会话标识将所述第三报文发送到与所述第一报文相同的目的节点。
17.根据权利要求7至16任一项所述的转发报文的方法,其特征在于,所述方法还包括:
所述第二节点从所述第一节点接收第四报文,所述第四报文包括第二会话标识,所述第二会话标识与所述第一会话标识不同;
所述第二节点基于所述第二会话标识,发送所述第四报文,以使所述第四报文和所述第一报文被发送到不同的服务节点。
18.一种第一节点,其特征在于,所述第一节点包括处理器和存储器;所述存储器用于存储软件程序,所述处理器通过执行存储在所述存储器内的软件程序,以使所述第一节点实现如权利要求1至6任一项所述的方法。
19.一种第二节点,其特征在于,所述第二节点包括处理器和存储器;所述存储器用于存储软件程序,所述处理器通过执行存储在所述存储器内的软件程序,以使所述第二节点实现如权利要求7至17任一项所述的方法。
20.一种转发报文的系统,其特征在于,所述转发报文的系统包括第一节点和第二节点,所述第一节点用于执行如权利要求1至6任一项所述的方法,所述第二节点用于执行如权利要求7至17任一项所述的方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储处理器所执行的程序代码,所述程序代码包括用于实现如权利要求1至6任一项所述的方法的指令,或者所述程序代码包括用于实现如权利要求7至17任一项所述的方法的指令。
CN202110722092.4A 2021-06-28 2021-06-28 报文转发的方法、装置及系统 Pending CN115604172A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110722092.4A CN115604172A (zh) 2021-06-28 2021-06-28 报文转发的方法、装置及系统
EP22831901.8A EP4195621A4 (en) 2021-06-28 2022-06-24 MESSAGE FORWARDING METHOD, APPARATUS AND SYSTEM
PCT/CN2022/101268 WO2023274087A1 (zh) 2021-06-28 2022-06-24 报文转发的方法、装置及系统
US18/312,198 US20230275830A1 (en) 2021-06-28 2023-05-04 Packet forwarding method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110722092.4A CN115604172A (zh) 2021-06-28 2021-06-28 报文转发的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN115604172A true CN115604172A (zh) 2023-01-13

Family

ID=84690059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110722092.4A Pending CN115604172A (zh) 2021-06-28 2021-06-28 报文转发的方法、装置及系统

Country Status (4)

Country Link
US (1) US20230275830A1 (zh)
EP (1) EP4195621A4 (zh)
CN (1) CN115604172A (zh)
WO (1) WO2023274087A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304436A (zh) * 2008-07-07 2008-11-12 杭州华三通信技术有限公司 实现应用层会话持续性的负载均衡方法、系统及设备
US8819275B2 (en) * 2012-02-28 2014-08-26 Comcast Cable Communications, Llc Load balancing and session persistence in packet networks
CN103428229A (zh) * 2012-05-14 2013-12-04 百度在线网络技术(北京)有限公司 数据中心系统、装置及提供服务的方法
US10091099B2 (en) * 2016-05-31 2018-10-02 128 Technology, Inc. Session continuity in the presence of network address translation
WO2018049691A1 (zh) * 2016-09-19 2018-03-22 华为技术有限公司 一种会话保持方法、设备及存储介质

Also Published As

Publication number Publication date
EP4195621A4 (en) 2024-04-10
EP4195621A1 (en) 2023-06-14
US20230275830A1 (en) 2023-08-31
WO2023274087A1 (zh) 2023-01-05

Similar Documents

Publication Publication Date Title
US10917351B2 (en) Reliable load-balancer using segment routing and real-time application monitoring
KR102514250B1 (ko) 모바일 에지 컴퓨팅 노드를 선택하기 위한 방법, 장치 및 시스템
US20240022650A1 (en) Computing power application traffic forwarding method and apparatus
US11700574B2 (en) Systems and methods for producer network function discovery in a wireless network based on geographic location
Qi et al. Assessing container network interface plugins: Functionality, performance, and scalability
US11665263B2 (en) Network multi-path proxy selection to route data packets
CN116405461A (zh) 一种数据处理方法、网元设备以及可读存储介质
US11800587B2 (en) Method for establishing subflow of multipath connection, apparatus, and system
JP2017147733A (ja) DiameterシグナリングルータにおいてDiameterメッセージをルーティングするための方法、システムおよびコンピュータ読取可能媒体
EP3741089B1 (en) Method for prioritization of internet traffic by finding appropriate internet exit points
JP2019121975A (ja) 通信方法、通信システム、mecサーバ、dnsサーバ、および、トラフィック誘導ルータ
US20240048477A1 (en) Packet forwarding method, apparatus, and system, and computer-readable storage medium
Pirmagomedov et al. Augmented computing at the edge using named data networking
CN113825251A (zh) 会话建立方法、装置、系统及计算机存储介质
EP4203425A1 (en) Method, device and system for forwarding message
CN112968965B (zh) Nfv网络节点的元数据服务方法、服务器及存储介质
EP4165904A1 (en) Access traffic management
US11870683B2 (en) 3GPP network function set adaptation for pre-5G network elements
WO2023274087A1 (zh) 报文转发的方法、装置及系统
CN114980243A (zh) 一种数据转发方法、装置及存储介质
CN112887185B (zh) 一种叠加网络的通信方法及装置
CN114826898A (zh) 跨主机通信方法、装置、设备、系统及可读存储介质
WO2023005745A1 (zh) 报文转发方法、装置及系统、计算机可读存储介质
CN113973086B (zh) 一种数据传输方法、装置及存储介质
CN116471226A (zh) 一种报文处理方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination