一种实现虚通路连接快速检索定位的方法

文档序号:7562336阅读:336来源:国知局
专利名称:一种实现虚通路连接快速检索定位的方法
技术领域
本发明涉及ATM交换领域,特别是指一种实现虚通路连接(VCC)快速检索定位的方法。
背景技术
ATM信元的信头包含虚通道标识(VPI)和虚通路标识(VCI),图1为ATM信元结构图,其中VCI为16比特位;在网络节点接口(NNI)中VPI为12比特位,在用户网络接口(UNI)中VPI为8比特位。当有信元需要传送时,ATM交换机根据ATM信元或ATM原语中的VPI和VCI组合出28或24个比特位的VCC索引(VCCI,VCC Index),然后根据VCCI在交换机的VCC表中进行检索,查找该VCCI对应的交换机上所设置的交换和处理策略,以建立VCC连接或进行数据传输,完成后续的操作。
以下以NNI为例进行说明。在建立VCC连接过程中,交换机首先将12比特位的VPI和16比特位的VCI组合成28比特位的VCCI,组合方法为VCCI=VPI×216+VCI,即VPI作为高比特位,VCI作为低比特位;然后根据计算出的VCCI直接在ATM交换机的VCC表中进行查找,定位出该条VCC,建立后续连接。由于在VCC表中检索时,要对28比特位VCCI进行长字符串匹配查找,运算量十分巨大,增加了设备负荷,影响了VCC检索定位速度。另一方面,还可能会造成VCC表过大,要包含228个表项。
目前,加快VCC查找和定位的方法有两种一种是在ATM交换机上外接硬件内容寻址存储设备(CAM,Content Addressed Memory)来实现的。CAM可以根据内容进行快速索引和定位,交换机将VPI和VCI作为入口参数,直接在CAM中进行根据内容的查找,而不是仅按照索引查找。但是CAM的价格一般比较昂贵,会使产品成本大大增加。
另一种加快VCC查找和定位的方法,是根据交换机上VCC表实际的容量大小,相应的限定VPI和VCI的取值范围,即限定其比特位位数,相应的,就可以在设计VCC表的索引时和构造VCCI时均采用较少比特位,而不需要28位,以此来减少检索过程中的运算量,提高检索定位速度。例如,某ATM交换机逻辑支持8K的VCC表,且该交换机有4个端口,则每个端口上最多可以配置2K,即211条VCC。因此,由端口容量限定VPI和VCI的总比特位位数为11位,11位的VCCI=VPI×2N+VCI,其中N为11个比特位中VCI所占的位数。这样组合出11位的VCCI,而不采用28位,也能满足该ATM交换机VCC表的逻辑要求。由于限定了VPI和VCI总比特位位数,因此,可使用组合出的11位的VCCI在VCC表中进行检索,可以减小运算量,实现VCC的快速索引。
但是因为限制了VPI和VCI的总比特位位数,因此VPI和VCI的取值范围被限制,例如上例,若VPI采用4位,则VPI的取值范围限定为0~15(24);VCI采用7位,VCI的取值范围限定为0~127(27)。由于VPI和VCI的取值范围不得不被限制,因此不能灵活配置成为协议要求内、限定的取值范围以外的值,在某些场合,可能无法满足配置的需要。

发明内容
有鉴于此,本发明的主要目的在于提供一种实现虚通路连接(VCC)快速检索定位的方法,在快速定位的同时不限定VPI和VCI取值范围,可以在协议要求内将取值范围灵活配置。
实现本发明,首先确定虚通道标识VPI和虚通路标识VCI比特位取值可变的位数,预先设置VPI和VCI的掩码与参考值,该方法还包括以下步骤A、从接收的ATM信元或ATM原语中提取VPI和VCI;B、将步骤A提取出的VPI、VCI与预先设置的掩码进行比较,得到当前VPI和VCI各自不可变比特位的值,若VPI、VCI不可变比特位的值与各自参考值相同,则执行步骤C,否则退出本流程;C、根据掩码将VPI和VCI可变比特位的值依次提取出来,组合出虚通路连接索引VCCI;D、根据VCCI在VCC表中进行检索,定位出相应的VCC。
其中,所述的预先设置VPI和VCI的掩码进一步包括将VCI掩码作为低比特位,VPI掩码作为高比特位组合为对应VPI和VCI组合的掩码。其中,设置VPI和VCI中取值可变的比特位对应掩码的比特位值为1,掩码的其他比特位值为0。
其中,所述的预先设置VPI和VCI的参考值的方法进一步包括设置VPI和VCI中取值不可变的比特位对应参考值的比特位值为有效值,参考值的其他比特位值为0。其中,设置掩码比特位值为0对应参考值的比特位值为有效值,参考值的其他比特位值为0。
其中,步骤B所述将VPI、VCI与预先设置的掩码进行比较得到当前VPI和VCI各自不可变比特位值的方法为将VPI和VCI与掩码的反值进行相与运算,得到VPI和VCI不可变比特位的值。
其中,步骤B所述将掩码与VPI、VCI进行比较得到当前VPI和VCI各自可不变比特位值的方法为将掩码与VPI、VCI分别转化为字符串,采用字符串比较的方法,将掩码比特位值为0对应的VPI、VCI的比特位值提取出来。
其中,步骤C所述将VPI和VCI可变比特位的值依次提取出来的方法为将VPI和VCI与掩码进行相与运算,得到VPI和VCI可变比特位的值。
其中,步骤C所述将VPI和VCI可变比特位的值依次提取出来的方法为将掩码与VPI、VCI分别转化为字符串,采用字符串比较的方法,将掩码比特位值为1对应的VPI、VCI的比特位值提取出来。
由上述方法可以看出,本发明提供了一种实现VCC快速索引定位的方法,通过本发明,VPI和VCI可以组合出较短的VCCI,使检索运算量较小,同时通过掩码和参考值保证了VPI和VCI配置的灵活性,通过修改VCC掩码与参考值,VPI和VCI可以根据需要,取协议允许的任何值,其取值范围并未受到限制。另一方面,本发明不需要采用价格相对昂贵的CAM,不会增加产品的成本。


图1为ATM信元结构示意图。
图2为本发明实现VCC定位的流程图。
图3为使用掩码、参考值构造VCCI的示意图。
具体实施例方式
与背景技术中所述的第二种加快VCC查找和定位的原理相同,由于交换机上VCC表的实际容量远远小于228大小,在配置VCC表时,索引可采用较少比特位。本发明为了保证VPI和VCI的取值可以任意设置,VPI和VCI仍采用原有全部的比特位位数。但由于VPI和VCI实际不需要全部的比特位位数就足够用了,因此这里通过设置掩码来屏蔽掉VPI和VCI在实际使用中多余的比特位,即取值不可变的比特位,仅提取出取值可变的比特位,通过这些取值可变的比特位,组合出较少比特位的VCCI;同时设置参考值来作为基准比较值,使VPI和VCI的取值可以设置在任意范围内。以下以NNI接口的ATM信元为例进行说明。
NNI接口的VPI和VCI共包括28个比特位。若当前ATM交换机接口可配置VCC表的大小为2P(P<28),则采用P个比特位作为VCC表的索引进行配置。相应的设定VPI和VCI的28个比特位中P个比特位的值为可变,另(28-P)个比特位的值为固定不可变,这样VPI和VCI的取值组合数是2P个,满足该VCC表的逻辑要求。
VPI和VCI的掩码可以分别进行配置,也可以设置一个对应VPI和VCI组合的掩码。方便起见,以下将对应VPI和VCI组合的掩码称为VCC掩码并以其为例做进一步说明;相应的,对应VPI和VCI组合的参考值,这里称为VCC参考值。在进行VCC掩码与VCC参考值的设置时,VCC掩码与VCC参考值均为28比特位,其中低16比特(0~15)表示VCI的对应位,16~27比特表示VPI的对应位。其中,VCC掩码为1的比特位,表示VPI或VCI对应的比特位值是可变的,为0的比特位表示对应的比特位值是不可变的。VCC掩码为1的比特位对应的VCC参考值的比特位不起作用,被置位为0,VCC参考值的其他比特位,可以任意取值。这样,对于上例,VCC表大小为2P时,则VCC掩码有P个比特位被置为1,通过VCC掩码指定VPI和VCI其中的P个可变比特位,(28-P)个不可变比特位;同时,通过VCC参考值指定不可变的(28-P)个比特位组成的值。换个角度来看,VCC参考值相当于一个基址,可变的P个比特的取值相当于偏移。当交换机需要建立VCC时,交换机从信元或原语的VPI和VCI中取出这可变的P个比特位的值,组合成P个比特位的VCCI,然后根据VCCI在VCC表中查找,就可以查到唯一对应的索引,完成后续的操作,建立VCC连接。
在这种方案中,由于VPI和VCI的28个比特位都是可选用的,通过配置VCC参考值和VCC掩码,可以改变VPI和VCI的所对应的取值范围,使VPI、VCI可以配置为协议要求内的任意值。
图2是为本发明实现VCC定位的流程图,以背景技术中所述的2K(211)大小的VCC表为例,参照附图2,对本发明进一步详细说明。
步骤201根据VCC表的容量,即VCC表所占用的比特位位数,来确定VPI和VCI总的取值为可变的比特位位数,即VCC掩码比特位为1的位数。如本例中,VCC表大小为211,则VPI和VCI总的取值为可变的比特位位数为11位,因此VCC掩码有11个比特位被置为1,VCC掩码值具体哪一位置为1以及VCC参考值所要设置的大小,均根据实际需要,按照上文所述进行配置。本例中,如图3所示,设置的VCC掩码为0000 00010011100000000 01111111B,VCC参考值为0001 00000000 00000011 00000000B,这里的B表示是二进制的值。
步骤202当有信元需要传送时,ATM交换机接收ATM信元或ATM原语,从信元或ATM原语中提取VPI和VCI。
步骤203检查VPI和VCI是否在VCC参考值规定的范围内。
首先组合出初始VCCI,根据初始VCCI=VPI×216+VCI,即VPI为高比特位,VCI为低比特位,将VPI和VCI组合成28位比特位的初始VCCI;然后对VCC掩码取反,得到VCC掩码反值,将初始VCCI与VCC掩码反值进行相与,得到初始VCCI各自取值不可变的比特位;然后将各自取值不可变的比特位分别与各自的参考值进行比较,取值不可变的比特位与参考值相同,则说明是VPI和VCI均在规定的范围内,执行步骤204,否则退出本流程。
如图3所示,VCC掩码为0000 00010111 000000000 1111111B、VCC参考值为0001 00000000 00000011 00000000B;当前初始VCCI为000100010101 00000011 01000111B,根据以上所述,将初始VCCI即000100010101 00000011 01000111B与VCC掩码反值进行相与,结果与VCC参考值相同,说明当前VPI和VCI均在逻辑定义的VCC表范围内,则进行下一步。
步骤204根据步骤202获取的VPI、VCI和VCC掩码组合出VCC索引。
将初始VCCI与VCC掩码相与,得到VCC掩码为1所对应的初始VCCI的比特位,然后将这些比特位依次提取出并写到VCCI中,组合出VCCI。
如图3所示,将当前组合出的初始VCCI为0001 00010101 0000001101000111B对应VCC掩码为1的比特位依次提取出来,依次写到VCCI中,组合出11位的VCCI为110 11000111B。
步骤205根据11位的VCCI在VCC表中进行检索,查找该VCC索引,建立相应的通道连接,完成后续的操作,其中所述完成后续的操作与现有技术一样,如数据传输。
其中上述步骤203所述得到初始VCCI各自取值不可变的比特位的方法,也可以是将VCC掩码与初始VCCI分别转化为字符串,采用字符串比较的方法,将VCC掩码比特位值为0对应的初始VCCI的比特位值提取出来。
步骤204所述从初始VCCI中提取VCC掩码为1对应的比特位的方法,也可以是将VCC掩码与初始VCCI分别转化为字符串,采用字符串比较的方法,将VCC掩码比特位值为1对应的初始VCCI的比特位值提取出来。
从以上可以看出,本发明组合出11比特位VCCI在VCC表中进行匹配检索,减轻了设备的运算量,同时对VPI和VCI进行配置时,并不限定取值范围,可根据需要配置VPI在协议规定的12比特位内任何值,以及VCI在协议规定的16比特位内任何值。
以上以NNI接口的ATM信元进行说明,对于UNI接口,除了VPI的位数不同外,其原理与上面所述相同,不再详述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现虚通路连接VCC快速检索定位的方法,其特征在于,确定虚通道标识VPI和虚通路标识VCI比特位取值可变的位数,预先设置VPI和VCI的掩码与参考值,该方法还包括以下步骤A、从接收的ATM信元或ATM原语中提取VPI和VCI;B、将步骤A提取出的VPI、VCI与预先设置的掩码进行比较,得到当前VPI和VCI各自不可变比特位的值,若VPI、VCI不可变比特位的值与各自参考值相同,则执行步骤C,否则退出本流程;C、根据掩码将VPI和VCI可变比特位的值依次提取出来,组合出虚通路连接索引VCCI;D、根据VCCI在VCC表中进行检索,定位出相应的VCC。
2.根据权利要求1所述的方法,其特征在于,所述的预先设置VPI和VCI的掩码进一步包括将VCI掩码作为低比特位,VPI掩码作为高比特位组合为对应VPI和VCI组合的掩码。
3.根据权利要求1或2所述的方法,其特征在于,所述的预先设置VPI和VCI的掩码的方法进一步包括设置VPI和VCI中取值可变的比特位对应掩码的比特位值为1,掩码的其他比特位值为0。
4.根据权利要求1所述的方法,其特征在于,所述的预先设置VPI和VCI的参考值的方法进一步包括设置VPI和VCI中取值不可变的比特位对应参考值的比特位值为有效值,参考值的其他比特位值为0。
5.根据权利要求3所述的方法,其特征在于,所述的预先设置VPI和VCI的参考值进一步包括设置掩码比特位值为0对应参考值的比特位值为有效值,参考值的其他比特位值为0。
6.根据权利要求3所述的方法,其特征在于,步骤B所述将VPI、VCI与预先设置的掩码进行比较得到当前VPI和VCI各自不可变比特位值的方法为将VPI和VCI与掩码的反值进行相与运算,得到VPI和VCI不可变比特位的值。
7.根据权利要求3所述的方法,其特征在于,步骤B所述将掩码与VPI、VCI进行比较得到当前VPI和VCI各自可不变比特位值的方法为将掩码与VPI、VCI分别转化为字符串,采用字符串比较的方法,将掩码比特位值为0对应的VPI、VCI的比特位值提取出来。
8.根据权利要求3所述的方法,其特征在于,步骤C所述将VPI和VCI可变比特位的值依次提取出来的方法为将VPI和VCI与掩码进行相与运算,得到VPI和VCI可变比特位的值。
9.根据权利要求3所述的方法,其特征在于,步骤C所述将VPI和VCI可变比特位的值依次提取出来的方法为将掩码与VPI、VCI分别转化为字符串,采用字符串比较的方法,将掩码比特位值为1对应的VPI、VCI的比特位值提取出来。
全文摘要
本发明提供了一种实现虚通路连接VCC快速检索定位的方法,预先根据虚通道标识VPI和虚通路标识VCI比特位取值可变的位数,设置VPI和VCI的掩码与参考值,该方法还包括以下步骤A、从接收的ATM信元或ATM原语中提取VPI和VCI;B、将步骤A提取出的VPI、VCI与预先设置的掩码进行比较,得到当前VPI和VCI各自不可变比特位的值,若VPI、VCI不可变比特位的值与各自参考值相同,则执行步骤C,否则退出本流程;C、根据掩码将VPI和VCI可变比特位的值依次提取出来,组合出虚通路连接索引VCCI;D、根据VCCI在VCC表中进行检索,定位出相应的VCC。应用本发明,在快速定位的同时不限定VPI和VCI取值范围,可以将取值范围灵活配置。
文档编号H04L12/56GK1627726SQ20031012131
公开日2005年6月15日 申请日期2003年12月11日 优先权日2003年12月11日
发明者龚碧涛, 龚正贤, 李家爱 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1