基于二层隧道协议的业务访问方法、系统和装置的制作方法

文档序号:7889090阅读:163来源:国知局
专利名称:基于二层隧道协议的业务访问方法、系统和装置的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及基于二层隧道协议(L2TP:Layer2 Tunnel Protocol)的业务访问方法、系统和装置。
背景技术
随着网络化进程的发展和信息整合需求的增加,分支机构的整合经常发生。但由于IP地址段的紧缺,也由于管理上的独立性,分支机构通常采用独立的地址段规划。如图 1所示,路由器Rtrl处于总部,路由器Rtr2、Rtr3分别处于分支机构1和分支机构2,这两个分支机构使用相互独立的IP地址。当一分支机构比如分支机构1或2与总部进行业务通信时,一种方案是在分支机构与总部之间建立网络地址转换(NAT)设备,由该NAT设备在总部和分支机构之间执行IP地址转换,以实现总部与分支机构之间的业务通信。但是,随着各种新业务的发展,例如IP监控的部署,很多报文内部都携带着IP地址,这就要求NAT设备频繁升级以识别报文内部的IP地址并对其进行转换,这显然非常麻烦。为了解决上述方案中频繁升级NAT设备的缺陷,一种改进的方案是采用虚拟专用网(VPN),控制所有业务的报文都在VPN内部通信。该方案不涉及NAT设备的频繁升级, 但是,由于各个分支机构使用的IP地址相互独立,很有可能出现不同分支结构中IP地址段重叠的问题,这会导致同一 VPN内部的业务通信混乱,影响业务。随着VPN技术的不断发展,出现了一种用于外地向总部拨号接入的VPN,为与上述改进方案中的VPN区别,这里的VPN称为远程访问虚拟专用网(Access VPN),其能够向出差流动员工、远程办公人员和远程小办公室提供通过公用网络与企业内部网络(Intranet) 建立私有的网络连接。二层隧道协议虚拟专用网(L2TP VPN)是Access VPN的一种,采用L2TP构建虚拟专用网络,其典型组网如图2所示,主要包括远端设备、L2TP访问集中器(LAC)和L2TP网络接入服务器(LNS)。其中,远端设备是要接入Intranet网络的远端用户设备或分支结构, 通常是一个用户主机或分支网络的一台路由设备。LAC是具有点对点(PPP)端系统和L2TP 处理能力的设备,通常是当地网络服务提供商(ISP)的网络接入服务器(NAS),为PPP端设备提供接入服务,其位于远端设备和LNS之间,用于在LNS和远端设备之间传递信息包。LNS 既是PPP端设备,又是L2TP协议的服务器端,通常作为一个Intranet网络的边缘设备。在该组网中,L2TP的会话建立由PPP触发,主要为由LAC发起会话建立请求(ICRQ),LNS收到请求后返回应答(ICRP),LAC收到应答后返回确认(ICCN),至此,会话建立成功。而L2TP 的隧道建立由会话触发,具体为LAC发起隧道建立请求(SCCRQ),LNS收到请求后进行应答 (SCCRP),最后LAC在收到应答后再给LNS返回确认(SCCCN),至此,隧道建立成功。其中,多个会话可以复用在一条隧道上,如果会话建立前隧道已经建立,则隧道不用重新建立。基于L2TP,现有技术提出了能解决上述两种方案中缺陷的优选方案当分支结构中的某一终端与总部通信时,为该终端分配一个总部的IP地址,如此,该终端就利用被分
5配的总部IP地址访问总部,这不会对业务有任何影响。但是,当一个分支机构中的多个终端都需要访问总部时,就需要为该各个终端分别分配一个总部的IP地址,以便各个终端利用被分配的IP地址各自接入至总部,这显然很难统一管理各个终端的访问,并且,由于各个终端所处的VPN不同,也会对总部的路由器维护VPN造成大量压力。

发明内容
本发明提供了基于二层隧道协议L2TP的业务访问方法、系统和装置,避免为各个终端分别分配总部IP地址所带来的问题。本发明提供的技术方案包括一种基于二层隧道协议L2TP的业务访问方法,该方法包括L2TP访问集中器LAC在与L2TP网络接入服务器LNS建立L2TP会话过程中,获取 LNS为本LAC分配的L2TP隧道IP地址,以及获取并记录LNS分配的N个IP地址至地址分配表,所述N与所述LAC欲申请的网络地址数量对应;所述LAC作为网关接收分支终端发送的数据报文,并在确定出通过所述L2TP隧道 IP地址对应的L2TP隧道接口转发所述数据报文时,判断所述数据报文的源IP地址是否处于所述地址分配表中,如果是,通过所述L2TP隧道接口转发所述数据报文,否则,丢弃所述数据报文,从地址分配表记录的N个IP地址中选取一个未被分配的IP地址分配给所述分支终端,由所述分支终端利用被分配的IP地址作为源IP地址重新发送数据报文。一种基于二层隧道协议L2TP的业务访问系统,该系统包括分支终端、L2TP访问集中器LAC和L2TP网络接入服务器LNS,其中,所述LNS,用于在与LAC建立L2TP会话过程中,为LAC分配L2TP隧道IP地址,以及分配N个IP地址,所述N与LAC欲申请的网络地址数量对应;LAC,用于获取LNS为本LAC分配的L2TP隧道IP地址,以及获取并记录LNS分配的N个IP地址至地址分配表;并且,作为网关接收分支终端发送的数据报文,在确定出通过所述L2TP隧道IP地址对应的L2TP隧道接口转发所述数据报文时,判断所述数据报文的源 IP地址是否处于所述地址分配表中,如果是,通过所述L2TP隧道接口转发所述数据报文, 否则,丢弃所述数据报文,从地址分配表记录的N个IP地址中选取一个未被分配的IP地址分配给所述分支终端,由所述分支终端利用被分配的IP地址作为源IP地址重新发送数据报文。一种 LAC,包括获取单元,用于在与LNS建立L2TP会话过程中,获取LNS为所述LAC分配的L2TP 隧道IP地址,以及获取并记录LNS分配的N个IP地址至地址分配表,所述N与所述LAC欲申请的网络地址数量对应;路由确定单元,用于在所述LAC作为网关时接收分支终端发送的数据报文,并确定出转发所述数据报文的出接口;判断单元,用于在所述路由确定单元确定出通过所述L2TP隧道IP地址对应的 L2TP隧道接口转发数据报文时,判断所述数据报文的源IP地址是否处于所述地址分配表中;
处理单元,用于在所述判断单元的判断结果为是时,通过所述L2TP隧道接口转发所述数据报文,在所述判断单元的判断结果为否时,丢弃所述数据报文,从地址分配表记录的N个IP地址中选取一个未被分配的IP地址分配给所述分支终端,由所述分支终端利用被分配的IP地址作为源IP地址重新发送数据报文。一种 LNS,包括分配单元,用于在所述LNS与LAC建立L2TP会话过程中为LAC分配L2TP隧道IP 地址,以及分配N个IP地址,所述N与所述LAC欲申请的网络地址数量对应;发送单元,用于将所述分配单元分配的L2TP隧道IP地址,以及N个IP地址发送至 LAC。由以上技术方案可以看出,本发明中,通过LAC在与LNS建立L2TP会话过程中,获取LNS为本LAC分配的L2TP隧道IP地址,以及获取并记录LNS分配的N个IP地址至地址分配表,所述N与所述LAC欲申请的网络地址数量对应;之后,LAC作为网关接收分支终端发送的数据报文,并在确定出通过所述L2TP隧道IP地址对应的L2TP隧道接口转发所述数据报文时,判断所述数据报文的源IP地址是否处于所述地址分配表中,如果是,通过所述 L2TP隧道接口转发所述数据报文,否则,丢弃所述数据报文,从地址分配表记录的N个IP地址中选取一个未被分配的IP地址分配给所述分支终端,由所述分支终端利用被分配的IP 地址作为源IP地址重新发送数据报文,即本发明实现了 LAC与分支终端进行地址分配协商,并根据地址分配表转发来自分支终端的报文,这相比于背景技术中的三种方案,完全是从业务层面出发解决背景技术中三种方案出现的问题。


图1为分支机构与总部的组网示意图;图2为L2TP构建虚拟专用网络示意图;图3为本发明提供方法应用的一个组网示意图;图4为本发明实施例提供的基本流程图;图5为本发明实施例提供的详细流程图;图6为本发明实施例提供的AVP格式示意图;图7为本发明实施例提供的LAC结构图;图8为本发明实施例提供的LNS结构图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明提供的方法应用于包含至少一个分支机构与总部连接的组网中,在该组网中,考虑到分支机构的规模比较小,可采用二层网络对每一分支机构进行组网,并在每一分支机构的出口路由器上设置网关,以便分支机构中的终端通过该网关与总部进行通信。参见图3,图3为本发明提供方法应用的一个组网示意图。其中,图3只是为示图方便,仅示出了一个分支机构,并且,该分支结构仅包含一个终端,其他包含多个分支机构以及分支机构中包含多个终端的情况原理类似,不再一一赘述。
本发明中,针对每一分支结构,将该分支机构的出口路由器(其为分支机构与外部进行通信的路由器,可同时连接至少一个分支结构,简称分支出口路由器)作为L2TP访问集中器(LAC),而将总部的其中一个出口路由器(其为总部与外部进行通信的路由器,简称总部出口路由器)作为该LAC接入的L2TP网络接入服务器(LNS),具体可根据组网情况进行配置。该LAC与LNS之前建立L2TP隧道,其中,该L2TP隧道可采用现有常用的L2TP 隧道永久建立方式(LAC-Auto-Initiated VPN)建立,或者其他方式建立,本发明并不加以限定。基于建立的L2TP隧道,则如图4所示,本发明提供的方法可包括以下步骤步骤401,LAC在与LNS建立L2TP会话过程中获取LNS为本LAC分配的L2TP隧道 IP地址,以及获取并记录LNS分配的N个IP地址至地址分配表,所述N与所述LAC欲申请的网络地址数量对应。本发明中,优选地,该N可与接入该LAC的分支机构中被允许与总部建立连接的终端数量对应,比如,如图3所示,假如接入该LAC的分支机构中只有一个终端被允许与总部建立连接,则N取值为1。步骤402,LAC作为网关接收分支终端发送的数据报文,并在确定出通过所述L2TP 隧道IP地址对应的L2TP隧道接口转发所述数据报文时,判断所述数据报文的源IP地址是否处于所述地址分配表中,如果是,通过所述L2TP隧道接口转发所述数据报文,否则,丢弃所述数据报文,从地址分配表记录的N个IP地址中选取一个未被分配的IP地址分配给所述分支终端,由所述分支终端利用被分配的IP地址作为源IP地址重新发送数据报文。下面结合具体实施例对上述方法进行详细描述。参见图5,图5为本发明实施例提供的方法流程图。该流程应用于图3所示的组网中,包括以下步骤步骤501,LAC在与LNS建立L2TP会话的过程中,通过会话建立请求(ICRQ)携带数量N,并发送至LNS。本步骤501中,N可预先被配置在LAC上,其与所述LAC欲申请的网络地址数量对应,具体可预先配置在LAC上。另外,本步骤501中,可以通过扩展ICRQ来携带数量N,具体为首先在ICRQ中扩展一个属性值对(AVP, Attribute-Value-Pair),该扩展的 AVP 可定义为 client number, 用于描述数量N,其格式可以如图6所示。其中,M字段为强制位,用于表示该AVP是否为可识别,可以用0标识可识别,用1标识不可识别,其中,不可识别的AVP将会导致会话建立终止;H字段用于携带该属性是否需要隐藏,可以用0标识不需要隐藏,用1标识需要隐藏;rsvd字段为保留位,属性长度(Length)字段用于携带该AVP的长度信息;企业标识 (Vendor ID)字段用于携带企业标识,由于不同的企业可能采用不同的AVP版本,因此,可以用该字段对不同版本进行区分;属性类型(Attribute Type)字段可以定义为区别已使用的所有属性类型的值;属性值(Attribute Value)字段携带网络地址数量N。步骤502,LNS接收到携带数量N的ICRQ后,在会话建立应答(ICRP)中携带为LAC 分配的L2TP隧道IP地址,以及N个IP地址。本步骤502中,在ICRP中携带为LAC分配的L2TP隧道IP地址以及N个IP地址, 可通过在ICRP中扩展两个AVP来实现,具体为LNS在收到ICRQ后,首先,从配置的地址池中选取一个未被分配的IP地址,比如IP_SPril,封装到ICRP扩展的一个AVP中,该AVP用于描述LNS分配给LAC的L2TP隧道IP地址,定义为LAC address AVP,其格式类似图6,只不过在这里Attribute Value字段携带LNS分配给LAC的L2TP隧道IP地址IP_SPril ;之后,LNS再从所述地址池中提取出N个IP地址,并封装至ICRP扩展的另一个AVP中,该AVP 用于描述LNS分配的N个IP地址,定义为client address AVP,格式类似图6,只不过在这里Attribute Value字段携带N个IP地址。优选地,本步骤502中,在LNS分配完LAC的L2TP隧道IP地址,以及N个IP地址之后,LNS可在地址池中标识这些被分配的IP地址为已分配,以便后续不再重复分配这些 IP地址。步骤503,LAC收到LNS 的 ICRP后,将 ICRP 中 LAC address AVP 的 Attribute Value 字段携带的IP地址作为本设备的L2TP隧道IP地址,将本设备上的L2TP隧道接口作为默认路由的出接口,并保存ICRP中client address AVP的Attribute Value字段携带的IP 地址到地址分配表中。如图3所示,假如N取值为1,并以client address AVP的Attribute Value字段携带的IP地址为IP_SPri2为例,则,本步骤503中,IP_SPri2被放入地址分配表之后的格式如表1所示表 权利要求
1.一种基于二层隧道协议L2TP的业务访问方法,其特征在于,该方法包括L2TP访问集中器LAC在与L2TP网络接入服务器LNS建立L2TP会话过程中,获取LNS 为本LAC分配的L2TP隧道IP地址,以及获取并记录LNS分配的N个IP地址至地址分配表, 所述N与所述LAC欲申请的网络地址数量对应;所述LAC作为网关接收分支终端发送的数据报文,并在确定出通过所述L2TP隧道IP 地址对应的L2TP隧道接口转发所述数据报文时,判断所述数据报文的源IP地址是否处于所述地址分配表中,如果是,通过所述L2TP隧道接口转发所述数据报文,否则,丢弃所述数据报文,从地址分配表记录的N个IP地址中选取一个未被分配的IP地址分配给所述分支终端,由所述分支终端利用被分配的IP地址作为源IP地址重新发送数据报文。
2.根据权利要求1所述的方法,其特征在于,所述LAC通过以下步骤获取L2TP隧道IP 地址和N个IP地址所述LAC通过会话建立请求ICRQ携带所述N,并发送至LNS ;所述LNS接收所述ICRQ,从本LNS被配置的地址池中选取一个未被分配的IP地址分配给LAC作为该LAC的L2TP隧道IP地址,并继续从所述地址池中选取N个未被分配的IP地址,并通过会话建立应答ICRP将选取的L2TP隧道IP地址、以及N个IP地址发送给LAC。
3.根据权利要求1所述的方法,其特征在于,所述LAC从地址分配表记录的N个IP地址中选取一个未被分配的IP地址分配给分支终端包括所述LAC从地址分配表记录的N个IP地址中选取一个未被分配的IP地址作为分配给所述分支终端的IP地址,携带在地址重分配消息中,并从地址解析协议ARP表项中提取以所述数据报文源IP地址为目的IP地址的表项信息,利用所述表项信息中的终端MAC地址封装地址重分配消息中的MAC头,并通过所述表项信息中的出接口转发所述地址重分配消肩、ο
4.根据权利要求3所述的方法,其特征在于,该方法进一步包括所述LAC利用提取的表项信息更新地址分配表中被选取的IP地址所在的地址表项,并标识该地址表项的状态为第一标识;所述LAC接收所述分支终端返回的确认消息,并刷新所述地址表项的状态为第二标识;所述分支终端是在将所述LAC分配给本终端的IP地址绑定到本终端的出接口,并更改默认路由为所述LAC上的L2TP隧道IP地址之后,返回确认消息给LAC的;所述LAC判断数据报文的源IP地址是否处于地址分配表中包括LAC判断所述地址分配表中是否存在包含所述数据报文的源IP地址、且状态为第二标识的地址表项。
5.根据权利要求4所述的方法,其特征在于,所述利用提取的表项信息更新地址分配表中被选取的IP地址所在的地址表项包括将表项信息中的目的IP地址、终端MAC地址、 出接口分别作为所述地址表项的源IP地址、终端MAC地址、出接口记录在地址表项中;所述刷新地址表项的状态为第二标识包括比较所述确认消息携带的终端MAC地址、 分支终端被分配的IP地址、以及所述LAC接收到所述确认消息的接口是否均与所述地址表项中的终端MAC地址、被选取的IP地址和出接口一致,如果是,则刷新地址表项的状态为第二标识。
6.根据权利要求1所述的方法,其特征在于,该方法进一步包括所述LAC通过L2TP隧道接口接收由LNS转发的用于总部访问分支终端的数据报文,剥离该数据报文的L2TP头和公网IP头,利用剥离后的数据报文的目的IP地址在地址分配表中查找到用于转发该数据报文的出接口并进行转发。
7.根据权利要求6所述的方法,其特征在于,所述总部是利用所述LNS发布的主机路由信息将数据报文发送至LNS的;所述主机路由信息中的目的IP地址为所述N个IP地址,下一跳为所述L2TP隧道IP 地址。
8.一种基于二层隧道协议L2TP的业务访问系统,其特征在于,该系统包括分支终端、 L2TP访问集中器LAC和L2TP网络接入服务器LNS,其中,所述LNS,用于在与LAC建立L2TP会话过程中,为LAC分配L2TP隧道IP地址,以及分配N个IP地址,所述N与LAC欲申请的网络地址数量对应;LAC,用于获取LNS为本LAC分配的L2TP隧道IP地址,以及获取并记录LNS分配的N 个IP地址至地址分配表;并且,作为网关接收分支终端发送的数据报文,在确定出通过所述L2TP隧道IP地址对应的L2TP隧道接口转发所述数据报文时,判断所述数据报文的源IP 地址是否处于所述地址分配表中,如果是,通过所述L2TP隧道接口转发所述数据报文,否则,丢弃所述数据报文,从地址分配表记录的N个IP地址中选取一个未被分配的IP地址分配给所述分支终端,由所述分支终端利用被分配的IP地址作为源IP地址重新发送数据报文。
9.一种LAC,其特征在于,所述LAC包括获取单元,用于在与LNS建立L2TP会话过程中,获取LNS为所述LAC分配的L2TP隧道 IP地址,以及获取并记录LNS分配的N个IP地址至地址分配表,所述N与所述LAC欲申请的网络地址数量对应;路由确定单元,用于在所述LAC作为网关时接收分支终端发送的数据报文,并确定出转发所述数据报文的出接口;判断单元,用于在所述路由确定单元确定出通过所述L2TP隧道IP地址对应的L2TP隧道接口转发数据报文时,判断所述数据报文的源IP地址是否处于所述地址分配表中;处理单元,用于在所述判断单元的判断结果为是时,通过所述L2TP隧道接口转发所述数据报文,在所述判断单元的判断结果为否时,丢弃所述数据报文,从地址分配表记录的N 个IP地址中选取一个未被分配的IP地址分配给所述分支终端,由所述分支终端利用被分配的IP地址作为源IP地址重新发送数据报文。
10.根据权利要求9所述的LAC,其特征在于,所述获取单元包括请求子单元,用于通过会话建立请求ICRQ携带所述N,并发送至LNS,获取子单元,用于接收所述LNS返回的会话建立应答ICRP,从所述ICRP中获取所述 LNS分配的L2TP隧道IP地址和N个IP地址。
11.根据权利要求9所述的LAC,其特征在于,所述处理单元通过以下子单元分配IP地址给分支终端选取子单元,用于从地址分配表记录的N个IP地址中选取一个未被分配的IP地址作为分配给所述分支终端的IP地址,携带在地址重分配消息中;提取子单元,用于从地址解析协议ARP表项中提取以所述数据报文源IP地址为目的IP 地址的表项信息;转发子单元,用于利用所述表项信息中的终端MAC地址封装地址重分配消息中的MAC 头,并通过所述表项信息中的出接口转发所述地址重分配消息。
12.根据权利要求11所述的LAC,其特征在于,所述LAC进一步包括第一更新单元,用于将表项信息中的目的IP地址、终端MAC地址、出接口分别作为所述地址表项的源IP地址、终端MAC地址、出接口记录在地址表项中,并标识该地址表项的状态为第一标识;第二更新单元,用于接收所述分支终端返回的确认消息,比较所述确认消息携带的终端MAC地址、分支终端被分配的IP地址、以及所述LAC接收到所述确认消息的接口是否均与所述地址表项中的终端MAC地址、被选取的IP地址和出接口一致,如果是,则刷新地址表项的状态为第二标识;其中,所述分支终端是在将所述LAC分配给本终端的IP地址绑定到本终端的出接口,并更改默认路由为所述LAC上的L2TP隧道IP地址之后,返回确认消息给 LAC 的;所述判断单元判断所述数据报文的源IP地址是否处于所述地址分配表中包括判断所述地址分配表中是否存在包含所述数据报文的源IP地址、且状态为第二标识的地址表项。
13.根据权利要求9所述的LAC,其特征在于,所述路由确定单元进一步通过本LAC上的L2TP隧道接口接收LNS转发的总部访问分支终端的数据报文,并剥离该数据报文的L2TP 头和公网IP头,利用剥离后的数据报文的目的IP地址在地址分配表中查找到用于转发该数据报文的出接口并进行转发。
14.一种LNS,其特征在于,所述LNS包括分配单元,用于在所述LNS与LAC建立L2TP会话过程中为LAC分配L2TP隧道IP地址, 以及分配N个IP地址,所述N与所述LAC欲申请的网络地址数量对应;发送单元,用于将所述分配单元分配的L2TP隧道IP地址,以及N个IP地址发送至LAC。
15.根据权利要求14所述的LNS,其特征在于,所述分配单元包括接收子单元,用于接收所述LAC发送的会话建立请求ICRQ,所述ICRQ携带所述N ;发送子单元,用于从所述LNS被配置的地址池中选取一个未被分配的IP地址分配给 LAC作为该LAC的L2TP隧道IP地址,并继续从所述地址池中选取N个未被分配的IP地址, 并通过会话建立应答ICRP将选取的L2TP隧道IP地址、以及N个IP地址发送给LAC。
16.根据权利要求14或15所述的LNS,其特征在于,所述LNS进一步包括转发单元,用于接收总部发送的数据报文,并对该数据报文封装L2TP头和公网IP头, 通过本LNS上的L2TP隧道接口转发该数据报文,所述总部是利用所述LNS发布的主机路由信息将数据报文发送至LNS的,所述主机路由信息中的目的IP地址为所述N个IP地址,下一跳为所述L2TP隧道IP地址。
全文摘要
本发明提供了基于二层隧道协议L2TP的业务访问方法、系统和装置,该方法中,LAC在与LNS建立L2TP会话过程中,获取LNS为本LAC分配的L2TP隧道IP地址,以及获取并记录LNS分配的N个IP地址至地址分配表,N与LAC欲申请的网络地址数量对应;所述LAC作为网关接收分支终端发送的数据报文,并在确定出通过所述L2TP隧道IP地址对应的L2TP隧道接口转发所述数据报文时,判断所述数据报文的源IP地址是否处于所述地址分配表中,如果是,通过所述L2TP隧道接口转发所述数据报文,否则,丢弃所述数据报文,从地址分配表记录的N个IP地址中选取一个未被分配的IP地址分配给所述分支终端,由所述分支终端利用被分配的IP地址作为源IP地址重新发送数据报文。
文档编号H04L29/12GK102447752SQ20121002821
公开日2012年5月9日 申请日期2012年2月9日 优先权日2012年2月9日
发明者周迪, 林鹏程 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1