首页> 中国专利> 分配全局标签的方法、获取全局标签的方法及相关装置

分配全局标签的方法、获取全局标签的方法及相关装置

摘要

提供了一种分配全局标签的方法,包括:控制器接收转发装置发送的第一消息,所述第一消息中携带第一标签范围,所述第一标签范围包括的多个标签是所述转发装置的标签空间包括的多个标签的子集,所述第一标签范围不等于所述转发装置的标签空间;所述控制器根据所述第一消息中携带的所述第一标签范围为所述转发装置分配全局标签,所述全局标签是所述第一标签范围中的标签。此外,还提供了获取全局标签的方法、控制器以及转发装置。上述方案有助于提高全局标签的分配效率。

著录项

  • 公开/公告号CN106549870A

    专利类型发明专利

  • 公开/公告日2017-03-29

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201510590096.6

  • 申请日2015-09-16

  • 分类号H04L12/723(20130101);

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 01:52:33

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-15

    授权

    授权

  • 2017-04-26

    实质审查的生效 IPC(主分类):H04L12/723 申请日:20150916

    实质审查的生效

  • 2017-03-29

    公开

    公开

说明书

技术领域

本发明实施例涉及通信技术领域,特别涉及分配全局标签的方法、获取全局标签的方法、控制器以及转发装置。

背景技术

全局标签(global label)技术是基于多协议标记交换(multiprotocol labelswitching,MPLS)的技术。

现有技术中,为转发装置分配全局标签需要通过手工配置实现。上述技术方案中,全局标签的分配效率比较低。

发明内容

实施例提供了分配全局标签的方法、获取全局标签的方法、控制器以及转发装置,有助于提高全局标签的分配效率。

一方面,提供了一种分配全局标签的方法,包括:

控制器接收转发装置发送的第一消息,所述第一消息中携带第一标签范围,所述第一标签范围包括的多个标签是所述转发装置的标签空间包括的多个标签的子集,所述第一标签范围不等于所述转发装置的标签空间;

所述控制器根据所述第一消息中携带的所述第一标签范围为所述转发装置分配全局标签,所述全局标签是所述第一标签范围中的标签。

结合第一方面,在第一方面的第一种可能的实现方式中,所述第一标签范围包括已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点,所述控制器接收所述第一消息之后,以及所述控制器为所述转发装置分配所述全局标签之前,所述方法还包括:

所述控制器向所述转发装置发送第二消息,所述第二消息包括第二标签范围,所述第二标签范围包括多个标签,所述第二标签范围是所述第一标签范围的子集,所述第二消息用于指示所述转发装置为第二标签交换路径分配新的标签,所述新的标签用于替换已被所述转发装置分配给所述第二标签交换路径的标签,所述新的标签在所述第二标签范围之外,所述第二标签交换路径是所述第一标签交换路径的子集,所述已被所述转发装置分配给所述第二标签交换路径的标签是所述第二标签范围的子集;

所述控制器根据所述第一消息中携带的所述第一标签范围为所述转发装置分配全局标签,所述全局标签是所述第一标签范围中的标签,具体包括:

所述控制器根据所述第二标签范围为所述转发装置分配所述全局标签,所述全局标签是所述第二标签范围中的标签。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述控制器向所述转发装置发送所述第二消息之后,以及所述控制器为所述转发装置分配所述全局标签之前,所述方法还包括:

所述控制器接收所述转发装置发送的第三消息,所述第三消息用于通知所述控制器所述转发装置已为所述第二标签交换路径分配了所述新的标签。

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述控制器接收所述转发装置发送的第三消息之后,以及所述控制器为所述转发装置分配所述全局标签之前,所述方法还包括:

所述控制器向所述转发装置发送第四消息,所述第四消息包括所述第二标签范围,所述第四消息用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第二消息还用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

结合第一方面的上述任意一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签,或者,所述第一消息中还携带第一子范围的标识、第二子范围的标识、第一标签的数量以及第二标签的数量,所述第一标签范围包括所述第一子范围以及所述第二子范围,在所述第一子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第一标签,在所述第二子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第二标签,所述第一标签的数量小于所述第二标签的数量;

所述控制器接收所述第一消息之后,以及所述控制器向所述转发装置发送所述第二消息之前,所述方法还包括:

所述控制器根据所述第一消息中携带的在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签确定所述第一标签的数量小于所述第二标签的数量,或者所述控制器根据所述第一消息中携带的所述第一标签的数量以及所述第二标签的数量确定所述第一标签的数量小于所述第二标签的数量;

所述控制器基于所述第一标签的数量小于所述第二标签的数量确定所述第一子范围是所述第二标签范围。

结合第一方面或者第一方面的上述任意一种可能的实现方式,在第一方面的第六种可能的实现方式中,接收所述第一消息之前,所述方法还包括:

所述控制器向所述转发装置发送第五消息,所述第五消息用于指示所述转发装置向所述控制器发送所述转发装置的标签空间以及已被所述转发装置分配的标签或者所述已被所述转发装置分配的标签的数量。

结合第一方面在第一方面的第七种可能的实现方式中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点;

所述控制器根据所述第一消息中携带的所述第一标签范围为所述转发装置分配全局标签包括:

所述控制器根据所述第一标签范围以及已被所述转发装置分配给所述第一标签交换路径的标签为所述转发装置分配所述全局标签,所述全局标签与已被所述转发装置分配给所述第一标签交换路径的标签的没有交集。

第二方面,提供了一种获取全局标签的方法,包括:

转发装置向控制器发送第一消息,所述第一消息中携带第一标签范围,所述第一标签范围包括的多个标签是所述转发装置的标签空间包括的多个标签的子集,所述第一标签范围不等于所述转发装置的标签空间;

所述转发装置获取所述控制器根据所述第一消息中携带的所述第一标签范围为所述转发装置分配的全局标签,所述全局标签是所述第一标签范围中的标签。

结合第二方面,在第二方面的第一种可能的实现方式中,所述第一标签范围包括已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点,所述转发装置向所述控制器发送所述第一消息之后,以及所述转发装置获取所述全局标签之前,所述方法还包括:

所述转发装置接收所述控制器发送第二消息,所述第二消息包括第二标签范围,所述第二标签范围包括多个标签,所述第二标签范围是所述第一标签范围的子集,所述第二消息用于指示所述转发装置为第二标签交换路径分配新的标签,所述新的标签用于替换已被所述转发装置分配给所述第二标签交换路径的标签,所述新的标签在所述第二标签范围之外,所述第二标签交换路径是所述第一标签交换路径的子集,所述已被所述转发装置分配给所述第二标签交换路径的标签是所述第二标签范围的子集,所述第二标签范围被所述控制器用于为所述转发装置分配所述全局标签,所述全局标签是所述第二标签范围中的标签。

结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述转发装置接收所述控制器发送的所述第二消息之后,以及所述转发装置获取所述全局标签之前,所述方法还包括:

所述转发装置向所述控制器发送第三消息,所述第三消息用于通知所述控制器所述转发装置已为所述第二标签交换路径分配了所述新的标签。

结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述转发装置向所述控制器发送所述第三消息之后,以及所述转发装置获取所述全局标签之前,所述方法还包括:

所述转发装置接收所述控制器发送的第四消息,所述第四消息包括所述第二标签范围,所述第四消息用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

结合第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第二消息还用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

结合第二方面的上述任意一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二标签范围是第一子范围,所述第一标签范围包括所述第一子范围以及第二子范围,所述在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签包括第一标签和第二标签,所述在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签的数量包括所述第一标签的数量和所述第二标签的数量,所述第一标签是所述第一子范围中的标签,所述第二标签是所述第二子范围中的标签,所述第一标签的数量小于所述第二标签的数量。

结合第二方面或者第二方面的上述任意一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述转发装置向所述控制器发送所述第一消息之前,所述方法还包括:

所述转发装置接收所述控制器发送的第五消息,所述第五消息用于指示所述转发装置向所述控制器发送所述转发装置的标签空间,所述第五消息还用于指示所述转发装置向所述控制器发送已被所述转发装置分配的标签或者所述已被所述转发装置分配的标签的数量。

结合第二方面,在第二方面的第七种可能的实现方式中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点,所述全局标签与已被所述转发装置分配给所述第一标签交换路径的标签的没有交集。

第三方面,提供了一种控制器,包括:

第一接收单元,用于接收转发装置发送的第一消息,所述第一消息中携带第一标签范围,所述第一标签范围包括的多个标签是所述转发装置的标签空间包括的多个标签的子集,所述第一标签范围不等于所述转发装置的标签空间;

分配单元,用于根据所述第一接收单元接收的所述第一消息中携带的所述第一标签范围为所述转发装置分配全局标签,所述全局标签是所述第一标签范围中的标签。

结合第三方面,在第三方面的第一种可能的实现方式中,所述第一标签范围包括已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点,所述控制器还包括第一发送单元,所述第一发送单元用于在所述第一接收单元接收所述第一消息之后,以及在所述分配单元为所述转发装置分配所述全局标签之前,向所述转发装置发送第二消息,所述第二消息包括第二标签范围,所述第二标签范围包括多个标签,所述第二标签范围是所述第一标签范围的子集,所述第二消息用于指示所述转发装置为第二标签交换路径分配新的标签,所述新的标签用于替换已被所述转发装置分配给所述第二标签交换路径的标签,所述新的标签在所述第二标签范围之外,所述第二标签交换路径是所述第一标签交换路径的子集,所述已被所述转发装置分配给所述第二标签交换路径的标签是所述第二标签范围的子集,所述全局标签是所述第二标签范围中的标签。

结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述的控制器还包括第二接收单元,所述第二接收单元用于在所述第一发送单元向所述转发装置发送所述第二消息之后,以及在所述分配单元为所述转发装置分配所述全局标签之前,接收所述转发装置发送的第三消息,所述第三消息用于通知所述控制器所述转发装置已为所述第二标签交换路径分配了所述新的标签。

结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述的控制器还包括第二发送单元,所述第二发送单元用于在所述第二接收单元接收所述转发装置发送的第三消息之后,以及在所述分配单元为所述转发装置分配所述全局标签之前,向所述转发装置发送第四消息,所述第四消息包括所述第二标签范围,所述第四消息用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

结合第三方面的第一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述第二消息还用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

结合第三方面的第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式或者第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签,或者,所述第一消息中还携带第一子范围的标识、第二子范围的标识、第一标签的数量以及第二标签的数量,所述第一标签范围包括所述第一子范围以及所述第二子范围,在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第一标签,在所述第二子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第二标签,所述第一标签的数量小于所述第二标签的数量;

所述控制器还包括确定单元,所述确定单元用于在所述第一接收单元接收所述第一消息之后,以及在所述第一发送单元向所述转发装置发送所述第二消息之前,根据所述第一消息中携带的在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签确定所述第一标签的数量小于所述第二标签的数量,或者所述控制器根据所述第一消息中携带的所述第一标签的数量以及所述第二标签的数量确定所述第一标签的数量小于所述第二标签的数量,基于所述第一标签的数量小于所述第二标签的数量确定所述第一子范围是所述第二标签范围。

结合第三方面、第三方面的第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式、第四种可能的实现方式或者第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述的控制器,还包括第三发送单元,所述第三发送单元用于在所述第一接收单元接收所述转发装置发送的所述第一消息之前,向所述转发装置发送第五消息,所述第五消息用于指示所述转发装置向所述控制器发送所述转发装置的标签空间,所述第五消息还用于指示所述转发装置向所述控制器发送已被所述转发装置分配的标签或者所述已被所述转发装置分配的标签的数量。

结合第三方面,在第三方面的第七种可能的实现方式中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点;

所述分配单元具体用于:根据所述第一标签范围以及已被所述转发装置分配给所述第一标签交换路径的标签为所述转发装置分配所述全局标签,所述全局标签与已被所述转发装置分配给所述第一标签交换路径的标签的没有交集。

第四方面,提供了一种转发装置,包括:

第一发送单元,用于向控制器发送第一消息,所述第一消息中携带第一标签范围,所述第一标签范围包括的多个标签是所述转发装置的标签空间包括的多个标签的子集,所述第一标签范围不等于所述转发装置的标签空间;

获取单元,用于获取所述控制器根据所述第一消息中携带的所述第一标签范围为所述转发装置分配的全局标签,所述全局标签是所述第一标签范围中的标签。

结合第四方面,在第四方面的第一种可能的实现方式中,所述第一标签范围包括已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点,所述的转发装置还包括:

第一接收单元,用于在所述第一发送单元发送所述第一消息之后,以及在所述获取单元获取所述全局标签之前接收所述控制器发送第二消息,所述第二消息包括第二标签范围,所述第二标签范围包括多个标签,所述第二标签范围是所述第一标签范围的子集,所述第二消息用于指示所述转发装置为第二标签交换路径分配新的标签,所述新的标签用于替换已被所述转发装置分配给所述第二标签交换路径的标签,所述新的标签在所述第二标签范围之外,所述第二标签交换路径是所述第一标签交换路径的子集,所述已被所述转发装置分配给所述第二标签交换路径的标签是所述第二标签范围的子集,所述第二标签范围被所述控制器用于为所述转发装置分配所述全局标签,所述全局标签是所述第二标签范围中的标签。

结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述的转发装置还包括:

第二发送单元,用于在所述第一接收单元接收所述第二消息之后,以及在所述获取单元获取所述全局标签之前,向所述控制器发送第三消息,所述第三消息用于通知所述控制器所述转发装置已为所述第二标签交换路径分配了所述新的标签。

结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述的转发装置还包括:

第二接收单元,用于在所述第二发送单元向所述控制器发送所述第三消息之后,以及所述获取单元获取所述全局标签之前,接收所述控制器发送的第四消息,所述第四消息包括所述第二标签范围,所述第四消息用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

结合第四方面的第一种可能的实现方式,在第四方面的第四种可能的实现方式中,所述第二消息还用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

结合第四方面的第一种可能的实现方式、第二种可能的实现方式,第三种可能的实现方式或者第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述第二标签范围是第一子范围,所述第一标签范围包括所述第一子范围以及第二子范围,所述在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签包括第一标签和第二标签,所述在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签的数量包括所述第一标签的数量和所述第二标签的数量,所述第一标签是所述第一子范围中的标签,所述第二标签是所述第二子范围中的标签,所述第一标签的数量小于所述第二标签的数量。

结合第四方面、第四方面的第一种可能的实现方式、第二种可能的实现方式,第三种可能的实现方式、第四种可能的实现方式或者第五种可能的实现方式,在第四方面的第六种可能的实现方式中,所述的转发装置还包括第三接收单元,所述第三接收单元用于在所述第一发送单元发送所述第一消息之前,接收所述控制器发送的第五消息,所述第五消息用于指示所述转发装置向所述控制器发送所述转发装置的标签空间,所述第五消息还用于指示所述转发装置向所述控制器发送已被所述转发装置分配的标签或者所述已被所述转发装置分配的标签的数量。

结合第四方面,在第四方面的第七种可能的实现方式中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点,所述全局标签与已被所述转发装置分配给所述第一标签交换路径的标签的没有交集。

上述技术方案中,控制器接收转发装置发送的第一消息中携带第一标签范围。所述控制器可以根据所述第一标签范围为所述转发装置分配全局标签。因此,分配全局标签时不需要手工配置,有助于提高全局标签的分配效率。另外,所述第一消息中携带了所述第一标签范围,所述全局标签是所述第一标签范围包括的多个标签中的标签。所述全局标签是所述转发装置的标签空间中的标签。因此,上述方案可以避免为所述转发装置分配所述转发装置的标签空间之外的标签,从而避免为所述转发装置分配所述转发装置无法支持的全局标签。另外,所述第一标签范围是所述标签空间的子集,并且所述第一标签范围不等于所述标签空间。因此,所述第一标签范围小于所述标签空间。所述转发装置可以回收某个标签范围内的已被所述转发装置分配的标签,从而使得该标签范围内的标签成为可用的标签。所述转发装置回收所述第一标签范围中的已被所述转发装置分配的标签的开销小于所述转发装置回收所述标签空间中的已被所述转发装置分配的标签的开销。因此,上述技术方案有助于降低回收已被分配的标签的开销。进一步的,所述第一消息还可以携带在所述第一标签范围内已被所述转发装置分配的标签。或者所述第一消息还可以携带在所述第一子范围内已被所述转发装置分配给所述第一标签交换路径的标签的数量以及在所述第二子范围内已被所述转发装置分配给所述第一标签交换路径的标签的数量。所述控制器可以通过第一消息获知已被所述转发装置分配的标签的数量。因此,所述控制器可以根据已被分配的标签的数量,合理的为所述转发装置分配所述全局标签。例如,将已被分配标签的数量较小的标签范围作为候选的全局标签。所述转发装置可以回收已被分配标签的数量较小的标签范围中的已被分配的标签。相对于回收已被分配标签的数量较大的标签范围中的已被分配的标签,上述技术方案有助于减轻所述转发装置回收已被分配的标签的开销。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是实施例提供的一种网络结构示意图;

图2是实施例提供的一种信令交互示意图;

图3是实施例提供的一种分配全局标签的方法的流程示意图;

图3a是实施例提供的一种分配全局标签的方法的流程示意图;

图4是实施例提供的一种控制器的结构示意图;

图5是实施例提供的一种控制器的结构示意图;

图6是实施例提供的一种控制器的结构示意图;

图7是实施例提供的一种获取全局标签的方法的流程示意图;

图8是实施例提供的一种获取全局标签的方法的流程示意图;

图9是实施例提供的一种转发装置的结构示意图;

图10是实施例提供的一种转发装置的结构示意图;

图11是实施例提供的一种转发装置的结构示意图。

具体实施方式

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

图1为本发明实施例提供的一种网络结构示意图。参见图1,所述网络结构包括控制器(Controller)网络以及开放流交换机(OpenFlow Switch)网络。所述控制器网络包括控制器1。所述开放流交换机网络包括开放流交换机1、开放流交换机2、开放流交换机3以及开放流交换机4。所述控制器网络还可以包括其他控制器,所述开放流交换机网络还可以包括其他开放流交换机,图中未示出。当然,所述开放流交换机网络也可以只包括1个开放流交换机、2个开放流交换机或者3个开放流交换机。

控制器1可以分别通过控制通道1、控制通道2、控制通道3以及控制通道4与开放流交换机1、开放流交换机2、开放流交换机3以及开放流交换机4进行通信。控制通道具体可以是开放流通道(OpenFlow Channel)。关于开放流交换机,控制器以及开放流通道,可以参考开放网络基础(OPEN NETWORKINGFOUNDATION)发布的开放流交换机说明书第1.3.1版(OpenFlow SwitchSpecification Version 1.3.1)。

图2为图1中的控制器1通过控制通道1与开放流交换机1进行通信的信令交互示意图。参见图2,控制器1与开放流交换机1的通信过程包括:控制器1向开放流交换机1发送消息1。开放流交换机1向控制器1发送消息2。控制器1向开放流交换机1发送消息3。开放流交换机1向控制器1发送消息4。控制器1向开放流交换机1发送消息5。开放流交换机1向控制器1发送消息6。下文将对上述过程进行具体说明。

S201、控制器1向开放流交换机1发送消息1。

消息1指示开放流交换机1向控制器1报告开放流交换机1的标签空间以及开放流交换机1已为标签交换路径分配的标签或者已为标签交换路径分配的标签的数量。开放流交换机1是所述标签交换路径的节点。所述标签交换路径被包含在所述开放流交换机网络中。

举例来说,开放流交换机1可以是支持MPLS的交换机。开放流交换机1支持的标签栈(label stack)可以只包括一个MPLS标签,也可以包括多个MPLS标签。

下文对开放流交换机1支持的标签栈只包括一个MPLS标签的场景进行举例:开放流交换机1接收到的MPLS报文。MPLS报文中携带一个MPLS头(MPLSheader)。所述MPLS header的标签域中携带MPLS标签。所述标签域包括20比特。也就是说,所述标签域的值可以是220个不同的值中的一个。因此,理论上开放流交换机1的标签空间可以是0至220-1。

另外,开放流交换机1是所述开放流交换机网络的节点。S201之前,控制器1可能已通过控制通道(例如控制通道1、控制通道2和控制通道3)指示所述开放流交换机网络建立了5个标签交换路径(label switched path,LSP)。开放流交换机1可以是所述5个标签交换路径中的3个标签交换路径的节点。所述3个标签交换路径分别是LSP1,LSP2以及LSP3。

因此,S201之前,开放流交换机1已分别为所述3个标签交换路径分配了3个标签。具体的,开放流交换机1分别为LSP1,LSP2以及LSP3分配了标签1、标签2以及标签3。开放流交换机1分别根据标签1、标签2以及标签3生成标签转发表项1、标签转发表项2以及标签转发表项3。标签转发表项1的匹配域(match field)中包括标签1。因此,开放流交换机1具有转发携带标签1的报文的能力。具体来说,开放流交换机1接收到在LSP1上传输的报文1。报文1的报文头中携带MPLS header。MPLS header的标签域的值等于标签1。开放流交换机1可以根据标签1在标签转发表中查找与标签1匹配的标签。与标签1匹配的表项是标签转发表项1。开放流交换机1可以根据标签转发表项1转发报文1。

举例来说,S201之前,开放流交换机1以及控制器1可以进行标签能力通告。标签能力具体可以包括开放流交换机1向控制器1报告标签范围以及控制器1向开放流交换机1分配全局标签。所述标签范围可以是开放流交换机1的标签空间,不包含已分配给LSP的标签的标签范围,包含了已分配给LSP的标签的标签范围以及已回收的标签范围。例如,可以对英特网工程任务组(InternetEngineering Task Force,IETF)发布的请求注解(Request For Comments,RFC)5492进行扩展,从而使得开放流交换机或者控制器1进行能力通告(capabilitiesadvertisement)时,能够在开放消息(OPEN message)的选项参数(OptionalParameters)域中携带扩展的能力选项参数(Capabilities Optional Parameter)域。

举例来说,开放流交换机1以及控制器1进行标签能力通告可以具体包括:

控制器1与开放流交换机1建立传输控制协议(Transmission ControlProtocol,TCP)连接后,控制器1向开放流交换机1发送开放消息1。开放消息1的扩展的能力选项参数域中携带用于指示控制器1是否具有标签能力的信息。关于扩展的能力选项参数,请参见表1:

表1

能力码(Capability Code)域的长度为一个字节。能力码的值用于指示标签能力。

能力长度(Capability Length)域的长度为一个字节。能力长度的值用于限定能力值(Capability Value)域的长度。

能力值(Capability Value)域的长度是可变的。当能力值域的值为1,表明具有标签能力。当能力值域的值为0,表明不具有标签能力。

开放流交换机1接收到开放消息1后,根据能力值域的值确定控制器1具有标签能力。

响应于开放消息1,开放流交换机1向控制器1发送开放消息2。开放消息2携带的扩展的能力选项参数域中携带用于指示开放流交换机1是否具有标签能力的信息。关于开放消息2中的扩展的能力选项参数域的结构,请参见表1。当能力值域的值为1,表明开放流交换机1具有标签能力。当能力值域的值为0,表明开放流交换机1不具有标签能力。

开放流交换机1根据开放消息1确定控制器1具有标签能力。控制器1根据开放消息2确定开放流交换机1也具有标签能力。控制器1确定开放流交换机1具有标签能力后,向开放流交换机1发送消息1。

举例来说,消息1中可以携带步长大小域(step size field)。步长大小域用于携带步长的值。步长大小域用于指示开放流交换机1根据步长大小域的值向控制器1报告开放流交换机1的标签范围。此外,步长大小域还可以用于指示开放流交换机1根据步长大小域的值向控制器1报告在所述标签范围内被分配的标签的数量。例如,步长大小域可以携带在Open Message的扩展属性中。关于步长大小域的结构,请参考表2:

表2

步长大小(step size)域的长度为2个字节。步长大小域的值用于指示开放流交换机根据步长大小域的值报告开放流交换机的标签范围。例如,当步长大小域的值等于1024时,步长大小域的值用于指示开放流交换机根据值为1024的步长报告开放流交换机的标签范围。

保留(Reserved)域的长度为2个字节。保留域可以用于将来扩展。

S202、开放流交换机1向控制器1发送消息2。

响应于消息1,开放流交换机1向控制器1发送消息2。消息2中携带标签范围1。如无相反的说明,本申请中提及的某消息中携带某范围是指,该消息中携带用于指示该范围的信息。例如,上文中的消息2中携带标签范围1,是指消息2中携带了用于指示标签范围1的信息。

可选地,消息2中携带开放流交换机1在标签范围1内已分配给LSP的标签。开放流交换机1是所述LSP的节点。

举例来说,标签范围1可以是开放流交换机1的标签空间,例如0至220-1。开放流交换机1在0至220-1内已分配给LSP(LSP1、LSP2以及LSP3)的标签可以是标签1、标签2以及标签3。

另外,标签范围1也可以是上述标签空间的1个子标签空间,例如0至210。开放流交换机1在0至210内已分配给LSP(LSP1以及LSP2)的标签可以是标签1以及标签2。

可替换的,标签范围1也可以是上述标签空间的多个子标签空间,例如0至210以及210+1至215。开放流交换机1在0至210内已分配给LSP(LSP1以及LSP2)的标签可以是标签1以及标签2。开放流交换机1在210+1至215内已分配给LSP(LSP3)的标签可以是可以是标签3。上述例子中,多个子标签空间是连续的。具体实现时,多个子标签空间也可以是不连续的。例如,多个子标签空间可以是0至210以及210+2至215

可选地,S202具体实现时也可以是:

响应于消息1,开放流交换机1向控制器1发送消息2。消息2中携带标签范围1。

可选地,消息2中携带开放流交换机1在标签范围1内已分配给LSP的标签的数量。

举例来说,标签范围1可以是开放流交换机1的标签空间,例如0至220-1。开放流交换机1在0至220-1内已分配给LSP(LSP1、LSP2以及LSP3)的标签可以是标签1、标签2以及标签3。因此,开放流交换机1在标签范围1内已分配给LSP的标签的数量是3。

另外,标签范围1也可以是上述标签空间的1个子标签空间,例如0至210。开放流交换机1在0至210内已分配给LSP(LSP1以及LSP2)的标签可以是标签1以及标签2。因此,开放流交换机1在标签范围1内已分配给LSP的标签的数量是2。

可替换的,标签范围1也可以是上述标签空间的多个子标签空间,例如0至210以及210+1至215。开放流交换机1在0至210内已分配给LSP(LSP1以及LSP2)的标签可以是标签1以及标签2。开放流交换机1在210+1至215内已分配给LSP(LSP3)的标签可以是标签3。因此,开放流交换机1在0至210内已分配给LSP的标签的数量是2。开放流交换机1在210+1至215内已分配给LSP的标签的数量是1。上述例子中,多个子标签空间是连续的。具体实现时,多个子标签空间也可以是不连续的。例如,多个子标签空间可以是0至210以及210+2至215

标签范围1以及开放流交换机1在标签范围1内已分配给LSP的标签可以携带在扩展的开放消息中。举例来说,消息2可以包括表3所示的结构:

表3

开始标签(Start Label)域的长度为4个字节。开始标签域用于指示大的标签范围的开始标签的值。

结束标签(End Label)域的长度为4个字节。结束标签域用于指示大的标签范围的结束标签的值。

步长大小(Step size)域的长度为2个字节。步长大小域用于指示小的标签范围的步长。

标签块能力选项参数(label block Capabilities Optional Parameter)域的长度为4个字节。

标签块能力选项参数域的结构请参见表4。

表4

块号码(Block Number)域的长度为2个字节。块号码用于指示小的标签范围。小的标签范围的开始标签以及小的标签范围包含的标签的数量是步长的函数。举例来说,当块号码域的值等于1时,块号码域对应的小的标签范围的开始标签的值等于1×步长。小的标签范围中包含的标签的数量等于步长。也就是说,块号码域的值等于1的小的标签范围是<1024,2047>。当块号码域的值等于2时,块号码域对应的小的标签范围的开始标签的值等于2×步长。小的标签范围中包含的标签的数量等于步长。也就是说,块号码域的值等于2的小的标签范围是<2048,3071>。

被占用的标签数量(Occupied Label Count)域的长度为2个字节。被占用的标签数量域的值用于指示在标签范围1内,被分配的标签的数量。标签范围1是大的标签范围与小的标签范围的交集。举例来说,当开始标签的值等于2000,结束标签的值等于3000,块号码域的值等于2,被占用的标签数量域的值等于500时,表明标签范围1是<2000,3000>与<2048,3071>的交集。也就是说,<2048,3000>中有500个标签已被分配给LSP。

需要说明的是,表3中的标签块能力选项参数域可以是一个,也可以是多个。当消息2中包括多个标签块能力选项参数域时,消息2中携带的标签范围1包括多个标签范围。另外,所述多个标签范围分别对应多个被分配的标签的数量。举例来说,开始标签的值等于3050。结束标签的值等于4000。第一个标签块能力选项参数域中块号码域的值等于2,被占用的标签数量域的值等于5。第二个标签块能力选项参数域中块号码域的值等于3,被占用的标签数量域的值等于3。上述方案中,标签范围1包括两个标签范围。第一个标签范围是<3050,4000>与<2048,3071>的交集。也就是说,第一个标签范围是<3050,3071>。第二个标签范围是<3050,4000>与<3071,4095>的交集。也就是说,第二个标签范围是<3071,4000>。也就是说,<3050,3071>中有2个标签已被分配给LSP。<3071,4000>中有3个标签已被分配给LSP。

S203、控制器1向开放流交换机1发送消息3。

响应于消息2,控制器1向开放流交换机1发送消息3。消息3中携带标签范围2。标签范围2是标签范围1的子集。标签范围2不等于标签范围1。消息3用于指示开放流交换机1为开放流交换机1在标签范围2内已分配标签的LSP分配新的标签。新的标签在标签范围2之外。通过上述技术方案,开放流交换机1在标签范围2内已分配标签被开放流交换机1回收。被回收的标签成为未被开放流交换机1分配的标签。因此,控制器1可以将标签范围2中的标签作为候选的全局标签。

举例来说,标签范围1是0至220-1。开放流交换机1在标签范围1内已分配给LSP(LSP1、LSP2以及LSP3)的标签是标签1、标签2以及标签3。标签范围2可以是0至210。开放流交换机1在标签范围2内已分配给LSP(LSP1以及LSP2)的标签是标签1以及标签2。消息3中携带标签范围2(例如0至210)。开放流交换机1收到消息3后,为LSP1和LSP2分配新的标签。例如,为LSP1分配标签4,为LSP2分配标签5。标签4和标签5不能是标签范围2中的标签。例如,标签4和标签5是210+1至220-1中的标签。

可替换的,开放流交换机1向控制器1发送的消息2中携带的标签范围1是子范围1(即0至210)以及子范围2(即210+1至215)的并集。也就是说,标签范围1由子范围1(即0至210)以及子范围2(即210+1至215)组成。此外,消息2中还携带了开放流交换机1在子范围1内已分配给LSP1的标签1,开放流交换机1在子范围1内已分配给LSP2的标签2,以及开放流交换机1在子范围2内已分配给LSP3的标签3。接收到消息2后,控制器1可以根据子范围1、标签1以及标签2确定开放流交换机1在子范围1内已为LSP分配的标签的数量是2。类似地,接收到消息2后,控制器1可以根据子范围2、标签3确定开放流交换机1在子范围1内已为LSP分配的标签的数量是1。控制器1根据消息2生成消息3。消息3可以携带子范围1(例如0至210)。开放流交换机1收到消息3后,为LSP1和LSP2分配新的标签。例如,为LSP1分配标签4,为LSP2分配标签5。标签4和标签5不能是0至210中的标签。例如,标签4和标签5是210+1至216中的标签。可替换的,消息3没有携带子范围1(即0至210),而是携带子范围2(即210+1至215)。开放流交换机1收到消息3后,为LSP3分配新的标签。例如,为LSP3分配标签6。标签6不能是210+1至215中的标签。例如,标签6是215+1至220-1中的标签。

需要说明的是,上文提供了两个可替代方案。第一种方案中,消息3携带子范围1(即0至210)。第二种方案中,消息3携带子范围2(即210+1至215)。也就说,控制器1接收到携带的标签范围1是子范围1(即0至210)以及子范围2(即210+1至215)的消息2后,可以将子范围1(即0至210)确定为标签范围2,也可以将子范围2(即210+1至215)确定为标签范围2。根据上文的论述,控制器1可以根据消息2确定开放流交换机1在子范围1内已为LSP分配的标签的数量是2,开放流交换机1在子范围1内已为LSP分配的标签的数量是1。也就是说,控制器1可以确定开放流交换机1在子范围1内已分配的标签的数量大于开放流交换机1在子范围2内已分配的标签的数量。因此,如果控制器1将子范围2确定为标签范围2,有助于减少开放流交换机1需要回收的标签的数量。进而,有助于减少开放流交换机1需要分配的新的标签的数量。因此,有助于降低开放流交换机1的开销。具体来说,控制器1将子范围1确定为标签范围2,开放流交换机1需要回收的标签的数量为2。开放流交换机1需要分配的新的标签的数量也是2。控制器1将子范围2确定为标签范围2,开放流交换机1需要回收的标签的数量为1。开放流交换机1需要分配的新的标签的数量也是1。

标签范围2可以携带在扩展的开放消息中。举例来说,消息3可以包括表5所示的结构:

表5

开始标签(Start Label)域的长度等于4个字节。开始标签域的值用于指示标签范围2的开始标签。

结束标签(End Label)域的长度等于4个字节。结束标签域的值用于指示标签范围2的结束标签。

因此,开始标签(Start Label)域和结束标签(End Label)域定义了标签范围2。例如,开始标签域的值等于3000。结束标签域的值等于3500。标签范围2等于<3000,3500>。控制器1接收到消息3后可以确定,<3000,3500>内已分配标签已被开放流交换机1回收。

S204、开放流交换机1向控制器1发送消息4。

响应于消息3,开放流交换机1向控制器1发送消息4。消息4用于通知控制器1开放流交换机1已为开放流交换机1在标签范围2内已分配标签的LSP分配了新的标签。也就是说,开放流交换机1作为分配了新的标签的LSP的节点,可以使用所述新的标签对在分配了新的标签的LSP上传输的流量进行转发。因此,开放流交换机1回收了在标签范围2内已分配给LSP的标签。标签范围2成为已回收的标签范围。本申请中的已回收的标签范围是指一种特殊的标签范围。所述特殊的标签范围中的标签曾经被转发装置(例如开放流交换机1)分配给所述转发装置所在的LSP。然后,被分配的标签又被所述转发装置回收。例如,所述转发装置可以通过为所述转发装置所在的LSP分配新的标签的方式实现对被分配的标签的回收。另外,如果所述转发装置所在的LSP已被撤销,所述转发装置也可以实现对被分配的标签的回收。

举例来说,消息4中可以携带标签范围2以及用于表示标签范围2内的标签已被开放流交换机1回收的信息。控制器1接收到消息4后,可以通过解析消息4确定开放流交换机1回收了在标签范围2内的标签。

例如,S201之前,开放流交换机1在0至210内已分配给LSP(LSP1和LSP2)的标签是标签1以及标签2。开放流交换机1在210+1至215内已分配给LSP(LSP3)的标签可以是标签3。开放流交换机1收到消息3。消息3中携带210+1至215。开放流交换机1收到消息3后为开放流交换机1在210+1至215内已分配标签的LSP3分配新的标签。例如,为LSP3分配标签4。标签4是0至210中的标签。因此,开放流交换机1可以根据标签4对在LSP3上传输的流量进行转发。开放流交换机1不再需要使用210+1至215中的标签(例如标签3)对在LSP3上传输的流量进行转发。以上意味着开放流交换机1回收了在210+1至215中的标签(例如标签3)。因此,控制器1可以将210+1至215中的标签(例如标签3)作为候选的全局标签。

举例来说,消息4可以是扩展的开放消息。消息4中可以携带调整结果域。调整结果域的结构可以如表6所示:

表6

调整结果(Adjust Result)域的长度是4个字节。调整结果域用于指示开放流交换机1是否回收已分配的标签。例如,当调整结果域的值等于1时,指示开放流交换机1已回收已分配的标签。当调整结果域的值等于0时,指示开放流交换机1没有回收已分配的标签。

S205、控制器1向开放流交换机1发送消息5。

响应于消息4,控制器1向开放流交换机1发送消息5。消息5携带标签范围2。消息5用于通知开放流交换机1,控制器1已将标签范围2作为候选的全局标签。

标签范围2可以携带在扩展的开放消息中。举例来说,消息5可以包括表7所示的结构:

表7

开始标签(Start Label)域的长度等于4个字节。开始标签域的值用于指示标签范围2的开始标签。

结束标签(End Label)域的长度等于4个字节。结束标签域的值用于指示标签范围2的结束标签。

因此,开始标签(Start Label)域和结束标签(End Label)域定义了标签范围2。例如,开始标签域的值等于3000。结束标签域的值等于3500。标签范围2等于<3000,3500>。开放流交换机1接收到消息5后可以确定,<3000,3500>已被控制器1作为候选的全局标签。开放流交换机1根据消息5确定标签范围2已被控制器1作为候选的全局标签后,开放流交换机1在标签范围2之外为开放流交换机1所在的新的LSP分配标签。

S205以后,控制器1在标签范围2内为开放流交换机1分配全局标签。具体地,控制器1可以向开放流交换机1发送携带所述全局标签的消息。开放流交换机1接收到携带所述全局标签的消息后,将所述全局标签作为所述开放流交换机1的全局标签并生成包含所述全局标签的标签转发表项。当然,控制器1可以向其他开放流交换机发送携带所述全局标签的消息。其他开放流交换机将所述全局标签作为所述其他开放流交换机的全局标签并生成包含所述全局标签的标签转发表项。

图3为本发明实施例提供的一种分配全局标签的方法的流程示意图。所述方法的执行主体为控制器。所述方法可以应用于图1所示的网络结构中,从而实现图2所示信令交互。具体来说,所述控制器可以是图1所示的控制器1。

参见图3,所述方法包括:

S301、控制器接收转发装置发送的第一消息。

所述第一消息中携带第一标签范围。所述第一标签范围包括的多个标签是所述转发装置的标签空间包括的多个标签的子集。标签空间是一个特殊的标签范围。所述转发装置的标签空间是指所述转发装置能够使用的所有标签的集合。所述转发装置的标签空间包括多个标签。所述第一标签范围不等于所述转发装置的标签空间。

举例来说,所述第一标签范围可以是一个连续的标签范围,也可以是多个连续的标签范围。连续的标签范围包括的多个标签是连续的。例如,所述第一标签范围可以是0至22-1。也就是说,所述第一标签范围中的多个标签分别是0、1、2以及3。显然,0、1、2以及3是连续的。另外,所述第一标签范围可以是0至210-1以及215至220-1。显然,0至210-1是连续的标签范围,215至220-1也是连续的标签范围。

具体来说,所述转发装置可以使用标签空间中的标签对接收到的报文进行处理。如果所述转发装置尚未分配标签,则所述标签空间包括尚未被所述转发装置分配的标签。如果所述转发装置已分配标签,但还包括尚未被分配的标签,则所述标签空间包括已被所述转发装置分配的标签以及尚未被所述转发装置分配的标签。例如,所述转发装置是标签交换路径的节点。所述转发装置已为所述标签交换路径分配了标签,并根据分配的标签生成标签转发表项。所述转发装置可以根据所述标签转发表项对在所述标签交换路径上传输的流量进行转发。也就是说,所述转发装置为所述标签交换路径分配标签,使得所述转发装置具备了转发在所述标签交换路径上传输的流量的能力。

需要说明的是,实施例中涉及的转发装置分配标签是指,所述转发装置为所述转发装置所在的标签交换路径分配标签。所述转发装置是标签交换路径的节点。

参见图1和图2,所述控制器可以是控制器1。所述转发装置可以是开放流交换机1。

S302、所述控制器根据所述第一消息中携带的所述第一标签范围为所述转发装置分配全局标签。

所述全局标签是所述第一标签范围中的标签。所述全局标签可以是一个标签也可以是多个标签。

举例来说,所述全局标签可以是所述第一标签范围中的可用的标签。所述第一标签范围中的可用的标签是指,所述第一标签范围包括的多个标签中尚未被所述转发装置分配的标签。具体可以是,从来没有被所述转发装置分配的标签。也可以是被所述转发装置回收的标签。被所述转发装置回收的标签是指,曾经被所述转发装置分配,但是被所述转发装置分配后,被所述转发装置回收的标签。

举例来说,所述全局标签用于与所述转发装置接收到的报文中的MPLS头中的字段进行匹配,从而确定与所述报文匹配的标签转发表项。所述全局标签是用于执行MPLS涉及的push,pop或者swap操作之外的操作。

具体来说,所述全局标签被用于确定是否所述全局标签与接收到的报文中的MPLS头中的字段匹配。所述全局标签可以用于标识网络或者业务。

需要说明的是,实施例中涉及的全局标签是指多协议标记交换全局标签(MPLS global label)。关于MPLS global label,可以参考因特网工程任务组(Internet Engineering Task Force,IETF)发布的工作组草案draft-li-mpls-global-label-framework-00。实施例中涉及的控制器为转发装置分配全局标签是指,所述控制器指示所述转发装置生成包含所述全局标签的转发表项。从而,所述转发装置可以根据包含所述全局标签的所述转发表项,对标签交换路径上传输的流量进行处理。

图3a为实施例提供的一种分配全局标签的方法的流程示意图。图3a所示的方法是在图3所示的分配全局标签的方法的基础上进行扩展得到的。关于S303、S304、S305、S306以及S307,具体可以参考图3a。

可选地,图3所示的技术方案中,所述第一标签范围包括已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点,S301之后以及S302之前,所述方法还可以包括:

S303、所述控制器向所述转发装置发送第二消息。

所述第二消息包括第二标签范围。所述第二标签范围包括多个标签。所述第二标签范围是所述第一标签范围的子集。所述第二消息用于指示所述转发装置为第二标签交换路径分配新的标签。所述新的标签用于替换已被所述转发装置分配给所述第二标签交换路径的标签。所述新的标签在所述第二标签范围之外。所述第二标签交换路径是所述第一标签交换路径的子集。所述已被所述转发装置分配给所述第二标签交换路径的标签是所述第二标签范围的子集。所述全局标签可以是所述第二标签范围包括的多个标签中的标签。S302具体可以包括,所述控制器根据所述第二标签范围为所述转发装置分配所述全局标签,所述全局标签是所述第二标签范围中的标签。可以理解,所述转发装置分配给所述第一标签交换路径的标签与所述第二标签范围包括的多个标签的交集等于已被所述转发装置分配给所述第二标签交换路径的标签。

所述新的标签在所述第二标签范围之外是指所述新的标签与所述第二标签范围包括的多个标签之间没有交集。如果没有相反的说明,申请文件中的标签范围包含至少一个标签。标签范围A是标签范围B的子集是指标签范围A包含的全部标签存在于标签范围B包含的全部标签中。标签C是标签范围D的子集是指标签C存在于标签范围D包含的全部标签中。

举例来说,所述第一标签范围可以是0至210-1。在0至210-1内已被所述转发装置分配给所述第一标签交换路径的标签的数量可以是5。所述第一标签交换路径可以是LSP1、LSP2、LSP3、LSP4以及LSP5。所述转发装置是LSP1至LSP5上的节点。所述第二标签范围可以是25-1至26-1。在25-1至26-1内已被所述转发装置分配给所述第二标签交换路径的标签的数量可以是3。所述第二标签交换路径可以是LSP1、LSP2以及LSP3。已被所述转发装置分配给LSP1、LSP2以及LSP3的标签的值分别是25、25+1以及25+2。所述转发装置接收到所述第二标签后,为LSP1、LSP2以及LSP3分配的标签的值分别是26、26+1以及26+2。标签的值为26、26+1以及26+2的标签分别用于替代标签的值为25、25+1以及25+2的标签。因此,标签被替代后,LSP1、LSP2以及LSP3分别对应的标签的值为26、26+1以及26+2。所述转发装置不再需要使用标签的值为25的标签对LSP1上传输的流量进行处理。标签的值为25、25+1以及25+2的标签被所述转发装置回收。举例来说,所述第一标签范围可以是0至210-1以及215至220-1。在0至210-1内被所述转发装置分配给LSP1、LSP2以及LSP3的标签分别是标签1、标签2以及标签3。在215至220-1内被所述转发装置分配给LSP4以及LSP5的标签分别是标签4以及标签5。所述第一标签交换路径包括LSP1、LSP2、LSP3、LSP4以及LSP5。所述第一消息携带0至210-1、215至220-1、3以及2。其中,3表示在0至210-1内被所述转发装置分配的标签的数量。2表示在215至220-1内被所述转发装置分配的标签的数量。当然,所述第一消息可以携带0至210-1、215至220-1、标签1、标签2、标签3、标签4以及标签5。其中,0至210-1与标签1至3对应,215至220-1与标签4至5对应。所述转发装置接收到所述第二消息后,可以确定0至210-1内被所述转发装置分配的标签的数量等于3,215至220-1内被所述转发装置分配的标签的数量等于2。进而,所述转发装置确定所述第二标签范围等于215至220-1。所述转发装置根据所述第二消息的指示,为LSP4以及LSP5分配新的标签。具体来说,为LSP4分配的新的标签的值等于5,为LSP5分配的新的标签的值等于6。因此,所述转发装置可以使用值为5的标签对LSP4上传输的流量进行处理。所述转发装置可以使用值为6的标签对LSP5上传输的流量进行处理。所述转发装置不再使用标签4对LSP4上传输的流量进行处理。所述转发装置不再使用标签5对LSP5上传输的流量进行处理。因此,标签4和标签5被所述转发装置回收。

实施例中涉及的新的标签替换转发装置已分配给标签交换路径的标签是指,所述转发装置包含与所述标签交换路径对应的标签转发表项。所述标签转发表项的匹配域包括所述转发装置已分配给所述标签交换路径的标签。所述转发装置需要使用所述新的标签替换所述标签转发表项的匹配域包括的标签。也就是说,替换后的标签转发表项的匹配域中不再包含转发装置已分配给标签交换路径的标签。

可以对现有的标签通告协议进行扩展。举例来说,标签通告协议可以是标签分发协议(label distribution protocol,LDP)或基于流量工程的资源预留协议(resource reservation protocol-traffic engineering,RSVP-TE)或边界网关协议(border gateway protocol,BGP)。现有的标签通告协议可以支持为标签交换路径分配标签。扩展后的标签通告协议可以识别携带所述第二标签范围的所述第二消息。扩展后的标签通告协议不仅可以支持为标签交换路径分配标签,还可以支持为已分配标签的标签交换路径分配新的标签。所述新的标签用于替换已分配的标签。

可选地,上述技术方案中,S303之后以及S302之前,所述方法还可以包括:

S304、所述控制器接收所述转发装置发送的第三消息。

所述第三消息用于通知所述控制器所述转发装置已为所述第二标签交换路径分配了所述新的标签。

举例来说,所述第三消息可以携带所述第二标签范围。

可以看出,所述转发装置已为所述第二标签交换路径分配了所述新的标签,并且用所述新的标签替代所述转发装置分配给所述第二标签交换路径的标签。因此,所述转发装置回收了所述转发装置分配给所述第二标签交换路径的标签。因此,所述控制器接收到所述第三消息后,可以确定所述转发装置回收了所述转发装置分配给所述第二标签交换路径的标签。所述转发装置回收标签后,所述控制器在第二标签范围内为所述转发装置分配所述全局标签。所述控制器分配的全局标签不会与所述第二标签交换路径使用的标签发生冲突,有助于提高作为已经存在的标签交换路径的节点的所述转发装置的可靠性。

可选地,上述技术方案中,S304之后以及S302之前,所述方法还可以包括:

S305、所述控制器向所述转发装置发送第四消息。

所述第四消息包括所述第二标签范围。所述第四消息用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

举例来说,所述第四消息中可以携带所述第二标签范围。

所述转发装置接收到包含所述第二标签范围的所述第四消息后,如果所述转发装置需要为作为新的标签交换路径的节点,所述转发装置为所述新的标签交换路径分配标签时,不使用所述第二标签范围中的标签。因此,上述技术方案有助于减少所述转发装置为所述新的标签交换路径分配标签与所述控制器为所述转发装置分配的所述全局标签发生冲突。因此,上述方案有助于提高作为新的标签交换路径的节点的所述转发装置的可靠性。

可选地,上述技术方案中,所述第二消息还用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

可选地,上述技术方案中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签,或者,所述第一消息中还携带第一子范围的标识、第二子范围的标识、第一标签的数量以及第二标签的数量,所述第一标签范围包括所述第一子范围以及所述第二子范围,在所述第一子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第一标签,在所述第二子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第二标签,所述第一标签的数量小于所述第二标签的数量。S301之后以及S303之前,所述方法还可以包括:

S306、所述控制器确定所述第一子范围是所述第二标签范围。

具体来说,S306可以包括:

所述控制器根据所述第一消息中携带的在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签确定所述第一标签的数量小于所述第二标签的数量,或者所述控制器根据所述第一消息中携带的所述第一标签的数量以及所述第二标签的数量确定所述第一标签的数量小于所述第二标签的数量。所述控制器基于所述第一标签的数量小于所述第二标签的数量确定所述第一子范围是所述第二标签范围。

可选地,上述技术方案中,S301之前,所述方法还可以包括:

S307、所述控制器向所述转发装置发送第五消息。

所述第五消息用于指示所述转发装置向所述控制器发送所述转发装置的标签空间。所述第五消息还用于指示所述转发装置向所述控制器发送已被所述转发装置分配的标签或者所述已被所述转发装置分配的标签的数量。

可选地,上述技术方案中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点。

S302可以包括:所述控制器根据所述第一标签范围以及已被所述转发装置分配给所述第一标签交换路径的标签为所述转发装置分配所述全局标签,所述全局标签与已被所述转发装置分配给所述第一标签交换路径的标签的没有交集。

图4为实施例提供的一种控制器的结构示意图。控制器400具体为用于分配全局标签的装置。控制器400可以用于执行图3所示的方法。控制器400可以应用于图1所示的网络结构中,从而实现图2所示信令交互。具体来说,控制器400可以是图1所示的控制器1。

参见图4,控制器400包括:第一接收单元401以及分配单元402。

第一接收单元401用于接收转发装置发送的第一消息。

所述第一消息中携带第一标签范围。所述第一标签范围包括的多个标签是所述转发装置的标签空间包括的多个标签的子集。标签空间是一个特殊的标签范围。所述转发装置的标签空间是指所述转发装置能够使用的所有标签的集合。所述转发装置的标签空间包括多个标签。所述第一标签范围不等于所述转发装置的标签空间。

举例来说,所述第一标签范围可以是一个连续的标签范围,也可以是多个连续的标签范围。连续的标签范围包括的多个标签是连续的。例如,所述第一标签范围可以是0至22-1。也就是说,所述第一标签范围中的多个标签分别是0、1、2以及3。显然,0、1、2以及3是连续的。另外,所述第一标签范围可以是0至210-1以及215至220-1。显然,0至210-1是连续的标签范围,215至220-1也是连续的标签范围。

具体来说,所述转发装置可以使用标签空间中的标签对接收到的报文进行处理。如果所述转发装置尚未分配标签,则所述标签空间包括尚未被所述转发装置分配的标签。如果所述转发装置已分配标签,但还包括尚未被分配的标签,则所述标签空间包括已被所述转发装置分配的标签以及尚未被所述转发装置分配的标签。例如,所述转发装置是标签交换路径的节点。所述转发装置已为所述标签交换路径分配了标签,并根据分配的标签生成标签转发表项。所述转发装置可以根据所述标签转发表项对在所述标签交换路径上传输的流量进行转发。也就是说,所述转发装置为所述标签交换路径分配标签,使得所述转发装置具备了转发在所述标签交换路径上传输的流量的能力。

需要说明的是,实施例中涉及的转发装置分配标签是指,所述转发装置为所述转发装置所在的标签交换路径分配标签。所述转发装置是标签交换路径的节点。

参见图1和图2,控制器400可以是控制器1。所述转发装置可以是开放流交换机1。

分配单元402用于根据第一接收单元401接收的所述第一消息中携带的所述第一标签范围为所述转发装置分配全局标签。

所述全局标签是所述第一标签范围中的标签。所述全局标签可以是一个标签也可以是多个标签。

举例来说,所述全局标签可以是所述第一标签范围中的可用的标签。所述第一标签范围中的可用的标签是指,所述第一标签范围包括的多个标签中尚未被所述转发装置分配的标签。具体可以是,从来没有被所述转发装置分配的标签。也可以是被所述转发装置回收的标签。被所述转发装置回收的标签是指,曾经被所述转发装置分配,但是被所述转发装置分配后,被所述转发装置回收的标签。

举例来说,所述全局标签用于与所述转发装置接收到的报文中的MPLS头中的字段进行匹配,从而确定与所述报文匹配的标签转发表项。所述全局标签是用于执行MPLS涉及的push,pop或者swap操作之外的操作。

具体来说,所述全局标签被用于确定是否所述全局标签与接收到的报文中的MPLS头中的字段匹配。所述全局标签可以用于标识网络或者业务。

需要说明的是,实施例中涉及的控制器为转发装置分配全局标签是指,所述控制器指示所述转发装置生成包含所述全局标签的转发表项。从而,所述转发装置可以根据包含所述全局标签的所述转发表项,对标签交换路径上传输的流量进行处理。

图5为实施例提供的一种控制器的结构示意图。图5的控制器400是在图4所示的控制器400的基础上进行扩展得到的。关于第一发送单元403、第二接收单元404、第二发送单元405、确定单元406以及第三发送单元407,具体可以参考图5。

可选地,图4所示的技术方案中,所述第一标签范围包括已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点。控制器400还可以包括第一发送单元403。

第一发送单元403用于在第一接收单元401接收所述第一消息之后,以及在分配单元402为所述转发装置分配所述全局标签之前,向所述转发装置发送第二消息。

所述第二消息包括第二标签范围。所述第二标签范围包括多个标签。所述第二标签范围是所述第一标签范围的子集。所述第二消息用于指示所述转发装置为第二标签交换路径分配新的标签。所述新的标签用于替换已被所述转发装置分配给所述第二标签交换路径的标签。所述新的标签在所述第二标签范围之外。所述第二标签交换路径是所述第一标签交换路径的子集。所述已被所述转发装置分配给所述第二标签交换路径的标签是所述第二标签范围的子集。所述全局标签可以是所述第二标签范围包括的多个标签中的标签。分配单元402可以具体用于所述控制器根据所述第二标签范围为所述转发装置分配所述全局标签,所述全局标签是所述第二标签范围中的标签。可以理解,所述转发装置分配给所述第一标签交换路径的标签与所述第二标签范围包括的多个标签的交集等于已被所述转发装置分配给所述第二标签交换路径的标签。

所述新的标签在所述第二标签范围之外是指所述新的标签与所述第二标签范围包括的多个标签之间没有交集。

举例来说,所述第一标签范围可以是0至210-1。在0至210-1内已被所述转发装置分配给所述第一标签交换路径的标签的数量可以是5。所述第一标签交换路径可以是LSP1、LSP2、LSP3、LSP4以及LSP5。所述转发装置是LSP1至LSP5上的节点。所述第二标签范围可以是25-1至26-1。在25-1至26-1内已被所述转发装置分配给所述第二标签交换路径的标签的数量可以是3。所述第二标签交换路径可以是LSP1、LSP2以及LSP3。已被所述转发装置分配给LSP1、LSP2以及LSP3的标签的值分别是25、25+1以及25+2。所述转发装置接收到所述第二标签后,为LSP1、LSP2以及LSP3分配的标签的值分别是26、26+1以及26+2。标签的值为26、26+1以及26+2的标签分别用于替代标签的值为25、25+1以及25+2的标签。因此,标签被替代后,LSP1、LSP2以及LSP3分别对应的标签的值为26、26+1以及26+2。所述转发装置不再需要使用标签的值为25的标签对LSP1上传输的流量进行处理。标签的值为25、25+1以及25+2的标签被所述转发装置回收。举例来说,所述第一标签范围可以是0至210-1以及215至220-1。在0至210-1内被所述转发装置分配给LSP1、LSP2以及LSP3的标签分别是标签1、标签2以及标签3。在215至220-1内被所述转发装置分配给LSP4以及LSP5的标签分别是标签4以及标签5。所述第一标签交换路径包括LSP1、LSP2、LSP3、LSP4以及LSP5。所述第一消息携带0至210-1、215至220-1、3以及2。其中,3表示在0至210-1内被所述转发装置分配的标签的数量。2表示在215至220-1内被所述转发装置分配的标签的数量。当然,所述第一消息可以携带0至210-1、215至220-1、标签1、标签2、标签3、标签4以及标签5。其中,0至210-1与标签1至3对应,215至220-1与标签4至5对应。所述转发装置接收到所述第二消息后,可以确定0至210-1内被所述转发装置分配的标签的数量等于3,215至220-1内被所述转发装置分配的标签的数量等于2。进而,所述转发装置确定所述第二标签范围等于215至220-1。所述转发装置根据所述第二消息的指示,为LSP4以及LSP5分配新的标签。具体来说,为LSP4分配的新的标签的值等于5,为LSP5分配的新的标签的值等于6。因此,所述转发装置可以使用值为5的标签对LSP4上传输的流量进行处理。所述转发装置可以使用值为6的标签对LSP5上传输的流量进行处理。所述转发装置不再使用标签4对LSP4上传输的流量进行处理。所述转发装置不再使用标签5对LSP5上传输的流量进行处理。因此,标签4和标签5被所述转发装置回收。

实施例中涉及的新的标签替换转发装置已分配给标签交换路径的标签是指,所述转发装置包含与所述标签交换路径对应的标签转发表项。所述标签转发表项的匹配域包括所述转发装置已分配给所述标签交换路径的标签。所述转发装置需要使用所述新的标签替换所述标签转发表项的匹配域包括的标签。也就是说,替换后的标签转发表项的匹配域中不再包含转发装置已分配给标签交换路径的标签。

可以对现有的标签通告协议进行扩展。举例来说,标签通告协议可以是LDP或RSVP-TE或BGP。现有的标签通告协议可以支持为标签交换路径分配标签。扩展后的标签通告协议可以识别携带所述第二标签范围的所述第二消息。扩展后的标签通告协议不仅可以支持为标签交换路径分配标签,还可以支持为已分配标签的标签交换路径分配新的标签。所述新的标签用于替换已分配的标签。

可选地,上述技术方案中,控制器400还可以包括第二接收单元404。

第二接收单元404用于在第一发送单元403向所述转发装置发送所述第二消息之后,以及在分配单元402为所述转发装置分配所述全局标签之前,接收所述转发装置发送的第三消息。

所述第三消息用于通知控制器400所述转发装置已为所述第二标签交换路径分配了所述新的标签。

举例来说,所述第三消息可以携带所述第二标签范围。

可以看出,所述转发装置已为所述第二标签交换路径分配了所述新的标签,并且用所述新的标签替代所述转发装置分配给所述第二标签交换路径的标签。因此,所述转发装置回收了所述转发装置分配给所述第二标签交换路径的标签。因此,控制器400接收到所述第三消息后,可以确定所述转发装置回收了所述转发装置分配给所述第二标签交换路径的标签。所述转发装置回收标签后,控制器400在第二标签范围内为所述转发装置分配所述全局标签。控制器400分配的全局标签不会与所述第二标签交换路径使用的标签发生冲突,有助于提高作为已经存在的标签交换路径的节点的所述转发装置的可靠性。

可选地,上述技术方案中,控制器400还可以包括第二发送单元405。

第二发送单元405用于在第二接收单元404接收所述转发装置发送的所述第三消息之后,以及在分配单元402为所述转发装置分配所述全局标签之前,向所述转发装置发送第四消息。

所述第四消息包括所述第二标签范围。所述第四消息用于通知所述转发装置,控制器400已将所述第二标签范围作为候选的全局标签。

举例来说,所述第四消息中可以携带所述第二标签范围。

所述转发装置接收到包含所述第二标签范围的所述第四消息后,如果所述转发装置需要为作为新的标签交换路径的节点,所述转发装置为所述新的标签交换路径分配标签时,不使用所述第二标签范围中的标签。因此,上述技术方案有助于减少所述转发装置为所述新的标签交换路径分配标签与所述控制器为所述转发装置分配的所述全局标签发生冲突。因此,上述方案有助于提高作为新的标签交换路径的节点的所述转发装置的可靠性。

可选地,上述技术方案中,所述第二消息还用于通知所述转发装置,控制器400已将所述第二标签范围作为候选的全局标签。

可选地,上述技术方案中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签,或者,所述第一消息中还携带第一子范围的标识、第二子范围的标识、第一标签的数量以及第二标签的数量,所述第一标签范围包括所述第一子范围以及所述第二子范围,在所述第一子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第一标签,在所述第二子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第二标签,所述第一标签的数量小于所述第二标签的数量。控制器400还可以包括确定单元406。

确定单元406用于在第一接收单元401接收所述转发装置发送的所述第一消息之后,以及在第一发送单元403向所述转发装置发送所述第二消息之前,确定所述第一子范围是所述第二标签范围。

举例来说,确定单元406根据所述第一消息中携带的所述第一标签范围确定所述第二标签范围。

具体来说,确定单元406可以用于:根据所述第一消息中携带的在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签确定所述第一标签的数量小于所述第二标签的数量,或者根据所述第一消息中携带的所述第一标签的数量以及所述第二标签的数量确定所述第一标签的数量小于所述第二标签的数量。基于所述第一标签的数量小于所述第二标签的数量确定所述第一子范围是所述第二标签范围。

可选地,上述技术方案中,控制器400还可以包括第三发送单元407。

第三发送单元407用于在第一接收单元401接收所述转发装置发送的所述第一消息之前,向所述转发装置发送第五消息。

所述第五消息用于指示所述转发装置向控制器400发送所述转发装置的标签空间。所述第五消息还用于指示所述转发装置向所述控制器发送已被所述转发装置分配的标签或者所述已被所述转发装置分配的标签的数量。

可选地,上述技术方案中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点。

分配单元402可以用于:根据所述第一标签范围以及已被所述转发装置分配给所述第一标签交换路径的标签为所述转发装置分配所述全局标签,所述全局标签与已被所述转发装置分配给所述第一标签交换路径的标签的没有交集。

图6为实施例提供的一种控制器的结构示意图。参见图6,控制器600包括发送器601,接收器602,处理器603以及存储器604。处理器603分别与发送器601,接收器602以及存储器604耦合。存储器604中存储计算机程序。处理器603可以通过访问所述计算机程序执行本实施例中的处理。举例来说,控制器600可以用于实现图4或者图5所示的控制器。控制器600可用于执行图3所示的方法。

接收器602用于接收转发装置发送的第一消息。

举例来说,接收器602可以用于实现第一接收单元401。关于所述第一消息,请参见图4对应的实施例的描述,此处不再赘述。

处理器603用于根据接收器602接收的所述第一消息中携带的第一标签范围为所述转发装置分配全局标签。

举例来说,处理器603可以用于执行分配单元402的处理。关于所述转发装置以及所述全局标签,请参见图4对应的实施例的描述,此处不再赘述。

发送器601用于在接收器602接收所述第一消息之后,以及在处理器603为所述转发装置分配所述全局标签之前,向所述转发装置发送第二消息。

举例来说,发送器601可以用于实现第一发送单元403。关于所述第二消息,请参见图5对应的实施例的描述,此处不再赘述。

可选地,接收器602还可以用于在发送器601向所述转发装置发送所述第二消息之后,以及在处理器603为所述转发装置分配所述全局标签之前,接收所述转发装置发送的第三消息。

举例来说,接收器602可以用于实现第二接收单元404。关于所述第三消息,请参见图5对应的实施例的描述,此处不再赘述。

可选地,发送器601还可以用于在接收器602接收所述转发装置发送的所述第三消息之后,以及在处理器603为所述转发装置分配所述全局标签之前,向所述转发装置发送第四消息。

举例来说,发送器601可以用于实现第二发送单元405。关于所述第四消息,请参见图5对应的实施例的描述,此处不再赘述。

可选地,上述技术方案中,所述第二消息还用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

可选地,上述技术方案中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签,或者,所述第一消息中还携带第一子范围的标识、第二子范围的标识、第一标签的数量以及第二标签的数量,所述第一标签范围包括所述第一子范围以及所述第二子范围,在所述第一子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第一标签,在所述第二子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第二标签,所述第一标签的数量小于所述第二标签的数量。处理器603还可以用于在接收器602接收所述转发装置发送的所述第一消息之后,以及在发送器601向所述转发装置发送所述第二消息之前,确定所述第一子范围是所述第二标签范围。

具体来说,处理器603可以用于:根据所述第一消息中携带的在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签确定所述第一标签的数量小于所述第二标签的数量,或者根据所述第一消息中携带的所述第一标签的数量以及所述第二标签的数量确定所述第一标签的数量小于所述第二标签的数量。基于所述第一标签的数量小于所述第二标签的数量确定所述第一子范围是所述第二标签范围。

可选地,发送器601还可以用于在接收器602接收所述转发装置发送的所述第一消息之前,向所述转发装置发送第五消息。

举例来说,发送器601可以用于实现第三发送单元407。关于所述第五消息,请参见图5对应的实施例的描述,此处不再赘述。

图7为本发明实施例提供的一种获取全局标签的方法的流程示意图。所述方法的执行主体为转发装置。所述方法可以应用于图1所示的网络结构中,从而实现图2所示信令交互。具体来说,所述控制器可以是图1所示的开放流交换机1。

参见图7,所述方法包括:

S701、转发装置向控制器发送第一消息。

所述第一消息中携带第一标签范围。所述第一标签范围包括的多个标签是所述转发装置的标签空间包括的多个标签的子集。标签空间是一个特殊的标签范围。所述转发装置的标签空间是指所述转发装置能够使用的所有标签的集合。所述转发装置的标签空间包括多个标签。所述第一标签范围不等于所述转发装置的标签空间。

关于S701的具体实现,可以参见图3对应的实施例对S301的描述。此处不再赘述。

S702、所述转发装置获取所述控制器根据所述第一消息中携带的所述第一标签范围为所述转发装置分配的全局标签。

所述全局标签是所述第一标签范围中的标签。所述全局标签可以是一个标签也可以是多个标签。

举例来说,所述全局标签可以是所述第一标签范围中的可用的标签。所述第一标签范围中的可用的标签是指,所述第一标签范围包括的多个标签中尚未被所述转发装置分配的标签。具体可以是,从来没有被所述转发装置分配的标签。也可以是被所述转发装置回收的标签。被所述转发装置回收的标签是指,曾经被所述转发装置分配,但是被所述转发装置分配后,被所述转发装置回收的标签。

举例来说,所述控制器分配所述全局标签后,可以向所述转发装置发送携带所述全局标签的消息。所述转发装置接收到所述消息后,可以从所述消息获取所述全局标签。关于S702的具体实现,可以参见图3对应的实施例对S302的描述。此处不再赘述。

图8为实施例提供的一种获取全局标签的方法的流程示意图。图8所示的方法是在图7所示的方法的基础上进行扩展得到的。扩展后的方法还可以包括S703、S704、S705以及S706。关于S703、S704、S705以及S706,具体可以参考图8。

可选地,图7所示的技术方案中,所述第一标签范围包括已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点。S701之后,以及S702之前,所述方法还可以包括:

S703、所述转发装置接收所述控制器发送第二消息。

所述第二消息包括第二标签范围。所述第二标签范围包括多个标签。所述第二标签范围是所述第一标签范围的子集。所述第二消息用于指示所述转发装置为第二标签交换路径分配新的标签。所述新的标签用于替换已被所述转发装置分配给所述第二标签交换路径的标签。所述新的标签在所述第二标签范围之外。所述第二标签交换路径是所述第一标签交换路径的子集。所述已被所述转发装置分配给所述第二标签交换路径的标签是所述第二标签范围的子集。所述第二标签范围被所述控制器用于为所述转发装置分配所述全局标签。所述全局标签可以是所述第二标签范围中的标签。

举例来说,S702涉及的全局标签通过如下方式确定:所述控制器根据所述第二标签范围为所述转发装置分配所述全局标签。可以理解,所述转发装置分配给所述第一标签交换路径的标签与所述第二标签范围包括的多个标签的交集等于已被所述转发装置分配给所述第二标签交换路径的标签。

所述新的标签在所述第二标签范围之外是指所述新的标签与所述第二标签范围包括的多个标签之间没有交集。

关于S703的具体实现,可以参见图3a对应的实施例对S303的描述。此处不再赘述。

可选地,上述技术方案中,S703之后,以及S702之前,所述方法还包括:

S704、所述转发装置向所述控制器发送第三消息。

所述第三消息用于通知所述控制器所述转发装置已为所述第二标签交换路径分配了所述新的标签。

关于S704的具体实现,可以参见图3a对应的实施例对S304的描述。此处不再赘述。

可选地,上述技术方案中,S704之后,以及S702之前,所述方法还可以包括:

S705、所述转发装置接收所述控制器发送的第四消息。

所述第四消息包括所述第二标签范围。所述第四消息用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

关于S705的具体实现,可以参见图3a对应的实施例对S305的描述。此处不再赘述。

可选地,上述技术方案中,所述第二消息还用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

可选地,上述技术方案中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签,或者,所述第一消息中还携带第一子范围的标识、第二子范围的标识、第一标签的数量以及第二标签的数量,所述第一标签范围包括所述第一子范围以及所述第二子范围,在所述第一子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第一标签,在所述第二子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第二标签,所述第一标签的数量小于所述第二标签的数量。S701之后以及S703之前,所述控制器确定所述第一子范围是所述第二标签范围。具体来说,所述控制器根据所述第一消息中携带的在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签确定所述第一标签的数量小于所述第二标签的数量,或者所述控制器根据所述第一消息中携带的所述第一标签的数量以及所述第二标签的数量确定所述第一标签的数量小于所述第二标签的数量。所述控制器基于所述第一标签的数量小于所述第二标签的数量确定所述第一子范围是所述第二标签范围。

可选地,上述技术方案中,S701之前,所述方法还包括:

S706、所述转发装置接收所述控制器发送的第五消息。

所述第五消息用于指示所述转发装置向所述控制器发送所述转发装置的标签空间。所述第五消息还用于指示所述转发装置向所述控制器发送已被所述转发装置分配的标签或者所述已被所述转发装置分配的标签的数量。

关于S706的具体实现,可以参见图3a对应的实施例对S307的描述。此处不再赘述。

图9为实施例提供的一种转发装置的结构示意图。所述转发装置具体为用于获取全局标签的装置。所述转发装置可以用于执行图6所示的方法。所述控制器可以应用于图1所示的网络结构中,从而实现图2所示信令交互。具体来说,所述控制器可以是图1所示的开放流交换机1。

参见图9,转发装置900具体包括:

第一发送单元901,用于向控制器发送第一消息。

所述第一消息中携带第一标签范围。所述第一标签范围包括的多个标签是所述转发装置的标签空间包括的多个标签的子集。标签空间是一个特殊的标签范围。所述转发装置的标签空间是指所述转发装置能够使用的所有标签的集合。所述转发装置的标签空间包括多个标签。所述第一标签范围不等于所述转发装置的标签空间。

举例来说,第一发送单元901可以用于执行S701的步骤。关于所述控制器以及所述第一消息,具体请参见图7对应的实施例的描述,此处不再赘述。

获取单元902,用于获取所述控制器根据所述第一消息中携带的所述第一标签范围为所述转发装置分配的全局标签。

所述全局标签是所述第一标签范围中的标签。所述全局标签可以是一个标签也可以是多个标签。

举例来说,所述全局标签可以是所述第一标签范围中的可用的标签。所述第一标签范围中的可用的标签是指,所述第一标签范围包括的多个标签中尚未被所述转发装置分配的标签。具体可以是,从来没有被所述转发装置分配的标签。也可以是被所述转发装置回收的标签。被所述转发装置回收的标签是指,曾经被所述转发装置分配,但是被所述转发装置分配后,被所述转发装置回收的标签。

举例来说,获取单元902可以用于执行S702的步骤。关于所述全局标签,具体请参见图7对应的实施例的描述,此处不再赘述。

图10是实施例提供的一种转发装置的结构示意图。图10所示的转发装置是在图9所示的转发装置的基础上进行扩展得到的。扩展后的转发装置包括第一接收单元903、第二发送单元904、第二接收单元905以及第三接收单元906。关于第一接收单元903、第二发送单元904、第二接收单元905以及第三接收单元906,具体可以参考图10。

可选地,上述技术方案中,所述第一标签范围包括已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点。图9所示的转发装置900还可以包括:

第一接收单元903,用于在第一发送单元901发送所述第一消息之后,以及在获取单元902获取所述全局标签之前接收所述控制器发送第二消息。

所述第二消息包括第二标签范围。所述第二标签范围包括多个标签。所述第二标签范围是所述第一标签范围的子集。所述第二消息用于指示所述转发装置为第二标签交换路径分配新的标签。所述新的标签用于替换已被所述转发装置分配给所述第二标签交换路径的标签。所述新的标签在所述第二标签范围之外。所述第二标签交换路径是所述第一标签交换路径的子集。所述已被所述转发装置分配给所述第二标签交换路径的标签是所述第二标签范围的子集。所述第二标签范围被所述控制器用于为所述转发装置分配所述全局标签。所述全局标签可以是所述第二标签范围中的标签。

可以理解,所述转发装置分配给所述第一标签交换路径的标签与所述第二标签范围包括的多个标签的交集等于已被所述转发装置分配给所述第二标签交换路径的标签。

所述新的标签在所述第二标签范围之外是指所述新的标签与所述第二标签范围包括的多个标签之间没有交集。

举例来说,第一接收单元903可以用于执行S703的步骤。关于所述第二消息,具体请参见图7对应的实施例的描述,此处不再赘述。

可选地,上述技术方案中,转发装置900还可以包括:

第二发送单元904,用于在第一接收单元903接收所述第二消息之后,以及在所述获取单元902获取所述全局标签之前,向所述控制器发送第三消息。

所述第三消息用于通知所述控制器所述转发装置已为所述第二标签交换路径分配了所述新的标签。

举例来说,第二发送单元904可以用于执行S704的步骤。关于所述第三消息,具体请参见图7对应的实施例的描述,此处不再赘述。

可选地,上述技术方案中,转发装置900还可以包括:

第二接收单元905,用于在所述第二发送单元向所述控制器发送所述第三消息之后,以及所述获取单元获取所述全局标签之前,接收所述控制器发送的第四消息。

所述第四消息包括所述第二标签范围。所述第四消息用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

举例来说,第二接收单元905可以用于执行S705的步骤。关于所述第四消息,具体请参见图7对应的实施例的描述,此处不再赘述。

可选地,上述技术方案中,所述第二消息还用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

可选地,上述技术方案中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签,或者,所述第一消息中还携带第一子范围的标识、第二子范围的标识、第一标签的数量以及第二标签的数量,所述第一标签范围包括所述第一子范围以及所述第二子范围,在所述第一子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第一标签,在所述第二子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第二标签,所述第一标签的数量小于所述第二标签的数量。S901之后以及S903之前,所述控制器确定所述第一子范围是所述第二标签范围。具体来说,所述控制器根据所述第一消息中携带的在所述第一标签范围内已被所述转发装置分配给第一标签交换路径的标签确定所述第一标签的数量小于所述第二标签的数量,或者所述控制器根据所述第一消息中携带的所述第一标签的数量以及所述第二标签的数量确定所述第一标签的数量小于所述第二标签的数量。所述控制器基于所述第一标签的数量小于所述第二标签的数量确定所述第一子范围是所述第二标签范围。

可选地,上述技术方案中,转发装置900还可以包括:

第三接收单元906,用于在所述第一发送单元发送所述第一消息之前,接收所述控制器发送的第五消息。

所述第五消息用于指示所述转发装置向所述控制器发送所述转发装置的标签空间。所述第五消息还用于指示所述转发装置向所述控制器发送已被所述转发装置分配的标签或者所述已被所述转发装置分配的标签的数量。

举例来说,第三接收单元906可以用于执行S706的步骤。关于所述第五消息,具体请参见图7对应的实施例的描述,此处不再赘述。

图11是实施例提供的一种转发装置的结构示意图。参见图11,转发装置1100包括发送器1101,接收器1102,处理器1103以及存储器1104。处理器1103分别与发送器1101,接收器1102以及存储器1104耦合。存储器1104中存储计算机程序。处理器1103可以通过访问所述计算机程序执行本实施例中的处理。举例来说,转发装置1100可以用于实现图9或者图10所示的转发装置。转发装置1100可用于执行图7或者图8所示的方法。

发送器1101,用于向控制器发送第一消息。关于第一消息,请参考图9对应的实施例中的描述。特别是,请参考图9对应的实施例对第一发送单元901的描述。

举例来说,发送器1100可以用于执行S701的步骤。关于所述控制器以及所述第一消息,具体请参见图7对应的实施例的描述,此处不再赘述。

处理器1103,用于获取所述控制器根据所述第一消息中携带的所述第一标签范围为所述转发装置分配的全局标签。

所述全局标签是所述第一标签范围中的标签。所述全局标签可以是一个标签也可以是多个标签。

举例来说,处理器1103可以用于执行S702的步骤。关于所述全局标签,具体请参见图7对应的实施例的描述,此处不再赘述。

可选地,上述技术方案中,所述第一标签范围包括已被所述转发装置分配给第一标签交换路径的标签,所述转发装置是所述第一标签交换路径上的节点。接收器1102可以用于,在发送器1101发送所述第一消息之后,以及在处理器1103获取所述全局标签之前接收所述控制器发送第二消息。

举例来说,接收器1102可以用于执行S703的步骤。关于所述第二消息,具体请参见图7对应的实施例的描述,此处不再赘述。

可选地,发送器1101还可以用于在接收器1102接收所述第二消息之后,以及在处理器1103获取所述全局标签之前,向所述控制器发送第三消息。

举例来说,发送器1101可以用于执行S704的步骤。关于所述第三消息,具体请参见图7对应的实施例的描述,此处不再赘述。

可选地,接收器1102还可以用于,在发送器1101向所述控制器发送所述第三消息之后,以及处理器1103获取所述全局标签之前,接收所述控制器发送的第四消息。

举例来说,接收器1102可以用于执行S705的步骤。关于第四消息,具体请参见图7对应的实施例的描述,此处不再赘述。

可选地,上述技术方案中,所述第二消息还用于通知所述转发装置,所述控制器已将所述第二标签范围作为候选的全局标签。

可选地,上述技术方案中,所述第一消息中还携带在所述第一标签范围内已被所述转发装置分配给所述第一标签交换路径的标签,或者,所述第一消息中还携带第一子范围的标识、第二子范围的标识、第一标签的数量以及第二标签的数量,所述第一标签范围包括所述第一子范围以及所述第二子范围,在所述第一子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第一标签,在所述第二子范围内已被所述转发装置分配给所述第一标签交换路径的标签是所述第二标签,所述第一标签的数量小于所述第二标签的数量。

可选地,接收器1102还可以用于,在发送器1101发送所述第一消息之前,接收所述控制器发送的第五消息。

举例来说,接收器1102可以用于执行S706的步骤。关于所述第五消息,具体请参见图7对应的实施例的描述,此处不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

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

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号