CN101247408A - 多层nat网络中面向应用的名字注册系统及方法 - Google Patents
多层nat网络中面向应用的名字注册系统及方法 Download PDFInfo
- Publication number
- CN101247408A CN101247408A CNA2008101023433A CN200810102343A CN101247408A CN 101247408 A CN101247408 A CN 101247408A CN A2008101023433 A CNA2008101023433 A CN A2008101023433A CN 200810102343 A CN200810102343 A CN 200810102343A CN 101247408 A CN101247408 A CN 101247408A
- Authority
- CN
- China
- Prior art keywords
- message
- network
- user
- registration
- registration service
- 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
- 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/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多层NAT环境下面向应用的名字注册系统、登录方法以及查询方法,所述多层NAT环境包括公有网络和至少一个私有网络,所述私有网络通过地址转换单元接入公有网络或其他私有网络;所述名字注册系统包括系统终端设备、呼叫代理服务器以及接入公有网络和至少一个私有网络的注册服务装置;通过应用本发明,在多层NAT网络环境中,使应用、服务、用户可以通过标识被定位。
Description
技术领域
本发明涉及计算机网络通信技术领域,更具体地,本发明涉及一种多层NAT网络中面向应用的名字注册系统及方法。
背景技术
众所周知由于IP地址地址空间有限以及分配上的不均匀,导致网络地址严重缺乏,从实际应用和部署上看,NAT(Network Address Translator)技术是解决IP地址不足情况下网民接入互联网的重要方法。随着个人信息设备的增多,网络接入设备的普及,网络技术的发展,越来越多的公司、团体和家庭希望将这些设备以网络的方式组织在一起,并接入互联网,而且出于安全的考虑,如何在网络上隐藏高安全等级的节点是很多公司面临的问题,在这种IP地址严重缺乏、设备组网互联需求迫切并且存在大量安全隐患的情况下,通过NAT技术形成的单级或者多层私网结构接入互联网在实际部署中已经越来越普遍和流行。
NAT设备为NAT下的私网地址提供地址翻译功能,使得私网内的主机可以透明地访问外部网络地址,而NAT下主机的私网地址在外部网络中是不可路由的,外部网络主机无法直接访问位于NAT下私网内的主机。因而,部署在私网内的大量服务比如Web服务、即时消息、ftp服务节点等无法直接被此私网所对应的外部网络所直接访问。
目前互联网上的服务一般都拥有全球统一IP地址,在NAT内,私网IP地址上的服务(如Web服务节、FTP服务节点)一般只在该私网内部可见,该私网外的其他主机域无法知道该私网内的服务并对其进行访问。而部署在NAT内私网IP上的对等通信服务(如即时消息、文件共享和媒体传输等),一般可以利用STUN[2]、TURN[3]、ICE[4]等RFC标准的协议,通过公网服务节点中继、NAT穿洞、反转联接等技术向Internet上主机提供服务。不难发现,这些实现方案都是跟具体应用紧密相关的,是作为一个功能模块内嵌在应用中,而且对于和该服务位于同根多层NAT下的主机节点而言,也要通过公网服务节点中继提供服务,这显然是不合理的。如何提供一种统一的解决办法,使得私网内的服务对其外部网络可见,做到与具体应用无关,并且为外部网络节点提供更为合理的访问途径,是现存的一个重要问题。
发明内容
为克服现有多层NAT网络环境中私网内服务对外部网络不可见的缺陷,本发明提出了一种多层NAT网络中面向应用的名字注册系统及方法。
根据本发明的第一方面,本发明提供了一种多层NAT环境下面向应用的名字注册系统,所述多层NAT环境包括公有网络和至少一个私有网络,所述私有网络通过地址转换单元接入公有网络或其它私有网络;所述名字注册系统包括系统终端设备、呼叫代理服务器以及接入公有网络和至少一个私有网络的注册服务装置;
其中,所述注册服务装置由接入公有网络和各私有网络的注册服务单元组成;所述注册服务单元用于接受系统终端设备的注册和登录请求,并记录所述系统终端设备的用户注册、登录信息,所述用户登录信息包括用户标识、用户使用的系统终端设备在所述注册服务单元接入的网络中的用户登录点和用户使用的系统终端设备在所述注册服务单元接入的网络中的系统终端设备访问点;
所述系统终端设备用于同注册服务装置、呼叫代理服务器交互信息,通过呼叫代理服务器向注册服务装置发送用户登录信息;所述系统终端设备可以识别SIP协议,使用SIP协议中定义的消息和实体传递用户登录消息;
所述呼叫代理服务器,包括与公网相连接的顶级呼叫代理服务器和与各私有网络相连接的呼叫代理服务器,用于转发SIP协议中规定的消息,可以根据注册服务实体或其它功能实体的指示转发消息,所述呼叫代理服务器可以从注册服务装置获取服务入口、向注册服务装置发送用户登录信息、向注册服务装置查询用户登录点。
其中,所述注册服务单元还用于根据记录的所述用户登录信息进行查询。
其中,所述用户登录点为注册服务单元或系统终端设备的网络地址和端口,或可以被转化为注册服务单元或系统终端设备的网络地址和端口的标识;所述系统终端设备访问点为NAT设备的网络地址和端口,或可以被转化为NAT设备的网络地址和端口的标识。
其中,所述查询是根据用户登录信息在被叫方所有用户登录点中查找出被叫方到主叫方NAT距离最短的用户登录点。
其中,所述注册服务单元包括接入公有网络的顶层注册服务单元和接入私有网络的基本注册服务单元。
其中,所述顶层注册服务单元通过顶级服务总线接入公有网络,所述基本注册服务单元通过服务总线接入私有网络,所述通过顶级服务总线接入公有网络的顶层注册服务单元使用公有网络的网络地址进行编址,所述通过服务总线接入私有网络的基本注册服务单元使用相连的私有网络的网络地址进行编址。
其中,所述注册服务单元包括:注册服务逻辑控制单元、基本配置信息记录表、层级信息记录表、目标注册服务器记录表、子注册服务单元记录表、用户注册信息记录表、用户登录信息记录表、消息缓存区和通信单元。
其中,所述注册服务逻辑控制单元用于控制注册服务的执行;所述基本配置信息记录表用于记录本单元标识、本单元主机地址和本单元服务端口;所述层级信息记录表用于记录层级信息;所述目标注册服务器记录表用于记录祖先注册服务器的网络地址和端口;所述子注册服务器记录表用于记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址和端口;所述用户注册信息记录表用于记录用户标识、用户注册表和系统终端设备访问点;所述用户登录信息记录表用于记录用户标识、用户登录表和系统终端设备访问点;所述消息缓存区用于暂时保存接收到的数据分组中的信息,转发关系记录表;所述通信单元同顶级服务总线装置或服务总线装置联接,负责收发数据;
其中,所述注册服务逻辑控制单元可以实现与所述基本配置信息记录表、所述层级信息记录表、所述目标注册服务器记录表、所述子注册服务器记录表、所述用户注册信息记录表、所述用户登录信息记录表、所述消息缓存区和所述通信单元的数据双向交互。
其中,所述注册服务单元包括服务单元代理,所述服务单元代理用于扩大被代理的注册服务单元的覆盖范围或用于向系统终端设备提供统一的服务入口;所述服务单元代理可以与被代理者部署于同一NAT设备控制的网络或公有网络,也可以部署在被代理者所属网络的直接下层网络中。
其中,所述服务单元代理可以广播被代理者的服务入口或在注册服务装置的请求者和被代理注册服务装置间转发消息。
其中,所述系统终端设备包括终端设备控制单元、基本配置信息记录表、目标注册服务器记录表、目标呼叫代理服务器记录表、消息缓存区和通信单元,基本配置信息记录表用于记录用户标识、本终端设备的网络地址、端口等信息;所述目标呼叫代理服务器记录表用于记录呼叫代理服务器的网络地址和端口,所述目标注册服务器记录表记录顶级注册服务器的全局服务入口;消息缓存区用于暂时存储收到或发出的消息;通信单元用于公有网络或私有网络连接,所述终端设备控制单元从基本配置信息记录表、目标注册服务器记录表、目标呼叫代理服务器记录表、消息缓存区读写信息,所述终端设备控制单元通过通信单元从网络收发数据。
其中,所述系统终端设备包括SIP协议处理单元,与所述终端设备控制单元交互信息,识别SIP消息。
其中,所述呼叫代理服务器可以参照所述系统终端设备获取所述注册服务装置的网络地址和端口的方式获取注册服务装置的网络地址和端口。
其中,所述呼叫代理服务器在获取注册服务装置的服务入口时,需要保证所述呼叫代理服务器和注册服务装置的服务入口对应的注册服务单元部署于同一个NAT设备控制的网络,或者注册服务装置的服务入口对应的注册服务单元位于所述呼叫代理服务器的直接上层。
其中,上层网络中的呼叫代理服务器作为本地呼叫代理服务器转发SIP消息的缺省目标,需要在本地呼叫代理服务器目标呼叫代理记录中保存上层网络中的呼叫代理服务器的网络地址、端口;同时在上层网络中的呼叫代理服务器在子呼叫代理记录中保存所述呼叫代理服务器的标识、网络地址、端口以及对应的NAT设备的网络地址和端口。
根据本发明的第二方面,本发明提供了一种利用所述的名字注册系统进行名字登录的方法,包括:
步骤10)、呼叫代理服务器获取用户登录点和系统终端设备访问点,生成“呼叫代理用户登录消息”,所述“呼叫代理用户登录消息”包括用户标识、用户登录点和系统终端设备访问点,所述呼叫代理服务器建立消息发送者和消息的对应关系;
步骤20)、根据本地保存的注册服务装置的服务入口,所述呼叫代理服务器向所述注册服务装置发送“呼叫代理用户登录消息”,并向上级呼叫代理服务器转发REGISTER消息,所述REGISTER消息包括用户标识;所述服务入口是网络地址和端口或者可以转化为网络地址和端口的标识;
步骤30)、所述注册服务装置接收到所述“呼叫代理用户登录消息”后,在本地用户信息存储表中创建新纪录,记录所述“呼叫代理用户登录消息”中的用户标识、用户登录点和系统终端设备访问点,返回成功注册消息;
步骤40)、所述呼叫代理服务器接收所述注册服务装置的应答消息,根据所述消息发送者和消息的对应关系,向所述消息发送者发送成功或者失败应答消息;
步骤50)、所述上级呼叫代理服务器收到所述REGISTER消息后,根据所述消息发送者和消息的对应关系,向消息发送者返回所述消息的成功或者失败应答消息,删除所述消息发送者和消息的对应关系。
其中,所述用户登录点为网络地址和端口,或可以被转化为网络地址和端口的标识;所述系统终端设备访问点为网络地址和端口,或可以被转化为网络地址和端口的标识。
其中,在步骤10)执行之前启动接入公有网络的顶层注册服务单元,然后接入私有网络的基本注册服务单元逐层启动,并向所述名字注册系统注册以加入名字注册系统。
其中,步骤10)进一步包括:
步骤110)、SIP协议中,当REGISTER消息中的Contact项为呼叫代理服务器时,本地呼叫代理服务器根据REGISTER消息中的用户标识,将所述本地呼叫代理服务器的网络地址和端口作为用户登录点,将携带所述REGISTER消息的数据分组的源地址和源端口作为系统终端设备访问点;
步骤120)、当REGISTER消息中的Contact项用于标识系统终端设备且所述REGISTER消息通过NAT设备时,将所述呼叫代理服务器的网络地址和端口作为用户登录点,将携带所述REGISTER消息的数据分组的源地址和源端口作为系统终端设备访问点;
步骤130)、当REGISTER消息中的Contact项用于标识系统终端设备且所述REGISTER消息通过没有NAT设备时,将所述Contact内容作为用户登录点;
步骤140)、当REGISTER消息中的Contact项不是呼叫代理服务器,也不用于标识系统终端设备,将所述Contact内容作为用户登录点。
其中,步骤20)进一步包括:如果所述REGISTER消息中的Contact项是呼叫代理服务器或者标识系统终端设备,则用所述呼叫代理服务器的网络地址和端口代理所述Contact项中的网络地址和端口。
其中,步骤30)进一步包括:当所述“呼叫代理用户登录消息”经过NAT设备,将本地用户信息存储表中的相对登录位置设定为跨层登录,将携带所述“呼叫代理用户登录消息”的源地址和端口作为新纪录的映射地址。
其中,步骤40)进一步包括:
步骤410)、如果所述呼叫代理服务器为顶级呼叫代理服务器,根据所述应答消息中的随机序号,按照所述REGISTER消息发送者和消息的对应关系,向所述REGISTER消息发送者发送成功、失败应答消息,删除所述消息发送者和消息的对应关系;
步骤420)、如果所述呼叫代理服务器不是顶级呼叫代理服务器并且所述注册服务装置发送的应答消息为登录成功消息,根据所述应答消息中的随机序号,将所述消息发送者和消息的对应关系设为已登录状态。
其中,步骤50)进一步包括:
步骤510)、当所述消息发送者和消息的对应关系为已登录状态时,向所述REGISTER消息发送者返回所述消息的应答消息,删除所述消息发送者和消息的对应关系;
步骤520)、当所述消息发送者和消息的对应关系为未登录状态时,向所述REGISTER消息发送者返回所述消息的失败应答消息,删除所述消息发送者和消息的对应关系。
根据本发明的第三方面,本发明提供了一种利用所述名字注册系统进行用户登录点查询方法,包括:
步骤10)、呼叫代理服务器向所述名字注册系统的服务入口发送“呼叫代理用户登录点查找请求消息”,所述消息包括目标用户标识;
步骤20)、注册服务单元收到所述“呼叫代理用户登录点查找请求消息”后,提取消息中的目标用户标识;
步骤30)、当所述目标用户标识不存在时,如果所述注册服务单元为顶级注册服务器,向请求消息发送者返回失败消息,如果所述注册服务单元不是顶级注册服务器,向请求消息发送者返回目标用户不存在消息;
步骤40)、当所述目标用户标识存在时,判别目标用户的用户登录点对应的网络地址是否和“呼叫代理用户登录点查找请求消息”发送者的网络地址属于同一NAT设备控制的网络或公有网络,如果不是,向请求消息发送者返回目标用户不存在消息;
步骤50)、当目标用户的用户登录点对应的网络地址和“呼叫代理用户登录点查找请求消息”发送者的网络地址属于同一NAT设备控制的网络或公有网络时,如果目标用户的用户登录点对应的网络地址属于请求消息发送者,则向请求消息发送者返回目标用户的系统终端设备访问点;如果目标用户的用户登录点对应的网络地址不属于请求消息发送者,向请求消息发送者返回目标用户的用户登录点;
所述方法进一步包括:步骤60)、呼叫代理服务器收到“呼叫代理用户登录点查找请求消息”的应答消息后,如果为失败,所述呼叫代理服务器按呼叫消息传递路径的反向,向系统终端设备返回失败消息;如果为目标用户不存在消息,则根据目标呼叫代理记录转发呼叫消息;如果收到应答消息中包含可转化为网络地址和端口的信息,向所述可转化的网络地址和端口转发SIP呼叫请求。
其中,步骤40)中,根据相对登录位置和映射地址,判别目标用户的用户登录点对应的网络地址是否和呼叫代理用户登录点查找请求消息发送者的网络地址属于同一NAT设备控制的网络或公有网络。
利用系统中保存的用户登录信息,在NAT设备控制的网络中,指导呼叫消息的传递。从而达到传递系统终端设备间连接请求的目的。通过应用本发明,在多层NAT网络环境中,使应用、服务、用户可以通过标识被定位。
附图说明
图1为同根多层NAT网络结构图;
图2为面向应用的名字注册系统结构图;
图3示出NAT设备联接矩阵1001的联接方式;
图4为注册服务装置的结构示意图;
图5为注册服务装置组建流程示意图;
图6为注册服务装置组建流程示意图;
图7为注册服务装置组建流程示意图;
图8为系统终端设备获得注册服务装置服务入口流程图;
图9为系统终端设备获得注册服务装置服务入口流程图;
图10为系统终端设备获得注册服务装置服务入口流程图;
图11用户使用的系统终端设备向注册服务装置发用户注册信息(用户开户信息)的过程;
图12用户使用的系统终端设备向注册服务装置发用户登录信息的过程;
图13为主动请求用户通过注册服务系统获取被请求用户的用户登录点示意图;
图14为注册服务单元收到“服务单元注册消息”后的处理流程图;
图15为注册服务单元向注册服务装置注册流程图;
图16为注册服务单元收到“服务入口查询消息”后的处理流程图;
图17系统终端设备获取注册服务装置网络地址和端口的流程图;
图18为注册服务单元收到“用户登录消息”后的处理流程图;
图19用户通过系统终端设备向注册服务装置发用户登录信息流程图;
图20为注册服务单元收到“用户登录点查找请求消息”后的处理流程图;
图21用户通过系统终端设备向注册服务装置查询用户登录点流程图;
图22为注册服务单元中数据存储表;
图23为Proxy中用户登录信息转发对应表;
图24为Proxy向注册服务装置发呼叫代理用户登录消息流程图;
图25为注册服务单元中用户信息存储表的结构图;
图26为注册服务装置处理“呼叫代理用户登录消息”的流程图;
图27为Proxy处理注册服务装置和REGISTER消息的应答消息的流程图;
图28为注册服务单元处理“呼叫代理用户登录点查找请求消息”流程图。
具体实施方式
下面结合附图和具体实施例,对本发明提供的一种多层NAT网络中面向应用的名字注册系统及方法作进一步说明。
1、同根多层NAT网络
图1所示为同根多层NAT网络结构示意图,一个私有网络4-1通过NAT设备1001接入公有网络3,一个私有网络4-2通过另一NAT设备1002接入私有网络4-1。通过NAT设备1001接入公有网络3的私有网络为该NAT设备控制的网络,通过NAT设备1002接入私有网络4-1的私有网络4-2为该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设备控制的网络中,另一方在公有网络中;(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设备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、呼叫代理(PROXY)服务器和服务器系统终端设备6001。注册服务装置2001用于记录用户注册(开户)信息、用户登录信息,提供用户注册信息及用户登录信息查询;用户使用系统终端设备6001向注册服务装置2001注册用户信息,登录系统、查询用户注册信息、查询用户登录信息。本发明不仅可用于NAT设备组建的网络环境,还可以用于有地址转换功能的其它设备组建的网络换环境。
系统终端设备至少包括如下:终端设备控制单元、基本配置信息记录表、目标注册服务装置记录表、消息缓存区、通信单元等功能模块。终端设备控制单元用于控制终端设备的执行;基本配置信息记录表用于记录用户标识、本终端设备的网络地址、端口等信息;目标注册服务装置记录表用于记录注册服务装置的网络地址和端口;消息缓存区用于暂时存储收到或发出的消息;通信单元用于公有网络或私有网络连接。
系统终端设备至少用于同注册服务装置交互信息:从注册服务装置获取服务入口;向注册服务装置发送用户注册消息。在系统终端设备中,终端设备控制单元从基本配置信息记录表、目标注册服务装置记录、消息缓存区读写信息。终端设备控制单元通过通信单元等功能模块从网络收发数据。
根据多层NAT网络的特点,注册服务装置2001记录用户登录信息内容为:用户标识、用户在或映射到公有网络及相关私有网络中的用户登录点、用户映射到公有网络及相关私有网络中的系统终端设备访问点。同时,注册服务装置2001可以根据系统记录的用户登录信息,帮助主动请求用户在被请求用户的所有用户登录点中确定到请求用户当前通讯设备NAT路径最短的用户登录点。用户登录点:当用户位于公有网络或NAT设备控制的网络中时,用户在该网络中的用户登录点为用户使用的系统终端设备的网络地址和端口;当用户位于NAT设备控制的网络中时,用户在该NAT设备控制的网络的上层网络中的用户登录点为接入公有网络或NAT设备控制的网络的服务单元用于接收用户登录请求消息的网络地址和端口,或可以转化为接收用户登录请求消息的网络地址和端口的服务单元的标识。系统终端设备访问点:该访问点位于NAT设备上,当用户登录消息穿过NAT设备时产生。该访问点有两种表示方式:1)NAT设备的网络地址和端口;2)可以计算得到或被转换为NAT设备的网络地址和端口的标识。
根据RFC3261及相关协议的规定,Proxy实体首先用于接收、转发协议中规定的各种消息,例如INVITE,ACK等;其次Proxy在转发消息的过程中需要根据注册服务实体、或其它功能实体的指导转发消息。在实践中,为了提供Proxy转发消息的效率,可以为Proxy定义缺省转发消息对象。我们可以将实际系统中提供Proxy功能的装置称为Proxy服务器、或呼叫服务器。根据需要Proxy服务器部署于公有网络和NAT设备控制的网络。
为了使便于注册服务装置同Proxy服务器交互信息,Proxy服务器除实现RFC3261定义的功能外,还需要实现以下功能:
1)Proxy(呼叫代理)服务器可以参照系统终端设备获取注册服务装置的网络地址和端口的方式获取注册服务装置的网络地址和端口。Proxy在获取注册服务装置的网络地址和端口时,需要保证该Proxy和注册服务单元属于同一个NAT设备控制的网络,或注册服务单元位于Proxy的直接上层。注册服务装置的服务入口保存在Proxy服务器本地目标注册服务器记录中。
2)作为Proxy转发消息的缺省目标,Proxy需要知道上层网络中的Proxy,并在本地保存为目标Proxy记录中,保存内容包括:网络地址、端口;同时上层Proxy需要知道直接下层网络中的Proxy,并保存在子Proxy记录中,保存内容为:Proxy标识、网络地址、端口、对应的NAT设备的网络地址和端口。部署在公有网络上的Proxy服务器为顶级Proxy服务器。
3)、下表为Proxy服务器中用户登录信息转发对应表,
随机序号 | 网络地址 | 端口 | 应答状态位 |
Dhlkald88899 | 10.10.10.100 | 5000 | 0 |
该表包括随机序号、网络地址、端口、应答状态位,随机序号用于区别REGISTER消息,应答状态位用于表示收到注册服务装置的答复,当该位为0时表示没有收到答复;当该位非0时表示收到答复,例如设为1,应答状态位缺省为0。
为了使系统终端设备可以识别SIP消息,系统终端设备需要添加SIP协议处理单元,该单元可以和终端设备控制单元交互信息。系统终端设备需要添加目标Proxy服务器记录用于记录呼叫代理服务器。终端设备控制单元可以读写目标Proxy服务器记录。
为了方便注册及登录流程的叙说,首先忽略Proxy服务器,主要描述名字注册服装置的基本组成,名字注册服装置如何同系统终端设备交互信息,完成用户注册和登录等基本任务,及相关方法。其次,在名字注册服装置的基础上加入Proxy服务器,使该系统不仅用于完成用户注册和登录,还可以为呼叫系统提供服务;以及Proxy服务器、名字注册服装置、系统终端设备等的相应调整。
如图2所示,注册服务装置2001至少用于记录用户注册信息、用户登录信息,提供用户注册信息及用户登录信息查询,注册服务装置服务入口查询等;顶级服务总线1用于将注册服务装置接入公有网络3;服务总线2用于将注册服务装置接入私有网络4。注册服务装置2001通过顶级服务总线1同公有网络3相连;通过服务总线2同私有网络4相连。
公有网络3和私有网络4通过NAT设备联接矩阵1001联接在一起。用户终端设备6001和服务装置2001同公有网络3、私有网络4相连。
图3所示NAT设备联接矩阵1001的联接方式。NAT设备联接矩阵1001内NAT设备间的关系由与NAT设备联接矩阵1001联接的私有网络和公有网络决定。私有网络和公有网络同NAT设备的联接规则为:NAT设备联接矩阵1001至少有一条接入公有网络的线路5;每个私有网络至少有一条接入NAT设备联接矩阵1001的线路6;每个私有网络可以没有,也可以有多条由NAT设备联接矩阵1001向该私有网络接入的线路7。以图3的a所示该的三级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设备的网络地址和端口,见图22表a;用户登录信息纪录表2105用于记录用户标识、用户登录点、系统终端设备访问点,见图22表b;用户注册信息记录表2106至少记录开户用户的用户标识等开户信息;消息缓存区2109用于暂时保存接收到的数据分组中的信息及转发关系纪录表,见图22表c,通信单元2110同顶级服务总线装置或服务总线装置联接、负责收发数据。
注册服务逻辑控制单元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设备1020控制的网络到公有网络的最短距离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向注册服务装置10请求局部服务入口的流程图。该流程图是系统终端设备获得注册服务装置服务入口的例子。顶级注册服务单元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收到重定向应答消息后,根据消息中包含的注册服务装置的服务入口,向注册服务装置发“服务入口查询消息”;
●第二基本注册服务单元2021收到“服务入口查询消息”后,根据逻辑判断是否能够执行,如果能够执行返回成功消息,如果不能执行,判断是否可以重定向到子注册服务单元,如果可以,返回重定向消息,本实施例中返回成功应答消息。
●系统终端设备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、基本消息格式
消息名称 | 目的 | 消息基本内容 | 附加说明 |
服务单元注册消息 | 向注册服务装置注册 | 消息类型、网络地址、端口、标识、预制层级信息 | |
广播消息 | 向注册服务单元广播注册服务装置的服务入口 | 消息类型、播注册服务装置的服务入口 | |
服务入口查询消息 | 查询注册服务装置的服务入口 | 消息类型、 | |
用户注册消息 | 添加用户 | 消息类型、用户标识 | 在系统中加入一个新用户 |
用户注册消息查询消息 | 查找用户是否在系统中开户 | 消息类型、用户标识 |
用户登录消息 | 用户登录 | 消息类型、用户标识、用户登录点, | 用户登录点可以是网络地址和端口,或是可以转化为网络地址和端口的标识 |
用户登录点查找请求消息 | 查询被请求用户的用户登录点 | 消息类型、用户标识、被请求用户标识、随机序号 | |
成功应答消息 | 向消息发出者返回成功信息, | 消息类型标识,该应答消息对应的请求消息类型。 | 对于“用户登录点查找请求消息”包括用户登录点、随机序号。对于“服务入口查询消息”包括网络地址和端口。其它请求的应答,见相关算法要求 |
失败应答消息 | 向消息发出者返回失败信息 | 消息类型标识,该应答消息对应的请求消息类型。 | |
重定向消息 | 向消息发出者返回包括注册服务装置的网络地址和端口 | 消息类型标识,对应答复的请求消息类型、 | 重定向消息为应答消息的一种。对于查询注册装置服务入口的消息,返回相应的网络地址和端口其它请求的应答,见相关算法要求 |
6、基于会话协议对注册服务系统的改进
在多层NAT网络中,由于NAT设备的存在,终端间不能直接相互访问,以会话启动协议/会话初始化协议(Session Initiation Protocol,SIP)为代表的呼叫系统,使用信令的方式在终端间传递通讯请求。这种呼叫和数据传输相分离的通讯模式,可以有效的解决了多层NAT网络中终端间数据通讯的问题。下面以SIP协议为基础,说明注册服务装置如何为呼叫系统提供服务。
为了便于呼叫系统在系统终端设备间传递呼叫请求,系统终端设备使用SIP协议中定义的消息和实体传递用户登录消息,如使用REGISTER消息代替用户登录消息。根据用户登录信息及注册服务装置的需求,Proxy负责提取REGISTER消息中的相关信息,并向注册服务装置发送相关信息,同时负责更新REGISTER消息的内容。注册服务装置仅负责存储用户登录信息,不再直接接收系统终端设备发的用户登录消息、用户登录点查找请求消息,也不再转发用户登录消息、用户登录点查找请求消息。原“用户登录消息”的:用户标识、用户登录点等,对应于REGISTER消息中的From,Contact。系统终端设备获取Proxy网络地址和端口的方式由Proxy服务器构成的呼叫系统决定,可以参考系统终端设备获取注册服务装置的方法。在以SIP协议为基础的系统中,与用户登录点相关的服务单元为Proxy服务器。
具有SIP模块的系统终端设备获得Proxy服务器的网络地址和端口的方法由由Proxy服务器组成的呼叫系统决定。Proxy服务器的网络地址和端口存储在系统终端设备的目标Proxy服务器记录中。系统终端设备的目标注册服务器记录用于记录顶级注册服务装置的全局服务入口,用于按上述注册流程完成注册。根据全局服务入口系统终端设备按上述注册流程完成注册。系统终端设备定期向Proxy发送REGISTER消息。
图23为Proxy中用户登录注册信息转发对应表。该表包括随机序号、网络地址、端口、应答状态位。随机序号用于区别REGISTER消息。应答状态位用于表示收到注册服务装置的答复。当该位为0时表示没有收到答复;当该位非0时表示收到答复,例如设为1,应答状态位缺省为0。
收到REGISTER消息的Proxy服务器按图24的流程生成“呼叫代理用户登录消息”、更新REGISTER消息,并向注册服务装置提交登录信息。注册服务装置收到“呼叫代理用户登录消息”将注册消息中的内容存入用户信息记录表中。“呼叫代理用户登录消息”包括用户标识、用户登录点、系统终端设备访问点等信息。
S6000:开始;
S6001:等待消息;
S6002:是否为REGISTER消息,如果是,转S6100,如果不是,转S6003;
S6003:其它处理,并返回S6001;
S6100:判别消息中的Contact项是否为子Proxy服务器,如果是,转
S6101,如果不是,转S6200;
S6101:以REGSITER消息中的From的内容作为用户标识,并以本Proxy的网络地址和端口作为用户登录点;以携带REGISTER消息的数据分组的源地址和源端口作为系统终端设备访问点生成“呼叫代理用户登录消息”,顺序执行S6304;
S6200:判别消息中的Contact项是否用于标识系统终端设备的网络地址和端口,如果是,转S6300,如果不是,转S6303;
S6300:判断该REGISTER注册消息是否通过NAT设备,如果是转S6301,如果不是,转S6303;
S6301:提取携带该消息的数据分组的源地址和端口;
S6302:以REGISTER消息中的From的内容作为用户标识,并以本Proxy的网络地址和端口作为用户登录点;以得到的源地址和源端口作为系统终端设备访问点生成“呼叫代理用户登录消息”,顺序执行S6304;
S6303:以REGISTER消息中的From的内容作为用户标识,并以Contact内容作为用户登录点生成“呼叫代理用户登录消息”,顺序执行S6304;
S6304:根据消息中的随机序号建立发送者和消息的对应关系,并存入“用户登录信息转发对应表”,将应答状态位为“0”,暂存该REGISTER消息;
S6305:根据本地保存注册服务装置的服务入口,向注册服务发送“呼叫代理用户注册消息”;
S6400:判断本服务器是否为顶级Proxy服务器,如果是,转S6001,如果不是,转S6306;
S6306:判断消息中的Contact项是否用于标识系统终端设备或为子Proxy服务器,如果是,转S6307,如果不是,转S6308;
S6307:用本Proxy的标识或网络地址和端口替代Contact中的内容生成新REGISTER;
S6308:向上级Proxy转发新生成的REGISTER消息,并返回S6001。
由于REGISTER消息在Proxy间转发,本Proxy的子Proxy记录中存有下级网络中Proxy标识及NAT设备相关信息,因此在使用Proxy标识作为系统终端设备访问点时,可以映射到NAT设备上的网络地址和端口。
图25示出注册服务单元中用户登录信息存储表的结构。为了适应Proxy服务器,该结构在原有结构上进行了扩展。该结构包括用户标识、用户登录点、系统终端设备访问点、相对登录位置、映射地址等信息。相对登录位置表示用户登录点和注册服务单元的网络地址是否属于同一NAT设备控制的网络或公有网络,跨层注册可以用1表示、同层注册可以用0表示,缺省值为0;映射地址:为“呼叫代理用户登录消息”消息穿过NAT设备时,NAT设备的网络地址和端口。当同层注册时映射地址为空。系统终端设备访问点也可以为空。图26为注册服务装置处理“呼叫代理用户登录消息”的流程图。
S7000:开始;
S7001:等待接收数据分组;
S7002:是否收到数据分组,如果是,转S7003,如果不是,转S7001;
S7003:提取数据分组中的消息;
S7004:判别是否为“呼叫代理用户登录消息”,如果是,转S7006,如果不是,转S7005;
S7006:在用户信息存储表中创建一个新记录;
S7010:判断该消息是否经过NAT设备,(如通过用户登录点的网络地址和携带请求消息的数据分组的源地址是否相等,判断是否经过NAT设备),如果是,转S7011,如果不是,转S7013;
S7011:将该记录的相对登录位置设为跨层登录;
S7012:用携带消息的数据分组的源地址和端口填写该记录的映射地址,顺序执行S7013;
S7013:根据消息中的用户标识、用户登录点、系统终端设备访问点等信息填写该记录的相关项,同时返回成功消息,表示登录成功,并返回S7001;
S7005:进行其它处理,并返回S7001;
从逻辑上注册服务单元收到“呼叫代理用户登录消息”将相关信息存入用户登录信息记录表,不存在失败问题。但在实际中有引起失败的各种原因,如记录介质满、并发数量大等系统问题。所以在处理应答消息的一方要处理注册服务单元可能返回的错误应答消息。
Proxy服务器按图27的流程处理注册服务装置返回的应答消息和REGISTER消息的应答消息。
S6500:开始;
S6501:等待消息;
S6600:是否为“呼叫代理用户登录消息”应答消息,如果是,转S6610,如果不是,转S6800;
S6610:判断本Proxy服务器是否为顶级Proxy服务器(或应答消息发出者是否为顶级注册服务单元,例如可以通过公有网络地址判断),如果是,转S6620,如果不是,转S6611;
S6620:判别是否为成功消息,如果是,转S6621,如果不是,转S6622;
S6621:根据消息中的随机序号,找到“用户登录消息转发对应表”中的相关项,并根据相关REGISTER消息内容生成相关REGISTER消息的成功应答消息,顺序执行S6623;
S6622:根据消息中的随机序号,找到“用户登录消息转发对应表”中的相关项,并根据相关REGISTER消息内容生成相关REGISTER消息的失败应答消息,顺序执行S6623;
S6623;向该REGISTER消息发送者返回该REGISTER消息的应答消息;
S6624;从“用户登录消息转发对应表”中删除相关项及暂存的相应REGISTER消息,返回S6501;
S6611:判别是否为成功应答消息。如果是,转S6612,如果不是,转S6501;
S6612:根据消息中的随机序号,找到“用户登录消息转发对应表”中的相关项,并将应答状态位设为已收到注册服务装置的应答消息,例如为1,返回S6501;
S6800:是否为REGISTER消息的应答消息,如果是,转S6801,如果不是,转S6900;
S6801:根据消息中的随机序号,找到“用户登录消息转发对应表”中的相关项;
S6802:判别“用户登录消息转发对应表”中的相关项的应答状态位是否表示已收到注册服务装置的成功应答,如果不是,转S6803,如果是,转S6805;
S6803:根据消息中的随机序号,找到“用户登录消息转发对应表”中的相关项,并根据相关内容生成相关REGISTER消息的失败应答消息;
S6804:向该REGISTER消息发送者返回该REGISTER消息的应答消息,顺序执行S6806;
S6805:向该REGISTER消息发送者返回该REGISTER消息的应答消息,顺序执行S6806;
S6806:从“用户登录消息转发对应表”中删除相关项,及相关暂存的REGISTER消息,返回S6501;
S6900:进行其它处理后,返回S6501。
Proxy向注册服务装置请求如何转发呼叫消息(例如:SIP协议的INVITE消息)。Proxy向注册服务装置发“呼叫代理用户登录点查找请求消息”。Proxy根据收到注册服务装置答复信息转发呼叫消息。在Proxy间转发呼叫消息时,要强迫相应的反馈消息按转发请求消息的原路径返回。“呼叫代理用户登录点查找请求消息”至少包括目标用户标识、Proxy的网络地址。当Proxy间传递请求消息(例如:SIP协议的INVITE消息)时,该目标用户标识为被叫方用户标识,当Proxy间传递反馈消息时(例如:SIP协议的200消息),该目标用户标识为主叫方用户标识。
图28为注册服务单元处理“呼叫代理用户登录点查找请求消息”的流程。
S8000:开始
S8001:等待接收数据分组;
S8002:是否收到数据分组,如果收到,转S8003,如果没有收到,转S8001;
S8003:提取数据分组中的消息;
S8004:判别是否为“呼叫代理用户登录点查找请求消息”,如果是,转S8102,如果不是,转S8006;
S8102:提出消息中目标用户标识;
S8103:在用户信息表中查找判断目标用户标识是否存在,如果存在,转S8200,如果不存在,转S8104;
S8104:判断本服务器是否为顶级注册服务器,如果是,转S8107,如果不是,转S8105;
S8105:向请求消息发送者返回目标用户标识不存在的消息,并返回S8001;
S8107:向请求消息发送者返回失败消息,并返回S8001;
S8200:根据相对注册位置和映射地址,判别目标用户的用户登录点对应的网络地址是否和“呼叫代理用户登录点查找请求消息”发送者的网络地址属于同一NAT设备控制的网络或公有网络,如果是,转S8201,如果不是,转S8202;
S8201:判别目标用户的用户登录点对应的网络地址是否属于请求消息发送者,如果是,转S8203,如果不是,转S8204;
S8203:向请求消息发送者返回目标用户的系统终端设备访问点,并返回S8001;
S8204:向请求消息发送者返回目标用户的用户登录点,并返回S8001;
S8202:向请求消息发送者返回目标用户标识不存在的消息,并返回S8001;
Proxy收到“呼叫代理用户登录点查找请求消息”的应答消息后,如果为失败,Proxy按呼叫消息传递路径的反向,向系统终端设备返回失败消息;如果为目标用户不存在,则根据目标Proxy转发呼叫消息;如果收到应答消息中包含可转化为网络地址和端口的信息,向该网络地址和端口转发呼叫消息。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非对其限制,并且在应用上可以延伸到其他的修改、变化、应用和实施例,同时认为所有这样的修改、变化、应用、实施例都在本发明的精神和范围内。
Claims (26)
1、一种多层NAT环境下面向应用的名字注册系统,所述多层NAT环境包括公有网络和至少一个私有网络,所述私有网络通过地址转换单元接入公有网络或其它私有网络;所述名字注册系统包括系统终端设备、呼叫代理服务器以及接入公有网络和至少一个私有网络的注册服务装置;
其中,所述注册服务装置由接入公有网络和各私有网络的注册服务单元组成;所述注册服务单元用于接受系统终端设备的注册和登录请求,并记录所述系统终端设备的用户注册、登录信息,所述用户登录信息包括用户标识、用户使用的系统终端设备在所述注册服务单元接入的网络中的用户登录点和用户使用的系统终端设备在所述注册服务单元接入的网络中的系统终端设备访问点;
所述系统终端设备用于同注册服务装置、呼叫代理服务器交互信息,通过呼叫代理服务器向注册服务装置发送用户登录信息;所述系统终端设备用于识别SIP协议,使用SIP协议中定义的消息和实体传递用户登录消息;
所述呼叫代理服务器,包括与公网相连接的顶级呼叫代理服务器和与各私有网络相连接的呼叫代理服务器,用于转发SIP协议中规定的消息,根据注册服务实体或其它功能实体的指示转发消息,所述呼叫代理服务器从注册服务装置获取服务入口、用于向注册服务装置发送用户登录信息、向注册服务装置查询用户登录点。
2、根据权利要求1所述的名字注册系统,其中,所述注册服务单元还用于根据记录的所述用户登录信息进行查询。
3、根据权利要求1所述的名字注册系统,其中,所述用户登录点为注册服务单元或系统终端设备的网络地址和端口,或被转化为注册服务单元或系统终端设备的网络地址和端口的标识;所述系统终端设备访问点为NAT设备的网络地址和端口,或被转化为NAT设备的网络地址和端口的标识。
4、根据权利要求2所述的名字注册系统,其中,所述查询是根据用户登录信息在被叫方所有用户登录点中查找出被叫方到主叫方NAT距离最短的用户登录点。
5、根据权利要求1所述的名字注册系统,其中,所述注册服务单元包括接入公有网络的顶层注册服务单元和接入私有网络的基本注册服务单元。
6、根据权利要求5所述的名字注册系统,其中,所述顶层注册服务单元通过顶级服务总线接入公有网络,所述基本注册服务单元通过服务总线接入私有网络,所述通过顶级服务总线接入公有网络的顶层注册服务单元使用公有网络的网络地址进行编址,所述通过服务总线接入私有网络的基本注册服务单元使用相连的私有网络的网络地址进行编址。
7、根据权利要求1所述的名字注册系统,其中,所述注册服务单元包括:注册服务逻辑控制单元、基本配置信息记录表、层级信息记录表、目标注册服务器记录表、子注册服务单元记录表、用户注册信息记录表、用户登录信息记录表、消息缓存区和通信单元。
8、根据权利要求7所述的名字注册系统,其中,所述注册服务逻辑控制单元用于控制注册服务的执行;所述基本配置信息记录表用于记录本单元标识、本单元主机地址和本单元服务端口;所述层级信息记录表用于记录层级信息;所述目标注册服务器记录表用于记录祖先注册服务器的网络地址和端口;所述子注册服务器记录表用于记录子注册服务单元的网络地址、端口、标识及对应的NAT设备的网络地址和端口;所述用户注册信息记录表用于记录用户标识、用户注册表和系统终端设备访问点;所述用户登录信息记录表用于记录用户标识、用户登录表和系统终端设备访问点;所述消息缓存区用于暂时保存接收到的数据分组中的信息,转发关系记录表;所述通信单元同顶级服务总线装置或服务总线装置联接,负责收发数据;
其中,所述注册服务逻辑控制单元用于实现与所述基本配置信息记录表、所述层级信息记录表、所述目标注册服务器记录表、所述子注册服务器记录表、所述用户注册信息记录表、所述用户登录信息记录表、所述消息缓存区和所述通信单元的数据双向交互。
9、根据权利要求1所述的名字注册系统,其中,所述注册服务单元包括服务单元代理,所述服务单元代理用于扩大被代理的注册服务单元的覆盖范围或用于向系统终端设备提供统一的服务入口;所述服务单元代理可以与被代理者部署于同一NAT设备控制的网络或公有网络,也可以部署在被代理者所属网络的直接下层网络中。
10、根据权利要求9所述的名字注册系统,其中,所述服务单元代理用于广播被代理者的服务入口或在注册服务装置的请求者和被代理注册服务装置间转发消息。
11、根据权利要求1所述的名字注册系统,其中,所述系统终端设备包括终端设备控制单元、基本配置信息记录表、目标注册服务器记录表、目标呼叫代理服务器记录表、消息缓存区和通信单元,基本配置信息记录表用于记录用户标识、本终端设备的网络地址、端口等信息;所述目标呼叫代理服务器记录表用于记录呼叫代理服务器的网络地址和端口,所述目标注册服务器记录表、记录顶级注册服务器的全局服务入口;消息缓存区用于暂时存储收到或发出的消息;通信单元用于公有网络或私有网络连接,所述终端设备控制单元从基本配置信息记录表、目标注册服务器记录表、目标呼叫代理服务器记录表、消息缓存区读写信息,所述终端设备控制单元通过通信单元从网络收发数据。
12、根据权利要求11所述的名字注册系统,其中,所述系统终端设备包括SIP协议处理单元,与所述终端设备控制单元交互信息,识别SIP消息。
13、根据权利要求1所述的名字注册系统,其中,所述呼叫代理服务器用于参照所述系统终端设备获取所述注册服务装置的网络地址和端口的方式获取注册服务装置的网络地址和端口。
14、根据权利要求1所述的名字注册系统,其中,所述呼叫代理服务器在获取注册服务装置的服务入口时,需要保证所述呼叫代理服务器和注册服务装置的服务入口对应的注册服务单元部署于同一个NAT设备控制的网络,或者注册服务装置的服务入口对应的注册服务单元位于所述呼叫代理服务器的直接上层。
15、根据权利要求14所述的名字注册系统,其中,上层网络中的呼叫代理服务器作为本地呼叫代理服务器转发SIP消息的缺省目标,需要在本地呼叫代理服务器目标呼叫代理记录中保存上层网络中的呼叫代理服务器的网络地址、端口;同时在上层网络中的呼叫代理服务器在子呼叫代理记录中保存所述呼叫代理服务器的标识、网络地址、端口以及对应的NAT设备的网络地址和端口。
16、一种利用权利要求1-15之一的所述的名字注册系统进行名字登录的方法,包括:
步骤10)、呼叫代理服务器获取用户登录点和系统终端设备访问点,生成“呼叫代理用户登录消息”,所述“呼叫代理用户登录消息”包括用户标识、用户登录点和系统终端设备访问点,所述呼叫代理服务器建立消息发送者和消息的对应关系;
步骤20)、根据本地保存的注册服务装置的服务入口,所述呼叫代理服务器向所述注册服务装置发送“呼叫代理用户登录消息”,并向上级呼叫代理服务器转发REGISTER消息,所述REGISTER消息包括用户标识;所述服务入口是网络地址和端口或者用于转化为网络地址和端口的标识;
步骤30)、所述注册服务装置接收到所述“呼叫代理用户登录消息”后,在本地用户信息存储表中创建新纪录,记录所述“呼叫代理用户登录消息”中的用户标识、用户登录点和系统终端设备访问点,返回成功注册消息;
步骤40)、所述呼叫代理服务器接收所述注册服务装置的应答消息,根据所述消息发送者和消息的对应关系,向所述消息发送者发送成功或者失败应答消息;
步骤50)、所述上级呼叫代理服务器收到所述REGISTER消息后,根据所述消息发送者和消息的对应关系,向消息发送者返回所述消息的成功或者失败应答消息,删除所述消息发送者和消息的对应关系。
17、根据权利要求16所述的名字登录的方法,其中,所述用户登录点为网络地址和端口,或被转化为网络地址和端口的标识;所述系统终端设备访问点为网络地址和端口,或被转化为网络地址和端口的标识。
18、根据权利要求16所述的名字登录的方法,其中,在步骤10)执行之前启动接入公有网络的顶层注册服务单元,然后接入私有网络的基本注册服务单元逐层启动,并向所述名字注册系统注册以加入名字注册系统。
19、根据权利要求16所述的名字登录的方法,其中,步骤10)进一步包括:
步骤110)、SIP协议中,当REGISTER消息中的Contact项为呼叫代理服务器时,本地呼叫代理服务器根据REGISTER消息中的用户标识,将所述本地呼叫代理服务器的网络地址和端口作为用户登录点,将携带所述REGISTER消息的数据分组的源地址和源端口作为系统终端设备访问点;
步骤120)、当REGISTER消息中的Contact项用于标识系统终端设备且所述REGISTER消息通过NAT设备时,将所述呼叫代理服务器的网络地址和端口作为用户登录点,将携带所述REGISTER消息的数据分组的源地址和源端口作为系统终端设备访问点;
步骤130)、当REGISTER消息中的Contact项用于标识系统终端设备且所述REGISTER消息通过没有NAT设备时,将所述Contact内容作为用户登录点;
步骤140)、当REGISTER消息中的Contact项不是呼叫代理服务器,也不用于标识系统终端设备,将所述Contact内容作为用户登录点。
20、根据权利要求16所述的名字登录的方法,其中,步骤20)进一步包括:如果所述REGISTER消息中的Contact项是呼叫代理服务器或者标识系统终端设备,则用所述呼叫代理服务器的网络地址和端口代理所述Contact项中的网络地址和端口。
21、根据权利要求16所述的名字登录的方法,其中,步骤30)进一步包括:当所述“呼叫代理用户登录消息”经过NAT设备,将本地用户信息存储表中的相对登录位置设定为跨层登录,将携带所述“呼叫代理用户登录消息”的源地址和端口作为新纪录的映射地址。
22、根据权利要求16所述的名字登录的方法,其中,步骤40)进一步包括:
步骤410)、如果所述呼叫代理服务器为顶级呼叫代理服务器,根据所述应答消息中的随机序号,按照所述REGISTER消息发送者和消息的对应关系,向所述REGISTER消息发送者发送成功、失败应答消息,删除所述消息发送者和消息的对应关系;
步骤420)、如果所述呼叫代理服务器不是顶级呼叫代理服务器并且所述注册服务装置发送的应答消息为登录成功消息,根据所述应答消息中的随机序号,将所述消息发送者和消息的对应关系设为已登录状态。
23、根据权利要求16所述的名字登录的方法,其中,步骤50)进一步包括:
步骤510)、当所述消息发送者和消息的对应关系为已登录状态时,向所述REGISTER消息发送者返回所述消息的应答消息,删除所述消息发送者和消息的对应关系;
步骤520)、当所述消息发送者和消息的对应关系为未登录状态时,向所述REGISTER消息发送者返回所述消息的失败应答消息,删除所述消息发送者和消息的对应关系。
24、一种利用权利要求1-15之一的所述的名字注册系统进行用户登录点查询方法,包括:
步骤10)、呼叫代理服务器向所述名字注册系统的服务入口发送“呼叫代理用户登录点查找请求消息”,所述消息包括目标用户标识;
步骤20)、注册服务单元收到所述“呼叫代理用户登录点查找请求消息”后,提取消息中的目标用户标识;
步骤30)、当所述目标用户标识不存在时,如果所述注册服务单元为顶级注册服务器,向请求消息发送者返回失败消息,如果所述注册服务单元不是顶级注册服务器,向请求消息发送者返回目标用户不存在消息;
步骤40)、当所述目标用户标识存在时,判别目标用户的用户登录点对应的网络地址是否和“呼叫代理用户登录点查找请求消息”发送者的网络地址属于同一NAT设备控制的网络或公有网络,如果不是,向请求消息发送者返回目标用户不存在消息;
步骤50)、当目标用户的用户登录点对应的网络地址和“呼叫代理用户登录点查找请求消息”发送者的网络地址属于同一NAT设备控制的网络或公有网络时,如果目标用户的用户登录点对应的网络地址属于请求消息发送者,则向请求消息发送者返回目标用户的系统终端设备访问点;如果目标用户的用户登录点对应的网络地址不属于请求消息发送者,向请求消息发送者返回目标用户的用户登录点;
25、根据权利要求24所述的名字登录点查询方法,其中,所述方法进一步包括:
步骤60)、呼叫代理服务器收到“呼叫代理用户登录点查找请求消息”的应答消息后,如果为失败,所述呼叫代理服务器按呼叫消息传递路径的反向,向系统终端设备返回失败消息;如果为目标用户不存在消息,则根据目标呼叫代理记录转发呼叫消息;如果收到应答消息中包含可转化为网络地址和端口的信息,向所述可转化的网络地址和端口转发SIP呼叫请求。
26、根据权利要求24所述的名字登录点查询方法,其中,步骤40)中,根据相对登录位置和映射地址,判别目标用户的用户登录点对应的网络地址是否和呼叫代理用户登录点查找请求消息发送者的网络地址属于同一NAT设备控制的网络或公有网络。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101023433A CN101247408B (zh) | 2008-03-20 | 2008-03-20 | 多层nat网络中面向应用的名字注册系统及方法 |
PCT/CN2009/000305 WO2009114997A1 (zh) | 2008-03-20 | 2009-03-20 | 多层nat网络中面向应用的名字注册系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101023433A CN101247408B (zh) | 2008-03-20 | 2008-03-20 | 多层nat网络中面向应用的名字注册系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101247408A true CN101247408A (zh) | 2008-08-20 |
CN101247408B CN101247408B (zh) | 2010-11-03 |
Family
ID=39947606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101023433A Expired - Fee Related CN101247408B (zh) | 2008-03-20 | 2008-03-20 | 多层nat网络中面向应用的名字注册系统及方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101247408B (zh) |
WO (1) | WO2009114997A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009114997A1 (zh) * | 2008-03-20 | 2009-09-24 | 中国科学院计算技术研究所 | 多层nat网络中面向应用的名字注册系统及方法 |
CN102474506A (zh) * | 2009-10-20 | 2012-05-23 | 阿瓦雅公司 | 人物角色信息可得性的判断和在点对点网络上的传送 |
CN108989221A (zh) * | 2018-09-21 | 2018-12-11 | 北京东土科技股份有限公司 | 一种sip消息的传输方法、装置、计算机设备及存储介质 |
CN111431956A (zh) * | 2019-01-10 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 跨网络的服务访问方法、设备、系统及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114089711B (zh) * | 2022-01-21 | 2022-05-17 | 深圳艾灵网络有限公司 | 工业设备控制管理方法、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100583814C (zh) * | 2005-05-12 | 2010-01-20 | 中兴通讯股份有限公司 | 一种实现多媒体业务nat穿越的方法 |
CN101047548A (zh) * | 2006-03-31 | 2007-10-03 | 株式会社日立制作所 | 多个nat的私有网络内的通信 |
CN101064712B (zh) * | 2006-04-24 | 2013-04-24 | 上海信息安全基础设施研究中心 | 一种基于Linux内核实现双通道穿越多级NAT和防火墙的系统及方法 |
CN101064642A (zh) * | 2006-04-29 | 2007-10-31 | 华为技术有限公司 | 一种ip多媒体子系统注册流程改进方法 |
CN101242421B (zh) * | 2008-03-19 | 2012-06-13 | 中国科学院计算技术研究所 | 多层nat环境下面向应用的名字注册系统及其服务方法 |
CN101247408B (zh) * | 2008-03-20 | 2010-11-03 | 中国科学院计算技术研究所 | 多层nat网络中面向应用的名字注册系统及方法 |
-
2008
- 2008-03-20 CN CN2008101023433A patent/CN101247408B/zh not_active Expired - Fee Related
-
2009
- 2009-03-20 WO PCT/CN2009/000305 patent/WO2009114997A1/zh active Application Filing
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009114997A1 (zh) * | 2008-03-20 | 2009-09-24 | 中国科学院计算技术研究所 | 多层nat网络中面向应用的名字注册系统及方法 |
CN102474506A (zh) * | 2009-10-20 | 2012-05-23 | 阿瓦雅公司 | 人物角色信息可得性的判断和在点对点网络上的传送 |
CN108989221A (zh) * | 2018-09-21 | 2018-12-11 | 北京东土科技股份有限公司 | 一种sip消息的传输方法、装置、计算机设备及存储介质 |
CN108989221B (zh) * | 2018-09-21 | 2021-01-01 | 北京东土科技股份有限公司 | 一种sip消息的传输方法、装置、计算机设备及存储介质 |
CN111431956A (zh) * | 2019-01-10 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 跨网络的服务访问方法、设备、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2009114997A1 (zh) | 2009-09-24 |
CN101247408B (zh) | 2010-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101242421B (zh) | 多层nat环境下面向应用的名字注册系统及其服务方法 | |
CN101247408B (zh) | 多层nat网络中面向应用的名字注册系统及方法 | |
CN111373704B (zh) | 一种支持多模标识网络寻址渐进去ip的方法、系统及存储介质 | |
CN101242413B (zh) | 同根多层nat网络中服务资源地址获取系统及方法 | |
CN101142561B (zh) | 在内容寻址存储设备中存储数据的方法和系统 | |
CN101447956B (zh) | 一种跨网闸的通信方法和通信系统 | |
CN106888145B (zh) | 一种vpn资源访问方法及装置 | |
CN102055816A (zh) | 一种通信方法、业务服务器、中间设备、终端及通信系统 | |
CN101262447B (zh) | 一种系统终端设备建立nat穿越通道的方法 | |
CN102893559A (zh) | 互连虚拟网络的成员 | |
CN1586065A (zh) | 利用网络地址转换的对等网络通信 | |
CN106302842A (zh) | 一种域名解析方法、装置及系统 | |
CN102368760B (zh) | 多级信息系统间的数据安全传输方法 | |
CN101345673A (zh) | 位置合法性检测的方法、通信系统、接入设备及上层管理网元 | |
JPH0870300A (ja) | ネットワークシステム及びファイル共有方法 | |
CN103327013B (zh) | 一种基于共享权限级别共享联系人信息的方法与设备 | |
CN102833877B (zh) | 一种Wi-Fi共享方法及系统 | |
CN106789931A (zh) | 多系统的网络隔离共享方法及装置 | |
CN101572643A (zh) | 实现私网之间转发数据的方法和系统 | |
EP1681835A1 (en) | System and method for avoiding address conflicts between servers with the same private address in home and visited network | |
CN108512829A (zh) | 信息分享方法、装置、计算机设备和存储介质 | |
CN102684969A (zh) | Vpn节点及其标识解析代理及方法、和vpn服务器 | |
CN105162763A (zh) | 通讯数据的处理方法和装置 | |
CN102437965B (zh) | 目标站点的访问方法及装置 | |
CN103442096B (zh) | 基于移动互联网的nat转换方法及系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101103 Termination date: 20200320 |