一种基于分布式系统的NAT会话管理方法技术方案

技术编号:15520502 阅读:185 留言:0更新日期:2017-06-04 10:03
本发明专利技术公开了一种基于分布式系统的NAT会话管理方法,包括步骤:(1)创建NAT会话;(2)对创建的NAT会话进行保持更新;(3)对更新后的NAT会话进行老化操作;(4)查询老化操作后的NAT会话。本方法中采用hash桶、hash链表等数据结构实现了NAT会话的创建和保持更新管理,将hash桶参数设置为合适值可将会话键值均匀散列到各个hash桶中,有效提高会话键值查找速度,同时提出采用单独的双向链表将会话链接起来,完成对已创建会话的老化和查询管理,避免对hash桶频繁加锁,提高会话的老化和查询效率。

NAT session management method based on distributed system

The invention discloses a method comprises the steps of NAT session management method based on distributed system: (1) to create a NAT session; (2) to create the NAT session to keep updated; (3) to the updated NAT session of the aging operation; (4) query operation after NAT session aging. Using hash hash barrel, a linked list data structure to create and maintain the updated management NAT session of this method, the hash parameters can be session key barrels of uniform hashing to each hash in the bucket to a suitable value, effectively improve the session key search speed, and puts forward the two-way linked list alone will link up the completion of the session, aging and query management session has been created, to avoid frequent hash barrel lock, aging and improve the query efficiency of conversation.

【技术实现步骤摘要】
一种基于分布式系统的NAT会话管理方法
本专利技术属于数据通信和网络安全领域,尤其涉及一种基于分布式系统的NAT会话管理方法。
技术介绍
随着互联网技术的迅猛发展,越来越多的用户进入互联网获取各种信息,包括当前热门的物联网技术也离不开互联网的支撑。但是传统IPv4网络的地址仅有32bit,只能分配给有限的用户,而IPv6的出现也正是为了解决这个地址资源瓶颈问题。当前传统IPv4网络发展已经相当成熟,完全过渡到IPv6还需要一段较长时间。为了解决IPv4网络中地址资源瓶颈问题,NAT(NetworkAddressTranslation)技术应运而生,该技术能将多个私网地址映射到一个或多个公网地址,实现网络地址的高度重用,解决地址资源瓶颈问题。分布式系统通常包括多块控制板卡、多块业务板卡和交换板卡等,每张板卡都是一个独立的子系统,整个系统的正常运行依赖于每个子系统的互相协作。在网络通信设备中,控制板卡主要用于运行各种路由协议、各种表项以及规则的产生和下发。业务板卡主要用于接收控制板卡下发的各种表项及规则,并根据这些表项和规则进行网络数据流处理和转发。交换板卡主要用于连接控制板卡和业务板卡,实现高速无阻塞数据交换传递功能。NAT技术广泛应用于基于分布式系统的网络通信设备中,其实现关键在于会话的使用和管理,寻找一种以较低的管理复杂度使得NAT在分布式系统中高效运行的会话管理方法至关重要。专利201510056361.2中通过信息树数据结构对会话进行老化管理:当IP信息发生改变后,将改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中,根据等待树中的IP节点数量,以及老化定时时间,确定是否对流表和NAT会话表进行老化,本方案中采用了树形结构进行老化管理,实现较为复杂。专利200610140776.9中通过单独创建会话保活报文的方式对会话表项进行保持更新。该方法由于要单独创建保活报文,带来了额外的管理开销。综上,分布式系统中的NAT技术对会话管理的依赖较强,要实现该技术,需要找到一种简单、高效的会话管理方法。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于分布式系统的NAT会话管理方法,该方法有效提高会话键值查找速度及会话的老化和查询效率。本专利技术解决上述技术问题的技术方案如下:一种基于分布式系统的NAT会话管理方法,包括以下步骤:(1)创建NAT会话:将会话发起方向IP报文中的五元组信息作为会话发起方向键值,结合NAT规则计算出会话回应方向键值;根据发起方向键值和回应方向键值分别计算出hash桶索引,再将发起方向键值和回应方向键值分别加入到对应hash桶中,形成NAT会话;最后将该NAT会话加入到一个双向链表中,完成NAT会话的创建;(2)对创建的NAT会话进行保持更新:将收到IP报文中的五元组信息作为查询键值,并由该查询键值计算出hash桶索引值,再到对应hash桶中查询对应的会话键值;通过查询到的会话键值得到对应的NAT会话,将会话中当前时间更新为系统时间,完成对已创建NAT会话的保持更新,以确保该会话在有通信流量时不被老化删除;(3)对更新后的NAT会话进行老化操作:采用一个老化指示指针指向双向链表开始处,并每间隔一段时间从指针指示处延着该双向链表对其中的NAT会话进行老化检查;在检查每条会话时,将当前时间加上老化时间大于系统时间的会话进行老化处理,同时保留其他会话,并更新所述指示指针位置,完成对更新后的NAT会话的老化操作;(4)查询老化操作后的NAT会话:采用一个查询指示指针指向双向链表开始处,并每间隔一段时间判断是否有查询动作需要执行;如果需要执行查询动作,便从指针指示处延着双向链表对其中的NAT会话进行查询,更新所述指示指针位置,完成对老化检查后的NAT会话的查询操作。本专利技术的有益效果是:本方法有效提高了会话键值查找速度,以及提高了会话的老化和查询效率。在上述技术方案的基础上,本专利技术还可以做如下改进。进一步,所述步骤(1)的创建NAT会话的具体方法为,(11)NAT设备接收到报文时,提取出报文中的IP五元组信息作为会话发起方向键值,并将其保存到会话发起方向键值中,所述IP五元组为源IP、目的IP、源端口、目的端口和协议号;(12)对接收到的报文使用会话进行NAT规则匹配;(13)根据NAT规则匹配结果,判断该报文是否需要进行NAT转换,如果不需要做NAT转换,则进入正常转发流程;如果需要进行NAT转换,则进入下一步;(14)根据NAT转换规则对IP五元组中的源IP、源端口或目的IP、目的端口进行转换,选择转化后的IP和端口,通过选择的IP和端口得到该报文对应的会话回应方向键值;(15)根据会话发起方向键值和会话回应方向键值分别计算出hash桶索引值会话发起方向hash索引和会话回应方向hash索引;(16)根据计算出的hash桶索引,分别将会话发起方向键值和会话回应方向键值加入到对应的hash桶中;(17)将会话发起方向键值和会话回应方向键值对应的会话加入到双向链表中,便于老化和查询操作。采用上述进一步方案的有益效果是:根据IP报文五元组信息将所有会话发起方向键值和回应方向键值分开,并均匀散列到不同的hash桶中,可有效减少同一会话中两个方向的报文流量以及不同会话流量间的hash访问冲突,提高报文转发时查询会话键值的效率。进一步,所述步骤(2)对创建的NAT会话进行保持更新方法为,(21)NAT设备接收到报文时,提取报文中的IP五元组信息作为会话键值,并保存到会话键值中;(22)用会话键值计算出hash桶索引值,并到该hash桶中查询该会话键值;(23)判断该hash桶中是否查询到该会话键值,如果未查询到该会话键值,则返回会话创建流程,重新创建NAT会话;如果查询到该会话键值,则进入下一步;(24)获取当前系统时间,并将该会话键值对应会话中的当前时间更新为当前系统时间,保证会话不被老化删除。采用上述进一步方案的有益效果是:在NAT报文转发查询会话键值的同时,采用捎带更新的方式对会话进行保持更新,避免了对会话键值的二次查询,简化更新流程、提高会话更新效率。进一步,所述步骤(3)对更新后的NAT会话进行老化操作方法为,(31)将老化指示指针指向双向链表开始处;(32)将每次老化检查的会话条数最大值设置为max,将已检查会话条数设置为0;(33)判断进行老化检查的会话条数是否大于等于最大值max或双向链表中是否已无会话;如果是,则进入步骤(34);如果否,则进入步骤(35);(34)延时一段时间后返回步骤(32)进行下一次老化检查;(35)获取老化指示指针所指向会话的当前时间、老化时间和系统时间;(36)判断会话当前时间与会话老化时间之和是否小于系统时间,如果是,则进入步骤(37);如果否,则进入步骤(38)说明该会话已较长时间无流量通过,(37)将该会话老化删除,并释放相关资源,更新老化指示指针,使老化指示指针指向双向链表中的下一条会话;(38)不对该会话进行老化删除操作,直接更新老化指示指针,使老化指示指针指向双向链表中的下一条会话;(39)返回步骤(33),循环对会话进行老化检查操作。采用上述进一步方案的有益效果是:采用单独的双向链表和老化指示指针结合的方式完成对NAT本文档来自技高网
...
一种基于分布式系统的NAT会话管理方法

【技术保护点】
一种基于分布式系统的NAT会话管理方法,其特征在于,包括以下步骤:(1)创建NAT会话:将会话发起方向IP报文中的五元组信息作为会话发起方向键值,结合NAT规则计算出会话回应方向键值;根据发起方向键值和回应方向键值分别计算出hash桶索引,再将发起方向键值和回应方向键值分别加入到对应hash桶中,形成NAT会话;最后将该NAT会话加入到一个双向链表中,完成NAT会话的创建;(2)对创建的NAT会话进行保持更新:将收到IP报文中的五元组信息作为查询键值,并由该查询键值计算出hash桶索引值,再到对应hash桶中查询对应的会话键值;通过查询到的会话键值得到对应的NAT会话,将会话中当前时间更新为系统时间,完成对已创建NAT会话的保持更新,以确保该会话在有通信流量时不被老化删除;(3)对更新后的NAT会话进行老化操作:采用一个老化指示指针指向双向链表开始处,并每间隔一段时间从指针指示处延着该双向链表对其中的NAT会话进行老化检查;在检查每条会话时,将当前时间加上老化时间大于系统时间的会话进行老化处理,同时保留其他会话,并更新所述指示指针位置,完成对更新后的NAT会话的老化操作;(4)查询老化操作后的NAT会话:采用一个查询指示指针指向双向链表开始处,并每间隔一段时间判断是否有查询动作需要执行;如果需要执行查询动作,便从指针指示处延着双向链表对其中的NAT会话进行查询,更新所述指示指针位置,完成对老化检查后的NAT会话的查询操作。...

【技术特征摘要】
1.一种基于分布式系统的NAT会话管理方法,其特征在于,包括以下步骤:(1)创建NAT会话:将会话发起方向IP报文中的五元组信息作为会话发起方向键值,结合NAT规则计算出会话回应方向键值;根据发起方向键值和回应方向键值分别计算出hash桶索引,再将发起方向键值和回应方向键值分别加入到对应hash桶中,形成NAT会话;最后将该NAT会话加入到一个双向链表中,完成NAT会话的创建;(2)对创建的NAT会话进行保持更新:将收到IP报文中的五元组信息作为查询键值,并由该查询键值计算出hash桶索引值,再到对应hash桶中查询对应的会话键值;通过查询到的会话键值得到对应的NAT会话,将会话中当前时间更新为系统时间,完成对已创建NAT会话的保持更新,以确保该会话在有通信流量时不被老化删除;(3)对更新后的NAT会话进行老化操作:采用一个老化指示指针指向双向链表开始处,并每间隔一段时间从指针指示处延着该双向链表对其中的NAT会话进行老化检查;在检查每条会话时,将当前时间加上老化时间大于系统时间的会话进行老化处理,同时保留其他会话,并更新所述指示指针位置,完成对更新后的NAT会话的老化操作;(4)查询老化操作后的NAT会话:采用一个查询指示指针指向双向链表开始处,并每间隔一段时间判断是否有查询动作需要执行;如果需要执行查询动作,便从指针指示处延着双向链表对其中的NAT会话进行查询,更新所述指示指针位置,完成对老化检查后的NAT会话的查询操作。2.根据权利要求1所述的基于分布式系统的NAT会话管理方法,其特征在于,所述步骤(1)的创建NAT会话的具体方法为,(11)NAT设备接收到报文时,提取出报文中的IP五元组信息作为会话发起方向键值,并将其保存到会话发起方向键值中,所述IP五元组为源IP、目的IP、源端口、目的端口和协议号;(12)对接收到的报文使用会话进行NAT规则匹配;(13)根据NAT规则匹配结果,判断该报文是否需要进行NAT转换,如果不需要做NAT转换,则进入正常转发流程;如果需要进行NAT转换,则进入下一步;(14)根据NAT转换规则对IP五元组中的源IP、源端口或目的IP、目的端口进行转换,选择转换后的IP和端口,通过选择的IP和端口得到该报文对应的会话回应方向键值;(15)根据会话发起方向键值和会话回应方向键值分别计算出hash桶索引值会话发起方向hash索引和会话回应方向hash索引;(16)根据计算出的hash桶索引,分别将会话发起方向键值和会话回应方向键值加入到对应的hash桶中;(17)将会话发起方向键值和会话回应方向键值对应的会话加入到双向链表中...

【专利技术属性】
技术研发人员:李万军李晓波刘赫秦骏
申请(专利权)人:深圳市风云实业有限公司
类型:发明
国别省市:广东,44

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

1