本发明涉及网络地址转换领域,具体而言,涉及一种nat数据流处理方法、装置和计算机设备。
背景技术:
1、现有的路由设备nat(network address translation,网络地址转换)基本都支持硬件加速,加速分为建立连接,创建加速条目,执行加速这几个过程,所以要实现加速必须要有相应的加速条目。实际产品中硬件上支持的加速条目数量有限,导致在高负载高并发的情况下,未考虑不同流量类型或不同设备类型间的优先级差异,条目占满或者条目冲突导致部分较大流量或高优先级流量无法使用加速条目,影响实际加速效果。
2、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明实施例提供了一种nat数据流处理方法、装置和计算机设备,以至少解决nat加速条目有限导致高优先级流量无法加速,影响加速效果的技术问题。
2、根据本发明实施例的一个方面,提供了一种nat数据流处理方法,包括:获取nat数据流对应的流量类型和终端设备的设备类型;基于设备类型和/或流量类型,确定nat数据流对应的评分值;在评分值大于预定阈值的情况下,为nat数据流分配nat条目。
3、可选地,获取nat数据流对应的设备类型,包括以下至少之一:从nat数据流的mac(media access control,媒体访问控制)地址中获取设备类型;在nat数据流对应的终端设备通过动态主机配置协议dhcp(dynamic host configuration protocol)请求获取ip(internet protocol,互联网协议)地址的情况下,从dhcp请求中获取设备类型;通过简单网络管理协议snmp(simple network management protocol)查询获取nat数据流对应的终端设备的管理信息库mib(management information base)信息,基于mib信息获取设备类型;基于nat数据流对应的终端设备的网络行为特征,获取设备类型;基于nat数据流对应的终端设备的信号特征,获取设备类型;通过深度包检测dpi(deep packet inspection)方法检测nat数据流中包括的应用层信息,得到设备类型;基于路由器的管理界面接收输入的设备类型;基于路由器的第三方插件的增强识别能力,识别出设备类型。
4、可选地,获取nat数据流对应的流量类型,包括以下至少之一:基于nat数据流中的目标端口号匹配端口映射规则,基于端口映射规则确定流量类型;基于nat数据流中的有效载荷,确定流量类型;基于nat数据流的行为特征,确定流量类型;基于nat数据流的源地址和目的地址,确定流量类型。
5、可选地,基于设备类型和/或流量类型,确定nat数据流对应的评分值,包括以下至少之一:获取设备类型对应的评分因素,基于评分因素,确定第一评分值,并将第一评分值确定为nat数据流对应的评分值,其中,评分因素包括以下至少之一:设备使用的频率、功能多样性、对实时通信的需求、是否涉及关键任务、数据传输量、用户体验影响以及对整体网络性能的影响;获取流量类型对应的服务质量qos(quality of service),基于qos确定第二评分值,并将第二评分值确定为nat数据流对应的评分值;结合第一评分值和第二评分值,确定nat数据流对应的评分值。
6、可选地,在评分值大于预定阈值的情况下,为nat数据流分配nat条目,包括:在评分值大于预定阈值,并且当前不存在可用加速条目的情况下,比较nat数据流与当前在加速的当前加速nat数据流的优先级;在nat数据流的优先级高于当前加速nat数据流的优先级的情况下,将为当前加速nat数据流加速的条目分配给nat数据流;或者,在当前加速nat数据流的优先级低于优先级阈值的情况下,将为当前加速nat数据流加速的条目分配给nat数据流。
7、可选地,上述方法还包括:定期清理活跃度低于活跃度阈值的占用加速条目的nat数据流。
8、根据本发明实施例的另一方面,还提供了一种nat数据流处理装置,包括:获取模块,获取nat数据流对应的流量类型和终端设备的设备类型;确定模块,基于设备类型和/或流量类型,确定nat数据流对应的评分值;分配模块,在评分值大于预定阈值的情况下,为nat数据流分配nat条目。
9、根据本发明的还一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的可执行程序,其中,在所述可执行程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的nat数据流处理方法。
10、根据本发明的再一方面,提供了一种电子设备,包括:存储器,存储有可执行程序;处理器,用于运行所述程序,其中,所述程序运行时执行上述任意一项所述的nat数据流处理方法。
11、根据本发明的再一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述中任意一项nat数据流处理方法。
12、在本发明实施例中,采用nat数据流处理方法,通过获取nat数据流对应的流量类型和终端设备的设备类型;基于设备类型和/或流量类型,确定nat数据流对应的评分值;在评分值大于预定阈值的情况下,为nat数据流分配nat条目,由于在为nat数据流分配nat条目时,考虑了nat数据流所对应的设备类型和/或流量类型,使得在对nat数据流进行加速处理时,考虑设备类型和/或流量类型所对应的优先级,能够达到评分值较高(即优先级高)的nat数据流被优先加速的目的,从而实现了有针对性地依据设备类型和/或流量类型来对nat数据流进行加速的技术效果,进而解决了nat加速条目有限导致高优先级流量无法加速,影响加速效果的技术问题。
1.一种nat数据流处理方法,其特征在于:
2.根据权利要求1所述的方法,其特征在于,所述获取nat数据流对应的设备类型,包括以下至少之一:
3.根据权利要求1所述的方法,其特征在于,所述获取nat数据流对应的流量类型,包括以下至少之一:
4.根据权利要求1所述的方法,其特征在于,所述基于所述设备类型和/或所述流量类型,确定所述nat数据流对应的评分值,包括以下至少之一:
5.根据权利要求1所述的方法,其特征在于,所述在所述评分值大于预定阈值的情况下,为所述nat数据流分配nat条目,包括:
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述方法还包括:定期清理活跃度低于活跃度阈值的占用加速条目的nat数据流。
7.一种nat数据流处理装置,其特征在于,包括:
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的可执行程序,其中,在所述可执行程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至6中任意一项所述的nat数据流处理方法。
9.一种电子设备,其特征在于,包括:
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述nat数据流处理方法的步骤。