CN1627726A - 一种实现虚通路连接快速检索定位的方法 - Google Patents
一种实现虚通路连接快速检索定位的方法 Download PDFInfo
- Publication number
- CN1627726A CN1627726A CNA2003101213134A CN200310121313A CN1627726A CN 1627726 A CN1627726 A CN 1627726A CN A2003101213134 A CNA2003101213134 A CN A2003101213134A CN 200310121313 A CN200310121313 A CN 200310121313A CN 1627726 A CN1627726 A CN 1627726A
- Authority
- CN
- China
- Prior art keywords
- vpi
- vci
- value
- mask
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种实现虚通路连接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取值范围,可以将取值范围灵活配置。
Description
技术领域
本发明涉及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的位数不同外,其原理与上面所述相同,不再详述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
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的比特位值提取出来。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101213134A CN100426781C (zh) | 2003-12-11 | 2003-12-11 | 一种实现虚通路连接快速检索定位的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101213134A CN100426781C (zh) | 2003-12-11 | 2003-12-11 | 一种实现虚通路连接快速检索定位的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1627726A true CN1627726A (zh) | 2005-06-15 |
CN100426781C CN100426781C (zh) | 2008-10-15 |
Family
ID=34761568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101213134A Expired - Fee Related CN100426781C (zh) | 2003-12-11 | 2003-12-11 | 一种实现虚通路连接快速检索定位的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100426781C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471842B (zh) * | 2007-12-29 | 2012-02-29 | 北京大唐高鸿数据网络技术有限公司 | 一种动态管理异步传输模式中虚连接的方法 |
CN101802822B (zh) * | 2007-09-14 | 2012-10-24 | 新叶股份有限公司 | 比特序列检索装置、检索方法以及程序 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3123462B2 (ja) * | 1997-05-21 | 2001-01-09 | 日本電気株式会社 | コネクション番号変換装置及びその方法並びにその方法を実行するためのプログラムを格納した記録媒体 |
US6034958A (en) * | 1997-07-11 | 2000-03-07 | Telefonaktiebolaget Lm Ericsson | VP/VC lookup function |
JP2000078162A (ja) * | 1998-08-31 | 2000-03-14 | Nec Corp | Atm交換装置 |
-
2003
- 2003-12-11 CN CNB2003101213134A patent/CN100426781C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101802822B (zh) * | 2007-09-14 | 2012-10-24 | 新叶股份有限公司 | 比特序列检索装置、检索方法以及程序 |
CN101471842B (zh) * | 2007-12-29 | 2012-02-29 | 北京大唐高鸿数据网络技术有限公司 | 一种动态管理异步传输模式中虚连接的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100426781C (zh) | 2008-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10496680B2 (en) | High-performance bloom filter array | |
US9984144B2 (en) | Efficient lookup of TCAM-like rules in RAM | |
US6775737B1 (en) | Method and apparatus for allocating and using range identifiers as input values to content-addressable memories | |
US6717946B1 (en) | Methods and apparatus for mapping ranges of values into unique values of particular use for range matching operations using an associative memory | |
US8335780B2 (en) | Scalable high speed relational processor for databases and networks | |
US9245626B2 (en) | System and method for packet classification and internet protocol lookup in a network environment | |
CN1143592C (zh) | 虚路径/虚信道查找方法和装置 | |
Clerry | Compact hash tables using bidirectional linear probing | |
US6633953B2 (en) | Range content-addressable memory | |
US6816856B2 (en) | System for and method of data compression in a valueless digital tree representing a bitset | |
CN111801665B (zh) | 用于大数据应用的分层局部敏感哈希(lsh)分区索引 | |
Vamanan et al. | TreeCAM: decoupling updates and lookups in packet classification | |
US20080133494A1 (en) | Method and apparatus for searching forwarding table | |
CN113315705B (zh) | 基于单次哈希布隆过滤器的Flexible IP寻址方法及装置 | |
US11652744B1 (en) | Multi-stage prefix matching enhancements | |
US6996559B1 (en) | IP address resolution methods and apparatus | |
CN109754021B (zh) | 基于范围元组搜索的在线包分类方法 | |
US20100169563A1 (en) | Content Addressable Memory and Method | |
US6996664B2 (en) | Ternary content addressable memory with enhanced priority matching | |
CN1627726A (zh) | 一种实现虚通路连接快速检索定位的方法 | |
Feng et al. | Real-time SLAM relocalization with online learning of binary feature indexing | |
Lin et al. | Fast tcam-based multi-match packet classification using discriminators | |
CN113343034A (zh) | Ip查找方法、系统及存储介质 | |
US11929837B2 (en) | Rule compilation schemes for fast packet classification | |
Lavington et al. | A modularly extensible scheme for exploiting data parallelism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081015 Termination date: 20151211 |
|
EXPY | Termination of patent right or utility model |