报文转发方法和装置制造方法及图纸

技术编号:20593041 阅读:27 留言:0更新日期:2019-03-16 09:11
本申请提供一种报文转发方法和装置,应用于转发设备,所述转发设备包括多个转发进程,所述方法包括:基于各个转发进程,分别接收客户端发送的请求报文;其中,所述请求报文的目的IP地址为所述转发进程对应的虚拟IP地址;基于所述请求报文的目的IP地址,确定所述请求报文对应的VRF标识;基于所述VRF标识对应的转发表项,对所述请求报文进行网络地址转换;基于所述转发进程,将转换后的请求报文转发给服务端,以使所述服务端返回所述转换后的请求报文对应的响应报文;其中,所述服务端的IP地址为所述转换后的请求报文的目的IP地址。本申请技术方案可以避免不必要的硬件资源消耗,同时可以提高报文转发效率。

Message forwarding method and device

The application provides a message forwarding method and device for a forwarding device, which comprises a plurality of forwarding processes. The method includes: receiving request messages sent by the client based on each forwarding process; where the destination IP address of the request message is the virtual IP address corresponding to the forwarding process; and based on the destination IP address of the request message, The VRF identification corresponding to the request message is determined; the network address translation of the request message is performed based on the forwarding table entries corresponding to the VRF identification; the converted request message is forwarded to the server based on the forwarding process so that the server can return the corresponding response message of the converted request message; where the IP address of the server is the corresponding response message after the conversion. The destination IP address of the request message. The technical scheme can avoid unnecessary hardware resource consumption and improve the efficiency of message forwarding.

【技术实现步骤摘要】
报文转发方法和装置
本申请涉及通信
,尤其涉及一种报文转发方法和装置。
技术介绍
SLB(ServerLoadBalancing,服务端负载均衡)是一种针对云计算平台而设计的网络负载均衡技术。在实际应用中,客户端可以基于SLB设备的VIP(VirtualIPAddress,虚拟IP地址)将访问请求发送给SLB设备,再由SLB设备基于一定的转发策略,将客户端的访问请求转发给后端的服务端进行相应的业务处理。随着业务种类逐渐增多,业务复杂度也不断提高,可能需要创建不同的用户用于不同的业务。在这种情况下,如何对处理不同用户的业务的网络进行隔离,成为亟待解决的问题。
技术实现思路
有鉴于此,本申请提供一种报文转发方法和装置。具体地,本申请是通过如下技术方案实现的:第一方面,本申请提供一种报文转发方法,所述方法应用于转发设备,所述转发设备包括多个转发进程,所述方法包括:基于各个转发进程,分别接收客户端发送的请求报文;其中,所述请求报文的目的IP地址为所述转发进程对应的虚拟IP地址;基于所述请求报文的目的IP地址,确定所述请求报文对应的VRF标识;基于所述VRF标识对应的转发表项,对所述请求报文进行网络地址转换;基于所述转发进程,将转换后的请求报文转发给服务端,以使所述服务端返回所述转换后的请求报文对应的响应报文;其中,所述服务端的IP地址为所述转换后的请求报文的目的IP地址。第二方面,本申请提供一种报文转发装置,所述装置应用于转发设备,所述转发设备包括多个转发进程,所述装置包括:第一接收模块,用于基于各个转发进程,分别接收客户端发送的请求报文;其中,所述请求报文的目的IP地址为所述转发进程对应的虚拟IP地址;确定模块,用于基于所述请求报文的目的IP地址,确定所述请求报文对应的VRF标识;第一转换模块,用于基于所述VRF标识对应的转发表项,对所述请求报文进行网络地址转换;第一转发模块,用于基于所述转发进程,将转换后的请求报文转发给服务端,以使所述服务端返回所述转换后的请求报文对应的响应报文;其中,所述服务端的IP地址为所述转换后的请求报文的目的IP地址。在上述技术方案中,不再需要在转发设备中创建多个虚拟设备,而是可以基于转发设备中的多个转发进程,实现对不同的用户之间的数据隔离。由于不需要为各个转发进程分配CPU和内存等硬件资源,因此可以避免不必要的硬件资源消耗,同时可以提高报文转发效率。附图说明图1是相关技术中一种报文转发系统的示意图;图2是本申请一示例性实施例示出的一种报文转发系统的示意图;图3是本申请一示例性实施例示出的一种报文转发方法的流程图;图4是本申请一示例性实施例示出的一种报文转发装置所在设备的硬件结构图;图5是本申请一示例性实施例示出的一种报文转发装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。请参考图1,图1是相关技术中一种报文转发系统的示意图。如图1所示,在实际应用中,由于服务端通常部署在私网中,而客户端则通常部署在公网中,且为了保证业务数据的安全性,通常不允许客户端与服务端直接进行通信,因此通常可以在客户端与服务端之间部署转发设备,从而使客户端可以通过转发设备访问服务端,获取服务端中的业务数据。相关技术中,不同的用户通常会使用不同的客户端,在这种情况下,为了保证不同的用户之间的数据隔离,可以在转发设备中创建多个虚拟设备,并为不同的虚拟设备配置不同的虚拟IP地址,该虚拟IP地址为私网IP地址。转发设备与客户端之间可以部署网关设备,同一个用户所使用的客户端可以基于某个虚拟设备的虚拟IP地址,通过网关设备与该虚拟设备进行通信。另一方面,可以将该用户所使用的客户端需要访问的服务端,与该虚拟设备加入到同一个VLAN(VirtualLocalAreaNetwork,虚拟局域网)或VXLAN(VirtualExtensibleLAN,虚拟扩展局域网)中,从而使该用户所使用的客户端需要访问的服务端,与该虚拟设备可以在该VLAN或VXLAN中进行通信。这样,由于不同的用户所使用的客户端需要访问的服务端在不同的VLAN或VXLAN中,因此可以保证不同的用户之间的数据隔离。在转发设备中创建虚拟设备时,需要为创建的每个虚拟设备分配CPU(CentralProcessingUnit,中央处理器)和内存等硬件资源。然而,如果分配的硬件资源大小不合理,则会影响报文转发效率,也可能会导致不必要的硬件资源消耗。为了解决上述问题,本申请提供一种报文转发方法和装置,以提高报文转发效率,同时减少硬件资源消耗。请参考图2,图2是本申请一示例性实施例示出的一种报文转发系统的示意图。如图2所示,在该报文转发系统中,转发设备中可以运行多个转发进程,且可以为不同的转发进程配置不同的虚拟IP地址。其中,转发进程可以是用于实现报文转发功能的一段程序代码;同一个转发进程可以用于对同一个用户所使用的客户端发送的报文,或者发送给该用户所使用的客户端的报文进行转发,即同一个用户所使用的客户端可以通过同一个转发进程访问服务端。需要说明的是,为转发进程配置的虚拟IP地址可以是公网IP地址,这样同一个用户所使用的客户端可以基于某个虚拟设备的虚拟IP地址,直接与该虚拟设备进行通信。或者,为转发进程配置的虚拟IP地址也可以是私网IP地址,这样同一个用户所使用的客户端可以基于某个虚拟设备的虚拟IP地址,通过网关设备与该虚拟设备进行通信。另一方面,可以为该用户所使用的客户端对应的转发进程的虚拟IP地址,创建对应的VRF(VirtualRoutingForwarding,VPN路由转发表),并为该转发进程配置一个用于与服务端进行通信的私网IP地址。需要说明的是,转发设备上运行的所有转发进程可以使用一个相同的私网IP地址来与不同的服务端进行通信,或者也可以分别使用不同的私网IP地址来与不同的服务端进行通信,本申请对此不作限制。后续,可以将配置的该私网IP地址,以及该用户所使用的客户端需要访问的服务端的IP地址加入到该VRF中,即将该转发进程与该用户所使用的客户端需要访问的服务端加入到同一个VRF中。请参考图3,图3是本申请一示例性实施例示出的一种报文转发方法的流程图。该方法可以应用于图本文档来自技高网...

【技术保护点】
1.一种报文转发方法,其特征在于,所述方法应用于转发设备,所述转发设备包括多个转发进程,所述方法包括:基于各个转发进程,分别接收客户端发送的请求报文;其中,所述请求报文的目的IP地址为所述转发进程对应的虚拟IP地址;基于所述请求报文的目的IP地址,确定所述请求报文对应的VPN路由转发表VRF标识;基于所述VRF标识对应的转发表项,对所述请求报文进行网络地址转换;基于所述转发进程,将转换后的请求报文转发给服务端,以使所述服务端返回所述转换后的请求报文对应的响应报文;其中,所述服务端的IP地址为所述转换后的请求报文的目的IP地址。

【技术特征摘要】
1.一种报文转发方法,其特征在于,所述方法应用于转发设备,所述转发设备包括多个转发进程,所述方法包括:基于各个转发进程,分别接收客户端发送的请求报文;其中,所述请求报文的目的IP地址为所述转发进程对应的虚拟IP地址;基于所述请求报文的目的IP地址,确定所述请求报文对应的VPN路由转发表VRF标识;基于所述VRF标识对应的转发表项,对所述请求报文进行网络地址转换;基于所述转发进程,将转换后的请求报文转发给服务端,以使所述服务端返回所述转换后的请求报文对应的响应报文;其中,所述服务端的IP地址为所述转换后的请求报文的目的IP地址。2.根据权利要求1所述的方法,其特征在于,所述基于所述转发进程,将转换后的请求报文转发给服务端,包括:基于所述转发表项,确定所述请求报文对应的虚拟扩展局域网VXLAN标识;基于所述VXLAN标识,将转换后的请求报文封装为VXLAN报文;基于所述转发进程,将所述VXLAN报文转发给服务端。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述转发进程,接收所述服务端返回的所述响应报文,并确定所述响应报文对应的VRF标识;基于所述VRF标识对应的转发表项,对所述响应报文进行反向的网络地址转换;基于所述转发进程,将转换后的响应报文转发给所述客户端。4.根据权利要求3所述的方法,其特征在于,所述基于所述转发进程,接收所述服务端返回的所述响应报文,并确定所述响应报文对应的VRF标识,包括:基于所述转发进程,接收所述服务端返回的VXLAN报文,并确定所述VXLAN报文对应的VRF标识;所述基于所述VRF标识对应的转发表项,对所述响应报文进行反向的网络地址转换,包括:对所述VXLAN报文进行解析,以获取所述服务端返回的所述响应报文;基于所述VRF标识对应的转发表项,对所述响应报文进行反向的网络地址转换。5.根据权利要求1所述的方法,其特征在于,所述基于所述VRF标识对应的转发表项,对所述请求报文进行网络地址转换,包括:基于所述VRF标识对应的转发...

【专利技术属性】
技术研发人员:王世钰李国帅
申请(专利权)人:杭州数梦工场科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1