一种适用于网络测试仪的动态IP分发方法及系统技术方案

技术编号:37719451 阅读:11 留言:0更新日期:2023-06-02 00:17
本申请提供一种适用于网络测试仪的动态IP分发方法及系统,所述动态IP分发方法应用于网络测试仪,所述方法包括:获取TCP/IP协议栈发送的报文;基于所述报文确定用户的IP地址;根据所述IP地址,在预设的字典树内查找所述IP地址对应的线程标识,将所述用户的报文分发至所述线程标识对应的线程中进行处理。本申请网络测试仪根据获取到的报文确定用户的IP地址,在预设的字典树内查找所述IP地址对应的线程标识,根据线程标识将用户的报文分发至对应的线程中进行处理,相比传统技术,便于满足网络测试仪对动态IP分发的性能需求。测试仪对动态IP分发的性能需求。测试仪对动态IP分发的性能需求。

【技术实现步骤摘要】
一种适用于网络测试仪的动态IP分发方法及系统


[0001]本申请涉及IP分发的
,具体涉及一种适用于网络测试仪的动态IP分发方法及系统。

技术介绍

[0002]随着网络的飞速发展,网络的稳定和安全在企事业单位里变得举足轻重,网络管理员的责任也随之加重,繁重的网络故障也将随之而来。
[0003]目前,网络管理员会使用网络测试仪对网络进行故障检测以及维护。网络测试仪是一种高性能测试仪,涉及多线程TCP/IP协议栈架构。在协议仿真中,同一个源IP属于同一个仿真用户,网络测试仪为了高效地处理用户业务,需要将同一用户IP的报文分发至同一线程中处理,从而避免互斥锁带来的性能损耗。其中,静态IP段可通过固定算法绑定固定线程分发,而动态IP(DHCP/PPPoE)没有规则可循,只能通过动态算法决定分发线程。因此,IP分发的方案设计显得至关重要。但是,现有的IP数组分发方式因为动态IP值不能保证连续,所以数组查找需要使用遍历查找方式,算法复杂度为O(n),不适用于较大的IP数量,存在性能问题;IP哈希表分发方式由于不同IP数量将影响哈希表元素个数的分配,从而加大了分发复杂度,而当分配的哈希表元素个数过大时,还将造成存储空间的浪费。
[0004]因此,上述两种方式均不能很好地满足网络测试仪对动态IP分发的性能需求。

技术实现思路

[0005]本申请提供了一种适用于网络测试仪的动态IP分发方法及系统。本申请网络测试仪根据获取到的报文确定用户的IP地址,在预设的字典树内查找所述IP地址对应的线程标识,根据线程标识将用户的报文分发至对应的线程中进行处理,相比传统技术,便于满足网络测试仪对动态IP分发的性能需求。
[0006]在本申请第一方面提供了一种适用于网络测试仪的动态IP分发方法,应用于网络测试仪,所述方法包括:获取TCP/IP协议栈发送的报文;基于所述报文确定用户的IP地址;根据所述IP地址,在预设的字典树内查找所述IP地址对应的线程标识,将所述用户的报文分发至所述线程标识对应的线程中进行处理。
[0007]通过采用上述技术方案,首先,网络测试仪获取TCP/IP协议栈发送的报文,再基于该报文确定用户的IP地址,接下来,网络测试仪在预设的字典树中查找该IP地址对应的线程标识,最后将用户的报文分发至该线程标识对应的线程中进行处理,相比传统技术,不仅保障了网络测试仪在分发IP过程中存储和查找的效率,还进一步满足了网络测试仪对动态IP分发的性能需求。
[0008]可选的,在所述获取TCP/IP协议栈发送的报文之前,所述方法还包括:将所述IP地址抽象为定长字节数组;
将所述定长字节数组存储至字典树中。
[0009]通过采用上述技术方案,在网络测试仪获取TCP/IP协议栈发送的报文之前,网络测试仪将对IP地址进行抽象化,从而将IP地址抽象为定长字节数组,再将该定长字节数组存储至字典树中。由此,满足了网络测试仪以IP地址前缀字节为单位的特性,并将该特性应用至字典树中进行存储,从而便于提高网络测试仪对动态IP的存储效率。
[0010]可选的,判断所述IP地址的地址类型,所述地址类型包括IPV4地址和IPV6地址;当所述地址类型为IPV4地址时,确定所述定长字节数组为4字节数组;当所述地址类型为IPV6地址时,确定所述定长字节数组为16字节数组。
[0011]通过采用上述技术方案,网络测试仪将判断IP地址的地址类型,能够同时兼容IPV4地址和IPV6地址,即将IPV4地址对应抽象为4字节数组,将IPV6地址对应抽象为16字节数组。由此,IPV4字典树查找仅需4次寻址,IPV6字典树查找仅需16次寻址,进一步节省了网络测试仪对IP地址对应的线程的查找时间,提高了网络测试仪对IP地址的分发效率。
[0012]可选的,所述将所述定长字节数组存储至字典树中,包括:将所述定长字节数组中的各字节依次存储至所述字典树的枝干节点、下层枝干节点以及下层枝干节点对应的叶子节点中;判断所述字典树中的根节点是否初始化;若所述根节点未初始化,则初始化所述根节点;若所述根节点已初始化,则判断所述根节点对应索引的枝干节点是否初始化;若所述根节点对应索引的枝干节点未初始化,则初始化所述根节点对应索引的枝干节点;若所述根节点对应索引的枝干节点已初始化,则判断所述枝干节点对应索引的下层枝干节点是否初始化;若所述枝干节点对应索引的下层枝干节点未初始化,则初始化所述枝干节点对应索引的下层枝干节点;若所述枝干节点对应索引的下层枝干节点已初始化,则判断所述下层枝干节点对应索引的叶子节点是否初始化;若所述下层枝干节点对应索引的叶子节点未初始化,则初始化所述下层枝干节点对应索引的叶子节点;若所述下层枝干节点对应索引的叶子节点已初始化,则将所述线程标识存储至所述下层枝干节点对应索引的叶子节点中。
[0013]通过采用上述技术方案,网络测试仪通过判断字典树的根节点、枝干节点、下层枝干节点、以及叶子节点是否初始化,初始化便于为网络测试仪节省内存,从而为定长字节数组分配更多的内存,便于对定长字节数组进行存储。
[0014]可选的,所述根据所述IP地址,在预设的字典树内查找所述IP地址对应的线程标识,包括:判断所述字典树中的根节点是否初始化;若所述根节点已初始化,则判断所述根节点对应索引的枝干节点是否初始化;若所述根节点对应索引的枝干节点已初始化,则判断所述枝干节点对应索引的下层枝干节点是否初始化;
若所述枝干节点对应索引的下层枝干节点已初始化,则判断所述下层枝干节点对应索引的叶子节点是否初始化;若所述下层枝干节点对应索引的叶子节点已初始化,则判断所述叶子节点对应索引的线程标识是否存储;若所述叶子节点对应索引的线程标识已存储,则返回存储在所述叶子节点中的所述线程标识。
[0015]通过采用上述技术方案,网络测试仪通过对字典树中的根节点、枝干节点、下层枝干节点以及叶子节点是否初始化进行判断,初始化便于为网络测试仪节省内存,从而为网络测试仪查找用户IP对应的线程标识提供内存,便于提高网络测试仪对线程标识查找的效率。
[0016]可选的,若所述根节点和/或所述枝干节点和/或所述下层枝干节点和/或所述叶子节点未初始化,则确定对应索引的所述线程标识查找失败,并返回无效的线程标识。
[0017]通过采用上述技术方案,网络测试仪通过对字典树中的根节点、枝干节点以及叶子节点是否初始化进行判断,当根节点和/或枝干节点和/或下层枝干节点和/或叶子节点未初始化,则网络测试仪确定用户IP对应的线程标识查找失败,并返回无效的线程标识。由此,便于网络测试仪在字典树中查找有效的线程标识,从而满足了网络测试仪对动态IP分发的性能需求。
[0018]可选的,所述将所述用户的报文分发至所述线程标识对应的线程中进行处理,包括:在多个线程中确定所述线程标识对应的目标线程;判断所述用户的报文是否为存入所述目标线程以外的线程的报文;若所述用户的报文为存入所述目标线程以外的线程的报文,则丢弃所述用户的报文。
[0019]通过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种适用于网络测试仪的动态IP分发方法,其特征在于,应用于网络测试仪,所述方法包括:获取TCP/IP协议栈发送的报文;基于所述报文确定用户的IP地址;根据所述IP地址,在预设的字典树内查找所述IP地址对应的线程标识,将所述用户的报文分发至所述线程标识对应的线程中进行处理。2.根据权利要求1所述的动态IP分发方法,其特征在于,在所述获取TCP/IP协议栈发送的报文之前,所述方法还包括:将所述IP地址抽象为定长字节数组;将所述定长字节数组存储至字典树中。3.根据权利要求2所述的动态IP分发方法,其特征在于,所述方法还包括:判断所述IP地址的地址类型,所述地址类型包括IPV4地址和IPV6地址;当所述地址类型为IPV4地址时,确定所述定长字节数组为4字节数组;当所述地址类型为IPV6地址时,确定所述定长字节数组为16字节数组。4.根据权利要求2所述的动态IP分发方法,其特征在于,所述将所述定长字节数组存储至字典树中,包括:将所述定长字节数组中的各字节依次存储至所述字典树的枝干节点、下层枝干节点以及下层枝干节点对应的叶子节点中;判断所述字典树中的根节点是否初始化;若所述根节点未初始化,则初始化所述根节点;若所述根节点已初始化,则判断所述根节点对应索引的枝干节点是否初始化;若所述根节点对应索引的枝干节点未初始化,则初始化所述根节点对应索引的枝干节点;若所述根节点对应索引的枝干节点已初始化,则判断所述枝干节点对应索引的下层枝干节点是否初始化;若所述枝干节点对应索引的下层枝干节点未初始化,则初始化所述枝干节点对应索引的下层枝干节点;若所述枝干节点对应索引的下层枝干节点已初始化,则判断所述下层枝干节点对应索引的叶子节点是否初始化;若所述下层枝干节点对应索引的叶子节点未初始化,则初始化所述下层枝干节点对应索引的叶子节点;若所述下层枝干节点对应索引的叶子节点已初始化,则将所述线程标识存储至所述下层枝干节点对应索引的叶子节点中。5.根据权利要求1所述的动态IP分发方法,其特征在于,所述根据所述IP地址,在预设的字典树内查找所述IP地址对应的线程标识,包括:判断所述字典树中的根节点是否初始化;若所述根节点已初始化,则判断所述根节点对应索引的枝干节点是否初始化;若所述根节点对应索引的枝干节...

【专利技术属性】
技术研发人员:杨周亮
申请(专利权)人:北京信而泰科技股份有限公司
类型:发明
国别省市:

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

1