网络数据包的服务质量处理方法、装置、设备和可读介质制造方法及图纸

技术编号:34771234 阅读:70 留言:0更新日期:2022-08-31 19:33
本公开提供一种网络数据包的服务质量处理方法、装置、设备和可读介质,其中,网络数据包的服务质量处理方法包括:调用数据包过滤模块获取套接字对应的服务类型字段值;将服务类型字段值缓存至套接字的元数据中;基于缓存的服务类型字段值对路由后的网络数据包进行封包处理。通过本公开实施例,减少了服务类型字段值更新所需的开销,降低了网络数据包的交互压力。压力。压力。

【技术实现步骤摘要】
网络数据包的服务质量处理方法、装置、设备和可读介质


[0001]本公开涉及网络
,具体而言,涉及一种网络数据包的服务质量处理方法、装置、设备和可读介质。

技术介绍

[0002]目前,如果用户想设置某个连接的服务类型(tos),除了在代码中调用setsockopt(套接口设置)函数之外,主要通过iptables的Mangle表的tos参数进行设置,其中,iptables是与最新的3.5版本Linux内核集成的IP信息包过滤系统。
[0003]在相关技术中,在代码中调用setsockopt固然可以设置服务类型字段值,但是一旦编译成二进制之后,服务类型字段值便无法动态修改,如果要修改服务类型字段值,必须重新改源代码,重新编译才能实现。
[0004]但是,Mangle表对数据包进行重新封装的操作包括修改服务类型(tos)和TTL(Time To Live,生存时间)等字段,通过iptables设置服务类型字段值是在每个发出的包经过Mangle表时,动态地修改ip头中的tos字段来实现,这就需要对符合修改要求的每个网络数据包的服务类型字段值进行修改并重新封装,之后才能进行发送。当网络数据包的流量很大时,设置服务类型字段值的开销也会相应地增加,给网络系统带来一定的负担。
[0005]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0006]本公开的目的在于提供一种网络数据包的服务质量处理方法、装置、设备和可读介质,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的服务类型字段值更新的网络开销大的问题。
[0007]根据本公开实施例的第一方面,提供一种网络数据包的服务质量处理方法,包括:调用数据包过滤模块获取套接字对应的服务类型字段值;将所述服务类型字段值缓存至所述套接字的元数据中;基于缓存的服务类型字段值对路由后的网络数据包进行封包处理。
[0008]在本公开的一种示例性实施例中,在调用数据包过滤模块获取套接字对应的服务类型字段值前,还包括:在内核态加入所述数据包过滤模块,所述数据包过滤模块用于对用户态的服务类型字段图表进行更新;在所述内核态的协议栈的网络数据包的服务质量处理加入所述数据包过滤模块的调用点,其中,所述服务类型字段图表中包括所述网络数据包的四元组与所述服务类型字段值之间的对应关系。
[0009]在本公开的一种示例性实施例中,还包括:触发所述用户态下所述网络数据包对应的配置文件或命令行参数确定所述对应关系;将所述对应关系写入所述服务类型字段图表。
[0010]在本公开的一种示例性实施例中,还包括:确定封包后的所述网络数据包的服务类型字段值;根据所述服务类型字段值对封包后的所述网络数据包进行分类控制处理。
[0011]在本公开的一种示例性实施例中,所述数据包过滤模块包括eBPF模块。
[0012]在本公开的一种示例性实施例中,所述服务类型字段值包括tos值。
[0013]在本公开的一种示例性实施例中,所述四元组为所述网络数据包对应的源IP地址、源端口、目标IP地址和目标端口。
[0014]根据本公开实施例的第二方面,提供一种网络数据包的服务质量处理装置,包括:调用模块,设置为调用数据包过滤模块获取套接字对应的服务类型字段值;缓存模块,设置为将所述服务类型字段值缓存至所述套接字的元数据中;封包模块,设置为基于缓存的服务类型字段值对路由后的网络数据包进行封包处理。
[0015]根据本公开的第三方面,提供一种电子设备,包括:存储器;以及耦合到所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述任意一项所述的方法。
[0016]根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项所述的网络数据包的服务质量处理方法。
[0017]本公开实施例,通过调用数据包过滤模块获取套接字对应的服务类型字段值,并将所述服务类型字段值缓存至所述套接字的元数据中,进而基于缓存的服务类型字段值对路由后的网络数据包进行封包处理,提高了服务类型字段值更新的效率和灵活性,减少了服务类型字段值更新所需的开销,降低了网络数据包的交互压力。
[0018]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0019]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1示出了可以应用本专利技术实施例的网络数据包的服务质量处理方案的示例性系统架构的示意图;
[0021]图2是本公开示例性实施例中一种网络数据包的服务质量处理方法的流程图;
[0022]图3是本公开示例性实施例中另一种网络数据包的服务质量处理方法的流程图;
[0023]图4是本公开示例性实施例中另一种网络数据包的服务质量处理方法的流程图;
[0024]图5是本公开示例性实施例中另一种网络数据包的服务质量处理方法的流程图;
[0025]图6是本公开示例性实施例中另一种网络数据包的服务质量处理方案的交互示意图;
[0026]图7是本公开示例性实施例中一种网络数据包的服务质量处理装置的方框图;
[0027]图8是本公开示例性实施例中一种电子设备的方框图。
具体实施方式
[0028]现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加
全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
[0029]此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0030]图1示出了可以应用本专利技术实施例的网络数据包的服务质量处理方案的示例性系统架构的示意图。
[0031]如图1所示,系统架构100可以包括终端本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络数据包的服务质量处理方法,其特征在于,包括:调用数据包过滤模块获取套接字对应的服务类型字段值;将所述服务类型字段值缓存至所述套接字的元数据中;基于缓存的服务类型字段值对路由后的网络数据包进行封包处理。2.如权利要求1所述的网络数据包的服务质量处理方法,其特征在于,在调用数据包过滤模块获取套接字对应的服务类型字段值前,还包括:在内核态加入所述数据包过滤模块,所述数据包过滤模块用于对用户态的服务类型字段图表进行更新;在所述内核态的协议栈的网络数据包的服务质量处理进程中加入所述数据包过滤模块的调用点,所述套接字在首次路由后调用所述数据包过滤模块获取所述服务类型字段值并缓存至所述套接字的元数据中,其中,所述服务类型字段图表中包括所述网络数据包的四元组与所述服务类型字段值之间的对应关系。3.如权利要求2所述的网络数据包的服务质量处理方法,其特征在于,还包括:触发所述用户态下所述网络数据包对应的配置文件或命令行参数确定所述对应关系;将所述对应关系写入所述服务类型字段图表。4.如权利要求1所述的网络数据包的服务质量处理方法,其特征在于,还包括:确定封包后的所述网络数据包的服务类型字段值;根据所述服务类型字段值对封包后的所述网络数据包进行分类控制处理。5.如权利要求1<...

【专利技术属性】
技术研发人员:赵小强张伟孙春明陈亚辉赵建星
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

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

1