首页> 中国专利> 一种接入网络接入服务器的方法和网络接入服务器

一种接入网络接入服务器的方法和网络接入服务器

摘要

本发明提供了一种接入网络接入服务器(LNS)的方法和LNS,LNS接收到来自访问集中器(LAC)的二层隧道协议(L2TP)连接建立请求后,检查该LNS当前的资源使用状况是否满足预设的L2TP接入条件,如果是,启动L2TP进程进行L2TP连接协商;否则向LAC发送L2TP连接失败的报文指示LAC向其它LNS发送L2TP连接建立请求。本发明能够避免用户在接入LNS过程中等待时间过长,且尽可能保证其它重要业务进程的正常工作。

著录项

  • 公开/公告号CN102130818A

    专利类型发明专利

  • 公开/公告日2011-07-20

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN201010004300.9

  • 发明设计人 高凯;

    申请日2010-01-20

  • 分类号H04L12/56(20060101);H04L12/46(20060101);H04L29/06(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人谢安昆;宋志强

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

  • 入库时间 2023-12-18 03:00:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-10

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/70 变更前: 变更后: 申请日:20100120

    专利权人的姓名或者名称、地址的变更

  • 2014-03-19

    授权

    授权

  • 2011-10-05

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20100120

    实质审查的生效

  • 2011-07-20

    公开

    公开

说明书

技术领域

本发明涉及网络通信技术领域,特别涉及一种接入网络接入服务器(LNS)的方法和LNS。

背景技术

远程访问虚拟专用网(Access VPN)向出差流动员工、远程办公人员和远程小办公室提供了通过公用网络与企业内部网络(Intranet)建立私有的网络连接。

二层隧道协议虚拟专用网(L2TP VPN)是Access VPN的一种,采用L2TP构建虚拟专用网络,其典型组网如图1所示,主要包括:远端设备、L2TP访问集中器(LAC)和网络服务器(LNS)。其中,远端设备是要接入Intranet网络的远端用户设备或分支结构,通常是一个用户主机或私有分支网络的一台路由设备。LAC是具有点对点(PPP)端系统和L2TP处理能力的设备,通常是当地网络服务提供商(ISP)的网络接入服务器(NAS),为PPP端设备提供接入服务,其位于远端设备和LNS之间,用于在LNS和远端设备之间传递信息包。LNS既是PPP端设备,又是L2TP协议的服务器端,通常作为一个Intranet网络的边缘设备。在该组网中,通过在公网中建立L2TP隧道连接,将远端设备的PPP连接的另一端由LAC在逻辑上延伸到了Intranet网络的LNS,从而实现远端设备接入Intranet。

在远端设备通过LAC接入LNS的过程中,当LNS接收到来自LAC的二层隧道协议(L2TP)连接建立请求(SCCRQ)后,直接启动L2TP进程进行L2TP连接协商。然而,如果LNS上资源不足够使用时,该L2TP连接无法建立成功,造成用户等待时间过长。另外,如果同时有很多用户需要建立L2TP连接时,CPU和内存资源会被L2TP进程占用,可能会导致其它重要业务的进程无法正常工作。

发明内容

有鉴于此,本发明提供了一种接入LNS的方法和LNS,以便于避免用户在接入LNS过程中等待时间过长,且尽可能保证其它重要业务进程的正常工作。

一种接入LNS的方法,应用于包含LAC和两个以上LNS的L2TP VPN,该方法包括:

LNS接收到来自LAC的L2TP连接建立请求后,检查该LNS当前的资源使用状况是否满足预设的L2TP接入条件,如果是,启动L2TP进程进行L2TP连接协商;否则向LAC发送L2TP连接失败的报文指示LAC向其它LNS发送L2TP连接建立请求。

一种LNS,应用于包含LAC和两个以上所述LNS的L2TP VPN,该LNS包括:请求接收单元、资源检查单元、L2TP协商单元和切换指示单元;

所述请求接收单元,用于接收来自LAC的L2TP连接请求后,向所述资源检查单元发送检查通知;

所述资源检查单元,用于接收到检查通知后,检查所述LNS当前的资源使用状况是否满足预设的L2TP接入条件,如果是,向所述L2TP协商单元发送协商通知;否则向所述切换指示单元发送切换通知;

所述L2TP协商单元,用于接收到协商通知后,与所述LAC进行L2TP连接协商;

所述切换指示单元,用于接收到切换通知后,向所述LAC发送L2TP连接失败的报文指示LAC向其它LNS发送L2TP连接建立请求。

由以上技术方案可以看出,在本发明中,LNS接收到L2TP连接建立请求后,并不是直接启动L2TP进程,而是首先检查LNS当前的资源使用状况是否满足预设的L2TP接入条件,如果满足再启动L2TP进程,如果不满足,则立即向LAC发送L2TP连接失败的报文指示LAC向其它LNS发送L2TP连接建立请求,使得远端的用户能够立即尝试其它LNS的接入,从而避免了用户的长时间等待。另外,通过设定L2TP接入条件,使得LNS当前的资源超过一定限度时,将LNS接入切换到其它LNS上,从而避免LNS的资源被L2TP进程无限占用,保障其它重要业务的进程能够正常工作。

附图说明

图1为L2TP VPN的典型组网示意图;

图2为本发明实施例提供的L2TP VPN的组网结构图;

图3为本发明实施例提供的详细方法流程图;

图4为现有RFC2661协议中规定的StopCCN报文包含的AVP示意图;

图5为本发明实施例提供的LNS结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

本发明提供的方法主要包括:LNS接收到来自LAC的SCCRQ后,检查该LNS当前的资源使用状况是否满足预设的L2TP接入条件,如果是,启动L2TP进程进行L2TP连接协商;否则,向LAC发送L2TP连接失败的报文指示LAC向其它LNS发送L2TP连接建立请求。

上述方法可以应用于包含LAC和与该LAC连接的两个以上LNS的L2TP VPN,远端设备可以通过该LAC与其中一个LNS建立L2TP连接。假设其中一个LNS为主用LNS,其它LNS为备用LNS,下面以图2所示架构为例对上述方法进行详细描述,该方法可以如图3所示,主要包括以下步骤:

步骤301:LAC接收到来自远端设备的接入请求后,向主用LNS发送SCCRQ。

步骤302:主用LNS接收到LAC发送的SCCRQ后,检查该主用LNS当前的资源使用状况是否满足预设的L2TP接入条件,如果是,执行步骤303;否则,执行步骤304。

在本发明中可以预先在所有LNS上均配置L2TP接入条件,只有在接收到SCCRQ的LNS当前的资源使用状况满足预设的L2TP接入条件时,才允许L2TP连接的建立。

L2TP接入条件可以是以下条件中的一种或者任意组合:CPU利用率小于第一阈值,内存利用率小于第二阈值以及当前L2TP连接数小于第三阈值。例如,如果L2TP接入条件是以上条件同时满足,当第一阈值、第二阈值和第三阈值分别预设为80%、70%和200时,可以在同时满足CPU利用率小于80%、内存利用率小于70%且当前L2TP连接数小于200时,接受SCCRQ允许L2TP连接的建立,即执行步骤303;否则,执行304。

步骤303:启动L2TP进程进行L2TP连接协商,结束流程。

步骤304:主用LNS将备用LNS的地址发送给LAC。

本步骤中,主用LNS可以向LAC发送L2TP连接失败的报文,该L2TP连接失败的报文可以指示LAC向备用LNS发送SCCRQ,LAC接收到L2TP连接失败的报文后,按照预先配置在LAC上的备用LNS的地址向备用LNS发送SCCRQ。

更优地,可以预先在主用LNS上配置备用LNS的地址,在备用LNS上配置主用LNS的地址,在上述L2TP连接失败的报文中携带备用LNS的地址,LAC接收到主用LNS发送的L2TP连接失败的报文后,按照其中携带的LNS的地址发送SCCRQ。这样可以不必在LAC上预先配置所有LNS的地址信息,从而节约LAC的配置资源。

更进一步地,还可以预先在主用LNS和备用LNS上分别配置LNS切换次数上限。在向LAC发送L2TP连接失败的报文之前,主用LNS可以首先判断针对该SCCRQ所对应用户的LNS切换次数是否超过预设的上限值,如果没有,则继续执行向LAC发送L2TP连接失败的报文;如果超过,则向LAC发送终止L2TP连接的报文指示LAC终止远端用户的LNS接入。

例如,在主用LNS上可以进行如下配置:

LNS-policy test

{backup_LNS_ip=15.1.1.2

switch_count=1

condition:cpu>80%

memory>70%

action:to backup_LNS

}

在备用LNS上可以进行如下配置:

LNS-policy test

{main_LNS_ip=15.1.1.1

switch_count=0

condition:cpu>80%

memory>70%

action:to main_LNS

}

由于主用LNS是第一次接收到该SCCRQ所对应用户的SCCRQ,尚未进行切换,如果预设在主用LNS上的LNS切换次数上限为1,则没有超过主用切换次数上限值,主用LNS可以将备用LNS的地址发送给LAC。

另外,在主用LNS向LAC发送L2TP连接失败的报文之前,可以首先判断SCCRQ对应的用户是否为重要用户,如果是,则转至执行步骤303;否则向LAC发送L2TP连接失败的报文。也就是说,在不满足L2TP接入条件的情况下,可以仅接受重要用户的LNS接入。

本步骤中,主用LNS向LAC发送L2TP连接失败的报文的具体方式将在后续进行具体描述。

步骤305:LAC按照接收到的备用LNS的地址向备用LNS发送SCCRQ。

步骤306:备用LNS接收到LAC发送的SCCRQ后,检查该备用LNS当前的资源使用状况是否满足预设的L2TP接入条件,如果是,执行步骤307;否则,执行步骤308。

备用LNS接收到SCCRQ后,与主用LNS执行的操作相同,都是首先检查当前的资源使用状况是否满足预设的L2TP接入条件,具体与主用LNS相同,不再赘述。

步骤307:启动L2TP进程进行L2TP连接协商,结束流程。

步骤308:向LAC发送终止L2TP连接的报文。

如果备用LNS确定当前资源使用状况不满足L2TP接入条件,则可以直接向LAC发送L2TP连接失败的报文。也可以首先判断备用LNS针对该SCCRQ所对应远程用户的LNS切换次数是否达到备用LNS上预设的LNS切换次数上限,如果是,向LAC发送终止L2TP连接的报文;否则向LAC发送L2TP连接失败的报文。

同样,备用LNS可以向LAC发送L2TP连接失败的报文,该L2TP连接失败的报文可以指示LAC向主用LNS发送SCCRQ,LAC接收到L2TP连接失败的报文后,按照预先配置在LAC上的备用LNS的地址向主用LNS发送SCCRQ。或者在上述L2TP连接失败的报文中携带主用LNS的地址,LAC接收到备用LNS发送的L2TP连接失败的报文后,按照其中携带的主用LNS的地址发送SCCRQ

假设在备用LNS上配置的LNS切换次数上限为0,则备用LNS一旦确定当前资源使用状况不满足L2TP接入条件,则不再将主用LNS的地址发送给LAC。

LAC接收到备用LNS发送的终止L2TP连接的报文,可以不再发送SCCRQ,终止远端用户的LNS接入。

在主用LNS和备用LNS上配置LNS切换次数上限是为了防止主用LNS和备用LNS上的资源使用状况都不满足预设的L2TP接入条件时,在主用LNS和备用LNS上反复发生切换。当然,也可以不设置LNS切换次数上限。在主用LNS上配置的LNS切换次数上限和在备用LNS上配置的LNS切换次数上限可以相同也可以不同,或者也可以仅在主用LNS或者备用LNS上配置LNS切换次数上限。

同样,在备用LNS向LAC发送L2TP连接失败的报文之前,可以首先判断SCCRQ对应的用户是否为重要用户,如果是,则转至执行步骤307;否则向LAC发送L2TP连接失败的报文。也就是说,在不满足L2TP接入条件的情况下,可以仅接受重要用户的LNS接入。

上述流程是以LAC连接两个LNS为例,当LAC连接两个以上LNS时,如果备用LNS接收到SCCRQ后,确定自身当前资源使用状况不满足预设的L2TP接入条件时,可以将预先配置的其它备用LNS的地址发送给LAC,以便LAC向其它备用LNS发送SCCRQ。或者,LAC接收到备用LNS发送的L2TP连接失败的报文后,根据在LAC上配置的各LNS的地址,向其它备用LNS发送SCCRQ。

下面对上述流程中向LAC发送L2TP连接失败的报文具体方式进行描述。

现有RFC2661协议中,存在终止控制连接(StopCCN)报文用于在L2TP连接协商失败时,告知对端设备协商失败结果的,在本实施例中可以将该StopCCN报文进行扩展。

现有RFC2661协议中规定的StopCCN报文包含的属性值对(AVP)如图4所示,本本发明中可以对结果代码(Result Code)字段进行扩展,例如采用“8”指示拒绝L2TP连接的结果是将LAC连接到备份LNS。对错误代码(Error Code)字段(该字段为可选字段)进行扩展,例如采用“9”指示拒绝L2TP连接的原因是当前LNS的CPU忙,采用“10”指示拒绝L2TP连接的原因是当前LNS的内存不足,采用“11”指示拒绝L2TP连接的原因是当前LNS的L2TP连接资源不足。图中的错误信息(Error Message)字段为可选字段,通常携带用于显示给用户的字符串。

另外,当L2TP连接失败的报文中携带其它LNS的地址时,还可以在StopCCN报文中增加AVP来指示重新发起L2TP连接的LNS的地址,例如备用LNS的地址。在扩展的AVP中,可以采用属性类型“40”指示该AVP中携带重新发起L2TP连接的LNS的地址。

以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的LNS进行详细描述。图5为本发明实施例提供的LNS结构示意图,如图5所示,该LNS可以包括:请求接收单元501、资源检查单元502、L2TP协商单元503和切换指示单元504。

请求接收单元501,用于接收来自LAC的L2TP连接请求后,向资源检查单元502发送检查通知。

资源检查单元502,用于接收到检查通知后,检查LNS当前的资源使用状况是否满足预设的L2TP接入条件,如果是,向L2TP协商单元503发送协商通知;否则向切换指示单元504发送切换通知。

L2TP协商单元503,用于接收到协商通知后,与LAC进行L2TP连接协商。

切换指示单元504,用于接收到切换通知后,向LAC发送L2TP连接失败的报文指示LAC向其它LNS发送L2TP连接建立请求。

其中,上述L2TP接入条件可以是:CPU利用率小于第一阈值,内存利用率小于第二阈值或者当前L2TP连接数小于第三阈值中的一种或者任意组合。

更优地,为了避免在各LNS之间一直切换,可以预先在LNS上配置LNS切换次数上限值,此时,该LNS还可以包括:切换限制单元505,用于接收资源检查单元502向切换指示单元504发送的切换通知,判断针对L2TP连接建立请求所对应用户的LNS切换次数是否超过预设的LNS切换次数上限值,如果否,将切换通知转发给切换指示单元504;如果是,向LAC发送终止L2TP连接的报文以便LAC终止用户的LNS接入。

另外,为了保证重要用户的LNS接入,该LNS可以进一步包括:用户保障单元506,用于接收资源检查单元502向切换指示单元504发送的切换通知,判断L2TP连接建立请求所对应的用户是否为重要用户,如果是,向L2TP协商单元503发送协商通知;否则,将切换通知转发给切换指示单元504。

如果切换限制单元505和用户保障单元506同时存在,则切换限制单元505将切换通知发送给用户保障单元506,在用户保障单元506确定L2TP连接建立请求所对应的用户不是重要用户时,将切换通知再转发给切换指示单元504。

具体地,基于上述结构,切换指示单元504可以通过StopCCN报文中的扩展AVP指示LAC向其它LNS发送L2TP连接建立请求,以便于LAC接收到该StopCCN报文后,按照配置在LAC上的各LNS的地址,向其它LNS发送L2TP连接建立请求;或者,通过StopCCN报文中的扩展属性对AVP携带其它LNS的地址发送给LAC,以便于LAC接收到该StopCCN报文后,按照扩展AVP中携带的其它LNS的地址发送L2TP连接建立请求。

由以上描述可以看出,本发明提供的方法和LNS可以具备以下优点:

1)LNS接收到L2TP连接建立请求后,并不是直接启动L2TP进程,而是首先检查LNS当前的资源使用状况是否满足预设的L2TP接入条件,如果满足再启动L2TP进程,如果不满足,则立即向LAC发送L2TP连接失败的报文指示LAC向其它LNS发送L2TP连接建立请求,使得远端的用户能够立即尝试其它LNS的接入,从而避免了用户的长时间等待。另外,通过设定L2TP接入条件,使得LNS当前的资源超过一定限度时,将LNS接入切换到其它LNS上,从而避免LNS的资源被L2TP进程无限占用,保障其它重要业务的进程能够正常工作。

2)通过在LNS上分别设置LNS切换次数上限值,能够对LNS上的切换次数进行灵活设置,并避免在主用LNS和备用LNS上来回无限制地切换。

3)在向LAC发送L2TP连接失败的报文之前,通过对L2TP连接建立请求所对应的用户是否为重要用户进行判断,如果是重要用户,则启动L2TP进程进行L2TP连接协商,从而保证重要用户的LNS接入。

4)通过在LNS上配置其它LNS的地址,在LNS上当前的资源使用状况不满足L2TP接入条件时,将其它LNS的地址发送给LAC并指示LAC按照该LNS地址发送L2TP连接建立请求,使得无需在LAC上配置各LNS的地址,节省LAC的配置资源,并为远程用户提供透明的LNS切换。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号