CN113873056B - 一种ip快速范围匹配的方法及系统 - Google Patents
一种ip快速范围匹配的方法及系统 Download PDFInfo
- Publication number
- CN113873056B CN113873056B CN202111126037.5A CN202111126037A CN113873056B CN 113873056 B CN113873056 B CN 113873056B CN 202111126037 A CN202111126037 A CN 202111126037A CN 113873056 B CN113873056 B CN 113873056B
- Authority
- CN
- China
- Prior art keywords
- range
- value
- linked list
- address
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种IP快速范围匹配的方法,所述方法包括以下步骤:步骤S1、加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,将IP范围地址的起始值和结束值的结构体链表value函数的Map对象中;步骤S2、将Map对象中的IP范围地址的起始值和结束值的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址;步骤S3、将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B;步骤S4、判断匹配是否成功,是,则返回对应的IP范围地址的链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内;本发明能够实现待匹配的IP范围地址进行IP匹配。
Description
技术领域
本发明涉及计算机网络技术领域,特别是一种IP快速范围匹配的方法及系统。
背景技术
目前的IP限制一般采用软件防火墙或者硬件防火墙的方式进行限制,但是软件防火墙的范围匹配算法效率低、维护困难;硬件防火墙存在高昂的采购价格,配置规则复杂、维护困难等问题。
发明内容
为克服上述问题,本发明的目的是提供一种能够实现在IP范围地址进行IP匹配的方法。
本发明采用以下方案实现:一种IP快速范围匹配的方法,所述方法包括以下步骤:
步骤S1、加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,以及结构体链表为value函数的信息,保存至Map对象中,所述结构体链表记载IP范围的起始值和结束值;
步骤S2、将Map对象中的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;
步骤S3、将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;
步骤S4、判断匹配是否成功,是,则返回对应的结构体链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
进一步的,所述步骤S1进一步具体为:通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key密钥,结构体链表为value函数的Map对象中;将IP范围地址转化为Map对象的流程为:按分割符分割IP范围地址字符串和Mask字符串,将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1,将Mask字符串转化为整数类型,并按公式转化为IP的起始值和结束值并保存到IpRang结构体中,将IpRang结构体保存到Map对象u1为Key密钥对应的结构体链表中。
进一步的,所述步骤S2中的整合连接IP范围地址具体为:遍历整个结构体链表,每次二个结构体进行比较,每次递增一位,依次循环,直至最后一个结构体。
进一步的,所述步骤S4中的二分查找算法具体为:整个结构体链表从小到大排序,通过每次取中间的值与要匹配的值进行匹配。
本发明还提供了一种IP快速范围匹配的系统,包括加载模块、整合模块、匹配模块和判断模块,所述加载模块,即加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,以及结构体链表为value函数的信息,保存至Map对象中,所述结构体链表记载IP范围的起始值和结束值;所述整合模块,即将Map对象中的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;所述匹配模块,即将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;所述判断模块,即判断匹配是否成功,是,则返回对应的结构体链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
进一步的,所述加载模块进一步具体为:通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key密钥,结构体链表为value函数的Map对象中;将IP范围地址转化为Map对象的流程为:按分割符分割IP范围地址字符串和Mask字符串,将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1,将Mask字符串转化为整数类型,并按公式转化为IP的起始值和结束值并保存到IpRang结构体中,将IpRang结构体保存到Map对象u1为Key密钥对应的结构体链表中。
进一步的,所述整合模块中的整合连接IP范围地址具体为:遍历整个结构体链表,每次二个结构体进行比较,每次递增一位,依次循环,直至最后一个结构体。
进一步的,所述判断模块中的二分查找算法具体为:整个结构体链表从小到大排序,通过每次取中间的值与要匹配的值进行匹配。
本发明的有益效果在于:本发明能够在十几万条待匹配的IP范围地址进行IP匹配,达到了微秒级的响应速度;应用在游戏账号服务端,通过灵活控制IP的放行以及限制,保证账服长久稳定运行,为游戏用户正常登录游戏提供保障,提升游戏用户的体验。
附图说明
图1是本发明的方法流程示意图。
图2是本发明的系统原理框图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种IP快速范围匹配的方法,所述方法包括以下步骤:
步骤S1、加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,以及结构体链表为value函数的信息,保存至Map对象中,所述结构体链表记载IP范围的起始值和结束值;
步骤S2、将Map对象中的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;
步骤S3、将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;
步骤S4、判断匹配是否成功,是,则返回对应的结构体链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
下面通过一具体实施例对本发明作进一步说明:
1.加载IP范围列表文件,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key,IP起始值和结束值的结构体链表为value函数的Map对象中;通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,并按指定规则解析;
例:122.191.32.0/19 转化到Map对象 122 {2059345920, 2059354111} 。
122.191.32.0/19转化流程:122.191.32.0/19 -- 就是从文件中读取出来一行的内容;
流程一、按“/”分割为IP字符串“122.191.32.0”和Mask字符串“19”。
流程二、将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1;通过sscanf_s函数,将IP字符串按“%u.%u.%u.%u”分割为4个无符号类型变量u1\u2\u3\u4,并判断每个变量是否小于等于255。如果有大于255的就说明这个IP字符串不是正确的,不再进行下去。如果都小于等于255,将其转化为无符号长整型数据UlIP,其值等于u1乘于256的立方加上u2乘于256的平方加上u3乘于256加上u4。
流程三、将Mask字符串转化为整数类型,并按公式转化为IP的起始值和结束值并保存到IpRang结构体中;通过atoi函数,将步骤一中得到的Mask字符串“9”转化为整型数值9,将0xFFFFFFFF 右移 9位,并取反得到nMask的值;将步骤二中得到的ulIP 按位与上nMask,得到IP范围的起始值;将IP范围的起始值按位或上述nMask 取反的值,得到IP范围的结束值;
流程四、将IpRang结构体保存到map对象u1为Key对应的Ip范围地址链表中。
Map对象 :以Ip首地址对应存放IP范围起始值和结束值的链表;
List对象:存放一个或者多个IP范围结构体的链表;
List对象中存放的结构体:IP范围的起始值和结束值(IP_RANG 一个表示IP范围的结构体,里面有二个无符号长整理变量, dwStartIp表示起始值,dwEndIp表示结束值。List链表里面存放着一个或者多个这样的结构体。例:有一个IP字符串的范围,经过转化表示1000-1100的都在这个范围内,那个dwStartIp 的值就是1000, dwEndIp的值就是1100)。
2.对Map中的保存IP起始值和结束值的结构体链表首先按照从小到大的顺序进行排序、去重、去包含、整合连接的Ip范围,减少链表的内容。所述整合连接的Ip范围具体为:遍历整个List链表,每次二个结构体(A-B)进行比较,每次递增一位(像A-B,B-C,C-D这样一直循环,只到最后一个结构体)。整合一:B的开始值减A的结束值等于1(A、B的范围是连续的),或者B的开始值等于A的开始值并且B的结束值大于A的结束值(B的范围包含A的范围,A、B的起始值相同),那么将B的结束值赋于A的结束值,并将B删除。
整合二:B的开始值小于等于A的结束值,并且B的结束值也小于等于A的结束值(A的范围包含了B的范围),直接将B删除。
整合三:B的开始值小于等于A的结束值,但是B的结束值也大于A的结束值(A的范围和B的范围部分重合),那么将B的结束值赋于A的结束值,并将B删除。
将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用A为Key到Map中匹配,匹配失败则返回待匹配IP不在Ip范围内;匹配成功返回对应的结构体链表C,使用自定义二分查找算法在链表C中匹配B,并返回匹配结果。
所述二分查找算法具体为:因为整个链表是按从小到大排序的。二分查找法也就是对半查找法。每次都是取中间的值与要匹配的值进对匹配。
有10000个IP地址,我要匹配最后一个IP地址。
按顺序匹配 ->需要10000次。
二分查找法 ->需要14次。
举例说明:
如果我要匹配的是6000。
取得5000的值与6000对比,结果是5000比6000小,范围就变成了5000-10000 。
从5000-10000取对半与6000对比,即7500与6000对比,结果是7500比6000大,范围变成5000-7500。
从5000-7500取对半与6000对比,即6250与6000对比,结果是6250比6000大,范围变成5000-6250。
以此类推,直到匹配成功,或者到最后范围只有一个值的时候都没有匹配成功。
总之,将需要匹配的IP范围地址列表加载到内存,以特定的格式储存,(特定的格式:保存IP地址范围的结构定义,能储存到内存中)将需要匹配的IP地址转化为特定类型(IP_RANG结构体)数据,采用二分法与内存中特定格式的IP范围列表进行匹配,并反馈匹配结果;反馈给调用方,返回true(正确)或者false(错误),也就是表示匹配成功或者失败。
请参阅图2所示,本发明还提供了一种IP快速范围匹配的系统,包括加载模块、整合模块、匹配模块和判断模块,所述加载模块,即加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,以及结构体链表为value函数的信息,保存至Map对象中,所述结构体链表记载IP范围的起始值和结束值;所述整合模块,即将Map对象中的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;所述匹配模块,即将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;所述判断模块,即判断匹配是否成功,是,则返回对应的结构体链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
所述加载模块进一步具体为:通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key密钥,结构体链表为value函数的Map对象中;将IP范围地址转化为Map对象的流程为:按分割符分割IP范围地址字符串和Mask字符串,将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1,将Mask字符串转化为整数类型,并按公式转化为IP的起始值和结束值并保存到IpRang结构体中,将IpRang结构体保存到Map对象u1为Key密钥对应的结构体链表中。
所述整合模块中的整合连接IP范围地址具体为:遍历整个结构体链表,每次二个结构体进行比较,每次递增一位,依次循环,直至最后一个结构体。
所述判断模块中的二分查找算法具体为:整个结构体链表从小到大排序,通过每次取中间的值与要匹配的值进行匹配。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (8)
1.一种IP快速范围匹配的方法,其特征在于,所述方法包括以下步骤:
步骤S1、加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,以及结构体链表为value函数的信息,保存至Map对象中,所述结构体链表记载IP范围的起始值和结束值;
步骤S2、将Map对象中的所述结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少所述结构体链表的内容;
步骤S3、将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;
步骤S4、判断匹配是否成功,是,则返回对应的结构体链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
2.根据权利要求1所述的一种IP快速范围匹配的方法,其特征在于:所述步骤S1进一步具体为:通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key密钥,结构体链表为value函数的Map对象中;将所述结构体链表保存至为Map对象的流程为:按分割符分割IP范围地址字符串和Mask字符串,将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1,即通过sscanf_s函数,将IP字符串按“%u.%u.%u.%u”分割为4个无符号类型变量u1u2u3u4,并判断每个变量是否小于等于255,如果有大于255的就说明这个IP字符串不是正确的,不再进行下去;如果都小于等于255,将其转化为无符号长整型数据UlIP,其值等于u1乘于256的立方加上u2乘于256的平方加上u3乘于256加上u4;将Mask字符串转化为整数类型,并按公式将Mask转化为IP的起始值和结束值并保存到IpRang结构体中,即通过atoi函数,将Mask字符串转化为整型数值,将0xFFFFFFFF以整型数值的大小进行右移,并取反得到nMask的值将得到的ulIP 按位与上述nMask,得到IP范围的起始值;将IP范围的起始值按位或上述nMask取反的值,得到IP范围的结束值,并保存到IpRang结构体中,再将IpRang结构体保存到Map对象中Key密钥为u1的结构体链表中。
3.根据权利要求1所述的一种IP快速范围匹配的方法,其特征在于:所述步骤S2中的整合连接IP范围地址具体为:遍历整个结构体链表,每次二个结构体进行比较,每次递增一位,依次循环,直至最后一个结构体。
4.根据权利要求1所述的一种IP快速范围匹配的方法,其特征在于:所述步骤S4中的二分查找算法具体为:整个结构体链表从小到大排序,通过每次取中间的值与要匹配的值进行匹配。
5.一种IP快速范围匹配的系统,其特征在于:包括加载模块、整合模块、匹配模块和判断模块,所述加载模块,即加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,以及结构体链表为value函数的信息,保存至Map对象中,所述结构体链表记载IP范围的起始值和结束值;所述整合模块,即将Map对象中的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;所述匹配模块,即将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;所述判断模块,即判断匹配是否成功,是,则返回对应的结构体链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
6.根据权利要求5所述的一种IP快速范围匹配的系统,其特征在于:所述加载模块进一步具体为:通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key密钥,结构体链表为value函数的Map对象中;将所述结构体链表保存至为Map对象的流程为:按分割符分割IP范围地址字符串和Mask字符串,将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1,即通过sscanf_s函数,将IP字符串按“%u.%u.%u.%u”分割为4个无符号类型变量u1u2u3u4,并判断每个变量是否小于等于255,如果有大于255的就说明这个IP字符串不是正确的,不再进行下去;如果都小于等于255,将其转化为无符号长整型数据UlIP,其值等于u1乘于256的立方加上u2乘于256的平方加上u3乘于256加上u4;将Mask字符串转化为整数类型,并按公式将Mask转化为IP的起始值和结束值并保存到IpRang结构体中,即通过atoi函数,将Mask字符串转化为整型数值,将0xFFFFFFFF以整型数值的大小进行右移,并取反得到nMask的值将得到的ulIP 按位与上述nMask,得到IP范围的起始值;将IP范围的起始值按位或上述nMask取反的值,得到IP范围的结束值,并保存到IpRang结构体中,再将IpRang结构体保存到Map对象中Key密钥为u1的结构体链表中。
7.根据权利要求5所述的一种IP快速范围匹配的系统,其特征在于:所述整合模块中的整合连接IP范围地址具体为:遍历整个结构体链表,每次二个结构体进行比较,每次递增一位,依次循环,直至最后一个结构体。
8.根据权利要求5所述的一种IP快速范围匹配的系统,其特征在于:所述判断模块中的二分查找算法具体为:整个结构体链表从小到大排序,通过每次取中间的值与要匹配的值进行匹配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111126037.5A CN113873056B (zh) | 2021-09-24 | 2021-09-24 | 一种ip快速范围匹配的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111126037.5A CN113873056B (zh) | 2021-09-24 | 2021-09-24 | 一种ip快速范围匹配的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113873056A CN113873056A (zh) | 2021-12-31 |
CN113873056B true CN113873056B (zh) | 2023-09-26 |
Family
ID=78994163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111126037.5A Active CN113873056B (zh) | 2021-09-24 | 2021-09-24 | 一种ip快速范围匹配的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113873056B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101345694A (zh) * | 2007-07-11 | 2009-01-14 | 上海未来宽带技术及应用工程研究中心有限公司 | 一种快速查找定位和匹配访问控制列表的方法 |
CN102984292A (zh) * | 2012-12-03 | 2013-03-20 | 北京锐安科技有限公司 | 一种ip段地址集中查找ip地址的方法 |
CN103581358A (zh) * | 2013-10-18 | 2014-02-12 | 汉柏科技有限公司 | Ip地址列表匹配方法及装置 |
CN106657439A (zh) * | 2016-12-06 | 2017-05-10 | 东软集团股份有限公司 | 网络地址转换映射表的操作方法及装置 |
CN109245879A (zh) * | 2018-09-06 | 2019-01-18 | 杭州光芯科技有限公司 | 一种存储和查找ip地址映射关系的双哈希算法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7797348B2 (en) * | 2003-05-01 | 2010-09-14 | The Hong Kong Polytechnic University | Data structure and system for IP address lookup and IP address lookup system |
US9245626B2 (en) * | 2012-10-26 | 2016-01-26 | Cisco Technology, Inc. | System and method for packet classification and internet protocol lookup in a network environment |
-
2021
- 2021-09-24 CN CN202111126037.5A patent/CN113873056B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101345694A (zh) * | 2007-07-11 | 2009-01-14 | 上海未来宽带技术及应用工程研究中心有限公司 | 一种快速查找定位和匹配访问控制列表的方法 |
CN102984292A (zh) * | 2012-12-03 | 2013-03-20 | 北京锐安科技有限公司 | 一种ip段地址集中查找ip地址的方法 |
CN103581358A (zh) * | 2013-10-18 | 2014-02-12 | 汉柏科技有限公司 | Ip地址列表匹配方法及装置 |
CN106657439A (zh) * | 2016-12-06 | 2017-05-10 | 东软集团股份有限公司 | 网络地址转换映射表的操作方法及装置 |
CN109245879A (zh) * | 2018-09-06 | 2019-01-18 | 杭州光芯科技有限公司 | 一种存储和查找ip地址映射关系的双哈希算法 |
Non-Patent Citations (3)
Title |
---|
Research on a low conflict flow matching hash algorithm;Ke Yan;IET International Conference on Smart and Sustainable City 2013 (ICSSC 2013);第229-232页 * |
使用Hash表和树位图的两级IPv6地址查找算法;王亚刚;杜慧敏;杨康平;;计算机科学(第09期);第42-45、86页 * |
基于哈希表的最长前缀匹配算法改进;刘舱强;邓昌胜;余谅;;微计算机信息(第30期);第149-151页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113873056A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11182366B2 (en) | Comparing data stores using hash sums on disparate parallel systems | |
CN110689349B (zh) | 一种区块链中的交易哈希值存储和搜索方法及装置 | |
JP4456554B2 (ja) | データ圧縮方法及び圧縮データ送信方法 | |
US7685637B2 (en) | System security approaches using sub-expression automata | |
US8037145B2 (en) | System and method for detecting email content containment | |
JP2005524149A (ja) | コンテンツ・サーチ・エンジン | |
CN106797446A (zh) | 基于存储器的历史搜索 | |
CN113014563A (zh) | 一种保障可搜索公钥加密检索完备性的方法及系统 | |
CN108512666A (zh) | Api请求的加密方法、数据交互方法及系统 | |
CN111897846B (zh) | 缓存数据校验方法、装置、设备及存储介质 | |
CN111355671B (zh) | 基于自注意机制的网络流量分类方法、介质及终端设备 | |
CN113873056B (zh) | 一种ip快速范围匹配的方法及系统 | |
US9703484B2 (en) | Memory with compressed key | |
CN116894273B (zh) | 基于异或和求余的文件加密方法、解密方法、设备及介质 | |
CN108573069B (zh) | 一种加速压缩流量正则表达式匹配的Twins方法 | |
CN114039801B (zh) | 一种短链接生成方法、解析方法和系统、设备、存储介质 | |
CN110585724A (zh) | 游戏客户端中的表格数据更新方法、装置 | |
US11621852B1 (en) | System and method for providing a multiple-operation transaction to a blockchain | |
CN111464289B (zh) | 一种后量子密钥交换协议的实现方法、设备及系统 | |
US10795858B1 (en) | Universal abstraction and de-abstraction of a digital data stream | |
Shrivastava et al. | Capacity achieving uncoded PIR protocol based on combinatorial designs | |
JP4456574B2 (ja) | 圧縮データ送信方法 | |
CN112580747A (zh) | 匹配方法及装置 | |
CN117195790B (zh) | 多级表项验证方法、系统及计算机设备及介质 | |
CN111914513A (zh) | 一种rdp窗口标题文字识别的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |