支持多种标签分配协议共同工作的转发方法及MPLS设备与流程

文档序号:12067983阅读:275来源:国知局
支持多种标签分配协议共同工作的转发方法及MPLS设备与流程

本发明涉及数据通信技术领域,具体来讲是一种支持多种标签分配协议共同工作的转发方法及MPLS(Multi-Protocol Label Switching,多协议标签交换)设备。



背景技术:

在网络的建设与规划中,因为MPLS支持多层标签和转发平面面向连接的特性,使得MPLS技术广泛应用于VPN(Virtual Private Network,虚拟专用网络)、流量工程、QoS(Quality of Service,服务质量)等方面。

但在实际的应用环境中,常常伴随着网络环境的复杂度增加,等价路由、FRR(Fast Reroute,快速重路由)、不同标签分配协议对相同路由分配不同标签所带来的标签转发路径的选择、私网标签和公网标签的关联等问题凸显出来。目前,通常是靠网络规划来尽量避免上述问题。但仅靠网络规划避免这种问题,会极大幅度地提高维护成本,且网络部署的效率低、人力成本大、人为规划操作出错率高。因此,需要一个自动方法来决策在路由冲突、标签冲突等情况下,如何进行标签转发的问题。



技术实现要素:

本发明的目的是为了克服上述背景技术的不足,提供一种支持多种标签分配协议共同工作的转发方法及MPLS设备,使得MPLS设备上运行的各种标签分配协议能协同工作,不再需要规划考虑复杂环境下的标签冲突、路由冲突情况下的选路问题,提高了网络部署的效率、节约了人力成本、且消除了人为规划操作带来的错误。

为达到以上目的,本发明提供一种支持多种标签分配协议共同工作的转发方法,包括以下步骤:

步骤S1:当前MPLS设备根据所支持的多种标签分配协议,判断当前是针对公网标签分配协议进行的公网标签路径处理操作还是针对VPN环境下的私网标签分配协议进行的私网标签路径处理操作,若是公网标签路径处理操作,转入步骤S2;若是私网标签路径处理操作,转入步骤S3;

步骤S2:首先根据路由优先级确定到目的地的路由,如果同一路由上不同标签分配协议分配了不同标签,根据预先为不同标签分配协议制定的标签协议优先级,对同路由不同标签协议分配的不同标签标记不同的标签优先级,将所有转发路径进行存储;当需要生成一条新的转发路径时,在存储的所有转发路径中遍历搜索所有具有相同目的地的转发路径,先找出路由最优的表项,如果存在多条,再根据标签优先级选择出一条最优的表项作为当前到此目的地的真实转发表项,将真实转发表项写入驱动的转发表;当报文到达后,驱动根据转发表中写入的真实转发表项进行标签转发操作;

步骤S3:首先从不同来源获取到公网标签分配协议指定的公网标签,并且获取到私网标签分配协议指定的私网标签;然后,将私网标签和公网标签关联合并成多层标签,生成以私网路由目的为目的,公网下一跳为真实下一跳的新路由,并为此路由打上新合并成的多层标签;将生成的新路由和多层标签作为真实转发表项写入驱动的转发表;当报文到达后,驱动根据转发表中写入的真实转发表项进行标签转发操作。

本发明还提供一种基于上述转发方法的支持多种标签分配协议共同工作的MPLS设备,包括多种标签分配协议和MPLS转发模块。所述多种标签分配协议分为公网标签分配协议和私网标签分配协议;所述MPLS转发模块包括处理操作判断单元、公网标签路径处理单元和私网标签路径处理单元。

所述处理操作判断单元用于:根据所支持的多种标签分配协议,判断当前是针对公网标签分配协议进行的公网标签路径处理操作还是针对VPN环境下的私网标签分配协议进行的私网标签路径处理操作,若是公网标签路径处理操作,向公网标签路径处理单元发送公网处理信号;若是私网标签路径处理操作,向私网标签路径处理单元发送私网处理信号;

所述公网标签路径处理单元用于:收到公网处理信号后,首先根据路由优先级确定到目的地的路由,如果同一路由上不同标签分配协议分配了不同标签,根据预先为不同标签分配协议制定的标签协议优先级,对同路由不同标签协议分配的不同标签标记不同的标签优先级,将所有转发路径进行存储;当需要生成一条新的转发路径时,在存储的所有转发路径中遍历搜索所有具有相同目的地的转发路径,先找出路由最优的表项,如果存在多条,再根据标签优先级选择出一条最优的表项作为当前到此目的地的真实转发表项,将真实转发表项写入驱动的转发表;

所述私网标签路径处理单元用于:收到私网处理信号后,首先从不同来源获取到公网标签分配协议指定的公网标签,并且获取到私网标签分配协议指定的私网标签;然后,将私网标签和公网标签关联合并成多层标签,生成以私网路由目的为目的,公网下一跳为真实下一跳的新路由,并为此路由打上新合并成的多层标签;将生成的新路由和多层标签作为真实转发表项写入驱动的转发表。

本发明的有益效果在于:

本发明可以处理MPLS设备上不同标签分配协议同时操作相同路由的情况。当进行公网标签路径处理操作时,采用路由优先级和标签优先级的方式决定最优的标签转发路径;当进行私网标签路径处理操作时,能将LDP等公网标签分配协议对公网标签的操作与L3VPN/L2VPN等私网标签分配协议对私网标签的操作进行关联组合形成可以转发的真实MPLS转发路径,并决策最终的转发路径,使得MPLS设备上运行的各种标签分配协议均能协同工作。与现有技术相比,本发明不再需要规划考虑复杂环境下的标签冲突、路由冲突情况下的选路问题,提高了网络部署的效率、节约了人力成本、且消除了人为规划操作带来的出错几率。

附图说明

图1为本发明实施例中支持多种标签分配协议共同工作的转发方法的流程图;

图2为公网标签路径处理操作中生成(添加)新的转发路径时的具体流程图;

图3为公网标签路径处理操作中删除一条转发路径时的具体流程图;

图4为私网标签路径处理操作中进行公网路由变更的处理操作的具体流程图;

图5为本发明实施例中支持多种标签分配协议共同工作的MPLS设备的结构框图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。

参见图1所示,本发明实施例提供一种支持多种标签分配协议共同工作的转发方法,包括以下步骤:

步骤S1:当前MPLS设备根据所支持的多种标签分配协议,判断当前是针对公网标签分配协议进行的公网标签路径处理操作还是针对VPN环境下的私网标签分配协议进行的私网标签路径处理操作,若是公网标签路径处理操作,转入步骤S2;若是私网标签路径处理操作,转入步骤S3。

可以理解的是,本实施例中,公网标签分配协议包括:LDP标签分配协议、RSVP标签分配协议和静态LSP标签分配协议;私网标签分配协议包括:L2VPN标签分配协议和L3VPN标签分配协议。

步骤S2:公网标签分配协议(即静态LSP,LDP,RSVP等标签分配协议),学习到相同的路由,可能分配得到不同的标签,也就是说,在MPLS域入口,到同一路由目的地,可能存在多条路由转发路径,对每一条路由,不同标签分配协议同时运行时,可能分配不同标签进行转发。在这种情况下进行的公网标签路径处理方式为:

首先根据路由优先级确定到目的地的路由,如果同一路由上不同标签分配协议分配了不同标签,根据预先为不同标签分配协议制定的标签协议优先级,对同路由不同标签协议分配的不同标签标记不同的标签优先级(此优先级在标签转发处理中,类似于路由优先级的处理方式),且视相同路由不同标签优先级的表项为不同的标签转发路径,将所有转发路径进行存储;

当需要生成(添加)一条新的转发路径时,在存储的所有转发路径中遍历搜索所有具有相同目的地的转发路径,先找出路由最优的表项,如果存在多条,再根据标签优先级选择出一条最优的表项作为当前到此目的地的真实转发表项,将真实转发表项写入驱动的转发表;在报文到达后,驱动根据转发表中写入的真实转发表项进行标签转发操作。

具体来说,如图2所示,步骤S2中,当需要生成(添加)一条新的转发路径时,详细操作步骤如下:

(1)当LDP标签分配协议、RSVP标签分配协议动态生成LSP(Label Switched Path,标签交换路径)或者是人为配置生成静态LSP后,当前MPLS设备获取到新的LSP信息并保存下来。

(2)根据路由信息(目的IP+掩码+下一跳+路由owner)和标签分配者(LDP、RSVP或者静态LSP)信息进行查找,判断已存储的所有转发路径中是否有与新的LSP信息相同的表项,若有,转入步骤(3);若没有,转入步骤(4)。

(3)更新表项参数,如果这条表项已写入到驱动的转发表,则先删除驱动原有的转发表项,再更新为新的表项参数,结束处理。

(4)将新的LSP信息存储为新表项,并判断当前表项是否为到此路由目的地址的唯一表项,若是,转入步骤(5);若否,转入步骤(6)。

(5)将此表项作为真实转发表项写入驱动的转发表,结束处理。

(6)继续判断当前表项是否是路由优先级最高的表项,若不是,结束处理;若是,转入步骤(7)。

(7)继续判断在最高路由优先级表项中,当前表项是否为标签优先级最高表项,若不是,结束处理;若是,转入步骤(8)。

(8)先删除驱动转发表中到路由目的地的原有转发表项,再将当前表项作为新转发路径写入到驱动的转发表,结束处理。

更进一步的,步骤S2中还包括以下操作:当需要删除一条转发路径时,先删除驱动的转发表中已有的对应转发路径;然后在存储的所有转发路径中遍历搜索所有具有相同目的地址的转发路径,找出路由优先级最高、标签优先级最高的表项;并将该表项更新到驱动的转发表中。具体来说,如图3所示,其详细操作步骤如下:

(1)当LDP标签分配协议、RSVP标签分配协议动态生成LSP删除消息或者是人为删除静态LSP后,当前MPLS设备判断已存储的所有转发路径中是否有与要删除的LSP相同的表项,若有,转入步骤(2);若没有,结束处理。

(2)判断要删除的LSP是否为驱动的转发路径,若不是,转入步骤(3);若是,转入步骤(4)。

(3)直接删除已存储的所有转发路径中对应的表项(即与要删除的LSP相同的表项),处理结束。

(4)删除驱动的转发表中以及已存储的所有转发路径中对应的表项(即与要删除的LSP相同的表项),转入步骤(5)。

(5)在已存储的所有转发路径中查找是否还有到此路由目的地的转发路径,如果没有,直接处理结束;否则,遍历已存储的所有转发路径的表项,首先选出路由优先级最高的转发路径,如果有多条,选择其中标签优先级最高的表项作为当前到此目的地址的真实转发表项,将真实转发表项写入驱动的转发表,结束处理。

步骤S3:首先,从不同来源获取到公网标签分配协议指定的公网标签,并且获取到私网标签分配协议指定的私网标签;然后,将私网标签和公网标签关联合并成多层标签,生成以私网路由目的为目的,公网下一跳为真实下一跳的新路由(即真实转发路由),并为此路由打上新合并成的多层标签;将生成的新路由和多层标签作为真实转发表项写入驱动的转发表;当报文到达后,驱动根据转发表中写入的真实转发表项进行标签转发操作。

可以理解的是,由于私网路由是依赖于公网路由的,因此,无论是先获取到公网标签还是后获取到公网标签,一旦获取到公网标签,首先会根据步骤S2进行公网标签路径处理操作,然后再进行相应的私网标签路径处理操作。

另外,实际操作时,步骤S3中所述将私网标签和公网标签关联合并成多层标签,生成以私网路由目的为目的,公网下一跳为真实下一跳的新路由,并为此路由打上新合并成的多层标签,具体包括以下操作:

若当前MPLS设备所在网络到达私网路由的目的地址,只有一条公网路由可以达到,则当前MPLS设备合并生成一条新路由和标签;

若当前MPLS设备所在网络到达私网路由的目的地址,有多条公网路由可以到达,MPLS设备则生成多条新路由和对应的新标签;

若当前MPLS设备所在网络到达私网路由的目的地址,因为多种标签分配协议对同一条公网路由分配了不同标签,则当前MPLS设备生成多条标签优先级不同、目的和下一跳相同的转发路径,并携带不同的标签。

更进一步的,步骤S3之后还包括公网路由变更的处理操作:当前MPLS设备若得到标签分配协议通知的公网路由变更消息后,查找与变更的公网路由相关联的所有私网路由和标签;生成以私网路由目的为目的,公网路由下一跳为真实下一跳的新路由,并更新此路由的标签;同时,当前MPLS设备根据新路由的路由优先级和标签优先级,选择其中最优路径作为当前到目的地址的真实转发路径,将真实转发路径写入驱动的转发表。具体来说,如图4所示,详细操作步骤如下:

(1)当前MPLS设备若得到标签分配协议通知的公网路由变更消息后,循环查找是否有私网路由关联(通过)此公网转发路径(即是否有私网路由远端下一跳为此公网的目的IP),若没有,结束处理;若有,转入步骤(2)。

(2)判断私网路由是否已经关联过公网转发路径,若没有,转入步骤(3);若有,转入步骤(4)。

(3)生成以私网路由目的IP为目的,公网路由下一跳为真实下一跳的新路由,生成以公网标签为外层标签、私网标签为内层标签的多层标签,并为新路由打上新生成的多层标签;将打上多层标签的新路由下发至驱动。

(4)判断私网路由已关联的公网转发路径的优先级是否比变更后的公网转发路径低,若不是,表示变更后的公网转发路径不是最优路径,放弃关联私网,结束此次处理;若是,转入步骤(5)。

(5)删除驱动中基于变更前公网转发路径的私网转发路径;并将变更后的公网转发路径的下一跳作为私网路由的真实下一跳,形成真实的私网转发路径,将真实的私网转发路径写入驱动的转发表。

参见图5所示,本发明实施例还提供一种基于上述转发方法的支持多种标签分配协议共同工作的MPLS设备,包括多种标签分配协议和MPLS转发模块。其中,多种标签分配协议分为公网标签分配协议和私网标签分配协议;MPLS转发模块包括处理操作判断单元、公网标签路径处理单元和私网标签路径处理单元。

所述处理操作判断单元用于:根据所支持的多种标签分配协议,判断当前是针对公网标签分配协议进行的公网标签路径处理操作还是针对VPN环境下的私网标签分配协议进行的私网标签路径处理操作,若是公网标签路径处理操作,向公网标签路径处理单元发送公网处理信号;若是私网标签路径处理操作,向私网标签路径处理单元发送私网处理信号;

所述公网标签路径处理单元用于:收到公网处理信号后,首先根据路由优先级确定到目的地的路由,如果同一路由上不同标签分配协议分配了不同标签,根据预先为不同标签分配协议制定的标签协议优先级,对同路由不同标签协议分配的不同标签标记不同的标签优先级,将所有转发路径进行存储;当需要生成一条新的转发路径时,在存储的所有转发路径中遍历搜索所有具有相同目的地的转发路径,先找出路由最优的表项,如果存在多条,再根据标签优先级选择出一条最优的表项作为当前到此目的地的真实转发表项,将真实转发表项写入驱动的转发表。

具体来说,所述公网标签路径处理单元包括公网转发路径生成子单元,所述公网转发路径生成子单元用于:当LDP标签分配协议、RSVP标签分配协议动态生成LSP或者是人为配置生成静态LSP后,获取到新的LSP信息并保存下来;根据路由信息和标签分配者信息进行查找,判断已存储的所有转发路径中是否有与新的LSP信息相同的表项,若有,更新表项参数,如果这条表项已写入到驱动的转发表,则先删除驱动原有的转发表项,再更新为新的表项参数;若没有,将新的LSP信息存储为新表项,并判断当前表项是否为到此路由目的地的唯一表项,若是,将此表项作为真实转发表项写入驱动的转发表;若否,继续判断当前表项是否是路由优先级最高的表项,若不是,结束处理;若是,继续判断在最高路由优先级表项中,当前表项是否为标签优先级最高表项,若不是,结束处理;若是,先删除驱动转发表中到路由目的地的原有转发表项,再将当前表项作为新转发路径写入到驱动的转发表,结束处理。

进一步地,所述公网标签路径处理单元还包括公网转发路径删除子单元,所述公网转发路径删除子单元用于:当需要删除一条转发路径时,所述公网标签路径处理单元先删除驱动的转发表中已有的对应转发路径;然后在存储的所有转发路径中遍历搜索所有具有相同目的地址的转发路径,找出路由优先级最高、标签优先级最高的表项;并将该表项更新到驱动的转发表中。

所述私网标签路径处理单元用于:收到私网处理信号后,首先从不同来源获取到公网标签分配协议指定的公网标签,并且获取到私网标签分配协议指定的私网标签;然后,将私网标签和公网标签关联合并成多层标签,生成以私网路由目的为目的,公网下一跳为真实下一跳的新路由,并为此路由打上新合并成的多层标签;将生成的新路由和多层标签作为真实转发表项写入驱动的转发表。

进一步地,所述私网标签路径处理单元还包括公网路由变更处理子单元,所述公网路由变更处理子单元用于:当公网路由变更处理子单元得到标签分配协议通知的公网路由变更消息后,查找与变更的公网路由相关联的所有私网路由和标签;生成以私网路由目的为目的,公网路由下一跳为真实下一跳的新路由,并更新此路由的标签;同时,公网路由变更处理子单元根据新路由的路由优先级和标签优先级,选择其中最优路径作为当前到目的地址的真实转发路径,将真实转发路径写入驱动的转发表。

需要说明的是:上述实施例提供的支持多种标签分配协议共同工作的MPLS设备在进行实际操作时,仅以上述各功能单元的划分进行举例说明,实际应用中,可根据需要将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。

本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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