CN101242421B - 多层nat环境下面向应用的名字注册系统及其服务方法 - Google Patents
多层nat环境下面向应用的名字注册系统及其服务方法 Download PDFInfo
- Publication number
- CN101242421B CN101242421B CN2008101022784A CN200810102278A CN101242421B CN 101242421 B CN101242421 B CN 101242421B CN 2008101022784 A CN2008101022784 A CN 2008101022784A CN 200810102278 A CN200810102278 A CN 200810102278A CN 101242421 B CN101242421 B CN 101242421B
- Authority
- CN
- China
- Prior art keywords
- user
- registration
- network
- message
- service unit
- 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
Images
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
- H04L61/256—NAT traversal
-
- 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/2521—Translation architectures other than single NAT servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种多层NAT环境下面向应用的名字注册系统,包括系统终端设备和注册服务单元,所述注册服务单元包括接入公有网络的顶层注册服务单元和接入私有网络的基本注册服务单元;注册服务单元用于接收系统终端设备的登录请求消息,并记录该系统终端设备的用户登录信息,该用户登录信息至少包括用户标识、用户使用的系统终端设备在所述注册服务单元接入的网络中的用户登录点和用户使用的系统终端设备在所述注册服务单元接入的网络中的系统终端设备访问点。本发明可以在多层NAT网络环境中通过标识进行定位,能够使得私网内的服务对其外部网络可见并且与具体应用无关。本发明同时还为外部网络节点提供更为合理的访问途径的系统和方法。
Description
技术领域
本发明属于计算机网络技术领域,特别是NAT环境下面向应用的名字注册方法。
背景技术
1、NAT普遍部署导致的服务访问问题
众所周知由于IP地址地址空间有限以及分配上的不均匀,导致网络地址严重缺乏,从实际应用和部署上看,NAT(Network Address Translator)技术是解决IP地址不足情况下网民接入互联网的重要方法。随着个人信息设备的增多,网络接入设备的普及,网络技术的发展,越来越多的公司、团体和家庭希望将这些设备以网络的方式组织在一起,并接入互联网,而且出于安全的考虑,如何在网络上隐藏高安全等级的节点是很多公司面临的问题,在这种IP地址严重缺乏、设备组网互联需求迫切并且存在大量安全隐患的情况下,通过NAT技术形成的单级或者多层私网结构接入互联网在实际部署中已经越来越普遍和流行(可参考文献Ford B,Srisuresh P,KegelD.Peer-to-peer communication across network address translators.USENIXannual technical Conference,2005)。
NAT设备为NAT下的私网地址提供地址翻译功能,使得私网内的主机可以透明地访问外部网络地址,反之不可以,NAT下主机的私网地址在外部网络中是不可路由的,外部网络主机无法直接访问位于私网内的主机。因而,部署在私网内的大量服务比如Web服务、即时消息、ftp服务节点等无法直接被此私网的外部网络所直接访问。
2、现有技术的解决办法及其存在的问题
目前互联网上的各种服务一般都是拥有全球统一IP地址,在NAT内私网IP地址上的服务(如Web服务节、FTP服务节点)一般只在该私网内部可见,该私网外的其他主机域无法知道该服务并对其进行访问。而部署在NAT内私网IP上的对等通信服务(如即时消息、文件共享和媒体传输等),一般 可以利用STUN、TURN、ICE等RFC标准的协议,通过公网服务节点中继、NAT穿洞、反转联接等技术向Internet上主机提供服务。不难发现,这些实现方案都是跟具体应用紧密相关的,是作为一个功能模块内嵌在应用中,而且对于和该服务位于同根多层NAT下的主机节点而言,也要通过公网服务节点中继提供服务,这显然是不合理的。如何提供一种统一的解决办法,使得私网内的服务对其外部网络可见,做到与具体应用无关,并且为外部网络节点提供更为合理的访问途径,是本发明要重点解决的问题。
发明内容
因此,本发明的任务是在多层NAT环境下,提供一种使得私网内的服务对其外部网络可见,与具体应用无关,并且为外部网络节点提供更为合理的访问途径的系统和方法。
为实现上述发明目的,本发明提供的多层NAT环境下面向应用的名字注册系统,所述多层NAT环境具有公有网络和至少一个私有网络,所述私有网络通过地址转换单元接入公有网络或其它私有网络;所述面向应用的名字注册系统包括用于发送登录请求的系统终端设备和用于接收登录请求的注册服务单元,所述注册服务单元包括接入公有网络的顶层注册服务单元和接入私有网络的基本注册服务单元;所述注册服务单元用于接收系统终端设备的登录请求消息,并记录该系统终端设备的用户登录信息,该用户登录信息至少包括用户标识、用户使用的系统终端设备在所述注册服务单元接入的网络中的用户登录点和用户使用的系统终端设备在所述注册服务单元接入的网络中的系统终端设备访问点。
上述技术方案中,所述注册服务单元还用于根据所记录的所述用户登录信息进行查询,并在系统终端设备之间确定转发节点。
上述技术方案中,所述用户登录点为注册服务单元或系统终端设备的网络地址和端口,或可以被转化为注册服务单元或系统终端设备的网络地址和端口的标识。
上述技术方案中,所述查询是根据用户登录信息在被叫方所有用户登录点中查找出被叫方到主叫方NAT距离最短的用户登录点。
上述技术方案中,所述系统终端设备访问点为NAT设备的网络地址和端口,或可以被转换为NAT设备的网络地址和端口的标识。
上述技术方案中,所述顶层注册服务单元通过顶级服务总线接入公有网络,所述基本注册服务单元通过服务总线接入私有网络,所述顶级注册服务单元使用公有网络的网络地址进行编址,所述基本注册服务单元使用相连的私有网络的网络地址进行编址。
上述技术方案中,所述注册服务单元包括:注册服务逻辑控制单元、基本配置信息记录表、层级信息记录、目标注册服务器记录、子注册服务器记录表、用户登录信息记录表、用户注册信息记录表、消息缓存区和通信单元;
所述注册服务逻辑控制单元用于控制注册服务的执行;基本配置信息记录表用于记录本单元标识、本单元主机地址、本单元服务端口;层级信息记录用于记录层级信息;目标注册服务器记录用于记录祖先注册服务器的网络地址、端口;子注册服务器记录表用于记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址和端口;用户登录信息记录表用于记录用户标识、用户登录点和系统终端设备访问点;用户注册信息记录表用于记录用户开户信息;消息缓存区用于暂时保存接收到的数据分组中的信息及转发关系记录表;通信单元同顶级服务总线装置或服务总线装置联接,负责收发数据。
上述技术方案中,所述注册服务单元的各组成部分的相互作用关系如下:
注册服务逻辑控制单元根据执行需要从基本配置信息记录表读取本单元标识、本单元主机地址、本单元服务端口,从层级信息记录读取层级信息,从目标注册服务器记录读取祖先注册服务器的网络地址、端口,从子注册服务器记录表读取记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址和端口,从用户登录信息记录表读取用户标识、用户登录点、系统终端设备访问点,从用户注册信息记录表中读取用户标识;从消息缓存区读取暂时保存接收到的数据分组中的信息及转发关系,从通信单元读取收到的数据;同时,注册服务逻辑控制单元根据执行需要向基本配置信息记录表写入本单元标识、本单元主机地址、本单元服务端口,向目标注册服务器记录写入祖先登录服务器的网络地址、端口,向子注册服务器记录表写入记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址和端口,向用户登录信息记录表写入用户标识、用户登录点、及对应的系统终端设备访问点,向用户注册信息记录表中写入用户标识;向消息缓存区写入暂时保存接收到的数据分组中的信息,及转发关系,向通信单元写入需要发出的数据。
上述技术方案中,所述系统终端设备包括:终端设备控制单元、基本配置信息记录表、目标注册服务装置记录、消息缓存区和通信单元;所述终端设备控制单元用于控制终端设备的执行;基本配置信息记录表用于记录用户 标示、本终端设备的网络地址和端口;目标注册服务装置记录用于记录注册服务装置的网络地址和端口;消息缓存区用于暂时存储收到或发出的消息;通信单元用于与公有网络或私有网络连接;
上述技术方案中,所述终端设备控制单元在基本配置信息记录表、目标注册服务装置记录和消息缓存区读写信息;终端设备控制单元还通过通信单元从网络收发数据。
本发明提供的利用所述多层NAT环境下面向应用的名字注册系统进行用户登录的方法,包括如下步骤:
1)系统终端设备获取基本注册服务单元的服务入口,该服务入口是网络地址和端口或者可以转化为网络地址和端口的标识;
2)系统终端设备根据服务入口向基本注册服务单元发送用户登录消息,所述用户登录消息携带用户登录信息;本步骤所述的用户登录信息至少包括用户标识和使用所述系统终端设备的网络地址和端口定义的用户登录点;
3)所述注册服务单元记录用户登录信息,向上层网络的注册服务单元转发携带该用户登录信息的用户登录消息;本步骤所述的用户登录信息至少包括用户标识;
4)所述上层网络的注册服务单元收到转发的用户登录消息后,重复步骤3)的操作,直至用户登录消息被转发至接入公有网络的顶层注册服务单元。
上述技术方案中,所述步骤2)中,所述用户登录点为网络地址和端口,或可以被转化为网络地址和端口的标识;所述步骤3)中,所述用户登录信息中除了必须含有的用户标识外,还可以包括用户登录点,所述用户登录点为网络地址和端口,或可以被转化为网络地址和端口的标识。
上述技术方案中,所述步骤3)中,所述注册服务单元在收到系统终端设备直接发来的用户登录消息后,向该系统终端设备返回应答消息。
上述技术方案中,在所述步骤1)前还要执行初始化步骤,所述初始化步骤是:首先启动接入公有网络的顶层注册服务单元,然后接入私有网络的基本注册服务单元逐层启动并向所述名字注册系统注册以加入名字注册系统。
上述技术方案中,所述步骤1)包括如下子步骤:
110)系统终端设备向名字注册系统公知的全局服务入口发送服务入口查询消息;
111)全局服务入口对应的注册服务单元判断是否能直接作为为该系统 终端设备提供服务的服务入口,如果判断为是,则返回成功消息;如果判断为否,则向系统终端设备返回重定向消息,该重定向消息携带接入该全局服务入口对应的注册服务单元所属网络的下层网络的注册服务单元的服务入口;
112)系统终端设备向所述重定向消息提供的注册服务单元发送服务入口查询消息;
113)所述注册服务单元判断是否能直接作为为该系统终端设备提供服务的服务入口,如果判断为是,则返回成功消息;如果判断为否,则向系统终端设备返回重定向消息,该重定向消息携带接入当前注册服务单元所属网络的下层网络的注册服务单元的服务入口;
114)不断重复步骤112)和113),直至系统终端设备接收到成功消息,获得最终的服务入口。
上述技术方案中,所述步骤110)中,所述全局服务入口是顶层注册服务单元的网络地址和端口。
上述技术方案中,所述步骤1)包括如下子步骤:
120)注册服务单元在所属网络中广播包含本地登录服务入口的广播消息;
121)系统终端设备监听所述广播消息,得到服务入口。
上述技术方案中,所述步骤120)中,所述注册服务单元可通过注册服务单元代理发送所述广播消息。
上述技术方案中,所述步骤3)中,所述注册服务单元收到用户登录消息后的处理方法包括:判断用户登录消息中包含的用户标识是否在系统中注册,当所述用户标识已在系统中注册时,执行下列步骤:
31)根据消息中的用户登录点判别该消息发送者是否为下层注册服务单元,如果是,转步骤32),如果不是,转步骤34);
32)将消息中的用户标识作为用户标识、以携带消息的数据分组的源地址和源端口点作为系统终端设备访问点、将本单元标识作为用户登录点,存储在本单元的用户信息记录表中,转步骤38);
34)根据携带消息的数据分组的源地址和消息中的系统终端设备的网络地址判别该用户终端是否在NAT之后,如果不是,转步骤35),如果是,转步骤36);
35)将消息中的用户标识作为用户标识、将用户登录点作为用户登录点,存储在本单元的用户信息记录表中;转步骤37);
36)将消息中的用户标识作为用户标识、以携带消息的数据分组的源地址和源端口作为系统终端设备访问点、将本单元标识作为用户登录点,存储在本单元的用户信息记录表中;
37)向消息发送者返回成功应答消息;
38)判别本单元是否为顶级注册服务单元,如果不是,转步骤39);如果是,注册过程结束;
39)根据本地目标登录服务器记录向上层注册服务单元发送用户登录信息;本次操作结束;
30)向消息发送者返回失败应答消息。
上述技术方案中,在所述步骤32)和步骤34)之间,还执行步骤33),步骤33)如下:
判别所述用户是否可以登录,如不可以登录,转步骤30),如可以登录,转步骤34)。
上述技术方案中,所述步骤39)中,向上层注册服务单元发送用户登录消息的方法如下:
首先使用本注册服务单元的标识代替本地收到的用户登录消息中的用户登录点,生成新的用户登录消息,然后向上层注册服务单元发送所述新的用户登录消息。
上述技术方案中,还包括步骤5),该步骤5)如下:
所述注册服务单元根据所记录的所述用户登录信息进行查询,并在系统终端设备之间确定转发节点。
本发明提供的利用所述的多层NAT环境下面向应用的名字注册系统进行用户登录点查询的方法,其特征在于,包括如下步骤:
50)系统终端设备向名字注册系统的服务入口发送用户登录点查找请求消息,该消息中至少包括被请求用户标识;
51)注册服务单元在本地的用户登录信息记录表中查找所述被请求用户的用户标识是否存在,如果存在,则返回被请求用户的用户登录点;如果不存在,则向接入当前注册服务单元所接入网络的上层网络的注册服务单元转发用户登录点查找请求消息;
52)接入上层网络的注册服务单元在本地的用户登录信息记录表中查找所述被请求用户标识是否存在,如果存在,则返回被请求用户的系统终端设备的用户登录点;如果不存在,则向接入当前注册服务单元所接入网络的上层网络的注册服务单元转发用户登录点查找请求消息;
53)重复步骤52),直至获得被请求系统终端设备的用户登录点;
54)当用户登录点查找请求消息转发至顶层注册服务单元后,仍未查找到所述被请求用户的用户标识,则返回失败应答消息。
本发明提供的所述多层NAT环境下面向应用的名字注册系统提供转发服务的方法,其特征在于,所述注册服务单元还包括数据转发模块,所述提供转发服务的方法包括如下步骤:
60)系统终端设备向名字注册系统的服务入口发送转发服务请求消息,该消息中至少包括被请求用户标识;
61)注册服务单元在本地的用户登录信息记录表中查找所述被请求用户的用户标识是否存在,如果被请求用户的用户标识存在,判断本注册服务单元是否含有数据转发模块,如判断有数据转发模块,则为请求方用户分配并返回一个可以向被请求方用户转发数据的网络地址和端口;如果被请求用户的用户标识不存在,或没有数据转发模块,则向接入当前注册服务单元所接入网络的上层网络的注册服务单元转发所述转发服务请求消息;
62)接入上层网络的注册服务单元在本地的用户登录记录表中查找所述被请求用户标识是否存在,如果被请求用户的用户标识存在,判断本注册服务单元是否含有数据转发模块,如判断有数据转发模块,则为请求方用户分配并返回一个可以向被请求方用户转发数据的网络地址和端口;如果被请求用户的用户标识不存在,或没有数据转发模块,则向接入当前注册服务单元所接入网络的上层网络的注册服务单元转发所述转发服务请求消息;
63)重复步骤62),直至请求方用户获得可以向被请求方用户转发数据的网络地址和端口;
64)转发服务请求消息转发至顶层注册服务单元后,仍未查找到所述被请求用户的用户标识,或没有数据转发模块,则返回失败应答消息。
本发明在多层NAT网络环境中,使应用、服务、用户等可以通过标识被定位,能够使得私网内的服务对其外部网络可见并且与具体应用无关。本发明同时还为外部网络节点提供更为合理的访问途径的系统和方法。
本发明利用系统中保存的用户登录信息,在多层NAT网络中,指导请求用户使用的系统终端设备找到离请其NAT距离最小的,能够为其向被请求用户使用的系统终端设备转发数据的节点。
本发明能够实现呼叫消息的传递,从而达到传递系统终端设备间连接请求的目的。通过应用本发明,在多层NAT网络环境中,使应用、服务、用户可以通过标识被定位。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1是同根多层NAT网络示意图
图2是面向应用的名字注册系统的结构示意图
图3a是NAT设备接入网络的示意图
图3b是NAT设备联接矩阵示意图
图4a是注册服务装置结构示意图
图4b是注册服务单元结构示意图
图5是注册服务装置第一种组建流程
图6是注册服务装置第二种组建流程
图7是注册服务装置第三种组建流程
图8是公有网络中注册服务装置全局服务入口为基础,系统终端设备向注册服务装置请求局部服务入口的流程图
图9是通过监听包含注册服务装置服务入口,系统终端设备获取局部服务入口的流程图
图10是通过监听包含注册服务装置服务入口,系统终端设备获取局部服务入口的另一种流程图
图11是用户使用的系统终端设备向注册服务装置发用户注册信息(用户开户信息)的过程
图12是用户使用的系统终端设备向注册服务装置发用户登录信息的过程
图13是主动请求用户通过注册服务系统获取被请求用户的用户登录点的过程
图14是注册服务单元收到“服务单元注册消息”后的处理方法
图15是注册服务单元向注册服务装置注册的方法
图16是注册服务单元收到“服务入口查询消息”后的处理方法
图17是系统终端设备获取注册服务装置网络地址和端口的方法
图18是为注册服务装置中的注册服务单元收到“用户注册消息”后的处理方法
图19是用户通过系统终端设备向注册服务装置发用户登录信息的示意图
图20是注册服务装置中的注册服务单元收到“用户登录点查找请求消息”后的处理方法
图21是用户通过系统终端设备向注册服务装置查询用户登录点的示意图
图22是带有转发模块的注册服务单元示意图
图23是“转发服务请求”处理流程
具体实施方式
1.网络环境介绍
图1所示为同根多层NAT网络,该网络是同根多层NAT网络的例子。其特点是:私有网络4通过NAT设备1000接入公有网络3、私有网络4。通过NAT设备1000接入公有网络3、私有网络4的私有网络4为该NAT设备控制的网络。直接同公有网络3相连的NAT设备为根NAT设备。各NAT设备控制的私有网络到公有网络3经过的最少NAT设备的个数为该NAT设备控制的私有网络的层数,该路径为NAT设备控制的私有网络到公有网络3的最短路径。NAT设备控制的私有网络到公有网络3的层数越少,表示层级越高。如果两个NAT设备控制的私有网络各自到公有网络的最短NAT路径中至少有一个NAT设备相同,则这两个NAT设备控制的私有网络有共同的根NAT设备。多层NAT网络可以被看作是多个同根多层NAT网络的组合。。
多层NAT网络在扩大用户的接入数量的同时,也使通信双方的相对位置变得更为复杂。多层NAT网络将公有网络扁平化通信模式变成了层次化通信模式。多层NAT网络环境下,通信双方典型关系为:(1)通信双方在公有网络;(2)通信一方在NAT设备控制的通过NAT设备扩展的私有网络中,另一方在公有网络中;(3)通信双方在同一NAT设备控制的私有的网络中;(4)通信双方在不同NAT设备控制的私有网络中,且这两个NAT设备通过不同的根NAT与公有网络的相连;(5)通信双方在不同NAT设备控制的私有网络中,且这两个NAT设备通过相同的根NAT与公有网络的相连。
NAT设备的网络地址指同NAT设备的外网界面绑定的网络地址。对于规模较大的私有网络,NAT设备NAT路由器外网界面可以同多个网络地址进行绑定。在网络管理中,可以通过枚举地址或枚举网段的方式将多个网络地址映射为一个NAT设备。普通用户可以通过低端(有基本功能)NAT设备NAT路由器自行接入网络,该NAT设备NAT路由器外网界面一般与一个网络地址绑定。在下面对NAT设备NAT路由器的描述中,一个NAT设备NAT路由器外网界面只与一个网络地址绑定。因此由于,一个NAT设备可以用一个同该NAT设备的外网界面绑定的网络地址代表。开发设计人员不难发现,下面描述的方法也适用于外网界面同多个网络地址绑定的NAT路由器。
为了方便对多层NAT网络的描述,现定义如下名词。
NAT设备的网络地址为该NAT设备的外网界面上绑定的网络地址,或叫
NAT路由器地址,该地址可以是公有地址,也可以是私有地址。
NAT设备控制的网络范围:由该NAT设备内网界面起,沿该界面联接的网络延展,到另一个NAT外网界面止,之间的网络,上述两个NAT设备间不存在另一个NAT设备。该网络简称NAT控制的网络,或NAT路由器控制的网络。该NAT为该网络的控制NAT设备。
直接上层网络:如果NAT设备A的外网界面同NAT设备B控制的网络直接相连,NAT设备B控制的网络为NAT设备A控制的网络的直接上层网络;
公有网络是根NAT设备控制的网络的直接上层网络。
直接下层网络:如果NAT设备A的外网界面同NAT设备B控制的网络直接相连,NAT设备A控制的网络为NAT设备B控制的网络的直接下层网络;
根NAT设备控制的网络是公有网络的直接下层网络。
NAT路径长度:NAT环境下,主机A到B的可达路径中经过NAT设备的个数为该NAT路径的长度。
最短NAT路径:NAT环境下,主机A到B的所有NAT路径中,NAT路径长度最小的一条称为A到B的最短NAT路径,所经过的NAT个数为最短NAT路径长度。
上层网络:从当前NAT设备控制的网络的直接上层网络起到公有网络止的各NAT设备控制的网络及公有网络,为当前NAT设备控制的网络的上层网络。
下层网络:从公有网络或当前NAT设备控制的网络的直接下层网络起的各NAT设备控制的网络,为公有网络或当前NAT设备控制的网络的下层网络
所属网络:部署于公有网络的设备的所属网络为公有网络,部署在NAT设备控制的网络的设备的所属网络为NAT设备控制的网络。
NAT之后:设备所属网络为公有网络或当前NAT设备控制的网络的下层网络,则该设备在NAT之后。
父服务器:位于当前NAT控制的网络的直接上层网络中的服务器是当前NAT设备控制的网络中服务器的父服务器。
子服务器:位于公有网络或当前NAT控制的网络的直接下层网络中的服务器是公有网络或当前NAT控制的网络中服务器的子服务器。
祖先服务器:当前服务器及当前服务器的父服务器为当前服务器的子服务器的祖先服务器。
2.多层NAT网络下面向应用的名字注册系统概述
多层NAT网络下面向应用的名字注册系统10是一种新型注册系统,如图2所示。该系统包括注册服务装置2001和系统终端设备6001两部分。注册服务装置2001用于记录用户注册(开户)信息、用户登录信息,提供用户注册信息及用户登录信息查询;用户使用系统终端设备6001向注册服务装置2001注册用户信息,登录系统、查询用户注册信息、查询用户登录信息。本发明不仅可用于NAT设备组建的网络环境,还可以用于有地址转换功能的其它设备组建的网络换环境。
根据多层NAT网络的特点,注册服务装置2001记录用户登录信息内容为:用户标识、用户在或映射到公有网络及相关私有网络中的用户登录点、用户映射到公有网络及相关私有网络中的系统终端设备访问点。同时,注册服务装置2001可以根据系统记录的用户登录信息,帮助主动请求用户在被请求用户的所有用户登录点中确定到请求用户当前通讯设备NAT路径最短的用户登录点。用户登录点:当用户位于公有网络或NAT设备控制的网络中时,用户在该网络中的用户登录点为用户使用的系统终端设备的网络地址和端口;当用户位于NAT设备控制的网络中时,用户在该NAT设备控制的网络的上层网络中的用户登录点为接入公有网络或NAT设备控制的网络的服务单元用于接收用户登录请求消息的网络地址和端口,或可以转化为接收用户登录请求消息的网络地址和端口的服务单元的标识。系统终端设备访问点:该访问点位于NAT设备上,当用户登录消息穿过NAT设备时产生。该访问点有两种表示方式:1)NAT设备的网络地址和端口;2)可以计算得到或被转换为NAT设备的网络地址和端口的标识。
图2所示为名字注册服务系统。名字注册服务系统10包括:注册服务装置2001至少用于记录用户注册信息、用户登录信息,提供用户注册信息及用户登录信息查询,注册服务装置服务入口查询等;顶级服务总线1用于将注册服务装置接入公有网络3;服务总线2用于将注册服务装置接入私有网络4。注册服务装置2001通过顶级服务总线1同公有网络3相连,通过服务总线2同私有网络4相连。
公有网络3和私有网络4通过NAT设备联接矩阵1001联接在一起。系统终端设备6001和服务装置2001同公有网络3、私有网络4相连。
NAT网络结构为例,图3的b所示为a的NAT设备联接矩阵1001联接示意图。其中包括公有网络3、私有网络4;NAT设备联接矩阵1001接入公有网络的线路5,私有网络接入NAT设备联接矩阵1001的线路6;由NAT设备联接矩阵1001接入私有网络的线路7。在部署多层NAT网络时需要考虑网段间重叠问题。系统要有判别、处理网段间重叠问题的能力。
图4所示为注册服务装置的结构示意图。如图4a所示注册服务装置2001由顶级注册服务单元2011和多个基本注册服务单元2021组成。顶级注册服务单元2011通过顶级服务总线装置1同公有网络3相联接,使用公有网络的网络地址进行编址;基本注册服务单元2021通过服务总线装置2同私有网络4相联接,使用相连的私有网络的网络地址进行编址。注册服务单元为顶级注册服务单元2011和基本注册服务单元2021的统称。注册服务单元2801为顶级注册服务单元2011和基本注册服务单元2021的基本功能结构。如图4b所示注册服务单元2801至少包括注册服务逻辑控制单元2100、基本配置信息记录表2101、层级信息记录表2102、目标注册服务器记录表2103、子注册服务单元记录表2104、用户登录信息记录表2105、用户注册信息记录表2106、消息缓存区2109、通信单元2110等功能模块。
注册服务逻辑控制单元2100用于控制注册服务的执行;基本配置信息记录表2101用于记录本单元标识、本单元主机地址、本单元服务端口;层级信息记录2102用于记录层级信息;目标注册服务器记录2103用于记录祖先注册服务器的网络地址、端口;子注册服务器记录表2104用于记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址、端口,见表1a;用户登录信息记录表2105用于记录用户标识、用户登录点、系统终端设备访问点,见表1b;用户注册信息记录表2106至少记录开户用户的用户标识等开户信息;消息缓存区2109用于暂时保存接收到的数据分组中的信息及转发关系记录表,见表1c,通信单元2110同顶级服务总线装置或服务总线装置联接、负责收发数据。
表1a
标识 | 服务单元网络地址 | 服务单元端口 | NAT网络地址 | NAT端口 |
ServerN | 192.168.75.6 | 8000 | 10.34.0.7 | 6554 |
表1b
用户标识 | 用户登录点 | 系统终端设备访问点 |
ServerN | 192.168.75.6:8000 | 10.34.0.7:5678 |
表1c
随机序号 | 网络地址 | 端口 |
5555666778899 | 10.69.0.58 | 2345 |
注册服务逻辑控制单元2100根据执行需要从基本配置信息记录表2101读取本单元标识、本单元主机地址、本单元服务端口,从层级信息记录2102读取记录层级信息,从目标注册服务器记录2103读取注册服务装置的网络地址、端口,从子注册服务器记录表2104读取记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址、端口,从用户登录信息记录表2105读取用户标识、用户登录点、系统终端设备访问点,从用户注册信息记录表2106读取用户标识,从消息缓存区2109读取暂时保存的接收到的数据分组中的信息及转发关系,从通信单元2110读取收到的数据;同时,注册服务逻辑控制单元根据执行需要向基本配置信息记录表2101写入本单元标识、本单元主机地址、本单元服务端口,向目标注册服务器记录2103写入注册服务装置的网络地址、端口,向子注册服务器记录表2104写入记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址、端口,向用户信息记录表2105写入用户标识、用户登录点、系统终端设备访问点,向用户注册信息记录表2106写入用户标识,向消息缓存区2109写入暂时保存接收到的数据分组中的信息及转发关系,向通信单元2110写入需要发出的数据。
服务单元代理,一种特殊的服务单元。主要用于扩大被代理的服务单元的覆盖范围、或用于向系统终端设备提供统一的服务入口。根据需要,服务单元代理可以与被代理者部署于同一NAT设备控制的网络或公有网络,也可以部署在被代理者所属NAT设备控制的网络的直接下层网络中。服务单元代理可以广播被代理者的服务入口,或在服务装置的请求者和被代理服务装置间转发消息。
为了方便描述,下面将服务单元中接收各种消息的网络地址和端口称为服务入口。
系统终端设备至少用于同注册服务装置交互信息:从注册服务装置获取服务入口、向注册服务装置发送用户注册消息、向注册服务装置查询用户登录点、向注册服务装置请求有转发能力的服务单元。
终端设备至少包括如下:终端设备控制单元、基本配置信息记录表、目标注册服务装置记录、消息缓存区、通信单元等功能模块。终端设备控制单 元用于控制终端设备的执行;基本配置信息记录表用于记录用户标示、本终端设备的网络地址、端口等信息;目标注册服务装置记录用于记录注册服务装置的网络地址和端口;消息缓存区用于暂时存储收到或发出的消息;通信单元用于公有网络或私有网络连接。
终端设备控制单元从基本配置信息记录表、目标注册服务装置记录、消息缓存区读写信息。终端设备控制单元通过通信单元等功能模块从网络收发数据。
在多级NAT网络中数据或消息发送关系复杂。最简单的数据或消息传递形式有:不经过NAT设备,系统终端设备和服务单元直接通讯;经过NAT设备,系统终端设备和服务单元通讯;不经过NAT设备,服务单元和服务单元直接通讯;经过NAT设备,服务单元和服务单元通讯等。在上述数据或消息传递形式下,从数据接收者的角度看,如果数据在系统终端设备和服务单元、服务单元和服务单元间直接传递,系统终端设备、服务单元为数据发送者或叫消息发送者,如果数据通过NAT设备,该NAT设备为数据发送者或叫消息发送者,NAT设备从系统终端设备、服务单元接收数据。由于NAT设备中有数据收发关系对应表,可以自动转发应答消息。
3.多层NAT网络环境下注册服务装置构建流程及方法
多层NAT网络环境中,注册服务装置存储用户注册及登录信息,同时为用户信息查询者返回用户注册及登录信息。注册服务单元加入注册服务装置的过程:由顶级注册服务单元启动,完成注册服务装置初识化,即可以提供用户信息注册、用户登录、用户注册及登录信息查询服务、服务入口点查询服务;其次、根NAT设备控制的网络中的基本注册服务单元向注册服务装置注册加入系统;再次、第二层NAT基本注册服务单元向注册服务装置注册加入系统;再次、第三层NAT基本注册服务单元向注册服务装置注册加入系统。按上述方式,根据需要,基本注册服务单元顺序加入注册服务装置,为名字注册服务系统10提供服务。公有网络中只有一个顶级注册服务单元;每个私有网络中只有一个基本注册服务单元。下面对注册服务单元的描述中,每个注册服务单元运行于一台服务器。当注册服务单元由多台服务器构成时,至少需要现有用户注册信息及用户登录信息的内容,同时需要在现有信息内容的的基础上,针对分布式系统的特征进行扩展,维持多服务入口与NAT设备间的映射关系,及注册单元间的访问关系。当注册服务单元由多台服务器构成时,开发人员,不难以本发方法的精神实质,针对分布式系统的特征在注册、登录、查询等方法上进行扩展。
图5为注册服务装置组建流程。该过程是注册服务单元加入注册服务装置的例子。注册服务装置2001通过架设在公有网络中的顶级注册服务器2011进行初识化。该顶级注册服务单元2011配有公有网络网络地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。NAT设备1010直接接入公有网络,为根NAT设备。注册服务单元2021部署在根NAT设备控制的网络中。NAT设备对经过的数据分组的源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。
●根NAT设备控制的网络中的注册服务单元2021向顶级注册服务单元2011发“服务单元注册消息”;该消息中包括注册服务单元2021的网络地址、端口、标识、预制层级信息为1,表明该注册服务单元2021为第一层注册服务单元,及所属NAT设备控制的网络到公有网络的最短距离为1。
●顶级注册服务单元2011收到“服务单元注册消息”后,根据携带该消息的数据分组的网络地址及该消息中携带的注册服务单元网络地址是否相同,判断该消息是否经过NAT设备转换;如果经过NAT设备转换,提取该注册请求中的层级信息,如果层级比当前注册服务单元大1,则在子注册服务单元记录表中记录该注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址和端口,并发送该消息者返回注册成功消息;如果层级与当前注册服务单元的层级的级差比1大,同时子注册服务单元记录表中没有该NAT设备对应的注册服务单元的记录,返回注册失败消息;如果未经过NAT设备转换,返回注册失败消息。
图6为注册服务装置组建流程。该过程是注册服务单元加入注册服务装置的例子。该顶级注册服务单元2011配有公有网络网络地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第一注册服务单元2021部署在根NAT设备1010控制的网络中。第二NAT设备1020直接接入根NAT设备1010控制的网络,第二注册服务单元2031部署在第二NAT设备1020控制的网络中。第二NAT设备1020控制的网络中的联网主机、联网设备可 以访问根NAT设备控制的网络中的联网主机、联网设备。NAT设备对经过的数据分组源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。
●第二NAT设备1020控制的网络中的第二注册服务单元2031向顶级注册服务单元2011发“服务单元注册消息”,该消息中包括本注册服务单元2031的网络地址、端口、标识、预制层级信息为2,表明该注册服务单元2031所属NAT设备10220控制的网络到公有网络的最短距离2。
●顶级注册服务单元2011收到“服务单元注册消息”后,根据携带该消息的数据分组的网络地址及该注册申请消息中携带的注册服务器网络地址是否相同,判断该消息是否经过NAT设备转换;如果经过NAT设备转换,提取该注册请求中的层级信息,如果层级与当前注册服务单元的层级的级差比1大,则在子注册服务单元记录表查找同NAT设备对应的注册服务单元,如果该注册服务单元存在,向第二注册服务单元2031返回包含NAT设备1010对应的注册服务单元的网络地址和端口的重定向应答消息。
●第二注册服务单元2031收到注册服务装置的重定向应答消息后,根据消息中包括的注册服务单元的网络地址、端口信息,向注册服务装置发“服务单元注册消息”;该消息中包括第二注册服务单元2031的网络地址、端口、预制层级信息为2,表明该注册服务单元2031所属NAT设备1020控制的网络到公有网络的最短距离。
●第一注册服务单元2021收到“服务单元注册消息”后,根据携带该消息的数据分组的网络地址及该注册申请消息中携带的注册服务器网络地址是否相同,判断该消息是否经过NAT设备转换;如果经过NAT设备转换,提取该注册请求中的层级信息,如果层级比当前注册服务单元大1,则在子注册服务单元记录表中记录该注册服务单元2031的网络地址、端口及对应的NAT设备1020的网络地址和端口,向第二注册服务单元2031返回注册成功消息;如果层级与当前注册服务单元的层级的级差比1大,同时子注册服务单元记录表中没有该NAT设备对应的注册服务单元的记录,返回注册失败消息;如果未经过NAT 设备转换,返回注册失败消息。
图7为注册服务装置组建流程。该过程是注册服务单元加入注册服务装置的例子。顶级注册服务单元2011配有公有网络网络地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第一注册服务单元2021部署在根NAT设备1010控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第一注册服务单元代理2032和第二注册服务单元2031部署在第二NAT设备1020控制的网络中。第二NAT设备1020控制的网络中的联网主机、联网设备可以访问根NAT设备控制的网络中的联网主机、联网设备。NAT设备对经过的数据分组源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。
●第一注册服务单元代理2032在第二NAT设备1020控制的网络中广播包含第一注册服务装置网络地址和端口的消息。
●第二注册服务单元2031监听第二NAT设备1020控制的网络中广播的包含第一注册服务装置网络地址和端口的消息。
●第二注册服务单元2031收到包含注册服务装置网络地址和端口的消息后,根据消息中提供的注册服务装置的网络地址和端口向注册服务装置发“服务单元注册消息”,该消息中包括第二注册服务单元2031的网络地址、端口、预制层级信息2,表明该注册服务单元2031所属NAT设备1020控制的网络到公有网络的最短距离。
●第一注册服务单元2021收到“服务单元注册消息”后,根据携带该消息的数据分组的网络地址及该注册申请消息中携带的注册服务器网络地址是否相同,判断该消息是否经过NAT设备;如果经过NAT设备,提取该注册请求中的层级信息,如果层级比当前注册服务单元大1,则在子注册服务单元记录表中记录该注册服务单元2031的网络地址、端口及对应的NAT设备1020的网络地址和端口,向第二注册服务单元2031返回注册成功消息;如果层级与当前注册服务单元的层级的级差比1大,同时子注册服务单元记录表中没有该NAT设备对应的注册服务单元的记录,返回注册失败消息;如果未经过NAT设备, 返回注册失败消息。
图7所示第二注册服务单元代理不提供消息转发功能。如果必要,开发人员不难开发出有消息转发功能的注册服务器代理。
另外,该广播方式可以根据各种服务代理所处网络环境使用有线、无线或有线和无线等。
此外,开发人员不难参考图5-图7的实例,在多层NAT网络中实现注册服务装置。
此外,考虑到安全性问题,可以对注册消息进行全部加密或局部加密。
图14为注册服务装置中注册服务单元收到“服务单元注册消息”后的处理方法
S1000:开始
S1001:等待接收数据分组
S1002:是否收到数据分组,如没有收到数据分组,转S1001,如收到数据分组,转S1003;
S1003:提取数据分组中的消息;
S1004:判别是否为“服务单元注册消息”,如果不是,转S1200,如果是,转S1100;
S1100:根据携带消息的数据分组的源地址和消息中的服务单元的网络地
址判定该消息是否经过NAT设备,如果不是,转S1130,如果是,转S1120
S1120:提取消息中的层级信息
S1121:判别该层级与当前服务单元的层级信息的差是否等于1,如果不是,转S1140,如果是,转S1122;
S1122:将消息中的服务单元标识、网络地址、端口、对应的NAT的网络地址和端口记录在子注册服务器记录表中,
S1123:向消息发送者返回注册成功的消息,并返回S1001;
S1130:向消息发送者返回注册失败的消息,并返回S1001;
S1140:判别在子注册服务器记录中找和数据分组源地址相对应的NAT设备控制的网络中是否有子注册服务器,如果没有,转S1130,如果有,转S1141;
S1141:向消息发送者返回包含该子注册服务器的网络地址和端口的重定向消息,并返回S1001;
S1200:判别是否为系统应答消息,如果不是,转S1300,如果是,转S1201;
S1201:是否为失败消息,如果不是,转S1210,如果是,转S1202;
S1202:结束
S1210:判别是否为重定向消息,如果不是,转S1220,如果是,转S1211;
S1211:触发与“服务单元注册消息”对应的重定向消息处理流程,并返回S1001;
S1220:是否为成功消息,如果是,转S1221,如果不是,转S1001;
S1221:触发与“服务单元注册消息”对应的成功消息处理流程,并返回S1001;
图15为注册服务单元向注册服务装置注册的方法。为了维持NAT设备中的数据收发对应关系,注册服务单元需定期执行本方法。
S1800:开始
S1801:将目标注册服务器记录初始化为公有网络上的顶级注册服务单元服务入口,向部署在公有网络上的顶级注册服务单元发“服务单元注册消息”
S1802:等待反馈消息的触发回复;
S1803:判断收到的信息是否为失败,如果是,转S1804,如果不是,转S1810;
S1810:判断收到的信息是否为成功,如果是,转S1804,如果不是,转S1820;;
S1820:判断收到的信息是否为重定向,如果不是,转S1802,如果是,转S1821;
S1821:提取重定向消息中的服务入口,并存储在目标注册服务器记录中;
S1822:根据重定向消息中的网络地址和端口向注册服务装置发“服务单元注册消息”,并返回S1802;
S1804:结束
4.注册服务系统的基本功能
4.1获取注册服务装置网络地址和端口的工作流程及处理方法
注册服务装置2001的网络地址和端口作为注册服务装置2001的服务入口。在多层NAT网络环境下,对应公有网络和私有网络,名字注册服务装置2001有不同服务入口。在公有网络的服务入口,如无特殊限制,可以被公有网络和各NAT设备控制的网络中的系统终端设备访问,该类端口为全局服务入口;反之,只能被部分系统终端设备访问的端口为局部服务入口。终端系统6001获得服务入口后,才能向注册服务装置2001提出注册、登录和查询等请求。
图8为以公有网络中注册服务装置全局服务入口为基础,系统终端设备6001向注册服务装置2001请求局部服务入口。该流程图是系统终端设备获得注册服务装置服务入口的例子。顶级注册服务单元2011配有公有网络网络地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第一基本注册服务单元2021部署在根NAT设备1010控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第二基本注册服务单元2022部署在第二NAT设备1020控制的网络中,系统终端设备6001部署在第二NAT设备1020控制的网络中。第二NAT设备1020控制的网络中的联网主机、联网设备可以访问根NAT设备控制的网络中的联网主机、联网设备。NAT设备对经过的数据分组源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。
●系统终端设备6001向注册服务装置全局服务入口“服务入口查询消息”;
●顶级注册服务单元2011收到“服务入口查询消息”后,根据逻辑判断是否能够执行(见图16),如果能够执行返回成功消息,如果不能执行,判断是否可以重定向到子注册服务单元,如果可以返回重定向消息;(本例子中返回包含第一基本注册服务单元2021网络地址和端口的重定向消息)
●系统终端设备6001受到重定向应答消息后,根据消息中包含的注册服务装置的服务入口,向注册服务装置发“服务入口查询消息”;
●第一基本注册服务单元2021收到“服务入口查询消息”后,根据逻辑判断是否能够执行,如果能够执行返回成功消息,如果不能执行,判断是否可以重定向到子注册服务单元,如果可以返回重定向消息;(本例子中返回包含第二基本注册服务单元2022网络地址和端口的重定向消息)
●系统终端设备6001受到重定向应答消息后,根据消息中包含的注册服务装置的服务入口,向注册服务装置发“服务入口查询消息”;
●第二基本注册服务单元2022收到“服务入口查询消息”后,根据逻辑判断是否能够执行,如果能够执行返回成功消息,如果不能执行,判断是否可以重定向到子注册服务单元,如果可以返回重定向消息,(本例子中返回成功应答消息)
●系统终端设备6001收到成功应答消息后,将消息中包含的注册服务装置的服务入口存储在本地目标注册服务装置记录中。
图8中的请求消息可以通过有线或/和无线收发
图9通过监听包含注册服务装置服务入口,系统终端设备6001获取局部服务入口的流程。该流程图是系统终端设备获得注册服务装置服务入口的例子。顶级注册服务单元2011配有公有网络网络地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第一基本注册服务单元2021部署在根NAT设备1010控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第二基本注册服务单元2022部署在第二NAT设备1020控制的网络中,系统终端设备6001部署在第二NAT设备1020控制的网络中。第二NAT设备1020控制的网络中的联网主机、联网设备可以访问根NAT设备控制的网络中的联网主机、联网设备。NAT设备对经过的数据分组源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。
●第二基本注册服务单元2022在所属NAT控制的网络中广播包含注册服务装置网络地址和端口的消息;
●系统终端设备6001在监听包含注册服务装置网络地址和端口的消息 的广播消息;
●系统终端设备6001收到广播消息后,将消息中包含的注册服务装置的服务入口存储在本地目标注册服务装置的记录中。
此外,图9中所述通过广播形式发布服务入口的方式可以使用公示、预先告知用户等方式代替,由用户通过人工的方式对系统终端设备6001进行配置。
图10通过监听包含注册服务装置服务入口,系统终端设备6001获取局部服务入口的流程。该流程图是系统终端设备获得注册服务装置服务入口的例子。顶级注册服务单元2011配有公有网络网络地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第一基本注册服务单元2021部署在根NAT设备1010控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第一基本注册服务单元代理2023部署在第二NAT设备1020控制的网络中,系统终端设备6001部署在第二NAT设备1020控制的网络中。第二NAT设备1020控制的网络中的联网主机、联网设备可以访问根NAT设备控制的网络中的联网主机、联网设备。NAT设备对经过的数据分组源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。服务单元代理和被代理服务单元间可以有私有通信接口,用于服务单元代理和被代理服务单元间的信息交互。
●第一基本注册服务单元代理2023在所属NAT控制的网络中广播包含注册服务装置网络地址和端口的消息;
●系统终端设备6001在监听包含注册服务装置网络地址和端口的消息的广播消息;
●系统终端设备6001收到广播消息后,将消息中包含的注册服务装置的服务入口存储在本地目标注册服务装置的记录中。
图10第一注册服务单元代理不提供消息转发功能。如果必要,开发人员不难开发出有消息转发功能的注册服务器代理。
另外,在多层NAT网络中,开发人员不难根据本流程提出相关流程。流程的执行过程可以是有线或/和无线。
此外,图10所述通过广播形式发布服务入口的方式可以使用公示、预先告知用户等方式代替。由用户通过人工的方式对服务客户端进行配置。
图16为注册服务装置中的注册服务单元收到“服务入口查询消息”后的处理方法
S2000:开始
S2001:等待接收数据分组
S2002:是否收到数据分组,如没有收到数据分组,转S2001,如收到数据分组,转S2003;
S2003:提取数据分组中的消息;
S2004:判别是否为“服务入口查询消息”,如果不是,转S2005,如果是,转S2100;
S2100:根据携带消息的数据分组的源地址和消息中的系统终端设备的网络地址判别该系统终端设备是否在NAT之后,如果不是,转S2101,如果是,转S2200;
S2200:子注册服务器记录表中找和数据分组源地址所对应的NAT设备控制的网络中是否有子注册服务器,如果没有,转S2101,如果有,转S2201;
S2201:向消息发送者返回包含该子注册服务单元的网络地址和端口的重定向消息,并返回S2001;
S2101:向消息发送者返回成功应答消息,消息中包括可用注册服务单元的网络地址和端口,并返回S2001;
S2005:进行其它处理,并返回S2001;
图17为系统终端设备获取注册服务装置网络地址和端口的方法。为了维持NAT设备中的数据收发对应关系,系统终端设备需定期执行本方法。
S2800:开始
S2801:监听广播消息
S2802:是否收到包含注册服务装置服务入口的广播消息,如果是,转S2806, 如果不是,转S2803;
S2806:在本地目标注册服务装置记录中记录广播消息中的网络地址和端口
S2807:结束
S2803:向部署在公有网络上的顶级注册服务单元发“服务入口查询消息”,并用部署在公有网络上的顶级注册服务单元的服务入口初始化本地目标注册服务装置记录;
S2804:等待回复;
S2805:判断收到的信息是否为成功,如果是,转S2807,如果不是,转S2810;
S2810:判断收到的信息是否为重定向,如果不是,转S2804,如果是,转S2811;
S2811:将重定向消息中注册服务装置的网络地址和端口存入本地目标注册服务装置记录中,并根据重定向消息中的网络地址和端口向注册服务装置发“服务入口查询消息”,并返回S2804;
4.2用户信息注册流程及方法
图11用户使用的系统终端设备向注册服务装置发用户注册信息(用户开户信息)的过程。该流程图是用户使用的系统终端设备向注册服务装置发用户注册信息的例子。顶级注册服务单元2011配有公有网络网络地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第一基本注册服务单元2021部署在根NAT设备1010控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第二基本注册服务单元2031部署在第二NAT设备1020控制的网络中,系统终端设备6001部署在第二NAT设备1020控制的网络中;系统终端设备6001已经获得了注册服务装置的服务入口。第二NAT设备1020控制的网络中的联网主机、联网设备可以访问根NAT设备控制的网络中的联网主机、联网设备。NAT设备对经过的数据分组地源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述
●系统终端设备6001向顶级注册服务单元2011发“用户注册消息”,消息中至少包括用户标识、用户使用终端的网络地址;
●顶级注册服务单元2011收到用户注册消息后,在用户注册信息记录表中查找是否有相同用户标识,如果没有相同用户标识将该用户用户标识及其相关信息加入用户注册信息记录表,判断该“用户注册消息”是否经过NAT设备(例如,根据携带该“用户注册消息”的数据分组的源地址和消息中的用户使用终端的网络地址判断该消息是否经过NAT设备),如果经过NAT设备,则在子注册服务器记录中查找与该NAT设备相关的子注册服务单元,如果子注册服务单元存在,则返回重定向应答消息,消息中包括该注册服务单元的服务入口;如果不经过NAT设备,或该NAT设备没有相关的注册服务单元,则返回成功注册消息;如果用户标识存在,则返回失败应答消息。
●系统终端设备收到应答消息后,如果为失败应答消息或成功应答消息则结束注册,如果为重定向应答消息则根据消息中的注册服务单元服务入口发“用户注册消息”,消息中至少包括用户标识、用户使用终端的网络地址;
●第一注册服务单元2021收到用户注册消息后,在用户注册信息记录表中查找是否有相同用户标识,如果没有相同用户标识将该用户的用户标识及其相关信息加入用户注册信息记录表,判断该“用户注册消息”是否经过NAT设备(例如,根据携带该“用户注册消息”的数据分组的源地址和消息中的用户使用终端的网络地址判断该消息是否经过NAT设备),如果经过NAT设备,则在子注册服务器记录中查找与该NAT设备相关的子注册服务单元,如果子注册服务单元存在,则返回重定向应答消息,消息中包括该注册服务单元的服务入口;如果不经过NAT设备,或该NAT设备没有相关的子注册服务单元,则返回成功注册消息;如果用户标识存在,则返回失败应答消息。
●系统终端设备收到应答消息后,如果为失败应答消息或成功应答消息则结束注册,如果为重定向应答消息则根据消息中的注册服务单元服务入口发“用户注册消息”,消息中至少包括用户标识、用户使用终端的网络地址;
●第二注册服务单元2031收到用户注册消息后,在用户注册信息记录表中查找是否有相同用户标识,如果没有相同用户标识将该用户用户标识及其相关信息加入用户注册信息记录表,判断该“用户注册消息”是否经过NAT设备(例如,根据携带该“用户注册消息”的数据分组 的源地址和消息中的用户使用终端的网络地址判断该消息是否经过NAT设备),如果经过NAT设备,则在子注册服务器记录中查找与该NAT设备相关的子注册服务单元,如果子注册服务单元存在,则返回重定向应答消息,消息中包括该注册服务单元的服务入口;如果不经过NAT设备,或该NAT设备没有相关的子注册服务单元,则返回成功注册消息;如果用户标识存在,则返回失败应答消息。
●系统终端设备收到应答消息后,如果为失败应答消息或成功应答消息则结束注册,如果为重定向应答消息则根据消息中的注册服务单元服务入口发“用户注册消息”,消息中至少包括用户标识、用户使用终端的网络地址;
由于用户注册信息在多级NAT网络中按层级存在,当注册服务单元收到“用户注册信息查询消息”的时候可以采用多种策略进行查询。例如首先在本地用户注册记录表中查寻,如果用户存在,则向查询请求者返回成功消息;如果用户不存在,向顶级注册服务单元查询,如果收到顶级注册服务单元返回的成功消息,则向查询请求者返回成功消息;如果收到顶级注册服务单元返回的失败消息,则向查询请求者返回失败消息。
4.3用户登录流程及方法
图12用户使用的系统终端设备向注册服务装置发用户登录信息的过程。该流程图是用户使用的系统终端设备向注册服务装置发用户登录信息的例子。顶级注册服务单元2011配有公有网络网络地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第一基本注册服务单元2021部署在根NAT设备1010控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第二基本注册服务单元2031部署在第二NAT设备1020控制的网络中,系统终端设备6001部署在第二NAT设备1020控制的网络中;系统终端设备6001已经获得了注册服务装置的服务入口。第二NAT设备1020控制的网络中的联网主机、联网设备可以访问根NAT设备控制的网络中的联网主机、联网设备。NAT设备对经过的数据分组地源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。
●系统终端设备6001将用户登录状态设为未登录,根据本地存储的注册服务装置的服务入口向注册服务装置发“用户登录消息”,消息中至少包括用户标识、用户登录点,该用户登录点为用户使用的系统终端设备的网络地址和端口
●第二基本注册服务单元2031收到用户登录消息后,根据逻辑决定是否记录用户标认识及相关信息,并决定是否返回应答消息及返回何种应答消息;在记录用户登录信息后,如果本单元不是顶级注册服务单元,根据本地目标注册服务器记录向注册服务装置转发的用户登录消息。
●系统终端设备收到成功应答消息后,将用户登录状态设为登录,
●第一基本注册服务单元2021收到用户登录消息后,根据逻辑决定是否记录用户标认识及相关信息,并决定是否返回应答消息及返回何种应答消息;在记录用户登录信息后,如果本单元不是顶级注册服务单元,根据本地目标注册服务器记录向注册服务装置转发的用户登录消息,
●顶级注册服务单元2011用户注册消息后,根据逻辑决定是否记录用户标认识及相关信息,并决定是否返回应答消息及返回何种应答消息;在记录用户登录信息后,如果本单元不是顶级注册服务单元,根据本地目标注册服务器记录向注册服务装置转发的用户登录消息。
另外,用户需要定期向注册服务装置发用户登录消息,以保证注册服务装置中的用户状态为在线状态。如果注册服务装置在特定期限内没有收到某个用户的用户登录消息,注册服务装置将该用户的状态设为非在线。如果系统终端设备移动,系统终端设备需要重新发用户登录消息。
图18为注册服务装置中的注册服务单元收到“用户登录消息”后的处理方法。
S3000:开始
S3001:等待接收数据分组
S3002:是否收到数据分组,如没有收到数据分组,转S3001,如收到数据分组,转S3003
S3003:提取数据分组中的消息;
S3004:判别是否为“用户登录消息”,如果不是,转S3005,如果是,转S3100
S3100:根据消息中的用户登录点判别该消息发送者是否为子注册服务器,如果是,转S3101,如果不是,转S3200;
S3101:以消息中的用户标识作为用户标识、以携带该消息的数据分组源地址和源端口为系统终端设备访问点、以本单元标识作为用户登录点,存储在用户登录信息记录表中,顺序执行S3300;
S3200:查找该用户是否在系统中注册,如没有注册,转S3290,如已经注册,转S3201,
S3201:根据携带消息的数据分组的源地址和消息中的用户使用的系统终端设备的网络地址判别该系统终端设备是否在NAT之后,如果不是,转S3202,如果是,转S3203;
S3202:将消息中的用户标识作为用户标识、将用户登录点作为用户登录点,存储在用户登录信息记录表中;
S3203:将消息中的用户标识作为用户标识、以携带该消息的数据分组源地址和源端口为系统终端设备访问点、以本单元标识作为用户登录点,存储在用户登录信息记录表中;
S3204:向消息发送者返回成功应答消息;
S3300:判别本单元是否为顶级注册服务器,如果是,转S3001,如果不是,转S3301;
S3301:使用本单元的标识代替收到消息的用户登录点生成新的用户注册消息;
S3302:根据本地目标注册服务器记录向注册服务装置发送新的用户登录消息,返回S3001
S3290:向消息发送者返回失败应答消息,返回S3001;
S3005:进行其它处理;
此外,当用户登录消息在注册服务单元间转发,本注册服务单元的子注册服务单元记录中存有下级网络中注册服务单元标识及NAT设备相关信息,因此在使用注册服务单元标识作为系统终端设备访问点时,可以映射到NAT设备上的网络地址和端口。
图19为用户通过系统终端设备向注册服务装置发用户登录信息。
S3800:开始
S3802:设定超时时间,设定终端为未登录状态;
S3803:根据本地目标注册服务装置的记录向注册服务装置发“用户登录消息”,
S3804:等待回复;
S3805:判断是否超时;如果是,转S3809,如果不是,转S3806
S3806:判断是否为成功消息,如果不是,转S3808,如果是,转S3807;
S3807:将终端状态设定为登陆;
S3809:结束
S3808:判断是否为失败消息,如果是,转S3809,如果不是,转S3804;
开发人员不难根据上述用户登录方式,结合用户注册的需要进行改进,用于完成用户注册、开户任务。
4.4被请求用户的用户登录点获取流程及方法
图13为主动请求用户通过注册服务系统获取被请求用户的用户登录点的过程,该过程是获取被请求用户的用户登录点的过程的例子。顶级注册服务单元2011配有公有网络网络地址,该地址及提供服务的端口在系统内为公知服务入口,或可通过系统定义的方法获得。第一NAT设备1010直接接入公有网络,为根NAT设备。第一基本注册服务单元2021部署在根NAT设备1010控制的网络中;第二NAT设备1020直接接入根NAT设备1010控制的网络,第二基本注册服务单元2031部署在第二NAT设备1020控制的网络中,系统终端设备6001部署在第二NAT设备1020控制的网络中;系统终端设备6001已经获得了注册服务装置的服务入口。第二NAT设备1020控制的网络中的联网主机、联网设备可以访问根NAT设备控制的网络中的联网主机、联网设备。NAT设备对经过的数据分组源或目的地址进行修改,该图中忽略NAT设备对数据分组修改的描述。
●系统终端设备6001根据本地存储的目标注册服务装器记录口向注册服务装置发“用户登录点查找请求消息”,消息中至少包括被请求用户标识、随机序号。
●第二注册服务单元2031收到“用户登录点查找请求消息”后,提取消息中的被请求用户标识,在用户登录信息记录表中查找,如果被请求用户标识在用户登录信息记录表中存在,向消息发送者返回包含被请求用户当前用户登录点的成功消息,消息中包括对应的原请求消息中的随机序号;如果被请求用户标识在用户登录信息记录表中不存在,且本服务节点不是顶 级注册服务单元,根据消息中的随机序号建立消息和消息发送者的映射关系,将该映射关系保存在消息缓存区中,根据本地注册服务器记录,向注册服务装置转发该“用户登录点查找请求消息”;
●第一注册服务单元2021收到“用户登录点查找请求消息”后,提取消息中的被请求用户标识,在用户登录信息记录表中查找,如果被请求用户标识在用户登录信息记录表中存在,向消息发送者返回包含被请求用户当前用户登录点的成功消息,消息中包括对应的原请求消息中的随机序号;如果被请求用户标识不在用户登录信息记录表中不存在,且本服务节点不是顶级注册服务单元,根据消息中的随机序号建立消息和消息发送者的映射关系,将该映射关系保存在消息缓存区中,根据本地注册服务器记录,向注册服务装置转发该“用户登录点查找请求消息”;
●顶级注册服务单元2011收到“用户登录点查找请求消息”后,提取消息中的被请求用户标识,在用户登录信息记录表中查找,如果被请求用户标识在用户登录信息记录表中存在,向消息发送者返回包含被请求用户当前用户登录点的成功消息,消息中包括对应的原请求消息中的随机序号;如果被请求用户标识不在用户登录信息记录表中不存在,且本服务节点是顶级注册服务单元,向消息发送者返回失败消息,消息中包括对应的原请求消息中的随机序号;
●第一注册服务单元2021收到应答消息后,根据应答消息中的随机序号找到对应的联接节点查找请求消息发送者,并向该发送者转发应答消息。
●第二注册服务单元2022收到应答消息后,根据应答消息中的随机序号找到对应的联接节点查找请求消息发送者,并向该发送者转发应答消息。
●系统终端设备6001收到应答消息后,如果为成功应答消息,则记录消息中的被请求用户的用户登录点;如果为失败应答消息,结束。
上述过程是查找满足条件的用户登录点的基本流程。开发人员不难根据具体应用中的需求,对上述流程进行扩展、变化,并在找到用户登录点后对后续执行流程进行改变。但不影响根据被请求用户标识查询用户登录点过程的本质。
图20为注册服务装置中的注册服务单元收到“用户登录点查找请求消息”后的处理方法
S4000:开始
S4001:等待接收数据分组
S4002:是否收到数据分组,如没有收到数据分组,转S4001,如收到数据分组,转S4003;
S4003:提取数据分组中的消息;
S4004:判别是否为“用户登录点查找请求消息”,如果不是,转S4005,如果是,转S4100;
S4100:提取消息中的随机序列;
S4101:在转发关系列表中查找相应的发送者,如果有,转S4106,如果没有,转S4102;
S4102:提出消息中被请求用户标识;
S4103:在用户登录信息记录表中查找被请求用户标识是否存在,如果是,转S4200,如果不是,转S4104;
S4104:判断本单元是否为顶级注册服务器,如果是,转S4107,如果不是,转S4105;
S4105:根据消息中的随机序列建立消息发送者同该消息的对应关系,并存储在转发关系表中;
S4106:根据本地目标注册服务器记录向注册服务装置转发“用户登录点查找请求消息”,并返回S4001;
S4107:向消息发送者返回失败消息,并返回S4001;;
S4200:向消息发送者返回成功消息,该消息中包括用户登录信息记录表中被请求用户的用户登录点,并返回S4001;
S4005:判别是否为“用户登录点查找请求消息”的应答消息,如果不是,转S4006,如果是,转S4300;
S4300:提取消息中的随机序列;
S4301:在转发关系列表中查找相应的发送者,如果有,转S4302,如果没有,转S4001;
S4302:向随机序列对应的消息发送者转发该应答消息,并删除转发关系列表中的相关项,并返回S4001;
图21为用户通过系统终端设备向注册服务装置查询用户登录点。
S4800:开始;
S4801:设定超时时间;
S4802:生成随机序号;
S4803:根据本地目标注册服务器的记录向注册服务装置发“用户登录点查找请求消息”,消息中包括随机序号;
S4804:等待回复;
S4805:判断是否超时,如果是,转S4806,如果不是,转S4810;
S4810:判断消息中的随机序号是否相同,如果不同,转S4804;
S4820:是否为成功消息,如果不是,转S4830,如果是,转S4821;
S4821:提取消息中的网络地址和端口;
S4822:结束
S4830:是否为失败,如果是,转S4822,如果不是,转S4804;
S4806:根据本地目标注册服务器的记录向注册服务装置发“用户登录点查找请求消息”,消息中包括随机序号,返回S4804。
5.基本消息格式
本发明的各基本消息格式如表2所示。
表2
消息名称 | 目的 | 消息基本内容 | 附加说明 |
服务单元 注册消息 | 向注册服务 装置注册 | 消息类型、网络 地址、端口、标 识、预制层级信 息 | |
广播消息 | 向注册服务 单元广播注 册服务装置 的服务入口 | 消息类型、播注 册服务装置的 服务入口 | |
服务入口 查询消息 | 查询注册服 务装置的服 务入口 | 消息类型 | |
用户注册 消息 | 添加用户 | 消息类型、用户 标识 | 在系统中加入一 个新用户 |
用户注册 消息查询 消息 | 查找用户是 否在系统中 开户 | 消息类型、用户 标识 |
[0329]
用户登录 消息 | 用户登录 | 消息类型、用户 标识、用户登录 点 | 用户登录点可以 是网络地址和端 口,或是可以转化 为网络地址和端 口的标识 |
用户登录 点查找请 求消息 | 查询被请求 用户响用户 登录点 | 消息类型、用户 标识、被请求用 户标识、随机序 号 | |
成功应答 消息 | 向消息发出 者返回成功 信息 | 消息类型标识, 该应答消息对 应的请求消息 类型 | 对于“用户登录点 查找请求消息”包 括用户登录点、随 机序号。 对于“服务入口查 询消息”包括网 络地址和端口。 其它请求的应答, 见相关算法要求 |
失败应答 消息 | 向消息发出 者返回失败 信息 | 消息类型标识, 该应答消息对 应的请求消息 类型 | |
重定向消 息 | 向消息发出 者返回包括 注册服务装 置的网络地 址和端口 | 消息类型标识, 对应答复的请 求消息类型 | 重定向消息为应 答消息的一种。对 于查询注册装置 服务入口的消息, 返回相应的网络 地址和端口。 其它请求的应答, 见相关算法要求 |
6.转发服务的获取方法
图22为带有转发模块的注册服务单元。该带有数据转发模块的注册服务单元是注册服务装置为用户提供转发服务的例子。数据转发服务单元2108用于在系统终端设备间转发数据。注册服务装置处理转发服务请求的流程如图23。系统终端设备提交的“转发服务请求”消息中至少包括:消息类型,随即序号,被请求者标识。
S5000:开始
S5001:等待接收数据分组
S5002:是否收到数据分组
S5003:提取数据分组中的消息
S5004:判别是否为“转发服务请求”,如果是,转S5100,如果不是,转S5005
S5005:进行其它处理
S5100:提取消息中的序号,在对应表中查找该序号是否存在,如果存在,转S5202,如果不存在,转S5101;
S5101:判断本服务单元是否有转发服务模块,如果有,转S5102,如果没有,转S5200;
S5102:判断被请求者标识是否在用户登录信息记录表中,如果是,转S5103,如果不是,转S5200;
S5103:根据被请求者信息为请求者分配一个可以向被请求者转发数据的网络地址和端口;
S5104:向消息发送者返回成功应答消息,消息中包括可以提供转发服务的网络地址和端口,返回S5001;
S5200:判断本单元是否为顶级服务单元,如果是,转S5203,如果不是,转S5201;
S5201:提取消息中的随机序号,并基于该序号同消息发送者建立转发对应关系,存贮在转发对应关系表中;
S5202:根据本地目标注册服务器记录,向注册服务装置转发“转发服务请求”,返回S5001;
S5203:向消息发送者返回失败应答消息,返回S5001;
应答消息的处理流程参见图20注册服务单元处理“用户登录点查找请求消息”的处理方法中的应答消息的处理流程。
Claims (23)
1.一种多层NAT环境下面向应用的名字注册系统,所述多层NAT环境具有公有网络和至少一个私有网络,所述私有网络通过地址转换单元接入公有网络或其它私有网络;所述面向应用的名字注册系统包括用于发送登录请求的系统终端设备和用于接收登录请求的注册服务单元,所述注册服务单元包括接入公有网络的顶层注册服务单元和接入私有网络的基本注册服务单元;所述注册服务单元用于接收系统终端设备的登录请求消息,并记录该系统终端设备的用户登录信息,该用户登录信息至少包括用户标识、用户使用的系统终端设备在所述注册服务单元接入的网络中的用户登录点和用户使用的系统终端设备在所述注册服务单元接入的网络中的系统终端设备访问点。
2.根据权利要求1所述的面向应用的名字注册系统,其特征在于,所述注册服务单元还用于根据所记录的所述用户登录信息进行查询,并在系统终端设备之间确定转发节点。
3.根据权利要求1所述的面向应用的名字注册系统,其特征在于,所述用户登录点为注册服务单元或系统终端设备的网络地址和端口,或可以被转化为注册服务单元或系统终端设备的网络地址和端口的标识。
4.根据权利要求2所述的面向应用的名字注册系统,其特征在于,所述查询是根据用户登录信息在被叫方所有用户登录点中查找出被叫方到主叫方NAT距离最短的用户登录点。
5.根据权利要求1所述的面向应用的名字注册系统,其特征在于,所述系统终端设备访问点为NAT设备的网络地址和端口,或可以被转换为NAT设备的网络地址和端口的标识。
6.根据权利要求1所述的面向应用的名字注册系统,其特征在于,所述顶层注册服务单元通过顶级服务总线接入公有网络,所述基本注册服务单元通过服务总线接入私有网络,所述顶层注册服务单元使用公有网络的网络地址进行编址,所述基本注册服务单元使用相连的私有网络的网络地址进行编址。
7.根据权利要求1所述的面向应用的名字注册系统,其特征在于,所述注册服务单元包括:注册服务逻辑控制单元、基本配置信息记录表、层级信息记录、目标注册服务器记录、子注册服务器记录表、用户登录信息记录表、用户注册信息记录表、消息缓存区和通信单元;
所述注册服务逻辑控制单元用于控制注册服务的执行;基本配置信息记录表用于记录本单元标识、本单元主机地址、本单元服务端口;层级信息记录用于记录层级信息;目标注册服务器记录用于记录祖先注册服务器的网络地址、端口;子注册服务器记录表用于记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址和端口;用户登录信息记录表用于记录用户标识、用户登录点和系统终端设备访问点;用户注册信息记录表用于记录用户开户信息;消息缓存区用于暂时保存接收到的数据分组中的信息及转发关系记录表;通信单元同顶级服务总线装置或服务总线装置联接,负责收发数据。
8.根据权利要求7所述的面向应用的名字注册系统,其特征在于,所述注册服务单元的各组成部分的相互作用关系如下:
注册服务逻辑控制单元根据执行需要从基本配置信息记录表读取本单元标识、本单元主机地址、本单元服务端口,从层级信息记录读取层级信息,从目标注册服务器记录读取祖先注册服务器的网络地址、端口,从子注册服务器记录表读取记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址和端口,从用户登录信息记录表读取用户标识、用户登录点、系统终端设备访问点,从用户注册信息记录表中读取用户标识;从消息缓存区读取暂时保存接收到的数据分组中的信息及转发关系,从通信单元读取收到的数据;同时,注册服务逻辑控制单元根据执行需要向基本配置信息记录表写入本单元标识、本单元主机地址、本单元服务端口,向目标注册服务器记录写入祖先登录服务器的网络地址、端口,向子注册服务器记录表写入记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址和端口,向用户登录信息记录表写入用户标识、用户登录点、及对应的系统终端设备访问点,向用户注册信息记录表中写入用户标识;向消息缓存区写入暂时保存接收到的数据分组中的信息,及转发关系,向通信单元写入需要发出的数据。
9.根据权利要求1所述的面向应用的名字注册系统,其特征在于,所述系统终端设备包括:终端设备控制单元、基本配置信息记录表、目标注册服务装置记录、消息缓存区和通信单元;所述终端设备控制单元用于控制终端设备的执行;基本配置信息记录表用于记录用户标示、本终端设备的网络地址和端口;目标注册服务装置记录用于记录注册服务装置的网络地址和端口;消息缓存区用于暂时存储收到或发出的消息;通信单元用于与公有网络或私有网络连接。
10.根据权利要求9所述的面向应用的名字注册系统,其特征在于,所述终端设备控制单元在基本配置信息记录表、目标注册服务装置记录和消息缓存区读写信息;终端设备控制单元还通过通信单元从网络收发数据。
11.利用权利要求1所述的多层NAT环境下面向应用的名字注册系统进行用户登录的方法,其特征在于,包括如下步骤:
1)系统终端设备获取基本注册服务单元的服务入口,该服务入口是网络地址和端口或者可以转化为网络地址和端口的标识;
2)系统终端设备根据服务入口向基本注册服务单元发送用户登录消息,所述用户登录消息携带用户登录信息;本步骤所述的用户登录信息至少包括用户标识和使用所述系统终端设备的网络地址和端口定义的用户登录点;
3)所述注册服务单元接收到用户登录消息后,执行下列子步骤3a)至3j):
3a)根据消息中的用户登录点判别该消息发送者是否为下层注册服务单元,如果是,转步骤3b),如果不是,转步骤3c);
3b)将消息中的用户标识作为用户标识、以携带消息的数据分组的源地址和源端口点作为系统终端设备访问点、将本单元标识作为用户登录点,存储在本单元的用户信息记录表中,转步骤3h);
3c)判断用户登录消息中包含的用户标识是否在系统中注册,当所述用户标识不在系统中注册时,转步骤3j),当所述用户标识已在系统中注册时,转步骤3d);
3d)根据携带消息的数据分组的源地址和消息中的系统终端设备的网络地址判别该用户终端是否在NAT之后,如果不是,转步骤3e),如果是,转步骤3f);
3e)将消息中的用户标识作为用户标识、将用户登录点作为用户登录点,存储在本单元的用户信息记录表中;转步骤3g);
3f)将消息中的用户标识作为用户标识、以携带消息的数据分组的源地址和源端口作为系统终端设备访问点、将本单元标识作为用户登录点,存储在本单元的用户信息记录表中;继续执行步骤3g);
3g)向消息发送者返回成功应答消息;继续执行步骤3h);
3h)判别本单元是否为顶级注册服务单元,如果不是,转步骤3i);如果是,注册过程结束,所述注册服务单元的本次操作结束;
3i)根据本地目标登录服务器记录向上层注册服务单元发送用户登录信息;所述注册服务单元的本次操作结束;
3j)向消息发送者返回失败应答消息,所述注册服务单元的本次操作结束;
4)所述上层注册服务单元收到用户登录消息后,重复步骤3)的操作,直至用户登录消息被转发至接入公有网络的顶层注册服务单元。
12.根据权利要求11所述的用户登录的方法,其特征在于,所述步骤2)中,所述用户登录点为网络地址和端口,或可以被转化为网络地址和端口的标识;所述步骤3)中,所述用户登录信息还包括用户登录点,所述用户登录点为网络地址和端口,或可以被转化为网络地址和端口的标识。
13.根据权利要求11所述的用户登录的方法,其特征在于,所述步骤3)中,所述注册服务单元在收到系统终端设备直接发来的用户登录消息后,向该系统终端设备返回应答消息。
14.根据权利要求11所述的用户登录的方法,其特征在于,在所述步骤1)前还要执行初始化步骤,所述初始化步骤是:首先启动接入公有网络的顶层注册服务单元,然后接入私有网络的基本注册服务单元逐层启动并向所述名字注册系统注册以加入名字注册系统。
15.根据权利要求11所述的用户登录的方法,其特征在于,所述步骤1)包括如下子步骤:
110)系统终端设备向名字注册系统公知的全局服务入口发送服务入口查询消息;
111)全局服务入口对应的注册服务单元判断是否能直接作为为该系统终端设备提供服务的服务入口,如果判断为是,则返回成功消息;如果判断为否,则向系统终端设备返回重定向消息,该重定向消息携带接入该全局服务入口对应的注册服务单元所属网络的下层网络的注册服务单元的服务入口;
112)系统终端设备向所述重定向消息提供的注册服务单元发送服务入口查询消息;
113)所述注册服务单元判断是否能直接作为为该系统终端设备提供服务的服务入口,如果判断为是,则返回成功消息;如果判断为否,则向系统终端设备返回重定向消息,该重定向消息携带接入当前注册服务单元所属网络的下层网络的注册服务单元的服务入口;
114)不断重复步骤112)和113),直至系统终端设备接收到成功消息,获得最终的服务入口。
16.根据权利要求15所述的用户登录的方法,其特征在于,所述步骤110)中,所述全局服务入口是顶层注册服务单元的网络地址和端口。
17.根据权利要求11所述的用户登录的方法,其特征在于,所述步骤1)包括如下子步骤:
120)注册服务单元在所属网络中广播包含本地登录服务入口的广播消息;
121)系统终端设备监听所述广播消息,得到服务入口。
18.根据权利要求17所述的用户登录的方法,其特征在于,所述步骤120)中,所述注册服务单元可通过注册服务单元代理发送所述广播消息。
19.根据权利要求11所述的用户登录的方法,其特征在于,在所述步骤3c)如下:
判别所述用户是否可以登录,如不可以登录,转步骤3i),如可以登录,转步骤3d)。
20.根据权利要求11所述的用户登录的方法,其特征在于,所述步骤3i)中,向上层注册服务单元发送用户登录消息的方法如下:
首先使用本注册服务单元的标识代替本地收到的用户登录消息中的用户登录点,生成新的用户登录消息,然后向上层注册服务单元发送所述新的用户登录消息。
21.根据权利要求11所述的用户登录的方法,其特征在于,还包括步骤5),该步骤5)如下:
所述注册服务单元根据所记录的所述用户登录信息进行查询,并在系统终端设备之间确定转发节点。
22.利用权利要求1所述的多层NAT环境下面向应用的名字注册系统进行用户登录点查询的方法,其特征在于,包括如下步骤:
50)系统终端设备向名字注册系统的服务入口发送用户登录点查找请求消息,该消息中至少包括被请求用户标识;
51)注册服务单元在本地的用户登录信息记录表中查找所述被请求用户的用户标识是否存在,如果存在,则返回被请求用户的用户登录点;如果不存在,则向接入当前注册服务单元所接入网络的上层网络的注册服务单元转发用户登录点查找请求消息;
52)接入上层网络的注册服务单元在本地的用户登录信息记录表中查找所述被请求用户标识是否存在,如果存在,则返回被请求用户的系统终端设备的用户登录点;如果不存在,则向接入当前注册服务单元所接入网络的上层网络的注册服务单元转发用户登录点查找请求消息;
53)重复步骤52),直至获得被请求系统终端设备的用户登录点;
54)当用户登录点查找请求消息转发至顶层注册服务单元后,仍未查找到所述被请求用户的用户标识,则返回失败应答消息。
23.利用权利要求1所述的多层NAT环境下面向应用的名字注册系统提供转发服务的方法,其特征在于,所述注册服务单元还包括数据转发模块,所述提供转发服务的方法包括如下步骤:
60)系统终端设备向名字注册系统的服务入口发送转发服务请求消息, 该消息中至少包括被请求用户标识;
61)注册服务单元在本地的用户登录信息记录表中查找所述被请求用户的用户标识是否存在,如果被请求用户的用户标识存在,判断本注册服务单元是否含有数据转发模块,如判断有数据转发模块,则为请求方用户分配并返回一个可以向被请求方用户转发数据的网络地址和端口;如果被请求用户的用户标识不存在,或没有数据转发模块,则向接入当前注册服务单元所接入网络的上层网络的注册服务单元转发所述转发服务请求消息;
62)接入上层网络的注册服务单元在本地的用户登录记录表中查找所述被请求用户标识是否存在,如果被请求用户的用户标识存在,判断本注册服务单元是否含有数据转发模块,如判断有数据转发模块,则为请求方用户分配并返回一个可以向被请求方用户转发数据的网络地址和端口;如果被请求用户的用户标识不存在,或没有数据转发模块,则向接入当前注册服务单元所接入网络的上层网络的注册服务单元转发所述转发服务请求消息;
63)重复步骤62),直至请求方用户获得可以向被请求方用户转发数据的网络地址和端口;
64)转发服务请求消息转发至顶层注册服务单元后,仍未查找到所述被请求用户的用户标识,或没有数据转发模块,则返回失败应答消息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101022784A CN101242421B (zh) | 2008-03-19 | 2008-03-19 | 多层nat环境下面向应用的名字注册系统及其服务方法 |
PCT/CN2009/000298 WO2009114995A1 (zh) | 2008-03-19 | 2009-03-19 | 多层nat环境下面向应用的名字注册系统及其服务方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101022784A CN101242421B (zh) | 2008-03-19 | 2008-03-19 | 多层nat环境下面向应用的名字注册系统及其服务方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101242421A CN101242421A (zh) | 2008-08-13 |
CN101242421B true CN101242421B (zh) | 2012-06-13 |
Family
ID=39933630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101022784A Expired - Fee Related CN101242421B (zh) | 2008-03-19 | 2008-03-19 | 多层nat环境下面向应用的名字注册系统及其服务方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101242421B (zh) |
WO (1) | WO2009114995A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242421B (zh) * | 2008-03-19 | 2012-06-13 | 中国科学院计算技术研究所 | 多层nat环境下面向应用的名字注册系统及其服务方法 |
CN101247408B (zh) * | 2008-03-20 | 2010-11-03 | 中国科学院计算技术研究所 | 多层nat网络中面向应用的名字注册系统及方法 |
JP5239618B2 (ja) * | 2008-08-19 | 2013-07-17 | 沖電気工業株式会社 | アドレス変換装置、方法及びプログラム、並びにノード |
CN102073503B (zh) * | 2011-01-19 | 2013-08-21 | 上海交通大学 | 基于情境感知的网构软件演化方法 |
CN103023805A (zh) * | 2012-11-22 | 2013-04-03 | 北京航空航天大学 | 一种MapReduce系统 |
CN106559509B (zh) * | 2015-09-30 | 2019-10-22 | 中国电信股份有限公司 | 登记服务器、cgn设备、服务提供系统及索引、转发方法 |
CN109561161B (zh) * | 2017-09-25 | 2020-05-26 | 中国科学院声学研究所 | 一种基于时空约束现场的名字注册及解析方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588922A (zh) * | 2004-09-28 | 2005-03-02 | 王安生 | Sip软交换系统中呼叫控制与媒体流穿越私网的方法 |
CN101064712A (zh) * | 2006-04-24 | 2007-10-31 | 维豪信息技术有限公司 | 一种基于Linux内核实现双通道穿越多级NAT和防火墙的系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4304593B2 (ja) * | 2002-11-01 | 2009-07-29 | ソニー株式会社 | 情報処理システム、情報処理装置および方法、並びにプログラム |
FR2853187B1 (fr) * | 2003-03-28 | 2006-01-13 | At & T Corp | Systeme permettant a toute application reseau de fonctionner de facon transparente a travers un dispositif de traduction d'adresse de reseau |
US7478169B2 (en) * | 2003-10-16 | 2009-01-13 | International Business Machines Corporation | Accessing data processing systems behind a NAT enabled network |
CN101098284A (zh) * | 2006-07-02 | 2008-01-02 | 冼剑光 | 实现网络无缝互连的方法 |
CN101242421B (zh) * | 2008-03-19 | 2012-06-13 | 中国科学院计算技术研究所 | 多层nat环境下面向应用的名字注册系统及其服务方法 |
-
2008
- 2008-03-19 CN CN2008101022784A patent/CN101242421B/zh not_active Expired - Fee Related
-
2009
- 2009-03-19 WO PCT/CN2009/000298 patent/WO2009114995A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588922A (zh) * | 2004-09-28 | 2005-03-02 | 王安生 | Sip软交换系统中呼叫控制与媒体流穿越私网的方法 |
CN101064712A (zh) * | 2006-04-24 | 2007-10-31 | 维豪信息技术有限公司 | 一种基于Linux内核实现双通道穿越多级NAT和防火墙的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101242421A (zh) | 2008-08-13 |
WO2009114995A1 (zh) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101242421B (zh) | 多层nat环境下面向应用的名字注册系统及其服务方法 | |
CN101447956B (zh) | 一种跨网闸的通信方法和通信系统 | |
JP3454931B2 (ja) | ネットワークシステム | |
CN101242413B (zh) | 同根多层nat网络中服务资源地址获取系统及方法 | |
CN106302842A (zh) | 一种域名解析方法、装置及系统 | |
CN101247408B (zh) | 多层nat网络中面向应用的名字注册系统及方法 | |
CN101795272B (zh) | 非法网站过滤方法及装置 | |
CN102833877B (zh) | 一种Wi-Fi共享方法及系统 | |
US8265084B2 (en) | Local network connecting system local network connecting method and mobile terminal | |
BRPI0612205A2 (pt) | sistema e método para utilização de um aplicativo com base na localização através de uma pluralidade de redes | |
CN106101300A (zh) | 通过私有域名系统控制访问自建服务器的方法 | |
CN102684969A (zh) | Vpn节点及其标识解析代理及方法、和vpn服务器 | |
CN102595340A (zh) | 一种联系人信息管理方法及其系统 | |
CN106296855A (zh) | 一种基于手机平台的移动考勤方法及其系统 | |
CN107786678A (zh) | 域名解析方法、装置及系统 | |
CN102932473A (zh) | 跨运营商网络访问网络内容的方法 | |
CN102801745B (zh) | 一种广域网浏览器访问局域网web网站的方法和系统 | |
CN106603556A (zh) | 单点登录方法、装置及系统 | |
WO2003009546A1 (es) | Sistema de nombramientos de dominios (dns) para acceso a bases de datos | |
CN104539752B (zh) | 多级域平台间的访问方法及系统 | |
CN102148882B (zh) | 部署nat后的动态域名解析方法及系统 | |
CN106101112A (zh) | 访问使用动态ip的私有设备的方法、系统及公网服务器 | |
CN101198102B (zh) | 一种终端接入网络的方法、装置和系统 | |
CN102299945A (zh) | 网关配置页面登录方法、系统及门户认证服务器 | |
CN112003771A (zh) | 一种实现lan侧终端智能接入网络的方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120613 Termination date: 20200319 |
|
CF01 | Termination of patent right due to non-payment of annual fee |