VPN服务器中的数据传输方法及VPN服务器与流程
发布时间: 2022-04-24 14:18:15
阅读量: 1256 人次
数据传输方法及VPN服务器与流程
本文涉及互联网技术领域,特别涉及一种vpn服务器中的数据传输方法及vpn服务器。
目前,为了提高网络数据传输的安全性,vpn(virtualprivatenetwork,虚拟专用网络)技术被越来越多地使用。其中,基于pptp(pointtopointtunnelingprotocol,
点对点隧道协议)的vpn服务器能够通过密码验证协议、可扩展认证协议等方法增强数据的安全性,因此pptpvpn服务器成为一种主流的vpn服务器。现有的pptpvpn服务器通常是基于内核态实现的,
当数据报文到达网卡时,首先会将数据报文从网卡处复制到内核系统中,然后,再将内核系统中的数据报文复制到vpn应用程序内,从而通过vpn应用程序对数据报文进行处理。
由上可见,现有的pptpvpn服务器会对数据报文进行多次复制的过程。当面对庞大的用户流量时,复制的数据报文的数量也会增多,这样会增加pptpvpn服务器的负载,从而会降低数据传输效率以及服务质量。
本文目的在于提供一种vpn服务器中的数据传输方法及vpn服务器,能够提高数据传输效率。
为实现上述目的,一方面提供一种vpn服务器,vpn服务器中包括报文分发单元,并且vpn服务器中运行有内核态的控制流进程和用户态的数据流进程,
其中:报文分发单元,用于从vpn服务器的公网网口获取用户客户端发来的请求报文,并识别请求报文的类型,并将识别出的控制报文转发至控制流进程,以及将识别出的数据报文转发至数据流进程;
控制流进程,用于根据报文分发单元转发的控制报文,与用户客户端协商后,使得vpn服务器与用户客户端建立vpn连接,并收集协商过程中产生的协商信息,以及将协商信息共享给数据流进程;
数据流进程,用于根据控制流进程共享的协商信息,将报文分发单元转发的数据报文还原为原始数据报文,并将原始数据报文发送至与vpn服务器相连的内网服务器。
为实现上述目的,另一方面还提供一种vpn服务器中的数据传输方法,方法包括:从vpn服务器的公网网口获取用户客户端发来的请求报文,并识别请求报文的类型,请求报文的类型包括控制报文和数据报文;
根据识别出的控制报文,与用户客户端协商后,使得vpn服务器与用户客户端建立vpn连接,并收集协商过程中产生的协商信息;
根据协商信息,将识别出的数据报文还原为原始数据报文,并将原始数据报文发送至与vpn服务器相连的内网服务器。为实现上述目的,另一方面还提供一种vpn服务器,vpn服务器包括存储器和处理器,
存储器用于存储计算机程序,计算机程序被处理器执行时,实现上述的数据传输方法。由上可见,提供的技术方案,可以对内核态的vpn服务器进行改进,使得改进后的vpn服务器能够同时支持内核态和用户态。
其中,内核态可以通过控制流进程进行数据处理,用户态可以通过数据流进程进行数据处理。
在中,报文分发单元可以从vpn服务器的公网网口获取用户客户端发来的请求报文,并可以将其中的控制报文交由控制流进程进行处理,以及将其中的数据报文交由数据流进程进行处理。
控制流进程可以根据接收到的控制报文,与用户客户端进行协商,从而使得vpn服务器与用户客户端建立vpn连接,并且控制流进程可以收集在协商过程中产生的协商信息。
数据流进程则可以根据控制流进程共享的协商信息,对接收到的数据报文进行处理,从而将数据报文还原为原始数据报文,并可以将还原得到的原始数据报文发送至内网服务器,
从而完成用户客户端到内网服务器的访问。由上可见,提供的技术方案,数据报文可以直接由用户态的数据流进程进行处理,而无需经过多次数据复制的过程,从而极大地减轻了vpn服务器的负载。
另外,vpn服务器同时兼容内核态的控制流进程和用户态的数据流进程,使得数据流的数据报文能够通过用户态协议栈进行处理,从而提高了数据报文的处理效率。