專利名稱:一種實現虛通路連接快速檢索定位的方法
技術領域:
本發明涉及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日
發明者龔碧濤, 龔正賢, 李家愛 申請人:華為技術有限公司