一种接入方法、SDN控制器、转发设备及用户接入系统转让专利

申请号 : CN201710749621.3

文献号 : CN107566476B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨建军赫罡郑毅郭爱鹏

申请人 : 中国联合网络通信集团有限公司

摘要 :

本公开的实施例提供一种接入方法、SDN控制器、转发设备及用户接入系统,涉及通信领域,能够提高流量转发速度。包括:vLAC设备向第一服务器发起本地认证请求;SDN控制器分别向第一和第二转发设备发送协议报文流表,使vLAC设备和vLAC设备进行隧道协商;vLAC设备和vLNS设备向SDN控制器发送隧道信息,SDN控制器根据隧道信息分别向第一和第二转发设备发送隧道转发流表;vLAC设备向第二服务器发送远端认证请求;SDN控制器分别向第一和所述第二转发设备发送协商报文转发需要的流表,使vLAC设备和vLAC设备进行会话协商;vLAC设备和vLNS设备向SDN控制器发送会话信息,SDN控制器根据会话信息分别向第一和第二转发设备发送用户会话转发流表,从而用户上线成功。本公开可用于接入技术。

权利要求 :

1.一种用户接入方法,其特征在于,包括:

虚拟访问集中器vLAC设备接收用户上线请求,所述vLAC设备向与其连接的第一服务器发起本地认证请求,所述第一服务器根据所述本地认证请求完成认证;

软件定义网络SDN控制器分别向第一转发设备和第二转发设备发送协议报文流表,使得与所述第一转发设备连接的所述vLAC设备和与所述第二转发设备连接的虚拟网络服务器vLNS设备进行隧道协商;

隧道协商成功后,所述vLAC设备和虚拟网络服务器vLNS设备向所述SDN控制器发送隧道信息,所述SDN控制器根据所述隧道信息分别向所述第一转发设备和所述第二转发设备发送隧道转发流表;

所述vLAC设备通过所述vLNS设备向与所述vLNS设备连接的第二服务器发送远端认证请求,所述第二服务器根据所述远端认证请求完成认证;

所述SDN控制器分别向所述第一转发设备和所述第二转发设备发送协商报文转发需要的流表,使得与所述第一转发设备连接的所述vLAC设备和与所述第二转发设备连接的所述vLNS设备进行会话协商;

会话协商成功后,所述vLAC设备和虚拟网络服务器vLNS设备向所述SDN控制器发送会话信息,所述SDN控制器根据所述会话信息分别向所述第一转发设备和所述第二转发设备发送用户会话转发流表,从而用户上线成功。

2.根据权利要求1所述的用户接入方法,其特征在于,在虚拟访问集中器vLAC设备接收用户上线请求之前,所述方法还包括:所述SDN控制器获取所述第一转发设备、所述第二转发设备、所述vLAC设备、所述vLNS设备的设备注册信息;

所述SDN控制器向所述第一转发设备发送用于用户接入协议的上下行流表,使所述第一转发设备根据所述上下行流表将上行报文发送到所述vLAC设备并将下行报文发送到用户终端设备CPE。

3.根据权利要求2所述的用户接入方法,其特征在于,

所述第一转发设备包括第一端口、第二端口和第三端口,所述第一端口与所述CPE连接,所述第二端口与所述vLAC设备连接,所述第三端口与所述第二转发设备连接;

所述第一转发设备接收并解析报文,

若所述第一转发设备判断所述报文是从所述第二端口收到的下行协议报文,则通过所述第一端口将所述下行协议报文发送到所述CPE;

若所述第一转发设备判断所述报文是从所述第一端口收到的上行协议报文,则通过所述第二端口将所述上行协议报文发送到所述vLAC设备;

若所述第一转发设备判断所述报文是从所述第三端口收到的协商报文,则通过所述第二端口将所述协商报文发送到所述vLAC设备;

若所述第一转发设备判断所述报文是从所述第二端口收到的协商报文,则通过所述第三端口将所述协商报文发送到所述第二转发设备;

若所述第一转发设备判断所述报文是从所述第一端口收到的、且源IP地址为用户地址的业务流量报文,则为所述业务流量报文增加隧道和会话信息,并通过所述第三端口将增加隧道和会话信息后的所述业务流量报文发送到所述第二转发设备。

4.根据权利要求1所述的用户接入方法,其特征在于,在所述用户上线成功后,所述方法还包括:接收用户发起的下线请求,所述第一转发设备根据下线请求协议报文转发所需的流表将下线请求报文发送到所述vLAC设备;

所述vLAC设备向所述vLNS设备发起删除隧道及会话协商流程,以协商删除隧道和会话;

所述vLAC设备和所述vLNS设备分别向SDN控制器上报用户下线信息及相关隧道和会话信息;

所述SDN控制器分别向所述第一转发设备和所述第二转发设备发送删除隧道和用户会话转发所需的流表信息,使所述第一转发设备与所述第二转发设备分别删除本地流表。

5.一种软件定义网络SDN控制器,其特征在于,包括:

发送模块,用于向第一转发设备和第二转发设备分别发送协议报文流表,使得与所述第一转发设备连接的虚拟访问集中器vLAC设备和与所述第二转发设备连接的虚拟网络服务器vLNS设备进行隧道协商;

接收模块,用于接收虚拟访问集中器vLAC设备和虚拟网络服务器vLNS设备发送的隧道信息;

所述发送模块用于,根据所述隧道信息分别向所述第一转发设备和所述第二转发设备发送隧道转发流表;

所述发送模块还用于,分别向所述第一转发设备和所述第二转发设备发送协商报文转发需要的流表,使得与所述第一转发设备连接的所述vLAC设备和与所述第二转发设备连接的所述vLNS设备进行会话协商;

所述接收模块还用于,接收所述vLAC设备和所述vLNS设备发送的会话信息;

所述发送模块还用于,根据所述会话信息分别向所述第一转发设备和所述第二转发设备发送用户会话转发流表,从而用户上线成功。

6.根据权利要求5所述的SDN控制器,其特征在于,

所述SDN控制器还包括:

获取模块,用于获取所述第一转发设备、所述第二转发设备、所述vLAC设备、所述vLNS设备的设备注册信息;

所述发送模块还用于,向所述第一转发设备发送用于用户接入协议的上下行流表,使所述第一转发设备根据所述上下行流表将上行报文发送到所述vLAC设备并将下行报文发送到用户终端设备CPE。

7.根据权利要求5所述的SDN控制器,其特征在于,

所述发送模块还用于,分别向所述第一转发设备与所述第二转发设备发送删除隧道和用户会话转发所需的流表信息,使所述第一转发设备与所述第二转发设备分别删除本地流表。

8.一种第一转发设备,其特征在于,包括:

接收模块,用于从软件定义网络SDN控制器接收协议报文流表、隧道转发流表以及用户会话转发流表,所述协议报文流表为所述SDN控制器向所述第一转发设备和第二转发设备发送的协议报文流表,使得与所述第一转发设备连接的虚拟访问集中器vLAC设备和所述第二转发设备连接的虚拟网络服务器vLNS设备进行隧道协商;

所述隧道转发流表为所述vLAC设备和所述vLNS设备隧道协商成功后,所述SDN控制器根据所述vLAC设备和所述vLNS设备发送的隧道信息向所述第一转发设备和所述第二转发设备发送的隧道转发流表;

所述用户会话转发流表为所述vLAC设备和所述vLNS设备根据所述SDN控制器分别向所述第一转发设备和所述第二转发设备发送的协商报文转发需要的流表,进行会话协商成功后,所述SDN控制器根据所述vLAC设备和所述vLNS设备发送的会话信息向所述第一转发设备和所述第二转发设备发送的用户会话转发流表,从而用户上线成功。

9.根据权利要求8所述的第一转发设备,其特征在于,

所述接收模块还用于,接收所述SDN控制器发送的用于用户接入协议的上下行流表;

所述第一转发设备还包括:

发送模块,用于根据所述上下行流表将上行报文发送到vLAC设备并将下行报文发送到用户终端设备CPE。

10.根据权利要求9所述的第一转发设备,其特征在于,

所述第一转发设备包括第一端口、第二端口和第三端口,所述第一端口与所述CPE连接,所述第二端口与所述vLAC设备连接,所述第三端口与第二转发设备连接;

所述接收模块接收并解析报文;

所述第一转发设备包括处理模块,所述处理模块具体用于:

若判断所述报文是从所述第二端口收到的下行协议报文,则通过所述第一端口将所述下行协议报文发送到所述CPE;

若判断所述报文是从所述第一端口收到的上行协议报文,则通过所述第二端口将所述上行协议报文发送到所述vLAC设备;

若判断所述报文是从所述第三端口收到的协商报文,则通过所述第二端口将所述协商报文发送到所述vLAC设备;

若判断所述报文是从所述第二端口收到的协商报文,则通过所述第三端口将所述协商报文发送到所述第二转发设备;

若所述第一转发设备判断所述报文是从所述第一端口收到的、且源IP地址为用户地址的业务流量报文,则为所述业务流量报文增加隧道和会话信息,并通过所述第三端口将增加隧道和会话信息后的所述业务流量报文发送到所述第二转发设备。

11.根据权利要求8所述的第一转发设备,其特征在于,

所述接收模块还用于,接收所述SDN控制器发送的删除隧道和会话转发所需的流表信息;

所述第一转发设备还包括:

删除模块,用于根据删除隧道和会话转发所需的流表信息,删除本地流表。

12.一种用户接入系统,其特征在于,包括如权利要求5-7中任一所述的软件定义网络SDN控制器以及如权利要求8-11中任一所述的第一转发设备。

说明书 :

一种接入方法、SDN控制器、转发设备及用户接入系统

技术领域

[0001] 本公开涉及数据网络通信技术领域,尤其涉及一种接入方法、SDN 控制器、转发设备及用户接入系统。

背景技术

[0002] L2TP(Layer 2Tunneling Protocol,二层隧道协议)是一种工业标准的英特网隧道协议。通常,LAC(L2TP Access Concentrator,L2TP访问集中器)和LNS(L2TP Network Server,L2TP网络服务器)是L2TP两侧的对端设备。其中,LAC是L2TP的访问集中器,为用户提供接入服务;而LNS是L2TP的网络服务器,用于处理L2TP协议。这种LAC和 LNS通常基于软硬件一体化的设备实现,而这种实现给新业务部署带来很多不便。例如,不同时期部署的LAC和LNS设备无法通过软件升级方式实现同一功能从而增加了大量成本。对此,可以引入vLAC(virtual LAC,虚拟LAC)和vLNS(virtual LNS,虚拟LNS)。vLAC和vLNS 是通过对传统LAC和LNS虚拟化得到的虚拟设备。由于vLAC和vLNS 可以运行在通用服务器的硬件环境中,因此,在实现传统LAC和LNS 能够实现的转发、协商等功能的同时,降低了部署新业务时进行升级的成本。
[0003] 然而,vLAC和vLNS与传统的LAC和LNS相比,在转发性能方面较弱。其具体表现为,vLAC和vLNS所在的服务器转发容量小导致数据流量转发速度缓慢,尤其在流量高峰时期,甚至会出现流量转发延时、中断的情况。

发明内容

[0004] 本公开的实施例的主要目的在于提供了一种接入方法、SDN控制器、转发设备及用户接入系统,能够解决vLAC和vLNS所在的服务器转发容量小而导致的数据流量转发速度缓慢的问题。
[0005] 为达到上述目的,本公开的实施例采用如下技术方案:
[0006] 第一方面,本公开的实施例提供了一种用户接入方法,包括:虚拟访问集中器vLAC设备接收用户上线请求,所述vLAC设备向与其连接的第一服务器发起本地认证请求,所述第一服务器根据所述本地认证请求完成认证;软件定义网络SDN控制器分别向所述第一转发设备和第二转发设备发送协议报文流表,使得与所述第一转发设备连接的所述vLAC设备和与所述第二转发设备连接的所述vLNS设备进行隧道协商;隧道协商成功后,所述vLAC 设备和虚拟网络服务器vLNS设备向所述SDN控制器发送隧道信息,所述 SDN控制器根据所述隧道信息分别向所述第一转发设备和所述第二转发设备发送隧道转发流表;所述vLAC设备通过所述vLNS设备向与所述vLNS设备连接的第二服务器发送远端认证请求,所述第二服务器根据所述远端认证请求完成认证;所述SDN控制器分别向所述第一转发设备和所述第二转发设备发送协商报文转发需要的流表,使得与所述第一转发设备连接的所述vLAC 设备和与所述第二转发设备连接的所述vLNS设备进行会话协商;会话协商成功后,所述vLAC设备和虚拟网络服务器vLNS设备向所述SDN控制器发送会话信息,所述SDN控制器根据所述会话信息分别向所述第一转发设备和所述第二转发设备发送用户会话转发流表,从而用户上线成功。
[0007] 第二方面,本公开的实施例提供了一种SDN控制器,包括:发送模块,用于向第一转发设备和第二转发设备分别发送协议报文流表,使得与所述第一转发设备连接的所述vLAC设备和与所述第二转发设备连接的所述vLNS 设备进行隧道协商;接收模块,用于接收虚拟访问集中器vLAC设备和虚拟网络服务器vLNS设备发送的隧道信息;所述发送模块用于,根据所述隧道信息分别向所述第一转发设备和所述第二转发设备发送隧道转发流表;所述发送模块还用于,分别向所述第一转发设备和所述第二转发设备发送协商报文转发需要的流表,使得与所述第一转发设备连接的所述vLAC设备和与所述第二转发设备连接的所述vLNS设备进行会话协商;所述接收模块还用于,接收所述vLAC设备和所述vLNS设备发送的会话信息;所述发送模块还用于,根据所述会话信息分别向所述第一转发设备和所述第二转发设备发送用户会话转发流表,从而用户上线成功。
[0008] 第三方面,本公开的实施例提供了一种转发设备,包括:接收模块,用于从软件定义网络SDN控制器接收协议报文流表、隧道转发流表以及用户会话转发流表。
[0009] 第四方面,本公开的实施例提供了一种用户接入系统,包括上述第二方面中本公开的实施例所提供的SDN控制器以及上述第三方面中本公开的实施例所提供的转发设备。
[0010] 本公开提供的接入方法、SDN控制器、转发设备及用户接入系统, vLAC设备接收用户上线请求,vLAC设备向与其连接的第一服务器发起本地认证请求,且SDN控制器分别向第一和第二转发设备发送协议报文流表,使得vLAC设备和vLNS设备进行隧道协商,接着隧道协商成功,vLAC设备和 vLNS设备向SDN控制器发送隧道信息,SDN控制器根据隧道信息分别向第一和第二转发设备发送隧道转发流表,之后vLAC设备通过vLNS设备向第二服务器发送远端认证请求,且SDN控制器分别向第一和第二转发设备发送协商报文转发需要的流表,使得vLAC设备和vLNS设备进行会话协商,最后会话协商成功,vLAC设备和vLNS设备向SDN控制器发送会话信息,SDN 控制器根据会话信息分别向第一和第二转发设备发送用户会话转发流表,从而用户上线成功。因此本公开的实施例提供的用户接入方法通过专用的转发设备,避免了vLAC设备和vLNS设备所在的服务器转发容量小而导致的数据流量转发速度缓慢的问题,从而提高了流量转发速度。

附图说明

[0011] 为了更清楚地说明本公开实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012] 图1示出了现有技术中的一种用户接入网络架构;
[0013] 图2为本公开实施例一提供的用户接入方法的一种流程示意图;
[0014] 图3为本公开实施例一提供的用户接入方法的另一种流程示意图;
[0015] 图4为本公开实施例二提供的SDN控制器的一种结构示意图;
[0016] 图5为本公开实施例二提供的SDN控制器的另一种结构示意图;
[0017] 图6为本公开实施例三提供的转发设备的一种结构示意图;
[0018] 图7为本公开实施例三提供的转发设备的另一种结构示意图;
[0019] 图8为本公开实施例三提供的转发设备的另一种结构示意图;
[0020] 图9为本公开实施例四提供的用户接入系统的一种示意性结构图;
[0021] 图10为本公开实施例四提供的用户接入系统的另一种示意性结构图。

具体实施方式

[0022] 下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0023] 为了便于清楚描述本公开实施例的技术方案,在本公开的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
[0024] 为了通过基于软硬件一体化的设备实现LAC和LNS的功能,并且在需要部署新业务时,能够通过软件升级方式实现同一功能,通常通过vLAC和vLNS以实现LAC和LNS设备的功能。其中,vLAC和vLNS 可以以功能集为单元对设备控制平面进行重构,形成独立模块,每个模块可按需在虚拟机上部署。vLAC和vLNS还可以提供可编程能力,将控制面通过接口向上提供灵活的功能调用,实现用户对网络业务的按需定制。将vLAC和vLNS引入城域网之后可以起到LAC和LNS的功能。
[0025] 图1示出了现有技术中的一种用户接入网络架构,该网络架构包括:
[0026] CPE(Customer Premise Equipment,用户终端设备)、LAC、LNS、 Radius(Remote Authentication Dial In User Service,远程用户拨号认证服务)服务器A、Radius服务器B以及英特网,其中LAC、LNS可以运行在虚拟机上。
[0027] 具体地,当用户使用CPE向LAC发送用户上线认证请求时,LAC 对用户上线认证请求进行相应的合法性检查的解析,并将用户上线认证请求中包含的用户信息向Radius服务器A发送,使Radius服务器A根据用户信息对用户进行认证。Radius服务器A认证后向用户授权L2TP LNS的相关信息,并将这些信息作为回应报文发送给LAC。用户在LAC 上得到LNS的相关信息,向LNS发起隧道连接请求,使得LAC与LNS 进行L2TP隧道协商。隧道协商成功后,LAC将上述的用户信息发送到远端的LNS,进而LNS将该用户信息发送到Radius服务器B,进行远端认证和会话协商,由此Radius服务器B为用户分配上线资源。LNS向用户发送Radius服务器B为用户分配的上线资源。随着LAC与LNS在远端认证和会话协商成功,用户上线成功。用户上线成功后访问远端资源,用户业务流量到达LAC后,LAC将流量通过隧道和会话转发到远端。
[0028] 其中,上述的LAC和LNS通常基于软硬件一体化的设备实现,而这种实现给新业务部署带来很多不便。例如,不同时期部署的LAC和 LNS设备无法通过软件升级方式实现同一功能从而增加了大量成本。因此可以引入vLAC和vLNS。vLAC和vLNS是通过对传统LAC和LNS 虚拟化得到的虚拟设备。由于vLAC和vLNS可以运行在通用服务器的硬件环境中,因此在实现传统LAC和LNS能够实现的转发、协商等功能的同时,降低了部署新业务时进行升级的成本。
[0029] 然而,vLAC和vLNS与传统的LAC和LNS相比,在转发性能方面较弱。其具体表现为,vLAC和vLNS所在的服务器转发容量小导致数据流量转发速度缓慢,尤其在流量高峰时期,甚至会出现流量转发延时、中断的情况。
[0030] 实施例一
[0031] 为了解决上述问题,本公开的实施例一提供了一种用户接入方法,适于L2TP接入并通过L2TP协议传送数据的场景,如附图2所示,该方法包括:
[0032] 步骤201、vLAC设备接收用户上线请求,vLAC设备向与其连接的第一服务器发起本地认证请求,第一服务器根据本地认证请求完成认证。
[0033] 其中,本地认证请求包括用户信息,该用户信息指用户的IP地址等信息。
[0034] 其中,vLAC设备可以是任何能够运行vLAC的设备,示例性的,当vLAC 运行在数据中心服务器时,该数据中心服务器可以是vLAC设备。以及,第一服务器可以是raidus服务器。
[0035] 具体地,首先,CPE发起用户上线业务流程,并将协议报文发送到vLAC 设备,vLAC设备接收这些协议报文并对其进行合法性检查解析。然后,vLAC 设备根据解析结果向其连接的第一服务器发起本地认证请求,第一服务器根据本地认证请求携带的用户信息进行认证,第一服务器认证之后为所述用户授权vLNS的相关信息(例如vLNS的IP地址),并可将这些信息以radius协议的回应报文形式发送给vLAC设备。
[0036] 步骤202、SDN控制器分别向第一转发设备和第二转发设备发送协议报文流表,使得与第一转发设备连接的vLAC设备和与第二转发设备连接的 vLNS设备进行隧道协商。
[0037] 其中,为了实现功能复用和提高设备功能的利用率,本公开实施例的第一转发设备和第二转发设备可以是可编程的通用转发设备,用于在转发层面实现可编程功能。
[0038] 其中,本公开实施例的SDN控制器是同一个SDN控制器,然而在实际组网中也可能是不同的SDN控制器。当vLAC设备与vLNS设备存在于不同的网络中时,vLAC设备和vLNS设备分别由不同的SDN控制器控制,vLAC设备和vLNS设备分别向不同的SDN控制器上报隧道信息。
[0039] 具体地,在用户通过vLAC设备接收到vLNS的相关信息后,vLAC设备向vLNS设备发起隧道连接请求以进行隧道协商。在该隧道协商过程中,SDN 控制器向第一转发设备发送协议报文流表,使vLAC设备到vLNS设备的协议报文转发到连接第二转发设备的端口,并使vLNS设备到vLAC设备的协议报文转发到连接vLAC设备的第一转发设备的端口;同时,SDN控制器向第二转发设备发送协议报文流表,并使vLNS到vLAC的协议报文转发到连接第一转发设备的端口,使vLAC到vLNS的协议报文转发到连接vLNS的第二转发设备的端口。
[0040] 步骤203、隧道协商成功后,vLAC设备和vLNS设备向SDN控制器发送隧道信息,SDN控制器根据隧道信息分别向第一转发设备和第二转发设备发送隧道转发流表。
[0041] 具体地,vLAC设备和vLNS设备的隧道协商成功之后,vLAC设备和vLNS 设备分别向SDN控制器上报隧道信息。接着,SDN控制器分别向第一转发设备和第二转发设备发送隧道转发流表,该流表用于告知第一和第二转发设备如何建立隧道。
[0042] 步骤204、vLAC设备通过vLNS设备向与vLNS设备连接的第二服务器发送远端认证请求,第二服务器根据远端认证请求完成认证。
[0043] 其中,远端认证请求包括用户信息,该用户信息指用户的IP地址等信息。以及,第二服务器可以是raidus服务器。
[0044] 具体地,vLAC通过第一、第二转发设备之间的隧道将用户信息发送到远端的vLNS设备,进行用户远端认证。其中,vLNS设备将接收的用户信息发送到第二服务器进行认证,第二服务器为用户分配相关上线资源,该相关上线资源包括带宽、IP地址等资源。然后,vLNS设备通过第一、第二转发设备之间的隧道向用户下发第二服务器为用户分配的上线资源。
[0045] 步骤205、SDN控制器分别向第一转发设备和第二转发设备发送协商报文转发需要的流表,使得与第一转发设备连接的vLAC设备和与第二转发设备连接的vLNS设备进行会话协商。
[0046] 步骤206、会话协商成功后,vLAC设备和vLNS设备向SDN控制器发送会话信息,SDN控制器根据会话信息分别向第一转发设备和第二转发设备发送用户会话转发流表,从而用户上线成功。
[0047] 具体地,会话协商成功后,vLAC设备和vLNS设备向SDN控制器发送用户会话信息,该用户会话信息包括用户、服务器的交互信息。接着,SDN 控制器根据该用户会话信息向第一转发设备和第二转发设备发送用户会话转发流表,该表用于告知第一和第二转发设备如何建立会话。由此,用户上线成功。
[0048] 在用户上线成功之后,隧道和会话的保活功能仍然由vLAC设备和vLNS 设备之间协商保持。具体而言,vLAC设备间歇性地向vLNS设备发送连接请求,vLNS设备回应请求。每次连接成功后,vLAC设备和vLNS设备将成功连接的信息上报到SDN控制器,SDN控制器向第一和第二转发设备下发保活报文转发流表,第一和第二转发设备根据该流表实现隧道和会话的连接有效性。
[0049] 本公开的实施例一提供的一种用户接入方法,vLAC设备接收用户上线请求,vLAC设备向与其连接的第一服务器发起本地认证请求,且SDN控制器分别向第一和第二转发设备发送协议报文流表,使得vLAC设备和vLNS设备进行隧道协商,接着隧道协商成功,vLAC设备和vLNS设备向SDN控制器发送隧道信息,SDN控制器根据隧道信息分别向第一和第二转发设备发送隧道转发流表,之后vLAC设备通过vLNS设备向第二服务器发送远端认证请求,且SDN控制器分别向第一和第二转发设备发送协商报文转发需要的流表,使得vLAC设备和vLNS设备进行会话协商,最后会话协商成功,vLAC设备和vLNS设备向SDN控制器发送会话信息,SDN控制器根据会话信息分别向第一和第二转发设备发送用户会话转发流表,从而用户上线成功。因此本公开的实施例提供的用户接入方法通过专用的转发设备,避免了vLAC设备和 vLNS设备所在的服务器转发容量小而导致的数据流量转发速度缓慢的问题,从而提高了流量转发速度。
[0050] 此外,经过上述各个步骤,用户可通过隧道及会话对远端资源进行访问,流量可通过第一和第二转发设备直接转发,而不需要再到vLAC设备和vLNS 设备进行转发。而且,隧道和会话的保活功能仍然由vLAC设备和vLNS设备之间协商保持,可编程通用转发设备根据保活报文转发流表进行转发,由此实现了转发和控制的分离,保证了用户和业务的延续性和体验。
[0051] 可选地,在本公开一个实施例中,为了建立上线请求报文的转发路径,在vLAC设备接收用户上线请求之前,该方法还可包括以下步骤:
[0052] 首先,SDN控制器获取第一转发设备、第二转发设备、vLAC设备、vLNS 设备的设备注册信息;然后,SDN控制器向第一转发设备发送用于用户接入协议的上下行流表,使第一转发设备根据该流表将上行报文发送到vLAC设备并将下行报文发送到CPE。
[0053] 在此步骤中,在第一、第二转发设备、vLAC设备、vLNS设备在与SDN 控制器联网后,通过这些设备与SDN控制器的拓扑发现注册,SDN控制器获取第一转发设备、第二转发设备、vLAC设备、vLNS设备的设备注册信息。接着,SDN控制器根据第一转发设备的业务要求向第一转发设备发送用于用户接入协议的上下行流表,第一转发设备根据该流表将上行报文发送到vLAC 设备并将下行报文发送到CPE。
[0054] 可选地,在本公开的另一实施例中,第一转发设备可包括第一端口、第二端口和第三端口,其中,第一端口与CPE连接,第二端口与vLAC设备连接,第三端口与第二转发设备连接。在第一转发设备接收报文并对其进行解析后,可出现以下几种情形:
[0055] 第一种情形,若第一转发设备判断所述报文是从第二端口收到的下行协议报文,则通过第一端口将所述报文发送到CPE;
[0056] 第二种情形,若第一转发设备判断所述报文是从第一端口收到的上行协议报文,则通过第二端口将报文发送到vLAC设备;
[0057] 第三种情形,若第一转发设备判断所述报文是从第三端口收到的协商报文,则通过第二端口将所述报文发送到vLAC设备;
[0058] 第四种情形,若第一转发设备判断所述报文是从第二端口收到的协商报文,则通过第三端口将所述报文发送到第二转发设备;
[0059] 第五种情形,若第一转发设备判断所述报文是从第一端口收到的、且源 IP地址为用户地址的业务流量报文,则为所述报文增加隧道和会话信息,并通过第三端口将所述报文发送到第二转发设备。
[0060] 在上述五个情形中,第一种和第二种情形通常用于认证过程,第三种、第四种和第五种情形通常用于协商过程。
[0061] 此外,在本公开的一个实施例中,在用户上线成功后,当用户不需要对上述的远端进行访问时,用户还可以发起下线请求,这种情况下,如图3所示,本公开实施例还可包括以下步骤:
[0062] 207、vLAC设备接收用户发起的下线请求,第一转发设备根据下线请求协议报文转发所需的流表将下线请求报文发送到vLAC设备;
[0063] 208、vLAC设备向vLNS设备发起删除隧道及会话协商流程,以协商删除隧道和会话;
[0064] 209、vLAC设备和vLNS设备分别向SDN控制器上报用户下线信息及相关隧道和会话信息;
[0065] 210、SDN控制器分别向第一转发设备和第二转发设备发送删除隧道和用户会话转发所需的流表信息,使第一转发设备与第二转发设备分别删除本地流表。
[0066] 在上述步骤207-210的基础上,还可以有以下步骤:
[0067] 211、vLAC设备和vLNS设备分别向第一和第二服务器发送计费结束信息,第一和第二服务器停止用户计费。
[0068] 其中,若在L2TP接入的场景下,则第一和第二服务器停止L2TP用户计费。
[0069] 此外,在上述步骤207-210中,若第一转发设备判断所述报文是从第三端口收到的、且目的IP地址为用户地址的业务流量报文,则根据所述报文删除隧道和会话信息,并通过所述第一端口将所述报文发送到所述CPE。
[0070] 实施例二
[0071] 相应地,如附图4所示,本公开的实施例二提供了一种软件定义网络SDN 控制器40,包括:
[0072] 发送模块401,用于向第一转发设备和第二转发设备分别发送协议报文流表,使得与第一转发设备连接的vLAC设备和与第二转发设备连接的vLNS 设备进行隧道协商。
[0073] 其中,为了实现功能复用和提高设备功能的利用率,本公开实施例的第一转发设备和第二转发设备可以是可编程的通用转发设备,用于在转发层面实现可编程功能。
[0074] 具体地,在用户通过vLAC设备接收到vLNS的相关信息后,vLAC设备向vLNS设备发起隧道连接请求以进行隧道协商。在该隧道协商过程中,SDN 控制器40的发送模块401向第一转发设备发送协议报文流表,使vLAC设备到vLNS设备的协议报文转发到连接第二转发设备的端口,并使vLNS设备到 vLAC设备的协议报文转发到连接vLAC设备的第一转发设备的端口;同时, SDN控制器40的发送模块401向第二转发设备发送协议报文流表,并使vLNS 到vLAC的协议报文转发到连接第一转发设备的端口,使vLAC到vLNS的协议报文转发到连接vLNS的第二转发设备的端口。
[0075] 接收模块402,用于接收vLAC设备和vLNS设备发送的隧道信息。
[0076] 此种情况下,发送模块401用于,根据所述隧道信息分别向第一转发设备和第二转发设备发送隧道转发流表。
[0077] 具体地,vLAC设备和vLNS设备的隧道协商成功之后,vLAC设备和vLNS 设备分别向SDN控制器40上报隧道信息,则SDN控制器40的接收模块402 接收到该隧道信息。接着,SDN控制器40发送模块401的分别向第一转发设备和第二转发设备发送隧道转发流表,该流表用于告知第一和第二转发设备如何建立隧道。
[0078] 发送模块401还用于,分别向第一转发设备和第二转发设备发送协商报文转发需要的流表,使得与第一转发设备连接的vLAC设备和与第二转发设备连接的vLNS设备进行会话协商。
[0079] 接收模块402还用于,接收vLAC设备和vLNS设备发送的会话信息。
[0080] 此种情况下,发送模块401还用于,根据会话信息分别向第一转发设备和第二转发设备发送用户会话转发流表,从而用户上线成功。
[0081] 具体地,会话协商成功后,SDN控制器40的接收模块402接收vLAC设备和vLNS设备发送的用户会话信息,该用户会话信息包括用户、服务器的交互信息。接着,SDN控制器的发送模块401根据该用户会话信息向第一转发设备和第二转发设备发送用户会话转发流表,该表用于告知第一和第二转发设备如何建立会话。由此用户上线成功。
[0082] 需注意的是,本公开实施例的SDN控制器是同一个SDN控制器,然而在实际组网中也可能是不同的SDN控制器。当vLAC设备与vLNS设备存在于不同的网络中时,vLAC设备和vLNS设备分别由不同的SDN控制器控制,vLAC设备和vLNS设备分别向不同的SDN控制器上报信息。
[0083] 本公开的实施例二提供的SDN控制器40,发送模块401向第一和第二转发设备分别发送协议报文流表,使得vLAC设备和vLNS设备进行隧道协商;接收模块402接收vLAC设备和vLNS设备发送的隧道信息;发送模块401还用于根据隧道信息分别向第一转发设备和第二转发设备发送隧道转发流表;以及,分别向第一和第二转发设备发送协商报文转发需要的流表,使得vLAC设备和vLNS设备进行会话协商;接收模块402还用于接收vLAC设备和vLNS设备发送的会话信息;发送模块401还用于根据会话信息分别向第一和第二转发设备发送用户会话转发流表,从而用户上线成功。因此本公开的实施例提供的SDN控制器 40通过对专用的转发设备进行控制,避免了vLAC设备和vLNS设备所在的服务器转发容量小而导致的数据流量转发速度缓慢的问题,从而提高了流量转发速度。
[0084] 可选地,在本公开的一个实施例中,如图5所示,SDN控制器40还包括:
[0085] 获取模块403,用于获取第一转发设备、第二转发设备、vLAC设备、vLNS 设备的设备注册信息;
[0086] 此种情况下,发送模块401还用于,向第一转发设备发送用于用户接入协议的上下行流表,使第一转发设备根据该流表将上行报文发送到所述vLAC 设备并将下行报文发送到用户终端设备CPE。
[0087] 具体地,在第一、第二转发设备、vLAC设备、vLNS设备在与SDN控制器联网后,通过这些设备与SDN控制器的拓扑发现注册,SDN控制器40的获取模块403获取第一转发设备、第二转发设备、vLAC设备、vLNS设备的设备注册信息。接着,SDN控制器的发送模块401根据第一转发设备的业务要求向第一转发设备发送用于用户接入协议的上下行流表,第一转发设备根据该流表将上行报文发送到vLAC设备并将下行报文发送到CPE。
[0088] 可选地,在本公开的一个实施例中,发送模块401还用于,分别向第一转发设备与第二转发设备发送删除隧道和用户会话转发所需的流表信息,使所述第一转发设备与所述第二转发设备分别删除本地流表。
[0089] 实施例三
[0090] 相应地,如图6所示,本公开的实施例三提供了一种转发设备60,该转发设备包括:接收模块601,用于从软件定义网络SDN控制器接收协议报文流表、隧道转发流表以及用户会话转发流表。
[0091] 本公开的实施例三提供的转发设备60,接收模块601用于从软件定义网络SDN控制器接收协议报文流表、隧道转发流表以及用户会话转发流表,对用户上线成功后的数据流量转发提供了环境条件,避免了vLAC设备和 vLNS设备所在的服务器转发容量小而导致的数据流量转发速度缓慢的问题,从而提高了流量转发速度。
[0092] 可选地,在本公开的一个实施例中,如图7所示,当转发设备60是第一转发设备61时,接收模块601还用于接收所述SDN控制器发送的用于用户接入协议的上下行流表;
[0093] 这种情况下,第一转发设备61还包括:发送模块602,用于根据所述流表将上行报文发送到所述vLAC设备并将下行报文发送到用户终端设备CPE。
[0094] 进一步地,在本公开的一个实施例中,第一转发设备61包括第一端口、第二端口和第三端口,第一端口与CPE连接,第二端口与vLAC设备连接,第三端口与所述第二转发设备连接;如图8所示,第一转发设备61 包括处理模块603,处理模块603具体用于:
[0095] 若判断所述报文是从所述第二端口收到的下行协议报文,则通过所述第一端口将所述报文发送到所述CPE;
[0096] 若判断所述报文是从所述第一端口收到的上行协议报文,则通过所述第二端口将所述报文发送到所述vLAC设备;
[0097] 若判断所述报文是从所述第三端口收到的协商报文,则通过所述第二端口将所述报文发送到所述vLAC设备;
[0098] 若判断所述报文是从所述第二端口收到的协商报文,则通过所述第三端口将所述报文发送到所述第二转发设备;
[0099] 若判断所述报文是从所述第一端口收到的、且源IP地址为用户地址的业务流量报文,则为所述报文增加隧道和会话信息,并通过所述第三端口将所述报文发送到所述第二转发设备。
[0100] 可选地,在本公开的另一个实施例中,接收模块601还用于,接收SDN 控制器发送的删除隧道和会话转发所需的流表信息;
[0101] 此种情况下,转发设备60还包括:删除模块,用于根据删除隧道和会话转发所需的流表信息,删除本地流表。
[0102] 实施例四
[0103] 相应地,如附图9所示,本公开的实施例四提供了一种用户接入系统10,该用户接入系统包括如上述实施例二中所提供的SDN控制器40以及上述实施例三中所提供的转发设备60,其中转发设备60包括第一转发设备61和第二转发设备62。
[0104] 优选地,如附图10所示,用户接入系统10可包括SDN控制器40、第一转发设备61、第二转发设备62、vLAC设备50、第一服务器70、vLNS设备 80、第二服务器90。其中,SDN控制器40分别与第一转发设备61、第二转发设备62、vLAC设备50、vLNS设备80连接。vLAC设备50一方面和第一服务器70连接,另一方面又和第一转发设备61连接;vLNS设备80一方面和第二服务器90连接,另一方面又和第二转发设备62连接。第一转发设备 61和用户终端设备CPE 
20连接,第二转发设备和英特网30连接。
[0105] 在上述实施例中,第一和第二转发设备可以是可编程转发设备,第一和第二服务器可以是Radius服务器。
[0106] 本公开的实施例提供的一种用户接入系统,该系统包括SDN控制器和转发设备,其中转发设备包括一转发设备和第二转发设备。当用户发起上线请求时,SDN控制器分别向第一和第二转发设备发送协议报文流表,使得vLAC 设备和vLNS设备进行隧道协商,接着,隧道协商成功,vLAC设备和vLNS 设备向SDN控制器发送隧道信息,SDN控制器根据隧道信息分别向第一和第二转发设备发送隧道转发流表,之后vLAC设备通过vLNS设备向第二服务器发送远端认证请求,且SDN控制器分别向第一和第二转发设备发送协商报文转发需要的流表,使得vLAC设备和vLNS设备进行会话协商,最后,会话协商成功,vLAC设备和vLNS设备向SDN控制器发送会话信息,SDN控制器根据会话信息分别向第一和第二转发设备发送用户会话转发流表,从而用户上线成功。因此本公开的实施例提供的用户接入系统通过SDN控制器和专用的第一和第二转发设备,避免了vLAC设备和vLNS设备所在的服务器转发容量小而导致的数据流量转发速度缓慢的问题,从而提高了流量转发速度。
[0107] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本公开可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机存储器(英文全称:RandomAccess Memory,英文简称:RAM)、只读存储器(英文全称:Read Only Memory,英文简称:ROM)、电可擦可编程只读存储器(英文全称:Electrically Erasable Programmable Read Only Memory,英文简称:EEPROM)、只读光盘(英文全称:Compact Disc Read Only Memory,英文简称:CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户专线(英文全称:Digital Subscriber Line,英文简称:DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在计算机可读介质的定义中。
[0108] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,当以软件方式实现本公开时,可以将用于执行上述方法的指令或代码存储在计算机可读介质中或通过计算机可读介质进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、电可擦可编程只读存储器(全称:electrically erasableprogrammable read-only memory,简称:EEPROM)、光盘、磁盘或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
[0109] 以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。