【技术实现步骤摘要】
传输报文的系统和方法
本专利技术实施例涉及通信领域,特别涉及通信领域中的传输报文的系统和方法。
技术介绍
网络中按五元组(源地址,目的地址,源端口,目的端口,协议号)标识一条有方向(从源到目的)的流。方向相反(源地址和目的地址互反、源端口和目的端口互反)的两条流组成一条连接,网络中的两点通过连接进行通信。连接跟踪(conntrack)模块会记录每一条连接的状态,是防火墙的状态监测的基础。Linux内核中的conntrack模块实现了连接跟踪功能,记录了所有连接的状态,conntrack为每一个经过的报文查找对应的连接,并返回连接状态。应用层网关(ApplicationLayerGateway,简称“ALG”)模块是连接跟踪的增强功能,Linux内核里ALG模块实现了应用层网关的功能,conntrack和ALG共同实现了Linux内核中的连接跟踪功能。开放虚拟交换模块(OpenVirtualSwitch,简称“OVS”)和数据平面开发套件(DataPlaneDevelopmentKit,简称“DPDK”)运行在Linux用户态,目前用户态已经实现了conntrack功能,但是用户态没有实现ALG模块的功能,现有技术中为了在用户态实现ALG模块的功能,OVS在用户态收到报文,将报文发送到内核态,经过内核态的conntrack模块和ALG模块处理后,将报文的连接信息返回给用户态的OVS,但是,报文需要经过两次用户态和内核态的切换,使得报文在用户态和内核态报文之间的通信损耗较大,造成系统性能下降。
技术实现思路
本专利技术实施例提供的传输报文的系统和方法,可以提高系统 ...
【技术保护点】
1.一种传输报文的系统,其特征在于,所述系统包括工作在用户态下的开放虚拟交换模块和连接模块,所述开放虚拟交换模块用于接收数据报文;所述开放虚拟交换模块还用于向所述连接模块发送所述数据报文;所述连接模块用于存储与所述数据报文的连接信息相关的第一信息,其中,所述第一信息是通过与所述数据报文的连接信息相关的控制报文的应用层信息得到的;所述连接模块还用于接收所述开放虚拟交换模块发送的所述数据报文,并根据存储的所述第一信息确定所述数据报文的连接信息;所述连接模块还用于将所述数据报文的连接信息发送给所述开放虚拟交换模块。
【技术特征摘要】
1.一种传输报文的系统,其特征在于,所述系统包括工作在用户态下的开放虚拟交换模块和连接模块,所述开放虚拟交换模块用于接收数据报文;所述开放虚拟交换模块还用于向所述连接模块发送所述数据报文;所述连接模块用于存储与所述数据报文的连接信息相关的第一信息,其中,所述第一信息是通过与所述数据报文的连接信息相关的控制报文的应用层信息得到的;所述连接模块还用于接收所述开放虚拟交换模块发送的所述数据报文,并根据存储的所述第一信息确定所述数据报文的连接信息;所述连接模块还用于将所述数据报文的连接信息发送给所述开放虚拟交换模块。2.根据权利要求1所述的系统,其特征在于,所述系统还包括工作在内核态下的应用层网关模块,所述应用层网关模块用于:在所述连接模块接收所述开放虚拟交换模块发送的所述数据报文之前,根据所述控制报文的应用层信息确定所述第一信息;所述应用层网关模块还用于向所述连接模块发送所述第一信息;所述连接模块还用于接收所述应用层网关模块发送的所述第一信息。3.根据权利要求2所述的系统,其特征在于,所述连接模块包括连接跟踪子模块和报文期望子模块,所述报文期望子模块用于接收所述应用层网关模块发送的所述第一信息;所述报文期望子模块用于存储所述第一信息;所述连接跟踪子模块用于接收所述开放虚拟交换模块发送的数据报文;所述连接跟踪子模块还用于确定所述数据报文是否为数据通道的首包;所述连接跟踪子模块还用于若所述连接跟踪子模块确定所述数据报文为所述数据通道的首包,向所述报文期望子模块发送所述数据报文;所述报文期望子模块还用于接收所述连接跟踪子模块发送的所述数据报文,并根据所述数据报文向所述连接跟踪子模块发送所述第一信息;所述连接跟踪子模块还用于接收所述报文期望子模块发送的所述第一信息。4.根据权利要求3所述的系统,其特征在于,所述开放虚拟交换模块还用于:在所述应用层网关模块根据所述控制报文的应用层信息确定所述第一信息之前,接收所述控制报文,并将所述控制报文发送给所述连接跟踪子模块;所述连接跟踪子模块还用于接收所述开放虚拟交换模块发送的所述控制报文;所述连接跟踪子模块还用于向所述应用层网关模块发送所述控制报文;所述应用层网关模块还用于接收所述连接跟踪子模块发送的所述控制报文;所述应用层网关模块还用于在接收到所述控制报文之后,解析所述控制报文的应用层信息得到所述第一信息,并将所述第一信息发送给所述报文期望子模块。5.根据权利要求4所述的系统,其特征在于,所述系统还包括工作在用户态下的解析模块,所述连接跟踪子模块用于确定所述控制报文是否为控制通道的首包;所述连接跟踪子模块还用于若所述控制报文为所述控制通道的首包,向所述解析模块发送所述控制报文;所述解析模块用于接收所述控制报文,并确定是否需要解析所述控制报文的应用层信息;所述解析模块还用于若所述确定需要解析所述控制报文的应用层信息,则向所述连接跟踪子模块发送指示信息,所述指示信息用于指示需要解析所述控制报文的应用层信息;所述连接跟踪子模块用于接收所述指示信息,并根据所述指示信息将向所述应用层网关模块发送所述控制报文。6.根据权利要求4或5所述的系统,其特征在于,所述系统还包括适配模块,所述连接跟踪子模块还用于向所述适配模块发送所述控制报文;所述适配模块用于接收所述连接跟踪子模块发送的所述控制报文,并将所述控制报文的在用户态下的格式转换为所述控制报文在内核态下的格式;所述应用层网关模块还用于接收所述适配模块发送的所述控制报文。7.一种传输报文的方法,应用于传输报文的系统,所述系统包括工作在用户态下的开放虚拟交换模块和连接模块,其特征在于,所述方法包括:所述开放虚拟交换模块接收数据报文;所述开放虚拟交换模块向所述连接模块发送所述数据报文,所述连接模块保存有...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。