CN112104761A - 一种nat地址转换的方法 - Google Patents

一种nat地址转换的方法 Download PDF

Info

Publication number
CN112104761A
CN112104761A CN202010847861.9A CN202010847861A CN112104761A CN 112104761 A CN112104761 A CN 112104761A CN 202010847861 A CN202010847861 A CN 202010847861A CN 112104761 A CN112104761 A CN 112104761A
Authority
CN
China
Prior art keywords
port
source
tuple
address translation
searching
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.)
Pending
Application number
CN202010847861.9A
Other languages
English (en)
Inventor
严克剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Wangdi Information Security Technology Co ltd
Original Assignee
Guangdong Wangdi Information Security Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Wangdi Information Security Technology Co ltd filed Critical Guangdong Wangdi Information Security Technology Co ltd
Priority to CN202010847861.9A priority Critical patent/CN112104761A/zh
Publication of CN112104761A publication Critical patent/CN112104761A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种NAT地址转换的方法,具体包括以下步骤:S1、获取5元组信息,以这5元组信息查表,如果匹配上,说明会话已经生效,跳到S8,否则走新建会话流程,跳转到S2;S2、查规则表,获取服务器的ip和端口,根据规则信息判断是否需要替换报文源ip和端口,如果不需要,跳到S5,否则,继续执行S3;S3、查找回源ip表,获取回源ip;S4、探测出可用的回源端口,探测方法,本发明涉及通信技术领域。该NAT地址转换的方法,降低了冲突几率,更加快速的探测到可用的回源端口,提高了查找回源端口的速率,提升了申请和释放效率,过滤掉无用的报文,不必对无用报文做过多的处理,提升了整体的报文处理性能,从而提升了转发性能。

Description

一种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构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成;
S7、以出站方向的5元组为参数,推入哈希链表;
S8、修改报文源、目的ip和端口,发送报文,报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块,报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。
本发明中,步骤S1中的5元组信息是指源ip、目的ip、源端口、目的端口和协议。
本发明中,步骤S2中的规则表以及S3中回源ip表均来自控制面的配置数据。
本发明中,步骤S4中的哈希表里面每一个节点和S5中链表池子的entry一样,每一项包含了进站、出站两个方向的5元组信息,当新建会话时,先从这个池子中申请出一个Entry,修改进站和出站两个方向的5元组,分别以该5元组为参数入队列到哈希表中,当读取到一个报文时,首先查这个哈希表,对应的5元组信息匹配上,刷新源目的ip和端口,发送报文出去,散列表(也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度,这个映射函数叫做散列函数,存放记录的数组叫做散列表,给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash)函数。
本发明中,步骤S5中的链表池子中每个转发线程都有一个自己的池子。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (5)

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和端口,发送报文。
2.根据权利要求1所述的一种NAT地址转换的方法,其特征在于:所述步骤S1中的5元组信息是指源ip、目的ip、源端口、目的端口和协议。
3.根据权利要求1所述的一种NAT地址转换的方法,其特征在于:所述步骤S2中的规则表以及S3中回源ip表均来自控制面的配置数据。
4.根据权利要求1所述的一种NAT地址转换的方法,其特征在于:所述步骤S4中的哈希表里面每一个节点和S5中链表池子的entry一样,每一项包含了进站、出站两个方向的5元组信息,当新建会话时,先从这个池子中申请出一个Entry,修改进站和出站两个方向的5元组,分别以该5元组为参数入队列到哈希表中,当读取到一个报文时,首先查这个哈希表,对应的5元组信息匹配上,刷新源目的ip和端口,发送报文出去。
5.根据权利要求1所述的一种NAT地址转换的方法,其特征在于:所述步骤S5中的链表池子中每个转发线程都有一个自己的池子。
CN202010847861.9A 2020-08-20 2020-08-20 一种nat地址转换的方法 Pending CN112104761A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010847861.9A CN112104761A (zh) 2020-08-20 2020-08-20 一种nat地址转换的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010847861.9A CN112104761A (zh) 2020-08-20 2020-08-20 一种nat地址转换的方法

Publications (1)

Publication Number Publication Date
CN112104761A true CN112104761A (zh) 2020-12-18

Family

ID=73753334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010847861.9A Pending CN112104761A (zh) 2020-08-20 2020-08-20 一种nat地址转换的方法

Country Status (1)

Country Link
CN (1) CN112104761A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113852555A (zh) * 2021-09-26 2021-12-28 天翼数字生活科技有限公司 一种基于网关的多通道路由快速转发和智能选路方法
CN115134334A (zh) * 2022-06-22 2022-09-30 上海弘积信息科技有限公司 一种负载均衡设备nat地址池扩展分配端口的方法
CN115442328A (zh) * 2022-08-03 2022-12-06 天翼云科技有限公司 一种网络地址转换方法、装置、网关、介质和设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777194A (zh) * 2005-12-16 2006-05-24 中国科学院计算技术研究所 Pat模式下支持多会话应用层协议的网络地址转换方法
CN1925458A (zh) * 2005-09-02 2007-03-07 中兴通讯股份有限公司 一种网络端口地址转换的实现方法
CN101018206A (zh) * 2007-02-14 2007-08-15 华为技术有限公司 分片报文处理方法与装置
CN101420465A (zh) * 2008-12-05 2009-04-29 北京星网锐捷网络技术有限公司 在地址转换表中映射源端口的方法及网络地址转换设备
CN104994184A (zh) * 2015-06-25 2015-10-21 北京广密华安科技有限公司 一种nat穿透方法和装置
US20150341309A1 (en) * 2009-08-21 2015-11-26 Cisco Technology, Inc. Port chunk allocation in network address translation
CN106790556A (zh) * 2016-12-26 2017-05-31 深圳市风云实业有限公司 一种基于分布式系统的nat会话管理方法
CN109314701A (zh) * 2016-06-21 2019-02-05 高通股份有限公司 使用可用网络连接的网络路径探测
CN110995878A (zh) * 2019-11-18 2020-04-10 成都知道创宇信息技术有限公司 一种多层网络传输中源信息的获取方法、装置及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1925458A (zh) * 2005-09-02 2007-03-07 中兴通讯股份有限公司 一种网络端口地址转换的实现方法
CN1777194A (zh) * 2005-12-16 2006-05-24 中国科学院计算技术研究所 Pat模式下支持多会话应用层协议的网络地址转换方法
CN101018206A (zh) * 2007-02-14 2007-08-15 华为技术有限公司 分片报文处理方法与装置
CN101420465A (zh) * 2008-12-05 2009-04-29 北京星网锐捷网络技术有限公司 在地址转换表中映射源端口的方法及网络地址转换设备
US20150341309A1 (en) * 2009-08-21 2015-11-26 Cisco Technology, Inc. Port chunk allocation in network address translation
CN104994184A (zh) * 2015-06-25 2015-10-21 北京广密华安科技有限公司 一种nat穿透方法和装置
CN109314701A (zh) * 2016-06-21 2019-02-05 高通股份有限公司 使用可用网络连接的网络路径探测
CN106790556A (zh) * 2016-12-26 2017-05-31 深圳市风云实业有限公司 一种基于分布式系统的nat会话管理方法
CN110995878A (zh) * 2019-11-18 2020-04-10 成都知道创宇信息技术有限公司 一种多层网络传输中源信息的获取方法、装置及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113852555A (zh) * 2021-09-26 2021-12-28 天翼数字生活科技有限公司 一种基于网关的多通道路由快速转发和智能选路方法
CN113852555B (zh) * 2021-09-26 2022-12-16 天翼数字生活科技有限公司 一种基于网关的多通道路由快速转发和智能选路方法
CN115134334A (zh) * 2022-06-22 2022-09-30 上海弘积信息科技有限公司 一种负载均衡设备nat地址池扩展分配端口的方法
CN115442328A (zh) * 2022-08-03 2022-12-06 天翼云科技有限公司 一种网络地址转换方法、装置、网关、介质和设备
CN115442328B (zh) * 2022-08-03 2023-06-02 天翼云科技有限公司 一种网络地址转换方法、装置、网关、介质和设备

Similar Documents

Publication Publication Date Title
CN112422481B (zh) 网络威胁的诱捕方法、系统和转发设备
US7594031B2 (en) Network address selection
US9253149B2 (en) Method for providing an internal server with a shared public IP address
US8730966B2 (en) Anonymization using anonymizing device and packet server in which anonymous address is generated based on prefix acquired from server
US9712559B2 (en) Identifying frames
CN112104761A (zh) 一种nat地址转换的方法
US6754716B1 (en) Restricting communication between network devices on a common network
US20120144483A1 (en) Method and apparatus for preventing network attack
US9917928B2 (en) Network address translation
US9231908B2 (en) Ensuring symmetric routing to private network
US8578468B1 (en) Multi-factor client authentication
US8254286B2 (en) Method and system for detection of NAT devices in a network
Ullrich et al. {IPv6} security: Attacks and countermeasures in a nutshell
CN107094110B (zh) 一种dhcp报文转发方法及装置
US20080205388A1 (en) Discovery of network devices logically located between a client and a service
CN111147519A (zh) 数据检测方法、装置、电子设备和介质
AU2023203289A1 (en) Systems and methods for providing a ReNAT communications environment
US11658995B1 (en) Methods for dynamically mitigating network attacks and devices thereof
US20140185626A1 (en) Systems and Methods for Providing a ReNAT Virtual Private Network
CN112383559A (zh) 地址解析协议攻击的防护方法及装置
CN111756636B (zh) 数据包处理方法、装置及设备、存储介质
JP2019522416A (ja) Dnsリクエストの抑制のためのシステム及び方法
US20220337546A1 (en) Method and system for realizing network dynamics, terminal device and storage medium
JP2019041176A (ja) 不正接続遮断装置及び不正接続遮断方法
CN115442328B (zh) 一种网络地址转换方法、装置、网关、介质和设备

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201218

RJ01 Rejection of invention patent application after publication