业务承载的方法及路由器的制作方法

文档序号:7861280阅读:253来源:国知局
专利名称:业务承载的方法及路由器的制作方法
技术领域
本发明实施例涉及通信领域,尤其涉及一种业务承载的方法及路由器。
背景技术
基于二层协议的虚拟专用网络(Layer 2 Virtual Private Networks,简称L2VPN)和基于三层协议的虚拟专用网络(Layer 3 Virtual Private Networks,简称L3VPN)均为较常用的虚拟专用网络(Virtue Private Network,简称VPN)技术,通过在公网建立合适的隧道使用户能够跨地域建立私有网络。上述L2VPN和L3VPN技术最主要的不同点是L2VPN技术保留用户报文的二层报文头,而L3VPN技术剥离用户报文的链路层报文头,只保留用户报文的IP头。互联网安全协议(InternetProtocol Security,以下简称 IPSec)是 Internet 工程任务组(Internet Engineering Task Force,简称IETF)制定的一个开放的IP层安全框架协议,属于三层隧道协议,用于提供公用网络和专用网络的端对端加密和验证服务。IPSec 通过 Internet 密钥交换协议(Internet Key Exchange Protocol,简称 IKE协议)协商加解密报文使用到的安全联盟(Security Association,简称SA),该处的SA包括加解密报文使用到的密钥,加解密算法,需要保护的数据流等信息。IPSec对报文的封装分为AH和ESP两种方式,对报文的转换分为隧道模式和传输模式。具体地,IPSec隧道承载L3VPN业务时,IPSec隧道的起止点(IPSec隧道的第一个路由器和最后一个路由器)一般在运营商网络的边界路由器上(Provider Edge设备,简称PE设备)。当前,不存在任何IPSec隧道直接承载L2VPN报文的解决方案。即,现有IPSec协议无法提供对L2VPN报文的加解密。

发明内容
有鉴于此,本发明实施例提供一种业务承载的方法及路由器,用以解决现有技术中IPSec隧道无法承载L2VPN业务的问题。—方面,本发明实施例提供一种业务承载的方法,包括在IPSec隧道协商的第二阶段,第一路由器向第二路由器发送第一 ISAKMP报文,所述第一 ISAKMP报文携带所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识;接收所述第二路由器根据所述第一 ISAKMP报文返回的响应报文,若所述响应报文中携带有所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器通过所述IPSec隧道承载L2VPN业务。结合第一方面,在第一种可能的实现方式中,若所述响应报文中携带有所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则上述业务承载的方法还包括所述第一路由器通过所述IPSec隧道承载基于三层协议的虚拟专用网络L3VPN业务。
结合第一方面及上述可能的实现方式中,在第二种可能的实现方式中,所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识一致。结合第一方面及上述可能的实现方式中,在第三种可能的实现方式中,上述业务承载的方法还包括若所述响应报文中未携带所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器查找触发所述IPSec隧道协商的业务类型;若触发所述IPSec隧道协商的业务为L2VPN业务,则所述第一路由器放弃所述IPSec隧道的协商;若触发所述IPSec隧道协商的业务为L3VPN业务,则所述第一路由器向所述第二 路由器发送第二 ISAKMP报文,所述第二 ISAKMP报文携带所述第一路由器的源互联网协议IP地址和目的IP地址,以使所述第一路由器和所述第二路由器协商承载L3VPN业务的IPSec隧道。结合第一方面及上述可能的实现方式中,在第四种可能的实现方式中,所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识为二进制数。结合第一方面及上述可能的实现方式中,在第五种可能的实现方式中,上述业务承载的方法还包括若所述响应报文中未携带所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述IPSec隧道协商失败;若所述第一路由器在预设时间内再次接收到L2VPN业务触发的所述IPSec隧道的协商,则所述第一路由器选择标签交换路径LSP隧道协商。另一方面,本发明实施例提供一种业务承载的方法,包括在IPSec隧道协商的第二阶段,第一路由器接收第二路由器发送的第一 ISAKMP报文,所述第一 ISAKMP报文携带所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识;所述第一路由器根据所述第一 ISAKMP报文向所述第二路由器发送响应报文,若所述响应报文中携带有所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器通过所述IPSec隧道承载L2VPN业务。结合第二方面,在第一种可能的实现方式中,所述第一路由器根据所述第一ISAKMP报文向所述第二路由器发送响应报文,若所述响应报文中携带有所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,此时,上述业务承载的方法还包括所述第一路由器通过所述IPSec隧道承载L3VPN业务。结合第二方面及上述可能的实现方式中,在第二种可能的实现方式中,所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识一致。结合第二方面及上述可能的实现方式中,在第三种可能的实现方式中,上述业务承载的方法还包括所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识为二进制数。第三方面,本发明实施例提供一种路由器,包括
发送单元,用于在互联网安全协议IPSec隧道协商的第二阶段,向另一路由器发送第一互联网安全联盟和密钥管理协议ISAKMP报文,所述第一 ISAKMP报文携带路由器具有通过所述IPSec隧道承载基于二层协议的虚拟专用网络L2VPN业务的能力的标识;接收单元,用于接收所述另一路由器根据所述第一 ISAKMP报文返回的响应报文,若所述响应报文中携带有所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识;承载单元,用于在所述接收单元接收的响应报文中携带有所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则通过所述IPSec隧道承载L2VPN业务。结合第三方面,在第一种可能的实现方式中,所述承载单元,还用于在所述接收单元接收的响应报文中携带有所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则通过所述IPSec隧道承载基于三层协议的虚拟专用网络L3VPN业务。结合第三方面以及上述可能的实现方式中,在第二种可能的实现方式中,所述路 由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识一致。结合第三方面以及上述可能的实现方式中,在第三种可能的实现方式中,路由器还包括查找单元,用于在所述接收单元接收的响应报文中未携带所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则查找触发所述IPSec隧道协商的业务类型;若触发所述IPSec隧道协商的业务为L2VPN业务,则放弃所述IPSec隧道的协商;若触发所述IPSec隧道协商的业务为L3VPN业务,则所述发送单元向所述另一路由器发送第二 ISAKMP报文,所述第二 ISAKMP报文携带所述路由器的源互联网协议IP地址和目的IP地址,以使所述路由器和所述另一路由器协商承载L3VPN业务的IPSec隧道。结合第三方面以及上述可能的实现方式中,在第四种可能的实现方式中,所述路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识为二进制数。结合第三方面以及上述可能的实现方式中,在第五种可能的实现方式中,在所述接收单元接收的响应报文中未携带所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识时,所述IPSec隧道协商失败;若所述接收单元在预设时间内再次接收到L2VPN业务触发的所述IPSec隧道的协商,则所述路由器选择标签交换路径LSP隧道协商。第四方面,本发明实施例还提供一种路由器,包括接收单元,用于在在互联网安全协议IPSec隧道协商的第二阶段,接收另一路由器发送的第一互联网安全联盟和密钥管理协议ISAKMP报文,所述第一 ISAKMP报文携带所述另一路由器具有通过所述IPSec隧道承载基于二层协议的虚拟专用网络L2VPN业务的能力的标识;发送单元,用于根据所述第一 ISAKMP报文向所述另一路由器发送响应报文,若所述响应报文中携带有所述路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述路由器通过所述IPSec隧道承载L2VPN业务。结合第四方面,在第一种可能的实现方式中,所述发送单元,还用于根据所述第一ISAKMP报文向所述另一路由器发送响应报文,若所述响应报文中携带有所述路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述路由器通过所述IPSec隧道承载基于三层协议的虚拟专用网络L3VPN业务。由上述技术方案可知,本发明实施例的业务承载的方法及路由器,通过在IPSec隧道协商的第二阶段,第一路由器向第二路由器发送携带第一路由器通过IPSec隧道承载L2VPN业务的能力的标识的第一 ISAKMP报文,在第二路由器也具有通过所述IPSec隧道承载L2VPN业务的能力时,返回携带第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识的响应报文,进而在第一路由器接收到响应报文之后,可使IPSec隧道协商成功,且协商成功的IPSec隧道能够承载L2VPN业务,解决了现有技术中IPSec隧道无法承载L2VPN业务的问题。


为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作一 简单地介绍,显而易见地下面附图只是本发明的一些实施例的附图,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得同样能实现本发明技术方案的其它附图。图I为本发明一实施例提供的IPSec对报文的封装格式示意图;图2为本发明一实施例提供的业务承载的方法的应用场景图;图3为本发明一实施例提供的IPSec隧道承载L3VPN的报文格式示意图;图4为本发明一实施例提供的针对L3VPN业务的IPSec协商报文结构示意图;图5为本发明一实施例提供的IPSec隧道承载L3VPN业务的协商流程图;图6为本发明一实施例提供的业务承载方法的流程示意图;图7为本发明一实施例提供的IPSec隧道承载L2VPN业务的协商流程图;图8为本发明一实施例提供的IPSec隧道承载L2VPN业务的报文格式示意图;图9为本发明一实施例提供的业务承载方法的流程示意图;图10为本发明一实施例提供的IPSec隧道承载L2VPN业务的协商流程图;图11为本发明一实施例提供的业务承载方法的流程示意图;图12为本发明一实施例提供的路由器的结构示意图;图13为本发明一实施例提供的路由器的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述。显然,下述的各个实施例都只是本发明一部分的实施例。基于本发明下述的各个实施例,本领域普通技术人员即使没有作出创造性劳动,也可以通过等效变换部分甚至全部的技术特征,而获得能够解决本发明技术问题,实现本发明技术效果的其它实施例,而这些变换而来的各个实施例显然并不脱离本发明所公开的范围。本申请实施例中为方便描述,在一些地方使用“用户”,本领域技术人员应该知道的是,该处的“用户”指代用户终端的含义。
IPsec协议不是一个单独的协议,它给出了应用于互联网协议(InternetProtocol,简称IP)层上网络数据安全的一整套体系结构,包括网络认证协议认证头(Authentication Header,简称AH)、封装安全载荷(Encapsulating Security Payload,简称ESP)、IKE和用于网络认证及加密的一些算法等。其中,AH协议和ESP协议用于提供安全服务,IKE协议用于密钥交换。IPsec协议提供了两种安全机制认证和加密。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。加密机制通过对数据进行加密运算来保证数据的机密性,以防数据在传输过程中被窃听。IPsec协议中的AH协议定义了认证的应用方法,提供数据源认证和完整性保证;ESP协议定义了加密和可选认证的应用方法,提供数据可靠性保证。图I示出了 IPSec对报文的封装格式示意图,如图I所示,当前的IPSec对报文的封装分为AH和ESP两种方式,对报文的转换分为隧道(tunnel)模式和传输(transport)模式。
隧道模式用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。传输模式只是用户IP数据包中的数据载荷(不包括IP头)被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。通常,IPSec隧道承载L3VPN业务时,IPSec隧道的起始点(如图2中的Router A)配置在运营商网络的边界路由器上。另外,IPSec隧道承载L3VPN业务时,用户报文到达运营商网络的边界路由器上后被加密,用户报文被转换成如图3所示的格式原有报文(如IP头、TCP头和数据)均作为新的报文的净荷。另夕卜,如图4所示,典型的IPSec协商报文(即ISAKMP报文)会携带ACLinteresting flow信息(需保护用户报文的源目的信息)用于标识待保护的用户报文(该处的待保护的用户报文是需要进行报文加密的用户报文,后续简称“待保护报文”)的源IP地址和目的IP地址。双方协商时会对此信息进行验证。例如,Router A向Router B发送ISAKMP报文,该ISAKMP报文中携带对源IP地址是10. 0. 0. 1,目的IP地址是20. 0. 0. I的用户报文进行加密的信息,Router B在接收Router A发送的ISAKMP报文之后返回响应报文,所述响应报文中携带对源IP地址是20. 0. 0. 1,目的IP地址是10. 0. 0. I的用户报文进行加密的信息,进而Router A和Router B协商完成。现有IPSec隧道协商过程中会把被保护流量的源IP地址和目的IP地址(如图表4中标识的“ACL interesting flow”信息,或者如图5中的[IDi, IDr])作为协商的一部分,如果RouterA和RouterB的ACL interesting flow信息不一致则协商无法通过。图5示出的是现有的IPSec隧道的协商过程,在IPSec隧道协商的第二阶段,发起方发起携带SA、Ke和[IDi,IDr]的协商报文,响应方根据接收的协商报文返回响应。然而,当IPSec隧道承载L2VPN业务时,路由器无法在L2VPN业务对应的用户报文中提取ACL interesting flow信息进行协商。当前,IPSec协议无法对L2VPN业务对应的用户报文进行加密和解密。此外,运营商也无法提供针对L2VPN业务对应的用户报文的加解密隧道。其详细原因描述如下
IPSec隧道无法直接承载L2VPN业务对应的用户报文的原因可能如下=IPSec协议协商流程是针对IP报文设计的,需要针对待保护报文的源IP地址和目的IP地址进行协商。现有的IPSec隧道协商流程中协商双方需要预先知晓待保护报文的源IP地址和目的IP地址,并且作为协商流程的一个重要参数ACL interesting flow,协商双方的ACLinteresting flow,如果不匹配则协商不通过。路由器在L2VPN业务对应的用户报文中无法提取出基于源IP地址和目的IP地址的ACL interesting flow信息用于IPSec隧道的协商。L2VPN业务对应的用户报文有如下特点1)L2VPN业 务对应的用户报文在穿越公网隧道(如IPSec隧道)时必须保留链路层头。2) L2VPN报文在链路层头内部不含有IP头的封装结构,因此无法提取出ACL interestingflow信息用于IPSec协商。由此,现有的IPSec技术无法直接承载L2VPN报文。本发明实施例通过修改IPSec协商流程,使路由器协商的IPSec隧道可以直接承载L2VPN业务对应的用户报文。即实现IPSec隧道模式的加解密隧道能够直接对L2VPN业务对应的用户报文进行加密。本发明实施例的IPSec加解密隧道可以同时承载L2VPN业务和L3VPN业务。图6示出了本发明一实施例提供的业务承载的方法的流程示意图,如图6所示,本实施例中的业务承载的方法如下文所述。601、在IPSec隧道协商的第二阶段,第一路由器向第二路由器发送第一 Internet安全联盟和密钥管理协议(Internet Security Association and Key ManagementPiOtocol,简称ISAKMP)报文,所述第一 ISAKMP报文携带所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识。602、接收所述第二路由器根据所述第一 ISAKMP报文返回的响应报文,若所述响应报文中携带有所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器通过所述IPSec隧道承载L2VPN业务。可选地,上述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与上述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识一致。当然,在其他实施例中,第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识可以不一致,其根据实际需
要配置。在实际应用中,在步骤601中,在IPSec隧道协商的第二阶段,第一路由器向第二路由器发送的第一 ISAKMP报文可为IPSec隧道协商的第二阶段中的第一个ISAKMP报文。举例来说,上述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识可为二进制数。可选地,第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识可使用一个64bit 二进制数。当然,第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识也可使用一个二进制数,本实施例不对其进行限定。举例来说,结合图7所示,在IPSec协商第二阶段,第一路由器在向第二路由器发送的第一 ISAKMP报文中增加Vender Payload(用户自定义载荷)字段,在该Vendor Payload字段中携带第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识。如果第二路由器也支持此功能,贝U会在响应报文中携带相同的Vendor Payload字段。于是协商双方会忽略对待保护报文的验证,即忽略协商报文中的ACL interestingflow信息,即图5中的“[IDi,IDr] ”部分。特别地,Vendor Payload字段是ISAKMP报文中可以携带的自定义字段,在本实施例中Vendor Payload字段用于标识路由器具有通过所述IPSec隧道能够承载L2VPN业务的能力。由于第二阶段的协商报文已经使用第一阶段协商出的密钥进行加密,所以不用考虑该Vendor Payload字段被恶意仿造。上述业务承载的方法协商出来的IPSec隧道,可对客户端设备中L2VPN业务对应的用户报文进行加密,并增加新的IP头进行传输。如图8所示,图8示出了 IPSec隧道直接承载L2VPN业务对应的用户报文的报文格式,其中原有的L2VPN业务对应的用户报文作为IPSec隧道中待保护的报文的净荷。在实际应用中,运营商需要在第一路由器上进行IPSec的proposal (安全提议)配置,进而,运营商可以使能第一路由器具有通过IPSec隧道承载L2VPN业务的能力。由此,在上述步骤601的第一路由器向第二路由器发送第一个ISAKMP报文的步骤之前,本实施例·中的业务承载的方法还包括如图6中未示出的步骤601a 601a、第一路由器确定所述第一路由器上IPSec的配置已经使能了通过IPSec隧道承载L2VPN业务的能力。由上述实施例可知,本实施例的业务承载的方法,通过在IPSec隧道协商的第二阶段,第一路由器向第二路由器发送携带第一路由器具有通过IPSec隧道承载L2VPN业务的能力的标识的第一 ISAKMP报文,在第二路由器也具有通过所述IPSec隧道承载L2VPN业务的能力时,返回携带第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识的响应报文,进而在第一路由器接收到响应报文之后,则IPSec隧道协商成功,使得IPSec隧道能够承载L2VPN业务。在一种优选的应用场景中,上述业务承载的方法还可如下所述S01、在IPSec隧道协商的第二阶段,第一路由器向第二路由器发送第一 ISAKMP报文,所述第一 ISAKMP报文携带所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识;S02、接收所述第二路由器根据所述第一 ISAKMP报文返回的响应报文,若所述响应报文中携带有所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器通过所述IPSec隧道承载L2VPN业务,和/或所述第一路由器通过所述IPSec隧道承载L3VPN业务。也就是说,第一路由器和第二路由器协商的IPSec隧道既可以承载L2VPN业务,也可以承载L3VPN业务,或者,可以同时承载L2VPN业务和L3VPN业务。由此,第一路由器和第二路由器无需再为L3VPN业务协商一个IPSec隧道。此外,若第一路由器和第二路由器分别具有通过所述IPSec隧道承载L2VPN业务的能力的标识,若触发IPSec隧道协商的业务类型为L3VPN业务,第一路由器和第二路由器在IPSec隧道协商的第二阶段,均会协商IPSec隧道承载L2VPN业务的能力。可选地,上述步骤SOl中的第一 ISAKMP报文可为IPSec隧道协商的第二阶段的第一个ISAKMP报文。上述业务承载的方法使得第一路由器和第二路由器只协商一个IPSec隧道,可同时承载L2VPN业务和L3VPN业务,对于后续的L3VPN业务,无需重协商,直接使用该IPSec隧道进行承载。图9示出了本发明一实施例提供的业务承载的方法的流程示意图,如图9所示,本实施例中的业务承载的方法如下文所述。
901、在IPSec隧道协商的第二阶段,第一路由器向第二路由器发送第一 ISAKMP报文,所述第一 ISAKMP报文携带所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识。902、接收所述第二路由器根据所述第一 ISAKMP报文返回的响应报文。903、若所述响应报文中未携带所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器查找触发所述IPSec隧道协商的业务类型;若触发所述IPSec隧道协商的业务为L2VPN业务,则所述第一路由器放弃所述IPSec隧道的协商;若触发所述IPSec隧道协商的业务为L3VPN业务,则所述第一路由器向所述第二路由器发送第二 ISAKMP报文,所述第二 ISAKMP报文携带所述第一路由器的源IP地址和目的IP地址,以使所述第一路由器和所述第二路由器协商承载L3VPN业务的IPSec隧道。也就是说,如果第二路由器(响应方)不支持通过所述IPSec隧道承载L2VPN业务的能力,贝1J不理会第一路由器(发起方)的Vendor payload,回复给发起方的报文中不携带相应的Vendor Payload ;由此,发起方根据响应报文获知响应方不支持IPSec隧道承载L2VPN业务的能力,此时,发起方查找触发IPSec隧道协商的业务类型,如果是L2VPN业务触发的IPSec隧道协商,则放弃IPSec隧道的协商;如果是L3VPN业务触发的IPSec隧道协商,则重新协商能够承载L3VPN业务的IPSec隧道。如图10所示。此时协商出的IPSec隧道只能承载L3VPN业务。图10示出的是在承载L2VPN业务的IPSec隧道协商失败之后,在IPSec隧道协商的第二阶段,发起方发起携带SA、Ke和[IDi,IDr]的协商报文与响应方协商承载L3VPN业务的IPSec隧道。在一种优选的应用场景中,上述步骤901中第一路由器发送的第一 ISAKMP报文可为IPSec隧道协商的第二阶段的第一个ISAKMP报文;在步骤903中,第一路由器向第二路由器发送的第二 ISAKM P报文可为在IPSec隧道协商的第二阶段重新发送的用于协商承载L3VPN业务的一个ISAKMP报文,本实施例仅为举例说明,不对其进行限定。需要说明的是,如果是L3VPN业务,第一路由器也是从IPSec隧道协商的第二阶段重新协商L3VPN业务,之前协商的用于承载L2VPN业务的IPSec隧道的失败并不会对第一阶段已经协商成功的SA造成影响。由此,可以理解的是,L2VPN业务触发的IPSec隧道协商发起方会与响应方协商IPSec隧道承载L2VPN业务的能力,如果响应方支持,则协商成功,该IPSec隧道可同时承载L2VPN业务和L3VPN业务;如果响应方不支持IPSec隧道承载L2VPN业务的能力,则发起方放弃协商承载L2VPN业务的IPSec隧道。当然,实际应用中,L3VPN业务触发的IPSec隧道协商,也会携带Vendor Payload字段与响应方协商IPSec隧道承载L2VPN业务的能力,如果响应方支持承载L2VPN业务的能力,则协商成功,后续该IPSec隧道可以同时承载L2VPN和L3VPN业务,对于后续的L2VPN业务,无需重协商IPSec隧道。如果响应方不支持IPSec隧道承载L2VPN业务的能力,则根据L3VPN业务对应的用户报文提取出[IDi,IDr]再次尝试协商仅支持承载L3VPN业务的IPSec隧道。在其他实施例中,上述业务承载的方法还包括如图9中未示出的步骤904。904、若所述响应报文中未携带所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述IPSec隧道协商失败;若所述第一路由器在预设时间内再次接收到L2VPN业务触发的IPSec隧道协商,则所述第一路由器选择标签交换路径(Label Switch Path,简称LSP)隧道进行协商。在一种可选的应用场景中,结合图2所示,假设Router A作为IPSec隧道的起点(即对应上述的发起方)、Router B作为IPSec隧道的终点(即对应上述的响应方),且Router A和Router B均配置私网流量首选IPSec隧道作为公网隧道,其次选择标签交换路 径(Label Switching Path,简称LSP)隧道作为公网隧道。MOl、当有L2VPN或者L3VPN业务在Router A上触发公网隧道选择流程时,RouterA检查配置的IPSec隧道的SA是否已经协商成功,如果没有可用的SA则尝试和Router B协商IPSec隧道;如果有可用的SA,则进行IPSec隧道协商的第二阶段。M02,Router A执行IPSec隧道协商的流程,IPSec隧道协商的第二阶段,Router A检查自己的IPSec proposal (安全提议)配置,若Router A确定已经使能了通过IPSec隧道承载L2VPN业务的能力,则在第二阶段协商时尝试与Router B协商承载L2VPN业务的功能。例如,Router A在第二阶段向Router B协商的第一个ISAKMP报文中添加一个填充有二进制数的Vendor Payload字段,所述Vendor Payload字段用于标识Router A具有通过IPSec隧道承载L2VPN业务的能力。M03、Router B从Router A接收到第一个ISAKMP报文并解析,通过VendorPayload字段识别出Router A具有通过IPSec隧道承载L2VPN业务的能力,进而在响应报文中携带同样Vendor Payload字段,响应报文中的Vendor Payload字段用于标识RouterB具有通过IPSec隧道承载L2VPN业务的能力。M04、在Router A接收到Router B发送的响应报文之后,根据响应报文中携带的Vendor Payload字段获知Router B具有通过IPSec隧道承载L2VPN业务的能力,于是Router A、Router B都知晓了对方支持IPSec隧道承载L2VPN业务的能力,则能够承载L2VPN业务的IPSec隧道协商成功。由上实施例中的业务承载方法解决了 IPSec隧道无法承载L2VPN业务的问题,使IPSec隧道可以像LSP隧道一样,灵活承载L2VPN业务或者L3VPN业务。增强了 IPSec隧道的可部署性和兼容性。图11示出了本发明一实施例提供的业务承载的方法的流程示意图,如图11所示,本实施例中的业务承载的方法如下文所述。1101、在IPSec隧道协商的第二阶段,第一路由器接收第二路由器发送的第一ISAKMP报文,所述第一 ISAKMP报文携带所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识;1102、所述第一路由器根据所述第一 ISAKMP报文向所述第二路由器发送响应报文,若所述响应报文中携带有所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器通过所述IPSec隧道承载L2VPN业务。
可选地,所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识一致。或者,根据实际需求配置第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,或者根据实际需求配置第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识。举例来说,所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识可为二进制数。可选地,所述第一路由器根据所述第一 ISAKMP报文向所述第二路由器发送响应报文,若所述响应报文中携带有所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,本实施例中业务承载的方法还包括第一路由器通过所述IPSec隧道承载 基于三层协议的虚拟专用网络L3VPN业务。
由上述实施例可知,本发明实施例的业务承载的方法能够解决IPSec隧道承载L2VPN业务的问题,进一步地,上述的业务承载的方法还能够实现同时承载L2VPN业务和L3VPN业务的能力。图12示出了本发明一实施例提供的路由器的结构示意图,如图12所示,本实施例中的路由器包括发送单元1201、接收单元1202和承载单元1203 ;其中,发送单元1201用于在IPSec隧道协商的第二阶段,向另一路由器发送第一ISAKMP报文,所述第一 ISAKMP报文携带路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识;接收单元1202用于接收所述另一路由器根据所述第一 ISAKMP报文返回的响应报文,若所述响应报文中携带有所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识;承载单元1203用于在所述接收单元1202接收的响应报文中携带有所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则通过所述IPSec隧道承载L2VPN业务。优选地,上述的承载单元1203还用于在所述接收单元1202接收的响应报文中携带有所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则通过所述IPSec隧道承载L3VPN业务。举例来说,所述路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识一致,或者可以不—致。本实施例中路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识可为二进制数,如64比特的二进制数。在另一应用场景中,上述的路由器还可包括图中未示出的查找单元1204;其中,查找单元1204用于在所述接收单元接收的响应报文中未携带所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则查找触发所述IPSec隧道协商的业务类型;若触发所述IPSec隧道协商的业务为L2VPN业务,则放弃所述IPSec隧道的协商;若触发所述IPSec隧道协商的业务为L3VPN业务,则所述发送单元1201向所述另一路由器发送第二 ISAKMP报文,所述第二 ISAKMP报文携带所述路由器的源IP地址和目的IP地址,以使所述路由器和所述另一路由器协商承载L3VPN业务的IPSec隧道。
在实际应用中,在所述接收单元1202接收的响应报文中未携带所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识时,所述IPSec隧道协商失败;若接收单元1202在预设时间内再次接收到L2VPN业务触发的所述IPSec隧道的协商,则所述路由器选择LSP隧道协商。本实施例中的路由器可以实现与另一路由器协商的IPSec隧道可承载L2VPN业务,进而解决现有技术中路由器协商的IPSec隧道无法承载L2VPN业务的问题,进一步地,上述路由器与另一路由器协商的IPSec隧道可灵活承载L2VPN业务和/或L3VPN业务。增强了 IPSec隧道的可部署性和兼容性。图13示出了本发明一实施例提供的路由器的结构示意图,如图13所示,本实施例中的路由器包括接收单元1301、发送单元1302 ;
其中,接收单元1301用于在在IPSec隧道协商的第二阶段,接收另一路由器发送的第一 ISAKMP报文,所述第一 ISAKMP报文携带所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识;发送单元1302用于根据所述第一 ISAKMP报文向所述另一路由器发送响应报文,若所述响应报文中携带有所述路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述路由器通过所述IPSec隧道承载L2VPN业务。优选地,发送单元1302还用于根据所述第一 ISAKMP报文向所述另一路由器发送响应报文,若所述响应报文中携带有所述路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述路由器通过所述IPSec隧道承载L3VPN业务。在本实施例中,路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识可一致,或者可不一致。特别地,路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识可为二进制数,如64bit的二进制数。本实施例中的路由器可以实现与另一路由器协商的IPSec隧道可承载L2VPN业务,进而解决现有技术中路由器协商的IPSec隧道无法承载L2VPN业务的问题,进一步地,上述路由器与另一路由器协商的IPSec隧道可灵活承载L2VPN业务和/或L3VPN业务。增强了 IPSec隧道的可部署性和兼容性。在实际应用中,上述路由器可包括处理器和存储器,其中处理器用于执行上述图12中所示的发送单元1201、接收单元1202和承载单元1203的功能,优选地,处理器还用于执行图12中未示出的查找单元1204的功能;其存储器用于存储路由器中的具有通过所述IPSec隧道承载L2VPN业务的能力的标识。在另一实施例中,上述路由器的处理器还可用于执行上述图13中所示的接收单元1301、发送单元1302的功能,其存储器还用于存储路由器中的具有通过所述IPSec隧道承载L2VPN业务的能力的标识。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。·
权利要求
1.一种业务承载的方法,其特征在于,包括 在互联网安全协议IPSec隧道协商的第二阶段,第一路由器向第二路由器发送第一互联网安全联盟和密钥管理协议ISAKMP报文,所述第一 ISAKMP报文携带所述第一路由器具有通过所述IPSec隧道承载基于二层协议的虚拟专用网络L2VPN业务的能力的标识; 接收所述第二路由器根据所述第一 ISAKMP报文返回的响应报文,若所述响应报文中携带有所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器通过所述IPSec隧道承载L2VPN业务。
2.根据权利要求I所述的方法,其特征在于,若所述响应报文中携带有所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述方法还包括 所述第一路由器通过所述IPSec隧道承载基于三层协议的虚拟专用网络L3VPN业务。
3.根据权利要求I或2所述的方法,其特征在于,所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识一致。
4.根据权利要求I至3任一所述的方法,其特征在于,还包括 若所述响应报文中未携带所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器查找触发所述IPSec隧道协商的业务类型; 若触发所述IPSec隧道协商的业务为L2VPN业务,则所述第一路由器放弃所述IPSec隧道的协商; 若触发所述IPSec隧道协商的业务为L3VPN业务,则所述第一路由器向所述第二路由器发送第二 ISAKMP报文,所述第二 ISAKMP报文携带所述第一路由器的源互联网协议IP地址和目的IP地址,以使所述第一路由器和所述第二路由器协商承载L3VPN业务的IPSec隧道。
5.根据权利要求I至4任一所述的方法,其特征在于,所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识为二进制数。
6.根据权利要求I至5任一所述的方法,其特征在于,还包括若所述响应报文中未携带所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述IPSec隧道协商失败; 若所述第一路由器在预设时间内再次接收到L2VPN业务触发的所述IPSec隧道的协商,则所述第一路由器选择标签交换路径LSP隧道协商。
7.—种业务承载的方法,其特征在于,包括 在互联网安全协议IPSec隧道协商的第二阶段,第一路由器接收第二路由器发送的第一互联网安全联盟和密钥管理协议ISAKMP报文,所述第一 ISAKMP报文携带所述第二路由器具有通过所述IPSec隧道承载基于二层协议的虚拟专用网络L2VPN业务的能力的标识; 所述第一路由器根据所述第一 ISAKMP报文向所述第二路由器发送响应报文,若所述响应报文中携带有所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器通过所述IPSec隧道承载L2VPN业务。
8.根据权利要求7所述的方法,其特征在于,所述第一路由器根据所述第一ISAKMP报文向所述第二路由器发送响应报文,若所述响应报文中携带有所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,所述方法还包括所述第一路由器通过所述IPSec隧道承载基于三层协议的虚拟专用网络L3VPN业务。
9.根据权利要求7或8所述的方法,其特征在于,所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与所述第二路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识一致。
10.根据权利要求7至9任一所述的方法,其特征在于,还包括 所述第一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识为二进制数。
11.一种路由器,其特征在于,包括 发送单元,用于在互联网安全协议IPSec隧道协商的第二阶段,向另一路由器发送第一互联网安全联盟和密钥管理协议ISAKMP报文,所述第一 ISAKMP报文携带路由器具有通过所述IPSec隧道承载基于二层协议的虚拟专用网络L2VPN业务的能力的标识; 接收单元,用于接收所述另一路由器根据所述第一 ISAKMP报文返回的响应报文,若所述响应报文中携带有所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识; 承载单元,用于在所述接收单元接收的响应报文中携带有所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则通过所述IPSec隧道承载L2VPN业务。
12.根据权利要求11所述的路由器,其特征在于,所述承载单元,还用于在所述接收单元接收的响应报文中携带有所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则通过所述IPSec隧道承载基于三层协议的虚拟专用网络L3VPN业务。
13.根据权利要求11或12所述的路由器,其特征在于,所述路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识与所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识一致。
14.根据权利要求11至13任一所述的路由器,其特征在于,还包括 查找单元,用于在所述接收单元接收的响应报文中未携带所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则查找触发所述IPSec隧道协商的业务类型; 若触发所述IPSec隧道协商的业务为L2VPN业务,则放弃所述IPSec隧道的协商; 若触发所述IPSec隧道协商的业务为L3VPN业务,则所述发送单元向所述另一路由器发送第二 ISAKMP报文,所述第二 ISAKMP报文携带所述路由器的源互联网协议IP地址和目的IP地址,以使所述路由器和所述另一路由器协商承载L3VPN业务的IPSec隧道。
15.根据权利要求11至14任一所述的路由器,其特征在于,所述路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识为二进制数。
16.根据权利要求11至15任一所述的路由器,其特征在于,在所述接收单元接收的响应报文中未携带所述另一路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识时,所述IPSec隧道协商失败; 若所述接收单元在预设时间内再次接收到L2VPN业务触发的所述IPSec隧道的协商,则所述路由器选择标签交换路径LSP隧道协商。
17.—种路由器,其特征在于,包括 接收单元,用于在在互联网安全协议IPSec隧道协商的第二阶段,接收另一路由器发送的第一互联网安全联盟和密钥管理协议ISAKMP报文,所述第一 ISAKMP报文携带所述另一路由器具有通过所述IPSec隧道承载基于二层协议的虚拟专用网络L2VPN业务的能力的标识; 发送单元,用于根据所述第一 ISAKMP报文向所述另一路由器发送响应报文,若所述响应报文中携带有所述路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述路由器通过所述IPSec隧道承载L2VPN业务。
18.根据权利要求17所述的路由器,其特征在于,所述发送单元,还用于根据所述第一ISAKMP报文向所述另一路由器发送响应报文,若所述响应报文中携带有所述路由器具有通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述路由器通过所述IPSec隧道承载基于三层协议的虚拟专用网络L3VPN业务。
全文摘要
本发明提供一种业务承载的方法及路由器,其中,所述方法包括在IPSec隧道协商的第二阶段,第一路由器向第二路由器发送第一ISAKMP报文,所述第一ISAKMP报文携带所述第一路由器通过所述IPSec隧道承载L2VPN业务的能力的标识;接收所述第二路由器根据所述第一ISAKMP报文返回的响应报文,若所述响应报文中携带有所述第二路由器通过所述IPSec隧道承载L2VPN业务的能力的标识,则所述第一路由器通过所述IPSec隧道承载L2VPN业务。上述方法用以解决现有技术中IPSec隧道无法承载L2VPN业务的问题。
文档编号H04L12/46GK102904792SQ20121035911
公开日2013年1月30日 申请日期2012年9月21日 优先权日2012年9月21日
发明者张亚博 申请人:北京华为数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1