登记服务器、CGN设备、服务提供系统及索引、转发方法与流程

文档序号:18933311发布日期:2019-10-22 20:58阅读:251来源:国知局
登记服务器、CGN设备、服务提供系统及索引、转发方法与流程

本发明涉及通信技术领域,特别是一种登记服务器、CGN设备、服务提供系统及索引、转发方法。



背景技术:

NAT(Network Address Translation,网络地址转换)技术是IPv4向IPv6过渡时期的重要技术。目前,在运营商网络中部署的NAT技术通常是基于端口块来分配地址资源的,这种基于端口块方式进行网络地址转换的技术可以称为CGN(Carrier-Grade NAT,运营级网络地址转换)技术。在部署了CGN技术的环境下,如何从互联网访问终端用户对外提供的服务端口一直是个难以解决的问题。现有的服务穿越方案均由顶层服务系统自己实现,大多数是通过在外网部署一个跟踪服务器跟踪内外网对应IP来实现,具体实现方法相互之间差异很大,没有通用性。



技术实现要素:

本发明的一个目的在于解决CGN环境下的服务穿越的问题。

根据本发明的一个方面,提出一种登记服务器,包括:服务展示模块,用于向用户展示已登记的服务记录,服务记录包括对应的运营级网络地址转换CGN环境下服务终端的内网地址和外网地址;请求获取模块,用于获取请求终端的访问请求,请求终端根据登记服务器展示的已登记的服务记录确定访问请求;信息提取模块,用于根据访问请求提取请求终端的地址、服务终端的外网地址和端口偏移量;信息发送模块,用于将请求终端的地址、服务终端的外网地址和端口偏移量发送给服务终端对应的CGN设备。

进一步地,还包括:登记模块,用于接收来自CGN环境下的服务终端的服务登记请求,服务登记请求中包括服务终端的内网地址;查询模块,用于根据服务登记请求从认证授权计费AAA服务器获取服务终端的外网地址和端口块信息,以便服务展示模块展示服务终端的内网地址、外网地址。

进一步地,还包括:信息存储模块,用于存储服务终端的内网地址、外网地址和端口块信息。

进一步地,信息提取模块还用于根据对应服务终端所获分配的端口块的起始端口值确定端口偏移量。

进一步地,还包括信息撤销模块,用于在服务终端下线的情况下,撤销展示模块展示的对应服务终端的服务记录。

这样的登记服务器能够向用户展示CGN环境下已登记的服务终端的服务记录并供请求终端选择,将请求终端的地址、服务终端的外网地址和端口偏移量发送给对应的CGN设备,供CGN设备生成对应的反向NAT会话,使CGN环境中的终端用户能够对外提供服务,实现CGN环境下的服务穿越。

根据本发明的另一个方面,提出一种CGN设备,包括:信息表生成模块,用于根据从登记服务器获取的请求终端的地址、服务终端的外网地址和端口偏移量生成反向NAT端口信息表,反向NAT端口信息表包括请求终端的地址、服务终端的外网地址和端口偏移量;反向会话生成模块,用于根据反向NAT端口信息表,基于端口映射算法生成对应的反向NAT会话;转发模块,用于根据反向NAT会话转发从请求终端获取的访问请求到CGN环境下对应的服务终端。

进一步地,还包括:存储模块,用于存储反向会话生成模块生成的反向NAT会话。

进一步地,还包括:查找模块,用于根据反向NAT端口信息表,基于端口映射算法查找反向NAT会话。

进一步地,还包括:数据维护模块,用于在反向NAT会话在预定老化时间内未有新的访问请求的情况下,撤销反向NAT会话。

进一步地,数据维护模块用于在预定时间内未收到来自请求终端的访问请求的情况下,撤销反向NAT会话。

进一步地,数据维护模块用于在服务终端下线的情况下,撤销对应的反向NAT端口信息表。

这样的CGN设备能够根据获取的请求终端的地址、服务终端的外网地址和端口偏移量,生成反向NAT端口信息表,进而生成反向NAT会话,使CGN环境中的终端用户能够对外提供服务,实现CGN环境下的服务穿越。

根据本发明的又一个方面,提出一种服务提供系统,包括上文中提到的任意一种登记服务器和任意一种CGN设备,以及AAA服务器,用于向登记服务器提供CGN环境下服务终端的外网地址和端口块信息。

这样的服务提供系统中,登记服务器能够获取CGN环境下服务终端的内网地址、外网地址和端口块信息,当请求终端在登记服务器选择CGN环境下服务终端的服务时,CGN设备能够生成对应的反向NAT会话,使CGN环境中的终端用户能够对外提供服务,实现CGN环境下的服务穿越。

根据本发明的再一个方面,提出一种服务索引方法,包括:登记服务器接收来自请求终端的访问请求,其中,请求终端根据登记服务器展示的已登记的服务记录确定访问请求;根据访问请求提取请求终端的地址、服务终端的外网地址和端口偏移量并发送给服务终端对应的CGN设备。

进一步地,还包括:接收来自CGN环境下的服务终端的服务登记请求,服务登记请求中包括服务终端的内网地址;根据服务登记请求从AAA服务器获取服务终端的外网地址和端口块信息,以便服务展示模块展示服务终端的服务记录。

进一步地,还包括:存储服务终端的内网地址、外网地址和端口块信息。

进一步地,根据访问请求生成反向NAT端口信息表还包括:根据对应服务终端所获分配的端口块的起始端口值确定端口偏移量。

进一步地,还包括:在服务终端下线的情况下,撤销展示的对应服务终端的服务记录。

通过这样的方法,能够向用户展示CGN环境下已登记的服务终端的服务记录供请求终端选择,将请求终端的地址、服务终端的外网地址和端口偏移量发送给对应的CGN设备,供CGN设备生成对应的反向NAT会话,使CGN环境中的终端用户能够对外提供服务,实现CGN环境下的服务穿越。

另外,根据本发明的一个方面,提出一种服务转发方法,包括:CGN根据从登记服务器获取的请求终端的地址、服务终端的外网地址和端口偏移量生成反向NAT端口信息表,反向NAT端口信息表包括请求终端的地址、服务终端的外网地址和端口偏移量;根据反向NAT端口信息表,基于端口映射算法生成对应的反向NAT会话;根据反向NAT会话转发访问请求到CGN环境下对应的服务终端。

进一步地,还包括:存储生成的反向NAT会话。

进一步地,还包括:根据反向NAT端口信息表基于端口映射算法查找反向NAT会话。

进一步地,还包括:若反向NAT会话在预定老化时间内未有新的访问请求,则撤销反向NAT会话。

进一步地,还包括:若在预定时间内未收到来自请求终端的访问请求,则撤销反向NAT会话。

进一步地,还包括:若服务终端下线,则撤销对应的反向NAT端口信息。

通过这样的方法,能够根据获取的请求终端的地址、服务终端的外网地址和端口偏移量,生成反向NAT端口信息表,进而生成反向NAT会话,使CGN环境中的终端用户能够对外提供服务,实现CGN环境下的服务穿越。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明的登记服务器的一个实施例的示意图。

图2为本发明的登记服务器的另一个实施例的示意图。

图3为本发明的CGN设备的一个实施例的示意图。

图4为本发明的CGN设备的另一个实施例的示意图。

图5为本发明的服务提供系统的一个实施例的示意图。

图6为本发明的服务提供系统的另一个实施例的示意图。

图7为本发明的服务索引方法的一个实施例的流程图。

图8为本发明的服务索引方法的一部分的一个实施例的流程图。

图9为本发明的服务转发方法的一个实施例的流程图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

本发明的登记服务器的一个实施例的示意图如图1所示。其中,101为服务展示模块,当CGN环境下的终端用户需要在互联网上发布自己的服务时,终端用户会在登记服务器登记自身的意愿,登记服务器的服务展示模块101能够向用户展示已登记的服务记录,服务记录包括对应的CGN环境下提供服务的服务终端的内网地址和外网地址的关联信息,用户可以根据服务展示模块101展示的内容选择提供服务的服务终端。102为请求获取模块,当互联网上的终端用户需要访问服务展示模块101中展示的服务终端提供的服务时,能够获取发起访问请求的请求终端的访问请求。103为信息提取模块,能够根据请求终端的访问请求,提取请求终端的地址,以及服务终端的外网地址和端口偏移量。104为信息发送模块,将请求终端的地址、服务终端的外网地址和端口偏移量发送给服务终端对应的CGN设备,供CGN设备生成对应的反向NAT会话。

这样的登记服务器能够向用户展示CGN环境下已登记的服务终端的服务记录并供请求终端选择,将请求终端的地址、服务终端的外网地址和端口偏移量发送给对应的CGN设备,供CGN设备生成对应的反向NAT会话,使CGN环境中的终端用户能够对外提供服务,实现CGN环境下的服务穿越。

在一个实施例中,登记服务器还能够供服务终端登记服务,以便展示给互联网上的请求终端,供请求终端选择。如图2所示,其中,201~204分别为服务展示模块、请求获取模块、信息提取模块以及信息发送模块,与图1中对应结构的功能相似。205为登记模块,能够接收来自CGN环境下的服务终端的服务登记请求。服务登记请求中包括服务终端的内网地址信息206为查询模块,能够根据从CGN设备获取的服务登记请求从AAA服务器获取服务终端的外网地址和端口块信息。服务展示模块201根据查询模块206从AAA服务器获取的服务终端的内网地址、外网地址和端口块信息向互联网上的请求终端展示,在一个实施例中,可以只展示服务终端的内网地址和外网地址。

这样的登记服务器能够接受来自CGN环境下的服务终端的服务登记请求,并从AAA服务器获取对应服务终端的内网地址、外网地址和端口块信息,供请求终端选择,使CGN环境下的服务终端能够方便的向互联网上的用户提供服务。

在一个实施例中,还包括信息存储模块,与查询模块206以及信息提取模块203相连,能够存储服务终端的内网地址、外网地址和端口块信息,以及向信息提取模块203提供服务终端的内网地址、外网地址和端口块信息。

这样的登记服务器能够存储服务终端的内网地址、外网地址和端口块信息,从而在获取服务请求时迅速的查找到相关信息并向CGN设备提供,提高了CGN设备生成对应的反向NAT会话的效率。

在一个实施例中,信息提取模块还能够根据服务终端的端口块信息的起始端口值确定发送给CGN设备的端口偏移量。这样的登记服务器能够为CGN设备提供端口偏移量信息,方便CGN设备生成反向NAT端口信息表并生成反向NAT会话。

在一个实施例中,登记服务器还包括信息撤销模块,用于当登记服务器展示的地址对应的服务终端下线时,撤销显示对应的服务终端的服务记录。在一个实施例中,信息撤销模块还可以撤销信息存储模块存储的对应服务终端的内网地址、外网地址和端口块信息。这样的登记服务器能够随时维护展示、存储的服务记录,从而避免错误的向请求终端展示服务终端的地址信息,保证为请求终端提供的信息的可靠性。

本发明的CGN设备的一个实施例的示意图如图3所示。其中,301为信息表生成模块,能够根据从登记获取的请求终端的地址、服务终端的外网地址和端口偏移量生成反向NAT端口信息表。反向NAT端口信息表包括请求终端的地址、服务终端的外网地址和端口偏移量,其中,CGN设备利用请求终端地址、服务终端的外网地址识别来自请求终端的报文,当获取的报文的源地址为请求终端的地址,目的地址为服务终端的外网地址时,确定该访问请求对应的反向NAT会话,并根据端口偏移量处理该访问请求,根据端口偏移量将目的端口进行对应的偏移操作,以便转接到对应的服务终端。端口映射算法应该与正向NAT会话中的端口映射算法相同,以便实现正确的端口映射。CGN设备能够根据反向NAT端口信息表查找或生成对应的反向NAT会话。302为反向会话生成模块,能够根据反向NAT端口信息表,基于端口映射算法生成反向NAT会话。303为转发模块,能够根据反向NAT会话转发从请求终端获取的访问请求到CGN环境下对应的服务终端。

这样的CGN设备能够根据获取的请求终端的地址、服务终端的外网地址和端口偏移量,生成反向NAT端口信息表,进而生成反向NAT会话,根据反向NAT会话将访问请求转发到对应的服务终端,使CGN环境中的终端用户能够对外提供服务,实现CGN环境下的服务穿越。

在一个实施例中,如图4所示,其中,401~403分别为信息表生成模块、反向会话生成模块以及转发模块,其功能与图3中的对应结构相似。CGN设备还可以包括存储模块404,能够存储反向会话生成模块404生成的反向NAT会话。在一个实施例中,当服务终端通过CGN设备主动向外网发起服务时,CGN设备按照预定的端口映射算法,如HASH算法,将该服务登记请求转换成服务终端对应的端口块范围内的另一端,将服务登记请求的源IP地址转换成对应的公网IP地址,生成正向NAT会话,同时生成对应的反向NAT会话,存储模块404能够存储在生成正向NAT会话时生成的对应的反向NAT会话。在访问请求到来时,CGN设备会根据存储的反向NAT会话将访问请求转发到对应的服务终端,避免重复生成反向NAT会话,提高了服务效率,减少资源浪费。

在一个实施例中,还可以包括查找模块405,能够基于端口映射算法从存储模块404中存储的反向NAT会话中查找对应的反向NAT会话;若查找到对应的反向NAT会话,则通过转发模块403将请求终端的访问请求转发到对应服务终端;否则,由反向会话生成模块402生成对应的反向NAT会话并存储于存储模块404中。这样的CGN设备能够利用已生成的反向NAT会话将访问请求转发到对应的服务终端,避免重复生成反向NAT会话,提高了服务效率,减少资源浪费。

在一个实施例中,还包括数据维护模块406,能够维护存储模块404中存储的反向NAT会话。在一个实施例中,若长时间未能有新的访问请求使用该反向NAT会话,则撤销对应的反向NAT会话。可以设定预定老化时间,在时长超过预定老化时间的情况下,可以撤销对应的反向NAT会话。在一个实施例中,数据维护模块在一定时间内未能收到来自请求终端的访问请求,则撤销对应的反向NAT端口信息表。在一个实施例中,当服务终端下线,则撤销与该服务终端对应的反向NAT端口信息表。

这样的CGN设备能够实时维护、清理反向NAT会话和反向NAT端口信息表,达到根据使用状态更新CGN设备存储的效果,一方面能够清理CGN设备的存储空间,防止资源浪费,另一方面在查找模块进行查找的过程中,能够减小需要检索的数据量,加快处理速度。

本发明的服务提供系统包括上文中提到的任一种登记服务器和CGN设备,以及供登记服务器查询CGN环境下服务终端的外网地址和端口块信息的AAA服务器。这样的服务提供系统中,登记服务器能够获取CGN环境下服务终端的内网地址、外网地址和端口块信息,当请求终端在登记服务器选择CGN环境下服务终端的服务时,CGN设备能够生成对应的反向NAT对话,使CGN环境中的终端用户能够对外提供服务,实现CGN环境下的服务穿越。

在一个实施例中,CGN环境下的服务终端在登记服务器进行服务登记的过程如图5所示。

在501中,服务终端经CGN设备向登记服务器发送服务登记请求。

在502中,登记服务器向AAA服务器发送查询请求,查询服务终端的端口资源分配信息。如图5中所示,AAA服务器中存储有服务终端的协议类型、私有地址(内网地址)、公有地址(外网地址)以及端口块信息。

在503中,AAA服务器将登记服务器查询的服务终端的外网地址以及端口块信息返回给登记服务器。登记服务器会向用户展示服务终端的服务记录。

当互联网上的请求终端向CGN环境下的服务终端发起访问请求时,如图6所示:

在601中,互联网上的访问者(请求终端)在登记服务器展示的信息中选择需求的服务记录,服务记录可以包括外网地址、内网地址关联信息。

在602中,登记服务器将请求终端的地址、服务终端的外网地址,以及登记服务器确定的端口偏移量发送给CGN设备。CGN设备会生成反向NAT端口信息表,进而生成反向NAT会话。

在603中,请求终端经互联网发起对服务终端的访问请求。访问请求到达CGN设备后,CGN设备根据反向NAT会话将访问请求转发到对应的服务终端,实现请求终端对服务终端的访问。

这样的服务提供系统能够供CGN环境下的服务终端主动向登记服务器请求服务登记,从而在互联网上的用户意图访问服务终端时,能够通过登记服务器向CGN设备提供信息,供CGN设备建立反向NAT会话,实现访问请求向服务终端的转接,达到CGN环境下与业务无关的运营级服务穿越,使CGN环境中的终端用户能对外提供的服务,并且无需用户操作过多额外的流程,维护用户体验。同时,该方法与服务终端提供的服务类型松耦合,具备通用性。这样的服务提供系统可作为一项新型业务对固网宽带用户开放,或者作为网络能力对上层业务开放,为现有投资带来增值;作为过渡技术在向Ipv6演进过程中部署应用,能有效节约Ipv4地址;作为底层网络能力对OTT(Over The Top,通过互联网向用户提供各种应用服务)业务开放,提高网络精细化运维的能力。

本发明的服务索引方法的一个实施例的流程图如图7所示。

在步骤701中,登记服务器接收来自请求终端的访问请求,请求终端可以根据登记服务器展示的已登记的服务记录确定访问请求。

在步骤702中,登记服务器根据访问请求提取请求终端的地址、服务终端的外网地址和端口偏移量并发送给服务终端对应的CGN设备。

通过这样的方法,能够向用户展示CGN环境下已登记的服务终端的服务记录并供请求终端选择,将请求终端的地址、服务终端的外网地址和端口偏移量发送给对应的CGN设备,供CGN设备生成对应的反向NAT会话,使CGN环境中的终端用户能够对外提供服务,实现CGN环境下的服务穿越。

在一个实施例中,当CGN环境下的终端提供需要发布自己的服务时,可以在登记服务器进行服务登记。在一个实施例中,本发明的服务索引方法的服务登记部分的流程图如图8所示。

在步骤801中,登记服务器接收来自CGN环境下的服务终端的服务登记请求,服务登记请求中包括服务终端的内网地址。

在步骤802中,登记服务器根据从CGN设备获取的服务登记请求从AAA服务器获取服务终端的外网地址和端口块信息。AAA服务器中存储有服务终端的协议信息、内网地址、外网地址以及端口块信息。

在步骤803中,登记服务器存储服务终端的内网地址、外网地址和端口块信息。

在步骤804中,登记服务器展示服务终端的包括内网地址、外网地址关联信息的服务记录供请求终端选择。

通过这样的方法,登记服务器能够接受来自CGN环境下的服务终端的服务登记请求,并获取对应服务终端的内网地址、外网地址和端口块信息,提供服务记录供请求终端选择,使CGN环境下的服务终端能够方便的向互联网上的用户提供服务。

在一个实施例中,当登记服务器展示地址对应的服务终端下线时,撤销显示对应的服务终端的服务记录。在一个实施例中,还可以撤销存储的对应服务终端的内网地址、外网地址和端口块信息。通过这样的方法,登记服务器能够随时维护展示、存储的服务记录,从而避免错误的向请求终端展示服务终端的地址信息,保证为请求终端提供的信息的可靠性。

本发明的服务转发方法的一个实施例的流程图如图9所示。

在步骤901中,CGN设备根据从登记服务器获取的请求终端的地址、服务终端的外网地址和端口偏移量生成反向NAT端口信息表。反向NAT端口信息表包括请求终端的地址、服务终端的外网地址和端口偏移量。

在步骤902中,CGN设备能够根据反向NAT端口信息表,基于端口映射算法生成反向NAT会话。

在步骤903中,当CGN设备接到来自请求终端的访问请求时,根据反向NAT会话转发从请求终端获取的访问请求到CGN环境下对应的服务终端。

通过这样的方法,CGN设备能够根据获取的请求终端的地址、服务终端的外网地址和端口偏移量,生成反向NAT端口信息表,进而生成反向NAT会话,使CGN环境中的终端用户能够对外提供服务,实现CGN环境下的服务穿越。

在一个实施例中,当生成反向NAT会话后,CGN设备能够存储生成的反向NAT会话,在访问请求到来时,CGN设备会根据存储的反向NAT会话将访问请求转发到对应的服务终端。这样的方法避免重复生成反向NAT会话,提高了服务效率,减少资源浪费。

在一个实施例中,当生成反向NAT端口信息表后,CGN设备根据端口偏移量确定正确的目的端口的偏移值,并在已存储的反向NAT会话中查找是否目的端口与已存储的某反向NAT会话相匹配。已存储的反向NAT会话可能由CGN设备生成对应的正向NAT会话时生成,还可能由根据之前的访问请求生成。若查找到匹配的反向NAT会话,则利用该反向NAT会话转接访问请求;若未能查找到,则创建新的反向NAT会话,将访问请求的外网目的地址替换成对应的内网地址,采用预定的端口映射算法确定的目的端口替换原端口偏移量信息,利用生成的反向NAT会话完成访问请求的转接,同时,CGN设备可以存储生成的反向NAT会话。通过这样的方法,CGN设备能够充分利用已生成的反向NAT会话而不需要重复生成,提高了服务效率,减少资源浪费。

在一个实施例中,若长时间未能有新的访问请求使用该反向NAT会话,则撤销对应的反向NAT会话。可以设定预定老化时间,在时长超过预定老化时间的情况下,可以撤销对应的反向NAT会话。在一个实施例中,当在一定时间内未能收到来自请求终端的访问请求,则撤销对应的反向NAT端口信息表。在一个实施例中,当服务终端下线,则撤销与该服务终端对应的反向NAT端口信息表。

通过这样的方法,CGN设备能够实时维护、清理反向NAT会话和反向NAT端口信息表,达到根据使用状态更新CGN设备存储的效果,一方面能够清理CGN设备的存储空间,防止资源浪费,另一方面在查找模块进行查找的过程中,能够减小需要检索的数据量,加快处理速度。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1