CN1756259A - 因特网协议网络中使用网络地址翻译的方法和系统 - Google Patents
因特网协议网络中使用网络地址翻译的方法和系统 Download PDFInfo
- Publication number
- CN1756259A CN1756259A CNA200510078384XA CN200510078384A CN1756259A CN 1756259 A CN1756259 A CN 1756259A CN A200510078384X A CNA200510078384X A CN A200510078384XA CN 200510078384 A CN200510078384 A CN 200510078384A CN 1756259 A CN1756259 A CN 1756259A
- Authority
- CN
- China
- Prior art keywords
- address
- source
- private
- network
- public
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- 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
- H04L61/2557—Translation policies or rules
-
- 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/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明基于双重动态网络地址翻译(NAT):在接近于客户的客户站执行一次网络地址翻译,并且在接近于应用服务器之处执行一次网络地址翻译(反NAT)。客户站和应用服务器之间的网络仅知道已注册地址(公共IP地址),而应用仅知道真实私有IP地址。本发明基于一种用于对IP地址进行“NAT”或“反NAT”而不必预配置“NAT”设备(执行翻译网络地址的操作的设备)的方法。
Description
技术领域
本发明涉及计算机网络,特别涉及一种用于以透明的方式为位于不同的私有因特网协议(IP)网络上的源和目的地翻译IP数据报的地址的方法、系统和计算机程序。
背景技术
因特网
因特网是计算机和计算机网络的全球网络(“网(Net)”)。因特网连接使用各种不同操作系统或语言包括UNIX、DOS、Windows、Macintosh等的计算机。为了帮助和允许这些不同的系统和语言之间的通信,因特网使用被称作TCP/IP(“传输控制协议/因特网协议”)的语言。TCP/IP协议支持因特网上的三种基本应用:
·传送和接收电子邮件(“SMTP”或“简单邮件传输协议”),
·登录到远程计算机中(“Telnet”),以及
·将文件和程序从一个计算机传输到另一个计算机(“FTP”或“文件传输协议”),
·传送和接收“HTTP”(“超文本传输协议”)页面。
TCP/IP
TCP/IP协议集由于两个最重要的协议而命名:
·传输控制协议(TCP),和
·因特网协议(IP)。
它的另一个名称是因特网协议集。更常用的术语TCP/IP用来表示整个协议集。TCP/IP的第一设计目标是构建提供通用通信服务的网络互连:互联网或因特网。采用提供在物理网络与用户应用之间运行的基本通信功能的编程接口的形式,每个物理网络具有其自己的技术相关通信接口。向用户隐藏物理网络的架构。TCP/IP的第二目标是互连不同的物理网络,以形成对于用户而言看上去是一个大型网络的网络。
TCP是提供端到端数据传输的传输层协议。它负责在2个计算机系统之间提供可靠的信息交换。在两个计算机系统之间的一个TCP连接上可以同时支持多个应用。
IP是将物理网络架构隐藏在其下的互联网层协议。在计算机之间传达消息的一部分是路由功能,其确保消息在网络内将被正确地引导以便递送到其目的地。IP提供该路由功能。IP消息被称作IP数据报。
在TCP/IP之上采用应用级协议,以将用户和应用数据从一个源计算机系统传输到一个目的计算机系统。这样的应用级协议例如为文件传输协议(FTP)、Telnet、Gopher、超文本传输协议(HTTP)。
统一资源定位符
因特网的资源由统一资源定位符(URL)明确地标识,其中统一资源定位符是指向特定位置上的特定资源的指针。URL指定用来访问服务器的协议(例如,HTTP、FTP等)、服务器的名称以及该服务器上文件的位置。
客户端和服务器
TCP/IP是对等、面向连接的协议。不存在主/从关系。然而,应用使用客户端/服务器模型进行通信。服务器是向因特网用户提供服务的应用;客户端是服务的请求者。应用包括可以在相同或不同计算机系统上运行的服务器和客户端部分。
用户通常调用应用的客户端部分,其构建对特定服务的请求并且使用TCP/IP作为传输媒介将其发送到应用的服务器部分。
服务器是接收请求、执行所需服务并回送答复结果的程序。服务器通常可以同时处理多个请求(多个客户端)。
IP路由器
“路由器”是互连两个网络并且将消息从一个网络转发到另一个网络的计算机。路由器能够选择网络之间的最佳传送路径。基本路由功能在TCP/IP协议栈的IP层中实现,从而在多于一个接口上运行TCP/IP的任何主机(或计算机)或工作站在理论上能够在网络之间转发消息。由于IP实现基本的路由功能,因此经常使用术语“IP路由器”。然而,被称作“路由器”的专用网络硬件设备可以提供比采用IP实现的最小功能更高级的路由功能。
内联网
一些公司使用与因特网相同的机制来在其自己的公司内部通信。在这种情况下,该机制被称作“内联网”。这些公司使用相同的连网/传输协议和基于本地的计算机以内聚的方式提供对大量共同信息的访问。由于该数据对于公司可能是私有的,并且由于公司的成员仍然需要具有对公共因特网信息的访问,为了避免不属于公司的人可以从公共因特网访问该该私有内联网,它们通过使用被称作防火墙的专用设备来保护对其网络的访问。
IP寻址
IP地址由IP协议用来唯一地标识因特网上的主机。严格地说,IP地址标识能够发送和接收IP数据报的接口。每个IP数据报(在主机之间交换的基本数据报)包括源IP地址和目的IP地址。IP地址以32位无符号二进制值表示,其通常以带点的十进制格式表达。例如,9.167.5.8是一个有效的因特网地址。IP地址在网络和主机部分之间划分,其中IP地址的开头位指定如何划分该地址的其余部分。IP地址与易于阅读的符号名称例如myhost.ibm.com之间的映射由“域名系统”(DNS)完成。
因特网分配号码管理机构(IANA)
为了确保因特网中的服务器之间的任意通信,所有IP地址都必须由因特网分配号码管理机构(IANA)正式分配。很多组织使用本地分配的IP地址,其基本上被包括在私有因特网的地址的保留范围之内,以便避免与正式分配的IP地址冲突。这些IP地址不能在因特网上进行路由。
IP子网
由于因特网的爆炸性增长,所分配的IP地址的原则变得太不灵活而不允许对本地网络配置进行容易的改变。当出现以下情形时,可能发生这些改变:
·新类型的物理网络被安装在一个位置上。
·主机数的增长要求将本地网络分裂成两个或更多个单独的网络。
·增长的距离要求将网络分裂成在其之间存在网关的较小网络。
为了避免在改变的情况下请求附加的IP网络地址,引入了子网的概念。虽然整个网络对于外部世界而言看上去就像是一个IP网络,但是子网的分配可以在本地完成。IP地址的主机号码部分被细分成网络号和主机号。该次级网络被称作“子网络”或“子网”。子网化以对于远程系统透明的方式实现。
私有IP地址
用于节约IP地址空间的方案是使用私有IP地址。通过为在单个组织内专用并且无需与因特网的IP连接的网络保留部分地址空间,该方案放松了IP地址是全球唯一的规则。任何组织可使用特定范围内的地址,而不管任何其它组织。然而,由于这些地址不是全球唯一的,因此它们不能被另一个组织中的主机引用,并且不向任何其它外部路由器定义它们。不使用私有地址的网络中的路由器预期丢弃关于这些地址的所有路由信息。使用私有地址的组织中的路由器被预期将所有对私有地址的引用限于内部链路;它们应当既不向外部路由器告知到私有地址的路由,也不将包括私有地址的IP数据报转发到外部路由器。仅具有私有IP地址的主机没有与因特网的IP层连通性。与外部因特网主机的所有连通必须通过经常被称作“代理”的“应用级网关”来提供。
私有IP地址的使用和定义在IETF请求注解数据库(RFC 1918)中有描述。该RFC定义了3类(或范围)私有IP地址:
·A类范围:网络10.0.0.0/8内的所有地址,即10.0.0.0和10.255.255.255之间的所有地址。
·B类范围:16个B类网络172.16.0.0/16到172.31.0.0/16内的所有地址,即172.16.0.0和172.31.255.255之间的所有地址。
·C类范围:256个C类网络192.168.0.0/24到192.168.255.0/24内的所有地址,即192.168.0.0和192.168.255.255之间的所有地址。
网络地址翻译
网络地址翻译(NAT)基于这样的事实,即私有网络中的仅仅一小部分主机与该网络的外界通信。如果每个主机只有在需要通信时才被分配来自公共IP地址池的IP地址,则只需少数公共IP地址。NAT是用于具有私有IP地址范围且想要与因特网上的主机通信的网络的解决方案。实际上,时常地,这也可以通过实施防火墙来实现。因此,通过使用代理或套接字(Socks)服务器与因特网通信的客户端不向因特网暴露其地址,从而它们的地址无论如何也不必被翻译。然而,无论什么原因,当代理和套接字不可用或者不满足特定要求时,可以使用NAT来管理内部和外部网络之间的通信量而无需告知内部的主机地址。
代理服务器
代理服务器也被称作应用级网关,其是在连接安全和不安全的网络的主机上运行的应用特定中继服务器。代理服务器的目的是在应用级而非IP级控制两个网络之间的数据交换。通过使用代理服务器,有可能由于代理服务器能够处理的应用协议而禁用安全和不安全网络之间的IP路由,但是仍然能够通过在代理服务器中中继数据来在这些网络之间交换数据。
为了让任何客户端能够访问代理服务器,必须特定地修改客户端软件。换句话说,客户端和服务器软件必须支持代理连接。
与IP过滤相比,代理基于连接的应用数据而提供全面得多的日志记录。例如,HTTP代理可以记录由用户访问的URL(统一资源定位符)。代理的另一个特性是它们可以使用严格的用户认证。
关于在上面章节中提供的技术领域的更多说明可以参见这里将其引作参考的下面出版物:“TCP/IP Tutorial and Technical Overview”,by Martin W.Murhammer,Orcun Atakan,Stefan Bretz,Larry R.Pugh,Kazunari Suzuki,DavidH.Wood,International Technical Support Organization,October 1998,GG24-3376-05。
对私有IP地址进行路由的问题
在连网环境(LAN和WAN)中,私有IP地址的路由(如在RFC 1918中所定义)可能是一个问题。大多数客户正在其内联网中使用私有IP地址。然而,由于客户具有不断增长的连接到因特网上的其它客户或集中式管理系统的需要,因此共享网络中私有IP地址的路由可能变成真实的问题。目前存在基于使用网络地址翻译(NAT)或代理的不同解决方案,以便将私有IP地址翻译成已注册(公共)IP地址。
然而,一些应用不能与翻译后的IP地址一起工作。这些应用正在使用有效载荷中的原始(私有)IP地址,并且该私有IP地址不能被NAT设备翻译。例如,一些Tivoli管理产品(“Tivoli”是IBM公司的商标)和一些其它客户端-服务器应用就是这样的情况。
发明内容
本发明涉及一种如在独立权利要求中限定的方法和系统,其用于以透明的方式为位于不同私有IP网络上的源和目的地翻译因特网协议(IP)数据报的地址。
在第一路由器中使用的本发明的第一目的是在数据报中将源私有IP地址翻译成公共IP地址,使得所述私有IP地址可由第二路由器翻译回到相同的私有IP地址,其中第一路由器一方面连接到第一私有因特网协议(IP)网络而另一方面连接到公共IP网络,并且第二路由器连接到第二私有网络。所述第一路由器中的方法,包括以下步骤:
·从第一私有IP网络内的源接收包括首标的IP数据报,其中该首标包含:
·源私有IP地址;
·IP选项字段;
·源TCP/UDP端口号;
·在IP数据报首标中以第一路由器的公共IP地址替换源私有IP地址;
·在IP数据报首标中以源私有IP地址的两个最低有效字节替换源TCP/UDP端口号;
·在IP选项字段中复制与源私有IP地址的最高和次高有效字节相关的信息,使得可从所述信息推导出所述最高和次高有效字节;
·在公共IP网络上转发IP数据报。
在第二路由器中使用的本发明的第二目的是在数据报中将源公共IP地址翻译成私有IP地址,所述源私有IP地址先前已经由第一路由器翻译成所述源公共IP地址,其中第二路由器一方面连接到公共因特网协议(IP)网络而另一方面连接到第二私有IP网络,并且第一路由器连接到第一私有网络。所述第二路由器中的方法,包括以下步骤:
·从公共IP网络接收要被转发到第二私有IP网络内的目的地的IP数据报,所述数据报包括具有以下内容的首标:
·源公共IP地址;
·IP选项字段;
·源TCP/UDP端口号;
·如果源公共IP地址先前已经由第一路由器翻译,则
·在IP数据报首标中将源公共IP地址的两个最低有效字节替换成源TCP(UDP)端口号;
·在IP数据报首标中以根据从IP首标选项字段检索的信息推导出的源IP私有地址的第一和第二字节替换源公共IP地址的最高和次高有效字节;
·将IP数据报转发到第二私有IP网络内的其目的地。
在所附从属权利要求中提供了本发明的另外实施例。
参考下面的说明书、权利要求书和附图,可以更好地理解本发明的前述以及其它目的、特征和优点。
附图说明
被认为是本发明的特征的具有新颖性和创造性的特征在所附权利要求中加以阐述。然而,通过参考下面结合附图阅读的对说明性详细实施例的详细描述,将最佳地理解本发明本身以及优选使用方式及其另外的目的和优点,其中:
图1示出根据本发明的通过路由器和网络互连的源站和目的服务器。
图2是在本发明中使用的具有IP首标和IP选项字段的描述的IP数据报的视图。
图3是示出根据本发明当从源‘A’接收IP数据报时由接近于源站‘A’的路由器‘B’执行的不同步骤的流程图。
图4是示出根据本发明当从路由器‘B’接收IP数据报时由接近于目的服务器‘D’的路由器‘C’执行的不同步骤的流程图。
具体实施方式
下面描述是为了使本领域的技术人员能够制造和使用本发明而提供的,并且它是以专利申请及其要求的上下文中提供的。对这里描述的优选实施例和一般性原理和特征的各种修改对于本领域的技术人员而言将是显而易见的。这样,本发明不旨在局限于所示实施例,而是应当被给予与这里描述的原理和特征一致的最宽范围。
介绍
本发明的一般原理
本发明基于双重动态网络地址翻译(NAT):
·在接近于客户的客户站之处执行一次网络地址翻译(NAT)(NAT),及
·在接近于应用服务器之处执行一次网络地址翻译(NAT)(反NAT)。
客户站和应用服务器之间的网络仅知道已注册地址(公共IP地址),而应用仅知道真实私有IP地址。本发明基于一种用于对IP地址进行“NAT”或“反NAT”而不必预配置“NAT”设备(执行翻译网络地址的操作的设备)的方法。
一种可选方案是使用所谓的“一般性路由封装”(GRE),其由CISCO系统公司开发。一般性路由封装(GRE)是用来将数据报封装到隧道中的遂穿(turnneling)协议。然而,该技术局限于单个路由器厂商(CISCO系统公司),并且在其它路由设备(防火墙、路由器...)上不起作用。其它封装或遂穿方法具有这样的缺点,即添加不必要的首标,并且增加带宽需求和提高传送成本。
网络地址翻译
使用不存在应用网关的应用协议在基于私有IP地址的私有网络与公共网络(如因特网)之间通信的唯一解决方案,是在私有网络中的主机与因特网上的主机之间建立IP级的连通性。由于因特网中的路由器不知道如何将IP数据报路由回到私有IP地址,因此不可能通过路由器将以私有IP地址作为源IP地址的IP数据报发送到因特网中。
NAT将私有网络的私有IP地址透明地翻译成公共IP地址,使得可以在因特网上对IP数据报进行路由。NAT动态地将外出的数据报的私有IP地址翻译成公共IP地址。对于进入的数据报,NAT将公共IP地址翻译成私有IP地址。从相互交换IP数据报的两个主机的角度而言,一个主机连接到安全网络(私有网络),并且另一个主机连接到不安全网络(因特网),网络地址翻译器(NAT)看上去就像是在两个网络接口之间转发IP数据报的标准IP路由器。
由于实现NAT的TCP/IP栈就像是普通的IP路由器,因此存在创建用于通过路由器连接两个或更多个IP网络或子网的适当IP网络设计的需要。NATIP地址需要来自单独的网络或子网,并且这些地址对于不安全网络中的其它网络或子网需要是无歧义的。如果不安全网络是因特网,则NAT地址需要来自公共网络或子网,换句话说,NAT地址需要由IANA(因特网分配号码主管机构)分配。
不安全地址(正式地址)应当在池中保留,以便在需要时使用它们。如果从安全网络建立连接,则NAT可以仅仅在NAT池中选取下一个空闲公共地址,并且将其分配给发出请求的安全主机。NAT在任何给定时间点都知道哪些安全IP地址被映射到哪些不安全IP地址,从而它将能够把它从不安全网络接收的响应映射成对应的安全IP地址。
用于扩展NAT的IP选项字段
图1示出了一个网络,其包括:
·源站‘A’(100),
·第一私有IP网络(105),
·路由设备‘B’(101),
·广域网(WAN)(102),
·路由设备‘C’(103),
·第二私有IP网络(106),以及
·目的服务器‘D’(104)。
在图1所示的例子中,客户站‘A’具有RFC 1918范围10.0.0.0的A类或172.16.0.0-172.31.255.255或192.168.0.0-192.168.255.255中的私有地址。该客户站通过第一私有网络(内联网网络)连接到路由设备‘B’。该路由设备‘B’本身通过公共网络(广域网(WAN))中枢或因特网网络)(102)连接到路由设备‘C’。该路由设备‘C’本身通过第二私有网络(内联网网络)(106)连接到应用服务器‘D’。
如图2所示,由客户站‘A’发送到应用服务器‘D’的每个数据报(200)包括以下字段:
·在IP首标中:
·客户站‘A’的私有源IP地址(205),
·应用服务器‘D’的目的IP地址(206),
·IP选项字段(201),
·在TCP首标中:
·用来标识目标应用的TCP(或UDP)源端口号(207)。
本发明基于下列特征:
·在路由设备‘B’和‘C’之间,IP首标中的IP选项字段(201)被定义为承载:
·源私有IP地址(205)的子集(在一般情况下为两个字节(203和204),并且在使用类指示符时可选地为一个字节(204),以及
·可选地,给出客户站‘A’的源私有IP地址范围(A或B或C类)的类指示符(203)。
·使用数据报的源TCP(UDP)端口号(2个字节)(207)来承载源IP私有地址(205)的最低有效字节。
一般实施例
路由设备‘B’
下面描述根据本发明当从源‘A’接收IP数据报时由靠近源站‘A’(客户站)的路由器‘B’执行的不同步骤。对于由源站‘A’发送到应用服务器‘D’的每个数据报,路由设备‘B’:
·将客户站‘A’的源私有IP地址(205)翻译成其自己的已注册(公共)IP地址(路由设备‘B’的IP地址)。
·以客户站‘A’的私有IP地址的两个最低有效字节翻译源TCP(UDP)端口号(207)。
·以表示‘扩展NAT’的选项号(202)填充IP选项字段(201)。
·以客户站‘A’的私有IP地址的两个最高有效字节填充IP选项字段(203和204)。
路由设备‘C’
下面描述根据本发明当从路由器‘B’接收IP数据报时由靠近目的服务器‘D’的路由器‘C’执行的不同步骤。对于由客户站‘A’发送到应用服务器‘D’的每个数据报,路由设备‘C’以原始源IP地址替换经过NAT的源IP地址。路由设备‘C’基于在源TCP(UDP)端口中以及从IP选项字段接收的信息而重新构建该地址。路由设备‘C’:
·在数据报(200)的IP首标内的IP选项字段(201)中检查选项号(202)‘扩展NAT’。
·如果选项号(202)不是‘扩展NAT’,则路由设备‘C’以标准过程继续。
·如果选项号是‘扩展NAT’,则路由设备‘C’将源公共IP地址的2个最低有效字节翻译成源TCP(UDP)端口号(207)。
·以在IP首标选项字段(201)中找到的两个字节(203和204)替换源公共IP地址(205)的最高和次高有效字节。
应用服务器‘D’
应用服务器‘D’接收具有客户站‘A’的源私有IP地址的数据报。由路由器‘B’和‘C’处理的NAT过程对于服务器D完全是透明的。
回路(way back)
相同的过程适用于回路。路由设备‘C’采用如上所述相同的机制对目的私有地址进行NAT,并且路由设备‘B’将其反NAT为客户站‘A’的私有地址。
IP选项字段
在优选实施例中,IP选项字段(4字节)(201)包括以下字段:
·第一字节(202)包括
·‘复制’标志(该‘复制’标志在本文的情况下被设成1,使得在所有可能的分段帧中复制选项),
·类标志(被设成0),以及
·新选项代码(例如31)
·第二字节(203),包括源私有IP地址的最高字节(203)。
·第三字节(204),包括源私有IP地址的次高字节(204)。
·第四字节被保留。
具体实施例
路由设备‘B’
图3是示出根据本发明当从源‘A’接收IP数据报时由靠近源站‘A’(客户站)的路由器‘B’执行的不同步骤的流程图。对于由客户站‘A’发送到应用服务器‘D’的每个数据报,路由设备‘B’:
·将客户站‘A’的源私有IP地址(205)翻译成其自己的已注册(公共)IP地址(路由设备‘B’的IP地址)(300)。
·以客户站‘A’的私有IP地址的两个最低有效字节翻译源TCP(UDP)端口号(207)(301)。
·以表示‘扩展NAT’的选项号(202)填充IP选项字段(201)(302)。
·检查客户站‘A’的私有IP地址的类(303):
·对于范围192.168.0.0到192.168.255.255,由于高字节总是相同的(192.168),因此不需要承载高字节。从而,路由设备‘B’以‘C类’填充IP选项字段(201)的类指示符字段(203)(305)。
·对于范围172.16.0.0到172.31.255.255,由于地址总是以172开始,因此仅一个字节承载从16到31的值。从而,路由设备‘B’以客户站‘A’的地址的次高有效字节填充IP选项字段(204)(304),并且以‘B类’填充IP选项字段(201)的类指示符字段(203)(305)。
·对于10.‘A类’范围,由于源IP地址总是以10开始,因此一个字节承载第二字节(10.之后)。从而,路由设备‘B’以客户站‘A’的地址的次高有效字节填充IP选项字段(204)(304),并且以‘A类’填充IP选项字段(201)的类指示符字段(203)(305)。
路由设备‘C’
图4是示出根据本发明当从路由器‘B’接收IP数据报时由靠近目的服务器‘D’的路由器‘C’执行的不同步骤的流程图。对于由客户站‘A’发送到应用服务器‘D’的每个数据报,路由设备‘C’以原始源IP地址替换经过NAT的源IP地址。路由设备‘C’基于在源TCP(UDP)端口中和从IP选项字段接收的信息而重新构建该地址。路由设备‘C’:
·在数据报(200)的IP首标内的IP选项字段(201)中检查选项号(202)‘扩展NAT’(401)。
·如果选项号(202)不是‘扩展NAT’,则路由设备‘C’以标准过程继续。
·如果选项号是‘扩展NAT’,则路由设备‘C’将源公共IP地址的2个最低有效字节翻译成源TCP(UDP)端口号(207)(402)。
·在类指示符字段(203)中检查客户站‘A’的私有IP地址的类(403):
·对于范围192.168.0.0到192.168.255.255,以192.168替换源公共IP地址(205)的最高和次高有效字节(404)。
·对于范围172.16.0.0到172.31.255.255,以‘172’替换源公共IP地址的次高有效字节(404),并且以在IP首标选项字段中找到的字节替换源公共IP地址(205)的最高有效字节(405)。
·对于10.‘A类’范围,以‘10’替换源公共IP地址的次高有效字节(404),并且以在IP首标选项字段(201)中找到的字节(204)替换源公共IP地址(205)的最高有效字节(405)。
应用服务器‘D’
应用服务器‘D’接收具有客户站‘A’的源私有IP地址的数据报。由路由器‘B’和‘C’处理的NAT过程对于服务器D完全是透明的。
回路
相同的过程适用于回路。路由设备‘C’采用如上所述相同的机制对目的私有地址进行NAT,并且路由设备‘B’将其反NAT为客户站‘A’的私有地址。
IP选项字段
在优选实施例中,IP选项字段(4字节)(201)包括以下字段:
·第一字节(202)包括
·‘复制’标志(该‘复制’标志在本文的情况下被设成1,以使得在所有可能的分段帧中复制选项),
·类标志(被设成0),以及
·新选项代码(例如31)。
·第二字节(203)包括‘类指示符’:
·‘0’表示‘C’类(地址处于范围192中),
·‘1’表示‘B’类(地址处于范围172中),以及
·‘2’表示‘C’类(地址处于范围10中)。
·第三字节(204),包括私有地址的次高字节(204)。
·第四字节被保留。
例子
从而例如,如果‘A1’和‘A2’是具有地址10.1.1.1和10.1.1.2的2个客户站,其发送帧到应用服务器‘D’,由路由设备‘B’进行了NAT的所有帧将具有:
·路由设备‘B’的IP地址作为源
·‘11’作为‘A1’的源TCP协议号,并且‘12’作为‘A2’的源TCP协议号
·等于x‘9F-02-01-00’的IP选项字段,即‘复制’位、选项号31、10范围中的私有地址以及IP地址的第二字节=‘01’。
然后,路由设备‘C’能够在将帧转发到应用服务器‘D’之前重新构建10.1.1.1和10.1.1.2源IP地址,而无需任何预配置。
优点
该具体实施例的优点是节省了IP选项字段中的一些位。不是在IP选项字段中写入最高有效字节,而是仅仅将源私有IP地址的地址范围的指示(类指示符203)存储在IP字段(201)中。
尽管本发明已经参照其优选实施例被具体示出和描述,但应该理解,在不脱离本发明的精神和范围的情况下,可以对其进行形式和细节的各种修改。
Claims (16)
1.一种在第一路由器中使用的方法,用于在数据报中将源私有IP地址翻译成公共IP地址,使得所述私有IP地址可由第二路由器翻译回到相同的私有IP地址,其中第一路由器一方面连接到第一私有因特网协议(IP)网络而另一方面连接到公共IP网络,并且第二路由器连接到第二私有网络,所述方法包括以下步骤:
从第一私有IP网络内的源接收包括首标的IP数据报,其中该首标包含:
·源私有IP地址;
·IP选项字段;
·源TCP/UDP端口号;
在IP数据报首标中,以第一路由器的公共IP地址替换源私有IP地址;
在IP数据报首标中,以源私有IP地址的两个最低有效字节替换源TCP/UDP端口号;
在IP选项字段中,复制与源私有IP地址的最高和次高有效字节相关的信息,使得可从所述信息推导出所述最高和次高有效字节;
在公共IP网络上转发IP数据报。
2.根据前一权利要求所述的方法,还包括以下步骤:
在IP选项字段中表示源IP地址已被翻译。
3.根据前面权利要求中的任一项所述的方法,其中在IP选项字段中复制与源私有IP地址的最高和次高有效字节相关的信息的步骤还包括以下步骤:
识别与源私有IP地址相关联的类;与预定义的IP地址范围对应的类;
在IP选项字段中包括用于识别所述类的装置。
4.根据前面权利要求中的任一项所述的方法,其中在IP选项字段中复制与源私有IP地址的最高和次高有效字节相关的信息的步骤还包括以下步骤:
如果所识别的类对应于范围192.168.0.0到192.168.255.255,则在IP选项字段中包括用于识别所述类的装置。
5.根据前面权利要求中的任一项所述的方法,其中在IP选项字段中复制与源私有IP地址的最高和次高有效字节相关的信息的步骤还包括以下步骤:
如果所识别的类对应于范围172.16.0.0到172.31.255.255,则在IP选项字段中包括用于识别所述类的装置,在IP选项字段中复制源私有IP地址的次高有效字节。
6.根据前面权利要求中的任一项所述的方法,其中在IP选项字段中复制与源私有IP地址的最高和次高有效字节相关的信息的步骤还包括以下步骤:
如果地址以‘10’起始,则在IP选项字段中包括用于识别所述类的装置,在IP选项字段中复制源私有IP地址的次高有效字节。
7.一种路由器,包括被配置成实施根据前面权利要求中的任一项所述的方法的装置。
8.一种计算机程序,包括用于当在计算机系统上被执行时实施根据权利要求1至6中的任一项所述的方法的指令。
9.一种在第二路由器中使用的方法,用于在数据报中将源公共IP地址翻译成私有IP地址,所述源私有IP地址先前已经由第一路由器翻译成所述源公共IP地址,其中第二路由器一方面连接到公共因特网协议(IP)网络而另一方面连接到第二私有IP网络,并且第一路由器连接到第一私有网络,所述方法包括以下步骤:
从公共IP网络接收要被转发到第二私有IP网络内的目的地的IP数据报,所述数据报包括具有以下内容的首标:
·源公共IP地址;
·IP选项字段;
·源TCP/UDP端口号;
如果源公共IP地址先前已经由第一路由器翻译过:
·在IP数据报首标中,将源公共IP地址的两个最低有效字节替换成源TCP(UDP)端口号;
·在IP数据报首标中,以根据从IP首标选项字段检索的信息推导出的源IP私有地址的第一和第二字节替换源公共IP地址的最高和次高有效字节;
将IP数据报转发到第二私有IP网络内的其目的地。
10.根据前一权利要求所述的方法,包括以下步骤:
在IP字段中确定源公共IP地址是否先前已经被翻译。
11.根据权利要求9至10中的任一项所述的方法,其中在IP数据报首标中替换源公共IP地址的最高和次高有效字节的步骤还包括以下步骤:
在IP选项字段中识别与源私有IP地址相关联的类,与预定义的地址范围对应的类;
以与所识别的类对应的地址范围替换最高有效字节。
12.根据权利要求9至11中的任一项所述的方法,其中在IP数据报首标中替换源公共IP地址的最高和次高有效字节的步骤包括以下步骤:
如果所识别的类对应于范围192.168.0.0到192.168.255.255,则以‘192.168’替换数据报首标中源公共IP地址的最高和次高有效字节。
13.根据权利要求9至12中的任一项所述的方法,其中在IP数据报首标中替换源公共IP地址的最高和次高有效字节的步骤包括以下步骤:
如果所识别的类对应于范围172.16.0.0到172.31.255.255,则
·以‘172’替换数据报首标中源公共IP地址的最高有效字节,
·从IP选项字段检索源私有IP地址的次高有效字节,
·以所检索的字节替换源公共IP地址的次高有效字节。
14.根据权利要求9至13中的任一项所述的方法,其中在IP数据报首标中替换源公共IP地址的最高和次高有效字节的步骤包括以下步骤:
如果所识别的类对应于范围‘10.’,则代替以在IP首标选项字段中找到的字节替换最高有效字节,而
·以‘10’替换数据报首标中源公共IP地址的最高有效字节,
·从IP选项字段检索源私有IP地址的次高有效字节,
·以所检索的字节替换源公共IP地址的次高有效字节。
15.一种路由器,包括被配置成实施根据权利要求9至14中的任一项所述的方法的装置。
16.一种计算机程序,包括用于当在计算机系统上被执行时实施根据权利要求9至14中的任一项所述的方法的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04300622.0 | 2004-09-27 | ||
EP04300622 | 2004-09-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1756259A true CN1756259A (zh) | 2006-04-05 |
CN1756259B CN1756259B (zh) | 2011-04-20 |
Family
ID=36099006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510078384XA Expired - Fee Related CN1756259B (zh) | 2004-09-27 | 2005-06-20 | 因特网协议网络中使用网络地址翻译的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7450585B2 (zh) |
JP (1) | JP4328753B2 (zh) |
KR (1) | KR100650843B1 (zh) |
CN (1) | CN1756259B (zh) |
TW (1) | TW200637263A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124387A (zh) * | 2016-02-25 | 2017-09-01 | 上海传真通信设备技术研究所有限公司 | 一种阻止硬件后门的嵌入式网络系统 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100433621B1 (ko) * | 2001-08-09 | 2004-05-31 | 한국전자통신연구원 | 사설 인터넷의 단대단 서비스를 위한 다중 계층 인터넷프로토콜 및 상기 다중 계층 인터넷 프로토콜 패킷의송/수신 방법 |
JP4766976B2 (ja) * | 2005-09-29 | 2011-09-07 | 富士通株式会社 | ノード間接続方法及び装置 |
US7940713B2 (en) * | 2005-12-08 | 2011-05-10 | Electronics And Telecommunications Research Institute | Apparatus and method for traffic performance improvement and traffic security in interactive satellite communication system |
US8447802B2 (en) * | 2006-03-08 | 2013-05-21 | Riverbed Technology, Inc. | Address manipulation to provide for the use of network tools even when transaction acceleration is in use over a network |
US20080019376A1 (en) * | 2006-07-21 | 2008-01-24 | Sbc Knowledge Ventures, L.P. | Inline network element which shares addresses of neighboring network elements |
US7840683B2 (en) * | 2006-08-31 | 2010-11-23 | Sap Ag | Systems and methods of migrating sessions between computer systems |
CN101588357B (zh) * | 2008-05-23 | 2013-06-05 | 鸿富锦精密工业(深圳)有限公司 | 路由器及利用该路由器识别用户身份的方法 |
US9143508B2 (en) * | 2010-12-30 | 2015-09-22 | Verizon Patent And Licensing Inc. | Service location based authentication |
US8683019B1 (en) * | 2011-01-25 | 2014-03-25 | Sprint Communications Company L.P. | Enabling external access to a private-network host |
US8621038B2 (en) | 2011-09-27 | 2013-12-31 | Cloudflare, Inc. | Incompatible network gateway provisioned through DNS |
US8438240B2 (en) * | 2011-09-27 | 2013-05-07 | Cloudflare, Inc. | Distributing transmission of requests across multiple IP addresses of a proxy server in a cloud-based proxy service |
US9276847B2 (en) | 2013-01-02 | 2016-03-01 | Acceleration Systems, LLC | Systems and methods for providing a ReNAT virtual private network |
JP6516331B2 (ja) | 2013-01-02 | 2019-05-22 | スカイキャスターズ,リミティド ライアビリティ カンパニー | ReNAT通信環境を提供するシステム及び方法 |
US9210129B2 (en) | 2014-02-06 | 2015-12-08 | Acceleration Systems, LLC | Systems and methods for providing a multiple secure link architecture |
TWI530129B (zh) | 2014-02-14 | 2016-04-11 | 群暉科技股份有限公司 | 用來管理固定網址存取之方法、裝置、與計算機程式產品 |
US9912649B1 (en) * | 2015-01-05 | 2018-03-06 | Adtran, Inc. | Systems and methods for facilitating communication between an authentication client and an authentication server |
US20180234535A1 (en) * | 2017-02-10 | 2018-08-16 | Mediatek Inc. | Method and apparatus for communication |
US10700972B2 (en) * | 2018-08-29 | 2020-06-30 | ColorTokens, Inc. | Computer implemented system and method for preserving mapping information in IP-options |
US11997067B2 (en) * | 2021-01-22 | 2024-05-28 | VMware LLC | Managing internet protocol (IP) address allocation to tenants in a computing environment |
US11929976B2 (en) * | 2021-02-14 | 2024-03-12 | Oracle International Corporation | Virtual network routing gateway that supports address translation for dataplane as well as dynamic routing protocols (control plane) |
CN118612310A (zh) * | 2024-08-07 | 2024-09-06 | 广州通则康威科技股份有限公司 | 基于选项列表的通信方法、装置及设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69708281T2 (de) * | 1996-04-24 | 2002-05-16 | Nortel Networks Ltd., St.Laurent | Internetprotokoll-filter |
US7058973B1 (en) * | 2000-03-03 | 2006-06-06 | Symantec Corporation | Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses |
US6826684B1 (en) * | 2000-08-28 | 2004-11-30 | Verizon Corporate Services Group Inc. | Sliding scale adaptive self-synchronized dynamic address translation |
KR100433621B1 (ko) * | 2001-08-09 | 2004-05-31 | 한국전자통신연구원 | 사설 인터넷의 단대단 서비스를 위한 다중 계층 인터넷프로토콜 및 상기 다중 계층 인터넷 프로토콜 패킷의송/수신 방법 |
US7088718B1 (en) * | 2002-03-19 | 2006-08-08 | Cisco Technology, Inc. | Server load balancing using IP option field approach to identify route to selected server |
CN1529480B (zh) * | 2003-10-08 | 2010-04-14 | 中国科学院计算技术研究所 | 一种ip网络协议转换的方法 |
US7360083B1 (en) * | 2004-02-26 | 2008-04-15 | Krishna Ragireddy | Method and system for providing end-to-end security solutions to aid protocol acceleration over networks using selective layer encryption |
-
2005
- 2005-06-20 CN CN200510078384XA patent/CN1756259B/zh not_active Expired - Fee Related
- 2005-08-29 KR KR1020050079282A patent/KR100650843B1/ko not_active IP Right Cessation
- 2005-09-13 US US11/225,568 patent/US7450585B2/en not_active Expired - Fee Related
- 2005-09-21 JP JP2005274173A patent/JP4328753B2/ja not_active Expired - Fee Related
- 2005-09-22 TW TW094132856A patent/TW200637263A/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124387A (zh) * | 2016-02-25 | 2017-09-01 | 上海传真通信设备技术研究所有限公司 | 一种阻止硬件后门的嵌入式网络系统 |
Also Published As
Publication number | Publication date |
---|---|
US20060067342A1 (en) | 2006-03-30 |
KR20060050749A (ko) | 2006-05-19 |
JP2006101513A (ja) | 2006-04-13 |
TW200637263A (en) | 2006-10-16 |
KR100650843B1 (ko) | 2006-11-27 |
CN1756259B (zh) | 2011-04-20 |
JP4328753B2 (ja) | 2009-09-09 |
US7450585B2 (en) | 2008-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1756259A (zh) | 因特网协议网络中使用网络地址翻译的方法和系统 | |
CN1301611C (zh) | 用于在不同的专用网的网络设备之间支持通信的网关 | |
CN1198433C (zh) | 带有防火墙和网络地址转换的音频-视频电话 | |
CN1503526A (zh) | 地址转换装置和地址转换规则的管理方法 | |
US7245622B2 (en) | Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload | |
CN1520123A (zh) | 对地址询问的回答方法、程序、装置和地址通知方法、程序、装置 | |
CN1263267C (zh) | 漫游的转换器或路由器 | |
CN1543142A (zh) | 路由器和地址标识信息管理服务器 | |
CN102170380B (zh) | 内网访问外网的方法和设备 | |
CN1765081A (zh) | 用于集中分配地址与端口号的方法和系统 | |
CN1253819C (zh) | 服务器、网络系统、查找要求处理方法以及通信控制方法 | |
CN1717911A (zh) | 用于在通信网络上通信的方法和设备 | |
CN1601993A (zh) | 网络互连设备和方法、名字分辨设备和计算机程序 | |
CN101068160A (zh) | 一种管理动态地址设备的方法和代理装置 | |
CN101030865A (zh) | 一种网络地址转换和/或防火墙穿越平台、系统及其方法 | |
CN1495631A (zh) | 网际协议地址分配设备和方法 | |
CN1918863A (zh) | 地址解析装置、地址解析方法及采用它们的通信系统 | |
CN1863143A (zh) | 一种实现Web Server访问的方法、系统和装置 | |
CN1298592A (zh) | 建立网络中的接续 | |
CN1470119A (zh) | 通信系统 | |
CN1551583A (zh) | 数据包通信装置 | |
CN1957566A (zh) | 为与客户机的连接选择路由的服务器 | |
CN1531263A (zh) | 通信系统、连接装置、通信方法以及认证方法 | |
CN1487711A (zh) | 网络系统、反向代理、计算机设备、数据处理方法以及程序产品 | |
CN1455555A (zh) | 源地址选择系统、路由器装置、通信节点和源地址选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110420 Termination date: 20120620 |