掌桥专利:专业的专利平台
掌桥专利
首页

数据发送方法、数据接收方法、交换机及网关服务器

文献发布时间:2023-06-19 19:30:30


数据发送方法、数据接收方法、交换机及网关服务器

技术领域

本申请实施例涉及边缘计算领域,特别涉及一种数据发送方法、数据接收方法、交换机及网关服务器。

背景技术

边缘计算是指在数据源头附近,采用网络、计算、存储、应用核心能力为一体的开放平台就近提供最近端服务。常见的边缘计算场景包括在线教育、直播等等。

为了满足边缘计算场景中边缘节点之间大流量,高安全性的通信要求,相关技术中通常采用网关服务器方案实现边缘节点之间的数据传输。在一些实现方式中,各个边缘节点中设置有网关服务器集群,从而利用网关服务器集群进行业务数据的处理以及传输。比如,在线教育场景下,网关服务器集群对业务数据进行加密处理,并通过公网将加密后的业务数据发送至其它边缘节点的网关服务器集群,提高业务数据在公网中传输的安全性。并且,由于网关服务器的带宽有限,因此边缘节点中设置的网关服务器集群通常需要包含大量网关服务器,以满足大流量传输需求(比如直播场景)。

然而,在非大流量传输场景下,网关服务器集群中仅少量网关服务器处于工作状态,导致网关服务器的利用率较低,造成边缘节点的资源浪费。

发明内容

本申请实施例提供了一种数据发送方法、数据接收方法、交换机及网关服务器,能够基于业务类型将业务数据交由相应的设备进行处理转发,提高边缘节点的资源利用率。所述技术方案如下:

一方面,本申请实施例提供了一种数据发送方法,所述方法用于第一边缘节点中的第一交换机,所述方法包括:

接收所述第一边缘节点中第一业务服务器发送的业务数据包;

基于所述业务数据包的业务类型,确定所述业务数据包的下一跳设备,所述下一跳设备包括所述第一边缘节点中的第一网关服务器或第二边缘节点中的第二交换机,所述第一网关服务器用于对所述业务数据包进行业务处理;

向所述下一跳设备发送所述业务数据包;

在所述下一跳设备为所述第一网关服务器的情况下,接收所述第一网关服务器发送的处理后的所述业务数据包;

向所述第二交换机发送处理后的所述业务数据包。

另一方面,本申请实施例提供了一种数据发送方法,所述方法用于第一边缘节点中的第一网关服务器,所述方法包括:

接收所述第一边缘节点中第一交换机发送的业务数据包,所述业务数据包由所述第一交换机基于所述业务数据包的业务类型,确定所述业务数据包的下一跳设备为所述第一网关服务器时发送的;

对所述业务数据包进行业务处理;

向所述第一交换机发送处理后的所述业务数据包,以便所述第一交换机向第二边缘节点中的第二交换机发送处理后的所述业务数据包。

另一方面,本申请实施例提供了一种数据接收方法,所述方法用于第二边缘节点中的第二交换机,所述方法包括:

接收第一边缘节点中第一交换机发送的业务数据包;

确定所述业务数据包的下一跳设备,所述下一跳设备包括所述第二边缘节点中的第二业务服务器或第二网关服务器,所述第二网关服务器用于对所述业务数据包进行业务处理,并将处理后的业务数据包发送至所述第二业务服务器;

向所述下一跳设备发送所述业务数据包。

可选的,所述确定所述业务数据包的下一跳设备,包括:

对所述业务数据包的第二五元组进行解封装,确定所述业务数据包中的第一五元组,所述第二五元组由所述第一交换机对所述业务数据包进行封装时添加;

基于所述第一五元组确定所述下一跳设备。

可选的,所述基于所述第一五元组确定所述下一跳设备,包括:

基于所述第一五元组在路由表中查询下一跳地址;

当查询到下一跳地址时,确定所述下一跳设备为所述第二业务服务器;

当未查询到下一跳地址时,确定所述下一跳设备为所述第二网关服务器。

另一方面,本申请实施例提供了一种数据接收方法,所述方法用于第二边缘节点中的第二网关服务器,所述方法包括:

接收所述第二边缘节点中第二交换机发送的业务数据包,所述业务数据包由所述第二交换机确定下一跳设备为所述第二网关服务器时发送;

对所述业务数据包进行业务处理,得到处理后的所述业务数据包;

向所述第二边缘节点中的第二业务服务器发送处理后的所述业务数据包。

可选的,所述对所述业务数据包进行业务处理,得到处理后的所述业务数据包,包括:

确定所述业务数据包的业务类型;

当所述业务数据包的业务类型为安全通信业务时,对所述业务数据包进行解密处理,得到解密后的所述业务数据包;

当所述业务数据包的业务类型为地址转换业务时,对所述业务数据包进行地址转换处理,得到地址转换后的所述业务数据包。

可选的,所述对所述业务数据包进行地址转换处理,得到地址转换后的所述业务数据包,包括:

获取所述业务数据包的第一五元组;

基于地址转换关系,将所述第一五元组中的目的公网地址转换为目的内网地址,得到地址转换后的所述业务数据包;

所述向所述第二边缘节点中的第二业务服务器发送处理后的所述业务数据包,包括:

基于所述目的内网地址,向所述第二业务服务器发送地址转换后的所述业务数据包。

另一方面,本申请实施例提供了一种数据发送装置,所述装置包括:

接收模块,用于接收第一边缘节点中第一业务服务器发送的业务数据包;

确定模块,用于基于所述业务数据包的业务类型,确定所述业务数据包的下一跳设备,所述下一跳设备包括所述第一边缘节点中的第一网关服务器或第二边缘节点中的第二交换机,所述第一网关服务器用于对所述业务数据包进行业务处理;

发送模块,用于向所述下一跳设备发送所述业务数据包;

所述接收模块,还用于在所述下一跳设备为所述第一网关服务器的情况下,接收所述第一网关服务器发送的处理后的所述业务数据包;

所述发送模块,还用于向所述第二交换机发送处理后的所述业务数据包。

可选的,所述确定模块,用于:

当所述业务数据包的业务类型属于流量转发业务时,确定所述业务数据包的所述下一跳设备为所述第二交换机;

当所述业务数据包的业务类型不属于流量转发业务时,确定所述业务数据包的所述下一跳设备为所述第一网关服务器。

可选的,在所述下一跳设备为所述第二交换机的情况下,所述发送模块,用于:

获取所述业务数据包的第一五元组;

基于所述第一五元组从路由表中查询下一跳地址;

基于查询到的所述下一跳地址以及所述第一交换机的交换机地址生成第二五元组;

通过所述第二五元组封装所述业务数据包;

向所述第二交换机发送封装后的所述业务数据包。

可选的,在所述下一跳设备为所述第一网关服务器的情况下,所述发送模块,还用于:

基于所述业务数据包的业务类型,确定所述第一网关服务器的目标端口,其中,不同业务类型对应不同端口;

向所述第一网关服务器的所述目标端口发送所述业务数据包,以便所述第一网关服务器基于所述目标端口确定所述业务数据包的业务类型。

可选的,所述基于所述业务数据包的业务类型,确定所述第一网关服务器的目标端口时,所述发送模块,还用于:

当所述业务数据包的业务类型为安全通信业务时,将第一端口确定为所述目标端口,所述第一网关服务器用于对通过所述第一端口接收到的业务数据包进行加密处理;

当所述业务数据包的业务类型为地址转换业务时,将第二端口确定为所述目标端口,所述第一网关服务器用于对通过所述第二端口接收到的业务数据包进行地址转换处理。

可选的,在所述下一跳设备为所述第一网关服务器的情况下,所述发送模块,还用于:

基于处理后的所述业务数据包的五元组,从路由表中查询下一跳地址;

基于所述下一跳地址以及所述第一交换机的交换机地址生成第二五元组;

通过所述第二五元组封装处理后的所述业务数据包;

向所述第二交换机发送封装后的所述业务数据包。

另一方面,本申请实施例提供了一种数据发送装置,所述装置包括:

接收模块,用于接收第一边缘节点中第一交换机发送的业务数据包,所述业务数据包由所述第一交换机基于所述业务数据包的业务类型,确定所述业务数据包的下一跳设备为第一网关服务器时发送的;

处理模块,用于对所述业务数据包进行业务处理;

发送模块,用于向所述第一交换机发送处理后的所述业务数据包,以便所述第一交换机向第二边缘节点中的第二交换机发送处理后的所述业务数据包。

可选的,处理模块,用于:

基于接收所述业务数据包的目标端口,确定所述业务数据包的业务类型;

基于所述业务数据包的业务类型对所述业务数据包进行业务处理。

可选的,处理模块,用于:

当所述目标端口为第一端口时,确定所述业务数据包的业务类型为安全通信业务;

当所述业务数据包的业务类型为安全通信业务时,对所述业务数据包进行加密处理;

当所述目标端口为第二端口时,确定所述业务数据包的业务类型为地址转换业务;

当所述业务数据包的业务类型为地址转换业务时,对所述业务数据包进地址转换处理。

另一方面,本申请实施例提供了一种数据接收装置,所述装置包括:

接收模块,用于接收第一边缘节点中第一交换机发送的业务数据包;

确定模块,用于确定所述业务数据包的下一跳设备,所述下一跳设备包括第二边缘节点中的第二业务服务器或第二网关服务器,所述第二网关服务器用于对所述业务数据包进行业务处理,并将处理后的业务数据包发送至所述第二业务服务器;

发送模块,用于向所述下一跳设备发送所述业务数据包。

可选的,确定模块,用于:

对所述业务数据包的第二五元组进行解封装,确定所述业务数据包中的第一五元组,所述第二五元组由所述第一交换机对所述业务数据包进行封装时添加,且所述第二五元组位于所述第一五元组的外层;

基于所述第一五元组确定所述下一跳设备。

可选的,所述基于所述第一五元组确定所述下一跳设备时,确定模块,用于:

基于所述第一五元组在路由表中查询下一跳地址;

当查询到下一跳地址时,确定所述下一跳设备为所述第二业务服务器;

当未查询到下一跳地址时,确定所述下一跳设备为所述第二网关服务器。

另一方面,本申请实施例提供了一种数据接收装置,所述装置包括:

接收模块,用于接收第二边缘节点中第二交换机发送的业务数据包,所述业务数据包由所述第二交换机确定下一跳设备为第二网关服务器时发送;

处理模块,用于对所述业务数据包进行业务处理,得到处理后的所述业务数据包;

发送模块,用于向所述第二边缘节点中的第二业务服务器发送处理后的所述业务数据包。

可选的,处理模块,用于:

确定所述业务数据包的业务类型;

当所述业务数据包的业务类型为安全通信业务时,对所述业务数据包进行解密处理,得到解密后的所述业务数据包;

当所述业务数据包的业务类型为地址转换业务时,对所述业务数据包进行地址转换处理,得到地址转换后的所述业务数据包。

可选的,所述对所述业务数据包进行地址转换处理,得到地址转换后的所述业务数据包时,处理模块,用于:

获取所述业务数据包的第一五元组;

基于地址转换关系,将所述第一五元组中的目的公网地址转换为目的内网地址,得到地址转换后的所述业务数据包;

所述发送模块,用于:

基于所述目的内网地址,向所述第二业务服务器发送地址转换后的所述业务数据包。

另一方面,本申请实施例提供了一种通信系统,所述通信系统包括第一边缘节点和第二边缘节点,所述第一边缘节点中设置有第一业务服务器集群、第一网关服务器集群和第一交换机集群,所述第二边缘节点中设置有第二业务服务器集群、第二网关服务器集群和第二交换机集群;

所述第一交换机集群中的第一交换机用于实现上述方面所述数据发送方法;

所述第一网关服务器集群中的第一网关服务器用于实现上述方面所述的数据发送方法;

所述第二交换机集群中的第二交换机用于实现上述方面所述的数据接收方法;

所述第二网关服务器集群中的第二网关服务器用于实现上述方面所述的数据接收方法。

另一方面,本申请实施例提供了一种交换机,所述交换机包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上述方面所述的数据发送方法,或,数据接收方法。

另一方面,本申请实施例提供了一种网关服务器,所述网关服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上述方面所述的数据发送方法,或,数据接收方法。

另一方面,本申请实施例提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上述方面所述的数据发送方法,或,数据接收方法。

另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的数据发送方法,或,数据接收方法。

本申请实施例中,边缘节点中的交换机接收到业务服务器发送的业务数据包后,基于业务数据包的业务类型,将业务数据包发送至下一跳设备,在下一跳设备为边缘节点中的网关服务器时,通过网关服务器对业务数据包进行处理,并进一步通过交换机传输处理后的业务数据包,既能够满足数据传输过程中的大流量带宽需求,又能够满足安全性需求;此外,利用交换机实现大流量数据传输,能够减少网关服务器集群中网关服务器的数量,提高网关服务器的利用率,避免造成边缘节点的资源浪费。

附图说明

图1示出了本申请一个示例性实施例提供的实施环境的示意图;

图2示出了本申请一个示例性实施例提供的数据发送方法的流程图;

图3示出了本申请另一个示例性实施例提供的数据发送方法的流程图;

图4示出了本申请另一个示例性实施例提供的数据发送方法的流程图;

图5是本申请一个示例性实施例示出的数据发送过程的实施示意图;

图6示出了本申请一个示例性实施例提供的数据接收方法的流程图;

图7示出了本申请另一个示例性实施例提供的数据接收方法的流程图;

图8是本申请一个示例性实施例示出的数据接收过程的实施示意图;

图9是本申请一个示例性实施例提供的数据发送装置的结构框图;

图10是本申请另一个示例性实施例提供的数据发送装置的结构框图;

图11是本申请一个示例性实施例提供的数据接收装置的结构框图;

图12是本申请另一个示例性实施例提供的数据接收装置的结构框图;

图13是本申请一个示例性实施例提供的交换机的结构示意图;

图14是本申请一个示例性实施例提供的网关服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

相关技术中,采用网关服务器方案实现边缘节点之间的数据传输时,各个边缘节点中需要设置网关服务器集群。当业务对安全性需求较高时,网关服务器集群中的网关服务器首先对业务数据包进行加密处理,然后对加密后的业务数据包进行传输,避免公网传输过程中业务数据包被截取造成信息泄露。由于网关服务器的带宽能力有限,且需要考虑到流量容灾以及主备可靠特性,网关服务器集群中需要包含大量网关服务器。

比如,当单台网关服务器的传输带宽为100Gbps时,考虑到50%的流量容灾以及主备机设置,实际提供100Gbps的传输能力需要4台网关服务器。而对于大流量场景,例如视频直播场景,所需的传输能力往往能够达到10Tbps,此时需要400台网关服务器才能满足需求。

显然,为了适用不同的业务场景,网关服务器方案下,需要在各个边缘节点部署由大量网关服务器(且执行单一功能)构成的网关服务器集群,部署成本较高。并且,在非大流量场景下,网关服务器集群中仅少量网关服务器处于工作状态,导致网关服务器的利用率较低,造成边缘节点的资源浪费。

为了能够适用于不同业务场景,并边缘节点的资源利用率,本申请实施例提供了一种软硬结合实现边缘节点间通信的方案。该方案下,边缘节点中除了设置有网关服务器集群外,还设置有交换机集群,其中,网关服务器集群用于实现软件方案,而交换机集群则用于实现硬件方案;交换机相较于网关服务器具有更强的带宽能力,能够满足大流量需求,而网关服务器相较于交换机具有更强的芯片处理能够,能够满足加解密、地址转换等需求,两者相互配合即能够适用于各种业务场景。

数据传输过程中,业务服务器首先将业务数据包发送至交换机,在大流量场景下,借助交换机的高吞吐特性,可以直接通过交换机将业务数据包发送至其他边缘节点的交换机;在安全通信场景下,交换机将业务数据包转发至网关服务器,由网关服务器对业务数据包进行进一步处理,并将处理后的业务数据包发送至交换机,最终由交换机将处理后的业务数据包发送至其他边缘节点的交换机。

利用“交换机+网关服务器”,既能够满足大带宽的业务需求,又能够满足高安全性的业务需求,且在边缘节点中设置交换机集群后,能够减少网关服务器集群中网关服务器的数量,有助于提高网关服务器的利用率,并降低了边缘节点的部署成本。

图1示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括第一边缘节点110和第二边缘节点120,第一边缘节点110中设置有第一业务服务器集群111、第一网关服务器集群112以及第一交换机集群113,第二边缘节点120中设置有第二业务服务器集群121、第二网关服务器集群122以及第二交换机集群123。其中,边缘节点中的设备通过通信网络进行数据通信,可选的,通信网络可以是有线网络也可以是无线网络,且该通信网络可以是局域网、城域网以及广域网中的至少一种;边缘节点之间通过交换机进行数据通信,且交换机之间通过公网进行数据通信。

第一边缘节点110和第二边缘节点120可以是设置在不同地理位置的边缘计算站点,且边缘节点为就近区域内的设备提供服务。比如,第一边缘节点110为设置在上海的边缘计算站点,第二边缘节点120为设置在北京的边缘计算站点,第一边缘节点110为华东区域内的设备提供服务,第二边缘节点120为华北区域内的设备提供服务。

第一业务服务器集群111和第二业务服务器集群121均是由若干业务服务器构成的集群,用于为接入的设备提供相应的服务。比如,业务服务器提供的服务可以包括视频直播、在线教育等等,本申请实施例对业务服务器提供的服务不作限定。

在一些场景下,不同边缘节点之间的业务数据需要进行交互,以保证不同边缘节点之间的业务数据的一致性。比如,在视频直播场景下,不同边缘节点中业务服务器接收到的视频互动数据(比如弹幕数据)需要进行交互,保证不同区域内直播观众所看到的视频互动数据的一致性。

第一网关服务器集群112和第二网关服务器集群122均是由若干网关服务器构成的集群。在一些实施例中,网关服务器用于基于业务需求对业务数据进行处理。比如,当业务具有安全性需求时,网关服务器对业务数据进行加解密处理;当业务需要实现网络地址转换(Network Address Translation,NAT)访问时,网关服务器对业务数据进行地址转换处理。当然,网关服务器除了具备上述功能外,还可以根据业务需求实现其他功能,本实施例对此不作限定。

第一交换机集群113和第二交换机集群123均是由若干交换机构成的集群,而交换机则用于在边缘节点之间实现数据通信。可选的,该交换机为可编程交换机,且可编程交换机上根据不同的业务配置不同路由。进一步的,进行数据发送时,交换机基于业务数据包的业务类型,可以直接向其他交换机传输业务数据包,或者,将业务数据包转发给网关服务器进行处理,从而将处理后的业务数据包传输至其他交换机。

在一种可能的应用场景下,如图1所示,当第一业务服务器集群111需要向第二业务服务器集群121传输业务数据时,第一业务服务器集群111中的第一业务服务器首先将业务数据包发送至第一交换机集群113中的第一交换机。第一交换机基于业务数据包的业务类型,并基于业务类型确定下一跳设备。当下一跳设备为第二边缘节点120中的第二交换机时,第一交换机对业务数据包进行隧道封装后,向第二交换机传输业务数据包;当下一跳设备为第一网关服务器集群112中的第一网关服务器时,第一交换机将业务数据包转发至第一网关服务器进行处理,并将处理后的业务数据包发送至第二交换机。

第二交换机集群123中的第二交换机接收到来自第一边缘节点110的业务数据包后,若匹配到下一跳地址,则基于下一跳地址将业务数据包发送至第二业务服务器集群121;若未匹配到下一跳地址,则将业务数据包转发至第二网关服务器集群122中的第二网关服务器,由第二网关服务器对业务数据包进行处理,最终将处理后的业务数据包发送至第二业务服务器集群121。

需要说明的是,上述实施例仅以第一边缘节点110向第二边缘节点120传输业务数据进行说明,在实际应用中,当第二边缘节点120需要向第一边缘节点110传输业务数据时,第二边缘节点120中的第二交换机集群123和第二网关服务器集群122配合实现数据发送,第一边缘节点110中的第一交换机集群113和第一网关服务器集群112配合实现数据接收,本实施例在此不作赘述。

图2示出了本申请一个示例性实施例提供的数据发送方法的流程图。本实施例以该方法用于图1所示实施环境中的第一交换机以及第一网关服务器为例进行说明,该方法可以包括:

201,第一交换机接收第一边缘节点中第一业务服务器发送的业务数据包。

由于交换机相较于网关服务器具有更强的数据转发能力和更大的带宽,因此当第一边缘节点需要向第二边缘节点传输业务数据时,第一边缘节点中的第一业务服务器将业务数据包发送至第一交换机,由第一交换机实现各种类型业务的对外访问,避免在大流量场景下,业务服务器直接将业务数据包发送至网关服务器后,网关服务器需要将业务数据包转发至交换机造成不必要的传输消耗。

可选的,业务数据包由业务数据以及互联网协议(Internet Protocol,IP)包头构成,该IP包头用于表征业务数据包的源端、目的端以及采用的协议。在一些实施例中,该IP包头中通过五元组指示上述信息。

202,第一交换机基于业务数据包的业务类型,确定业务数据包的下一跳设备,下一跳设备包括第一边缘节点中的第一网关服务器或第二边缘节点中的第二交换机,第一网关服务器用于对业务数据包进行业务处理。

在一种可能的实施方式中,预先针对不同类型的业务在交换机上配置不同的路由。第一交换机接收到业务数据包后,首先确定业务数据包的业务类型,确定业务数据包的下一跳设备。

本实施例中,业务数据包的下一跳设备可以为第二边缘节点中的第二交换机,也可以为第一边缘节点中的第一网关服务器。可选的,当业务数据包无需网关服务器进一步处理时,第一交换机将第二交换机确定为下一跳设备;而当业务数据需要由网关服务器进行进一步处理时,第一交换机将第一网关服务器确定为下一跳设备,以便通过第一网关服务器对待发送的业务数据包进行处理。

203,第一交换机向下一跳设备发送业务数据包。

在一种可能的实施方式中,第一交换机通过公网向第二交换机发送业务数据包,或者,第一交换机通过边缘站点内部网络向第一网关服务器发送业务数据包。

204,第一网关服务器接收第一边缘节点中第一交换机发送的业务数据包。

当业务数据包的业务类型为需要网关服务器处理的业务类型时,第一网关服务器即可接收到第一交换机发送的业务数据包。

205,第一网关服务器对业务数据包进行业务处理。

进一步的,第一网关服务器基于业务数据包的业务处理需求,对其进行业务处理。可选的,第一网关服务器基于业务数据的业务类型,对业务数据包进行业务处理。

在一些实施例中,当业务数据包所属的业务具有加密需求时,第一网关服务器对业务数据包进行加密处理,比如对业务数据包进行互联网协议安全(Internet ProtocolSecurity,IPSec)加密处理;当业务数据包所属的业务具有NAT访问需求时,第一网关服务器对业务数据包进行地址转换处理。本申请实施例并不对第一网关服务器的业务处理方式进行限定。

206,第一网关服务器向第一交换机发送处理后的业务数据包。

由于边缘节点通过交换机实现业务对外访问,因此完成业务处理后,第一网关服务器向第一交换机反馈处理后的业务数据包,由第一交换机进一步向第二边缘节点传输业务数据包。

207,在下一跳设备为第一网关服务器的情况下,第一交换机接收第一网关服务器发送的处理后的业务数据包。

当下一跳设备为第一网关服务器时,第一交换机发送业务数据包后,等待第一网关服务器反馈处理后的业务数据包。需要说明的是,处理前后业务数据包中的业务数据的实际内容并未变化。

在一种可能的实施方式中,若在发送业务数据后的预设时长内未接收到第一网关服务器反馈的业务数据包,第一交换机可以指示网关服务器集群切换主备网关服务器,从而由其他网关服务器重新对业务数据包进行业务处理。

208,第一交换机向第二交换机发送处理后的业务数据包。

进一步的,第一交换机将处理后的业务数据包发送至第二交换机,实现当前业务数据包的发送,并继续执行下一业务数据包的发送。

综上所述,本申请实施例中,边缘节点中的交换机接收到业务服务器发送的业务数据包后,基于业务数据包的业务类型,将业务数据包发送至下一跳设备,在下一跳设备为其他边缘节点中的交换机时,直接通过交换机进行大流量的业务数据传输,在下一跳设备为边缘节点中的网关服务器时,通过网关服务器对业务数据包进行处理,并进一步通过交换机传输处理后的业务数据包,既能够满足数据传输过程中的大流量带宽需求,又能够满足安全性需求;此外,利用交换机实现大流量数据传输,能够减少网关服务器集群中网关服务器的数量,提高网关服务器的利用率,避免造成边缘节点的资源浪费。

在一种可能的业务场景下,当需要在边缘节点之间进行大流量业务数据转发时,比如视频直播场景下,边缘节点需要将主播的直播数据传输至其他边缘节点时,由于此类业务场景下对业务数据的安全性要求较低,无需进行传输加密(即无需网关服务器进行业务处理),因此交换机可以直接对来自业务服务器的业务数据包进行封装转发。如图3所示,业务数据包的发送流程可以包括:

301,接收第一边缘节点中第一业务服务器发送的业务数据包。

302,当业务数据包的业务类型属于流量转发业务时,确定业务数据包的下一跳设备为第二交换机。

当识别出业务数据包所属业务的业务类型为流量转发业务时,第一交换机确定自身具有独立进行业务数据传输的能力,无需通过第一网关服务器进行业务处理,并将第二交换机确定为下一跳设备。

其中,流量转发业务指具有大流量数据转发需求的业务,或者,流量峰值大于阈值(比如10Tbps)的业务,比如视频直播业务、弹幕同步业务等等,且流量转发业务可以预先经过配置,本实施例对此不作限定。

可选的,第一交换机基于业务标识确定业务数据包的业务类型,或者,基于业务服务器的服务器标识确定业务数据包的业务类型。

303,获取业务数据包的第一五元组。

本实施例中,业务数据包中包括第一五元组,该第一五元组中包含业务服务器的源地址(asrc_addr)、源端口(asrc_port),目的业务服务器(即第二业务服务器)的目的地址(adst_addr)、目的端口(adst_port),以及协议(aprotocol)。进行数据发送时,第一交换机即基于该第一五元组确定第二交换机。

304,基于第一五元组从路由表中查询下一跳地址。

在一种可能的实施方式中,交换机处预先配置有路由表,该路由表中包含五元组与下一跳地址之间的对应关系。第一交换机获取到第一五元组后,即根据第一五元组在路由表中查询对应的下一跳地址。其中,该下一跳地址中包含下一跳IP地址以及下一跳端口。在一个示意性的例子中,该路由表如表一所示。

表一

比如,当获取到的第一五元组为(asrc_addr,asrc_port,adst_addr,adst_port,aprotocol1)时,第一交换机确定下一跳地址为next_addr1(下一跳IP地址),next_port1(下一跳端口)。

305,基于查询到的下一跳地址以及第一交换机的交换机地址生成第二五元组。

由于业务数据包在发送前需要进行隧道封装,因此第一交换机基于自身的交换机地址(包括交换机IP地址和交换机端口),以及查询到的下一跳地址,生成用于封装业务数据包的第二五元组。

可选的,该第二五元组中的协议与第一五元组中的协议一致。

在一个示意性的例子中,第一交换机自身的交换机IP地址为ssrc_addr,交换机端口为ssrc_port,查询到的下一跳IP地址为next_addr,下一跳端口为next_port时,生成的第二五元组即为(ssrc_addr,ssrc_port,next_addr,next_port,aprotocol)。

306,通过第二五元组封装业务数据包,封装后的业务数据包中第二五元组位于第一五元组的外层。

进一步的,第一交换机在第一五元组的外层封装第二五元组,得到包含连续两个包头的业务数据包。结合上述示例,封装后的业务数据包的包头为(ssrc_addr,ssrc_port,next_addr,next_port,aprotocol)+(asrc_addr,asrc_port,adst_addr,adst_port,aprotocol)。

307,向第二交换机发送封装后的业务数据包。

完成隧道封装后,第一交换机基于下一跳地址将封装后的业务数据包发送至第二交换机,完成当前业务数据包的发送。

在另一种可能的业务场景下,当需要在边缘节点之间进行安全数据传输或者进行NAT访问时,比如边缘节点A需要将付费视频的视频数据传输至边缘节点B时,或者,边缘节点A与边缘节点之间需要进行NAT访问,由于交换机芯片的处理能力有限,交换机首先需要借助网关服务器对业务数据包进行业务处理后,才能进一步对处理后的业务数据包进行封装转发。如图4所示,业务数据包的发送流程可以包括:

401,第一交换机接收第一业务服务器发送的业务数据包。

402,当业务数据包的业务类型不属于流量转发业务时,第一交换机确定业务数据包的下一跳设备为第一网关服务器。

在一种可能的实施方式中,由于需要进行加解密、地址转换等业务处理的业务数据通常不需要大流量转发,因此当第一交换机识别出业务数据包的业务类型不属于流量转发业务时,第一交换机将位于同一边缘节点的第一网关服务器确定为下一跳设备。

可选的,大流量转发业务以外其他业务的下一跳路由被配置为网关服务器,第一交换机即根据第一网关服务器对应的路由信息,将业务数据包发送至第一网关服务器。

403,第一交换机基于业务数据包的业务类型,确定第一网关服务器的目标端口。

由于不同业务类型的业务数据包所需的业务处理方式不同,因此在一种可能的实施方式中,第一网关服务器设置有多个端口,且不同端口用于接收不同业务类型的业务数据包(即不同业务类型对应不同端口),以便第一网关服务器基于业务数据包的接收端口确定业务类型,进而确定业务数据包的业务处理方式。在向第一网关服务器发送业务数据包前,第一交换机基于业务类型,确定发送业务数据包时通过的目标端口。在一个示意性的例子中,端口与业务类型之间的对应关系如表二所示。

表二

可选的,响应于业务数据包的业务类型为安全通信业务,第一交换机将第一端口确定为目标端口,相应的,当第一网关服务器通过第一端口接收到第一交换机发送的业务数据包时,即可确定该业务数据包需要进行加密处理;

响应于业务数据包的业务类型为地址转换业务,第一交换机将第二端口确定为目标端口,相应的,当第一网关服务器通过第二端口接收到第一交换机发送的业务数据包时,即可确定该业务数据包需要进行地址转换处理。

需要说明的是,本申请实施例仅以上述两种业务类型以及端口为例进行说明,在其他可能的实施方式中,第一网关服务器还可以设置其他端口用于接收其他业务类型的业务数据包,本实施例对此并不构成限定。

404,第一交换机向第一网关服务器的目标端口发送业务数据包。

可选的,当业务类型为安全通信业务时,第一交换机基于第一网关服务器的服务器地址以及第一端口,向第一网关服务器发送业务数据包;当业务类型为地址转换业务时,第一交换机基于第一网关服务器的服务器地址以及第二端口,向第一网关服务器发送业务数据包。

405,第一网关服务器接收第一交换机发送的业务数据包。

对应的,第一网关服务器通过目标端口接收第一交换机发送的业务数据包。

406,第一网关服务器基于接收业务数据包的目标端口,确定业务数据包的业务类型。

由于不同业务类型的业务数据包通过不同端口接收,因此第一网关服务器可以根据接收业务数据包所通过的目标端口,确定出业务数据包的业务类型,进而确定业务数据包的业务处理方式。

可选的,响应于目标端口为第一端口,第一网关服务器确定业务数据包的业务类型为安全通信业务;响应于目标端口为第二端口,第一网关服务器确定业务数据包的业务类型为地址转换业务。

407,第一网关服务器基于业务数据包的业务类型对业务数据包进行业务处理。

进一步的,第一网关服务器基于业务类型,采用该业务类型对应的业务处理方式对业务数据包进行处理。

可选的,响应于业务数据包的业务类型为安全通信业务,第一网关服务器对业务数据包进行加密处理。

在一些实施例中,第一网关服务器对业务数据包进行IPSec加密,得到加密后的业务数据包,其中,加密后的业务数据包中除了包含原始包头外,还包含IPSec包头。当然,在其他可能的实施方式中,第一网关服务器还可以采用其他方式对业务数据包进行加密处理,本实施例对此不作限定。

可选的,响应于业务数据包的业务类型为地址转换业务,第一网关服务器对业务数据包进地址转换处理。

NAT访问场景下,业务数据包的原始五元组中,源地址为业务服务器的内网地址,交换机无法基于原始五元组从路由表中查找到下一跳地址。为了保证业务数据包的正确发送,第一网关服务器需要将源地址由内网地址转换为公网地址。在一种可能的实施方式中,第一网关服务器中设置有内网地址与公网地址之间的映射关系,当接收到地址转换业务的业务数据包时,第一网关服务器基于该映射关系,对业务数据包中的源内网地址进行公网地址转换,得到源公网地址。

在一个示意性的例子中,第一网关服务器获取到业务数据包中的原始五元组为(asrc_addr,asrc_port,adst_addr,adst_port,aprotocol),基于内网IP地址与公网IP地址的映射关系对原始五元组进行地址转换,转换后的五元组为(gwsrc_addr,asrc_port,adst_addr,adst_port,aprotocol),其中,gwsrc_addr为转换得到的公网IP地址。

408,第一网关服务器向第一交换机发送处理后的业务数据包。

完成业务处理后,第一网关服务器将第一交换机重新传输至第一交换机,交由第一交换机进行业务数据包传输。

409,第一交换机接收第一网关服务器发送的处理后的业务数据包。

410,第一交换机向第二交换机发送处理后的业务数据包。

在向第二交换机传输处理后的业务数据包前,第一交换机需要对处理后的业务数据包进行隧道封装处理,从而传输封装后的业务数据包。在一种可能的实施方式中,第一交换机基于处理后的业务数据包的五元组,从路由表中查询下一跳地址,并基于下一跳地址以及第一交换机的交换机地址生成第二五元组,从而通过第二五元组封装处理后的业务数据包,并向第二交换机发送封装后的业务数据包。

其中,第一交换机基于处理后的业务数据包的最外层五元组查询下一跳地址。比如,当处理后的业务数据包为经过IPSec加密的业务数据包时,第一交换机基于IPSec包头中的五元组查询下一跳地址;当处理后的业务数据包为经过地址转换的业务数据包时,第一交换机基于公网地址换后的五元组查询下一跳地址。

第一交换机生成第二五元组,并基于第二五元组进行隧道封装的过程可以参考上述实施例,本实施例在此不再赘述。

在一个示意性的例子中,不同业务场景下,交换机与网关服务器配合实现业务数据包发送的过程如图5所示。第一交换机集群51中的交换机接收到业务数据包后,确定业务数据包的业务类型。当业务类型为流量转发业务时,交换机直接对业务数据包进行隧道封装,并发送至对端交换机;当业务类型为安全通信业务时,交换机将业务数据包发送至第一网关服务器集群52中的网关服务器,由网关服务器对业务数据包进行加密,并将加密后的业务数据包反馈至交换机,由交换机进一步进行隧道封装后发送;当业务类型为地址转换业务时,交换机将业务数据包发送至网关服务器,由网关服务器基于内网公网地址的映射关系,对业务数据包进行地址转换,并将地址转换后的业务数据包反馈至交换机,由交换机进一步进行隧道封装后发送。

本实施例中,在大流量业务场景下,交换机直接对业务服务器发送的业务数据包进行隧道封装,并将封装后的业务数据包发送至对端交换机,相较于相关技术中借助大量网关服务器实现大流量业务数据传输,有助于降低部署成本;在非大流量业务场景下,交换机将业务数据包转发至网关服务器进行业务处理,并进一步对网关服务器处理后的业务数据包进行传输,适用于安全通信以及NAT访问等业务场景,并有助于提高网关服务器的利用率。

上述实施例对交换机与网关服务器配合实现数据发送的过程进行了说明,下面采用示例性实施例对交换机与网关服务器配合实现数据接收的过程进行说明。

图6示出了本申请一个示例性实施例提供的数据接收方法的流程图。本实施例以该方法用于图1所示实施环境中的第二交换机以及第二网关服务器为例进行说明,该方法可以包括:

601,第二交换机接收第一边缘节点中第一交换机发送的业务数据包。

在一种可能的实施方式中,位于第二边缘节点的第二交换机通过公网接收到第一交换机发送的业务数据包。

602,第二交换机确定业务数据包的下一跳设备,下一跳设备包括第二边缘节点中的第二业务服务器或第二网关服务器。

对于未经过第一网关服务器处理的业务数据包,第二交换机对该业务数据包进行处理后,即可将该业务数据包转发至第二业务服务器;而对于经过第二网关服务器处理的业务数据包,第二交换机对该业务数据包进行处理后,可能无法进一步转发至第二业务服务器。这种情况下,第二交换机需要将业务数据包发送至位于同一边缘节点中的第二网关服务器,由第二网关服务器对业务数据包进行进一步处理,并将处理后的业务数据包发送至第二业务服务器。

因此,第二交换机设备接收到业务数据包后,首先需要确定业务数据包的下一跳设备。

603,第二交换机向下一跳设备发送业务数据包。

在一些实施例中,当接收到的业务数据包经过隧道封装时,第二交换机首先需要对业务数据包进行隧道解封装,然后向下一跳设备发送解封装后的业务数据包。

604,在下一跳设备为第二网关服务器的情况下,第二网关服务器接收第二边缘节点中第二交换机发送的业务数据包,业务数据包由第二交换机确定下一跳设备为第二网关服务器时发送。

605,第二网关服务器对业务数据包进行业务处理,得到处理后的业务数据包。

在一种可能的实施方式中,当第二网关服务器接收到第二交换机发送的业务数据包,且处于数据包接收状态时,第二网关服务器确定业务数据包的业务处理方式,从而对该业务数据包进行处理,得到处理后的业务数据包。其中,第二网关服务器处理业务数据包的方式,与第一网关服务器处理业务数据包的方式相对应。

比如,若第一网关服务器对待发送的业务数据包进行了加密处理,第二网关服务器则需要对接收到的业务数据包进行解密处理;若第一网关服务器对待发送的业务数据包进行了地址转换处理(内网地址转换为公网地址),第二网关服务器则需要对接收到的业务数据包进行反向地址转换处理(外网地址转换为内网地址)。

在一些实施例中,第二网关服务器通过识别业务数据包的业务类型,确定业务数据包的业务处理方式。

606,第二网关服务器向第二边缘节点中的第二业务服务器发送处理后的业务数据包。

进一步的,第二网关服务器向第二业务服务器发送处理后的业务数据包,实现当前业务数据包的接收,并继续执行下一业务数据包的接收。

综上所述,本申请实施例中,边缘节点中的交换机接收到业务服务器发送的业务数据包后,基于业务数据包的业务类型,将业务数据包发送至下一跳设备,在下一跳设备为其他边缘节点中的交换机时,直接通过交换机进行大流量的业务数据传输,在下一跳设备为边缘节点中的网关服务器时,通过网关服务器对业务数据包进行处理,并进一步通过交换机传输处理后的业务数据包,既能够满足数据传输过程中的大流量带宽需求,又能够满足安全性需求;此外,利用交换机实现大流量数据传输,能够减少网关服务器集群中网关服务器的数量,提高网关服务器的利用率,避免造成边缘节点的资源浪费。

图7示出了本申请另一个示例性实施例提供的数据接收方法的流程图。该方法可以包括:

701,第二交换机接收第一交换机发送的业务数据包。

702,第二交换机对业务数据包的第二五元组进行解封装,确定业务数据包中的第一五元组。

在一种可能的实施方式中,由于第一交换机向第二交换机发送业务数据包前,会对业务数据包进行隧道封装,而在隧道封装过程中,会在原始业务数据包的外层增加五元组(即接收到业务数据包包括外层的第二五元组和内层的第一五元组),因此在接收过程中,第二交换机需要对业务数据包外层的五元组进行解封。

在一个示意性的例子中,若接收到的业务数据包的包头包括(ssrc_addr,ssrc_port,next_addr,next_port,aprotocol)+(asrc_addr,asrc_port,adst_addr,adst_port,aprotocol),第二交换机即对(ssrc_addr,ssrc_port,next_addr,next_port,aprotocol)这一包头进行解封,解封后的业务数据包包含包头(asrc_addr,asrc_port,adst_addr,adst_port,aprotocol)。

703,第二交换机基于第一五元组确定下一跳设备。

在一种可能的实施方式中,第二交换机中预先配置有路由表(与第一交换机中配置的路由表相对应),完成业务数据包解封后,第二交换机基于解封后业务数据包的第一五元组,进一步确定下一跳设备的下一跳地址。可选的,确定下一跳设备的过程可以包括:

1、基于第一五元组在路由表中查询下一跳地址。

可选的,路由表中包含五元组与下一条地址之间的对应关系,第二交换机设备基于在路由表中进行第一五元组进行路由匹配,查询是否存在与第一五元组对应的下一跳地址。

2、响应于查询到下一跳地址,确定下一跳设备为第二业务服务器。

可选的,第二交换机的路由表中配置有流量转发业务对应的下一跳地址,相应的,当基于第一五元组查询到下一跳地址时,第二交换机确定业务数据包的业务类型的流量转发业务,进而将下一跳设备确定为第二业务服务器。由于流量转发业务发送过程中,仅由第一交换机对业务数据包进行了隧道封装处理,因此第二交换机对业务数据包进行解封装处理,能够基于第一五元组将业务数据包准备转发至第二业务服务器,且第二业务服务器能够正确识别该业务数据包。

3、响应于未查询到下一跳地址,确定下一跳设备为第二网关服务器。

若基于第一五元组未在路由表中查询到下一跳地址,表明第一交换机发送的业务数据包经过第一网关服务器处理时,相应的,该业务数据包发送至第二业务服务器之前,还需要由第二网关服务器进行业务处理,因此第二交换机将下一跳设备确定为第二网关服务器。

704,第二交换机向下一跳设备发送业务数据包。

在一种可能的实施方式中,当下一跳设备为第二业务服务器时,第一交换机基于查询到的下一跳地址,向第二业务服务器发送业务数据包;当下一跳设备为第二网关服务器时,第一交换机基于预先配置的第二网关服务器的服务器地址,向第二网关服务器发送业务数据包。

705,在下一跳设备为第二网关服务器的情况下,第二网关服务器接收第二交换机发送的业务数据包。

706,第二网关服务器确定业务数据包的业务类型。

由于第一网关服务器采用不同业务处理方式处理不同业务类型的业务数据包,因此第二网关服务器同样需要基于业务数据包的业务类型,采用不同的业务处理方式对业务数据包进行业务处理。

在一种可能的实施方式中,当网关服务器支持安全通信业务以及地址转换业务的业务处理时,若检测到业务数据包具有解密协议,第二网关服务器确定业务类型的安全通信业务,若检测到业务数据不包含解密协议,第二网关服务器则确定业务类型为地址转换业务。需要说明的是,本实施例进以上述业务类型以及业务类型检测方式为例进行示意性说明,但并不对此构成限定。

707,当业务数据包的业务类型为安全通信业务时,第二网关服务器对业务数据包进行解密处理,得到解密后的业务数据包。

当业务数据包的业务类型为安全通信业务时,第二网关服务器采用与第一网关服务器中解密方式相对应的解密方式,对业务数据包进行解密处理,得到解密后的业务数据包,保证后续第二业务服务器能够识别业务数据包中的业务数据。

在一些实施例中,当第一网关服务器对业务数据包进行了IPSec加密时,第二网关服务器即对业务数据包进行IPSec解密。

708,当业务数据包的业务类型为地址转换业务时,第二网关服务器对业务数据包进行地址转换处理,得到地址转换后的业务数据包。

由于业务数据包中的目的地址为公网地址,因此第二网关服务器需要基于公网地址与内网地址之间的映射关系,将业务数据包中的目的公网地址转换为目的内网地址,进而基于目的内网地址将业务数据包准确发送至第二业务服务器。在一种可能的实施方式中,第二网关服务器获取业务数据包的第一五元组,从而基于地址转换关系,将所述第一五元组中的目的公网地址转换为目标内网地址,得到地址转换后的业务数据包。

709,第二网关服务器向第二边缘节点中的第二业务服务器发送处理后的业务数据包。

在一种可能的实施方式中,当业务数据包为地址转换业务时,第二网关服务器基于转换得到的目的内网地址,向第二业务服务器发送地址转换后的业务数据包。

在一个示意性的例子中,不同业务场景下,交换机与网关服务器配合实现业务数据包发送的过程如图8所示。第二交换机集群81中的第二交换机接收到业务数据包后,首先对业务数据包进行隧道解封装,然后基于解封装后业务数据包的内层五元组进行路由匹配。若匹配到下一跳地址,则将业务数据包发送至第二业务服务器集群中的第二业务服务器;若未匹配到下一跳地址,第二交换机即向第二网关服务器集群82中的第二网关服务器发送业务数据包。第二网关服务器接收到业务数据包后,检测业务数据包是否存在解密协议,若存在,则对业务数据包进行解密处理,并将解密后的业务数据包发送至第二业务服务器;若不存在,则对业务数据包进行地址转换处理,并基于转换后的内网地址向第二业务服务器发送业务数据包。

图9是本申请一个示例性实施例提供的数据发送装置的结构框图900,该装置包括:

接收模块901,用于接收第一边缘节点中第一业务服务器发送的业务数据包;

确定模块902,用于基于所述业务数据包的业务类型,确定所述业务数据包的下一跳设备,所述下一跳设备包括所述第一边缘节点中的第一网关服务器或第二边缘节点中的第二交换机,所述第一网关服务器用于对所述业务数据包进行业务处理;

发送模块903,用于向所述下一跳设备发送所述业务数据包;

接收模块901,还用于在所述下一跳设备为所述第一网关服务器的情况下,接收所述第一网关服务器发送的处理后的所述业务数据包;

发送模块903,还用于向所述第二交换机发送处理后的所述业务数据包。

可选的,所述确定模块902,用于:

当所述业务数据包的业务类型属于流量转发业务时,确定所述业务数据包的所述下一跳设备为所述第二交换机;

当所述业务数据包的业务类型不属于流量转发业务时,确定所述业务数据包的所述下一跳设备为所述第一网关服务器。

可选的,在所述下一跳设备为所述第二交换机的情况下,所述发送模块903,用于:

获取所述业务数据包的第一五元组;

基于所述第一五元组从路由表中查询下一跳地址;

基于查询到的所述下一跳地址以及所述第一交换机的交换机地址生成第二五元组;

通过所述第二五元组封装所述业务数据包;

向所述第二交换机发送封装后的所述业务数据包。

可选的,在所述下一跳设备为所述第一网关服务器的情况下,所述发送模块903,还用于:

基于所述业务数据包的业务类型,确定所述第一网关服务器的目标端口,其中,不同业务类型对应不同端口;

向所述第一网关服务器的所述目标端口发送所述业务数据包,以便所述第一网关服务器基于所述目标端口确定所述业务数据包的业务类型。

可选的,所述基于所述业务数据包的业务类型,确定所述第一网关服务器的目标端口时,所述发送模块903,还用于:

当所述业务数据包的业务类型为安全通信业务时,将第一端口确定为所述目标端口,所述第一网关服务器用于对通过所述第一端口接收到的业务数据包进行加密处理;

当所述业务数据包的业务类型为地址转换业务时,将第二端口确定为所述目标端口,所述第一网关服务器用于对通过所述第二端口接收到的业务数据包进行地址转换处理。

可选的,在所述下一跳设备为所述第一网关服务器的情况下,所述发送模块903,还用于:

基于处理后的所述业务数据包的五元组,从路由表中查询下一跳地址;

基于所述下一跳地址以及所述第一交换机的交换机地址生成第二五元组;

通过所述第二五元组封装处理后的所述业务数据包;

向所述第二交换机发送封装后的所述业务数据包。

图10是本申请另一个示例性实施例提供的数据发送装置的结构框图1000,该装置包括:

接收模块1001,用于接收第一边缘节点中第一交换机发送的业务数据包,所述业务数据包由所述第一交换机基于所述业务数据包的业务类型,确定所述业务数据包的下一跳设备为第一网关服务器时发送的;

处理模块1002,用于对所述业务数据包进行业务处理;

发送模块1003,用于向所述第一交换机发送处理后的所述业务数据包,以便所述第一交换机向第二边缘节点中的第二交换机发送处理后的所述业务数据包。

可选的,处理模块1002,用于:

基于接收所述业务数据包的目标端口,确定所述业务数据包的业务类型;

基于所述业务数据包的业务类型对所述业务数据包进行业务处理。

可选的,处理模块1002,用于:

当所述目标端口为第一端口时,确定所述业务数据包的业务类型为安全通信业务;

当所述业务数据包的业务类型为安全通信业务时,对所述业务数据包进行加密处理。

当所述目标端口为第二端口时,确定所述业务数据包的业务类型为地址转换业务;

当所述业务数据包的业务类型为地址转换业务时,对所述业务数据包进地址转换处理。

图11是本申请一个示例性实施例提供的数据接收装置的结构框图1100,该装置包括:

接收模块1101,用于接收第一边缘节点中第一交换机发送的业务数据包;

确定模块1102,用于确定所述业务数据包的下一跳设备,所述下一跳设备包括第二边缘节点中的第二业务服务器或第二网关服务器,所述第二网关服务器用于对所述业务数据包进行业务处理,并将处理后的业务数据包发送至所述第二业务服务器;

发送模块1103,用于向所述下一跳设备发送所述业务数据包。

可选的,所述确定模块1102,用于:

对所述业务数据包的第二五元组进行解封装,确定所述业务数据包中的第一五元组,所述第二五元组由所述第一交换机对所述业务数据包进行封装时添加,且所述第二五元组位于所述第一五元组的外层;

基于所述第一五元组确定所述下一跳设备。

可选的,所述基于所述第一五元组确定所述下一跳设备时,确定模块1102,用于:

基于所述第一五元组在路由表中查询下一跳地址;

当查询到下一跳地址时,确定所述下一跳设备为所述第二业务服务器;

当未查询到下一跳地址时,确定所述下一跳设备为所述第二网关服务器。

图12是本申请一个示例性实施例提供的数据接收装置的结构框图1200,该装置包括:

接收模块1201,用于接收第二边缘节点中第二交换机发送的业务数据包,所述业务数据包由所述第二交换机确定下一跳设备为第二网关服务器时发送;

处理模块1202,用于基于所述业务数据包的业务类型,对所述业务数据包进行业务处理,得到处理后的所述业务数据包;

发送模块1203,用于向所述第二边缘节点中的第二业务服务器发送处理后的所述业务数据包。

可选的,所述处理模块1202,用于:

确定所述业务数据包的业务类型;

当所述业务数据包的业务类型为安全通信业务时,对所述业务数据包进行解密处理,得到解密后的所述业务数据包;

当所述业务数据包的业务类型为地址转换业务时,对所述业务数据包进行地址转换处理,得到地址转换后的所述业务数据包。

可选的,所述对所述业务数据包进行地址转换处理,得到地址转换后的所述业务数据包时,处理模块1202,用于:

获取所述业务数据包的第一五元组;

基于地址转换关系,将所述第一五元组中的目的公网地址转换为目的内网地址,得到地址转换后的所述业务数据包;

所述发送模块1203,用于:

基于所述目的内网地址,向所述第二业务服务器发送地址转换后的所述业务数据包。

需要说明的是:上述实施例提供的装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其实现过程详见方法实施例,这里不再赘述。

图13是本申请一个示例性实施例提供的交换机的结构示意图。交换机包括存储器1301、处理器1302、交换芯片1303等其他部件,例如电源等。在一些实施例中,控制器可以被部署在交换机的操作系统上,并且由处理器1302来运行,控制器可以通过高速串行计算机扩展总线标准(Peripheral Component Interconnect express,PCIe)接口对交换芯片1303进行控制。

存储器1301中存储有至少一条指令,至少一条指令由处理器1302加载并执行以实现上述实施例中交换机侧的数据发送方法或数据接收方法。

在一些实施例中,当交换机为可编程交换机时,交换芯片1303为可编程交换芯片。不同于传统的交换机中的固定的网络处理功能,可编程交换机可以通过编程自定义各种网络处理功能。

交换芯片1303可以通过多种方式来实现,包括但不限于现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、网络处理器(Networking Processor,NP)及其组合。应当理解,图13仅示出了交换机的一个示例结构,任何现有的或者将来开发的其他交换机可以与本公开的实施例结合使用。

请参考图14,其示出了本申请一个示例性实施例提供的网关服务器的结构框图。具体来讲:

所述网关服务器1400包括中央处理单元(Central Processing Unit,CPU)1401、包括随机存取存储器(Random Access Memory,RAM)1402和只读存储器(Read-OnlyMemory,ROM)1403的系统存储器1404,以及连接系统存储器1404和中央处理单元1401的系统总线1405。所述网关服务器1400还包括帮助服务器内的各个器件之间传输信息的基本输入/输出系统(Input/Output系统,I/O系统)1406,和用于存储操作系统1413、应用程序1414和其他程序模块1415的大容量存储设备1407。

所述基本输入/输出系统1406包括有用于显示信息的显示器1408和用于用户输入信息的诸如鼠标、键盘之类的输入设备1409。其中所述显示器1408和输入设备1409都通过连接到系统总线1405的输入输出控制器1410连接到中央处理单元1401。所述基本输入/输出系统1406还可以包括输入输出控制器1410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1410还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备1407通过连接到系统总线1405的大容量存储控制器(未示出)连接到中央处理单元1401。所述大容量存储设备1407及其相关联的计算机可读存储介质为网关服务器1400提供非易失性存储。也就是说,所述大容量存储设备1407可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读存储介质(未示出)。

不失一般性,所述计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读存储指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read OnlyMemory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable ProgrammableRead-Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1404和大容量存储设备1407可以统称为存储器。

存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1401执行,一个或多个程序包含用于实现上述方法实施例的指令,中央处理单元1401执行该一个或多个程序实现上述各个方法实施例提供的网关服务器侧的数据发送方法,或,数据接收方法。

根据本申请的各种实施例,所述网关服务器1400还可以通过诸如因特网等网络连接到网络上的远程服务器运行。也即网关服务器1400可以通过连接在所述系统总线1405上的网络接口单元1411连接到网络1412,或者说,也可以使用网络接口单元1411来连接到其他类型的网络或远程服务器系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中网关服务器所执行的步骤。

本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述任一实施例所述的数据发送方法,或,数据接收方法。

可选地,该计算机可读存储介质可以包括:ROM、RAM、固态硬盘(SSD,Solid StateDrives)或光盘等。其中,RAM可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例所述的数据发送方法,或,数据接收方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

相关技术
  • 数据发送方法、装置、数据接收方法及装置
  • 数据发送/接收方法和装置、数据传输系统
  • 5G数据传输方法、系统以及5G数据发送与接收装置
  • 基于串口通信的数据传输方法、设备、发送端及接收端
  • 一种数据发送、接收方法及装置
  • 通过数据传输系统发送和/或接收多媒体数据的方法、多媒体设备和根据FlexRay标准将多媒体设备连接到数据传输系统上的网关
  • 广播数据通信方法、广播数据接收终端以及广播数据发送服务器
技术分类

06120115936049