CN104601738B - 一种分布式网络地址转换*** - Google Patents
一种分布式网络地址转换*** Download PDFInfo
- Publication number
- CN104601738B CN104601738B CN201410746762.6A CN201410746762A CN104601738B CN 104601738 B CN104601738 B CN 104601738B CN 201410746762 A CN201410746762 A CN 201410746762A CN 104601738 B CN104601738 B CN 104601738B
- Authority
- CN
- China
- Prior art keywords
- address
- point
- public
- owned
- publicly
- 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.)
- Expired - Fee Related
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/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明为一种分布式网络地址转换***,包括接入层、复用层和控制层;接入层中节点为接入点AP;复用层中节点为复用点MP;控制层中节点为控制点CP;AP为接入服务器;AP具有与内网主机通信以及为内网主机选定公有IP资源,并与持有该选定公有IP资源的MP通信并进行地址转换;MP为复用服务器;每个MP均维护各自持有的公有IP资源同时通过各自持有的公有IP资源与外网通信;CP包括资源服务器IPS和配置服务器CC;其中IPS维护***中所有MP的公有IP地址资源;CC对各层的节点进行配置;AP、MP和CP之间使用隧道进行互联,隧道为传输层连接隧道。该***用于进行分布式网络地址的转换,可提高NAT***中IP资源利用率。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及分布式网络地址转换NAT(NetworkAddress Translation)***。
背景技术
互联网网络地址分配机构IANA(The Internet Assigned Numbers Authority)规定了三类私有IP地址空间:10.0.0.0-10.255.255.255、172.16.0.0-172.31.255.255和192.168.0.0-192.168.255.255。这三类IP地址只能在内部网络使用,不允许在互联网使用。则使用私有IP地址的网络为内部网络,简称“内网”;使用公有IP地址的网络称为外部网络,简称“外网”或者“互联网”。
NAT技术是在IPv4地址日渐枯竭的情况下出现的一种技术,主要用于实现内部网络访问外部网络的功能,并于1994年作为RFC文档发布。NAT提供了一种将IP地址从编址域P映射到编址域Q的机制。通常称编址域P为私有IP地址域,只允许内部网络使用,编址域Q则为可在互联网路由的公有IP地址域。
当前使用最广泛的网络地址转换类型有三种:静态NAT、动态NAT、网络地址端口转换NAPT。
静态NAT(Static NAT)中内部主机的私有IP被永久一对一地映射到公有IP。静态NAT没有状态的概念,不需要记录前一个数据包的转换信息,只需处理好当前数据包。静态NAT在完成IP地址转换与网络层校验和重新计算后,在内外网之间转发数据包。图1.就是静态NAT的例子,通过在私有IP和公有IP之间建立静态映射关系,外部主机访问公有IP地址就相当于访问内部主机。例如:外部主机Host A要访问Web Server,只需访问Web Server私有IP地址(10.0.0.4)对应的公有IP地址(159.226.40.4)即可。公有IP和私用IP之间的映射,将由NAT设备完成。静态NAT的一个最显著的缺点是没有提高公有IP地址利用率,由于一对一的静态映射关系,公有IP被内部主机独占。当内部主机不在线或者不可用时,公有IP地址就被浪费。静态NAT方式只是作为NAT的一种特殊方式出现,仅仅体现了网络地址转换的思想。
动态NAT(Pooled NAT)在私有IP地址和公有IP地址间建立起的动态映射关系,所有公有IP被放入地址池,当内部主机需要访问互联网时,根据地址选择算法从地址池中选择一个可用的公有IP地址,并在公私IP地址间建立映射。应答报文和后续报文都将使用该映射表项进行转换。等到通信结束后,该映射表项被拆除,公网IP重新归入到地址池。在内部主机网络访问并发率不高的情况下,动态NAT能够通过公私IP之间映射关系的动态建立和拆除,保证网络访问正常进行,从而达到使用少量公有IP就能够让大量内部主机访问互联网的目的。动态NAT的这种运作方式与CPU按照时间片调度类似,从宏观上看所有内部主机同时访问互联网,而实际上同一时刻只允许公有IP地址个数的内部主机访问互联网。图2就是动态NAT的例子,内部网络使用10.0.0.0/24网段,公有IP地址全部放入地址池中,通过在私有IP和公有IP之间建立动态映射关系,实现内部网络和外部网络互连。
虽然动态NAT提供了使用少量公网IP就能让大量内部主机同时访问互联网的机制,但是该机制的实现依赖于内部主机访问的频率。假设100个内部主机使用20个公有IP进行互联网访问,一旦有超过20个频繁活动的内部主机占据了地址池中的所有公有IP地址,其他主机就无法获取公有IP地址,从而也就阻塞了这些主机的互联网访问。
网络地址端口转换NAPT(Network Address Port Translation)是当前最流行的NAT方式,被普遍应用于接入设备中,能够将内部网络隐藏在一个或几个公有IP地址后。与前两种网络地址转换只修改IP地址不同,NAPT将映射关系延伸到端口级别,单个公有IP地址的不同端口能够与多个私有IP地址建立映射关系,网络地址端口转换涉及到网络层和传输层。图3就是NAPT的例子,内部网络使用10.0.0.0/24网段,总共有3个公有IP地址。当一个内部主机需要进行互联网访问时,NAPT设备不仅要对数据包的IP地址进行转换,还需要对传输层端口号进行转换。由于可用的端口地址众多,因此NAPT几乎是解决了动态NAT中由于地址池公有IP不足带来的内部主机访问互联网被阻塞的问题。使用NAPT,从外部主机的角度看,所有内部主机的数据包都来源于一个或者几个公有IP地址,用户只需要申请少量的公有IP地址就能够实现让大量内部主机接入互联网。尽管主机数量众多而互联网带宽有限,可能导致上网体验不好的情况。
随着NAT设备的广泛部署,出现越来越多局部NAT环境“过冷”和“过热”两种极端情况。如图4所示,某单位有三个部门,各自通过NAT设备接入互联网,各个NAT环境间没有交互关系。这里假设每个NAT环境拥有同等资源。由于环境一用户多,而环境二和环境三用户少,在同等资源条件下,必然导致环境一“过热”而环境二、环境三“过冷”。“过冷”环境的NAT设备负载低,网络带宽被浪费;“过热”环境的NAT设备负载高,网络带宽不足。造成这一状况的根本原因在于:资源分散、无法共享。
因此传统的NAT***IP资源利用率低,且不支持负载的资源使用策略。
发明内容
有鉴于此,本发明提供了一种分布式网络地址转换***,能够提高NAT***中IP资源利用率,支持复杂的资源使用策略,并具有三种扩展功能,优化了网络应用。
为达到上述目的,本发明的技术方案为:该***包括接入层、复用层和控制层;接入层中节点为接入点AP;复用层中节点为复用点MP;控制层中节点为控制点CP。
接入点AP为接入服务器;接入点AP具有与内网主机通信以及为内网主机选定公有IP资源,并与持有选定公有IP资源的复用点MP进行通信并进行地址转换的功能。
复用点MP为复用服务器;每个复用点MP均维护各自持有的公有IP资源,每个复用点MP具有通过各自的公有IP资源与外网通信的功能。
控制点CP包括资源服务器IPS和配置服务器CC;其中资源服务器IPS用于维护***中所有复用点MP的公有IP地址资源;配置服务器用于对各层的节点进行配置。
接入点AP、复用点MP和控制点CP之间使用隧道进行互联,隧道为传输层连接隧道。
进一步地,接入点AP与持有选定公有IP资源的复用点MP建立会话并进行地址转换的过程具体为:内网主机发起到外网主机的连接请求,该连接请求中包括内网主机IP地址和端口号、外网主机IP地址和端口号,接入点AP接收到该连接请求,通过设定的公有IP选择算法选择公有IP地址和端口号,由此产生一个新的会话映射表项,将新的会话映射表项中与连接有关的信息传递给复用点MP,复用点MP建立新的连接信息表项,会话建立;接入点AP与复用点MP采用该会话进行数据交互;
会话映射表项存于会话映射表中,该会话映射表由接入点AP建立并维护,会话映射表项为一个会话的基本数据结构,具体包括内网主机的IP地址和端口号、所选取的公有IP地址和端口号、目的外网主机的IP地址和端口号以及该会话对端复用点MP的IP地址;
连接信息表项存于连接信息表中,该连接信息表由复用点MP建立并维护,连接信息表项为用于一个会话的辅助数据结构;具体包括内网主机对应的公有IP地址和端口号、外网主机的IP地址和端口号以及该会话对端接入点AP的IP地址;
与连接有关的信息包括公有IP地址和端口号、外网主机IP地址和端口号、以及会话对端接入点AP的IP地址。
优选地,上述设定的公有IP选择算法为每次选取不同复用点MP的公有IP地址。
优选地,公有IP选择算法包括按连接变换公有IP地址和按时间变换公有IP地址:
按连接变换公有IP地址具体为以会话为单元循环选取不同的公有IP地址和端口号;
按时间变换公有IP地址具体为在连接请求中加入时间字段,在时间字段范围内使用预设的公有IP地址,一旦超时,则变换选取其他公有IP地址。
进一步地,接入层、复用层和控制层的节点之间采用三类数据流进行数据交互,三类数据流分别为公有IP提交流、公有IP获取流以及***数据流;其中***数据流包括配置流和业务数据流。
公有IP提交流的数据方向为复用点MP至资源服务器IPS;当复用点MP初始化时,复用点MP将其所维持的所有公有IP地址资源信息通过公有IP提交流发送至资源服务器IPS,或者当复用点MP所维持的公有IP地址发生变更时,将变更的公有IP地址资源信息通过公有IP提交流发送至资源服务器IPS,资源服务器IPS接收到公有IP地址资源信息之后对其进行存储。
公有IP地址资源信息包括公有IP地址、可用端口范围、可用时间起始值、所属MP以及该公有IP地址的IP属性字符串。
公有IP获取流为资源服务器IPS与接入点AP之间的双向数据流;接入点AP通过公有IP获取流向资源服务器IPS发出IP申请指令,IPS通过公有IP获取流做出应答。
IP申请指令包括:IP地址属性、IP地址的端口范围以及IP地址数量。
配置流的数据方向为配置服务器CC至其他节点;当各节点启动或者配置信息发生变化时,配置服务器CC通过配置流将各节点的配置信息通过配置流发送至其他节点。
业务数据流为接入点AP与复用点MP采用所建立会话进行数据交互的数据流;业务数据流在接入点AP和复用点MP的会话建立后触发,业务数据流的内容为网络通信数据包。
优选地,IP申请指令分为三种类型,分别为原地址翻译SNAT申请、目的地址翻译DNAT申请以及端口映射IPM申请;SNAT申请包括:指定的IP地址属性,IP数量多于1个,IP的端口数量为不限定;DNAT申请包括:指定的IP地址属性,IP数量为1个,端口为1个;IPM申请包括:指定的IP地址属性,IP数量为1个,端口范围为一段指定范围内的端口。
进一步地,公有IP地址资源信息中的IP属性字符串包括IP地址的用户属性以及IP地址所属的省,市,运营商。
进一步地,控制点CP还包括日志服务器LC,LC用于处理各节点发来的日志信息;则***数据流中还包括日志流,日志流的数据方向为复用点MP和接入点AP至日志服务器LC;当复用点MP和接入点AP运行过程中有日志需要记录时触发日志流,日志流的内容为复用点MP和接入点AP的日志信息。
有益效果:
1、本发明将传统的NAT功能进行逻辑划分:将与内网主机通信以及地址转换功能独立出来形成了接入层,将与互联网进行通信的功能独立出来形成了复用层。将整个***的控制功能,包括IP资源信息管理,配置信息管理,日志信息管理等功能独立出来形成了控制层。每个层内由1台或者多台服务节点组成,各个节点之间通过隧道连接进行通信,并且可以动态的进行扩展。整个分布式NAT***如同一个巨大的虚拟网关,应用层主机只需要使用控制层对接入层做简单配置,就能够通过接入层接入到分布式NAT***,使用***所提供的共享资源与互联网进行交互。
2、本发明所提供的分布式NAT***中,通过会话映射表以及连接信息表的使用,提出了新的会话建立方式,这样能够使各个层之间的节点可以使用多对多的关系进行通信,一个接入点AP可以同时使用多个复用点MP的资源,一个复用点MP可以同时为多个接入点AP服务,充分有效的利用资源有限的公有IP地址资源,更好的发挥多组IP地址资源协同工作时在地址数量,整体带宽等方面的优势。
3、本发明定义了分布式NAT可以支持的扩展功能,通过扩展细粒度的公有IP地址分配、以及高带宽模式的公有IP地址选择策略,能够有效地利用有限的IP资源,并能够实现较高的总互联网接入带宽。
附图说明
图1、为现有技术中静态NAT应用示意图;
图2、为现有技术中动态NAT应用示意图;
图3、为现有技术中NAPT应用示意图;
图4、为多组NAT应用示意图;
图5、为分布式NAT***的体系结构示意图;
图6、为分布式NAT***节点间数据流向图;
图7、为分布式NAT体系结构的数据包处理路径;
图8、为连接信息在分布式NAT***内部的传递。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明的基本思想是:将一个NAT***按照逻辑功能拆分成多个独立的部分。各个部分之间使用隧道进行通信。每个部分称为一层,每层内由多个节点组成,这些节点联合完成逻辑功能,该***具体的体系结构如图5所示。各个层之间的节点可以使用多对多的关系进行通信。一个接入点AP可以同时使用多个复用点MP的资源,并策略性的使用这些资源实现扩展的功能。一个复用点MP可以同时为多个接入点AP服务,充分有效的利用资源。将控制和日志功能独立出来,IP资源的调度由专门的服务进行。
在具体实现时,分布式NAT***涉及到三个层次的处理,需要由接入点AP、复用点MP和控制点通过相互协作完成网络地址转换功能。因此,除了与外界交互的两类输入流和两类输出流外,***内部不同层次之间也存在数据流交互。图6是***与内部节点交互的数据流模型。
下面通过实施例对本发明的具体方案进行说明:
实施例1、
本发明提供了一种分布式网络地址转换NAT***,适用于包含一个及一个以上不同公有IP资源的NAT环境,该***包括接入层、复用层和控制层。该***的体系结构如图5所示,接入层靠近内网主机,为上层应用内网主机提供透明的接入环境。复用层聚集***资源,使资源能够被共享使用。控制层实现***配置与资源分配。
则接入层中节点为接入服务器,记为接入点AP(Access Point);AP具有与内网主机通信以及地址转换的功能。接入层中包括一个或者多个接入点AP。
复用层中节点为复用服务器,记为复用点MP(Multiplex Point);MP具有与外网主机通信的功能;该处外网即为互联网,则MP是***与互联网的接口。复用层中包括一个或者多个复用点MP。其中复用点MP与接入点AP为多对多的关系,即一个复用点MP被一个或者多个接入点AP连接、一个或者多个接入点AP连接同一个复用点MP。同时一个复用点MP也可以被多个分布式NAT***使用。
控制层中的控制点CP(Control Point)包括资源服务器IPS和配置服务器CC。
其中资源服务器IPS(IP Selector)用于维护***中的IP地址资源,包括可用IP资源的搜集、分配和回收等功能。
配置服务器CC(Control Center)用于对***中各层的节点进行配置,主要是维护节点间的拓扑关系以及通信策略。
为了使得本分布式NAT***能够记录各节点的日志信息,可在控制层中添加新的控制点,即日志服务器LC(Log Center),LC用于处理***中各服务器发来的日志信息。
接入点AP、复用点MP和控制点CP之间使用隧道进行互联,隧道为基于TCP协议的连接或者UDP协议的传输层连接隧道。如果各层节点(如AP、MP以及CP)之间如果两个角色节点之间需要进行通信,则首先需要建立一条隧道连接即构建会话,将需要通信的内容封装在隧道协议的数据部分通过会话进行通信。
内网主机发起到外网主机的连接请求,该连接请求中包括内网主机IP地址和端口号以及外网主机IP地址和端口号,接入点MP接收到该连接请求,通过设定的公有IP选择算法选择公有IP地址和端口,由此产生一个新的会话映射表项,将新的会话映射表项中与连接有关的信息传递给持有该IP资源的复用点MP,复用点MP建立新的连接信息表项,会话建立。接入点与复用点MP采用该会话进行地址转换和数据交互。
会话映射表项存于会话映射表中,该会话映射表由AP建立并维护,会话映射表项为一个会话的基本数据结构,具体包括内部网络主机的IP地址privateIP和端口号privatePort、外网主机的IP地址publicIP和端口号publicPort、目的主机IP地址outerIP和端口号outerPort以及该会话对端复用点MP的IP地址peerIP。
连接信息表项存于连接信息表中,该连接信息表由MP建立并维护,连接信息表项为用于一个会话的辅助数据结构;具体包括内网主机对应的公有IP地址publicIP和端口号publicPort、目标主机的IP地址outerIP和端口号outerPort以及该会话对端接入点的IP地址peerIP。
各层节点之间的连接关系称为拓扑关系。拓扑关系使用XML文件来定义。
在本实施例中实际上是对传统的NAT功能进行逻辑划分:将与内网主机通信以及地址转换功能独立出来形成了接入层,将与互联网进行通信的功能独立出来形成了复用层。将整个***的控制功能,包括IP资源信息管理,配置信息管理,日志信息管理等功能独立出来形成了控制层。每个层内由1台或者多台服务器节点组成,各个节点之间通过隧道连接进行通信,由此形成的分布式NAT***可以动态的进行扩展。如图5所示,整个分布式NAT***如同一个巨大的虚拟网关,应用层主机只需要使用控制层对接入层做简单配置,就能够通过接入层接入到分布式NAT***,使用***所提供的共享资源与互联网进行交互。
实施例2、
本实施例针对实施例1所提供的方案,为了解决分布式NAT***中路由选择问题以及会话的一致性问题,对分布式NAT***进行功能扩展。
细粒度公有IP地址分配
传统的NAT***独占单个公有IP地址,本实施例中的分布式NAT***考虑到公有IP地址不足的问题,将公有IP地址的分配粒度降低到了端口级别。例如:对于一个特定的公有IP地址,有[a,b]总共(b-a+1)个端口可供使用,分布式NAT***根据上层应用要求将单个公有IP地址分为[a,x]和[x+1,b]两段(a≤x<b),分配给不同的局域网环境使用。这种方式减低了公有IP地址的分配粒度,是在公有IP地址匮乏情况下解决互联网接入问题的一种有效方法。由于有了端口的区分,因此在本实施例中,分布式NAT***需要进行如下的改进:
接入点AP与复用点MP之间通过隧道建立会话,由于要从端口级别进行公有IP地址的分配,因此会话的基本数据结构应当包括端口相关内容。
本实施例中复用点MP和接入点AP连接信息的传递过程具体为:内网主机(10.0.0.2:1234)发起到外网主机(202.106.0.20:5678)的连接,接入点IP地址为:172.16.0.2,复用点IP地址为:172.16.0.3。接入点收到连接请求后根据公有IP地址选择算法为本次连接获取公有IP地址和端口:159.226.40.2:2345,以及该公有的所有者IP地址:172.16.0.3,从而在接入点得到如表1的会话映射表项,以该会话映射表项作为新建的表项***到会话映射表中,接入点在有了新的会话映射表项之后,将会话映射表项中与连接有关的信息(包括publicIP、publicPort、outerIP、outerPort和peerID)传递给持有所使用公有IP地址的复用点MP,从而复用点MP得到如表2的五元组连接信息表项。
表1
表2
提供高接入带宽
基本NAT***独占带宽资源,而分布式NAT将所有资源集中共享,这给实现高接入带宽提供了硬件基础。除此之外分布式NAT***还可以通过使用合理的策略获取尽可能多的带宽资源。带宽资源是通过公有IP地址来体现的。
本实施例中,在接入点AP和复用点MP的会话建立过程中,所采用的设定的公有IP选择算法为高带宽模式的公有IP地址选择策略,每次选取不同复用点MP的公有IP地址,这样就能够用到所有复用点MP的带宽,从而实现较高的总互联网接入带宽。
灵活的公有IP地址变换策略
基本NAT***在会话结束后,后续会话中选取的公有IP地址很可能还是原先的那个公有IP地址,无法满足一些特殊应用的要求,例如:网络扫描为了隐藏自身要求每一次连接换一个公有IP地址。
本实施例中,为了设定的公有IP选择算法为按连接变换公有IP地址或者按时间变换公有IP地址。
其中按连接变换公有IP地址具体为多次会话循环选取不同的公有IP地址和端口号,通过循环使用保证每次连接的公有IP地址都不同。
按时间变换公有IP地址具体为在连接请求中加入时间字段,在指定时间内使用预设的公有IP地址,一旦超时,则变换选取其他公有IP地址。
由此可见,本发明中的分布式NAT体系结构将传统的NAT功能进行逻辑划分:将与内网主机通信以及地址转换功能独立出来形成了接入层,将与互联网进行通信的功能独立出来形成了复用层。将整个***的控制功能,包括IP资源信息管理,配置信息管理,日志信息管理等功能独立出来形成了控制层。每个层内由1台或者多台服务节点组成,各个节点之间通过隧道连接进行通信,并且可以动态的进行扩展。定义了分布式NAT可以支持的扩展功能。可见,由于多个复用点MP和接入点AP之间可以互相进行通信,因此各个***之间可以更加充分的利用有限的IP地址资源,更好的发挥多组IP地址资源协同工作时在地址数量,整体带宽等方面的优势。
实施例3、
本实施例在实施例1或实施例2提供的方案的基础上,提供了接入层、复用层和控制层的节点之间的数据交互方式。
其中接入层、复用层和控制层的节点之间采用三类数据流进行数据交互,三类数据流分别为公有IP提交流、公有IP获取流以及***数据流;其中***数据流包括配置流,日志流和业务数据流。各数据流的方向、触发方式以及内容如表3所示。
表3
每条数据流的处理过程和步骤具体如下:
公有IP提交流:
公有IP提交流是***内维护资源的一种方式。公有IP提交流的数据方向为复用点MP至资源服务器IPS;当复用点MP初始化时,复用点MP将其所维持的所有公有IP地址资源信息通过公有IP提交流发送至资源服务器IPS,或者当复用点MP所维持的公有IP地址发生变更时,将变更的公有IP地址资源信息通过公有IP提交流发送至资源服务器IPS,资源服务器IPS接收到公有IP地址资源信息之后对其进行存储。
即复用点MP通过公有IP提交流向资源服务器IPS声明其所持有的公有IP资源,其中声明方式有两种:全量发送和增量发送。全量发送是指复用点MP每次将其持有的全部公有IP资源向IPS进行汇报。增量发送则为复用点MP每次仅仅将发生变化的公有IP资源向IPS进行汇报。
复用点MP所持有的公有IP地址资源信息包括公有IP地址、可用端口范围、可用时间始止值、所属复用点MP以及IP属性字符串;IP属性字符串包括IP地址的用户属性以及IP地址所属的省、市、运营商。
公有IP获取流:
公有IP获取流为资源服务器IPS与接入点MP之间的双向数据流;接入点AP通过公有IP获取流向IPS发出IP申请指令,资源服务器IPS通过公有IP获取流做出应答。
IP申请指令包括:IP地址属性字符串、IP地址的端口范围以及IP地址数量;
其中IP地址的属性字符串,包括IP地址的用户属性以及IP地址所属的省、市、运营商。例如:想申请所有北京联通的IP,则申请字符串为:*.BJ.*.CU;*表示通配符。
IP地址的端口范围.本次申请所需要占用的端口范围。一旦某个IP的端口范围被申请成功,在没有释放之前,不能够再次分配给其他请求。
实际应用中,申请指令分为三种类型,分别为原地址翻译SNAT申请、目的地址翻译DNAT申请以及端口映射IPM申请:
SNAT请求指定IP地址的属性和多个IP,不限定IP的端口范围。
DNAT请求指定IP地址的属性,IP数量为1,端口为1个。
IPM请求指定IP地址ide属性,IP数量为1,端口范围通常为一段。
配置流:
配置流的数据方向为配置服务器CC至其他节点;当各节点启动或者配置信息发生变化时,配置服务器CC通过配置流将各节点的配置信息通过配置流发送至其他节点。
其中配置信息可能包括各节点的拓扑连接信息以及通信策略信息,如NAT策略信息。
各节点在启动以后,都需要向配置服务器CC申请自己的配置,包括AP,MP,LC,IPS,CC本身,都需要申请自己的拓扑配置。即:本节点需要与哪些节点进行通信以及通信时的隧道配置等信息。AP进一步还需要自己的NAT配置,以指导AP应该为什么内网主机服务,每个内网主机的NAT类型,以及需要申请IP的属性。
日志流:
日志流的数据方向为复用点MP和接入点MP至日志服务器LC;当复用点MP和接入点MP运行过程中有日志需要记录时触发日志流,日志流的内容为复用点MP和接入点MP的日志信息;
日志服务器LC将这些信息进行汇总后进行保存。
业务数据流:
业务数据流为接入点AP与复用点MP采用所建立会话进行数据交互的数据流;业务数据流在接入层和复用层会话建立后触发,业务数据流的内容为正常网络通信数据包。
业务数据流包括两个流向:
接入点AP接收内网主机发来的数据包,依据数据包中的携带的内网主机IP地址和端口号以及外网主机IP地址和端口号,查找会话映射表,若会话映射表中存在相应的表项,则其中当数据包由接入点AP流向复用点MP时,数据包首先在接入点AP查找会话映射表,若会话映射表中没有对应表项则在就新建一个,经过复用点MP时查找连接信息表。没有找到表项说明会话不存在,找到表项则根据peerID字段选择对端节点,将数据包转发过去,确保了会话顺利进行。数据从互联网过来时,则不转发数据。
接入点AP接收内网主机发来的数据包,依据数据包中的携带的内网主机IP地址和端口号以及外网主机IP地址和端口号,查找会话映射表,若会话映射表中没有对应表项则新建一个,然后根据映射表项将数据包发送给相应的MP,MP将数据包发送到互联网上。
复用点MP接收来自互联网的数据包,依据数据包中携带的公网IP地址和端口号以及外网主机IP地址和端口号,查找连接信息表,如果找到对应的表项,则根据此表项将数据包发送给对应的AP,如果查找不到,则丢弃该数据包。
分布式NAT的一个重要特点是接入点AP和复用点MP的分离,接入点AP供主机接入,复用点MP与互联网交互,这使得在主机和互联网之间多了一个由接入点AP和复用点MP组成的分布式NAT***。使用分布式NAT***,在数据包处理路径上至少需要经过一个接入点AP和一个复用点MP。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种分布式网络地址转换***,其特征在于,包括接入层、复用层和控制层;接入层中节点为接入点AP;复用层中节点为复用点MP;控制层中节点为控制点CP;
所述接入点AP为接入服务器;接入点AP具有与内网主机通信、为内网主机选定公有IP资源以及进行地址转换,并与持有所述选定公有IP资源的复用点MP通信功能;
所述复用点MP为复用服务器;每个复用点MP均维护各自持有的公有IP资源,每个复用点MP具有通过各自持有的公有IP资源与外网通信的功能;
所述控制点CP包括资源服务器IPS和配置服务器CC;其中所述资源服务器IPS用于维护***中所有复用点MP的公有IP地址资源;所述配置服务器用于对各层的节点进行配置;
接入点AP、复用点MP和控制点CP之间使用隧道进行互联,所述隧道为传输层连接隧道;
所述接入点AP进行地址转换并与持有所述选定公有IP资源的复用点MP通信的过程具体为:内网主机发起到外网主机的连接请求,该连接请求中包括内网主机IP地址和端口号、外网主机IP地址和端口号,接入点AP接收到该连接请求,通过设定的公有IP选择算法选择公有IP地址和端口号,由此产生一个新的会话映射表项,依照会话表项对数据包进行地址转换,将地址转换后的数据包与新的会话映射表项中与连接有关的信息传递给持有选定公有IP地址的复用点MP,复用点MP建立新的连接信息表项,会话建立;接入点AP与复用点MP采用该会话完成地址转换和数据交互;
所述会话映射表项存于会话映射表中,该会话映射表由接入点AP建立并维护,会话映射表项为一个会话的基本数据结构,具体包括内网主机的IP地址和端口号、所选取的公有IP地址和端口号、目的外网主机的IP地址和端口号以及该会话对端复用点MP的IP地址;
所述连接信息表项存于连接信息表中,该连接信息表由复用点MP建立并维护,连接信息表项为用于一个会话的辅助数据结构;具体包括内网主机对应的公有IP地址和端口号、外网主机的IP地址和端口号以及该会话对端接入点AP的IP地址;
所述与连接有关的信息包括公有IP地址和端口号、外网主机IP地址和端口号、以及会话对端接入点AP的IP地址。
2.如权利要求1所述的一种分布式网络地址转换***,其特征在于,所述设定的公有IP选择算法为每次选取不同复用点MP的公有IP地址。
3.如权利要求2所述的一种分布式网络地址转换***,其特征在于,所述公有IP选择算法包括按连接变换公有IP地址和按时间变换公有IP地址:
所述按连接变换公有IP地址具体为以会话为单元循环选取不同的公有IP地址和端口号;
所述按时间变换公有IP地址具体为在连接请求中加入时间字段,在时间字段范围内使用预设的公有IP地址,一旦超时,则变换选取其他公有IP地址。
4.如权利要求1所述的一种分布式网络地址转换***,其特征在于,接入层、复用层和控制层的节点之间采用三类数据流进行数据交互,三类数据流分别为公有IP提交流、公有IP获取流以及***数据流;其中***数据流包括配置流和业务数据流;
所述公有IP提交流的数据方向为复用点MP至资源服务器IPS;当复用点MP初始化时,复用点MP将其所维持的所有公有IP地址资源信息通过公有IP提交流发送至资源服务器IPS,或者当复用点MP所维持的公有IP地址发生变更时,将变更的公有IP地址资源信息通过公有IP提交流发送至资源服务器IPS,资源服务器IPS接收到公有IP地址资源信息之后对其进行存储;
所述公有IP地址资源信息包括公有IP地址、可用端口范围、可用时间起始值、所属MP以及该公有IP地址的IP属性字符串;
所述公有IP获取流为资源服务器IPS与接入点AP之间的双向数据流;接入点AP通过公有IP获取流向资源服务器IPS发出IP申请指令,IPS通过公有IP获取流做出应答;
所述IP申请指令包括:IP地址属性、IP地址的端口范围以及IP地址数量;
所述配置流的数据方向为配置服务器CC至其他节点;当各节点启动或者配置信息发生变化时,配置服务器CC通过配置流将各节点的配置信息通过配置流发送至其他节点;
所述业务数据流为接入点AP与复用点MP采用所建立会话进行数据交互的数据流;业务数据流在接入点AP和复用点MP的会话建立后触发,业务数据流的内容为网络通信数据包。
5.如权利要求4所述的一种分布式网络地址转换***,其特征在于,所述IP申请指令分为三种类型,分别为原地址翻译SNAT申请、目的地址翻译DNAT申请以及端口映射IPM申请;
所述SNAT申请包括:指定的IP地址属性,IP数量多于1个,IP的端口数量为不限定;
所述DNAT申请包括:指定的IP地址属性,IP数量为1个,端口为1个;
所述IPM申请包括:指定的IP地址属性,IP数量为1个,端口范围为一段指定范围内的端口。
6.如权利要求4所述的一种分布式网络地址转换***,其特征在于,所述公有IP地址资源信息中的IP属性字符串包括IP地址的用户属性以及IP地址所属的省,市,运营商。
7.如权利要求4所述的一种分布式网络地址转换***,其特征在于,所述控制点CP还包括日志服务器LC,LC用于处理各节点发来的日志信息;
则所述***数据流中还包括日志流,日志流的数据方向为复用点MP和接入点AP至日志服务器LC;当复用点MP和接入点AP运行过程中有日志需要记录时触发日志流,日志流的内容为复用点MP和接入点AP的日志信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410746762.6A CN104601738B (zh) | 2014-12-09 | 2014-12-09 | 一种分布式网络地址转换*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410746762.6A CN104601738B (zh) | 2014-12-09 | 2014-12-09 | 一种分布式网络地址转换*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104601738A CN104601738A (zh) | 2015-05-06 |
CN104601738B true CN104601738B (zh) | 2018-04-10 |
Family
ID=53127230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410746762.6A Expired - Fee Related CN104601738B (zh) | 2014-12-09 | 2014-12-09 | 一种分布式网络地址转换*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104601738B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107241453B (zh) * | 2016-03-28 | 2020-07-24 | 华为技术有限公司 | 一种网络地址转换映射保活方法及装置 |
CN109743238B (zh) * | 2018-12-27 | 2021-07-30 | 北京思信飞扬信息技术股份有限公司 | 一种分布式接入*** |
CN110012118B (zh) * | 2019-03-08 | 2022-07-22 | 平安科技(深圳)有限公司 | 一种提供网络地址转换nat服务的方法及控制器 |
CN110855810B (zh) * | 2019-11-07 | 2022-07-12 | 北京天融信网络安全技术有限公司 | 一种nat转换方法、装置、网络安全设备及存储介质 |
CN113612675B (zh) * | 2021-06-25 | 2022-07-12 | 北京劲群科技有限公司 | 一种分布式内网通透实现架构及方法 |
CN113746954B (zh) * | 2021-09-22 | 2023-06-13 | 烽火通信科技股份有限公司 | 一种nat地址块二次分配迅速回收的方法和装置 |
CN115514732B (zh) * | 2022-09-02 | 2023-08-25 | 上海量讯物联技术有限公司 | 一种基于tcp连接数的源nat ip分配方法与装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005034372A2 (en) * | 2003-10-01 | 2005-04-14 | Santera Systems Inc. | Methods and systems for per-session network address translation (nat) learning and firewall filtering in media gateway |
CN101247421A (zh) * | 2008-03-28 | 2008-08-20 | 杭州华三通信技术有限公司 | 分布式架构下nat地址池的自适应分配方法和*** |
CN102821036A (zh) * | 2012-04-20 | 2012-12-12 | 杭州华三通信技术有限公司 | 一种实现报文转发的方法及设备 |
CN103797774A (zh) * | 2013-11-05 | 2014-05-14 | 华为技术有限公司 | 一种网络地址转换设备及方法 |
-
2014
- 2014-12-09 CN CN201410746762.6A patent/CN104601738B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005034372A2 (en) * | 2003-10-01 | 2005-04-14 | Santera Systems Inc. | Methods and systems for per-session network address translation (nat) learning and firewall filtering in media gateway |
CN101247421A (zh) * | 2008-03-28 | 2008-08-20 | 杭州华三通信技术有限公司 | 分布式架构下nat地址池的自适应分配方法和*** |
CN102821036A (zh) * | 2012-04-20 | 2012-12-12 | 杭州华三通信技术有限公司 | 一种实现报文转发的方法及设备 |
CN103797774A (zh) * | 2013-11-05 | 2014-05-14 | 华为技术有限公司 | 一种网络地址转换设备及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104601738A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104601738B (zh) | 一种分布式网络地址转换*** | |
US11063819B2 (en) | Managing use of alternative intermediate destination computing nodes for provided computer networks | |
US10911398B2 (en) | Packet generation method based on server cluster and load balancer | |
CN103997414B (zh) | 生成配置信息的方法和网络控制单元 | |
US9794116B2 (en) | Managing use of intermediate destination computing nodes for provided computer networks | |
US9491002B1 (en) | Managing communications involving external nodes of provided computer networks | |
CN100521663C (zh) | 点对点通信中穿越网络地址转换的方法 | |
US8396946B1 (en) | Managing integration of external nodes into provided computer networks | |
CN107770062A (zh) | 一种数据包发送方法、装置及网络架构 | |
US11252126B1 (en) | Domain name resolution in environment with interconnected virtual private clouds | |
JP2016171591A (ja) | 管理されたコンピュータネットワークのための論理ネットワーキング機能の提供 | |
CN104427010A (zh) | 应用于动态虚拟专用网络的网络地址转换方法和装置 | |
CN108111383A (zh) | 一种基于sdn的跨域容器虚拟网络组建方法 | |
CN111435922B (zh) | 一种带宽共享方法 | |
CN105391635A (zh) | 一种基于sdn的网络虚拟化方法 | |
Bronzino et al. | Novn: named-object based virtual network architecture | |
Wolinsky et al. | On the design of scalable, self-configuring virtual networks | |
Cui et al. | State management in IPv4 to IPv6 transition | |
Rezmerita et al. | Private virtual cluster: Infrastructure and protocol for instant grids | |
Jianping et al. | The road towards future Internet | |
CN108848175A (zh) | 一种创建tcp连接的方法及装置 | |
CN114422301B (zh) | 一种基于p2p-vpn技术穿越nat的网关 | |
Chou et al. | Heterogeneous Interconnection between SDN and Layer2 Networks based on NSI | |
CN100403713C (zh) | 一种控制虚拟局域网间用户访问的方法 | |
Kauhaus et al. | Efficient message passing on multi-clusters: An ipv6 extension to Open MPI |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180410 Termination date: 20181209 |
|
CF01 | Termination of patent right due to non-payment of annual fee |