网桥透明代理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:28124179 阅读:12 留言:0更新日期:2021-04-19 11:35
本申请提供一种网桥透明代理方法、装置、电子设备及存储介质,涉及通信技术领域。该方法应用于透明代理端,包括:通过数据平面开发套件DPDK记录客户端发送的第一连接请求报文的连接信息,连接信息包括第一连接请求报文的接收端口;基于第一连接请求报文向虚拟以太网Veth接口发送第一请求返回报文;通过DPDK从Veth接口获取第一请求返回报文;通过第一连接请求报文的接收端口发送第一请求返回报文;在再次接收到客户端的报文时,确定与客户端建立连接。通过DPDK的开放性和功能性,能够在不改变现有网络拓扑的交换网络中,本机路由不可达的情况下,便捷地实现网桥或虚拟局域网用户层透明代理。透明代理。透明代理。

【技术实现步骤摘要】
网桥透明代理方法、装置、电子设备及存储介质


[0001]本申请涉及通信
,具体而言,涉及一种网桥透明代理方法、装置、电子设备及存储介质。

技术介绍

[0002]针对目前越来越多的网络设备,如防火墙、安全网关、应用交付等设备在流量处理过程中,需要解析七层应用层数据并处理。这些设备在实际部署环境中由于用户网络的复杂,无法轻易改变网络拓扑,所以这些设备常常使用透明代理的方式,实现透明接入用户网络,利用透明代理方式,处理这些应用层流量。由于数据平面开发套件(Data Plane Development Kit,DPDK)技术的开放性和高性能,很多厂商通常使用DPDK为底层数据包处理框架,配合用户层协议栈或者内核协议栈方式实现TCP透明代理功能。针对上述需求,目前现有技术主要有:现有技术一,利用linux内核的TPROXY功能实现透明代理;现有技术二,利用用户层协议栈。
[0003]而针对现有技术一,在很多网络环境部署过程中,要求网络设备上只配置网桥、虚拟局域网(Virtual Local Area Network,VLAN),无法在网桥或VLAN上配置IP,基于TPROXY的透明代理不能工作,因为内核在查找路由时会被丢弃。针对现有技术二,用DPDK配合用户层协议栈实现,需要保证协议处理的完整性和稳定性,对开发人员水平要求较高并且开发维护成本高昂。
[0004]因此现有技术在不改变现有网络拓扑的交换网络中,本机路由不可达的情况下,无法便捷、稳定地实现网桥或VLAN用户层透明代理。

技术实现思路
r/>[0005]有鉴于此,本申请实施例的目的在于提供一种网桥透明代理方法、装置、电子设备及存储介质,以改善现有技术中存在的在不改变现有网络拓扑的交换网络中,本机路由不可达的情况下,无法便捷、稳定地实现网桥或VLAN用户层透明代理的问题。
[0006]本申请实施例提供了一种网桥透明代理方法,应用于透明代理端,所述方法包括:通过数据平面开发套件DPDK记录客户端发送的第一连接请求报文的连接信息,所述连接信息包括所述第一连接请求报文的接收端口;基于所述第一连接请求报文向虚拟以太网Veth接口发送第一请求返回报文;通过所述DPDK从所述Veth接口获取所述第一请求返回报文;通过所述第一连接请求报文的接收端口发送所述第一请求返回报文;在再次接收到所述客户端的报文时,确定与所述客户端建立连接。
[0007]在上述实现方式中,透明代理端使用DPDK包处理框架,利用Veth接口及策略路由,配合本机环回接口进行客户端的第一连接请求报文的接收以及第一请求返回报文的返回,从而在不改变现有网络拓扑的交换网络中,本机路由不可达的情况下,实现网桥或VLAN用户层透明代理中与客户端的连接。
[0008]可选地,所述基于所述第一连接请求报文向虚拟以太网Veth接口发送第一请求返
回报文,包括:将所述第一连接请求报文发送至内核;通过所述内核将所述第一连接请求报文路由至所述透明代理端的本机环回接口;在监听到所述第一连接请求报文时,通过所述内核基于策略路由将所述第一请求返回报文路由至所述本机环回接口;通过所述内核将所述第一请求返回报文发送至所述Veth接口。
[0009]在上述实现方式中,通过内核模块和本机环回接口进行第一请求返回报文的生成,并将第一请求返回报文发送至Veth接口,从而实现第一连接请求报文的接收和第一请求返回报文的生成,便于后续进行第一请求返回报文的设置和返回。
[0010]可选地,所述连接信息还包括所述第一连接请求报文的链路层地址信息,所述通过所述第一连接请求报文的接收端口发送所述第一请求返回报文,包括:将所述第一请求返回报文的链路层地址信息设置为所述第一连接请求报文的链路层地址信息;设置所述第一请求返回报文的数据帧头;通过所述DPDK将所述第一请求返回报文发送至所述第一连接请求报文的接收端口。
[0011]在上述实现方式中,通过第一请求返回报文的链路层地址信息设置,将第一请求返回报文从接收第一请求返回报文的接口,从而向客户端返回第一请求返回报文完成握手报文的交互。
[0012]本申请实施例还提供了一种网桥透明代理方法,应用于透明代理端,所述方法包括:将已连接客户端发送的第二连接请求报文转发至Veth接口;通过DPDK从所述Veth接口获取所述第二连接请求报文,并识别出所述第二连接请求报文需要发送至被代理服务器;通过所述DPDK将所述第二连接请求报文发送至所述被代理服务器对应的接口;在接收到所述被代理服务器基于所述第二连接请求报文返回的第二请求返回报文时,向所述被代理服务器发送确认报文,确定与所述被代理服务器建立连接。
[0013]在上述实现方式中,透明代理端使用DPDK包处理框架,利用Veth接口及策略路由,配合本机环回接口进行客户端的第二连接请求报文的接收并将其发送至被代理服务端,从而在不改变现有网络拓扑的交换网络中,本机路由不可达的情况下,实现网桥或VLAN用户层透明代理中与被代理服务端的连接。
[0014]可选地,所述将已连接客户端发送的第二连接请求报文转发至Veth接口,包括:将所述第二连接请求报文发送至内核;通过所述内核将所述第二连接请求报文路由至所述透明代理端的本机环回接口;在监听到属于透明代理外发报文的所述第二连接请求报文,通过所述内核将所述第二连接请求报文发送至所述Veth接口。
[0015]在上述实现方式中,通过内核模块和本机环回接口进行第二连接请求报文的转发,便于后续进行第一请求返回报文的设置和返回。
[0016]可选地,所述通过所述DPDK将所述第二连接请求报文发送至所述被代理服务器对应的接口,包括:确定与所述已连接客户端对应的连接信息,所述连接信息包括链路层地址信息和发送接口;将所述第二连接请求报文的链路层地址信息设置为所述连接信息中的链路层地址信息;通过所述发送接口发送设置所述链路层地址信息后的所述第二连接请求报文。
[0017]在上述实现方式中,基于与客户端的连接信息设置第二连接请求报文的链路层地址信息设置,将第二连接请求报文从发送接口进行发送,从而向被代理服务端发送第二连接请求报文完成握手报文的交互。
[0018]可选地,所述在接收到所述被代理服务器基于所述第二连接请求报文返回的第二请求返回报文时,向所述被代理服务器发送确认报文,包括:在接收到所述被代理服务器基于所述第二连接请求报文返回的第二请求返回报文时,更新所述第二连接请求报文的入接口以及报文链路地址信息;通过所述内核基于所述报文链路地址信息设置所述确认报文;通过所述入接口向所述被代理服务器发送所述确认报文。
[0019]在上述实现方式中,基于接受的第二请求返回报文进行入接口以及报文链路地址信息的更新,从而能够准确、快捷地确定被代理服务器的网络信息,从而在本机路由不可达的情况下,实现网桥或VLAN用户层透明代理中透明代理端与被代理服务端的连接。
[0020]本申请实施例还提供了一种网桥透明代理装置,应用于透明代理端,所述装置包括:第一连接请求本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种网桥透明代理方法,其特征在于,应用于透明代理端,所述方法包括:通过数据平面开发套件DPDK记录客户端发送的第一连接请求报文的连接信息,所述连接信息包括所述第一连接请求报文的接收端口;基于所述第一连接请求报文向虚拟以太网Veth接口发送第一请求返回报文;通过所述DPDK从所述Veth接口获取所述第一请求返回报文;通过所述第一连接请求报文的接收端口发送所述第一请求返回报文;在再次接收到所述客户端的报文时,确定与所述客户端建立连接。2.根据权利要求1所述的方法,其特征在于,所述基于所述第一连接请求报文向虚拟以太网Veth接口发送第一请求返回报文,包括:将所述第一连接请求报文发送至内核;通过所述内核将所述第一连接请求报文路由至所述透明代理端的本机环回接口;在监听到所述第一连接请求报文时,通过所述内核基于策略路由将所述第一请求返回报文路由至所述本机环回接口;通过所述内核将所述第一请求返回报文发送至所述Veth接口。3.根据权利要求1所述的方法,其特征在于,所述连接信息还包括所述第一连接请求报文的链路层地址信息,所述通过所述第一连接请求报文的接收端口发送所述第一请求返回报文,包括:将所述第一请求返回报文的链路层地址信息设置为所述第一连接请求报文的链路层地址信息;设置所述第一请求返回报文的数据帧头;通过所述DPDK将所述第一请求返回报文发送至所述第一连接请求报文的接收端口。4.一种网桥透明代理方法,其特征在于,应用于透明代理端,所述方法包括:将已连接客户端发送的第二连接请求报文转发至Veth接口;通过DPDK从所述Veth接口获取所述第二连接请求报文,并识别出所述第二连接请求报文需要发送至被代理服务器;通过所述DPDK将所述第二连接请求报文发送至所述被代理服务器对应的接口;在接收到所述被代理服务器基于所述第二连接请求报文返回的第二请求返回报文时,向所述被代理服务器发送确认报文,确定与所述被代理服务器建立连接。5.根据权利要求4所述的方法,其特征在于,所述将已连接客户端发送的第二连接请求报文转发至Veth接口,包括:将所述第二连接请求报文发送至内核;通过所述内核将所述第二连接请求报文路由至所述透明代理端的本机环回接口;在监听到属于透明代理外发报文的所述第二连接请求报文,通过所述内核将所述第二连接请求报文发送至所述Veth接口。6.根据权利要求4所述的方法,其特征在于,所述通过所述DPDK将所述第二连接请求报文发送至所述被代理服务器对应的接口,包括:确定...

【专利技术属性】
技术研发人员:杜晓宇
申请(专利权)人:北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

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

1