基于L2TP的设备管理方法、设备及系统
技术领域
本发明实施例涉及网络技术领域,特别涉及一种基于L2TP的设备管理方法、设备及系统。
背景技术
VPDN(Virtual Private Dial-up Networks,虚拟专用拨号网)是一种能够提供以拨号接入方式上网的虚拟专用网,其具体利用隧道协议来实现,即将数据封装在利用隧道协议建立的隧道中进行传输。由于在现有的隧道协议中,二层隧道协议(Layer2Tunneling Protocol,L2TP)已经成为一种工业标准的隧道协议,因此VPDN主要采用的隧道协议也就是L2TP协议。在L2TP协议中,L2TP访问集中器(L2TP Access Concentrator,LAC)和L2TP网络服务器(L2TP Network Server,LNS)是L2TP隧道两端的设备,LAC用于向LNS发起隧道建立请求,LNS用于接收LAC发起的隧道建立请求,并向该LAC发送建立响应,当LAC接收到该LNS发送的建立响应后,即可成功建立到该LNS之间的L2TP隧道。
图1A为一种L2TP协议的网络架构图,如图1A所示,L2TP协议的网络架构通常包括LAC侧10和LNS侧20。其中,LAC侧10包括多个LAC11和AAA(Authentication、Authorization、Accounting,认证授权及计费)服务器12,该AAA服务器12与该多个LAC11分别连接,用于为各个LAC11提供验证、授权以及计费服务;LNS侧20包括多个LNS21。而且,每个LNS21可以包括至少一个隧道接口,通过一个隧道接口可以建立一条L2TP隧道。隧道接口是指LNS创建的用于建立L2TP隧道的逻辑接口或物理接口,如lookback(环回接口)等,建立L2TP隧道时,隧道接口地址可以作为L2TP隧道的源地址或目的地址。
目前在基于L2TP建立隧道的过程中,AAA服务器12可以获取LNS侧20中每个LNS21包括的至少一个隧道接口的标识,得到多个隧道接口的标识,并将该多个隧道接口的标识存储在接口信息列表中。其中,每个隧道接口的标识用于指示一个隧道接口和该隧道接口所属的LNS。当接收到任一LAC11的上线请求时,AAA服务器12可以将该接口信息列表发送给该LAC11,该LAC11即可基于该接口信息列表中的多个隧道接口信息,选择建立隧道的LNS21和隧道接口,并向选择的LNS21发起隧道建立请求。该选择的LNS21接收到该LAC11的请求后,即可建立从该选择的隧道接口到该LAC11的L2TP隧道。
由于上述AAA服务器向LAC发送的接口信息列表中包括所有LNS的所有隧道接口的标识,因此,LAC基于该接口信息列表选择建立隧道的LNS和隧道接口时,所选择的LNS或隧道接口可能会不满足工作要求,导致所选择的LNS接收到建立隧道请求后,无法建立隧道或建立的隧道质量较差。因此,目前亟需一种基于L2TP的设备管理方法,以避免LAC会选择出不满足工作要求的LNS或隧道接口。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种基于L2TP的设备管理方法、设备及系统。所述技术方案如下:
第一方面,提供了一种基于L2TP的设备管理方法,应用于控制器中,所述控制器与L2TP网络服务器LNS侧的多个LNS分别连接,且所述控制器与L2TP访问集中器LAC侧的认证授权及计费AAA服务器连接,所述方法包括:
接收来自所述多个LNS中的每个LNS的设备信息,所述设备信息包括对应LNS的设备标识和设备状态信息;
根据所述多个LNS中的每个LNS的设备信息确定所述多个LNS中的不可用LNS;
向所述AAA服务器发送第一通知消息,所述第一通知消息携带所述不可用LNS的隧道接口的标识,所述第一通知消息用于通知所述AAA服务器将所述不可用LNS的隧道接口的标识从存储的接口信息列表中删除。
本发明实施例中,在LAC侧和LNS侧之间引入了控制器,该控制器可以通过接收来自LNS侧的多个LNS中的每个LNS的设备信息,监控LNS侧中每个LNS的设备状态,并基于每个LNS设备信息确定该多个LNS中的不可用LNS,向LAC侧的AAA服务器发送携带不可用LNS的隧道接口的标识的第一通知消息,通知该AAA服务器将不可用LNS的隧道接口的标识从存储的接口信息列表中删除,得到更新后的接口信息列表。
由于更新后的接口信息列表已删除了不可用LNS的隧道接口的标识,因此更新后的接口信息列表中包括的所有隧道接口的标识对应的LNS均可用,且可用LNS的每个隧道接口也均可用,因此,当LAC基于更新后的接口信息列表选择LNS和隧道接口时,所选择的任一LNS和任一隧道接口也均可用,从而解决了所选择的LNS或者隧道接口可能不满足工作条件,导致的无法建立隧道或建立的隧道质量较差的问题,提高了隧道建立的成功率和稳定性。
在另一实施例中,所述设备状态信息包括故障信息、中央处理器CPU利用率、内存占用量、承载L2TP隧道的出接口的总流量和总承载的用户量中的至少一个;
所述根据所述多个LNS中的每个LNS的设备信息确定所述多个LNS中的不可用LNS,包括以下方式中的至少一种:
当目标LNS的设备状态信息中存在故障信息时,将所述目标LNS确定为不可用LNS,所述目标LNS为所述多个LNS中的任一LNS;
当目标LNS的CPU利用率大于第一预设阈值时,将所述目标LNS确定为不可用LNS;
当目标LNS的内存占用量大于第二预设阈值时,将所述目标LNS确定为不可用LNS;
当目标LNS的承载L2TP隧道的出接口的总流量大于第三预设阈值时,将所述目标LNS确定为不可用LNS;
当目标LNS的总承载的用户量大于第四预设阈值时,将所述目标LNS确定为不可用LNS;
相应地,所述不可用LNS的隧道接口的标识是指所述不可用LNS的所有隧道接口的标识。
本发明实施例中,控制器可以基于每个LNS的故障信息、中央处理器CPU利用率、内存占用量、承载L2TP隧道的出接口的总流量和总承载的用户量等设备状态信息,确定每个LNS是否可用,并将该不可用LNS的所有隧道接口的标识作为需要删除的不可用LNS的隧道接口的标识。通过当某一LNS的设备状态信息中存在故障信息时,通知AAA服务器将该LNS的所有隧道接口的标识从接口信息列表中删除,实现了对LNS故障状态的迅速感知,避免了当某一LNS发生故障时,LAC仍向该LNS发送隧道建立请求导致的隧道建立失败的情况。通过当某一LNS的CPU利用率、内存占用量、承载L2TP隧道的出接口的总流量和总承载的用户量中的至少一个大于阈值时,通知AAA服务器将该LNS的所有隧道接口的标识从接口信息列表中删除,实现了对LNS负载状态的迅速感知,避免了现网中出现的某些LNS已经超负载,某些LNS接入用户量非常少,这种LNS负载不均衡、资源分配不合理的问题,从而保证了LNS负载的均衡,提高了隧道建立的稳定性。
在另一实施例中,所述向所述AAA服务器发送第一通知消息之后,还包括:
当根据所述不可用LNS的设备信息,确定所述不可用LNS在排除问题后恢复为可用LNS时,向所述AAA服务器发送第二通知消息,所述第二通知消息携带所述可用LNS的所有隧道接口的标识,用于通知所述AAA服务器在所述接口信息列表中增加所述可用LNS的所有隧道接口的标识。
本发明实施例中,当识别到原来不可用的LNS在排除问题后恢复为可用LNS时,还可以向AAA服务器发送第二通知消息,指示AAA服务器将恢复为可用的LNS的隧道接口的标识增加至接口信息列表。如此,可以将排除问题后的LNS重新引入L2TP网络中来分担负载,达到了均衡负载的目的。
在另一实施例中,所述设备信息还包括对应LNS包括的至少一个隧道接口的标识和隧道接口状态信息;
所述根据所述多个LNS中的每个LNS的设备信息确定所述多个LNS中的不可用LNS,包括:
根据所述多个LNS中的每个LNS的设备信息中包括的至少一个隧道接口的标识和隧道接口状态信息,确定所述多个LNS中存在不可用隧道接口的LNS;
将所述多个LNS中存在不可用隧道接口的LNS确定为所述多个LNS中的不可用LNS;
相应地,所述第一通知消息携带所述不可用LNS中不可用隧道接口的标识,所述第一通知消息用于通知所述AAA服务器将所述不可用LNS中不可用隧道接口的标识从存储的接口信息列表中删除。
所述隧道接口状态信息包括对应隧道所承载的用户量和隧道接口的流量中的至少一个;
在另一实施例中,所述根据所述多个LNS中的每个LNS的设备信息中包括的至少一个隧道接口的标识和隧道接口状态信息,确定所述多个LNS中存在不可用隧道接口的LNS,包括:
对于所述多个LNS中的每个LNS,当所述LNS包括的至少一个隧道接口中目标隧道接口对应的隧道所承载的用户量大于第五预设阈值时,将所述目标隧道接口确定为所述LNS中的不可用隧道接口,并将所述LNS确定为存在不可用隧道接口的LNS,所述目标隧道接口为所述LNS包括的至少一个隧道接口中的任一接口;
当所述LNS包括的至少一个隧道接口中目标隧道接口的流量大于第六预设阈值时,将所述目标隧道接口确定为所述LNS中的不可用隧道接口,并将所述LNS确定为存在不可用隧道接口的LNS。
本发明实施例中,控制器还可以监控LNS包括的至少一个隧道接口中每个隧道接口的状态,当某一隧道接口的流量或者对应隧道承载的用户量大于阈值时,即可将该隧道接口确定为不可用隧道接口,并指示AAA服务器将不可用隧道接口的标识从接口信息列表中删除。如此,对于每个LNS来说,可以仅排除该LNS中超负荷的隧道接口,仍保留未超负荷的隧道接口,实现了隧道接口粒度上的负载均衡,提高了精确度。
在另一实施例中,所述向所述AAA服务器发送第一通知消息之后,还包括:
当根据所述不可用LNS中不可用隧道接口的隧道接口状态信息,确定所述不可用隧道接口在排除问题后恢复为可用隧道接口时,向所述AAA服务器发送第三通知消息,所述第三通知消息携带所述可用隧道接口的标识,所述第三通知消息用于通知所述AAA服务器在所述接口信息列表中增加所述可用隧道接口的标识。
本发明实施例中,当识别到原来不可用的隧道接口在排除问题后恢复为可用隧道接口时,还可以向AAA服务器发送第三通知消息,指示AAA服务器将恢复为可用的隧道接口的标识增加至接口信息列表。如此,可以将排除问题后的隧道接口重新引入L2TP网络中来分担负载,达到了隧道接口粒度上的负载均衡。
在另一实施例中,所述接收来自所述多个LNS中的每个LNS的设备信息,包括:
通过网络配置协议NETCONF接收来自所述多个LNS中的每个LNS的设备信息;或者,
通过简单网络管理协议SNMP接收来自所述多个LNS中的每个LNS的设备信息。
本发明实施例中,通过利用NETCONF或SNMP来获取LNS侧多个LNS的设备信息,提高了获取LNS设备信息的准确度和效率。
在另一实施例中,所述向所述AAA服务器发送第一通知之前,还包括:
与所述AAA服务器建立远程用户拨号认证系统Radius连接;
相应地,所述向所述AAA服务器发送第一通知消息,包括:
通过所述Radius连接向所述AAA服务器发送所述第一通知消息。
本发明实施例中,可以在控制器和AAA服务器之间建立Radius连接,利用Radius连接向AAA服务器发送第一通知消息,也即是,基于Radius协议实现控制器和AAA服务器之间通知消息的交互,而无需再为控制器和AAA服务器构建专用的通信协议,节省了成本。
第二方面,提供一种基于二层隧道协议L2TP的设备管理方法,其特征在于,应用于认证授权及计费AAA服务器中,所述AAA服务器与控制器以及L2TP访问集中器LAC侧的多个LAC分别连接,所述控制器与L2TP网络服务器LNS侧的多个LNS分别连接,所述方法包括:
接收所述控制器发送的第一通知消息,所述第一通知消息携带不可用LNS的隧道接口的标识,且所述第一通知消息由所述控制器在基于所述多个LNS中的每个LNS的设备信息,确定出所述多个LNS中的所述不可用LNS时发送,所述设备信息包括对应LNS的设备标识和设备状态信息;
将所述不可用LNS的隧道接口的标识从存储的接口信息列表中删除。
在另一实施例中,所述将所述不可用LNS的隧道接口的标识从存储的接口信息列表中删除,包括:
当所述第一通知消息携带所述不可用LNS中所有隧道接口的标识时,将所述不可用LNS中所有隧道接口的标识从存储的接口信息列表中删除。
在另一实施例中,所述将所述不可用LNS的隧道接口的标识从存储的接口信息列表中删除之后,还包括:
接收所述控制器发送的第二通知消息,所述第二通知消息携带可用LNS的所有隧道接口的标识,所述第二通知消息由所述控制器基于所述不可用LNS的设备信息,确定所述不可用LNS在排除问题后恢复为可用LNS时发送;
在所述接口信息列表中增加所述可用LNS的所有隧道接口的标识。
在另一实施例中,所述将所述不可用LNS的隧道接口的标识从存储的接口信息列表中删除,包括:
当所述第一通知消息携带所述不可用LNS中不可用隧道接口的标识时,将所述不可用LNS中不可用隧道接口的标识从存储的接口信息列表中删除,所述第一通知消息由所述控制器基于所述多个LNS中的每个LNS的设备信息中包括的至少一个隧道接口的标识和隧道接口状态信息,确定出所述多个LNS中存在不可用隧道接口的LNS时发送。
在另一实施例中,所述将所述不可用隧道接口的标识从存储的接口信息列表中删除之后,还包括:
接收所述控制器发送的第三通知消息,所述第三通知消息携带可用隧道接口的标识,所述第三通知消息由所述控制器基于所述不可用LNS中不可用隧道接口的隧道接口状态信息,确定所述不可用隧道接口在排除问题后恢复为可用隧道接口时发送;
在所述接口信息列表中增加所述可用隧道接口的标识。
在另一实施例中,所述将所述不可用LNS的隧道接口的标识从存储的接口信息列表中删除之后,还包括:
当接收到所述LAC侧任一LAC发送的上线请求时,将更新后的所述接口信息列表发送给所述LAC,指示所述LAC基于所述更新后的接口信息列表选择建立隧道的LNS和隧道接口。
第三方面,提供了一种控制器,所述控制器具有实现上述第一方面中基于L2TP的设备管理方法的功能。该控制器包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的基于L2TP的设备管理方法。
第四方面,提供了一种认证授权及计费AAA服务器,所述AAA服务器具有实现上述第二方面中基于L2TP的设备管理方法的功能。该AAA服务器包括至少一个模块,该至少一个模块用于实现上述第二方面所提供的基于L2TP的设备管理方法。
第五方面,提供了一种控制器,所述控制器的结构中包括处理器和存储器。所述存储器用于存储支持控制器执行上述基于L2TP的设备管理方法的程序,以及存储用于实现该基于L2TP的设备管理方法所涉及的数据,该数据可以为LNS的设备信息、隧道接口的标识等。所述处理器被配置为用于执行所述存储器中存储的程序。所述控制器还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第六方面,提供了一种认证授权及计费AAA服务器,所述AAA服务器的结构中包括处理器和存储器。所述存储器用于存储支持控制器执行上述基于L2TP的设备管理方法的程序,以及存储用于实现该基于L2TP的设备管理方法所涉及的数据,该数据可以为隧道接口的标识、接口信息列表等。所述处理器被配置为用于执行所述存储器中存储的程序。所述AAA服务器还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第七方面,本发明实施例提供了一种计算机存储介质,用于储存上述控制器所用的计算机软件指令,或存储用于执行上述第一方面和第三方面的控制器所涉及的程序。
第八方面,本发明实施例提供了一种计算机存储介质,用于储存上述AAA服务器所用的计算机软件指令,或存储用于执行上述第二方面和第四方面的AAA服务器所涉及的程序。
第九方面,本发明实施例提供了一种基于L2TP的设备管理系统,所述设备管理系统包括控制器、L2TP访问集中器LAC侧和L2TP网络服务器LNS侧,所述LAC侧包括认证授权及计费AAA服务器和多个LAC,所述LNS侧包括多个LNS,所述控制器与所述AAA服务器以及所述LNS侧的多个LNS分别连接,所述系统用于实现上述第一方面所提供的基于L2TP的设备管理方法。
上述本发明实施例第二到第九方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,在LAC侧和LNS侧之间引入了控制器,该控制器可以根据LNS侧多个LNS中的每个LNS的设备信息确定该多个LNS中的不可用LNS,并向LAC侧的AAA服务器发送第一通知消息,通知该AAA服务器将不可用LNS的隧道接口的标识从存储的接口信息列表中删除,得到更新后的接口信息列表。由于更新后的接口信息列表已删除了不可用LNS的隧道接口的标识,因此更新后的接口信息列表中包括的所有隧道接口的标识对应的LNS均可用,且可用LNS的每个隧道接口也均可用,因此,当LAC基于更新后的接口信息列表选择LNS和隧道接口时,所选择的任一LNS和任一隧道接口也均可用,从而解决了所选择的LNS或者隧道接口可能不满足工作条件,导致的无法建立隧道或建立的隧道质量较差的问题,提高了隧道建立的成功率和稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明实施例提供的一种L2TP协议的网络架构图;
图1B是本发明实施例提供的另一种L2TP协议的网络架构图;
图1C是本发明实施例提供的又一种L2TP协议的网络架构图;
图1D是本发明实施例提供的又一种L2TP协议的网络架构图;
图1E是本发明实施例提供的一种控制器的硬件结构示意图;
图1F是本发明实施例提供的一种AAA服务器的硬件结构示意图;
图2是本发明实施例提供的一种基于L2TP的设备管理方法流程图;
图3是本发明实施例提供的一种控制器的结构示意图;
图4是本发明实施例提供的一种AAA服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细的解释说明之前,先对本发明实施例的应用场景予以介绍。本发明实施例提供的一种基于L2TP的设备管理方法应用于L2TP协议的网络中。
图1B为本发明实施例提供的另一种L2TP协议的网络架构图,参见图1B,该L2TP协议的网络架构包括LAC侧10、LNS侧20和控制器30。其中,LAC侧10包括多个LAC11和AAA服务器12,LNS侧20包括多个LNS21,控制器30与该AAA服务器12以及LNS侧20的多个LNS21分别连接。
另外,LNS侧20也可以包括一个AAA服务器(图1B中未示出),该LNS侧20的AAA服务器与多个LNS21分别连接,用于为各个LNS21提供验证、授权以及计费服务。
其中,LAC可以为电信运营商的设备,例如可以为电信运营商的NAS(NetworkAccess Server,网络接入服务器,而LNS可以为电信运营商的设备,也可以为企业客户的设备,例如可以为电信运营商的路由器或服务器等,本发明实施例对此不做限定。实际应用中,用户设备可以通过电信运营商的接入网络接入LAC11,再通过L2TP隧道连接到远端的LNS21。而且在L2TP网络中,用户设备可以通过拨号向LAC11发送拨号请求,当LAC11接收到该拨号请求时,即可向LAC侧的AAA服务器发送上线请求。其中,该拨号请求可以携带用户输入的用户账号和密码等。
参考图1B可知,本发明实施例基于图1A所示的现有L2TP协议的网络架构,在LAC侧10和LNS侧20之间引入了一个控制器30。该控制器30用于监控LNS侧20中多个LNS21的设备状态,根据各个LNS21的设备状态,向AAA服务器12发送通知消息,指示各个LNS21是否可用,以及是否可以将各个LNS21的隧道接口的标识下发给该LAC侧10的LAC11。
具体地,该控制器30用于接收来自LNS侧的多个LNS21中的每个LNS21的设备信息,该设备信息包括对应LNS21的设备标识和设备状态信息;根据该多个LNS21中的每个LNS21的设备信息确定该多个LNS21中的不可用LNS21;向LAC侧的AAA服务器12发送第一通知消息,该第一通知消息携带该不可用LNS的隧道接口的标识。
该AAA服务器12用于接收该控制器30发送的该第一通知消息,根据该第一通知消息将不可用LNS21的隧道接口的标识从存储的接口信息列表中删除;当接收到该LAC10侧中任一LAC11发送的上线请求时,将更新后的该接口信息列表发送给该LAC11。
该LAC11用于接收该AAA服务器12发送的更新后的该接口信息列表,基于更新后的该接口信息列表选择建立L2TP隧道的LNS21和隧道接口,向选择的LNS21发送隧道建立请求,该隧道建立请求携带选择的隧道接口的标识。
该选择的LNS21用于当接收到该LAC11发送的该隧道建立请求时,向该LAC11发送建立响应,以通过该选择的隧道接口建立到该LAC11之间的L2TP隧道。
其中,控制器30和各个LNS21之间可以通过有线网络或者无线网络连接。进一步地,控制器30与各个LNS21之间可以建立指定网络管理协议连接,以便控制器30通过该指定网络管理协议获取各个LNS21的设备信息。该指定网络管理协议可以为NETCONF(NetworkConfiguration Protocol,网络配置协议)或者SNMP(Simple Network ManagementProtocol,简单网络管理协议)等。接下来将对NETCONF和SNMP作进一步地详细描述:
1)控制器30与各个LNS21之间建立NETCONF连接,通过NETCONF获取各个LNS21的设备信息。
NETCONF是一种基于XML(Extensible Markup Language,可扩展标记语言)的网络配置和管理协议,可以对网络设备的配置信息和状态信息进行管理。其具体采用XML作为配置数据和协议消息的编码方式,使用C/S(客户机/服务器)模式获取设备的管理信息。
本发明实施例中,控制器30可以通过schema或者yang接口建立NETCONF连接,其中schema和yang均属于XML中的数据建模语言。而且,可以在控制器30中配置NETCONF管理端,在每个LNS21中配置NETCONF代理端,控制器30通过配置的NETCONF管理端,以远程过程调用方式获取NETCONF代理端的设备信息。其中,NETCONF管理端可以通过get命令或者get-config命令来获取各个NETCONF代理端的设备信息。
2)控制器30与各个LNS21之间建立SNMP连接,通过SNMP获取各个LNS21的设备信息。
SNMP是广泛应用于TCP/IP(Transmission Control Protocol/InternetProtocol,传输控制协议/互联网协议)网络的网络管理标准协议,能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。建立SNMP连接时,可以在管理端控制器30中配置SNMP管理器(Manager),在每个被管理端LNS21中配置SNMP代理器(Agent)。所述管理器用于运行管理程序,所述代理器用于运行代理程序。
在一个实施例中,控制器30可以通过配置的Manager,从各个LNS配置的Agent中主动获取对应LNS的设备信息。例如,控制器30可以通过配置的Manager,周期性地从各个LNS配置的Agent中查询对应LNS的设备信息。在另一实施例中,每个LNS也可以通过配置的Agent及时向Manager上报当前的设备信息。例如,LNS可以在设备发生故障时,通过配置的Agent向Manager上报故障信息。
需要说明的是,本发明实施例中,在使用NETCONF的实现方式中控制器30承担了部分NETCONF管理端的功能,在使用SNMP的实现方式中控制器30承担了部分SNMP管理端的功能,也即是,控制器30承担了网络管理系统的部分功能,能够对LNS侧20中的多个LNS21的设备信息进行管理和维护。
另外,该控制器30和该AAA服务器12之间也可以通过有线网络或者无线网络进行连接。本发明实施例中,控制器30可以与AAA服务器12之间建立Radius(RemoteAuthentication Dial In User Service,拨号用户远程认证服务)连接,以通过该Radius连接向AAA服务器12发送通知消息,通知各个LNS21的隧道接口是否可用。
进一步地,上述L2TP协议的网络架构中还可以包括LTS(L2TP Tunnel Switch,L2TP隧道交换器),LTS可以作为隧道中间交换节点,同时具有LAC和LNS的功能。也即是,LTS即可作为LAC的LNS,接收LAC发送的隧道建立请求,建立L2TP隧道,也可以作为LNS的LAC,向LNS发送隧道建立请求,请求建立L2TP隧道。
图1C为本发明实施例提供的又一种L2TP协议的网络架构图,参见图1C,该L2TP协议的网络架构包括LAC侧10、LTS侧40、LNS侧20和控制器30。
其中,LAC侧10包括多个LAC11和AAA服务器12,且AAA服务器12与该多个LAC11分别连接,用于为各个LAC11提供验证、授权以及计费服务。LTS侧40包括多个LTS41和AAA服务器42,且AAA服务器41与该多个LTS41分别连接,用于为各个LTS41提供验证、授权以及计费服务;LNS侧20包括多个LNS21。
控制器30与LAC侧10的AAA服务器12连接,并与LTS侧40的多个LTS41连接,可以根据该多个LTS41中每个LTS41的设备信息,确定该多个LTS41中的不可用LTS41,并不可用LTS41的隧道接口的标识发送至LAC侧10的AAA服务器12,以便AAA服务器12根据不可用LTS41的隧道接口的标识更新存储的LTS接口信息列表。而且,控制器30还与LTS侧40的AAA服务器42连接,并与LNS侧20的多个LNS21分别连接,可以基于多个LNS21中每个LNS21的设备信息,确定该多个LNS21中的不可用LNS21,并将不可用LNS21的隧道接口的标识发送至LTS侧40的AAA服务器42,以便AAA服务器42根据不可用LNS21的隧道接口的标识更新存储的LNS接口信息列表。
在另一个实施例中,图1C中的控制器30还可以被拆分为图1D所示的控制器31和控制器32。图1D为本发明实施例提供的又一种L2TP协议的网络架构图,参见图1D,控制器31与LAC侧的AAA服务器12连接,并与LTS侧40的多个LTS41连接,用于基于LTS侧40中多个LTS41的设备信息,通知LAC侧10的AAA服务器12更新存储的LTS接口信息列表。控制器32与LTS侧40的AAA服务器42连接,并与LNS侧20的多个LNS21分别连接,用于基于LNS侧20中多个LNS21的设备信息,通知LTS侧40的AAA服务器42更新存储的LNS接口信息列表。
图1E是本发明实施例提供的一种控制器的硬件结构示意图,参见图1E,该控制器可以包括通信总线131、存储器132、发射机133、接收机134和处理器135,且存储器132、发射机133、接收机134和处理器135可以通过通信总线131通信。
其中,发射机133和接收机134用于与其他网络设备通信,如该控制器30可以通过接收机134与LNS侧的多个LNS进行通信,获取每个LNS的设备信息;或者通过发射机133与LAC侧的AAA服务器进行通信,向该AAA服务器发送通知消息。
其中,存储器132,用于存储程序;处理器135,用于调用存储器132中存储的程序,实现上述基于L2TP的设备管理方法。
需要说明的是,上述处理器135可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。这些指令可以通过其中的处理器以配合实现及控制。上述处理器还可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
上述通用处理器可以是微处理器,或者也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
另外,发射机133和接收机134可以为单独的两个硬件,也可以作为一个整体集成在该控制器中,如该发射机133和接收机134可以集成为一个收发机。
另外,该控制器还可以包括通信接口,用于支持该控制器与其他网络设备的通信。通信总线131除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明,在图1E中将各种总线都标为通信总线131。
另外,该控制器还可以配置网络管理协议的管理端,如NETCONF管理端或者SNMP管理端,以通过对应的网络管理协议接收来自LNS侧的多个LNS的设备信息。
图1F是本发明实施例提供的一种AAA服务器的硬件结构示意图,参见图1F,该控制器可以包括通信总线231、存储器232、发射机233、接收机234和处理器235,且存储器232、发射机233、接收机234和处理器235可以通过通信总线231通信。
其中,发射机233和接收机234用于与其他网络设备通信,如该AAA服务器可以通过接收机234与控制器进行通信,获取控制器发送的通知消息;或者通过发射机233与LAC侧的LAC进行通信,向该LAC发送接口信息列表。
其中,存储器132,用于存储程序;处理器135,用于调用存储器132中存储的程序,实现上述基于L2TP的设备管理方法。
需要说明的是,上述处理器235可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。这些指令可以通过其中的处理器以配合实现及控制。上述处理器还可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
上述通用处理器可以是微处理器,或者也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
另外,发射机233和接收机234可以为单独的两个硬件,也可以作为一个整体集成在该控制面节点中,如该发射机233和接收机234可以集成为一个收发机。
另外,该控制器还可以包括通信接口,用于支持该控制器与其他网络设备的通信。通信总线231除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明,在图1F中将各种总线都标为通信总线231。
图2是本发明实施例提供的一种基于L2TP的设备管理方法流程图,该方法应用于图1B所示的L2TP网络架构中,参见图2,该方法包括:
步骤201:控制器接收来自LNS侧的多个LNS中的每个LNS的设备信息,该设备信息包括对应LNS的设备标识和设备状态信息。
实际应用中,控制器可以与LNS侧的多个LNS之间建立指定网络管理协议连接,通过指定网络管理协议接收来多个LNS的设备信息。该指定网络管理协议可以为NETCONF或者SNMP等。其中,具体协议连接的建立过程,可以参考上述应用场景的相关描述,本发明实施例在此不再赘述。
具体地,接收来自LNS侧的多个LNS中的每个LNS的设备信息的实现方式包括以下方式中的至少一种:通过NETCONF接收来自LNS侧的多个LNS中的每个LNS的设备信息;或者,通过SNMP接收来自LNS侧的多个LNS中的每个LNS的设备信息。
由于NETCONF和SNMP均为目前发展较为成熟的网络管理协议,能够实现对网络设备的设备信息进行监控和管理,因此,通过利用NETCONF或SNMP来接收LNS侧多个LNS的设备信息,提高了获取LNS设备信息的准确度和效率。
其中,每个LNS的设备信息可以包括对应LNS的设备标识和设备状态信息。LNS的设备标识可以为该LNS的出厂序列号、MAC(Media Access Control,媒体访问控制)地址、设备的IP(Internet Protocol,互联网协议)地址等,本发明实施例对此不做限定。
LNS的设备状态信息可以包括故障信息、CPU(Central Processing Unit,中央处理器)利用率、内存占用量、承载L2TP隧道的出接口的总流量和总承载的用户量中的至少一种。其中,故障信息用于指示LNS处于故障状态。中央处理器CPU利用率、内存占用量、承载L2TP隧道的出接口的总流量和总承载的用户量等信息为LNS的负载信息,用于指示LNS的整机负载状态。当然LNS的设备状态信息也可以包括能够反映LNS的其他设备状态的信息,本发明实施例对此不做限定。
通过获取上述两种类型的设备状态信息,该控制器可以对LNS侧各个LNS的故障状态和整机负载状态实施监控,从而能够快速呈现设备的故障问题和整机负载能力,解决了现有网络架构中无法对LNS的设备状态进行监控的问题。
步骤202:控制器根据该多个LNS中的每个LNS的设备信息确定该多个LNS中的不可用LNS。
根据设备信息的不同,确定不可用LNS的方式也不同。具体可以包括以下两种实现方式:
第一种方式:当每个LNS的设备信息包括对应LNS的设备标识和设备状态信息时,根据多个LNS中的每个LNS的设备状态信息,确定该多个LNS中的不可用LNS。
根据多个LNS中的每个LNS的设备状态信息,确定多个LNS中的不可用LNS的方式包括以下方式中的至少一种:当目标LNS的设备状态信息中存在故障信息时,将该目标LNS确定为不可用LNS,该目标LNS为该多个LNS中的任一LNS;当目标LNS的CPU利用率大于第一预设阈值时,将该目标LNS确定为不可用LNS;当目标LNS的内存占用量大于第二预设阈值时,将该目标LNS确定为不可用LNS;当目标LNS的承载L2TP隧道的出接口的总流量大于第三预设阈值时,将该目标LNS确定为不可用LNS;当目标LNS的总承载的用户量大于第四预设阈值时,将该目标LNS确定为不可用LNS。
其中,LNS的故障信息用于指示LNS处于故障状态,即LNS发生了故障,无法进行正常工作,从而也就无法成功建立L2TP隧道,因此当目标LNS的设备状态信息中存在故障信息时,可以将该目标LNS确定为不可用LNS。
其中,承载L2TP隧道的出接口的总流量是指该目标LNS中所有承载L2TP隧道的出接口的流量的总和,用于指示该目标LNS当前处理L2TP隧道业务所占用的带宽,出接口是指该LNS中进行网络传输的物理接口。所述总承载的用户量是指该目标LNS包括的所有隧道接口对应的隧道所承载的用户量的总和。
上述第一预设阈值、第二预设阈值、第三预设阈值和第四预设阈值均可根据具体LNS的负载能力进行设置,而且上述预设阈值可以由控制器设置,可以由各个LNS设置,也可以由控制器和对应LNS协商设置,本发明实施例对此不做限定。
上述CPU利用率、内存占用量、承载L2TP隧道的出接口的总流量和总承载的用户量等信息均为LNS的负载信息,用于指示LNS的整机负载状态。当目标LNS的上述任一种负载信息超出阈值时,即可确定该目标LNS处于整机超负荷状态,也即是,该目标LNS当前的负载已经超出了整机负载能力,正在超负荷运作,无法再接收新的隧道建立请求。因此,当目标LNS的上述任一种负载信息超出阈值时,可以将该目标LNS确定为不可用LNS。
需要说明的是,本发明实施例仅是以分别根据上述几种负载因素和对应的预设阈值,来确定目标LNS是否处于整机超负荷状态,进而确定该目标LNS是否可用为例进行说明,而实际应用中,还可以结合上述任几种负载因素对该LNS的负载状态进行综合分析,或者,根据其他可以指示整机负载能力的因素来确定该LNS是否处于整机超负荷状态,本发明实施例对此不做限定。
第二种方式:当设备信息还包括对应LNS包括的至少一个隧道接口的标识和隧道接口状态信息时,根据该多个LNS中的每个LNS的设备信息中包括的至少一个隧道接口的标识和隧道接口状态信息,确定该多个LNS中存在不可用隧道接口的LNS,将该多个LNS中存在不可用隧道接口的LNS确定为该多个LNS中的不可用LNS。
LNS可以包括至少一个隧道接口,每个隧道接口是指该LNS创建的用于建立L2TP隧道的逻辑接口或物理接口,具体可以为lookback(环回接口)等。建立L2TP隧道时,隧道接口地址可以作为L2TP隧道的源地址或目的地址。
控制器还可以根据LNS中的某个隧道接口的隧道接口状态信息确定该隧道接口是否处于超负荷状态,当确定该隧道接口处于超负荷状态时,则该隧道接口将无法再承载新的任务,也即是,该LNS的隧道接口不可用,该LNS也就无法再通过该隧道接口建立L2TP隧道,因此可以将存在不可用隧道接口的LNS确定为不可用LNS。
具体地,隧道接口状态信息可以包括对应隧道所承载的用户量和隧道接口的流量中的至少一个,根据多个LNS中的每个LNS的设备信息中包括的至少一个隧道接口的标识和隧道接口状态信息,确定该多个LNS中存在不可用隧道接口的LNS的方式包括以下方式中的至少一种:
1)对于该多个LNS中的每个LNS,当该LNS包括的至少一个隧道接口中目标隧道接口对应的隧道所承载的用户量大于第五预设阈值时,将该目标隧道接口确定为该LNS中的不可用隧道接口,并将该LNS确定为存在不可用隧道接口的LNS,该目标隧道接口为该LNS包括的至少一个隧道接口中的任一接口。
2)对于该多个LNS中的每个LNS,当该LNS包括的至少一个隧道接口中目标隧道接口的流量大于第六预设阈值时,将该目标隧道接口确定为该LNS中的不可用隧道接口,并将该LNS确定为存在不可用隧道接口的LNS。
其中,第五预设阈值可以根据LNS中每个隧道接口对应的隧道能够承担的具体用户量阈值进行设置,第六预设阈值可以根据LNS中的每个隧道接口的带宽阈值进行设置,而且该第五预设阈值和该第六预设阈值可以由控制器设置,可以由各个LNS设置,也可以由控制器和对应LNS协商设置,本发明实施例对此不做限定。
步骤203:控制器向LAC侧的AAA服务器发送第一通知消息,该第一通知消息携带不可用LNS的隧道接口的标识。
其中,该第一通知消息用于通知该LAC侧的AAA服务器将不可用LNS的隧道接口的标识从存储的接口信息列表中删除。
需要说明的是,在上述第一种方式中,当LNS处于故障状态或整机超负荷状态时,表示该LNS整机都无法处理新的隧道建立请求,因此,该LNS的所有隧道接口都不可用,需要将该LNS的所有隧道接口的标识删除。而在上述第二种方式中,当LNS中的某个隧道接口处于超负荷状态,但可能其他隧道接口未处于超负荷状态,因此该LNS可能仍可接收隧道建立请求,只是只能通过其他接口来建立L2TP隧道,也即是,只有超负荷的隧道接口不可用,其他隧道接口仍可用,只需将超负荷的隧道接口的标识删除即可。因此,该第一通知消息可以包括以下两种实现形式:
1)当通过上述第一种方式确定出不可用LNS时,该第一通知消息携带的不可用LNS的隧道接口的标识是指该不可用LNS的所有隧道接口的标识,该第一通知消息携带用于通知该LAC侧的AAA服务器将不可用LNS的所有隧道接口的标识从存储的接口信息列表中删除。
2)当通过上述第二种方式确定出不可用LNS时,该第一通知消息携带不可用LNS中不可用隧道接口的标识,用于通知该LAC侧的AAA服务器将不可用LNS中不可用隧道接口的标识从存储的接口信息列表中删除。
其中,隧道接口的标识可以包括隧道接口的接口地址、隧道接口对应的隧道标识、隧道接口所属的LNS的设备标识等。比如,隧道接口的标识可以包括隧道接口的Tunnel-Server-Endpoint(隧道服务器端点)和Tunnel-Assignment-ID(隧道分配编号)。其中,Tunnel-Server-Endpoint是指隧道接口的IP地址,Tunnel-Assignment-ID是指隧道接口对应隧道的编号。
实际应用中,控制器可以预先与LAC侧的AAA服务器建立Radius连接,以便通过该Radius连接发送该第一通知消息。具体地,可以通过Radius报文发送该第一通知消息。例如,可以对Radius协议中的Radius报文进行扩展,在扩展出的字段中发送该第一通知消息;或者对Radius报文中原有的指定字段进行扩展,在该指定字段中发送该第一通知消息。在一个具体实施例中,该控制器可以对Radius报文中的Status-Client—Experimental字段进行扩展,在该Status-Client—Experimental字段中携带该第一通知消息。
步骤204:LAC侧的AAA服务器接收该控制器发送的第一通知消息,根据该第一通知消息,将不可用LNS的隧道接口的标识从存储的接口信息列表中删除。
其中,该接口信息列表中包括各个LNS的所有隧道接口的标识,用于下发给具体的LAC,以使LAC基于该接口信息列表选择建立隧道的LNS和隧道接口。
具体地,根据该第一通知消息,将不可用LNS的隧道接口的标识从存储的接口信息列表中删除,可以包括以下方式中的至少一种:
第一种方式:当该第一通知消息携带不可用LNS的所有隧道接口的标识时,将不可用LNS的所有隧道接口的标识从该接口信息列表中删除。
第二种方式:当该第一通知消息携带不可用LNS中不可用隧道接口的标识时,将不可用LNS中不可用隧道接口的标识从该接口信息列表中删除。
实际应用中,根据接口信息列表存储方式的不同,将不可用LNS的隧道接口的标识从存储的接口信息列表中删除的实现过程也不同,具体可以包括以下方式中的至少一种:
在第一种实现方式中,该AAA服务器可以预先存储一个接口信息列表,该接口信息列表中包括LNS侧各个LNS的所有隧道接口的标识。当接收该控制器发送的第一通知消息时,即可根据该第一通知消息,将不可用LNS的隧道接口的标识从该接口信息列表中删除,并将更新后的接口信息列表下发给具体的LAC。
在第二种实现方式中,该AAA服务器还可以从接口状态列表中获取该接口信息列表,并通过对接口状态列表的操作,将不可用LNS的隧道接口的标识从该接口信息列表中删除。
具体地,该AAA服务器还可以存储一个接口状态列表,该接口状态列表中包括各个LNS的隧道接口的标识和对应的状态标识。该状态标识可以包括第一状态标识和第二状态标识,第一状态标识用于指示对应的隧道接口可用,该隧道接口的标识可以下发给LAC;第二状态标识用于指示对应的隧道接口不可用,该隧道接口的标识不能下发给LAC。在向LAC下发接口信息列表之前,该AAA服务器可以先基于该接口状态列表中的状态标识,确定所有可用的隧道接口,并将所有可用的隧道接口的标识进行组合,得到该接口信息列表。
而当LAC侧的AAA服务器接收到该控制器发送的第一通知消息时,可以获取该第一通知消息中携带的不可用LNS的隧道接口的标识,并在该状态列表中,将该不可用LNS的隧道接口的标识对应的状态标识由第一状态标识切换为第二状态标识,以将该不可用LNS的隧道接口的标识从接口信息列表中删除。
例如,若第一状态标识为0、第二状态标识为1,且当前该不可用LNS的所有隧道接口的状态标识均为0,则当接收到控制器发送的第一通知消息,且该通知消息携带该不可用LNS的所有隧道接口的标识时,即可将该不可用LNS的所有隧道接口的状态标识由0切换为1,以将该LNS的所有隧道接口的标识从要下发给LAC的接口信息列表中删除。
步骤205:当LAC接收到用户终端的拨号请求时,该LAC向LAC侧的AAA服务器发送上线请求。
其中,该LAC可以为LAC侧中的任一LAC,且LAC的上线请求由用户终端发送的拨号请求触发。
实际应用中,用户终端可以在基于当前输入的用户账号和密码检测到拨号操作时,向LAC侧的LAC发送拨号请求,且该拨号请求可以携带该用户账号和密码。当该LAC接收到该拨号请求时,即可向AAA服务器发送上线请求,该上线请求也携带该用户账号和密码,以便AAA服务器对该用户账号进行授权、认证或者计费等管理。
步骤206:该LAC侧的AAA服务器当接收到该LAC发送的上线请求时,将更新后的接口信息列表发送给该LAC。
步骤207:该LAC接收该LAC侧的AAA服务器发送的更新后的接口信息列表,基于该更新后的接口信息列表选择建立L2TP隧道的LNS和隧道接口,向选择的LNS发送隧道建立请求。
该LAC可以从更新后的接口信息列表中选择隧道接口的标识,确定该选择的隧道接口的标识指示的LNS,并将指示的LNS确定为所选择的LNS。且该隧道建立请求中携带选择的隧道接口的标识,以便LNS基于该选择的隧道接口的标识建立隧道。
由于更新后的接口信息列表已删除了不可用LNS的隧道接口的标识,因此更新后的接口信息列表中包括的所有隧道接口的标识对应的LNS均可用,且可用LNS的每个隧道接口也均可用,因此,当LAC基于该更新后的接口信息列表选择LNS和隧道接口时,所选择的任一LNS和任一隧道接口也均可用。
步骤208:该选择的LNS当接收到该LAC发送的隧道建立请求时,向该LAC发送建立响应,以通过该选择的隧道接口建立到该LAC之间的L2TP隧道。
当该选择的LNS接收到LAC发送的隧道建立请求后,即可基于该请求中携带的隧道接口的标识向该LAC发送建立响应,该建立响应指示该隧道建立请求验证通过,当LAC接收到该建立响应后,即可成功建立到该选择的LNS的隧道接口之间的L2TP隧道。
其中,LNC与LNS之间建立隧道的具体过程可以参考相关技术,本发明实施例在此不再详细赘述。
例如,若该隧道接口的标识中包括隧道接口地址,则当LAC接收到该建立响应后,即可以该LAC的地址为起始地址,以该隧道接口地址为目的地址,建立从该LAC到该隧道接口之间的L2TP隧道。
现网中,当某一LNS处于故障状态时,若LAC仍向该LNS发送隧道建立请求,由于该LNS出现了故障,该LNS将无法响应该隧道建立请求,导致隧道建立失败。而本发明实施例通过对LNS的故障状态实施监控,当任一LNS处于故障状态时,通知LAC侧的AAA服务器将该LNS的所有隧道接口的标识从接口信息列表中删除,实现了对LNS故障状态的迅速感知,避免了当某一LNS发生故障时,LAC仍向该LNS发送隧道建立请求导致的隧道建立失败的情况,实现了LNS故障之后业务的快速切换,提高了隧道建立的成功率。
另外,现网中,当某一LNS处于整机超负荷状态时,若LAC仍向该LNS发送隧道建立请求,则可能会导致该LNS的隧道拥堵,从而无法成功建立L2TP隧道或者建立的隧道质量较差。而本发明实施例中,通过对LNS的负载状态实施监控,当任一LNS处于整机超负荷状态时,通知LAC侧的AAA服务器将该LNS的所有隧道接口的标识从接口信息列表中删除,实现了对LNS负载能力的迅速感知,避免了现网中出现的某些LNS已经超负载,某些LNS接入用户量非常少,这种LNS负载不均衡的情况,进而解决了由于负载不均衡导致的资源分配不合理和网络资源浪费的问题,保证了多个LNS间负载的均衡,提高了L2TP网络的性能和隧道的建立效果。
另外,通过对LNS中单一隧道接口的负载状态实施监控,当任一隧道接口超负荷时,通知AAA服务器将该LNS中超负荷的隧道接口的标识从接口信息列表中删除,在LNS粒度上的负载均衡之外,还实现了隧道接口粒度上的负载均衡,提高了精确度。
进一步地,为了提高负载均衡的效果,当该LNS通过排除故障或者减轻负载,已由不可用LNS恢复为可用LNS时,该控制器还可以将排除问题后的LNS再次引入该L2TP网络中来分担负载。
具体地,在控制器向LAC侧的AAA服务器发送第一通知消息之后,可以继续接收不可用LNS的设备信息,并基于该不可用LNS的设备信息确定该不可用LNS是否已恢复。当根据该不可用LNS的设备信息,确定该不可用LNS在排除问题后恢复为可用LNS时,向该LAC侧的AAA服务器发送第二通知消息,该第二通知消息携带该可用LNS的所有隧道接口的标识,用于通知该LAC侧的AAA服务器在该接口信息列表中增加该可用LNS的所有隧道接口的标识。而当该LAC侧的AAA服务器接收到该控制器发送的第二通知消息时,即可根据该第二通知消息,在该接口信息列表中增加该可用LNS的所有隧道接口的标识,并重复步骤205-208的操作。
其中,基于该不可用LNS的设备信息,确定该不可用LNS是否在排除问题后恢复为可用LNS的方式,可以包括以下方式中的至少一种:
第一种方式:当基于该不可用LNS的设备信息,确定该不可用LNS从故障状态恢复为正常状态,即故障排除时,确定该不可用LNS恢复为可用LNS。
第二种方式:当基于该LNS的设备信息,确定该LNS从整机超负荷状态恢复为正常状态,即整机负载下降时,确定该不可用LNS恢复为可用LNS。
进一步地,当不可用LNS中的某个不可用隧道接口在排除问题后,已由不可用隧道接口恢复为可用隧道接口时,该控制器还可以将排除问题后的隧道接口再次引入该L2TP网络中来分担负载。
具体地,在控制器向LAC侧的AAA服务器发送第一通知消息之后,还可以继续接收不可用LNS中不可用隧道接口的隧道接口状态信息,并基于该不可用隧道接口的隧道接口状态信息确定该不可用隧道接口的问题是否已排除。当根据该不可用LNS中不可用隧道接口的隧道接口状态信息,确定该不可用隧道接口在排除问题后恢复为可用隧道接口时,向该LAC侧的AAA服务器发送第三通知消息,该第三通知消息携带该可用隧道接口的标识,用于通知该LAC侧的AAA服务器在该接口信息列表中增加该可用隧道接口的标识。而当该LAC侧的AAA服务器接收到该控制器发送的第三通知消息时,即可根据该第三通知消息,在该接口信息列表中增加该可用隧道接口的标识,并重复步骤205-208的操作。
其中,可以在确定不可用隧道接口由超负荷状态恢复为正常状态,即该隧道接口的负载下降时,确定该不可用隧道接口恢复为可用隧道接口。
其中,根据该接口信息列表获取方式的不同,根据第二通知消息或第三通知消息在该接口信息列表中增加隧道接口的标识的方式也不同,具体可以包括以下方式中的至少一种:
第一种方式:当该LAC侧的AAA服务器通过步骤204中的第一种实现方式存储该接口信息列表时,该LAC侧的AAA服务器即可在接收到该第二通知消息或第三通知消息时,直接在该接口信息列表中增加隧道接口的标识,得到更新后的接口信息列表,并将更新后的接口信息列表下发给LAC。
第二种方式:当该LAC侧的AAA服务器通过步骤204中的第二种实现方式存储该接口信息列表时,则该LAC侧的AAA服务器可以在接收到该第二通知消息或第三通知消息时,在上述接口状态列表中,将隧道接口的标识对应的状态标识从第二状态标识切换为第一状态标识,以在接口信息列表中增加隧道接口的标识。
需要说明的是,本发明实施例仅是以LAC侧的AAA服务器根据控制器发送的通知消息,对存储的同一接口信息列表进行更新,并将更新后的接口信息列表发送至任一LAC为例进行说明,而实际应用中,AAA服务器还可以针对不同LAC发送的上线请求,或者针对上线请求中携带的不同用户账号,发送不同的接口信息列表;或者,根据控制器发送的通知消息,对存储的不同接口信息列表进行更新,本发明实施例对此不做限定。
例如,LAC侧的AAA服务器可以根据控制器发送的通知消息,对存储的同一接口信息列表进行更新,得到更新后的接口信息列表;当接收到LAC发送的上线请求后,从更新后的接口信息列表中选择与该LAC或者与该上线请求中携带的用户账号对应的LNS和隧道接口,将选择的隧道接口的标识组成一个新的接口信息列表发送至该LAC。
或者,该AAA服务器可以存储多个接口信息列表,每个接口信息列表对应一组LAC或者一组用户账号;当该AAA服务器接收该控制器发送的通知消息时,可以根据该通知消息对存储的多个接口信息列表进行更新;当接收到LAC发送的上线请求后,可以从该多个接口信息列表中选择该LAC对应的接口信息列表,或者该上线请求中携带的用户账号对应的接口信息列表,并将选择的接口信息列表发送至该LAC。
另外,针对上述图1C或者图1D的网络架构,LAC侧10的AAA服务器12可以按照上述方式对存储的LTS接口信息列表进行更新,LTS侧40的AAA服务器42可以按照上述方式对存储的LNS接口信息列表进行更新。其中,LTS接口信息列表存储有LTS侧40中的各个LTS41的隧道接口的标识,LNS接口信息列表存储有LNS侧20中各个LNS21的隧道接口的标识。
例如,对于上述图1C或者图1D的网络架构,控制器30或者控制器31可以接收来自LTS侧40中多个LTS41中的每个LTS41的设备信息,该设备信息包括对应LTS41的设备标识和设备状态信息;根据该多个LTS41中的每个LTS41的设备信息确定该多个LTS41中的不可用LTS41;向LAC侧10的AAA服务器12发送第一通知消息,该第一通知消息携带该不可用LTS41的隧道接口的标识,用于通知该AAA服务器12将该不可用LTS41的隧道接口的标识从存储的LTS接口信息列表中删除。后续当接收到LAC侧10中任一LAC11发送的上线请求时,该AAA服务器12即可将更新后的LTS接口信息列表发送给该LAC11,以便该LAC11基于该更新后的LTS接口信息列表选择LTS41和隧道接口,并向选择的LTS41发送隧道建立请求,该选择的LTS41接收到该LAC11的请求后,即可建立从选择的隧道接口到该LAC11的L2TP隧道。
再例如,对于上述图1C或者图1D的网络架构,控制器30或者控制器32可以接收来自LNS侧20中多个LNS21中的每个LNS21的设备信息,该设备信息包括对应LNS21的设备标识和设备状态信息;根据该多个LNS21中的每个LNS21的设备信息确定该多个LNS21中的不可用LNS21;向LTS侧40的AAA服务器42发送第一通知消息,该第一通知消息携带该不可用LNS21的隧道接口的标识,用于通知该AAA服务器42将该不可用LNS21的隧道接口的标识从存储的LNS接口信息列表中删除。后续当接收到LTS侧40中任一LTS41发送的上线请求时,该AAA服务器42即可将更新后的LNS接口信息列表发送给该LTS41,以便该LTS41基于该更新后的LNS接口信息列表选择LNS21和隧道接口,并向选择的LNS21发送隧道建立请求,该选择的LNS21接收到该LTS41的请求后,即可建立从选择的隧道接口到该LTS41的L2TP隧道。
需要说明的是,对于上述图1C或者图1D的网络架构,LAC11发送的上线请求或者LTS41发送的上线请求也是由用户终端发送的拨号请求触发,具体触发过程可以参考上述相关描述,本发明实施例在此不再赘述。而且,上述LAC10侧的AAA服务器12也可以针对不同LAC发送的上线请求,或者针对上线请求中携带的不同用户账号,发送不同的LTS接口信息列表;同理,上述LTS40侧的AAA服务器42也可以针对不同LTS发送的上线请求,或者针对上线请求中携带的不同用户账号,发送不同的LNS接口信息列表,具体实现过程也可以参考上述相关描述,本发明实施例在此也不再赘述。
综上所述,本发明实施例中,在LAC侧和LNS侧之间引入了控制器,该控制器可以通过接收来自该多个LNS中的每个LNS的设备信息,监控LNS侧中每个LNS的设备状态,并基于每个LNS设备信息确定该多个LNS中的不可用LNS,向LAC侧的AAA服务器发送携带不可用LNS的隧道接口的标识的第一通知消息,通知该LAC侧的AAA服务器将不可用LNS的隧道接口的标识从存储的接口信息列表中删除,得到更新后的接口信息列表。由于更新后的接口信息列表已删除了不可用LNS的隧道接口的标识,因此更新后的接口信息列表中包括的所有隧道接口的标识对应的LNS均可用,可用LNS的每个隧道接口也均可用,因此,当LAC基于更新后的接口信息列表选择LNS和隧道接口时,所选择的任一LNS和任一隧道接口也均可用,从而解决了所选择的LNS或者隧道接口可能不满足工作条件,导致的无法建立隧道或建立的隧道质量较差的问题,提高了隧道建立的成功率和稳定性。
图3是本发明实施例提供的一种控制器的结构示意图,该控制器与LNS侧的多个LNS分别连接,且该控制器与LAC侧的AAA服务器连接。参见图3,该控制器包括:
接收模块301,用于执行上述实施例的步骤201;
处理模块302,用于执行上述实施例的步骤202;
发送模块303,用于执行上述实施例的步骤203。
本发明实施例中,在LAC侧和LNS侧之间引入了控制器,该控制器可以通过接收来自该多个LNS中的每个LNS的设备信息,监控LNS侧中每个LNS的设备状态,并基于每个LNS设备信息确定该多个LNS中的不可用LNS,向LAC侧的AAA服务器发送携带不可用LNS的隧道接口的标识的第一通知消息,通知该LAC侧的AAA服务器将不可用LNS的隧道接口的标识从存储的接口信息列表中删除,得到更新后的接口信息列表。由于更新后的接口信息列表已删除了不可用LNS的隧道接口的标识,因此更新后的接口信息列表中包括的所有隧道接口的标识对应的LNS均可用,可用LNS的每个隧道接口也均可用,因此,当LAC基于更新后的接口信息列表选择LNS和隧道接口时,所选择的任一LNS和任一隧道接口也均可用,从而解决了所选择的LNS或者隧道接口可能不满足工作条件,导致的无法建立隧道或建立的隧道质量较差的问题,提高了隧道建立的成功率和稳定性。
以上接收模块和发送模块可以为发射机,且接收模块和发送模块可以集成在一个收发模块中,对应于硬件实现为收发机。以上处理模块可以以硬件形式内嵌于或独立于该控制器的处理器中,也可以以软件形式存储于该控制器的存储器中,以便于处理器调用执行以上各个模块对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
图4是本发明实施例提供的一种AAA服务器的结构示意图,该AAA服务器与控制器以及LAC侧的多个LAC分别连接,该控制器与LNS侧的多个LNS分别连接。参见图4,该AAA服务器包括:
接收模块401和处理模块402,用于执行上述实施例的步骤204。
可选地,该AAA服务器还包括:
发送模块,用于执行上述实施例的步骤206。
本发明实施例中,AAA服务器可以接收控制器发送的第一通知消息,根据该第一通知消息携带的不可用LNS的隧道接口的标识,将不可用LNS的隧道接口的标识从存储的接口信息列表中删除。由于更新后的接口信息列表已删除了不可用LNS的隧道接口的标识,因此更新后的接口信息列表中包括的所有隧道接口的标识对应的LNS均可用,可用LNS的每个隧道接口也均可用,因此,当LAC基于更新后的接口信息列表选择LNS和隧道接口时,所选择的任一LNS和任一隧道接口也均可用,从而解决了所选择的LNS或者隧道接口可能不满足工作条件,导致的无法建立隧道或建立的隧道质量较差的问题,提高了隧道建立的成功率和稳定性。
以上接收模块和发送模块可以为发射机,且接收模块和发送模块可以集成在一个收发模块中,对应于硬件实现为收发机。以上处理模块可以以硬件形式内嵌于或独立于该控制器的处理器中,也可以以软件形式存储于该控制器的存储器中,以便于处理器调用执行以上各个模块对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
需要说明的是:上述实施例提供的控制器和AAA服务器在实现基于L2TP的设备管理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的控制器和AAA服务器与基于L2TP的设备管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。