网络地址转换映射表的操作方法及装置与流程

文档序号:11156989阅读:来源:国知局

技术特征:

1.一种网络地址转换映射表的操作方法,其特征在于,所述方法包括:

在获取到与待转换网间协议IP地址对应的公网IP地址后,判断NAT映射表中表项的数量是否超过预设阈值,所述NAT映射表存储有待转换IP地址和公网IP地址对应关系,该对应关系以表项的形式存在,所述表项以最近最少使用LRU链表的方式组织,所述NAT映射表的地址空间为通过内存池预先申请的长期有效的地址空间;

若未超过预设阈值,则对NAT映射表不进行加锁更新;

若超过预设阈值,则根据当前待转换IP地址对应的表项在所述NAT映射表中的位置确定是否对NAT映射表进行加锁更新。

2.根据权利要求1所述的方法,其特征在于,根据当前待转换IP地址对应的表项在所述NAT映射表中的位置确定是否对NAT映射表进行加锁更新包括:

确定NAT映射表中的前N项;

判断当前待转换IP地址对应的表项是否位于所述NAT映射表中的前N项中,所述前N项对应NAT映射表中的预设常用表项;

若当前待转换IP地址对应的表项位于NAT映射表的前N项中,则对NAT映射表不进行加锁更新;

若当前待转换IP地址对应的表项不位于NAT映射表的前N项中,则对NAT映射表进行加锁更新。

3.根据权利要求2所述的方法,其特征在于,所述确定NAT映射表中的前N项,包括:

初始化NAT映射表时,根据最大堆排序算法对NAT映射表中每个表项按照在预设时段内的操作次数的大小进行排序,将排序后的前N项确定为NAT映射表中的前N项;

初始化NAT映射表后,若预设单位时间内NAT映射表的加锁更新次数超过预设更新次数,则动态调整NAT映射表中的前N项。

4.根据权利要求3所述的方法,其特征在于,所述动态调整NAT映射表中的前N项,包括:

若调整前的N值小于N的最大取值Y,将前N项扩大为前N1项,其中N1大于N,N1与N之间的关系如下,

N1=N+(Y-N)/10;

若调整前的N值大于等于N的最大取值Y,则对NAT映射表中表项按照最大堆排序算法进行重新排序,得到新的前N个表项。

5.根据权利要求4所述的方法,其特征在于,若获取与待转换网间协议IP地址对应的公网IP地址的进程为内核态进程,所述确定NAT映射表中的前N项,包括:

生成获取NAT映射表中的前N项的获取消息;

将所述获取消息以消息机制发送给用户态进程,使用户态进程根据内核态进程发送的获取消息确定NAT映射表中的前N项后返回给内核态进程。

6.根据权利要求1-5中任一项所述的方法,其特征在于,若获取与待转换网间协议IP地址对应的公网IP地址的进程为内核态进程,所述对NAT映射表进行加锁更新,包括:

生成对NAT映射表进行加锁更新的更新消息;

将所述更新消息发送至用户态进程,使用户态进程根据内核态进程发送的更新消息对NAT映射表进行加锁更新。

7.根据权利要求6所述的方法,其特征在于,所述NAT映射表中的表项中还包括前项指针和后项指针,所述前项指针指向表项的前一表项,后项指针指向表项的后一表项,所述对NAT映射表进行加锁更新,包括:

将当前待转换IP地址对应的表项、NAT映射表中的第一个表项以及与当前待转换IP地址相邻的表项的前项指针和后项指针进行更新,以使当前待转换IP地址对应的表项为NAT映射表中的第一个表项。

8.根据权利要求7所述的方法,其特征在于,所述获取到与待转换网间协议IP地址对应的公网IP地址,包括:

查找哈希表中是否有待转换IP地址,所述哈希表中记录待转换IP地址和待转换IP地址对应的表项的空间地址之间的对应关系;

若有待转换IP地址,则根据哈希表中待转换IP地址对应的表项的空间地址获取待转换IP地址对应的公网IP地址;

若没有待转换IP地址,则新建与待转换IP地址对应的表项,并将新建的表项的空间地址以及其中的待转换IP地址对应记录在哈希表中。

9.根据权利要求8所述的方法,其特征在于,所述新建与待转换IP地址对应的表项,包括:

若获取到与待转换IP地址对应的公网IP地址的进程为用户态进程,则直接对NAT映射表进行加锁后,新建与待转换IP地址对应的表项;

若获取到与待转换IP地址对应的公网IP地址的进程为内核态进程,则生成新建表项的新建消息;

内核态进程将所述新建消息发送给用户态进程,以使用户态进程根据新建消息新建与待转换IP地址对应的表项。

10.一种网络地址转换映射表的操作装置,其特征在于,所述装置包括:

第一判断单元,用于在获取到与待转换网间协议IP地址对应的公网IP地址后,判断NAT映射表中表项的数量是否超过预设阈值,所述NAT映射表存储有待转换IP地址和公网IP地址对应关系,该对应关系以表项的形式存在,所述表项以最近最少使用LRU链表的方式组织,所述NAT映射表的地址空间为通过内存池预先申请的长期有效的地址空间;

第一更新单元,用于若未超过预设阈值,则对NAT映射表不进行加锁更新;

第二更新单元,用于若超过预设阈值,则根据当前待转换IP地址对应的表项在所述NAT映射表中的位置确定是否对NAT映射表进行加锁更新。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1