一种自动建立隧道的方法、CPE及汇聚设备与流程

文档序号:12067943阅读:768来源:国知局
一种自动建立隧道的方法、CPE及汇聚设备与流程

本发明涉及通信领域,尤其涉及一种自动建立隧道的方法、用户终端设备(Customer Premise Equipment,简称CPE)及汇聚设备。



背景技术:

隧道技术(Tunneling)是一种通过互联网的基础设施在网络之间传递数据的方式。隧道传递的数据可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或数据包重新封装然后通过隧道发送,新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。在以太网中,隧道技术包括:二层隧道协议(Layer 2Tunneling Protocol,简称L2TP),通用路由封装(Generic Routing Encapsulation,简称GRE),使用通用路由封装的虚拟网络(Network Virtualization using Generic Routing Encapsulation,简称NVGRE),虚拟扩展局域网(Virtual Extensible LAN,简称VXLAN)等。CPE可以为多个终端提供网络接入服务,企业用户通过CPE可以十分方便地将企业网络中的终端连入互联网。

现有建立隧道技术中,网络配置人员需要为CPE和汇聚设备(例如路由器)分别设置隧道地址与媒体访问控制(Media Access Control,简称MAC)地址(或网际协议(Internet Protocol,简称IP)地址)之间的映射关系。举例来说,网络配置人员分别为CPE和汇聚设备设置隧道地址以及隧道协议,CPE与汇聚设备进行点对点协议(Point to Point Protocol,简称PPP)协商,进行PPP信息交换,从而获取隧道的配置变量,如IP地址,加密或压缩等,CPE可以根据隧道配置变量建立与汇聚设备的隧道连接,用户可以通过该隧道将以太网二层报文透传到汇聚设备。

在实际应用中,一般需要通过多个CPE建立企业网络,在CPE及汇聚设备之间建立或维护的隧道时,都需要人工进行配置和调试,因此建立隧道的效率低,成本较高。



技术实现要素:

本申请提供了一种自动建立隧道的方法、CPE以及汇聚设备,能够自动建立CPE和汇聚设备之间的隧道,无需人工进行配置和调试,提高了配置隧道的效率并降低了配置隧道的成本。

第一方面,提供了一种自动建立隧道的方法,包括:

CPE向汇聚设备发送PPP连接请求以建立与汇聚设备之间的PPP连接,接收汇聚设备通过PPP连接发送的隧道配置参数,根据隧道配置参数建立与汇聚设备的隧道。

这样,CPE通过PPP连接可以获得汇聚设备反馈的隧道配置参数,自动配置隧道配置参数,建立与汇聚设备的隧道连接,无需人工进行配置和调试,提高了配置隧道的效率。

结合第一方面,在第一方面的第一种实现方式中,CPE根据隧道配置参数建立与汇聚设备的隧道包括:若隧道配置参数包括L2TP标识,则CPE向汇聚设备发送BCP请求,以使得汇聚设备根据BCP请求建立与CPE之间的L2TP隧道。

这样,通过L2TP标识,就可以在CPE与汇聚设备间自动配置并建立起L2TP隧道。

结合第一方面,在第一方面的第二种实现方式中,隧道配置参数中的隧道类型参数包括隧道类型标识、网络层的第一网际协议IP地址以及第二IP地址;

CPE根据第一IP地址确定隧道的源地址,并根据第二IP地址确定隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应,隧道与隧道类型标识对应;

CPE将局域网接口与隧道的隧道接口进行绑定。

结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,

当隧道类型标识为GRE标识时,隧道为GRE隧道;

当隧道类型标识为NVGRE标识时,隧道为NVGRE隧道;

当隧道类型标识为VXLAN标识时,隧道为VXLAN隧道。

这样,通过在隧道类型参数中的隧道类型标识,CPE的IP地址和汇聚设备的IP地址,就可以在CPE与汇聚设备间自动配置并建立起与隧道类型标识对应的隧道。

第二方面提供一种自动建立隧道的方法,包括:

汇聚设备接收CPE发送的PPP连接请求,根据PPP连接请求建立与CPE之间的PPP连接,获取隧道配置参数,通过PPP连接将隧道配置参数发送给CPE,根据隧道配置参数建立与CPE的隧道。

这样,汇聚设备通过PPP连接可以将隧道配置参数发送给CPE,自动配置隧道配置参数,建立与CPE的隧道连接,无需人工进行配置和调试,提高了配置隧道的效率。

结合第二方面,在第二方面的第一种实现方式中,汇聚设备根据隧道配置参数建立与CPE的隧道包括:

若隧道配置参数包括L2TP标识,则汇聚设备接收CPE发送的BCP请求,根据BCP请求建立与CPE的L2TP隧道。这样,通过L2TP标识,就可以在CPE与汇聚设备间自动配置并建立起L2TP隧道。

结合的第二方面,在第二方面的第二种实现方式中,隧道配置参数包括隧道类型标识、网络层的第一IP地址以及第二IP地址;

汇聚设备根据隧道配置参数建立与CPE的隧道包括:

汇聚设备根据第二IP地址确定隧道的源地址,并根据第一IP地址确定隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应,隧道与隧道类型标识对应。

结合的第二方面的第二种实现方式,在第二方面的第三种实现方式中,

当隧道类型标识为GRE标识时,隧道为GRE隧道;

当隧道类型标识为NVGRE标识时,隧道为NVGRE隧道;

当隧道类型标识为VXLAN标识时,隧道为VXLAN隧道。

这样,通过在隧道类型参数中的隧道类型标识,CPE的IP地址和汇聚设备的IP地址,就可以在CPE与汇聚设备间自动配置并建立起与隧道类型标识对应的隧道。

结合第二方面,或第二方面的以上实现方式,在第二方面的第三种实现方式中,在汇聚设备根据隧道配置参数建立与CPE的隧道之后,所述方法还包括:

汇聚设备获取参数修改指示,根据参数修改指示断开与CPE连接的隧道,参数修改指示用于修改隧道配置参数。

结合第二方面的第三种实现方式,在第二方面的第四种实现方式中,参数修改指示用于指示隧道配置参数从第一隧道配置参数修改为第二隧道配置参数,汇聚设备根据参数修改指示断开与CPE连接的第一隧道之后包括:汇聚设备根据参数修改指示获取第二隧道配置参数,向CPE发送重协商请求,以使得CPE向汇聚设备发起获取隧道配置参数的请求;

汇聚设备向CPE发送第二隧道配置参数,以使得CPE根据第二隧道配置参数建立与汇聚设备的隧道。

这样,汇聚设备修改隧道配置参数之后,CPE就可以自动获取修改后的隧道配置参数,并建立与汇聚设备的隧道,无需人工在CPE上重新配置隧道参数,提高了配置隧道的效率。

另一种可能的实现方式中,汇聚设备存储至少两种隧道配置参数,每种隧道配置参数与至少一个L2TP组对应。

第三方面,提供一种CPE,具有实现上述自动建立隧道的方法中CPE行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。

一种可能的实现方式中,所述CPE包括发送器、接收器和处理器;其中,

发送器,用于向汇聚设备发送PPP连接请求以建立与汇聚设备之间的PPP连接;

接收器,用于接收汇聚设备通过PPP连接发送的隧道配置参数;

处理器,用于根据隧道配置参数建立与汇聚设备的隧道。

另一种可能的实现方式中,所述CPE包括:

建立PPP连接模块,用于向汇聚设备发送PPP连接请求以建立与汇聚设备之间的PPP连接;

接收模块,用于接收汇聚设备通过PPP连接发送的隧道配置参数;

建立隧道模块,用于根据隧道配置参数建立与汇聚设备的隧道。

第四方面,提供一种汇聚设备,汇聚设备具有实现上述自动建立隧道的方法中汇聚设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。

一种可能的实现方式中,所述汇聚设备包括发送器、接收器和处理器,其中,

接收器,用于接收CPE发送的PPP连接请求,根据PPP连接请求建立与CPE之间的PPP连接;

处理器,用于获取隧道配置参数;

发送器,用于通过PPP连接将隧道配置参数发送给CPE;

处理器,还用于根据隧道配置参数建立与CPE的隧道。

另一种可能的实现方式中,所述汇聚设备包括:

连接建立模块,用于接收CPE发送的PPP连接请求,根据PPP连接请求建立与CPE之间的PPP连接;

获取模块,用于获取隧道配置参数;

发送模块,用于通过PPP连接将隧道配置参数发送给CPE;

隧道建立模块,还用于根据隧道配置参数建立与CPE的隧道。

本申请提供的技术方案,CPE向汇聚设备发送PPP连接请求,和汇聚设备建立PPP连接,汇聚设备通过PPP连接向CPE发送隧道配置参数,CPE根据隧道配置参数对自身进行配置,CPE可以根据汇聚设备反馈的隧道配置参数自动建立与汇聚设备的隧道连接,无需人工进行配置和调试,提高了配置隧道的效率,并降低了配置隧道的成本。

附图说明

图1为本发明实施例中自动建立隧道的方法的一个流程示意图;

图2为LCP报文中隧道配置参数的格式示意图;

图3为本发明实施例中自动建立隧道的方法的另一个流程示意图;

图4为本发明实施例中自动建立隧道的方法的又一个流程示意图;

图5为本发明实施例中CPE的一个结构示意图;

图6为本发明实施例中CPE的另一个结构示意图;

图7为本发明实施例中汇聚设备的一个结构示意图;

图8为本发明实施例中汇聚设备的另一个结构示意图;

图9为本发明实施例中汇聚设备的又一个结构示意图。

具体实施方式

为便于理解,下面先对本申请中的专业术语进行介绍:

二层隧道协议(Layer 2Tunneling Protocol,简称L2TP)是一种工业标准的Internet隧道协议,可以整合多协议拨号服务至现有的互联网服务提供商。允许第二层终端点和PPP终点处于不同的由包交换网络相互连接的设备。L2TP是一个基于UDP的数据链路层协议。其报文分为数据消息和控制消息两类,数据消息用于传输PPP帧,该帧作为L2TP报文的数据区。L2TP不保证数据消息的可靠传输,若数据消息丢失,不予重传,不支持对数据消息的流量控制和拥塞控制。控制消息用以建立、维护和终止控制连接及会话,L2TP确保控制消息可靠传输,并支持对控制消息的流量控制和拥塞控制。

点对点协议(Point to Point Protocol,简称PPP)是一种用来同步调制连接的数据链路层协议,定义了多协议跨越第二层进行点对点链接的一个封装机制。

在企业分支的CPE和企业总部的汇聚设备之间建立隧道,需要网络配置人员在企业分支的CPE上设置隧道的源地址和目的地址,当网络中以及隧道协议,因此效率较低,成本较高。同时,如果CPE的上行IP地址是动态IP地址,由于上行IP地址会变化,远程网管无法识别此IP地址,因此无法对该CPE进行远程配置。

为提高建立隧道的效率,本申请提供了一种自动建立隧道的方法,请参阅图1,所述方法包括:

S101、CPE向汇聚设备发送PPP连接请求以建立与汇聚设备之间的PPP连接;

本实施例中,汇聚设备是指连接接入层和核心层的网络设备,可以是路由器,宽带远程接入服务器(Broadband Remote Access Server,简称BRAS),宽带网络网关控制设备(Broadband Network Gateway,简称BNG),网关或防火墙,具体此处不作限定。

CPE想要建立与汇聚设备之间的隧道连接时,CPE向自动配置服务器(Auto-Configuration Server,简称ACS)发送CPE标识,自动配置服务器可以根据CPE标识获取拨号配置参数,并将拨号配置参数发送给CPE,CPE接收拨号配置参数之后,根据拨号配置参数与汇聚设备进行PPP协商,该PPP协商包括L2TP协商以及链路控制协议(Link Control Protocol,简称LCP)协商。在LCP协商过程中,汇聚设备会向CPE发送LCP报文。其中,CPE标识可以是设备序列号(Serial Number,简称SN)。

需要说明的是,本发明中的CPE在发送CPE标识之前,CPE已配置CPE设备启动文件,可以是由厂家预置;或在启动CPE后,CPE通过CPE广域网管理协议(CPE WAN Management Protocol,简称CWMP)从ACS获取并配置CPE设备启动文件。

S102、CPE接收汇聚设备通过PPP连接发送的隧道配置参数;

其中,LCP报文携带有隧道配置参数,CPE与汇聚设备进行PPP协商的LCP协商阶段时,CPE可以通过PPP连接获取LCP报文携带的隧道配置参数。

请参阅图2,下面对隧道配置参数的格式进行详细介绍:

PPP报文包括标志、地址、控制、协议、信息、帧检验序列等字段,在实际应用中,可以分别采用Flag、Address、Control、Protocol、Information、帧检验序列(Frame Check Sequence,简称FCS)等字段表示,其中,在PPP报文的头部和尾部均设有Flag字段,Flag、Address、Control字段分别为8bits,Protocol字段为8bits或16bits,FCS字段为16bits,Information字段用于存储LCP报文;

LCP报文包括编码、编号、长度、数据等字段,在实际应用中,可以分别采用Code、Identifier、Length、Data字段表示,其中,Code字段和Identifier字段为8bits,Length字段为16bits,编号为0x01至0xB的Code字段已被占用,编号为0x0C至0x0F的Code字段所对应的LCP报文可用于存储隧道配置参数。需要说明的是,在LCP报文的Data字段可以存储两个以上的隧道配置参数,具体数量此处不做限定。

隧道配置参数包括类型、长度、内容等,在实际应用中可以分别采用Type、Length、Data字段表示,也可以称为类型(Type),长度(Length),值(Value)其中,Type、Length字段分别为8bits,Type字段用于存储隧道类型,Length字段用于标识隧道配置参数的长度,Data字段用于存储隧道配置参数,例如IP地址。可以理解的是,隧道配置参数的格式符合隧道协议标准。

S103、CPE根据隧道配置参数建立与汇聚设备的隧道。

CPE可以根据隧道配置参数建立与汇聚设备的隧道,建立隧道具体过程可以包括如下实现方式:

一、隧道配置参数包括L2TP标识:

若隧道配置参数包括L2TP标识时,则CPE向汇聚设备发送桥接控制协议(Bridge Control Protocol,简称BCP)请求,以使得汇聚设备根据BCP请求建立与CPE之间的L2TP隧道。

具体的,当隧道配置参数包括L2TP标识时,表明CPE可以与汇聚设备建立L2TP隧道,当CPE获取上述隧道配置参数之后,向汇聚设备发送BCP请求,汇聚设备接收BCP请求之后,汇聚设备与CPE进行BCP协商,协商通过后,二者之间的L2TP隧道就建立完成。

二、隧道配置参数包括GRE标识、网络层的第一IP地址以及第二IP地址:

若隧道配置参数中的隧道类型参数包括GRE标识、网络层的第一IP地址以及第二IP地址,则CPE根据第一IP地址确定GRE隧道的源地址,并根据第二IP地址确定GRE隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应;CPE将局域网接口与GRE隧道的隧道接口进行绑定。

具体的,局域网(Local Area Network,简称LAN)接口是指连接用户设备的网络设备接口,广域网(Wide Area Network interface,简称WAN)接口是指连接公网的网络设备接口。

若隧道配置参数中的隧道类型参数为GRE标识时,表明CPE可以建立与汇聚设备之间的GRE隧道。当CPE获取上述隧道配置参数之后,CPE将网络层的第一IP地址设置为GRE隧道的源地址,将网络层的第二IP地址设置GRE隧道的目的地址,并将局域网接口与GRE隧道的隧道接口进行绑定,从而建立GRE隧道。其中,第二IP地址由L2TP源地址得到。

可以理解的是,隧道接口是逻辑接口,将局域网接口与隧道接口绑定之后,就建立了私网IP到公网IP的映射关系,数据报文通过局域网接口时,CPE可以将数据报文加上用于封装的报文头,通过公网,发送到隧道的目的地址指定的对端。

三、隧道配置参数包括NVGRE标识、网络层的第一IP地址以及第二IP地址:

若隧道配置参数包括NVGRE标识、网络层的第一IP地址以及第二IP地址,则CPE根据第一IP地址确定NVGRE隧道的源地址,并根据第二IP地址确定NVGRE隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应;CPE将局域网接口与NVGRE隧道的隧道接口进行绑定。

具体的,若隧道配置参数包括NVGRE标识,表明CPE可以与汇聚设备建立NVGRE隧道,CPE将网络层的第一IP地址设置为NVGRE隧道的源地址,将网络层的第二IP地址设置为NVGRE隧道的目的地址,并将局域网接口与NVGRE隧道的隧道接口进行绑定,从而建立NVGRE隧道。其中,NVGRE标识可以是虚拟子网标识(Virtual Subnet ID,简称VSID)。

四、隧道配置参数包括VXLAN标识、网络层的第一IP地址以及第二IP地址:

若隧道配置参数包括VXLAN标识、网络层的第一IP地址以及第二IP地址,则CPE根据第一IP地址确定VXLAN隧道的源地址,并根据第二IP地址确定VXLAN隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应;CPE将局域网接口与VXLAN隧道的隧道接口进行绑定。

具体的,若隧道配置参数包括VXLAN标识,表明CPE可以与汇聚设备建立VXLAN隧道,当CPE获取上述隧道配置参数之后,CPE将网络层的第一IP地址设置为VXLAN隧道的源地址,将网络层的第二IP地址设置VXLAN隧道的目的地址,并将局域网接口与VXLAN隧道的隧道接口进行绑定,从而建立VXLAN隧道。

需要说明的是,在CPE建立与汇聚设备的隧道之后,PPP和L2TP可以作为该隧道的管理通道。另外,CPE和汇聚设备还可以在管理通道和/或二层over三层隧道的里外层叠加Internet协议安全性(Internet Protocol Security,简称IPSec),以提升管理通道和以太报文的安全性。

可以理解的是,由于CPE主动向汇聚设备进行拨号,即使CPE的上行IP地址为动态IP地址,汇聚设备也可以确定CPE的上行IP地址,从而识别CPE,进而对CPE进行隧道配置。

在实际应用中,隧道配置由CPE以及汇聚设备共同配置完成,下面从汇聚设备侧对本申请提供的自动建立隧道的方法进行详细介绍,请参阅图3,所述方法包括:

S301、汇聚设备接收CPE发送的PPP连接请求,根据PPP连接请求建立与CPE之间的PPP连接;

本实施例中,当CPE获取拨号配置参数之后,CPE向汇聚设备发送PPP连接请求,汇聚设备与CPE建立PPP连接,并与CPE开始进行PPP协商,PPP协商过程包括L2TP协商以及LCP协商。其中,汇聚设备与图1所示实施例中的汇聚设备相似,此处不再赘述。

S302、汇聚设备获取隧道配置参数;

其中,LCP报文包括隧道配置参数,当汇聚设备与CPE进行LCP协商时,汇聚设备可以获取LCP报文以及LCP报文中的隧道配置参数。

S303、汇聚设备通过PPP连接将隧道配置参数发送给CPE;

汇聚设备获取携带有隧道配置参数的LCP报文之后,汇聚设备通过PPP连接将隧道配置参数发送给CPE。

S304、汇聚设备根据隧道配置参数建立与CPE的隧道。

汇聚设备可以根据隧道配置参数建立与CPE的隧道,建立隧道的具体过程可以包括如下实现方式:

一、隧道配置参数包括L2TP标识:

若隧道配置参数包括L2TP标识,则汇聚设备接收CPE发送的BCP请求;汇聚设备根据BCP请求建立与CPE的L2TP隧道。

具体的,隧道配置参数包括L2TP标识,当CPE向汇聚设备发送BCP请求之后,汇聚设备与CPE进行BCP协商,协商通过后,二者之间的L2TP隧道就建立完成。

二、隧道配置参数包括GRE标识、网络层的第一IP地址以及第二IP地址:

若隧道配置参数包括GRE标识、网络层的第一IP地址以及第二IP地址,则汇聚设备根据第二IP地址确定GRE隧道的源地址,并根据第一IP地址确定GRE隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应。

具体的,若隧道配置参数的隧道类型参数为GRE标识,表明汇聚设备可以与CPE建立GRE隧道。汇聚设备将网络层的第二IP地址设置为GRE隧道的源地址,将网络层的第一IP地址设置GRE隧道的目的地址。其中,第二IP地址由L2TP源地址得到。当GRE隧道建立之后,汇聚设备可以通过GRE隧道接收CPE发送的二层ETH报文,对该二层ETH报文解封装之后,发送给运营商侧边缘路由设备。

三、隧道配置参数包括NVGRE标识、网络层的第一IP地址以及第二IP地址:

若隧道配置参数包括NVGRE标识、网络层的第一IP地址以及第二IP地址,则汇聚设备根据第二IP地址确定NVGRE隧道的源地址,并根据第一IP地址确定NVGRE隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应。

具体的,若隧道配置参数的隧道类型参数为NVGRE标识,表明汇聚设备可以与CPE建立NVGRE隧道。汇聚设备将网络层的第二IP地址设置为NVGRE隧道的源地址,将网络层的第一IP地址设置NVGRE隧道的目的地址。其中,NVGRE标识可以是VSID。

四、隧道配置参数包括VXLAN标识、网络层的第一IP地址以及第二IP地址:

若隧道配置参数包括VXLAN标识、网络层的第一IP地址以及第二IP地址,则汇聚设备根据第二IP地址确定VXLAN的源地址,并根据第一IP地址确定VXLAN隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应。

具体的,若隧道配置参数的隧道类型参数为VXLAN标识,表明汇聚设备可以与CPE建立VXLAN隧道。汇聚设备将网络层的第二IP地址设置为VXLAN隧道的源地址,将网络层的第一IP地址设置VXLAN隧道的目的地址。

可选的,汇聚设备根据隧道配置参数建立与CPE的隧道之后包括:汇聚设备获取参数修改指示,参数修改指示用于修改隧道配置参数;汇聚设备根据参数修改指示断开与CPE连接的隧道。

具体的,当汇聚设备中的隧道配置参数被修改时,汇聚设备可以获取参数修改指示,并根据汇聚设备可以断开与CPE之间的隧道连接,并断开在隧道中的会话连接。

进一步的,参数修改指示用于指示隧道配置参数从第一隧道配置参数修改为第二隧道配置参数,汇聚设备根据参数修改指示断开与CPE的隧道连接之后包括:汇聚设备根据参数修改指示获取第二隧道配置参数;汇聚设备向CPE发送重协商请求,以使得CPE向汇聚设备发起获取隧道配置参数的请求;汇聚设备向CPE发送第二隧道配置参数,以使得CPE根据第二隧道配置参数建立与汇聚设备的隧道。

具体的,当隧道配置参数从第一隧道配置参数修改为第二隧道配置参数时,汇聚设备向CPE发送PPP重协商请求,CPE根据该重协商请求,触发图1所示实施例中建立隧道流程,在汇聚设备与CPE之间建立第二隧道,第二隧道与所示第二隧道配置参数对应。

下面对在实际应用中可能出现汇聚设备与不同CPE建立不同类型的隧道的情况进行介绍:

可选的,汇聚设备存储至少两种隧道配置参数,每种隧道配置参数与至少一个L2TP组对应。

具体的,汇聚设备存储有至少两种隧道配置参数,当多个CPE向汇聚设备发起L2TP协商时,要求建立不同类型隧道时,汇聚设备可以建立多个L2TP组,每个L2TP组对应一个隧道,通过L2TP组将隧道配置参数分发给各CPE,并分别建立与各CPE之间的隧道。

可选的,汇聚设备包括网络地址转换(Network Address Translation,简称NAT)设备。

在实际应用中,由于L2TP隧道和VXLAN隧道可以较好的支持NAT,因此当汇聚设备中包含NAT设备时,汇聚设备获取的隧道配置参数可以为L2TP隧道标识,或VXLAN隧道标识,第一IP地址以及第二IP地址,以使得汇聚设备可以与CPE建立L2TP隧道和VXLAN隧道。

需要说明的是,由于GRE封装没有传输层端口,不能进行网络端口地址转换(Network Address Port Translation,简称NAPT)转换,因此不能直接与CPE侧的隧道地址匹配,需要通过VPN嵌套来实现NAT穿越,因此当汇聚设备包括NAT设备时,可以不存储GRE隧道配置参数。

下面对CPE和汇聚设备的交互过程进行介绍,请参阅图4,本发明实施例中自动建立隧道的方法包括:

CPE向汇聚设备发送PPP连接请求,汇聚设备接收CPE发送的PPP连接请求,根据PPP连接请求建立与CPE之间的PPP连接;

汇聚设备获取隧道配置参数,根据隧道配置参数建立与CPE的隧道;

汇聚设备通过PPP连接将隧道配置参数发送给CPE,CPE接收汇聚设备通过PPP连接发送的隧道配置参数,根据隧道配置参数建立与汇聚设备的隧道。

本实施例中,CPE和汇聚设备之间建立隧道的具体实施过程可以参阅图1和图3所示实施例,此处不再赘述。

为便于理解,下面以一具体应用场景对本发明实施例中自动建立隧道的方法进行详细说明:

汇聚设备以路由器为例,当企业分支的用户想要和企业总部建立通信隧道,用户通过CPE1向企业总部的自动配置服务器上报设备信息,设备序列号以M01为例,自动配置服务器获取拨号配置参数后,根据M01将拨号配置参数发送给CPE1,CPE1与路由器进行PPP协商,建立PPP链路,路由器将隧道配置参数发送给CPE1,假定路由器的IP地址为192.168.1.2,CPE1的IP地址为192.168.1.10;

当隧道配置参数包括L2TP标识,则CPE1向路由器发送BCP连接请求,路由器与CPE进行BCP协商,协商通过后建立L2TP隧道;

当隧道配置参数包括GRE标识、‘192.168.1.10’、‘192.168.1.2’,CPE将‘192.168.1.10’作为GRE隧道的源地址,并将局域网接口和‘192.168.1.10’进行绑定,将‘192.168.1.2’作为GRE的目的地址;路由器将‘192.168.1.2’作为GRE隧道的源地址,将‘192.168.1.10’作为GRE隧道的目的地址;

当隧道配置参数包括VSID、‘192.168.1.10’,‘192.168.1.2’,CPE将‘192.168.1.10’作为NVGRE隧道的源地址,并将局域网接口和‘192.168.1.10’进行绑定,将‘192.168.1.2’作为NVGRE的目的地址;路由器将‘192.168.1.2’作为GRE隧道的源地址,将‘192.168.1.10’作为GRE隧道的目的地址;

当隧道配置参数包括VNI,‘192.168.1.10’,‘192.168.1.12’CPE将‘192.168.1.10’作为VXLAN隧道的源地址,并将局域网接口和‘192.168.1.10’进行绑定,将‘192.168.1.2’作为VXLAN隧道的目的地址;路由器将‘192.168.1.2’作为VXLAN隧道的源地址,将‘192.168.1.10’作为VXLAN隧道的目的地址;

当企业分支还包括CPE2、CPE3或其他CPE时,CPE2和CPE3建立隧道的过程与CPE1建立隧道的过程相似,此处不再赘述。CPE可以自动从路由器获取隧道配置参数,并建立与路由器的隧道,节省了网络配置人员配置隧道的实施过程,当需要为很多用户配置隧道时,可以极大地提高建立隧道的效率。

基于本申请上述提供的自动建立隧道的方法,请参阅图5,本申请提供一种CPE,用于实现图1和图4所示的自动建立隧道的方法,所述CPE包括:

建立PPP连接模块501,用于根据拨号配置参数向汇聚设备发送PPP连接请求以建立与汇聚设备之间的PPP连接;

接收模块502,用于接收汇聚设备通过PPP连接发送的隧道配置参数;

建立隧道模块503,用于根据隧道配置参数建立与汇聚设备的隧道。

可选的,建立隧道模块503具体用于若隧道配置参数包括二层隧道协议L2TP标识,则向汇聚设备发送BCP请求,以使得汇聚设备根据BCP请求建立与CPE之间的L2TP隧道。

可选的,建立隧道模块503具体用于若隧道配置参数中的隧道类型参数包括GRE标识、网络层的第一IP地址以及第二IP地址,则CPE根据第一IP地址确定GRE隧道的源地址,并根据第二IP地址确定GRE隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应,将局域网接口与GRE隧道的隧道接口进行绑定。

可选的,建立隧道模块503具体用于若隧道配置参数包括NVGRE标识、网络层的第一IP地址以及第二IP地址,则根据第一IP地址确定NVGRE隧道的源地址,并根据第二IP地址确定NVGRE隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应,将局域网接口与NVGRE隧道的隧道接口进行绑定。

可选的,建立隧道模块503具体用于若隧道配置参数包括VXLAN标识、网络层的第一IP地址以及第二IP地址,则根据第一IP地址确定VXLAN隧道的源地址,并根据第二IP地址确定VXLAN隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应,将局域网接口与VXLAN隧道的隧道接口进行绑定。

在实际应用中,CPE还包括发送模块,建立PPP连接模块501、建立隧道模块502可以通过中央处理器,或特定集成电路(Application Specific Integrated Circuit,简称ASIC)实现,接收模块502和发送模块可以分别通过接收器和发送器实现,或集成了接收功能和发送功能的收发器实现。

可选的,CPE包括NAT设备。

基于本申请上述提供的自动建立隧道的方法,本申请提供一种CPE600,用于实现本申请图1和图4所示的自动建立隧道的方法中CPE的功能,如图6所示,CPE600包括处理器601,发送器602和接收器603,其中,处理器601,发送器602和接收器603之间通过总线604相互连接。

发送器602,用于向汇聚设备发送PPP连接请求以建立与汇聚设备之间的PPP连接;

接收器603,用于接收汇聚设备通过PPP连接发送的隧道配置参数;

处理器601,用于根据隧道配置参数建立与汇聚设备的隧道。

处理器601可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件等。

处理器601为CPU时,CPE600还可以包括:存储器605,用于存储程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器605可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器601执行存储器605中存储的程序代码,实现上述功能。

可选的,处理器601具体用于若隧道配置参数包括L2TP标识,则向汇聚设备发送BCP请求,以使得汇聚设备根据BCP请求建立与CPE之间的L2TP隧道。

可选的,处理器601具体还用于当隧道配置参数中的隧道类型参数包括隧道类型标识、网络层的第一IP地址以及第二IP地址时,根据第一IP地址确定隧道的源地址,并根据第二IP地址确定隧道的目的地址,将局域网接口与隧道的隧道接口进行绑定,第一IP地址与CPE对应,第二IP地址与汇聚设备对应,隧道与隧道类型对应。具体地,

当隧道类型标识为GRE标识时,隧道为GRE隧道;

当隧道类型标识为NVGRE标识时,隧道为NVGRE隧道;

当隧道类型标识为VXLAN标识时,隧道为VXLAN隧道。

基于本申请上述提供的自动建立隧道的方法,请参阅图7,本申请提供一种汇聚设备,用于实现本申请图3和图4所示的自动建立隧道的方法中汇聚设备的功能,所述汇聚设备包括:

连接建立模块701,还用于接收CPE发送的PPP连接请求,根据PPP连接请求建立与CPE之间的PPP连接;

获取模块702,用于获取隧道配置参数;

发送模块703,还用于通过PPP连接将隧道配置参数发送给CPE;

隧道建立模块704,用于根据隧道配置参数建立与CPE的隧道。

可选的,隧道建立模块704具体用于若隧道配置参数包括L2TP标识,则接收CPE发送的BCP请求,根据BCP请求建立与CPE的L2TP隧道。

可选的,隧道建立模块704具体用于若隧道配置参数包括GRE标识、网络层的第一IP地址以及第二IP地址,则根据第二IP地址确定GRE隧道的源地址,并根据第一IP地址确定GRE隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应。

可选的,隧道建立模块704具体用于若隧道配置参数包括NVGRE标识、网络层的第一IP地址以及第二IP地址,则根据第二IP地址确定NVGRE隧道的源地址,并根据第一IP地址确定NVGRE隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应。

可选的,隧道建立模块704具体用于若隧道配置参数包括VXLAN标识、网络层的第一IP地址以及第二IP地址,则根据第二IP地址确定VXLAN的源地址,并根据第一IP地址确定VXLAN隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应。

可选的,获取模块702,还用于获取参数修改指示,参数修改指示用于修改隧道配置参数;根据参数修改指示断开与CPE连接的隧道。

可选的,获取模块702,还用于当参数修改指示用于指示隧道配置参数从第一隧道配置参数修改为第二隧道配置参数时,根据参数修改指示获取第二隧道配置参数;

发送模块703,还用于向CPE发送重协商请求,以使得CPE向汇聚设备发起获取隧道配置参数的请求;

发送模块703,还用于向CPE发送第二隧道配置参数,以使得CPE根据第二隧道配置参数建立与汇聚设备的隧道。

可选的,如图8所示,汇聚设备700还包括:

存储模块801,用于存储至少两种隧道配置参数,每种隧道配置参数与至少一个L2TP组对应。

可选的,汇聚设备700包括NAT设备。

在实际应用中,汇聚设备还包括接收模块,连接建立模块701、获取模块702、隧道建立模块704可以通过中央处理器,或ASIC实现,接收模块和发送模块703可以分别通过接收器和发送器实现,或集成了接收功能和发送功能的收发器实现,存储模块801可以通过存储器实现。

为便于理解,下面以一具体应用场景对本发明实施例中CPE与汇聚设备中各模块之间的交互进行详细说明:

汇聚设备以路由器为例,当企业分支的用户想要和企业总部建立通信隧道,建立PPP连接模块501与连接建立模块701进行PPP协商,建立PPP链路,获取模块702获取隧道配置参数,发送模块703将隧道配置参数发送给接收模块502,假定汇聚设备的IP地址为192.168.1.2,CPE1的IP地址为192.168.1.10;

当隧道配置参数包括L2TP标识,则建立隧道模块503向汇聚设备发送BCP连接请求,隧道建立模块704与建立隧道模块503进行BCP协商,协商通过后建立L2TP隧道;

当隧道配置参数包括GRE标识、‘192.168.1.10’、‘192.168.1.2’,建立隧道模块503将‘192.168.1.10’作为GRE隧道的源地址,并将局域网接口和‘192.168.1.10’进行绑定,将‘192.168.1.2’作为GRE的目的地址;隧道建立模块704将‘192.168.1.2’作为GRE隧道的源地址,将‘192.168.1.10’作为GRE隧道的目的地址;

当隧道配置参数包括VSID、‘192.168.1.10’,‘192.168.1.2’,建立隧道模块503将‘192.168.1.10’作为NVGRE隧道的源地址,并将局域网接口和‘192.168.1.10’进行绑定,将‘192.168.1.2’作为NVGRE的目的地址;隧道建立模块704将‘192.168.1.2’作为GRE隧道的源地址,将‘192.168.1.10’作为GRE隧道的目的地址;

当隧道配置参数包括VNI,‘192.168.1.10’,‘192.168.1.12’,建立隧道模块503将‘192.168.1.10’作为VXLAN隧道的源地址,并将局域网接口和‘192.168.1.10’进行绑定,将‘192.168.1.2’作为VXLAN隧道的目的地址;隧道建立模块704将‘192.168.1.2’作为VXLAN隧道的源地址,将‘192.168.1.10’作为VXLAN隧道的目的地址。

基于本申请提供的自动建立隧道的方法,本申请提供一种汇聚设备,用于实现本申请图3和图4所示的自动建立隧道的方法中汇聚设备的功能,如图9所示,汇聚设备900包括处理器901,发送器902和接收器903,其中,处理器901,发送器902和接收器903之间通过总线904相互连接。

接收器903,用于接收CPE发送的PPP连接请求,根据PPP连接请求建立与CPE之间的PPP连接;

处理器901,用于获取隧道配置参数;

发送器902,用于通过PPP连接将隧道配置参数发送给CPE;

处理器901,还用于根据隧道配置参数建立与CPE的隧道。

处理器901可以是通用处理器,包括中央处理器、网络处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件等。

处理器901为CPU时,汇聚设备900还可以包括:存储器905,用于存储程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器905可能包含随机存取存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。处理器901执行存储器905中存储的程序代码,实现上述功能。

可选的,处理器901具体用于若隧道配置参数包括L2TP标识,则用于接收CPE发送的BCP请求,根据BCP请求建立与CPE的L2TP隧道。

可选的,处理器901具体用于若隧道配置参数包括GRE标识、网络层的第一网际协议IP地址以及第二IP地址,则根据第二IP地址确定GRE隧道的源地址,并根据第一IP地址确定GRE隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应。

可选的,处理器901具体用于若隧道配置参数包括NVGRE标识、网络层的第一IP地址以及第二IP地址,则根据第二IP地址确定NVGRE隧道的源地址,并根据第一IP地址确定NVGRE隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应。

可选的,处理器901具体用于若隧道配置参数包括VXLAN标识、网络层的第一IP地址以及第二IP地址,则根据第二IP地址确定VXLAN的源地址,并根据第一IP地址确定VXLAN隧道的目的地址,第一IP地址与CPE对应,第二IP地址与汇聚设备对应。

可选的,处理器901还用于获取参数修改指示,参数修改指示用于修改隧道配置参数,根据参数修改指示断开与CPE连接的隧道。

可选的,处理器901具体用于当参数修改指示用于指示隧道配置参数从第一隧道配置参数修改为第二隧道配置参数时,根据参数修改指示获取第二隧道配置参数;

发送器902,还用于向CPE发送重协商请求,以使得CPE向汇聚设备发起获取隧道配置参数的请求;

发送器902,还用于向CPE发送第二隧道配置参数,以使得CPE根据第二隧道配置参数建立与汇聚设备的隧道。

可选的,存储器905存储至少两种隧道配置参数,每种隧道配置参数与至少一个L2TP组对应。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1