专利名称:一种接入网络服务器的方法及接入系统的制作方法
技术领域:
本发明涉及通信技术领域,特别涉及一种接入网络服务器的方法及接入系统。
背景技术:
虚拟专用拨号网络(Virtual Private Dial-up Network, VPDN)为那些期望通过因特网服务供应商(ISP)并主要连接到公司网络的远端用户设备提供连接。L2TP(第二层隧道协议,Layer 2Tunneling Protocol)是VPDN技术的一种。用户拨入ISP,由L2TP接入控制器(LAC)同用户侧的网络服务器(LNS)建立L2TP隧道,将用户侧的点对点(PPP)连接从LAC延伸到LNS,把远端用户设备的连接并入到公司网络中。随着3G应用的普及,运营商推出3G专线服务,出现大容量L2TP应用需求,运营商通过不同LAC同LNS建立L2TP隧道,每隧道承载的会话数都存在不同差异,目前L2TP LNS 也就是专线用户侧,对于大量的L2TP专线用户缺乏一种简单有效的负载分担的方案,导致用户侧大量L2TP专线接入情况下单设备压力较大。解决现有技术方案主要存在两种解决方法。第一种方法通过简单的NAT负载分担功能主要从UDP连接特性来实现负载分担,无法判断LNS的真实压力情况来实现L2TP LNS 负载。另一种方式是LNS根据自身的负载或者与LAC连接的隧道质量确定该次建立连接的 LNS0该方法依赖LNS和LAC都支持的情况,而实际环境中LAC和LNS涉及的厂家太多,实际应用性可能性较小。由上可见,现有实现还未提出在一种不依赖运营商,简单有效地实现L2TP LNS的负载分担的方法。
发明内容
有鉴于此,本发明提供一种接入网络服务器的方法及接入系统,能够在不依赖运营商的情况下,简单有效地实现L2TP LNS的负载分担。为解决上述技术问题,本发明的技术方案是这样实现的一种接入网络服务器的方法,应用于包含访问集中器LAC和两个以上网络服务器 LNS的L2TP虚拟专用网VPN,记录各所述LNS的L2TP隧道承载的会话数,所述方法包括当接收LAC发送的L2TP连接建立请求报文时,根据所述记录的各LNS的L2TP隧道承载的会话数分配LNS。一种接入系统,包括访问集中器LAC和两个以上网络服务器LNS其特征在于,该系统还包括,负载分担设备,用于记录各所述LNS的L2TP隧道承载的会话数,当接收LAC发送的L2TP连接建立请求报文时,根据所述记录的各LNS的L2TP隧道承载的会话数分配LNS。综上所述,本发明具体实现时通过负载分担设备记录各LNS的L2TP隧道的会话数确定新请求的L2TP连接分配给哪个LNS来实现L2TP LNS的负载分担。能够在不依赖运营商的情况下,简单有效地实现L2TP LNS的负载分担。
图1为本发明实施例中接入网络服务器的方法流程图;图2为本发明实施例中接入LNS组网结构示意图;图3为本发明具体实施例中负载分担设备处理L2TP报文流程示意图;图4为L2TP报文头部结构示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。本发明提出一种接入网络服务器的方法,应用于包含访问集中器LAC和两个以上网络服务器LNS的L2TP虚拟专用网VPN。参见图1,图1为本发明实施例中接入网络服务器的方法流程图。具体步骤为步骤101,负载分担设备记录各LNS的L2TP隧道承载的会话数。本步骤中当负载分担设备接收L2TP隧道建立报文时,记录该隧道的隧道ID,并记录该隧道承载的会话数为0 ;当接收L2TP隧道会话建立报文时,将记录的对应隧道承载的会话数加1 ;当接收L2TP隧道会话呼叫断开通知时,将记录的对应隧道承载的会话数减1 ; 当接收终止控制连接通知时,将记录的对应隧道和会话数清除。负载分担设备根据报文类型确定接收的报文,并更新各LNS的所有L2TP隧道的会话数。步骤102,负载分担设备接收LAC发送的L2TP连接建立请求报文时,根据记录的各 LNS的L2TP隧道承载的会话数分配LNS。本步骤中LNS的会话数为该LNS所有的L2TP隧道会话数之和。分配的LNS为L2TP 隧道承载的会话数最小的LNS。当L2TP隧道承载的会话数最小的LNS存在两个以上时,则将该L2TP隧道连接分配给地址最小的LNS。负载分担设备确定L2TP隧道承载的会话数最小的方法为直接比较L2TP隧道实际承载的会话数;或,L2TP隧道实际承载的会话数加权后再进行比较,取承载会话数最小的L2TP隧道对应的LNS作为要分配的LNS。若周期检测LNS处于非正常状态,为L2TP隧道连接分配LNS时,不分配给该处于非正常状态的LNS。确定LNS是否处于正常状态的方法为周期向LNS发送ARP请求,若接收到ARP响应,则确定该LNS处于正常状态;否则,确定该LNS处于非正常状态。下面结合附图,举具体实施例,详细说明本发明接入LNS的过程。参见图2,图2为本发明实施例中接入LNS组网结构示意图。图2中包括远端设备201、LAC210、同用户合一的 LAC211、负载分担设备 220、LNS230、LNS231 和 LNS232。其中,远端设备201是要接入htranet网络的远端用户设备或分支结构,通常是一个用户主机或私有分支网络的一台路由设备。LAC210是具有点对点(PPP)端系统和L2TP 处理能力的设备,通常是当地网络服务提供商(ISP)的网络接入服务器(NAQ,为PPP端设备提供接入服务,其位于远端设备201和LNS230-232之间,用于在LNS230-232和远端设备201之间传递信息包。LNS既是PPP端设备,又是L2TP协议的服务器端,通常作为一个 Intranet网络的边缘设备。在该组网中,通过在公网中建立L2TP隧道连接,将远端设备的 PPP连接的另一端由LAC在逻辑上延伸到了 htranet网络的LNS,从而实现远端设备接入 htranet。在该网络中远端设备201或同用户合一的LAC211需要接入LNS时,负载分担设备220来确定分配哪个LNS来建立L2TP连接。在图2中,当远端设备201需要接入LNS时,远端设备201分配到LAC210。不同远端设备拨入运营商时可能会分配不同LAC,本实施例只是举例可能的一种。LAC210若没有对应隧道,则向负载分担设备220发起L2TP隧道开始控制连接请求(SCCRQ),LAC210看到的只是负载分担设备的IP地址,负载分担设备220接收到该请求时,根据自身记录的LNS230、 LNS231和LNS232的所有L2TP隧道的会话数,选择会话数最小的LNS并将该请求连接分配给该LNS。若LNS230的所有L2TP隧道会话数最小,则分配给LNS230 ;若LNS230和LNS231 的会话数相等则分配给他们中IP地址数值最小的LNS。当整个组网中没有任何隧道时,第一个L2TP隧道连接请求发给IP地址数值最小的 LNS。当LNS230有两个隧道,两个隧道的会话数和为500,LNS231有一个隧道会话数为 300,LNS232有三个隧道,三个隧道的会话数和为100,此时新的L2TP隧道会话建立请求时, 负载分担设备220将发给隧道会话数最小的LNS232。在实际应用中也可对每个LNS根据其实际能力设置不同的权重比,LNS会话数*权重得到最终数值作为该LNS的会话数。下面例举一种具体的加权方式,但本发明的实现不局限于如下的加权方式。若LNS230支持的最大会话数为3000,LNS231支持最大会话数为5000,LNS232支持最大会话数为3000。LNS230的权重=(LNS230最大会话数+LNS231最大会话数+LNS232最大会话数)/ LNSl最大会话数;可以用同样的方式计算LNS231和LNS232的权重。通过此权重能根据LNS 实际最大性能来实现负载分担的比率。LNS的隧道建立流程和L2TP会话建立流程同现有实现一致,只是建立过程中的控制报文以及进行后续的数据报文都通过负载分担设备220来转发。负载分担设备220为各隧道转发条目设置老化时间,若老化时间到时,该隧道一直未进行任何会话,则清楚该隧道转发条目。也可跟踪ZLB消息对该转发条目进行维护。参见图3,图3为本发明具体实施例中负载分担设备处理L2TP报文流程示意图。 具体步骤为步骤301,负载分担设备接收L2TP报文。本步骤中的L2TP报文使用UDP封装,L2TP头部信息参见图4,图4为L2TP报文头部结构示意图。图4中T表示类型位此位用来指定此报文是控制报文还是数据报文。如果它的值是1就表示控制消息,值为0就表示数据消息。Tunnel ID表示隧道ID 此字段用来表示控制连接的标识符,并且只在本地具有意义。当将L2TP隧道连接建立起来时,隧道ID就进行交换。这样发送给LAC的报文将使用LAC的隧道ID,而不是LNS的隧道ID。Session ID表示会话ID 此字段用来标识位于L2TP隧道内部的会话。会话ID只在本地具有意义,发送给LAC的报文将使用LAC的会话ID,而不是LNS的会话ID。根据AVP控制控制报文类型判断控制报文的具体类型。该报文头中的其他字段同现有实现一致,这里不再赘述。步骤302,负载分担设备确定该L2TP报文是否是控制报文,如果是,执行步骤303 ; 否则,执行步骤308。步骤303,负载分担设备确定该L2TP报文是否是L2TP连接建立请求报文,如果是, 执行步骤305 ;否则,执行步骤304 ;步骤304,负载分担设备确定该L2TP报文是否是L2TP隧道会话连接建立报文,如果是306 ;否则,执行步骤308。步骤305,负载分担设备根据记录的各LNS的L2TP隧道会话数分配LNS,并建立隧道转发条目。执行步骤308。隧道转发条目中包括LAC源地址、LAC的源端口、LNS目的地址和LNS的目的端口,一般情况下LNS的端口固定,端口号为1701,当然实际应用时可以根据具体情况进行确定。在后续启动L2TP进程进行L2TP连接协商时,LNS和LAC分别选出本地Tunnel ID并携带在报文中发送给负载分担设备。各隧道的转发条目可以分别保存,也可以合并为隧道转发表保存。本步骤中的具体分配方式在上文已详细描述,这里不再赘述。步骤306,负载分担设备在在对应的隧道转发条目中记录该隧道的会话数。执行步骤 308。步骤307,若负载分担设备接收L2TP隧道呼叫断开通知报文时,将记录的对应隧道承载的会话数减1 ;接收终止控制连接通知报文时,将记录的对应隧道会话数清除。步骤308,负载分担设备根据转发条目转发该L2TP报文。本步骤中负载分担设备根据建立的转发条目将L2TP报文转发给目的端。基于上述同样的发明构思,本发明还提出一种接入系统,该接入系统包括访问集中器LAC和两个以上网络服务器LNS,负载分担设备。其中,负载分担设备,用于记录各LNS的L2TP隧道承载的会话数,当接收LAC发送的L2TP连接建立请求报文时,根据所述记录的各LNS的L2TP隧道承载的会话数分配LNS。该系统中的LAC如图2中的LAC211和LAC210,LNS如图2中的LNS23ULNS232和 LNS230,负载分担设备如图2中的负载分担设备220。综上所述,本发明通过记录每L2TP隧道当前的会话数,根据每LNS真实的L2TP会话情况实现负载分担。本方案实现无需运营商参与,也无需LNS和LAC设备做任何调整,通过负载分担设备来实现L2TP负载分担。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种接入网络服务器的方法,应用于包含访问集中器LAC和两个以上网络服务器 LNS的二层隧道协议L2TP虚拟专用网VPN,其特征在于,记录各所述LNS的L2TP隧道载的会话数,所述方法包括当接收LAC发送的L2TP连接建立请求报文时,根据所述记录的各LNS的L2TP隧道承载的会话数分配LNS。
2.根据权利要求1所述的方法,其特征在于,所述LNS的会话数为该LNS所有的L2TP隧道会话数之和。
3.根据权利要求1或2所述的方法,其特征在于, 所述分配的LNS为L2TP隧道承载的会话数最小的LNS。
4.根据权利要求3所述的方法,其特征在于,所述方法进一步包括当所述L2TP隧道承载的会话数最小的LNS存在两个以上时,则将该L2TP隧道连接分配给地址最小的LNS。
5.根据权利要求3所述的方法,其特征在于,所述确定L2TP隧道承载的会话数最小的方法为所述L2TP隧道实际承载的会话数最小; 或,所述L2TP隧道实际承载的会话数加权后最小。
6.根据权利要求1所述的方法,其特征在于,所述方法进一步包括 当接收L2TP隧道连接建立报文时,记录该隧道承载的会话数为0 ;当接收L2TP隧道会话连接建立报文时,将记录的对应隧道承载的会话数加1 ; 当接收L2TP隧道呼叫断开通知报文时,将记录的对应隧道承载的会话数减1 ; 当接收终止控制连接通知报文时,将记录的对应隧道会话数清除。
7.根据权利要求1所述的方法,其特征在于,所述分配LNS之后,所述方法进一步包括建立转发条目,记录发送L2TP连接建立请求报文的LAC地址、LAC的端口以及分配的 LNS的地址和LNS的端口 ;当接收到L2TP报文时,根据对应的转发条目转发L2TP报文。
8.根据权利要求1所述的方法,其特征在于,所述方法进一步包括若周期检测LNS处于非正常状态,为L2TP隧道连接分配LNS时,不分配给该处于非正常状态的LNS。
9.根据权利要求8所述的方法,其特征在于,所述确定LNS是否处于正常状态的方法为周期向LNS发送地址解析协议ARP请求,若接收到ARP响应,则确定该LNS处于正常状态;否则,确定该LNS处于非正常状态。
10.一种接入系统,包括访问集中器LAC和两个以上网络服务器LNS其特征在于,该系统还包括,负载分担设备,用于记录各所述LNS的L2TP隧道承载的会话数,当接收LAC发送的 L2TP连接建立请求报文时,根据所述记录的各LNS的L2TP隧道承载的会话数分配LNS。
全文摘要
本发明公开了一种接入网络服务器的方法,应用于包含访问集中器LAC和两个以上网络服务器LNS的L2TP虚拟专用网VPN,该方法包括记录各LNS的L2TP隧道承载的会话数,当接收LAC发送的L2TP连接建立请求报文时,根据记录的各LNS的L2TP隧道承载的会话数分配LNS。能够在不依赖运营商的情况下,简单有效地实现L2TP LNS的负载分担。
文档编号H04L29/06GK102394889SQ201110360888
公开日2012年3月28日 申请日期2011年11月15日 优先权日2011年11月15日
发明者朱桂山, 李翔 申请人:迈普通信技术股份有限公司