本申请实施例涉及数据传输领域,具体涉及一种数据转发的方法、装置、设备及介质。
背景技术:
1、sslvpn网关是基于安全套接字层协议建立远程安全访问通道的一种vpn设备,其利用ssl协议在共用网络中建立一个安全可信任的数据传输通道。相关技术中,sslvpn网关内的工作进程对客户端流量进行解密,并将解密后的流量通过绑定的tun设备发送给协议栈,之后通过物理接口发送给服务端,但是即当存在大量客户在线时,超过了tun设备本身的性能参数限制,会出现服务端的回复报文被其他cpu处理的情况,也就导致该报文被其他工作进程处理,影响数据传输效率的同时,还容易导致丢包的情况发生。
2、因此,如何提高数据传输的效率以及防止丢包的情况发生成为了需要解决的问题。
技术实现思路
1、本申请实施例提供一种数据转发的方法、装置、设备及介质,通过本申请的一些实施例至少能够实现客户端的目标地址的学习,从而提升数据转发的效率,同时防止丢包的情况发生。
2、第一方面,本申请提供了一种数据转发的方法,应用于数据转发设备,所述数据转发设备包括工作进程、tap设备和网桥,所述方法包括:所述网桥在未查询到回复报文相对应的目标地址的情况下,广播请求地址报文,其中,所述请求地址报文用于学习客户端的目标地址,所述回复报文是由服务端回复给所述客户端的报文;若所述工作进程通过所述tap设备接收到所述请求地址报文,则基于所述请求地址报文查询所有客户端;在确定查询到所述客户端的目标地址的情况下,向所述网桥发送回复地址报文,所述网桥基于所述回复地址报文进行数据转发。
3、因此,与相关技术中sslvpn网关内的工作进程对客户端流量进行解密,并将解密后的流量通过绑定的tun设备发送给协议栈,之后通过物理接口发送给服务端的技术方案不同的是,本申请实施例实现客户端的目标地址的学习,以及通过网桥基于回复地址报文进行数据转发,能够提升数据转发的效率,同时防止丢包的情况发生。
4、结合第一方面,在本申请的一种实施方式中,所述网桥基于所述回复地址报文进行数据转发,包括:将所述回复地址报文向所述工作进程发送;所述工作进程通过vpn隧道将所述回复报文转发到相对应的客户端。
5、因此,本申请实施例将回复地址报文向工作进程发送,工作进程将回复报文转发给客户端,能够保证所有的报文均能够准确的对应一个客户端,从而能够防止丢包的情况发生。
6、结合第一方面,在本申请的一种实施方式中,所述目标地址为mac地址,在所述网桥在未查询到回复报文相对应的目标地址的情况下,广播请求地址报文之前,所述方法还包括:所述工作进程接收所述客户端向所述服务端发送的请求报文,并且根据所述客户端的虚拟ip地址构造所述mac地址;将所述mac地址通过所述tap设备发送至所述网桥;所述网桥将所述请求报文向所述服务端发送。
7、因此,本申请实施例通过构造mac地址,能够使网桥按照mac地址将请求报文向服务端发送,能够在保证数据安全的情况下,防止数据丢包的情况发生。
8、结合第一方面,在本申请的一种实施方式中,在所述工作进程接收所述客户端向所述服务端发送的请求报文之前,所述方法还包括:所述工作进程存储所述客户端的虚拟ip地址,之后封装测试报文;通过tap设备向网络中广播所述测试报文;所述网桥基于所述测试报文自动学习所述客户端的mac地址。
9、因此,本申请实施例通过向网络中广播测试报文,从而学习到客户端的mac地址,能够提高客户端大量并发上线时的数据转发效率。
10、第二方面,本申请提供了一种数据转发的装置,应用于数据转发设备,所述数据转发设备包括工作进程、tap设备和网桥,所述装置包括:报文广播模块,被配置为所述网桥在未查询到回复报文相对应的目标地址的情况下,广播请求地址报文,其中,所述请求地址报文用于学习客户端的目标地址,所述回复报文是由服务端回复给所述客户端的报文;地址查询模块,被配置为若所述工作进程通过所述tap设备接收到所述请求地址报文,则基于所述请求地址报文查询所有客户端;数据转发模块,被配置为在确定查询到所述客户端的目标地址的情况下,向所述网桥发送回复地址报文,所述网桥基于所述回复地址报文进行数据转发。
11、结合第二方面,在本申请的一种实施方式中,所述数据转发模块还被配置为:将所述回复地址报文向所述工作进程发送;所述工作进程通过vpn隧道将所述回复报文转发到相对应的客户端。
12、结合第二方面,在本申请的一种实施方式中,所述报文广播模块还被配置为:所述工作进程接收所述客户端向所述服务端发送的请求报文,并且根据所述客户端的虚拟ip地址构造所述mac地址;将所述mac地址通过所述tap设备发送至所述网桥;所述网桥将所述请求报文向所述服务端发送。
13、结合第二方面,在本申请的一种实施方式中,所述报文广播模块还被配置为:所述工作进程存储所述客户端的虚拟ip地址,之后封装测试报文;通过tap设备向网络中广播所述测试报文;所述网桥基于所述测试报文自动学习所述客户端的mac地址。
14、第三方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机程序,所述计算机程序由所述处理器执行时可实现如第一方面任意实施例所述的方法。
15、第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如第一方面任意实施例所述的方法。
1.一种数据转发的方法,其特征在于,应用于数据转发设备,所述数据转发设备包括工作进程、tap设备和网桥,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述网桥基于所述回复地址报文进行数据转发,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述目标地址为mac地址,在所述网桥在未查询到回复报文相对应的目标地址的情况下,广播请求地址报文之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,在所述工作进程接收所述客户端向所述服务端发送的请求报文之前,所述方法还包括:
5.一种数据转发的装置,其特征在于,应用于数据转发设备,所述数据转发设备包括工作进程、tap设备和网桥,所述装置包括:
6.根据权利要求5所述的装置,其特征在于,所述数据转发模块还被配置为:
7.根据权利要求5或6所述的装置,其特征在于,所述报文广播模块还被配置为:
8.根据权利要求7所述的装置,其特征在于,所述报文广播模块还被配置为:
9.一种电子设备,其特征在于,包括:处理器、存储器和总线;
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如权利要求1-4任一项所述方法。