[發明專利]一種由交換機添加報文外層標簽的方法有效
| 申請號: | 200810218254.5 | 申請日: | 2008-12-05 |
| 公開(公告)號: | CN101425955A | 公開(公告)日: | 2009-05-06 |
| 發明(設計)人: | 王軒 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | H04L12/46 | 分類號: | H04L12/46;H04L29/06 |
| 代理公司: | 深圳市永杰專利商標事務所 | 代理人: | 曹建軍 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 交換機 添加 報文 外層 標簽 方法 | ||
技術領域
本發明涉及數據通信中交換機CPU(Central?Processing?Unit,中央處理單元)的報文接收技術,更具體的說,是一種由交換機添加報文外層標簽的方法。
背景技術
大多數交換芯片都支持DMA(Direct?Memory?Access,直接存儲器訪問)控制器,交換機CPU可以通過DMA控制器接收從交換芯片其他端口發送來的報文或者將報文發送到交換芯片的其他端口。某些交換芯片采用DCB(DMA?ControlBlock,DMA控制模塊)控制CPU對DMA控制器的訪問,DCB有很多描述符,比如:
OUTER_VID:報文需要添加的外層VLAN?ID;
ADD_VID:報文是否需要添加標簽,包括內層標簽和外層標簽,1表示需要,0表示不需要;
UNTAGGED:報文是否含有標簽,0表示含有標簽,含有1層或2層標簽都為0,1表示不含有;
INGRESS_TAGGED:報文是否在入端口被認為是不含有標簽的,1表示含有標簽,0表示不含有。有兩種情況交換芯片認為入端口的報文是不含有標簽的:一種是報文本身不含有標簽,另一種是如端口配置了QinQ?Customer模式,交換芯片默認所有從QinQ?Customer端口收到的報文都是不含有標簽的。
DCB的描述符能夠為交換機的CPU提供其收到的報文的各種信息,CPU可以根據這些信息對報文進行處理。
QinQ又稱Stacked?VLAN(VLAN(Virtual?Local?Area?Network,虛擬局域網)堆疊),其實現為在802.1Q協議標簽前再次封裝802.1Q協議標簽,即通過在原有802.1Q?tag標簽的之外再增加一個VLAN標簽,增加的這個標簽稱為SPVLAN(Service?Provider?VLAN,服務提供商VLAN),這一層標簽可以將內層VLAN標簽(也稱為Customer?VLAN,用戶VLAN,簡稱CVLAN)屏蔽起來,經過服務提供商的網絡透明傳輸,到達邊緣交換機時再去除SPVLAN標簽,這是構成L2VPN(Layer?2?Virtual?Private?Network,二層虛擬專用網)的主要方式之一。采用這種雙層標簽的技術,服務提供商網絡屏蔽了用戶網絡的VLAN標簽,保留了用戶網絡的信息。目前部分交換機可以支持QinQ功能。QinQ允許運營商為每個用戶分配最大到4K的第二個VLAN?ID。
現有技術中,上層應用軟件會維護一個端口與內層標簽和外層標簽的映射表,交換機CPU收到帶內層標簽的報文后,若收到報文的流程在交換芯片MMU(Memory?Management?Unit,內存管理單元)之前,需要添加外層標簽,交換芯片無法為其添加外層標簽,需要上層應用軟件通過查詢所述映射表,根據端口與內層標簽添加外層標簽。這種方法效率不高,而且依賴于軟件維護的映射表,可靠性不好。
發明內容
本發明所要解決的技術問題是,一種由交換機添加報文外層標簽的方法,本發明所述方法不僅添加外層標簽時的效率高、且可靠性高。
一種由交換機添加報文外層標簽的方法,端口配置為QinQ?Customer模式的交換機的CPU收到含內層標簽的報文后,執行如下步驟:
步驟一:讀取交換芯片DCB描述符,獲取OUTER_VID、ADD_VID、UNTAGGED、INGRESS_TAGGED字段的值;
步驟二:判斷所述UNTAGGED、INGRESS_TAGGED的值是否為0,且所述ADD_VID的值是否為1,若是,則根據所述OUTER_VID的值,組成外層標簽并添加到所述報文中,執行步驟三;否則,直接執行步驟三;
步驟三:將所述報文上報給上層應用模塊。
所述步驟一前還包括:為所述報文分配內存空間,并將所述報文復制到分配的空間中;所述內存空間包括外層標簽需要的4個字節的空間。
所述步驟二中,通過如下方法將組成的外層標簽添加到所述報文中:
步驟a:將所述報文第12個字節后的所有字節的內容均復制到其后的第4個字節的內存空間中,覆蓋所述內存空間中原來的內容;
步驟b:將所述組成的外層標簽復制到所述報文第12個字節后的4個字節內存空間中,覆蓋所述內存空間的內容。
所述步驟a具體如下:
步驟a1:將所述報文的倒數第1個字節的內容復制到其后的第4個字節的內存空間中;
步驟a2:將所述報文的倒數第2個字節的內容復制到其后的第4個字節的內存空間中;以此類推,直到將所述報文的第13個字節的內容復制到其后的第4個字節的內存空間中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810218254.5/2.html,轉載請聲明來源鉆瓜專利網。





