本发明专利技术公开了一种NAT地址转换的方法,具体包括以下步骤:S1、获取5元组信息,以这5元组信息查表,如果匹配上,说明会话已经生效,跳到S8,否则走新建会话流程,跳转到S2;S2、查规则表,获取服务器的ip和端口,根据规则信息判断是否需要替换报文源ip和端口,如果不需要,跳到S5,否则,继续执行S3;S3、查找回源ip表,获取回源ip;S4、探测出可用的回源端口,探测方法,本发明专利技术涉及通信技术领域。该NAT地址转换的方法,降低了冲突几率,更加快速的探测到可用的回源端口,提高了查找回源端口的速率,提升了申请和释放效率,过滤掉无用的报文,不必对无用报文做过多的处理,提升了整体的报文处理性能,从而提升了转发性能。
【技术实现步骤摘要】
一种NAT地址转换的方法
本专利技术涉及通信网络
,具体为一种NAT地址转换的方法。
技术介绍
NAT(网络地址转换)是1994年提出的,当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法,这种方法需要在专用网连接到因特网的路由器上安装NAT软件,装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址,这样所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接,另外这种通过使用少量的公有IP地址代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭,NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机,1.宽带分享:这是NAT主机的最大功能,2.安全防护:NAT之内的PC联机到Internet上面时,他所显示的IP是NAT主机的公共IP,所以Client端的PC当然就具有一定程度的安全了,外界在进行portscan(端口扫描)的时候,就侦测不到源Client端的PC,NAT的实现方式有三种,即静态转换StaticNat、动态转换DynamicNat和端口多路复用OverLoad。现有的NAT地址转换方法,未及时探测到可用的回源端口,不存在源地址检测的情况下,由于发送报文和回复报文所用端口不一致,会影响负载均衡的效果,同时报文中还含有较多的无用报文,使得后续出现报文处理效率低的问题,因此针对以上问题,本专利技术提供了一种NAT地址转换的方法。
技术实现思路
(一)解决的技术问题针对现有技术的不足,本专利技术提供了一种NAT地址转换的方法,解决了现有的NAT地址转换方法,未及时探测到可用的回源端口,同时报文中还含有较多的无用报文,使得后续出现报文处理效率低的问题。(二)技术方案为实现以上目的,本专利技术通过以下技术方案予以实现:一种NAT地址转换的方法,具体包括以下步骤:S1、获取5元组信息,以这5元组信息查表,如果匹配上,说明会话已经生效,跳到S8,否则走新建会话流程,跳转到S2;S2、查规则表,获取服务器的ip和端口,根据规则信息判断是否需要替换报文源ip和端口,如果不需要,跳到S5,否则,继续执行S3;S3、查找回源ip表,获取回源ip;S4、探测出可用的回源端口,探测方法,记录上次探测成功的端口,从下一端口开始(目的提高查找速度,通常1次就可以查找到可用端口),使用经过S2到S4步骤获取到的出站方向的5元组信息作为参数,查找哈希表,如果匹配不上,证明端口可用;S5、从链表池子申请一个entry,根据上文给entry中两个方向的元组信息赋值;S6、以进站方向的5元组为参数,推入哈希链表;S7、以出站方向的5元组为参数,推入哈希链表;S8、修改报文源、目的ip和端口,发送报文。优选的,所述步骤S1中的5元组信息是指源ip、目的ip、源端口、目的端口和协议。优选的,所述步骤S2中的规则表以及S3中回源ip表均来自控制面的配置数据。优选的,所述步骤S4中的哈希表里面每一个节点和S5中链表池子的entry一样,每一项包含了进站、出站两个方向的5元组信息,当新建会话时,先从这个池子中申请出一个Entry,修改进站和出站两个方向的5元组,分别以该5元组为参数入队列到哈希表中,当读取到一个报文时,首先查这个哈希表,对应的5元组信息匹配上,刷新源目的ip和端口,发送报文出去。优选的,所述步骤S5中的链表池子中每个转发线程都有一个自己的池子。(三)有益效果本专利技术提供了一种NAT地址转换的方法。具备以下有益效果:该NAT地址转换的方法,通过S1、获取5元组信息,以这5元组信息查表,如果匹配上,说明会话已经生效,跳到S8,否则走新建会话流程,跳转到S2;S2、查规则表,获取服务器的ip和端口,根据规则信息判断是否需要替换报文源ip和端口,如果不需要,跳到S5,否则,继续执行S3;S3、查找回源ip表,获取回源ip;S4、探测出可用的回源端口,探测方法,记录上次探测成功的端口,从下一端口开始(目的提高查找速度,通常1次就可以查找到可用端口),使用经过S2到S4步骤获取到的出站方向的5元组信息作为参数,查找哈希表,如果匹配不上,证明端口可用;S5、从链表池子申请一个entry,根据上文给entry中两个方向的元组信息赋值;S6、以进站方向的5元组为参数,推入哈希链表;S7、以出站方向的5元组为参数,推入哈希链表;S8、修改报文源、目的ip和端口,发送报文;1、各自线程的回源ip都不一样,探测回源端口时不需要考虑其他线程,降低了冲突几率,更加快速的探测到可用的回源端口;2、该回源ip上一次成功探测的回源端口作为该ip下一个回源端口的起始端口,提高了查找回源端口的速率;3、链表池子和哈希表配合,申请和释放只是简单的出队列和入队列的操作,而且每个entry分别以cacheline对齐,提升了申请和释放效率;4、首先查规则表,首先过滤掉无用的报文,不必对无用报文做过多的处理,提升了整体的报文处理性能,从而提升了转发性能。附图说明图1为本专利技术的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术实施例提供一种技术方案:一种NAT地址转换的方法,降低了冲突几率,更加快速的探测到可用的回源端口,提高了查找回源端口的速率,提升了申请和释放效率,过滤掉无用的报文,不必对无用报文做过多的处理,提升了整体的报文处理性能,从而提升了转发性能,具体包括以下步骤:S1、获取5元组信息,以这5元组信息查表,如果匹配上,说明会话已经生效,跳到S8,否则走新建会话流程,跳转到S2;S2、查规则表,获取服务器的ip和端口,根据规则信息判断是否需要替换报文源ip和端口,如果不需要,跳到S5,否则,继续执行S3;S3、查找回源ip表,获取回源ip;S4、探测出可用的回源端口,探测方法,记录上次探测成功的端口,从下一端口开始(目的提高查找速度,通常1次就可以查找到可用端口),使用经过S2到S4步骤获取到的出站方向的5元组信息作为参数,查找哈希表,如果匹配不上,证明端口可用;S5、从链表池子申请一个entry,根据上文给entry中两个方向的元组信息赋值;S6、以进站方向的5元组为参数,推入哈希链表,链表bai是一种物理存储单元上非du连续、非顺序的存储结zhi构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,链表由一系列结点(链表中每一个元素称为结本文档来自技高网...
【技术保护点】
1.一种NAT地址转换的方法,其特征在于:具体包括以下步骤:/nS1、获取5元组信息,以这5元组信息查表,如果匹配上,说明会话已经生效,跳到S8,否则走新建会话流程,跳转到S2;/nS2、查规则表,获取服务器的ip和端口,根据规则信息判断是否需要替换报文源ip和端口,如果不需要,跳到S5,否则,继续执行S3;/nS3、查找回源ip表,获取回源ip;/nS4、探测出可用的回源端口,探测方法,记录上次探测成功的端口,从下一端口开始(目的提高查找速度,通常1次就可以查找到可用端口),使用经过S2到S4步骤获取到的出站方向的5元组信息作为参数,查找哈希表,如果匹配不上,证明端口可用;/nS5、从链表池子申请一个entry,根据上文给entry中两个方向的元组信息赋值;/nS6、以进站方向的5元组为参数,推入哈希链表;/nS7、以出站方向的5元组为参数,推入哈希链表;/nS8、修改报文源、目的ip和端口,发送报文。/n
【技术特征摘要】
1.一种NAT地址转换的方法,其特征在于:具体包括以下步骤:
S1、获取5元组信息,以这5元组信息查表,如果匹配上,说明会话已经生效,跳到S8,否则走新建会话流程,跳转到S2;
S2、查规则表,获取服务器的ip和端口,根据规则信息判断是否需要替换报文源ip和端口,如果不需要,跳到S5,否则,继续执行S3;
S3、查找回源ip表,获取回源ip;
S4、探测出可用的回源端口,探测方法,记录上次探测成功的端口,从下一端口开始(目的提高查找速度,通常1次就可以查找到可用端口),使用经过S2到S4步骤获取到的出站方向的5元组信息作为参数,查找哈希表,如果匹配不上,证明端口可用;
S5、从链表池子申请一个entry,根据上文给entry中两个方向的元组信息赋值;
S6、以进站方向的5元组为参数,推入哈希链表;
S7、以出站方向的5元组为参数,推入哈希链表;
S8、修改报文源、目的ip和端口,发送报文。
【专利技术属性】
技术研发人员:严克剑,
申请(专利权)人:广东网堤信息安全技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。