首页> 中国专利> 私人地址领域与公共地址领域之间缺少代理的分组路由

私人地址领域与公共地址领域之间缺少代理的分组路由

摘要

无需具有私人网络和公共网络的网络上的代理而发送信息分组,包括:检查在私人网络接口处接收的分组的目标地址,并且,当该分组的目标地址是私人网络的公共地址时,将分组发送到与私人网络接口相连接的私人客户。

著录项

  • 公开/公告号CN1602607A

    专利类型发明专利

  • 公开/公告日2005-03-30

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN02805306.0

  • 发明设计人 P·N·伊耶;U·S·沃里厄;

    申请日2002-02-21

  • 分类号H04L12/56;H04L29/12;

  • 代理机构上海专利商标事务所;

  • 代理人李家麟

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 16:04:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2007-11-28

    授权

    授权

  • 2005-06-01

    实质审查的生效

    实质审查的生效

  • 2005-03-30

    公开

    公开

说明书

技术领域

本发明涉及发送分组,尤其涉及私人地址领域与公共地址领域之间缺少代理的分组路由。

背景技术

发送分组涉及在计算机网络中的各台计算机之间传送分组(例如,信息块)。分组包括数据字段和地址字段。地址字段规定那个分组想要去的目标地址。地址字段也规定该分组起源于那里的源地址。

计算机网络包括具有私人地址和/或公共地址的计算机。具有私人地址的计算机在私人网络中,并被认为是私人地址领域的一部分。通常,“请求注解1918”(“RFC 1918”)标准定义私人领域中保留的私人IP地址空间。具有公共地址的计算机在公共网络中,并被认为是公共地址领域的一部分。

私人网络中的计算机能够使用私人地址领域将分组发送到该私人网络内的其他计算机。公共网络中的计算机能够使用公共地址领域将分组发送到公共网络内的其他计算机。私人网络和公共网络中的计算机只能通过各个网络之间的网关在彼此之间传送分组。

“网络地址转换”(“NAT”)是一种协议,该协议使私人地址领域中的“互联网协议”(“IP”)的计算机能够传送计算机在公共地址领域中的IP分组。

附图说明

图1是私人网络和公共网络的视图。

图2是分组的视图。

图3是用于对分组进行寻址的过程的流程图。

图4是用于发送分组的过程的流程图。

图5是用于执行图3和图4中的过程的私人网络中的IP层的视图。

图6是被用来执行本发明的一个实施例的计算机硬件的视图。

各幅图中相同的参考符号表示相同的单元。

具体实施方式

网络10(图1)包括私人网络12和公共网络14。私人网络12被认为是私人地址领域。公共网络14被认为是公共地址领域。

私人网络12包括私人客户(这里是计算机A和B)和网关16。公共网络14包括公共客户(这里是计算机C),也包括网关16。

私人客户A和B共享一个私人寻址方案,该方案只为私人网络12(即私人寻址领域)的成员所知。每个私人客户具有自己的私人IP地址。这里,私人客户A具有PrA的私人IP地址,私人客户B具有PrB的私人IP地址。

这里,私人网络12也包括私人登记处32。私人客户(例如,A或B)将IP地址登记在私人登记处32中,以便在其他客户上运行的应用程序可以为所登记的私人客户进行定位。

公共客户C具有网络10(即公共寻址领域)的所有成员知道的公共寻址方案。每个公共客户具有自己的公共IP地址。这里,公共客户C具有PuC的公共IP地址。

这里,公共网络12也包括公共登记处34。公共客户(例如C)将IP地址登记在公共登记处34中,以便在其他客户上运行的应用程序可以为所登记的公共客户进行定位。

网关16具有私人网络接口15和公共网络接口17。私人网络接口15至少具有一个私人地址PrG,公共网络接口17至少具有一个公共地址PuG。这里,网关16还具有用于执行各种指令和任务(例如,发送分组)的处理器62(图6)。

分组20(图2)包括特殊客户(例如,私人客户B)想要的信息22和地址字段24。地址字段24包括目标地址26。目标地址26(是本例中的PrB)将分组20指引到预定的客户B。这里,地址字段24也包括源地址28(例如,PrA),用于识别分组20的发信方(这里是私人客户A)。

“网络地址转换”协议(“NAT”)允许私人客户A和B传送(即发送)具有公共客户C的分组。NAT通过修改(即转换)从私人网络被传输到公共网络的输出分组的源IP地址和/或端口,来完成这一点。NAT用一种方式(例如,表格)来维持这些修改;通过这种方式,网关能够响应于输出分组来多路分解来自所接收的公共网络的输入分组的地址信息,以便它可以将这些输入分组发送到合适的私人地址。在此以前,NAT需要应用程序的代理(即应用程序特定软件)或应用程序层次网关(ALG),那些应用程序将IP地址嵌入应用程序分组中。ALG修改这种被嵌入的应用程序有效负载中的IP地址和/或端口,以遵守NAT要求。

“领域特定互联网协议”(“RSIP”)使私人地址领域中的客户能够执行主机-NAT。主机-NAT暗示:私人网络12的每个私人客户(例如A)从网关16那里要求并获得公共IP地址(这里是PuG),以取代使用其自己的关于所有应用程序的私人IP地址(例如,PrA)。这里,如下所述,NAT和RSIP的功能在过程30和40中被加以组合,以便用一种与应用程序无关(即缺少代理)的方式来帮助完成地址确定事宜。

图3表现了用一种与应用程序无关(即缺少代理)的方式来执行从私到公的寻址的过程30。过程30在(例如)私人客户A上运行,并询问(301)网关16,以获得私人网络12的公共地址(例如PuG)。响应于询问(301),网络12协议堆栈(例如,网关16上的堆栈65(图6))返回(303)私人网络12的公共IP地址PuG,并将PuG保存在(例如)RSIP映射表格67(图6)中,供在A上运行的应用程序X使用。在接收网络公共IP地址PuG之后,过程30为PuG登记(305)私人代理者和公共代理者(例如,私人登记处32和公共登记处34(图1)),作为私人客户A的源(即返回)地址。最后,过程30为PuG解除私人代理者和公共代理者(例如,登记处32和34)的登记(307),并且,一旦在私人客户A上运行的应用程序X结束,就解除PuG的保存。

图4表现了用于无需代理而发送分组20的过程40。过程40(这里由处理器62来执行)检查(401)在网关16的私人网络接口15处接收的输入分组20的目标地址26。过程40根据该检查(401)来确定如何发送输入分组20。

如果分组20的目标地址26是网关16的公共地址PuG,则过程40将分组20重新发送(405)到曾将PuG保存在过程30中的私人客户。这里,参考在过程30中被创建的RSIP映射表格67,来确定哪个私人客户保存了公共地址PuG。如果公共地址PuG还没有被保存(例如,如果未发现映射),那么,放弃分组20。

如果分组20的目标地址26是网关16的私人地址PrG,那么,过程40按将由网关16便用的堆栈65来推动(407)分组20。如果分组20的目标地址26是私人地址领域中的私人地址,而不是网关16的私人地址PrG,那么,分组20被发送(409)到由私人地址规定的私人客户。如果分组20的目标地址26是公共地址领域中的公共地址,而不是PuG,则将网关16的接口17上的分组20转送(411)到公共网络14。额外的分组处理(在此上下文中不相关)可能发生在转送分组20之前。

图5表现了用于执行过程30和40的协议层的一个例子。这里的本地应用程序X和Y分别在私人客户A和B上运行。为了发送分组20(即过程30),应用程序X在IP层54处为客户A获得私人IP地址(这里是PrA)。IP层54与NAT/RSIP进行商议,以保护来自内部网络接口15的私人网络12的公共地址。NAT/RSIP层56将被保护的公共地址(例如PuG)返回到IP层54,用作源地址28,(如果分组20的特殊地址字段24具有源地址28)并且/或者将被存储在登记处32和34以及NAT/RSIP映射表格67中。

在分组20可以由网关16发送到其目标地址之前,NAT/RSIP层56也可以根据NAT/RSIP协议来修改在TCP/UDP层52中获得的源端口。该源端口的修改也将被存储在NAT/RSIP映射表格67中。

同样,为了在被定址到私人网络12的公共地址(例如PuG)(即405)的内部或外部接口15或17处接收分组20(即过程40),可使用NAT/RSIP层56来获得曾保存公共地址PuG的私人地址(例如PrB)。一旦获得私人地址PrB,就可以将分组20发送到其预定的目标客户,这里的应用程序Y在私人客户B上运行。

图6表现了用于根据过程30和40来发送分组20并用作网关16的计算机60。计算机60包括处理器62、包括可执行指令61的存储器64、协议堆栈65和映射表格67,以及私人网络接口15和公共网络接口17。处理器62执行RAM的计算机指令(未示出),以实施过程30和40。

但是,过程30和40不局限于用于任何特殊的硬件或软件配置;它们可适用于任何计算或处理环境中。过程30和40可以在硬件、软件或两者的组合中加以执行。过程30和40可以在计算机程序中加以执行,这些计算机程序在可编程计算机上加以执行,每台可编程计算机包括一个处理器、可由该处理器读取的一个存储介质(包括易失与非易失存储器和/或存储单元),以及输入和输出设备。

每个这样的程序都可以用高级程序的或对象导向的编程语言来加以执行,以便与计算机系统进行通信。但是,这些程序可以用汇编语言或机器语言来加以执行。该语言可以是编译语言,也可以是解释语言。

每个计算机程序都可以被存储在存储介质或设备(例如,CD-ROM、硬盘或磁盘)上,当该存储介质或设备由计算机读取来执行过程30和40时,它可以由通用或专用的可编程计算机进行读取,用于配置和操作计算机。过程30和40也可以作为计算机可读存储介质来加以执行,并用计算机程序加以配置,其中,一旦执行,计算机程序中的指令就使计算机根据过程30和40来进行操作。

已描述了本发明的许多实施例。然而,将会理解,在不脱离本发明的精神和范围的前提下,可以进行各种修改。例如,网关16可以具有多个公共地址和私人地址,用于在私人网络与公共网络之间发送分组。而且,处理器62、堆栈65和表格67不需要被定位在网关本身上,而可以被安置在网络中的其他地方。相应地,这里未明确描述的其他实施例也在以下权利要求书的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号