一种选择二层隧道协议网络服务器的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及二层隧道协议(Layer 2Tunneling Protocol,L2TP)技术领域,特别是 一种选择二层隧道协议网络服务器的方法和装置。
【背景技术】
[0002] L2TP是一种对点对点协议(Point-to-Point Protocol,PPP)链路层数据包进行 封装并通过隧道进行传输的技术。L2TP允许二层链路端点和PPP会话终点驻留在通过分组 交换网络相连的不同设备上,从而扩展了 PPP模型,使得PPP会话可以跨越分组交换网络。
[0003] L2TP 典型组网包括客户端、L2TP 访问集中器(L2TP Access Concentrator,LAC) 和L2TP网络服务器(L2TP Network Server,LNS)。LAC是在客户端和LNS之间传递数据 的设备,通常是当地互联网服务提供商(ISP)的接入设备,具有PPP和L2TP协议处理能力。 LNS是L2TP协议的服务器端部分,通常是企业内部网的边缘设备。一个LAC可以具有多个 备选LNS。
[0004] 在现有技术中,当LAC具有多个备选LNS时,LAC按照预先设定的配置顺序依次向 备选LNS发起L2TP隧道建立请求。当LAC接收到某个备选LNS的接受应答后,LAC与该备 选LNS建立L2TP隧道,而不再与其他备选LNS建立L2TP隧道。
[0005] 然而,由于没有考虑到备选LNS的实际状况,依据配置顺序与备选LNS建立L2TP 隧道可能无法选择较优的LNS。比如,当LAC具有充足的会话余量时,L2TP业务组网的用 户规格将取决于备选LNS的会话余量。当基于配置顺序所选中的备选LNS的会话余量不足 时,不但造成其余会话余量充足的备选LNS无法得到利用,而且LAC的会话余量也不能得到 充分利用。
【发明内容】
[0006] 有鉴于此,本发明提出一种选择二层隧道协议网络服务器的方法和装置,从而选 择较优的LNS。
[0007] 本发明实施方式的技术方案如下:
[0008] 根据本发明实施方式的一方面,提出一种选择LNS的方法,所述方法应用于LAC, 该方法包括:
[0009] 为每个备选LNS创建对应的虚拟PPP接口,并通过所述虚拟PPP接口与对应的备 选LNS建立二层隧道协议L2TP探测会话;
[0010] 基于各个备选LNS的L2TP探测会话的状态参数,确定备选LNS间的优先级顺序;
[0011] 基于所述优先级顺序,从备选LNS中选择用于建立L2TP用户会话的一或多个LNS。
[0012] 根据本发明实施方式的另一方面,提出一种选择LNS的装置,所述装置应用于 LAC,该装置包括:
[0013] 接口创建模块,用于为每个备选LNS创建对应的虚拟PPP接口,并通过所述虚拟 PPP接口与对应的备选LNS建立L2TP探测会话;
[0014] 优先级顺序确定模块,用于基于各个备选LNS的L2TP探测会话的状态参数,确定 备选LNS间的优先级顺序;
[0015] LNS选择模块,用于基于所述优先级顺序,从备选LNS中选择用于建立L2TP用户会 话的一或多个LNS。
[0016] 不同于现有技术中基于配置顺序选择备选LNS,本发明基于探测会话的状态参数 实时感知每个备选LNS的状态并相应选择备选LNS,从而LAC可以选择出状态更好的备选 LNS以建立L2TP用户会话,有效地将L2TP用户会话分摊到所选中的一个或多个LNS上,降 低了对于LNS的性能规格要求,规避了 LNS规格瓶颈情况。
【附图说明】
[0017] 图1为现有技术中LAC与多个备选LNS的组网示意图;
[0018] 图2为根据本发明实施方式选择LNS的方法流程图;
[0019] 图3为根据本发明实施方式LAC与多个备选LNS的组网示意图;
[0020] 图4为根据本发明实施方式选择LNS的装置结构图。
【具体实施方式】
[0021] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。
[0022] 图1为现有技术中LAC与多个备选LNS的L2TP组网示意图。
[0023] 由图 1 可见,LAC 具有 4 个备选 LNS,分别为 LNS-1,LNS-2, LNS-3 和 LNS-4。LNS-I 的会话余量为2K ;LNS-2的会话余量为5K ;LNS-3的会话余量为4K ;LNS-4的会话余量为 8K。会话余量表示LNS的可接入用户会话数目,K为可接入用户会话数目的单位。基于应 用环境的不同,K可以为1000或1024。
[0024] 假定预先设定的 LNS 配置顺序为:(I)、LNS-I ; (2)、LNS-2 ; (3)、LNS-3 ; (4)、 LNS-4。因此,LAC首先向第一配置顺序的LNS-I发起L2TP隧道建立请求。当LAC接收到 LNS-I的接受应答后,LAC与LNS-I建立L2TP隧道,而且LAC不与其他备选LNS建立L2TP 隧道。可见,LAC与LNS-I建立L2TP隧道后,LNS-2、LNS-3和LNS-4由于配置顺序偏后与 LAC并不建立L2TP隧道。
[0025] 假设LAC的会话余量为10K。LAC与LNS-I建立L2TP隧道后,由于LNS-I的L2TP 会话余量只有2K,因此整个L2TP业务组网的用户规格只可达到2K。
[0026] 由此可见,对于一个具有多个备选LNS的L2TP业务组网,现有技术中基于配置顺 序选择建立L2TP隧道的备选LNS,可能导致LAC的会话余量不能得到充分利用,而且其他会 话余量充分的备选LNS也无法得到利用。
[0027] 在本发明实施方式中,利用虚拟PPP接口模拟PPP用户接入,在LAC与各个备选 LNS之间分别预先建立L2TP隧道,而且在各个L2TP隧道中分别承载有L2TP探测会话。LAC 基于探测会话的状态参数实时感知每个备选LNS的状态,从而LAC可以选择出状态更好的 备选LNS以建立L2TP用户会话。
[0028] 而且,在本发明实施方式中,通过复用承载L2TP探测会话的L2TP隧道,可以将 L2TP用户会话分摊到一或多个备选LNS上,从而可以规避LNS的瓶颈问题。
[0029] 图2为根据本发明实施方式选择LNS的方法流程图,该方法应用于具有多个备选 LNS 的 LAC0
[0030] 如图2所示,该方法包括:
[0031] 步骤201 :为每个备选LNS创建对应的虚拟PPP接口,并通过虚拟PPP接口与对应 的备选LNS建立L2TP探测会话。
[0032] 在这里,在LAC上为每个备选LNS创建具有用户信息的虚拟PPP接口;虚拟PPP接 口基于用户信息模拟PPP用户接入与对应的备选LNS建立L2TP探测会话。具体过程包括:
[0033] (I)、LAC通过虚拟PPP 口模拟PPP用户拨入,向对应的LNS发起L2TP隧道建立请 求。
[0034] (2)、在需要对隧道进行认证的情况下,LAC和对应的LNS分别发送询问握手认证 协议挑战(CHAP challenge信息),以相互验证对方身份。隧道验证通过后,LAC和对应的 LNS之间成功建立L2TP隧道。
[0035] (3)、LAC和对应的LNS在L2TP隧道上协商建立L2TP会话。
[0036] (4)、LAC将PPP用户信息和PPP协商参数等传送给对应的LNS。
[0037] (5)、LNS将认证信息发送给远程用户拨号认证(RADIUS)服务器进行认证。
[0038] (6)、RADIUS服务器认证该用户,并向对应的LNS返回认证结果。
[0039] (7)、当认证通过后,LNS为虚拟PPP 口分配一个企业网内部的IP地址。
[0040] 另外,LAC还可以为各个备选LNS设置配置顺序,并基于配置顺序为每个备选LNS 分配配置序号(LnsIpConfigNo) 〇
[0041 ] 步骤202 :LAC基于各个备选LNS的L2TP探测会话的状态参数,确定备选LNS间的 优先级顺序。
[0042] 在与备选LNS建立L2TP探测会话以及维持L2TP探测会话的过程中,LAC可以感知 L2TP探测会话的状态参数。L2TP探测会话的状态参数反映了备选LNS的状态。因此,LAC 可以基于每个备选LNS的L2TP探测会话的状态参数感知每个备选LNS的状态,并基于备选 LNS的状态确定备选LNS间的优先级顺序。
[0043] 在一个实施方式中,L2TP探测会话的状态参数包括下列中的至少一个:
[0044] (I)、L2TP探测会话所承载的L2TP隧道的连接状态(ProbeTunDisconnect);
[0045] (2)、L2TP 探测会话的连接状态(ProbeSesDisconnect);
[0046] (3)、备选 LNS 的会话余量状态(SesResExhausted)。
[0047] 在一个实施方式中,LAC在与备选LNS建立L2TP探测会话的过程中,通过属性值对 (AVP)消息向备选LNS分别发送会话余量阈值;在与备选LNS建立L2TP探测会话后,当备 选LNS判定自身的会话余量小于等于会话余量阈值时,拆除该备选LNS的L2TP探测会话; LAC进一步更新备选LNS间的优先级顺序;LAC基于更新后的优先级顺序,从备选LNS中选 择用于建立L2TP用户会话的一或多个LNS。其中,LAC发送给各个备选LNS的会话余量阈 值既可以相同,也可以不相同。
[0048] LAC更新备选LNS间的优先级顺序的具体方式可以实施为多种。比如,LAC更新各 个备选LNS的L2TP探测会话的状态参数,并基于更新后的状态参数更新备选LNS间的优先 级顺序。再比如,当备选LNS的L2TP探测会话被拆除后,LAC直接降低该备选LNS的优先 级;当备选LNS的L2TP探测会话重新恢复后,LAC直接提高该备选LNS的优先级,等等。
[0049] 下面分别对各个状态参数进行详细说明:
[0050] ProbeTunDisconnect :表示承载L2TP探测会话的L2TP隧道的连接状态。LAC 在与备选LNS建立L2TP探测会话以及维持L2TP探测会话的过程中,可以实时感知 ProbeTunDisconnect。比如:其值为1表示L2TP隧道已断开,其值为0表示L2TP隧道已建 立。
[0051] ProbeSesDisconnect :表示L2TP探测会话的连接状态。比如,其值为1表示 L2TP探测会话已断开,其值为0表示L2TP探测会话已建立。LAC在维持L2TP探测会话的 过程中,可以实时感知ProbeSesDisconnect。当备选LNS的自身会话余量小于等于会话 余量阈值时,LNS发出CDN协议报文以主动拆除L2TP探测会