一种会话建立方法、系统及LSP出口节点及入口节点与流程

文档序号:12493308阅读:439来源:国知局
一种会话建立方法、系统及LSP出口节点及入口节点与流程

本发明涉及数据通信技术领域,具体而言,涉及一种会话建立方法、系统及LSP出口节点及入口节点。



背景技术:

双向转发检测(Bidirectional Forwarding Detection,简称BFD)是一种用于快速检测网络中的路径连通状况的检测协议,可为各上层路由协议和多协议标签交换(Multiprotocol Label Switching,简称MPLS)等提供统一、持续及快速的故障检测能力。其中,使用BFD检测MPLS标签交换路径(Label Switched Path,简称LSP)时,出口节点的BFD会话建立方式为:入口节点建立会话后,向出口节点发送包含BFD鉴别值TLV(Type-Length-Value,类型-长度-值)的MPLS echo request报文,出口节点接收到该MPLS echo request报文后,通过其中的BFD鉴别值TLV获取到入口节点的会话鉴别值,然后创建本端BFD会话。上述出口节点的会话建立方式存在一定的安全性问题。如果网络中存在攻击者,恶意向出口节点持续大量的发送包含BFD鉴别值TLV的MPLS echo request报文,会导致出口节点的BFD会话资源耗尽,从而无法创建BFD会话。

发明人在研究中发现,针对该安全性问题主要存在以下两种解决方案:通过配置命令设置全局开关状态进行控制和通过配置ACL(Access Control List,访问控制列表)规则来控制MPLS echo request报文的接收。其中,第一种方案无法适用于需要使用BFD检测MPLS LSP功能的情况。第二种方案可以控制只允许接收满足规则限定条件的MPLS echo request报文,比如限定报文的源IP地址,或限定报文的接收接口,但是存在部署复杂、安全性不高的缺点。



技术实现要素:

本发明提供了一种会话建立方法、系统及LSP出口节点及入口节点,旨在有效提高使用BFD检测MPLS LSP时,LSP出口节点建立BFD会话的安全性。

第一方面,本发明实施例提供的一种会话建立方法,包括:

LSP出口节点接收LSP入口节点在创建本端BFD会话后发送的MPLS echo request报文,并对该MPLS echo request报文进行解析,得到解析结果;

根据所述解析结果判断所述MPLS echo request报文是否包含BFD鉴别值TLV;

当所述MPLS echo request报文包含BFD鉴别值TLV时,判断所述MPLS echo request报文是否包含认证信息TLV;

当所述MPLS echo request报文包含认证信息TLV时,按照预先配置的认证类型和认证密钥判断所述MPLS echo request报文是否通过认证;

当所述MPLS echo request报文通过认证时,所述LSP出口节点创建本端BFD会话,并发送一MPLS echo reply报文给所述LSP入口节点。

第二方面,本发明实施例提供的一种LSP出口节点,与LSP入口节点通信连接,其中,所述LSP出口节点包括:

解析模块,用于接收LSP入口节点在创建本端BFD会话后发送的MPLS echo request报文,并对该MPLS echo request报文进行解析,得到解析结果;

判断模块,用于根据所述解析结果判断所述MPLS echo request报文是否包含BFD鉴别值TLV,及

当所述MPLS echo request报文包含BFD鉴别值TLV时,判断所述MPLS echo request报文是否包含认证信息TLV;

认证模块,用于当所述MPLS echo request报文包含认证信息TLV时,按照预先配置的认证类型和认证密钥对所述MPLS echo request报文进行认证;

会话创建模块,用于在所述MPLS echo request报文通过认证时,所述LSP出口节点创建本端BFD会话,并发送一MPLS echo reply报文给所述LSP入口节点。优选地,所述LSP出口节点还包括,

启动模块,用于开启所述LSP出口节点的针对包含BFD鉴别值TLV的MPLS echo request报文的认证功能,并设置认证类型和认证密钥;

第三方面,本发明实施例提供一种LSP入口节点包括配置模块、生成模块和发送模块;

所述配置模块,用于根据所述LSP出口节点设置的认证类型和认证密钥对该LSP入口节点的认证类型和认证密钥进行配置,并创建本端BFD会话;

所述生成模块,用于根据创建的本端BFD会话生成包含BFD鉴别值TLV的MPLS echo request报文;针对该MPLS echo request报文按照所述LSP入口节点的认证类型和认证密钥生成认证信息TLV,并将该认证信息TLV封装到所述MPLS echo request报文中;

所述发送模块,用于将包含BFD鉴别值TLV和认证信息TLV的MPLS echo request报文发送给所述LSP出口节点。

第四方面,本发明实施例提供的一种会话建立系统,包括以上第二方面LSP出口节点以及第三方面的LSP入口节点,所述LSP出口节点与所述LSP入口节点通信连接。

本发明实施例提供的一种会话建立方法及系统、LSP出口节点,在LSP入口节点创建本端BFD会话后生成MPLS echo request报文发送给LSP出口节点,该LSP出口节点对该MPLS echo request报文进行解析,当判断出所述MPLS echo request报文同时包含BFD鉴别值TLV、认证信息TLV以及通过认证时,所述LSP出口节点才创建本端BFD会话,从而有效提高了所述LSP出口节点建立本端BFD会话的安全性。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应该看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施方式提供的一种会话建立系统的应用环境示意图。

图2示出了图1中的LSP出口节点的功能模块框图。

图3是一种认证信息TLV的格式示意图。

图4是认证类型为Keyed MD5时认证信息TLV的格式示意图。

图5示出了图1中的LSP入口节点的功能模块框图。

图6是本发明实施方式提供的一种会话建立方法的流程图。

图7是本发明实施方式提供的一种LSP入口节点在创建本端BFD会话的步骤之前的流程图。

图中标记分别为:

图标:100-会话建立系统;101-LSP出口节点;102-LSP入口节点;1011-解析模块;1012-判断模块;1013-认证模块1014-会话创建模块;1015-启动模块;1021-配置模块;1022-生成模块;1023-发送模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

如图1所示,是本发明实施例提供的一种会话建立系统100的应用环境示意图。该会话建立系统100可运行于通信设备中,比如交换机和路由器等。本实施例中,所述会话建立系统100可以包括LSP(Label Switched Path,标签交换路径)出口节点101和LSP入口节点102,所述LSP出口节点101与所述LSP入口节点102通信相连,以进行数据通信或交互。详细地,所述LSP出口节点101和LSP入口节点102设置于不同的通信设备,且所述LSP出口节点101与所述LSP入口节点102可直接通信相连,也可以通过一个或多个中间节点间接通信相连。

本实施例中,所述LSP出口节点101可基于BFD(Bidirectional Forwarding Detection,双向转发检测)与LSP入口节点102建立会话。如图2所示,是所述LSP出口节点101的功能模块框图,该LSP出口节点101可以包括解析模块1011、判断模块1012、认证模块1013和会话创建模块1014。下面将对以上各功能模块进行详细描述。

其中,所述解析模块1011用于接收所述LSP入口节点102在创建本端BFD会话后发送的MPLS echo request报文,以及对接收到的MPLS echo request报文进行解析,得到解析结果。

本实施例中,所述LSP入口节点102在创建本端BFD会话之后,根据配置的认证类型和认证密钥生成一MPLS echo request报文,并发送给所述解析模块1011。其中,所述MPLS echo request报文可以包括BFD鉴别值TLV(Type-Length-Value,类型-长度-值)和认证信息TLV。所述解析模块1011在接收到所述MPLS echo request报文后,对该MPLS echo request报文进行解析,得到解析结果,并将所述解析结果发送给所述判断模块1012。

所述判断模块1012用于接收所述解析结果,根据该解析结果判断所述MPLS echo request报文中是否包含BFD鉴别值TLV。

其中,所述MPLS echo request报文包括固定字段和TLV组。一个MPLS echo request报文可以包含一个或多个TLV组,所述TLV组中Type的取值范围为1-65535。另外,Type小于32768的TLV是“强制TLV”,对于“强制TLV”必须进行解析处理而不允许忽略。Type大于或等于32768的TLV处于保留状态而未被使用,针对处于保留状态的TLV不强制要求进行解析处理,允许忽略。

在所述判断模块1012判断出所述MPLS echo request报文包含BFD鉴别值TLV时,进一步判断所述MPLS echo request报文是否包含认证信息TLV。另外,在所述判断模块1012判断出所述MPLS echo request报文未包含BFD鉴别值TLV时,发送一MPLS echo reply报文给所述入口节点,实现所述LSP入口节点102和LSP出口节点101之间的数据通信。如此,不影响所述LSP出口节点101正常接收和处理其他LSP入口节点102的MPLS LSP ping和MPLS LSP trace route功能发送的不包含BFD鉴别值TLV的MPLS echo request报文。

当判断出所述MPLS echo request报文包含认证信息TLV时,所述认证模块1013按照预先配置的认证类型和认证密钥对所述MPLS echo request报文进行认证。在所述MPLS echo request报文未包含认证信息TLV时,所述LSP出口节点101丢弃接收到的所述MPLS echo request报文,以避免网络中的攻击者恶意向LSP出口节点101持续大量的发送包含BFD鉴别值TLV的MPLS echo request报文,导致该LSP出口节点101的BFD会话资源耗尽,从而无法正常创建本端BFD会话,使得所述LSP出口节点101的BFD功能整体失效的情况。

本实施例中,所述认证信息TLV用于携带所述MPLS echo request报文的认证信息,使得所述LSP出口节点101可以根据该认证信息TLV对所述MPLS echo request报文进行认证。如图3所示,是所述认证信息TLV的格式示意图。其中,所述认证信息TLV的Type为65535,Value为认证信息,length为Value部分的认证信息字节数。另外,所述Value的具体内容取决于所采用的认证类型,例如简单口令认证和Keyed MD5(基于消息摘要算法第5版的带密钥认证)等。不同的认证类型可以有不同的实现方式。

详细地,如图4所示,是认证类型为Keyed MD5时认证信息TLV的格式示意图。其中,Auth Type字段表示使用的认证类型为Keyed MD5,Keyed ID为密钥ID字段,Auth Key/Digest为认证密钥和摘要字段。该摘要字段是一个16字节的二进制字符串,使用Keyed MD5认证方式生成。

所述会话创建模块1014用于在所述MPLS echo request报文通过认证时,所述LSP出口节点101创建本端BFD会话,并发送一MPLS echo reply报文给所述LSP入口节点102。

本实施例中,当所述判断模块1012判断出所述MPLS echo request报文通过认证时,所述会话创建模块1014则创建与所述LSP入口节点102相对应的本端BFD会话,并发送一MPLS echo reply报文给所述LSP入口节点102,以将成功创建所述本端BFD会话的信息反馈给所述LSP入口节点102,实现所述LSP入口节点102和所述LSP出口节点101之间的数据通信。

另外,在所述MPLS echo request报文未通过认证时,所述LSP出口节点101则丢弃所述MPLS echo request报文,以避免网络中的攻击者恶意向LSP出口节点101持续大量的发送包含BFD鉴别值TLV的MPLS echo request报文,导致该LSP出口节点101的BFD会话资源耗尽,从而无法正常创建本端BFD会话,使得所述LSP出口节点101的BFD功能整体失效的情况。

请进一步参阅图2,所述LSP出口节点101还包括启动模块1015。本实施例中,所述启动模块1015用于开启所述LSP出口节点101的针对包含BFD鉴别值TLV的MPLS echo request报文的认证功能,并设置认证类型和认证密钥,以对接收到的MPLS echo request报文进行认证。

如图5所示,所述LSP入口节点102包括配置模块1021、生成模块1022和发送模块1023。下面将对以上各功能模块进行详细描述。

本实施例中,所述配置模块1021用于根据所述LSP出口节点101设置的认证类型和认证密钥对该LSP入口节点102的认证类型和认证密钥进行配置,并创建本端BFD会话。其中,可以通过手动设置所述LSP出口节点101的认证类型和认证密钥。

所述生成模块1022用于根据创建的本端BFD会话生成包含BFD鉴别值TLV的MPLS echo request报文,以及针对该MPLS echo request报文按照所述LSP入口节点102的认证类型和认证密钥生成认证信息TLV,并将该认证信息TLV封装到所述MPLS echo request报文中。

所述发送模块1023用于将包含BFD鉴别值TLV和认证信息TLV的MPLS echo request报文发送给所述LSP出口节点101,以供所述LSP出口节点101进行处理以及根据处理结果确定是否创建本端BFD会话。

如图6所示,是本发明实施例提供的一种会话建立方法的流程图。所述方法可以包括以下步骤。

步骤S101:LSP出口节点101接收LSP入口节点102在创建本端BFD会话后发送的MPLS echo request报文,并对该MPLS echo request报文进行解析,得到解析结果。

本实施例中,所述LSP入口节点102在创建本端BFD会话之后,根据配置的认证类型和认证密钥生成一MPLS echo request报文,并发送给所述LSP出口节点101。其中,所述MPLS echo request报文可以包括BFD鉴别值TLV(Type-Length-Value,类型-长度-值)和认证信息TLV。所述LSP出口节点101在接收到所述MPLS echo request报文后,对该MPLS echo request报文进行解析,得到解析结果。

步骤S102:根据所述解析结果判断所述MPLS echo request报文是否包含BFD鉴别值TLV。

其中,所述MPLS echo request报文包括固定字段和TLV组。一个MPLS echo request报文可以包含一个或多个TLV组,所述TLV组中Type的取值范围为1-65535。另外,Type小于32768的TLV是“强制TLV”,对于“强制TLV”必须进行解析处理而不允许忽略。Type大于或等于32768的TLV处于保留状态而未被使用,针对处于保留状态的TLV不强制要求进行解析处理,允许忽略。

在判断出所述MPLS echo request报文包含BFD鉴别值TLV时,所述LSP出口节点101判断所述MPLS echo request报文是否包含认证信息TLV。另外,在判断出所述MPLS echo request报文未包含BFD鉴别值TLV时,发送一MPLS echo reply报文给所述LSP入口节点102,实现所述LSP入口节点102和LSP出口节点101之间的数据通信。如此,不影响所述LSP出口节点101正常接收和处理其他LSP入口节点102的MPLS LSP ping和MPLS LSP trace route功能发送的不包含BFD鉴别值TLV的MPLS echo request报文。

步骤S103:当所述MPLS echo request报文包含BFD鉴别值TLV时,判断所述MPLS echo request报文是否包含认证信息TLV。

在判断出所述MPLS echo request报文包含认证信息TLV时,所述LSP出口节点101按照预先配置的认证类型和认证密钥对所述MPLS echo request报文进行认证。在判断出所述MPLS echo request报文未包含认证信息TLV时,所述LSP出口节点101则丢弃接收到的所述MPLS echo request报文,以避免网络中的攻击者恶意向LSP出口节点101持续大量的发送包含BFD鉴别值TLV的MPLS echo request报文,导致该LSP出口节点101的BFD会话资源耗尽,从而无法正常创建本端BFD会话,使得所述LSP出口节点101的BFD功能整体失效的情况。

步骤S104:当所述MPLS echo request报文包含认证信息TLV时,按照预先配置的认证类型和认证密钥判断所述MPLS echo request报文是否通过认证。

本实施例中,所述认证信息TLV用于携带所述MPLS echo request报文的认证信息,使得所述LSP出口节点101可以根据该认证信息TLV对所述MPLS echo request报文进行认证。如图3所示,是所述认证信息TLV的格式示意图。其中,所述认证信息TLV的Type为65535,Value为认证信息,length为Value部分的认证信息字节数。另外,所述Value的具体内容取决于所采用的认证类型,例如简单口令认证和Keyed MD5(基于消息摘要算法第5版的带密钥认证)等。不同的认证类型可以有不同的实现方式。

详细地,如图4所示,是认证类型为Keyed MD5时认证信息TLV的格式示意图。其中,Auth Type字段表示使用的认证类型为Keyed MD5,Keyed ID为密钥ID字段,Auth Key/Digest为认证密钥和摘要字段。该摘要字段是一个16字节的二进制字符串,使用Keyed MD5认证方式生成。

步骤S105:当所述MPLS echo request报文通过认证时,所述LSP出口节点101创建本端BFD会话,并发送一MPLS echo reply报文给所述LSP入口节点102。

本实施例中,当判断出所述MPLS echo request报文通过认证时,所述LSP出口节点101则创建与所述LSP入口节点102相对应的本端BFD会话,并发送一MPLS echo reply报文给所述LSP入口节点102,以将成功创建所述本端BFD会话的信息反馈给所述LSP入口节点102,实现所述LSP入口节点102和所述LSP出口节点101之间的数据通信。

另外,在判断出所述MPLS echo request报文未通过认证时,所述LSP出口节点101则丢弃所述MPLS echo request报文,以避免网络中的攻击者恶意向LSP出口节点101持续大量的发送包含BFD鉴别值TLV的MPLS echo request报文,导致该LSP出口节点101的BFD会话资源耗尽,从而无法正常创建本端BFD会话,使得所述LSP出口节点101的BFD功能整体失效的情况。

如图7所示,在所述步骤S101之前,所述方法还可以包括以下步骤。

步骤S201:开启所述LSP出口节点101的针对包含BFD鉴别值TLV的MPLS echo request报文的认证功能,并设置认证类型和认证密钥。

本实施例中,可以手动开启所述LSP出口节点101的针对包含BFD鉴别值TLV的MPLS echo request报文的认证功能,并设置认证类型和认证密钥,以对接收到的MPLS echo request报文进行认证。

步骤S202:所述LSP入口节点102根据所述LSP出口节点101设置的认证类型和认证密钥对该LSP入口节点102的认证类型和认证密钥进行配置,并创建本端BFD会话。

其中,可手动设置所述LSP出口节点101的认证类型和认证密钥。

步骤S203:根据创建的本端BFD会话生成包含BFD鉴别值TLV的MPLS echo request报文。

步骤S204:针对该MPLS echo request报文按照所述LSP入口节点102的认证类型和认证密钥生成认证信息TLV,并将该认证信息TLV封装到所述MPLS echo request报文中。

步骤S205:将包含BFD鉴别值TLV和认证信息TLV的MPLS echo request报文发送给所述LSP出口节点101。

本发明实施例在LSP入口节点102创建本端BFD会话后生成MPLS echo request报文发送给LSP出口节点101,该LSP出口节点101对该MPLS echo request报文进行解析,当判断出所述MPLS echo request报文同时包含BFD鉴别值TLV、认证信息TLV以及通过认证时,所述LSP出口节点101才创建本端BFD会话,从而有效提高了所述LSP出口节点101建立本端BFD会话的安全性。

需要说明的是,在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在本申请所提供的几个实施例中,应该理解到,以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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