同根多层nat网络中服务资源地址获取系统及方法

文档序号:7687099阅读:181来源:国知局

专利名称::同根多层nat网络中服务资源地址获取系统及方法
技术领域
:本发明涉及计算机网络通信
技术领域
,更具体地,本发明涉及一种同根多层NAT网络中服务资源地址获取系统及方法。
背景技术
:目前,基于IPv4的互联网地址空间不足,无法满足众多用户对网络接入的需求,特别是对于诸如我国这样网络需求较大、地址分配不足的国家,空间不足问题显得更为突出。从实际的应用和部署看,网络地址转换(NetworkAddressTranslation,NAT)4支术是解决互联网IP(InternetProtocol)地址不足的情况下网民接入互联网的一种有效方法。NAT是Internet工程任务组(InternetEngineeringTaskForce,IETF)的一个标准,允许一个整体机构以一个>^用IP地址出现在Internet上,把内部私有网络地址(IP地址)转换成合法网络公用IP地址。网络地址端口转换(NetworkAddressPortTranslation,NAPT)是把"NAT"的概念进一步延伸,在转换网络地址的同时,转换传输层标志(例如TCP/UDP的端口号、ICMP的查询ID),从而把多个内部主机的传输层标志复用为一个惟一的外部地址。NAPT使得一组主机可以共享一个惟一的外部地址。通常提到的NAT是指NAPT。随着个人信息设备的增多、网^^入设备的普及和网g术的itA,越来越多的公司、团体和家庭希望将这些信息设备以网络的方式组织在一起,并接入互联网,而且出于安全的考虑,如何在网络上隐藏高安全等级的节点是很多公司面临的问题。在这种IP地址严重缺乏、设备组网互联需求迫切,并且存在大量安全隐患的情况下,通过NAT技术形成的单级或者多级私有网络结构,在实际部署中接入互联网已经越来越普遍。NAT设备的控制范围是由该NAT设备的内网界面沿该界面联接的网络向下延伸到下一个NAT的外网界面间的网络范围,网络范围中不包含其它的MT设备。相对NAT设备内网界面连接的网络来说,该NAT设备外网界面连接的网络为当前网络的直接上层网络,简称直接上层;相对NAT设备外网界面连接的网络来说,该MT设备内网界面连接的网络为当前网络的直接下层网络,简称直接下层。直接连接在Internet上的NAT设备称为根NAT。从每个直接上层NAT到直接下层做一条有向边,在所形成的拓朴图中,如果存在从NATA到MTB的一条路径,则称NATA是NATB的同根上层MT。若同时也存在MTA到NATC的一条路径,则称NATB和MTC是同才艮MT。目前互联网上的各种服务一般都拥有公网IP地址,而在NAT网络中的私网内部署的服务器(例如Web服务器、FTP服务器等),通常只为该私有网络内的某一公司或者机构服务,只对与其处于同一NAT控制下的主机可见。对于和这些服务器位于同根下层的MT所辖主机来说,虽然与这些服务器有物理链路,但是由于协议限制,不能访问到这些服务,也就不能获取这些服务器上的资源。
发明内容为克服现有同根多层NAT网络环境中服务资源不能获取的缺陷,本发明提出了一种同根多层NAT网络中服务装置地址获取系统及方法。根据本发明的一个方面,提供一种同才艮多层NAT网络中服务资源的索引服务装置,包括顶级索引服务单元,通过顶级服务总线装置和乂>有网络连接,记录公有网络和直接与公有网络连接的NAT设备控制的网络中的服务资源的网络地址和端口,并为用户设备提供所述服务资源的网络地址和端口;至少一个基本索引服务单元,通过服务总线装置和相应的私有网络连接,记录所述私有网络以及所述私有网络通过NAT设备向下延伸的其他私有网络中的服务资源的网络地址和端口,并为所迷私有网络以及所述私有网络通过NAT设备向下延伸的其他私有网络中的用户终端设备提供所述服务资源的网络地址和端口;其中,基本索引服务单元向上层索引服务单元发出注册请求申请加入所述索引服务装置,所述上层索引服务单元确定携带所述注册请求的数据分组经过NAT设备,提取所述注餘清求中的层级信息,如果所述基本索引服务单元为所述上层索引服务单元的子索引服务单元,所述上层索引服务单元完成所述基本索引服务单元的注册,如果所述基本索引服务单元不是所述上层索引服务单元的子索引服务单元,所述上层索引服务单元返回包含所述NAT设备对应的索引服务单元的网络地址和端口的应答消息。其中,如果所述基本索引服务单元的层级比所述上层索引服务单元的层级大1,则所述基本索引服务单元为所述上层索引服务单元的子索引服务单元。其中,所述上层索引服务单元根据所述注册申请的数据分组的源地址和所述注册申请消息中携带的所述基本索引服务单元网络地址是否相同,判断携带所述注册请求的数据分组是否经过NAT设备。其中,公有网络连接顶级索引服务单元,私有网络只连接一个基本索引服务单元,所述基本索引服务单元可以为其接入的私有网络以及接入所述私有网络的其他私有网络中的多个网络服务资源注册。其中,所述上层索引服务单元可以是顶级索引服务单元,也可以是基本索引服务单元。根据本发明的第二方面,提供一种同才艮多层NAT网络中服务资源的索引服务设备,包括存储介质,所述存储介质用于存储记录所述索引服务设备的标识、主机地址、端口信息和层级信息,所述存储介质用于存储所述索引服务设备的直接上层和直接下层索引服务设备的网络地址和端口信息以及直接下层索引服务设备的标识与直接下层索引服务设备对应NAT设备的网络地址和端口信息,所述存储介质用于存储服务资源的网络地址、端口、资源名称及对应MT设备的网络地址和端口信息;通信单元,所述通信单元同服务总线装置连接,负责M数据;逻辑控制单元,所述逻辑控制单元控制数据的收发和数据的读入和写出。其中,所述索引服务设备进一步包括层级信息记录表,用于记录所述索引服务设备的层级信息;目标索引服务器记录表,用于记录所述索引服务设备的祖先索引服务设备的网络地址和端口信息;子索引服务器记录表,用于记录所述索引服务设备的子索引服务设备的标识、网络地址、端口以及对应NAT"^:备的网络地址和端口信息;网络服务资源装置记录表,用于记录服务资源的网络地址、端口、资源名称及对应NATi殳备的网络地址和端口信息;"网络服务资源地址查询消息,,应答控制表,用于控制网络服务资源地址查询请求的应答消息的生成;索引服务逻辑控制单元,所述索引服务逻辑控制单元分别与所述目标索引服务装置记录表、所述子索引服务单元记录表、所述网络服务资源装置记录表和所述通信单元连接,对所述目标索引服务装置记录表、所述子索引服务单元记录表、所述网络服务资源装置记录表和所述通信单元进行读写操作;所述索引服务逻辑控制单元从"网络服务资源地址查询消息"应答控制表读取控制信息生成应答消息;所述索引服务逻辑控制单元与层级信息记录表连接,读取层级信息。其中,所述索引服务设备进一步包括基本配置信息记录表,所述基本配置信息记录表与所述索引服务逻辑控制单元相连,用于记录所述索引服务设备标识、主机地址和端口信息。根据本发明的第三方面,提供一种同根多层NAT网络中基本索引服务单元的索引服务注册方法,所述方法包括步骤10)、顶级索引服务单元开始接收注册请求,所迷基本索引服务单元通过服务总线装置接入私有网络,向上层索引服务单元发出注册请求;步骤20)、当所述上层索引服务单元确定携带所述注册请求的数据分组是否经过NAT设备后,提取所述注册请求中的层级信息;步骤30)、如果所述基本索引服务单元为所述上层索引服务单元的子索引服务单元,则在所述上层索引服务单元的子索引服务单元记录表中记录所述基本索引服务单元的网络地址、端口、标识及对应的MT设备的网络地址和端口,返回成功应答消息;步骤40)、如果所述基本索引服务单元不是所述上层索引服务单元的子索引服务单元,则在所述上层索引服务单元的子索引月艮务单元记录表查找所述NAT设备对应的索引服务单元,如果所述对应的索引服务单元存在,向提出注册请求的所述基本索引服务单元返回包含所述NAT设备对应的索引服务单元的网络地址和端口的应答消息;步骤50)、提出注册请求的所述基本索引服务单元提取所述应答消息中的网络地址和端口后,向所述对应的索引服务单元发出注册请求。其中,步骤IO)中,所述上层索引服务单元可以是顶级索引服务单元,也可以M本索引服务单元。其中,步骤20)进一步包括所述上层索引服务单元才艮据所述注册申请的数据分组的源地址和所述注册申请消息中携带的所述基本索引服务单元网络地址是否相等,判断携带所述注册请求的数据分组是否经过NAT设备。其中,步骤30)进一步包括如果所述基本索引服务单元的层级比所述上层索引服务单元的层级大1,则所述基本索引服务单元为所述上层索引服务单元的子索引服务单元。其中,公有网络连接顶级索引服务单元,私有网络只连接一个基本索引服务单元,所述基本索引服务单元可以为其接入的私有网络以及接入所述私有网络的其他私有网络中的多个网络服务资源注册。根据本发明的第四方面,提供一种同根多层NAT网络中的服务资源地址获取系统,包括:所述的索引服务装置;顶级服务总线装置,分别与所述索引服务装置的顶级索引服务单元和所述公有网络相连接,将索引服务装置接入公有网络;服务总线装置,分别与所述索引服务装置的基本索引服务单元和私有网络相连接,将所述索引服务装置接入所述私有网络;其中,所述索引服务装置在接收到索引服务装置客户端通过所述顶级索引服务总线装置或者所述服务总线装置发送的网络服务资源注册/网络服务资源请求消息后,根据逻辑判断是否能够执行,如果能够执行,返回请求成功消息;对于所述网络服务资源注册消息,如果不能执行,并且可以重定向,则返回重定向消息,所^户端重新注册;对于所述网络服务资源请求消息,如果不能执行,并且如果所述索引服务装置内接受请求的索引服务单元不是顶级索引服务单元,则返回包括所述索引服务单元的目标索引Ji艮务装置记录中网络地址和端口的重定向消息,所述客户端重新发送请求。其中,所述索引服务装置经顶级服务总线装置连接公有网络,使用公有网络的网络地址进行编址,成为所述公有网络的一部分。其中,所述索引服务装置经服务总线装置连接私有网络,使用私有网络的网络地址进行编址,成为所述接入的私有网络的一部分。其中,所述索引服务装置中,公有网络连接顶级索引服务单元,私有网络只连接一个基本索引服务单元,所述基本索引服务单元可以为其务资源注册。其中,所述索引服务装置客户端包括公有网络和私有网络中的用户机和服务资源设备。根据本发明的第五方面,提供一种同根多层MT网络中索引服务装置客户端注册网络服务资源的方法,包括步骤10)、所述索引服务装置客户端向索引服务装置发送网络服务资源注册消息,所述注册消息包括服务资源的网络地址、端口及注册的资源名称;步骤20)、收到所述服务注册消息的所述索引服务装置判断所述携带注册消息的数据分组是否经过NAT设备;步骤30)、如果经过NA"B殳备,并且如果注册消息中的层级比所述索引服务单元的层级大l,记录包括所述NAT设备的网络地址、端口的所述服务资源注册消息,返回成功注册消息;步骤40)、如果经过NAT设备,并且如果注册消息中的层级不比所述索引服务单元层级大l,当所述NAT设备控制的网络中有索引服务单元时,向所ii^户端返回包括所述索引服务单元的网络地址和端口的重定向消息;步骤50)、所il^户端从所述重定向消息中提取所述返回的索引服务单元的网络地址和端口替换原有的索引服务装置的网络地址和端口,发出注册请求。其中,所述索引服务装置客户端包括公有网络和私有网络中的用户机和服务资源设备。其中,所述索引服务单元可以是顶级索引服务单元,也可以U本索引服务单元。其中,所述方法进一步包括所述索引服务装置客户端设定注册请求的尝试次数和注册请求超时控制,如果注册请求超过设定的所述尝试次数或所述超时控制,结束本次请求。其中,步骤20)进一步包括所述索引服务装置通过判断所述注册消息的源地址和所iijl户端的网络地址是否相同,确定所述注册消息是否经过NAT设备。其中,步骤20)进一步包括如果所述注册消息没有经过NAT设备,记录注册消息的服务资源信息,返回成功应答消息。根据本发明的第六方面,提供一种同根多层NAT网络中索引服务装置客户端的查询网络J3艮务资源的方法,包括步骤10)、所述索引服务装置客户端判断有无来自索引服务装置的应答消息,然后向所述索引服务装置发送网络服务资源地址查询消息,所述查询消息至少包括服务资源名称,当存在来自所述索引服务装置的应答消息时,所述查询消息还包括所述应答消息中的答复者;步骤20)、收到所述网络服务资源查询消息的所述索引服务装置的索引服务单元判断自身是否存在被请求的所述网络服务资源,将被请求资源状态设定为找到、没找到;步骤30)、收到所述网络服务资源查询消息的所述索引服务装置的索引服务单元确定自身的位置状态,包括独立顶级索引服务单元、顶级索引服务单元、中间索引服务单元、底层索引服务单元;步骤40)、收到所述网络服务资源查询消息的所述索引服务装置的索引服务单元根据所述查询消息中包括的所述答复者,确定查询消息方向状态当消息中没有所述答复者时,设定为"初始查询消息";当所述答复者为收到所述网络服务资源查询消息的所述索引服务单元的子索引服务单元,设定为"向上查询消息";当所述答复者为收到所述网络服务资源查询消息的所述索引服务单元的目标索引服务器记录中的索引服务单元时,设定为"向下查询消息";步骤50)、收到所述网络服务资源查询消息的所述索引服务装置的索引服务单元根据所述4皮请求资源状态、所述自身的位置状态和所述查询消息方向状态在下表中匹配,返回对应答复消息;<table>tableseeoriginaldocumentpage20</column></row><table>其中,步骤10)中,所述答复者为所述索引服务装置中发送应答消息的索引服务单元。其中,步骤30)中,所述顶级索引服务单元指该索引服务单元只有下级子索引服务单元、没有上级索引服务单元;所述中间索引服务单元指该索引服务单元有下级子索引服务单元、没有上级索引服务单元;所述底层索引服务单元是指该索引服务单元没有下级子索引服务单元、只有上级索引服务单元;所述独立顶级索引服务单元是指没有子索引服务单元的顶级索引服务单元。通过应用本发明,在服务器-客户端模式的网络应用中,服务器不仅可以部署于公有网络,还可以部署于多级私有网络中;同时提高了传输的服务质量(Qos),降低了对公有网络地址和数据传输能力的需求压力。图1是同根多层NAT网络示意图;图2是服务端地址获取系统结构示意图;图3是NAT设备连接矩阵示意图;图4是索引服务装置与索引服务单元结构示意图;图5是索引服务装置组建流程示意图;图6是索引服务装置组建流程示意图;图7是索引服务装置组建流程示意图;图8是以公有网络中的公知服务入口为^i的查询方式示意图;图9是以本地存储的服务入口为^5dj的查询方式示意图;图10;O艮务客户端通过监听包含服务入口的广播消息获得服务入口的流程示意图;图ll;U艮务器代理广播方式示意图;图12是索引服务装置收到服务资源注册消息的处理方法流程图;图13;U艮务器处理网络服务资源注册消息交互过程流程图;图14是网络月良务资源查询者处理"网络服务资源地址查询消息"交互过程流程图;图15是索引服务装置收到客户端的服务资源网络地址请求消息的处理方法流程图;图16是服务资源网络地址请求消息的处理方法流程图。具体实施方式下面结合附图和具体实施例,对本发明提供的同根多层NAT网络中的索引服务装置、服务资源地址获取系统及方法作进一步说明。在传统互联网络中,服务资源一般只部署在公有网络中。而在同根多层NAT网络中,服务资源可以沿着私有网络的连接关系部署在第一层、第二层以及第三层等各层中。同根多层NAT网络不仅可以扩大用户的接入数量,还可以扩大服务资源的部署范围。按照物理连接关系,用户在使用网络服务时,应该可以直接访问部署在各层NAT设备控制的网络中的服务资源,而不仅仅可以访问部署在公有网络中的服务资源,这样,可以有效的减少根NAT设备及其控制的网络的压力,同时也提高了网络服务的服务质量。然而,由于现有网络协议的限制,NAT设备的网络地址不能在网络上路由。因此,同根多层NAT网络中,服务资源请求者无法获取该网络环境中网络服务资源的网络地址和端口。NAT设备的网络地址指同NAT设备的外网界面绑定的网络地址。对于皿较大的私有网络,NAT路由器外网界面可以同多个网络地址进行绑定。在网络管理中,可以通过枚举地址或枚举网段的方式将多个网络地址被映射为一个MT设备。普通用户可以通过低端NAT路由器自行接入网络,一般该NAT路由器外网界面只与一个网络地址绑定。在下面对NAT路由器的描述中,一个NAT路由器外网界面只与一个网络地址绑定。因此,一个NAT设备可以用一个同该NAT设备的外网界面绑定的网络地址表达。本领域内普通技术人员不难发现,下面的描述也适用于外网界面同多个网络地址绑定的NAT路由器。图1所示为同根多层NAT网络结构示意图,一个私有网络4-l通过NAT设备1001接入公有网络3,一个私有网络4-2通过另一NAT设备1002接入私有网络4-1。通过NAT设备1001接入公有网络3的私有网络为该NAT设备控制的网络,通过NAT设备1002接入私有网络4-1的私有网络4-2为该NAT设备控制的网络。直接同公有网络3相连的NAT设备为根NAT设备。各私有网络到公有网络3经过的最少NAT设备的个数为该私有网络的层数,该路径为私有网络到公有网络3的最短路径。私有网络到公有网络3的层数越少,表示层级越高。如果两个私有网络到公有网络的最短路径中至少有一个NAT设备相同,则这两个私有网络有共同的根NAT设备。多层NAT网络可以i^作是多个同根多层MT网络的组合。为了使服务资源请求者可以获得同根多层NAT网络中的网络服务资源的网络地址和端口,在根据本发明的实施例中,提供一种服务资源地址获取系统,用于在同根多层NAT网络中,帮助服务资源请求者获取该网络环境中网络服务资源的网络地址和端口。图2所示为服务资源地址获取系统结构示意图。服务资源地址获取系统10包括索引服务装置2001,用于记录公有网络3及各私有网络中的服务器3001的网络地址和端口,并为乂>有网络3及各私有网络中的用户终端设备6001提供月良务器3001的网络地址和端口;顶级服务总线装置l,分别与索引服务装置2001和公有网络相连接,用于将索引服务装置接入公有网络3;服务总线装置2,分别与索引月良务装置2001和私有网络相连接,用于将索引服务装置2001接入私有网络。索引服务装置2001通过顶级服务总线装置1同公有网络3相连,接入现有网络,使用公有网络的网络地址进行编址,即为公有网络的一部分;索引服务装置2001通过服务总线装置2同私有网络相连,接入现有网络,使用相连的私有网络的网络地址进4亍编址,即为接入的私有网络的一部分。公有网络3和私有网络可以通过独立的各个NAT设备连接在一起,也可以通过NAT设备组形成的NAT设备连接矩阵1001连接在一起。各用户终端设备6001和各服务器3001分别同公有网络3和私有网络相连。图3示出NAT设备连接矩阵1001的连接方式。在NAT设备连接矩阵1001中,NAT设备间的关系由与NAT设备连接矩阵1001连接的私有网络和公有网络决定。私有网络和公有网络同NAT设备的连接规则为MT设备连接矩阵1001至少有一条接入公有网络的线路5;每个私有网络至少有一条接入NAT设备连接矩阵1001的线路6;每个私有网络可以没有、也可以有多条由NAT设备连接矩阵1001向该私有网M入的线路7。以图3a所示三级NAT网络结构为例,图3b所示为图3a的NAT设备连接矩阵1001连接示意图,其中包括公有网络3、私有网络。NAT设备连接矩阵1001通过线路5接入公有网络,私有网络通过线路6接入NAT设备连接矩阵1001,NAT设备连接矩阵1001通过线路7接入私有网络。图4所示为索引服务装置2001的结构示意图。如图4a所示,索引服务装置2001由顶级索引服务单元2011和至少一个基本索引服务单元2021组成。顶级索引服务单元2011通过顶级月良务总线装置1同公有网络3相连接;至少一个基本索引服务单元2021通过服务总线装置2同私有网络4相连接。索引服务单元为顶级索引服务单元2011和基本索引服务单元2021的统称,也可以称为索引服务设备,顶级索引服务单元2011和基本索引服务单元2021的组成结构和功能与索引服务设备即索引服务单元2801相同。如图仆所示,索引服务单元2801包括索引服务逻辑控制单元2100、基本配置信息记录表2101、层级信息记录表2102、目标索引服务装置记录表2103、子索引服务单元记录表2104、网络服务资源装置纪录表2105、消息緩存区2109、通信单元2110以及"网络服务资源地址查询消息"应答控制表2108。索引服务逻辑控制单元2100用于控制索引服务的执行,分别与基本配置信息记录表2101、目标索引服务装置记录表2103、子索引服务单元记录表2104、网络服务资源装置纪录表2105、消息緩存区2109和通信单元2110连接,数据双向传输,索引服务逻辑控制单元2100与层级信息记录表2102连接,接收索引服务设备的层级信息;基本配置信息记录表2101用于记录本索引服务单元标识、本索引服务单元主机地址和本索引服务单元服务端口;层级信息记录表2102用于记录本索引服务单元的层级信息;目标索引服务器记录表2103用于记录祖先索引服务单元的网络地址、端口;子索引服务器记录表2104用于记录子索引服务单元的网络地址、端口、标识及对应的NAT设备的网络地址,见表l。表l子索引服务单元记录表<table>tableseeoriginaldocumentpage25</column></row><table>网络服务资源装置纪录表2105用于记录网络服务资源标识与该资源标识对应的网络地址、端口以及该资源标识对应的NATi殳备的网络地址,见表2;表2网络服务资源记录表<table>tableseeoriginaldocumentpage25</column></row><table>消息緩存区2109用于暂存接收到的数据分组中的信息;通信单元2110同顶级服务总线装置或服务总线装置连接,负责M基本配置信息、层级信息、目标索引服务装置信息、子索引服务单元信息和网络服务资源装置信息;"网络服务资源地址查询消息"应答控制表2108用于控制网络服务资源地址查询请求的应答消息的生成,见表3。表3"网络服务资源地址查询消息"应答控制表<table>tableseeoriginaldocumentpage26</column></row><table>索引服务逻辑控制单元从基本配置信息记录表2101读取本索引服务单元标识、本索引服务单元主机地址、本索引服务单元服务端口,从层级信息记录2102读取记录层级信息,从目标索引服务器记录2103读取记录祖先索引服务器的网络地址、端口,从子索引服务器记录表2104读取记录子索引服务单元的网络地址、端口、标识及对应的NAT设备的网络地址,从网络服务资源装置纪录表2105读取记录服务装置的网络地址、端口、标识及对应的NAT设备的网络地址,从消息緩存区2109读取暂时保存接收到的数据分组中的信息,从通信单元2110读取收到的数据;同时,索引服务逻辑控制单元根据执行需要向基本配置信息记录表2101写入本单元标识、本单元主机地址、本单元月艮务端口,向层级信息记录2102写入记录层级信息,向目标索引服务器记录2103写入记录祖先索引服务器的网络地址、端口,向子索引服务器记录表2104写入记录子索引服务单元的网络地址、端口、标识及对应的NAT设备的网络地址,向网络服务资源装置纪录表2105写入记录服务装置的网络地址、端口、标识及对应的NAT设备的网络地址,向消息緩存区2109写入暂时保存接收到的数据分组中的信息,向通信单元2110写入需要发出的数据。索引服务逻辑控制单元根据执行需要从"网络服务资源地址查询消息"应答控制表2108读取控制信息生成应答消息。在本发明的实施例的多级NAT网络环境中,索引服务装置为网络中各种服务资源提供注册服务,同时为请求网络服务资源的客户提供网络服务资源对应的网络地址和端口查询Ji艮务。当对同根NAT设备下的私有网络的网络资源提供注册和查询时,需要一个索引服务单元加入索引服务装置,在索引服务装置中为所述网络资源提供索引服务。索引服务单元加入索引服务装置的过程包括由顶级索引服务单元启动,完成索引服务装置初识化,通过服务总线装置接入私有网络,可以进行网络月良务资源注册和网络月艮务资源查询;其次,根NAT设备控制的网络中的基本索引服务单元向索引服务装置注册加入系统;再次,第二层NAT基本索引服务单元向索引服务装置注册加入系统;再次,第三层NAT基本索引服务单元向索引服务装置注册加入系统。按上述方式,根据需要,基本索引服务单元顺序加入索引服务装置,为服务装置端地址获取系统10提供索引服务。公有网络中只有一个顶级索引服务单元;每个私有网络中只有一个基本索引服务单元。索引服务单元可以为同一私有网络中的多台服务器注册。收到下层索引服务单元的注册消息的索引服务单元按如下步骤执行,索引服务单元4艮据注册申请的数据分组的源地址和该注册申请消息中携带的索引服务单元网络地址,判断携带的索引服务单元是否在同根NAT设备控制的网络中;如果不在NAT设备控制的网络中,说明该配置服务器不在同根NAT网络中,返回注册失败消息;如果在NAT设备控制的网络中,提取该注册请求中的层级信息,如果层级比当前索引服务单元大1,则在子索引服务单元记录表中记录该索引服务单元的网络地址、端口、标识及对应的NAT设备的网络地址,向提出注册的索引服务单元返回注册成功消息。如果层级不比当前索引服务单元大1,则在子索引服务单元记录表查找同一NAT设备对应的索引服务单元,如果该索引服务单元存在,向提出注册请求的索引服务单元返回包含NAT设备对应的索引服务单元的网络地址和端口的应答消息,提出注il)Hfr求的索引服务单元则向所述对应的索引服务单元发出注册请求,如上流程重新执行;如果子索引服务单元记录表中没有该NAT设备对应的索引服务单元的记录,向提出注册请求的索引服务单元返回注册失败消息。图5示出索引服务装置组建流程,用于说明根NAT设备下的基本索引服务单元如何加入索引服务装置,如图所示,索引服务装置2001通过顶级索引服务单元2011与公有网络相连接进行初识化。该顶级索引服务单元2011配有全球唯一IP地址,该地址及提供服务的端口在系统内为公知服务入口。MT设备1010直接接入公有网络,为根NAT设备。基本索引服务单元2021与根NAT设备控制的网络相连接。NAT设备对经过的数据分组的源或目的地址进行修改,该图中忽略NATi殳备对数据分组修改的描述。以下说明索引服务装置组建的具体流程*根NAT设备控制的网络中的基本索引服务单元2021向顶级索引服务单元2011发送注册申请消息;该消息中包括索引服务单元2021的网络地址、端口、标识、预设层级信息为l,表明该索引服务单元2021位于根NAT设备控制的网络到公有网络的最短距离。*顶级索引服务单元2011根据携带该注册申请的数据分组的网络地址及该注册申请消息中携带的索引服务单元网络地址,判断该配置服务器是否在NAT设备控制的网络中;如果在NAT设备控制的网络中,提取该注册请求中的层级信息,如果层级比当前索引服务单元大1,则在子索引服务单元记录表中记录该索引服务单元2021的网络地址、端口、标识及对应的NAT设备1010的网络地址,向索引服务单元2021返回注册成功消息。如果层级不比当前索引服务单元大1,同时子索引服务单元记录表中没有该NAT设备对应的索引服务单元的记录,返回注册失败消息;如果不在NAT设备控制的网络中,返回注册失败消息。图6示出索引服务装置组建流程,用于说明第二层NAT设备下的基本索引服务单元加入索引服务装置的流程。该顶级索引服务单元2011配有全球唯一IP地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第一索引服务单元2021部署在根NAT设备1010控制的网络中。第二NAT设备1020直接接入根NAT设备1010控制的网络,第二索引服务单元2031部署在第二NAT设备1020控制的网络中。NAT设备对经过的数据分组的源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。以下说明索引服务装置组建的具体流程*第二NAT设备1020控制的网络中的第二索引服务单元2031向顶级索引服务单元2011发起注册申请消息,该消息中包括第二索引服务单元2031的网络地址、端口、标识、预制层级信息为2,表明该索引服务单元2031位于第二NAT设备1020控制的网络到公有网络的最短距离。*顶级索引服务单元2011根据携带该注册申请的数据分组的网络地址及该注册申请消息中携带的索引服务器网络地址,判断该配置服务器是否在NAT设备控制的网络中;如果在NAT设备控制的网络中,提取该注册请求中的层级信息,如果层级不比当前索引服务单元大1,则在子索引服务单元记录表查找同NAT设备1010对应的索引服务单元,如果该索引服务单元存在,向第二索引服务单元2031返回包含NAT设备1010对应的索引服务单元2021的网络地址和端口的应答消息。*第二索引服务单元2031收到顶级索引服务单元2011的应答消息后,根据消息中包括的索引服务单元2021的网络地址、端口信息,向索引服务装置发起注册申请消息;该申请消息中包括第二索引服务单元2031的网络地址、端口、预制层级信息为2,表明该索引服务单元2031位于第二NAT设备1020控制的网络到公有网络的最短距离。第一索引服务单元2021根据携带该注册申请的数据分组的网络地址及该注册申请消息中携带的索引服务单元网络地址,判断该索引服务单元是否在NAT设备控制的网络中;如果在NAT设备控制的网络中,提取该注册请求中的层级信息,如果层级比当前索引服务单元大1,则在子索引服务单元记录表中记录该索引服务单元2031的网络地址、端口及对应的NAT设备1020的网络地址,向第二索引服务单元2031返回注册成功消息。如果层级不比当前索引服务单元大1,同时子索引服务单元记录表中没有与该MT设备1020对应的索引服务单元的记录,返回注册失败消息;如果不在NAT设备控制的网络中,返回注册失败消息。图7示出索引服务装置组建流程,用于说明第二层NAT设备下的基本索引服务单元代理使用广播方式加入索引服务装置的流程。顶级索引服务单元2011配有全球唯一IP地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第一索引服务单元2021部署在根NAT设备1010控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第一索引服务单元代理2032和第二索引服务单元2031部署在第二NAT设备1020控制的网络中。NAT设备对经过的数据分组地源或目的地址进行修改,该图中忽略NATi殳备对数据分组修改的描述。以下说明索引服务装置组建的具体流程*第一索引服务单元代理2032在第二NAT设备1020控制的网络中广播包含索引服务装置网络地址和端口的消息,消息中包含被代理索引服务单元的层级信息,也就是第一索引服务单元的层级信息。*第二索引服务单元2031监听第二NAT设备1020控制的网络中广播的包含索引服务装置网络地址和端口的消息。第二索引服务单元2031收到包含索引服务装置网络地址和端口的消息,根据消息中提供的层级,增加一级后i殳置本地层级信息,并根据消息中提供的索引服务装置的网络地址和端口向第一索引服务单元2021发起注册申请消息,该消息中包括第二索引服务单元2031的网络地址、端口、预设层级信息,即表明该索引服务单元2031位于第二NAT设备1020控制的网络到公有网络的最短距离。第一索引服务单元2021根据携带该注册申请的数据分组的转换IP地址及该注册申请消息中携带的索引服务单元网络地址,判断该索引服务单元是否在MT设备控制的网络中;如果在NAT设备控制的网络中,提取该注册请求中的层级信息,如果层级比当前索引服务单元大1,则在子索引服务单元记录表中记录该索引服务单元2031的网络地址、端口及对应的NAT设备1020的网络地址,向第二索引服务单元2031返回注册成功消息。如果层级不比当前索引服务单元大1,同时子索引服务单元记录表中没有该NAT设备1020对应的索引服务单元的记录,返回注册失败消息;如果不在NAT设^^控制的网络中,返回注册失败消息。图7所示第一索引服务单元代理不提供消息转发功能。如果必要,开发人员不难开发出有消息转发功能的索引服务器代理。另外,该广播方式可以根据各种服务代理所处网络环境使用有线、无线或有线和无线等。此外,参考图5、图6和图7,按照所述的具体实施例的说明,本领域普通技术人员可以在多级NAT网络中实现索引服务装置的部署。此外,考虑到安全性问题,可以对注册消息进行全部加密或局部加密。该安全性问题在构成服务端地址获取系统10的各种服务装置中都要考虑,其基本方法是对各服务装置内和服务装置间的通信消息进行全部加密或局部加密。同根多级NAT网络环境下,服务器向索引服务装置2001注册网络服务资源和客户向索引服务装置2001查询网络服务资源的网络地址和端口的交互过程基;^目同。图8-图ll描述了这一交互过程。图中用索引服务装置客户端9004表示注册网络服务资源的服务器和查询网络服务资源的客户端,同时将服务器和客户端发向索引服务装置2001的服务装置注册消息或服务装置地址请求消息统称为服务请求消息。图8为以公有网络中索引服务装置乂^P网络地址和端口为^5出,索引服务客户端向索引服务装置请求或提交数据的流程,用于说明索引服务装置客户端获得索引服务装置服务。顶级索引服务单元2011配有全球唯一IP地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第二基本索引服务单元2021部署在根NAT设备1010控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第三基本索引服务单元2022部署在第二NAT设备1020控制的网络中,索引服务装置客户端9004部署在第二NAT设备1020控制的网络中;NAT设备对经过的数据分组地源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。具体流程叙述如下*索引服务装置客户端9004向部署在/>有网络中的顶级索引服务单元201l发送服务请求消息;*顶级索引服务单元2011收到服务请求消息后,根据逻辑判断是否能够执行,如果能够执行,返回成功消息,如果不能执行,判断是否可以重定向到子索引服务单元,如果可以,返回重定向消息,否则返回失败消息;本例子中,返回的重定向消息包括第二基本索引服务单元2021网络地址和端口消息。*索引服务装置客户端9004根据重定向消息中包含的索引服务装置的网络地址和端口,向索引服务装置的第二基本索引服务单元2021发送服务请求消息;*第二基本索引服务单元2021收到服务请求消息后,根据逻辑判断是否能够执行,如果能够执行,返回成功消息,如果不能执行,判断是否可以重定向到子索引服务单元,如果可以,返回重定向消息,否则返回失败消息,本例子中返回的重定向消息包括第三基本索引服务单元2022网络地址和端口消息*索引服务装置客户端9004根据应答消息中包含的索引服务装置的网络地址和端口,向索引服务装置发服务请求消息;*第二基本索引服务单元2021收到服务请求消息后,根据逻辑判断是否能够执行,如果能够执行,返回成功消息,如果不能执行,判断是否可以重定向到子索引服务单元,如果可以,返回重定向消息,否则返回失败消息。图8中的请求消息可以通过有线或/和无线JlUL。图9为以本地存储的索引服务装置网络地址和端口为^5*,索引服务客户端向索引服务装置请求或提交数据的流程。该流程图是索引服务装置客户端获得索引服务装置服务的例子。顶级索引服务单元2011配有全球唯一IP地址,该地址及提供服务的端口在系统内为/^服务入口,或可通过系统定义的方法获得。第一NAT设备1010直M入公有网络,为根NAT设备。第二基本索引服务单元2021部署在根NAT设备101O控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第三基本索引服务单元2022部署在第二MT设备1020控制的网络中,索引服务装置客户端9004部署在第二NAT设备102O控制的网络中;NAT设备对经过的数据分组的源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。具体流程叙述如下*索引服务装置客户端9004向部署在第二NAT设备1020控制的网络中的第三基本索引服务单元2022发服务请求消息;*第三基本索引服务单元2022收到服务请求消息后,根据逻辑判断是否能够执行,如果能够执行,返回成功消息,如果不能执行,判断是否为顶级索引服务单元,如果是,返回失败消息,如果不是,返回目标索引服务装置记录中的网络地址和端口,本例子中返回包含第二基本索引服务单元2021网络地址和端口的重定向消息。*索引服务装置客户端9004根据应答消息中包含的索引服务装置的网络地址和端口,向索引服务装置的第二基本索引服务单元2021发服务请求消息;*第二基本索引服务单元2021收到服务请求消息后,根据逻辑判断是否能够执行,如果能够执行,返回成功消息,如果不能执行,判断是否为顶级索引服务单元,如果是,返回失败消息,如果不是,返回目标索引服务装置记录中的网络地址和端口,本例子中返回包含顶级索引服务单元2011网络地址和端口的重定向消息。*索引服务装置客户端9004根据应答消息中包含的索引服务装置的网络地址和端口,向索引服务装置发服务请求消息;*顶级索引服务单元2011收到服务请求消息后,根据逻辑判断是否能够执行,如果能够执行,返回成功消息,如果不能执行,判断是否为顶级索引服务单元,如果是,返回失败消息,如果不是,返回目标索引服务装置记录中的网络地址和端口。图9中的请求消息可以通过有线或/和无线iJtiL。图10为通过监听包含索引服务装置网络地址和端口为^出,索引服务客户端向索引服务装置请求或提交数据的流程。该流程图是索引服务装置客户端获得索引服务装置服务的例子。顶级索引服务单元2011配有全球唯一IP地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第二基本索引服务单元2021部署在根MT设备101O控制的网络中;第二MT设备1020直接接入根MT设备1010控制的网络,第三基本索引服务单元2022部署在第二NAT设备102O控制的网络中,索引服务装置客户端9004部署在第二NAT设备102O控制的网络中;NAT设备对经过的数据分组地源或目的地址进行^"改,该图中忽略NAT设备对数据分组修改的描述。具体流程叙述如下*第三基本索引服务单元2022在所属NAT控制的网络中广播包含索引服务装置网络地址和端口的消息;*索引服务装置客户端9004在所属NAT控制的网络中监听包含索引服务装置网络地址和端口的消息的广播消息;*索引服务装置客户端9004收到第三基本索引服务单元2022在所属NAT控制的网络中广播的包含索引服务装置网络地址和端口的消息后,向索引服务装置发服务请求消息;第三基本索引服务单元2022收到上述月良务请求消息后,根据逻辑判断是否能够执行,如果能够执行,返回成功消息,如果不能执行,判断是否符合向索引服务装置转发该服务请求的M,如果符合,则索引服务装置转发该服务请求,如果不符合,向索引服务装置转发该服务请求的条件,判断是否可以重定向到子索引服务单元,如果可以,返回重定向消息,否则返回失败消息,本例子中向索引服务装置客户端9004返回包含服务装置网络地址和端口的成功消息。此外,图10中所述通过广播形式发布服务入口的方式可以使用公示、预先告知用户等方式代替,由用户通过人工的方式对服务客户端9004进行配置。图1l为通过监听包含索引服务装置网络地址和端口为^i,索引服务客户端向索引服务装置请求或提交数据的流程。该流程图是索引服务装置客户端获得索引服务装置服务的例子。顶级索引服务单元2011配有全球唯一IP地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第二基本索引服务单元2021部署在根NAT设备1010控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第二基本索引服务单元代理2023部署在第二NAT设备102O控制的网络中,索引服务装置客户端9004部署在第二NAT设备102O控制的网络中;MT设备对经过的数据分组地源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。服务功能实体代理和被代理服务对象间可以有私有通信接口,用于服务功能实体代理和净皮代理服务对象间的信息交互。该图中忽略MT路由设备对数据分组的转换。*第二基本索引服务单元代理2023部署在第二NAT设备1020控制的网络中广播包含索引服务装置网络地址和端口的消息;*索引服务装置客户端9004在所属NAT控制的网络中监听包含索引服务装置网络地址和端口的消息的广播消息;*索引服务装置客户端9004收到第二基本索引服务单元代理2023在所属NAT控制的网络中广播的包含索引服务装置网络地址和端口的消息后,索引服务装置2022发服务请求消息;*第二基本索引服务单元2021收到上述服务请求消息后,根据逻辑判断是否能够执行,如果能够执行,返回成功消息,如果不能执行,判断是否符合向索引服务装置转发该服务请求的^Hf,如果符合,则索引服务装置转发该服务请求,如果不符合,向索引服务装置转发该服务请求的条件,判断是否可以重定向到子索引服务单元,如果可以,返回重定向消息,否则返回失败消息,本例子中向索引服务装置客户端9004返回包含服务装置网络地址和端口的成功消息。图ll所示第二索引服务单元代理不提供消息转发功能。如果必要,开发人员不难开发出有消息转发功能的索引服务器代理。另夕卜,在多级NAT网络中,开发人员不难根据本流程提出相关流程。流程的执行过程可以是有线或/和无线。此外,图11中所述通过广播形式发布服务入口的方式可以使用公示、预先告知用户等方式代替,由用户通itA工的方式对服务客户端进行配置,索引服务装置中的消息及相关内容见下表4。表4索引服务装置配置表消息名称目的消息基本内容附加说明网络服务资源注册消息服务器向索引服务装置注册网络服务资源消息类型标识,网络资源名称、网络地址、端口和层双信息网络资源名称用URI或URL表示网络服务资源地址查询消息客户向索引服务装置查询网络服务资源的地址消息类型标识,网络资源名称、消息发送者标识.网络资源名称用字符串表示,如URI或URL;如果对应的重定向消息中有的答复单元,在本消息中添加答复单元信息。成功应答消息向消息发出者返回成功信息,消息类型标识,对于"网络服务资源地址查询消息"的应答,包括网络服务资源的网络地址和端口。成功应答消息为应答消息的一种。失敗应答消息向消息发出者返回失敗信息消息类型标识,对于"网络^L务资源地址查询消息"的应答,包括网络服务资源的网络地址和端口号。失败应答消息为应答消息的一种。重定向消息向消息发出者返回还包括索引5服务装置的网络地址和端口消息类型标识;答复索引服务单元的网络地址;(简称答复单元)索引服务装置重定向目标的网络地址和端口,(简称重定向目标)对于"网络服务资源地址查询消息"的应答,可包含包括网络服务资源的网络地址和端口,重定向消息为应答消息的一种。图12为索引服务装置收到服务资源注册消息、客户端发的服务资源网络地址请求消息的处理方法。S101开始;S102等待接收数据;S103判断是否收到数据,如果没有收到数据,转S102;如果收到数据,转S104;S104判断消息类型,如果为"网络服务资源地址查询消息"转SllO,如果为"网络服务资源注册消息"转S130,如果非上述消息转S120;S130提取"网络服务资源注册消息"内容;S131判断携带消息的数据分组是否经过MT设备,即分组的源地址和消息中的消息发出者网络地址是否相同,如果相同转S133,如果不同转S134;Sl33判别注册消息中的层级信息是否比当前索引服务单元的层级大l,如果是,转S134,如果不是,转S135;S134记录服务资源注册消息的内容及相关信息,如MH殳备的地址,并返回成功应答消息;Sl35判别该NAT设备控制的网络中是否有索引服务单元,如果没有,转S136,如果有,转S137;S136向发请求消息者返回失败应答消息;Sl37向发请求消息者返回索引服务单元的网络地址和端口;S110"网络服务资源地址查询消息"处理流程(见图16),并返回S102;S120向发请求消息者返回失败应答消息。图13为服务器处理"网络服务资源注册消息"交互过程的流程图。S200开始;S201将发装置注册消息的尝试次数设为O,设置最大尝试次数,并设定超时控制;S202在得到索引服务装置的网络地址和端口后,向索引服务装置发"网络服务资源注册消息",消息中至少包括服务装置的网络地址、端口及注册的资源名称等信息,尝试次数加l;S203等待应答消息;S204判断是否收到数据,如果收到数据,转S208,如果没有收到数据,转S205;S205判断是否超时,如果没有超时,转S203,如果超时,转S206;S206判断尝试次数是否超过限制;如果没有超过尝试次数限制,转S202,如果超过尝试次数限制,转S207;S208判断收到消息的类型,如果是"重定向应答消息",转S221,如果是"成功应答消息"或者"失败应答消息",转S207;S221提取应答消息中索引服务装置的网络地址和端口,使用新的索引服务装置的网络地址和端口替换原有索引服务装置的网络地址和端S207结束处理。网络服务资源查询者需要有网络服务资源地址对应表,见表5;表5用户终端的网络服务资源表网络服务资源网络地址网络服务资源端口网络服务资源名称10.23.0.12811223URL/URI图14为网络J!艮务资源查询者处理"网络月艮务资源地址查询消息"交互过程的流程图,服务资源请求者在获得索引服务装置的网络地址和端口后,按如下步猓处理网络服务资源查询交互过程S300开始S301初始化超时时间、初始化最大尝试次数S302尝试次数初始化为OS303根据目标索引服务装置纪录,向索引服务装置发网络服务资源地址查询消息,尝试次数加lS304等待应答消息;S305是否收到数据,如果没有转S306,如果有转S320;S306是否超时,如果是转S307,如果没有转S304;S307是否超过尝试次数限制,如果不是转S309,如果是转S322;S322在网络服务资源表中搜索请求服务资源的纪录,如果没有转S308,如果有转S323S323提取网络服务资源表中相关纪录;S308结束S309初始化超时时间;S310重新发网络服务资源地址查询消息,尝试次数加1,返回S304;S320消息类型判断,如果是"失败消息"转S322,如果是"成功应答消息"转S321,如果是"重定向应答消息"转S312;S321提取消息中网络服务资源的网络地址和端口,到S308S312提取消息中答复索引服务装置、重定向目标的网络地址和端a;S313判断消息中是否存在网络服务资源的网络地址和端口,如果有转S314,如果没有转S316;S314提取消息中网络服务资源的网络地址和端口;S315在网络服务资源表中存储网络服务资源的网络地址、端口及资源名称,如有相关纪录替代已有记录;S316初始化超时时间、初始化最大尝试次数;S317尝试次数初始化为O;S318使用重定向目标的网络地址和端口代替目标索引服务装置纪录中的网络地址和端口,向索引服务装置发网络服务资源地址查询消息,如果有答复索引服务装置的网络地址,则在消息中包括答复索引服务装置的网络地址,尝试次数加l,返回S304。图15为"网络服务资源地址查询消息"处理流程S8999开始;S9000提取"网络服务资源地址查询消息"内容;S9001携带消息的数据分组是否经过NAT设备,如果是转S9005,如果不是转S9100;S9100判断本索引服务单元是否有被请求服务装置的记录,如果没有转S9110,如果有转S9101;S9101向发请求消息者返回包含被请求的服务装置的网络地址和端口的成功应答消息;S9102结束。S9110判别本索引服务单元是否为顶级索引服务单元,如果不是转S9120,如果是转S9111;S9111向发请求消息者返回失败消息后,到S9102;S9120判别该消息中是否携带索引服务单元的网络地址,如果不是,转S9122,如果是,转S9121;S9121向发请求消息者返回失败消息后,到S9102;S9122向发请求消息者返回包含本索引服务单元、本地目标索引服务单元的网络地址和端口的重定向消息,本索引服务单元为答复单元,本地目标索引服务单元为重定向目标,到S9102;S9005判别该NATi殳^^控制的网络中是否有索引服务单元,如果没有,转S9100,如果有,转S9200;S9200判别网络月良务资源记录表中是否有被请求的网络服务资源,如果有,转S9300,如果没有,转S9201;S9201判别本索引服务单元是否为顶级索引服务单元,如果没有,转S9205,如果有,转S9202;S9202判别该消息中是否携带索引服务单元的网络地址,如果没有,转S92Q4,如果有,转S9203;S9203向发请求消息者返回失败消息后,到S9102;S9204向发请求消息者返回包含本索引服务单元、该NAT设备对应的索引服务单元的网络地址和端口的重定向消息,本索引服务单元为答复单元,该NAT设备对应的索引服务单元为重定向目标,到S9102;S9205判别该消息中是否携带索引服务单元的网络地址,如果有,转S9207,如果没有,转S9206;S9206向发请求消息者返回包含顶级索引服务单元网络地址和端口的重定向消息,顶级索引服务单元为重定向目标,到S9102;S9207判别该网络地址同本地目标索引服务器记录中的网络地址是否相等,如果相等,转S9209,如果不相等,转S9208;S9208向发请求消息者返回包含本索引服务单元、本地目标索引服务单元的网络地址和端口的重定向消息,本索引服务单元为答复单元,本地目标索引服务单元为重定向目标,到S9102;S9209向发请求消息者返回包含本索引服务单元、该NAT设备对应的索引服务单元的网络地址和端口的重定向消息,本索引服务单元为答复单元,该NAT设备对应的索引服务单元为重定向目标,到S9102;S9300判别该消息中是否携带索引服务单元的网络地址,如果是,转S9302,如果不是,转S9301S9301向发请求消息者返回包含本索引服务单元、该NAT设备对应的索引服务单元、衫L请求网络服务资源的网络地址和端口的重定向消息,本索引服务单元为答复单元,该NAT设备对应的索引服务单元为重定向目标,到S9102;S9302判别该网络地址是否同本地目标索引服务器记录相同,如果是,转S9304,如果不是,转S9303;S9303向发请求消息者返回包含被请求的服务装置的网络地址和端口的成功应答消息后,到S9102;S9304向发请求消息者返回包含本索引服务单元、该MT设备对应的索引服务单元、被请求网络服务资源的网络地址和端口的重定向消息,本索引服务单元为答复单元,该NAT设备对应的索引服务单元为重定向目标,到S9102。对于图15所示的"网络服务资源地址查询消息"处理流程,本发明提出另一优选的实施例,如下所述。索引服务装置客户端在查询网络资源时,需要同索引服务装置的索引服务单元反复交互信息。由于服务资源注册在各索引服务单元中,索引服务装置不维护服务资源的全局信息,接收到查询请求的索引服务单元不知道其它索引服务单元中的信息。因此接收到查询请求的索引服务单元需要根据索引服务单元的当前状态确定答复内容。当前状态包括索引服务单元位置状态、被请求资源状态、"网络服务资源地址查询消息"的查询请求方向。索引服务单元位置状态包括顶级索引服务单元、中间索引服务单元、底层索引服务单元、独立顶级索引服务单元。顶级索引服务单元是指该索引服务单元只有下级子索引服务单元、没有上级索引服务单元;中间索引服务单元是指该索引服务单元有下级子索引服务单元、没有上级索引服务单元;底层索引服务单元是指该单元没有下级子索引服务单元、只有上级索引服务单元。独立顶级索引服务单元是指没有子索引服务单元的顶级索引服务单元。被请求资源状态包括在本索引服务单元有被请求资源记录、在本索引服务单元没有被请求资源记录。"网络服务资源地址查询消息"的查询请求方向包括该消息是否为初始查询消息,即由用户发出、消息中不包括索引J3良务单元的信息;查询消息,即由用户发出、消息中包括索引服务单元的信息。根据查询消息中的包括索引服务单元的信息,收到查询消息的服务单元将查询消息进而分成向上查询消息、向下查询消息。向上查询消息是指消息中的索引服务单元为本索引服务单元的子索引服务记录表中的索引服务单元;向下查询消息是指消息中的索引服务单元为本索引服务单元的目标索引服务器记录中的索引服务单元。查询消息方向总体上分初始查询消息、向上查询消息、向下查询消息。根据索引服务单元的位置、本索引服务单元是否存在被请求资源、查询请求方向等信息,收到"网络服务资源地址查询消息"的索引服务单元可以按表6的组合进行答复。表6"网络服务资源地址查询消息"应答决M索引服务单元位置状态被请求资源状态査询请求方向返回答复消息答复消息附加信息顶级索引服务单元没找到初始查询消息重定向消息,重定向目标为相应子索弓1服务单元网络地址和端口答复者为本索引服务单元网络地址顶级索引服务单元没找到向上査询消息失败消息顶级索引服务单元找到初始查询消息重定向消息,重定向目标为相应子索引服务单元网络地址和端口,服务资源网络地址和端口答复者为本索引服务单元网络地址,顶级索引服务单元找到向上查询消息成功消息,包括服务资源网络地址和端口中间服务单没找到初始査询重定向消息重定向目标可以根据策<table>tableseeoriginaldocumentpage46</column></row><table>基于上述应答决M,可以使用多种方法来产生答复消息。考虑到实际运行环境中,消息并发量大、处理速度等问题。下面采用状态编码的方式,对每种情况的输入^Ht进行编码。在三种状态确定的状态空间中,任意两种情况的编码不相同。在每个索引服务单元存储一个"网络服务资源地址查询消息"应答控制表,控制表中的应答消息控制码由索引单元位置状态位(索引服务单元位置状态位)、,皮请求资源状态位(资源状态位)、查询消息方向状态位组成(消息方向位)等组成。服务端程序使用该应答控制表控制应答消息的生成。重定向策略分为上级、下级、顶级。上级为本地目标索引服务器的纪录,下级为相应子索引服务单元的网络地址和端口,顶级为目标索引服务标索引服务单元的网络地址和端口。下面是应答消息控制码编码方案,该方案是应答消息控制码编码方案的一个例子。索引服务单元位置状态包括独立顶级索引服务单元(OO)、顶级索引服务单元(ll)、中间索引服务单元(Ol)、底层索引服务单元(10);被请求资源状态在本索引服务单元有记录(l)、在本索引服务单元没有记录(0)。查询消息方向状态初始查询消息(OO)、向上查询消息(Ol)、向下查询消息(IO)。图16为"网络服务资源地址查询消息"处理流程。S9000:开始;S9001:对应答消息控制码进行初始化,例如00000;S9002:计算索引服务单元位置状态,得到位置状态编码;使用位置状态编码对应答消息控制码中"索引服务单元位置状态位"置位,例如与当前应答消息控制码"索引服务单元位置状态位"进行或运算;S9004:读取请求消息内#请求服务资源,计算被请求资源状态,得到被请求资源状态编码;S9005:使用资源状态编码对应答消息控制码中"资源位"置位,例如与当前应答消息控制码"资源位"位进行或运算;S9006:检查、读取请求消息中的答复者信息,计算查询消息方向状态,得到查询消息方向状态编码;S9007:^使用消息方向状态编码对应答消息控制码中"消息方向位"置位,例如与当前应答消息控制码"消息方向位"位进行或运算;S9008:判别当前应答消息控制码是否属于"网络服务资源地址查询消息"应答控制表中的应答消息控制码,如果属于转S9010,如果不属于转S9009;S9009:向消息iL^者返回失败消息,转S9012;S9010:按"网络服务资源地址查询消息"应^4t制表生成应答消息;S9011:向消息iL^者返回应答消息;S9012:结束。此外基于"网络服务资源地址查询消息,,应答决策表,"网络服务资源地址查询消息"应答控制表中的应答消息控制码可以使用并行方式生成。最后应说明的是,以上实施例仅用以说明本发明的技术方案而非对其限制,并且在应用上可以延伸到其他的修改、变化、应用和实施例,同时认为所有这样的修改、变化、应用、实施例都在本发明的精神和范围内。权利要求1、一种同根多层NAT网络中服务资源的索引服务装置,包括顶级索引服务单元,通过顶级服务总线装置和公有网络连接,记录公有网络和直接与公有网络连接的NAT设备控制的网络中的服务资源的网络地址和端口,并为用户设备提供所述服务资源的网络地址和端口;至少一个基本索引服务单元,通过服务总线装置和相应的私有网络连接,记录所述私有网络以及所述私有网络通过NAT设备向下延伸的其他私有网络中的服务资源的网络地址和端口,并为所述私有网络以及所述私有网络通过NAT设备向下延伸的其他私有网络中的用户终端设备提供所述服务资源的网络地址和端口;其中,基本索引服务单元向上层索引服务单元发出注册请求申请加入所述索引服务装置,所述上层索引服务单元确定携带所述注册请求的数据分组经过NAT设备,提取所述注册请求中的层级信息,如果所述基本索引服务单元为所述上层索引服务单元的子索引服务单元,所述上层索引服务单元完成所述基本索引服务单元的注册,如果所述基本索引服务单元不是所述上层索引服务单元的子索引服务单元,所述上层索引服务单元返回包含所述NAT设备对应的索引服务单元的网络地址和端口的应答消息。2、权利要求l的索引服务装置,其中,如果所述基本索引服务单元的层级比所述上层索引服务单元的层级大1,则所述基本索引服务单元为所述上层索《1服务单元的子索引服务单元。3、权利要求l的索引服务装置,其中,所述上层索引服务单元根据所述注册申请的数据分组的源地址和所述注册申请消息中携带的所述基本索引服务单元网络地址是否相同,判断携带所述注Wfr求的数据分组是否经过NAT设备。4、权利要求l的索引服务装置,其中,公有网络连接顶级索引服务单元,私有网络只连接一个基本索引服务单元,所述基本索引服务单元可以为其接入的私有网络以及接入所述私有网络的其他私有网络中的多个网络服务资源注册。5、权利要求l的索引服务装置,其中,所述上层索引服务单元可以是顶级索引服务单元,也可以U本索引服务单元。6、一种同根多层NAT网络中服务资源的索引服务设备,包括存储介质,所述存储介质用于存储记录所述索引服务设备的标识、主机地址、端口信息和层级信息,所述存储介质用于存储所述索引服务设备的直接上层和直接下层索引服务设备的网络地址和端口信息以及直接下层索引服务设备的标识与直接下层索引服务设备对应MT设备的网络地址和端口信息,所述存储介质用于存储服务资源的网络地址、端口、资源名称及对应NAT设备的网络地址和端口信息;通信单元,所述通信单元同服务总线装置连接,负责^数据;逻辑控制单元,所述逻辑控制单元控制数据的iJUL和数据的读入和写出。7、权利要求6的索引服务设备,进一步包括层级信息记录表,用于记录所述索引服务设备的层级信息;目标索引服务装置记录表,用于记录所述索引服务设备的祖先索引服务设备的网络地址和端口信息;子索引服务单元记录表,用于记录所述索引服务设备的子索引服务设备的标识、网络地址、端口以及对应NAT设备的网络地址和端口信息;网络服务资源装置记录表,用于记录服务资源的网络地址、端口、资源名称及对应NAT设备的网络地址和端口信息;网络服务资源地址查询消息应答控制表,用于控制网络服务资源地址查询请求的应答消息的生成;索引服务逻辑控制单元,所述索引服务逻辑控制单元分别与所述目标索引服务装置记录表、所述子索引服务单元记录表、所述网络服务资源装置记录表和所述通信单元连接,对所述目标索引服务装置记录表、所述子索引服务单元记录表、所述网络服务资源装置记录表和所述通信单元进行读写操作;所述索引服务逻辑控制单元从网络服务资源地址查询消息应答控制表读取控制信息生成应答消息;所述索引服务逻辑控制单元与层级信息记录表连接,读取层级信息。8、权利要求7的索引服务设备,进一步包括基本配置信息记录表,所述基本配置信息记录表与所述索引服务逻辑控制单元相连,用于记录所述索引服务设备标识、主机地址和端口信息。9、一种同根多层NAT网络中基本索引服务单元的索引服务注册方法,所述方法包括步骤10)、顶级索引服务单元开始接收注册请求,所述基本索引服务单元通过服务总线装置接入私有网络,向上层索引服务单元发出注册请求;步骤20)、当所述上层索引服务单元确定携带所述注册请求的数据分组是否经过NAT设备后,提取所述注册请求中的层级信息;步骤30)、如果所述基本索引服务单元为所述上层索引服务单元的子索引服务单元,则在所述上层索引服务单元的子索引服务单元记录表中记录所述基本索引服务单元的网络地址、端口、标识及对应的NAT设备的网络地址和端口,返回成功应答消息;步骤40)、如果所述基本索引服务单元不是所述上层索引服务单元的子索引服务单元,则在所述上层索《I服务单元的子索引服务单元记录表查找所述NAT设备对应的索引服务单元,如果所述对应的索引服务单元存在,向提出注册请求的所述基本索引服务单元返回包含所述NAT设备对应的索引服务单元的网络地址和端口的应答消息;步骤50)、提出注册请求的所述基本索引服务单元提取所述应答消息中的网络地址和端口后,向所M应的索引服务单元发出注册请求。10、权利要求9的方法,其中,步骤IO)中,所述上层索引服务单元可以是顶级索引服务单元,也可以U本索引服务单元。11、权利要求9的方法,其中,步骤20)进一步包括所述上层索引服务单元根据所述注册申请的数据分组的源地址和所述注册申请消息中携带的所述基本索引服务单元网络地址是否相等,判断携带所述注册请求的数据分组是否经过NAT设备。12、权利要求9的方法,其中,步骤30)进一步包括如果所述基本索引服务单元的层级比所述上层索引服务单元的层级大1,则所述基本索引服务单元为所述上层索引服务单元的子索引服务单元。13、权利要求9的方法,其中,公有网络连接顶级索引服务单元,私有网络只连接一个基本索引服务单元,所述基本索引服务单元可以为服务资源注册。14、一种同根多层NAT网络中的服务资源地址获取系统,包括:权利要求3所述的索引服务装置;和所述公有网络相连接,将索引服务装置接入公有网络;服务总线装置,分别与所述索引服务装置的基本索引服务单元和私有网络相连接,将所述索引服务装置接入所述私有网络;其中,所述索引服务装置在接收到索引服务装置客户端通过所述顶级索引服务总线装置或者所述服务总线装置发送的网络服务资源注册/网络月良务资源请求消息后,根据逻辑判断是否能够执行,如果能够执行,返回请求成功消息;对于所述网络服务资源注册消息,如果不能执行,并且可以重定向,则返回重定向消息,所i^户端重新注册;对于所述网络服务资源请求消息,如果不能执行,并且如果所述索引服务装置内接受请求的索引服务单元不是顶级索引服务单元,则返回包括所述索引服务单元的目标索引服务装置记录中网络地址和端口的重定向消息,所述客户端重新发送请求。15、权利要求14的系统,其中,所述索引服务装置经顶级服务总线装置连接公有网络,使用公有网络的网络地址进行编址,成为所述公有网络的一部分。16、权利要求14的系统,其中,所述索引服务装置经服务总线装置连接私有网络,使用私有网络的网络地址进行编址,成为所述接入的私有网络的一部分。17、权利要求14的系统,其中,所述索引服务装置中,公有网络连接顶级索引服务单元,私有网络只连接一个基本索引服务单元,所述基本索引服务单元可以为其接入的私有网络以及接入所#有网络的其他私有网络中的多个网络服务资源注册。18、权利要求14的系统,其中,所述索引服务装置客户端包括公有网络和私有网络中的用户机和服务资源设备。19、一种同根多层NAT网络中索引服务装置客户端注册网络服务资源的方法,包括步骤10)、所述索引服务装置客户端向索引服务装置发送网络服务资源注册消息,所述注册消息包括服务资源的网络地址、端口及注册的资源名称;步骤20)、收到所述服务注册消息的所述索引服务装置判断所述携带注册消息的数据分组是否经过NAT设备;步骤30)、如果经过NAT设备,并且如果注册消息中的层级比所述索引服务单元的层级大l,记录包括所述NATi更备的网络地址、端口的所述服务资源注册消息,返回成功注册消息;步骤40)、如果经过NAT设备,并且如果注册消息中的层级不比所述索引服务单元层级大l,当所述NAT设备控制的网络中有索引服务单元时,向所^户端返回包括所述索引服务单元的网络地址和端口的重定向消息;步骤5o)、所i^j:户端从所述重定向消息中提取所述返回的索引服务单元的网络地址和端口替换原有的索引服务装置的网络地址和端口,发出注册请求。20、权利要求19的方法,其中,所述索引服务装置客户端包括公有网络和私有网络中的用户机和服务资源设备。21、权利要求19的方法,其中,所述索引服务单元可以是顶级索引服务单元,也可以U本索引服务单元。22、权利要求19的方法,其中,所述方法进一步包括所述索引服务装置客户端设定注册请求的尝试次数和注册请求超时控制,如果注册请求超过设定的所述尝试次数或所述超时控制,结束本次请求。23、权利要求19的方法,其中,步骤20)进一步包括所述索引服务装置通过判断所述注册消息的源地址和所^户端的网络地址是否相同,确定所述注册消息是否经过NATi殳备。24、权利要求19的方法,其中,步骤20)进一步包括如果所述注册消息没有经过NAT设备,记录注册消息的服务资源信息,返回成功应答消息。25、一种同根多层NAT网络中索引服务装置客户端的查询网络服务资源的方法,包括步骤10)、所述索引服务装置客户端判断有无来自索引服务装置的应答消息,然后向所述索引服务装置发送网络服务资源地址查询消息,所述查询消息至少包括服务资源名称,当存在来自所述索引服务装置的应答消息时,所述查询消息还包括所述应答消息中的答复者;步骤20)、收到所述网络月艮务资源查询消息的所述索引服务装置的索引服务单元判断自身是否存在被请求的所述网络服务资源,将被请求资源状态设定为找到或没找到;步骤30)、收到所述网络服务资源查询消息的所述索引服务装置的索引服务单元确定自身的位置状态,包括独立顶级索引服务单元、顶级索引服务单元、中间索引服务单元、底层索引^L务单元;步骤40)、收到所述网络服务资源查询消息的所述索引服务装置的索引服务单元才艮据所述查询消息中包括的所述答复者,确定查询消息方向状态当消息中没有所述答复者时,设定为"初始查询消息";当所述答复者为收到所述网络服务资源查询消息的所述索引服务单元的子索引月艮务单元,设定为"向上查询消息";当所述答复者为收到所述网络服务资源查询消息的所述索引服务单元的目标索引服务器记录中的索引服务单元时,设定为"向下查询消息";步骤50)、收到所述网络服务资源查询消息的所述索引服务装置的索引服务单元根据所述被请求资源状态、所述自身的位置状态和所述查询消息方向状态在下表中匹配,返回对应答复消息;<table>tableseeoriginaldocumentpage9</column></row><table>26、权利要求25的方法,其中,步骤10)中,所述答复者为所述索引服务装置中发送应答消息的索引服务单元。27、权利要求25的方法,其中,步骤30)中,所述顶级索引服务单元指该索引服务单元只有下级子索引服务单元、没有上级索引服务单元;所述中间索引服务单元指该索引服务单元有下级子索引服务单元、没有上级索引服务单元;所述底层索引服务单元是指该索引服务单元没有下级子索引服务单元、只有上级索引服务单元;所述独立顶级索引服务单元是指没有子索引服务单元的顶级索引服务单元。全文摘要本发明公开了一种同根多层NAT网络中服务资源地址获取系统及方法,通过在同根多层NAT网络中部署索引服务装置,建立私有网络中服务资源在多层NAT网络中的映射,在索引服务装置上注册服务资源,客户端基于索引服务装置对服务资源进行查询,可以利用私有网络中的服务资源。通过应用本发明,在服务器-客户端模式的网络应用中,服务器不仅可以部署于公有网络,还可以部署于多级私有网络中;同时提高了传输的服务质量,降低了对公有网络地址和数据传输能力的需求压力。文档编号H04L29/06GK101242413SQ200810057190公开日2008年8月13日申请日期2008年1月30日优先权日2008年1月30日发明者川傅,张国清,迪王,秦卓琼申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1