[发明专利]实现MPLS标签高效管理的方法有效
申请号: | 201310042404.2 | 申请日: | 2013-02-04 |
公开(公告)号: | CN103064794A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 高军;张峰 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京捷诚信通专利事务所(普通合伙) 11221 | 代理人: | 魏殿绅;庞炳良 |
地址: | 430074 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 mpls 标签 高效 管理 方法 | ||
技术领域
本发明涉及通信技术领域,具体涉及实现MPLS标签高效管理的方法。
背景技术
多协议标签交换(MPLS)是一种用于快速数据包交换和路由的体系,它提供了一种方式,将IP地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。标签是MPLS的核心,一个MPLS标签由32比特组成,前20比特为标签值,标签值的范围是从0到220-1。标签交换路由器根据标签来转发报文。
如何对数量巨大的标签进行高效(高效的性能和高效的存储)的管理,是MPLS标签管理的重要要求。目前一般的作法有以下两种:
(1)以索引为标签值,这种方法需要为每个标签值分配内存,通过状态位来标记使用或空闲。因此,这种方法虽然可以快速定位到标签值,但内存占用大。
(2)只保存已分配过的标签,这种方法内存占用少,但是当下次分配标签时,需要遍历已分配过的标签,效率低。而且,当保存的标签经过一系列的分配和释放后,已分配的标签和空闲的标签混杂在一起的时候,再采用遍历的方式查找新的空闲标签,性能会很低。
由此可见,现有的MPLS标签管理无法作到高效管理。
发明内容
本发明所要解决的技术问题是解决如何实现MPLS标签高效管理的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种实现MPLS标签高效管理的方法,包括以下步骤:
分配内存块,用于保存标签使用状态的标签位图数据结构,标签位图由多个整型元素构成,每个整型元素具有多个数据位,每个数据位与一个MPLS标签值相对应,MPLS标签值LABEL_VALUE在标签位图中的映射关系为:LABEL_VALUE=INT_OFFSET×B+BIT_OFFSET,其中:B为系统的整型长度,INT_OFFSET为整型元素的偏移值,BIT_OFFSET为整型元素中的数据位偏移值;
初始化标签位图,将每一个数据位设为空闲状态;
分配MPLS标签时,查找到标签位图的空闲数据位,并将该空闲数据位设置为已分配状态;
释放MPLS标签时,根据MPLS标签值LABEL_VALUE计算出INT_OFFSET和BIT_OFFSET,然后根据INT_OFFSET和BIT_OFFSET定位到标签位图的指定数据位,将指定数据位设置为空闲状态。
在上述方法中,查找到标签位图的空闲数据位包括以下步骤:
定位到有空闲数据位的整型元素;
定位到有空闲数据位的整型元素中的空闲数据位。
在上述方法中,利用位运算定位到有空闲数据位的整型元素,方法如下:
自初始整型元素开始,对相应的整型元素执行(BITMAPINT[INT_OFFSET]& 0xFFFFFFFF)!=0xFFFFFFFF运算,如果运算结果为真则表示该整型元素有空闲数据位,如果结果为假,则计算下一个整型元素,直到找到有空闲数据位的整型元素。
在上述方法中,释放MPLS标签时,INT_OFFSET和BIT_OFFSET的计算方法如下:
BIT_OFFSET=LABEL_VALUE%B;
INT_OFFSET=LABEL_VALUE/B;
%为模运算符;
/为除法运算符。
本发明,使用位图数据结构来存储MPLS标签的状态,极大地节省了存储空间,并且实现了MPLS标签的高效分配和释放。
附图说明
图1为本发明中标签位图的示意图。
具体实施方式
本发明提供的实现MPLS标签高效管理的方法,通过标签位图数据结构保存MPLS标签的使用状态,实现了标签的高效存储以及高效分配和释放。下面结合附图对本发明作出详细的说明。
实现MPLS标签高效管理的方法,包括以下步骤:
(1)分配内存块,用于保存标签使用状态的标签位图数据结构,标签位图的数据结构如图1所示,由多个整型元素(行)构成,每个整型元素具有多个数据位,标签位图中的每一个方格代表一位数据位,并与一个MPLS标签值相对应。MPLS标签值LABEL_VALUE在标签位图中的映射关系为:LABEL_VALUE=INT_OFFSET×B+BIT_OFFSET。
其中,B为系统的整型长度,如32位系统,B=32,64位系统,B=64,根据系统的整形长度设定B值,可以提高处理效率,INT_OFFSET为整型元素的偏移值,BIT_OFFSET为整型元素中的数据位偏移值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310042404.2/2.html,转载请声明来源钻瓜专利网。