一种报文转发方法和设备的制作方法

文档序号:7889089阅读:190来源:国知局
专利名称:一种报文转发方法和设备的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种报文转发方法和设备。
技术背景
随着网络化进程的发展和信息整合需求的增加,分支机构的整合经常发生。但由于因特网协议(IP)地址段的紧缺,也由于管理上的独立性,分支机构通常采用独立的地址段规划,这种事情经常发生。
现有实现解决的方案通常采用网络地址转换(NAT),采用NAT方案不用涉及地址段的重新规划,也节省地址段的开销。但是随着各种新业务的发展,例如IP监控的部署,很多消息内部都携带着IP地址,这就要求NAT设备不断升级以识别消息内部的IP地址并对其进行修改,这显然非常麻烦。
另一种方案采用虚拟专用网络(VPN)技术,这样新业务的消息和业务流都在VPN 内部通信,不涉及NAT设备的改造,但是通常各个分支机构的地址段会重叠。有一种VPN用于外地向总部的拨号接入,典型的如二层隧道协议(L2TP),但是这种VPN —般只允许一个终端拨入,给它分配一个总部区域的地址。它与总部的通信采用总部地址,这样对于业务就不会有影响。
当存在一个分支区域,区域内的各设备各自接入时,会对总部的路由器造成大量 VPN的维护压力。发明内容
有鉴于此,本发明提供一种报文转发方法,能够降低总部路由器维护大量VPN的压力,并避免了协调多个分支机构的IP地址段重新规划的问题。
为解决上述技术问题,本发明的技术方案是这样实现的
一种报文转发方法,应用于基于L2TP的三层分支网络中,LAC与LNS建立L2TP隧道后,在建立会话过程中,获得所述LNS分配的自身申请数量的客户端地址,并将所述获得的客户端地址记录为私网源地址,获得所述LNS发送的总部服务器的路由信息,并将所述 L2TP隧道接口作为所述路由的出接口,所述方法包括
所述LAC接收到业务终端发送给总部服务器的需要所述L2TP隧道接口转发的报文;
若确定该报文的源IP地址和私网源地址在本地已记录,则为该报文重新封装外层IP头,再封装L2TP头,并从所述L2TP隧道接口转发给所述LNS,并使所述LNS将所述报文转发给对应的总部服务器;
若确定该报文的源IP地址在本地已记录,但该报文中不存在私网源地址,或存在的私网源地址未在本地记录,则将该报文丢弃,将记录的该报文的源IP地址对应的私网源地址通过地址重分配消息发送给所述业务终端;
若确定该报文的源IP地址在本地未记录,则将该报文丢弃,在记录的私网源地址中选取一个未分配的地址,通过地址重分配消息发送给所述业务终端。
一种设备,可应用于基于L2TP的三层分支网络中,所述设备包括获取单元,接收单元、确定单元和处理单元;
所述获取单元,用于自身所在设备与LNS建立L2TP隧道后,在建立会话过程中,获得所述LNS分配的自身所在设备申请数量的客户端地址,并将所述获得的客户端地址记录为私网源地址,获得所述LNS发送的总部服务器的路由信息,并将所述L2TP隧道接口作为所述路由的出接口;
所述接收单元,用于接收业务终端发送给总部服务器的需要所述L2TP隧道接口转发的报文;
所述确定单元,用于确定所述接收单元接收的报文的源IP地址和私网源地址是否在本地已记录;
所述处理单元,用于若所述确定单元确定所述报文的源IP地址和私网源地址在本地已记录,则为该报文重新封装外层IP头,再封装L2TP头,并从所述L2TP隧道接口转发给LNS,并使所述LNS将所述报文转发给对应的总部服务器;若确定所述报文的源IP地址在本地已记录,但该报文中不存在私网源地址,或存在的私网源地址未在本地记录,则将该报文丢弃,将所述获取单元中记录的该报文的源IP地址对应的私网源地址通过地址重分配消息发送给所述业务终端;若确定所述报文的源IP地址在本地未记录,则将该报文丢弃,在所述获取单元中记录的私网源地址中选取一个未分配的地址,通过地址重分配消息发送给所述业务终端。
综上所述,本发明中LAC通过在与LNS建立会话过程中获得LNS分配自身申请数量的客户端地址并记录为私网源地址,当业务终端需要访问总部服务器时,将记录的私网源地址分配给对应的业务终端,业务终端通过两层IP封装与总部服务器通信,能够降低总部路由器维护大量VPN的压力,并避免了协调多个分支机构的IP地址段重新规划的问题。


图1为本发明实施例中报文转发流程示意图2为本发明具体实施例中分支机构跨三层组网结构示意图3为AVP结构示意图4为本发明具体实施例中用于报文转发的设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明提出一种报文转发方法,应用于基于L2TP隧道的三层分支网络中,L2TP访问集中器(LAC)与L2TP网络服务器(LNQ建立L2TP隧道后,在建立会话过程中,获得LNS 分配的自身申请数量的客户端地址,并将所述获得的客户端地址记录为私网源地址,获得 LNS发送的总部服务器的路由信息,并将所述L2TP隧道接口作为所述路由的出接口 ;LAC获得LNS分配的LAC地址,并将所述LAC地址作为自身的L2TP隧道地址,其中,LNS分配LAC 地址时,将所述分配的客户端地址生成主机路由,发布到总部网络中,所述主机路由的目的地址为所述客户端地址,下一跳为对应的所述LAC地址。
参见图1,图1为本发明实施例中报文转发流程示意图。具体步骤为
步骤101,LAC接收到业务终端发送给总部服务器的需要所述L2TP隧道接口转发的报文。
分支机构存在跨三层转发时,出口路由器LAC作为分支机构连接外网的通道,向分支机构其他网络设备发布出接口为LAC公网地址的默认路由,分支机构内的业务终端需要与外界进行通信时,都会根据路由信息,将报文转发给LAC。LAC与LNS建立会话过程中, 已获知该L2TP隧道接口作为哪些路由的出接口。
步骤102,LAC若确定该报文的源IP地址和私网源地址在本地已记录,则为该报文重新封装外层IP头,再封装L2TP头,并从所述L2TP隧道接口转发给LNS,使LNS将所述报文转发给对应的总部服务器,结束本流程。
本步骤中,LAC若确定该报文的源IP地址和私网源地址在本地已记录,即已为该业务终端分配私网源地址。则将该报文的外层IP头剥离,将LAC的公网地址作为公网源地址,LNS的公网地址作为公网目的地址,封装公网IP头,并从对应L2TP隧道转发。
步骤103,LAC若确定该报文的源IP地址在本地已记录,但该报文中不存在私网源地址,或存在的私网源地址未在本地记录,则将该报文丢弃,将记录的该报文的源IP地址对应的私网源地址通过地址重分配消息发送给所述业务终端,结束本流程。
本步骤中,报文中不存在私网源地址,说明该报文不是采用两层IP头封装的,说明未给该业务终端发往对应总部服务器的私网源地址,给该业务终端分配了发往其他总部服务器的私网源地址;如果存在私网源地址但在本地未记录,则说明由于网络故障等原因造成,网络正常的时候不会出现这种情况,这两种情况下都要将报文丢弃。
步骤104,LAC若确定该报文的源IP地址在本地未记录,则将该报文丢弃,在记录的私网源地址中选取一个未分配的地址,通过地址重分配消息发送给所述业务终端。
本步骤中确定该报文的源IP地址在本地未记录,则说明该业务终端未通过该LAC 向总部服务器发送过报文。则LAC在记录的未分配的私网源地址中选择一个私网源地址分配给该业务终端作为发送对应总部服务器的私网源地址。
步骤103和步骤104中LAC发送地址重分配消息给业务终端时,使所述业务终端根据所述地址重分配消息中携带的私网源地址生成连接信息,并生成地址连接表记录所述生成的连接信息,其中,所述连接信息包括外层源地址、外层目的地址、私网源地址和私网目的地址;当所述业务终端向总部服务器发送报文时,在所述地址连接表项中查找,如果存在对应的连接表项,则封装私网IP头、外层IP头,并发送给所述LAC ;否则,采用自身的地址为源IP地址,封装要发送的报文,并发送给所述LAC。
连接信息中的外层源地址为业务终端的地址,外层目的地址为LAC的地址,私网源地址为LAC分配的私网地址,私网目的地址为总部服务器的地址。
步骤103和步骤104中LAC发送地址重分配消息后,LAC接收到所述业务终端发送的携带连接信息的确认消息时,记录所述连接信息中的外层源地址、外层目的地址、私网源地址以及接收该确认消息的入接口信息。
LAC与LNS建立会话时,生成地址分配表,用于记录所述获得的客户端地址为私网源地址,并绑定记录所述连接信息中的外层源地址、外层目的地址、私网源地址和入接口信肩、ο
步骤102中确定该报文的源IP地址和私网源地址在本地已记录为,确定在所述地址分配表中的外层源地址中记录该报文的源IP地址,且所述地址分配表中的私网源地址中对应记录该报文的私网源地址。
LAC与LNS建立会话过程中,LAC获得LNS分配的LAC地址,并将所述LAC地址作为自身的L2TP隧道地址,其中,LNS分配LAC地址和客户端地址时,标记为已分配,并将所述分配的客户端地址生成主机路由,发布到总部网络中,所述主机路由的目的地址为所述客户端地址,下一跳为对应的所述LAC地址。
LAC接收到总部服务器根据LNS发布的所述主机路由通过LNS发送给所述业务终端的报文,剥离该报文的公网IP头和L2TP头,根据该报文的私网IP头在所述地址分配表中查找对应的外层IP头信息以及出接口信息,封装外层IP头,从所述出接口转发给所述业务终端。其中,根据查找到的外层IP头信息中的目的地址查找ARP表项,封装MAC头等同现有实现,这里不再详细赘述。
下面结合附图,举具体实施例详细说明本发明如何实现在分支机构跨三层时转发报文的。
参见图2,图2为本发明具体实施例中分支机构跨三层组网结构示意图。图2中, LAC201作为出口路由器,为分支机构连接外网的通道,向分支机构中的其他设备发布出接口为IP_SPub的默认路由,分支机构内的业务终端203和业务终端204需要与外界进行通信时,都会根据路由信息,将报文转发给LAC201。LAC201与作为总部出口路由器的LNS202 建立L2TP隧道,并将业务终端发送的报文通过LNS202转发给总部服务器205和总部服务器 206。
LAC201 与 LNS202 建立 L2TP 隧道,采用 LAC-Auto-Initiated VPN 方式建立,即 L2TP隧道永久建立。LAC201在进行相关配置时,增加关于申请网络地址数量的配置,该数量一般跟用户组网设计时,与允许分支机构向总部建立连接的终端数量对应,LAC201向 LNS202发起会话建立时,发送ICRQ消息,携带了欲申请的网络地址数量,并封装到新定义白勺 AVP 胃;|、巾,^1 client number, Attribute Type 白勺{t, Attribute Value 配置的申请网络地址数量,如图2中,假设只有二个业务终端,此时的值为2。
LNS收到请求后进行应答ICRP,从自身配置的地址池选取一个地址,封装到新定义的 AVP 信息中,定义为 LAC address, Attribute Type 为新的值,Attribute Value 为 LNS分配给LAC的L2TP隧道IP地址,LAC地址为IP_SPril,再从剩余的地址池中,提取对应client number数量的IP地址,封装到另一个新定义的AVP信息中,定义为client address,客户端地址为IP_SPri2和IP_SPri2,同时,LNS标记这些分配的地址(IP_SPril、 IP_SPri2、IP_SPri3)为已分配,并将client address生成主机路由,目的地址为client address (IP_SPri2、IP_SPri!3),下一跳为对应的 LAC address (IP_SPril),发布到总部网络中,并将总部的路由信息发布给LAC。
参见图3,图3为AVP结构示意图。图3中M为强制位,该位设置为1时,M表示强制位,该位置1时,不识别的AVP将导致相应的session或tunnel终止;H表示隐藏标志位, 该位置1,表示AVP值被隐藏显示;rsvd表示保留位。Length表示AVP报文长度;Attribute Type表示属性类型定义;Attribute Value表示属性值。本发明具体实施例实现时通过增加AVP的结构类型对L2TP报文进行扩展,AVP的结构不变。
LAC收到LNS的ICRP报文,记录网络地址信息,且将LAC address AVP中的网络地址(IP_SPril)作为自身的L2TP隧道地址,同时接收LNS发布过来的路由信息,将L2TP隧道接口作为这些路由的出接口,LAC也可以将这些信息发布给分支网络的路由器上,同时, LAC保存client address AVP中的地址信息(IP_SPri2、IP_SPri3)到地址分配表,参见表 1,表1为记录了私网源地址的地址分配表。
权利要求
1.一种报文转发方法,应用于基于二层隧道协议L2TP的三层分支网络中,其特征在于,L2TP访问集中器LAC与L2TP网络服务器LNS建立L2TP隧道后,在建立会话过程中,获得所述LNS分配的自身申请数量的客户端地址,并将所述获得的客户端地址记录为私网源地址,获得所述LNS发送的总部服务器的路由信息,并将所述L2TP隧道接口作为所述路由的出接口,所述方法包括所述LAC接收到业务终端发送给总部服务器的需要所述L2TP隧道接口转发的报文;若确定该报文的源因特网协议IP地址和私网源地址在本地已记录,则为该报文重新封装外层IP头,再封装L2TP头,并从所述L2TP隧道接口转发给所述LNS,使所述LNS将所述报文转发给对应的总部服务器;若确定该报文的源IP地址在本地已记录,但该报文中不存在私网源地址,或存在的私网源地址未在本地记录,则将该报文丢弃,将记录的该报文的源IP地址对应的私网源地址通过地址重分配消息发送给所述业务终端;若确定该报文的源IP地址在本地未记录,则将该报文丢弃,在记录的私网源地址中选取一个未分配的地址,通过地址重分配消息发送给所述业务终端。
2.根据权利要求1所述的方法,其特征在于,所述LAC将地址重分配消息发送给所述业务终端时,所述方法进一步包括所述LAC使所述业务终端根据所述地址重分配消息中携带的私网源地址生成连接信息,并生成地址连接表记录所述连接信息,其中,所述连接信息包括外层源地址、外层目的地址、私网源地址和私网目的地址;当所述业务终端向总部服务器发送报文时,在所述地址连接表中查找,如果存在对应的连接表项,则封装私网IP头、外层IP头,并发送给所述LAC ;否则,采用自身的地址为源IP地址,封装要发送的报文,并发送给所述LAC。
3.根据权利要求2所述的方法,其特征在于,所述LAC发送地址重分配消息后,所述方法进一步包括所述LAC接收到所述业务终端发送的携带连接信息的确认消息时,记录所述连接信息中的外层源地址、外层目的地址、私网源地址以及接收该确认消息的入接口信息。
4.根据权利要求3所述的方法,其特征在于,所述LAC与LNS建立会话时,所述方法进一步包括生成地址分配表,用于记录所述获得的客户端地址为私网源地址,并绑定记录所述连接信息中的外层源地址、外层目的地址、私网源地址和入接口信息。
5.根据权利要求4所述的方法,其特征在于,所述确定该报文的源IP地址和私网源地址在本地已记录为,确定在所述地址分配表中的外层源地址中记录该报文的源IP地址,且所述地址分配表中的私网源地址中对应记录该报文的私网源地址。
6.根据权利要求4所述的方法,其特征在于,所述LAC与LNS建立会话过程中,所述方法进一步包括所述LAC获得所述LNS分配的LAC地址,并将所述LAC地址作为自身的L2TP隧道地址, 其中,LNS分配LAC地址和客户端地址时,标记为已分配,并将所述分配的客户端地址生成主机路由,发布到总部网络中,所述主机路由的目的地址为所述客户端地址,下一跳为对应的所述LAC地址。
7.根据权利要求6所述的方法,其特征在于,所述方法进一步包括所述LAC接收到总部服务器根据LNS发布的所述主机路由通过LNS发送给所述业务终端的报文,剥离该报文的公网IP头和L2TP头,根据该报文的私网IP头在所述地址分配表中查找对应的外层IP头信息以及出接口信息,封装外层IP头,从所述出接口转发给所述业务终端。
8.一种设备,可应用于基于二层隧道协议L2TP的三层分支网络中,其特征在于,所述设备包括获取单元,接收单元、确定单元和处理单元;所述获取单元,用于自身所在设备与L2TP网络服务器LNS建立L2TP隧道后,在建立会话过程中,获得所述LNS分配的自身所在设备申请数量的客户端地址,并将所述获得的客户端地址记录为私网源地址,获得所述LNS发送的总部服务器的路由信息,并将所述L2TP 隧道接口作为所述路由的出接口;所述接收单元,用于接收业务终端发送给总部服务器的需要所述L2TP隧道接口转发的报文;所述确定单元,用于确定所述接收单元接收的报文的源因特网协议IP地址和私网源地址是否在本地已记录;所述处理单元,用于若所述确定单元确定所述报文的源IP地址和私网源地址在本地已记录,则为该报文重新封装外层IP头,再封装L2TP头,并从所述L2TP隧道接口转发给 LNS,使所述LNS将所述报文转发给对应的总部服务器;若确定所述报文的源IP地址在本地已记录,但该报文中不存在私网源地址,或存在的私网源地址未在本地记录,则将该报文丢弃,将所述获取单元中记录的该报文的源IP地址对应的私网源地址通过地址重分配消息发送给所述业务终端;若确定所述报文的源IP地址在本地未记录,则将该报文丢弃,在所述获取单元中记录的私网源地址中选取一个未分配的地址,通过地址重分配消息发送给所述业务终端。
9.根据权利要求8所述的设备,其特征在于,所述处理单元,进一步用于将地址重分配消息发送给所述业务终端时使所述业务终端根据所述地址重分配消息中携带的私网源地址生成连接信息,并生成地址连接表记录所述连接信息,其中,所述连接信息包括外层源地址、外层目的地址、私网源地址和私网目的地址;当所述业务终端向总部服务器发送报文时,在所述地址连接表项中查找,如果存在对应的连接表项,则封装私网IP头、外层IP头,并发送给所述LAC ;否则,采用自身的地址为源 IP地址,封装要发送的报文,并发送给所述LAC。
10.根据权利要求9所述的设备,其特征在于,所述接收单元,进一步用于接收所述业务终端发送的携带连接信息的确认消息;所述获取单元,进一步用于记录所述接收单元接收的确认消息中携带的所述连接信息中的外层源地址、外层目的地址、私网源地址以及接收该确认消息的入接口信息。
11.根据权利要求10所述的设备,其特征在于,所述获取单元,进一步用于在自身所在设备与所述LNS建立会话时,生成地址分配表, 用于记录所述获得的客户端地址为私网源地址,并绑定记录所述连接信息中的外层源地址、外层目的地址、私网源地址和入接口信息。
12.根据权利要求11所述的设备,其特征在于,所述确定单元,用于确定在所述获取单元生成的地址分配表中的外层源地址中是否记录所述接收单元接收的报文的源IP地址,且所述地址分配表中的私网源地址中是否对应记录该报文的私网源地址。
13.根据权利要求11所述的设备,其特征在于,所述获取单元,进一步用于获得LNS分配的LAC地址,并将所述LAC地址作为自身所在设备的L2TP隧道地址,其中,LNS分配LAC地址和客户端地址后,标记为已分配,并将所述分配的客户端地址生成主机路由,发布到总部网络中,所述主机路由的目的地址为所述客户端地址,下一跳为对应的所述LAC地址。
14.根据权利要求13所述的设备,其特征在于,所述接收单元,进一步用于接收总部服务器根据LNS发布的所述主机路由通过LNS发送给所述业务终端的报文;所述处理单元,进一步用于将所述接收单元接收的报文剥离公网IP头和L2TP头,根据该报文的私网IP头在所述获取单元生成的地址分配表中查找对应的外层IP头信息以及出接口信息,封装外层IP头,并从所述出接口转发给所述业务终端。
全文摘要
本发明公开了一种报文转发方法和设备,应用于基于L2TP的三层分支网络中,LAC通过在与LNS建立会话过程中获得LNS分配自身申请数量的客户端地址并记录为私网源地址,当业务终端需要访问总部服务器时,将记录的私网源地址分配给对应的业务终端,业务终端通过两层IP封装与总部服务器通信,能够降低总部路由器维护大量VPN的压力,并避免了协调多个分支机构的IP地址段重新规划的问题。
文档编号H04L29/06GK102546349SQ20121002820
公开日2012年7月4日 申请日期2012年2月9日 优先权日2012年2月9日
发明者周迪, 林鹏程 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1