專利名稱:透傳虛擬局域網(wǎng)數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種將電氣和電子工程師學(xué)會(Institute of Electrical andElectronics Engineers,簡稱IEEE)802.1Q(Virtual Bridged Local AreaNetworks,虛擬橋接局域網(wǎng))報(bào)文在網(wǎng)絡(luò)交換芯片中與訪問控制列表(AccessControl List,簡稱ACL)規(guī)則進(jìn)行匹配,以實(shí)現(xiàn)支持4096或以上個(gè)虛擬局域網(wǎng)(Virtual Local Area Network,簡稱VLAN)數(shù)據(jù)透傳的方法,屬于VLAN網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
虛擬局域網(wǎng)(Virtual Local Area Network,簡稱VLAN)用于將局域網(wǎng)(Local Area Network,簡稱LAN)中的物理網(wǎng)段劃分為多個(gè)虛擬的LAN網(wǎng)段。VLAN使工作組的劃分不再局限于物理位置,可以根據(jù)功能、應(yīng)用或協(xié)議來進(jìn)行劃分,提高了組網(wǎng)的靈活性和方便性。
IEEE發(fā)布的IEEE 802.1Q(Virtual Bridged Local Area Networks)規(guī)定了以太網(wǎng)中VLAN的實(shí)現(xiàn)方式。根據(jù)802.1Q的規(guī)定,在標(biāo)準(zhǔn)的以太幀的源MAC地址之后增加一個(gè)4字節(jié)的802.1Q標(biāo)簽。802.1Q標(biāo)簽包含2個(gè)字節(jié)的標(biāo)簽協(xié)議標(biāo)識(Tag Protocol Identifier,簡稱TPID)和2個(gè)字節(jié)的標(biāo)簽控制信息(Tag Control Information,簡稱TCI)。TPID是IEEE定義的新的類型,其取值為十六進(jìn)制的8100,用于標(biāo)識該以太幀為802.1Q標(biāo)簽的報(bào)文。
參見圖1,它表示了標(biāo)準(zhǔn)的802.1Q幀格式,其中Destintion Address為目的MAC地址,具有4個(gè)字節(jié)(Bytes),Source Address為源MAC地址,具有4Bytes,802.1Q Tag為802.1Q標(biāo)簽字段,具有4Bytes,Length/type為數(shù)據(jù)長度或報(bào)文類型,具有2Bytes,DATA為以太網(wǎng)承載的數(shù)據(jù)域,
FCS為校驗(yàn)和。
參見圖2,其為802.1Q標(biāo)簽的詳細(xì)內(nèi)容。其中,虛擬局域網(wǎng)標(biāo)識(VirtualLocal Area Network Identifier,簡稱VID或VLAN ID)是一個(gè)12位的域信息,用于標(biāo)識不同的VLAN,其取值為0~4095,用于區(qū)別4096個(gè)VLAN。每個(gè)支持802.1Q協(xié)議的設(shè)備發(fā)送出來的數(shù)據(jù)報(bào)文都會包含這個(gè)域,以指明自己所屬的VLAN。
通常,網(wǎng)絡(luò)設(shè)備中的802.1Q標(biāo)簽由硬件級的網(wǎng)絡(luò)處理單元(例如以太網(wǎng)交換芯片)在發(fā)送報(bào)文時(shí)添加。為了區(qū)分位于不同VLAN的主機(jī)(或設(shè)備),存儲器中會建立以VLAN ID和MAC地址等信息為索引字段的轉(zhuǎn)發(fā)表。在實(shí)際應(yīng)用中,并不是所有的設(shè)備都能夠建立包括所有4096個(gè)VLAN在內(nèi)的轉(zhuǎn)發(fā)表。當(dāng)局域網(wǎng)中某臺設(shè)備所能識別的VLAN ID不足4096個(gè)時(shí),就無法保證能夠與網(wǎng)絡(luò)內(nèi)的其它設(shè)備協(xié)同完成所有VLAN內(nèi)的數(shù)據(jù)通信。
大多數(shù)網(wǎng)絡(luò)設(shè)備支持根據(jù)ACL對業(yè)務(wù)數(shù)據(jù)流進(jìn)行分類復(fù)制或丟棄的技術(shù),在各類操作系統(tǒng)(如UNIX、Windows NT/XP/2000、Linux等)中、各類設(shè)備(如路由器、以太網(wǎng)交換機(jī)、DSLAM等)中、各類協(xié)議(如IPX、TCP/IP等)中,都有相應(yīng)的實(shí)現(xiàn)方式。例如BroadCom公司的BCM5615,能夠基于以太幀前80字節(jié)范圍的64字節(jié)任意域通過80節(jié)的掩碼設(shè)置過濾規(guī)則,從而實(shí)現(xiàn)規(guī)則靈活的分類復(fù)制或丟棄。如果對VLAN ID域設(shè)置掩碼,則可以實(shí)現(xiàn)基于VLAN ID的數(shù)據(jù)轉(zhuǎn)發(fā)或過濾。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種透傳虛擬局域網(wǎng)數(shù)據(jù)的方法,使采用VLAN識別能力有限網(wǎng)絡(luò)交換芯片的分布式網(wǎng)絡(luò)設(shè)備或者單芯片網(wǎng)絡(luò)設(shè)備,利用流分類技術(shù)進(jìn)行隔離,能夠識別和透傳所有或部分VLAN內(nèi)的數(shù)據(jù)。
本發(fā)明的目的是這樣實(shí)現(xiàn)的在網(wǎng)絡(luò)交換芯片上采用ACL規(guī)則為標(biāo)準(zhǔn)的802.1Q報(bào)文建立數(shù)據(jù)通道,將多個(gè)VLAN按組劃分,并將所劃分的各個(gè)組分別分配給各轉(zhuǎn)發(fā)端口;當(dāng)網(wǎng)絡(luò)交換芯片接收到所述的報(bào)文時(shí),網(wǎng)絡(luò)交換芯片從該報(bào)文中提取VLANID,并將VLAN ID與設(shè)定的ACL規(guī)則數(shù)據(jù)進(jìn)行比較;如果相等,則將該報(bào)文發(fā)送到與所述ACL規(guī)則數(shù)據(jù)對應(yīng)的轉(zhuǎn)發(fā)端口,否則,將該VLAN ID與下一ACL規(guī)則數(shù)據(jù)進(jìn)行比較;如果所述VLAN ID與所有ACL規(guī)則數(shù)據(jù)均不相等,則丟棄該報(bào)文。
本發(fā)明在網(wǎng)絡(luò)交換芯片無法識別所有VLAN的情況下,通過增加網(wǎng)絡(luò)交換芯片的數(shù)量,可以使網(wǎng)絡(luò)設(shè)備識別所有或部分VLAN;對于單芯片系統(tǒng)而言,由于采用了將所述VLAN分組透傳到級聯(lián)端口的解決方案,使得所述單芯片系統(tǒng)可以隔離透傳所有或部分VLAN內(nèi)的數(shù)據(jù);同時(shí),本發(fā)明使得連接到網(wǎng)絡(luò)交換芯片的上行設(shè)備能夠?qū)崿F(xiàn)對多個(gè)用戶接入和標(biāo)識。
圖1為帶有802.1Q標(biāo)簽以太幀的格式示意圖;圖2為802.1Q標(biāo)簽詳細(xì)內(nèi)容示意圖;圖3為本發(fā)明一個(gè)實(shí)施例的示意圖;圖4為本發(fā)明另一個(gè)實(shí)施例的示意圖。
具體實(shí)施例方式
以下結(jié)合附圖和具體的實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明實(shí)施例1在分布式網(wǎng)絡(luò)設(shè)備中,一般存在著一個(gè)網(wǎng)絡(luò)交換芯片和多個(gè)業(yè)務(wù)芯片,網(wǎng)絡(luò)交換芯片一般最多有4096個(gè)VLAN;所有的芯片在物理上可以屬于一個(gè)硬件環(huán)境(如都在一塊單板上),也可以分別屬于多個(gè)硬件環(huán)境(如每塊芯片在不同的單板上)。在兩種情況下,各芯片都需要工作在主從方式,其中,網(wǎng)絡(luò)交換芯片為主芯片,其他為從芯片,各芯片之間通過通信接口完成數(shù)據(jù)交換。
參見圖3,當(dāng)每一芯片只能支持M個(gè)VLAN,則M×N大于4096時(shí),具備N塊以上芯片系統(tǒng)的總VLAN容量就超過了4096。
將4096個(gè)VLAN以單位數(shù)目(例如2、4、8、16、32、64、128,...)為組劃分為若干組,分配給每塊業(yè)務(wù)芯片,則各業(yè)務(wù)芯片所提供的用戶接入端口就能夠?qū)儆诜峙浣o該網(wǎng)絡(luò)交換芯片的VLAN組內(nèi)的任意一個(gè)或多個(gè)VLAN。
對于上述的分配,可以由用戶根據(jù)具體情況通過人機(jī)界面(如命令行)配置相應(yīng)的組對應(yīng)相應(yīng)的網(wǎng)絡(luò)交換芯片或業(yè)務(wù)芯片。一個(gè)網(wǎng)絡(luò)交換芯片或業(yè)務(wù)芯片可以只對應(yīng)一組VLAN,也可以對應(yīng)多組VLAN,這依賴于基于本發(fā)明的具體設(shè)計(jì)。例如可以配置VLAN 64~127對應(yīng)于芯片CHIP1,也可以配置VLAN64~127、128~191都對應(yīng)于芯片1。單位數(shù)目為2的N次方,N為1-11之間的任一整數(shù),可以取32、64等。最終視乎基于本發(fā)明的具體設(shè)計(jì)。
根據(jù)背景技術(shù)中所提及的流分類技術(shù),對標(biāo)準(zhǔn)802.1Q幀的12位VLANID域進(jìn)行掩碼匹配,在網(wǎng)絡(luò)交換芯片上行口與各業(yè)務(wù)芯片間建立流分類的ACL規(guī)則,為不同的VLAN組建立數(shù)據(jù)通道。
參見圖3,網(wǎng)絡(luò)交換芯片CHIP1上行口與業(yè)務(wù)芯片CHIP2之間的掩碼匹配的VLAN ID為256~319,則來自網(wǎng)絡(luò)交換芯片CHIP1上行口的VLAN256~319的報(bào)文會被即時(shí)復(fù)制到業(yè)務(wù)芯片CHIP2,來自業(yè)務(wù)芯片CHIP2的VLAN256~319的報(bào)文也會被即時(shí)復(fù)制到網(wǎng)絡(luò)交換芯片CHIP1的上行口,其它VLAN內(nèi)的報(bào)文則不會從這條數(shù)據(jù)通道通過。
本發(fā)明中利用ACL進(jìn)行流分類的具體方法是網(wǎng)絡(luò)設(shè)備中一般可以利用網(wǎng)絡(luò)交換芯片或業(yè)務(wù)芯片所提供的功能定義ACL規(guī)則,來對某些數(shù)據(jù)報(bào)文的丟棄或復(fù)制進(jìn)行控制。例如可以針對標(biāo)準(zhǔn)以太幀中的802.1Q標(biāo)簽字段(共4個(gè)字節(jié))的低2個(gè)字節(jié)即VLAN ID制定ACL規(guī)則,按照各數(shù)據(jù)位(bit)的值進(jìn)行匹配,以決定丟棄該報(bào)文還是復(fù)制到其它端口去。參見圖3,更具體一點(diǎn)地說設(shè)VLAN ID的2個(gè)字節(jié)為由低到高的16bit,假如將第7位為1、第8位及以上各位均為0的報(bào)文復(fù)制到端口1,則可能會被復(fù)制的那些報(bào)文的VLAN ID字段的0~6位的值可能為000000~111111,相應(yīng)的VLAN ID的可能值為64~127,通過匹配比較,就可以達(dá)到將VLAN ID為64~127的報(bào)文復(fù)制到端口Port1的目的。
利用流分類規(guī)則為某個(gè)端口建立的數(shù)據(jù)通道可以不唯一,對應(yīng)于一個(gè)上行口可以建立多個(gè)數(shù)據(jù)通道,所以多個(gè)業(yè)務(wù)芯片的數(shù)據(jù)可以通過一個(gè)上行口匯聚上傳。參見圖3,其中的上行口1,可匯聚來自多個(gè)業(yè)務(wù)芯片的報(bào)文。
來自業(yè)務(wù)芯片的報(bào)文為標(biāo)準(zhǔn)的802.1Q幀,所以從上行設(shè)備看來,該設(shè)備支持802.1Q標(biāo)準(zhǔn),并且在建立了足夠多的流規(guī)則的情況下,可以支持所有4096個(gè)VLAN。
流分類規(guī)則可以在網(wǎng)絡(luò)交換芯片的任意兩個(gè)端口之間建立,故網(wǎng)絡(luò)交換芯片的上行口的數(shù)目不唯一,可以存在多個(gè)上行口,每個(gè)上行口能夠獨(dú)立建立透傳所有4096個(gè)VLAN數(shù)據(jù)的通道。參見圖3,網(wǎng)絡(luò)交換芯片CHIP1存在兩個(gè)上行口,都可以與上行設(shè)備相連,傳輸不同VLAN的數(shù)據(jù)。
需要注意的是網(wǎng)絡(luò)交換芯片的上行口與各業(yè)務(wù)芯片之間通過可以傳輸以太網(wǎng)數(shù)據(jù)的總線或網(wǎng)絡(luò)接口等建立數(shù)據(jù)通道。在分布式網(wǎng)絡(luò)設(shè)備中,網(wǎng)絡(luò)交換芯片不需要分配VLAN組,VLAN只分配給業(yè)務(wù)芯片。
在需要級聯(lián)應(yīng)用的情況下,在連接級聯(lián)設(shè)備的端口與網(wǎng)絡(luò)交換芯片的上行口之間建立相應(yīng)的流規(guī)則,就可以在級聯(lián)設(shè)備與上行設(shè)備間透傳VLAN數(shù)據(jù)。參見圖1,級聯(lián)設(shè)備的報(bào)文也通過數(shù)據(jù)通道匯聚到網(wǎng)絡(luò)交換芯片的上行口進(jìn)行上傳。
如上所述的流分類規(guī)則可以通過人機(jī)界面和軟件處理動態(tài)配置,而各端口屬于所在芯片VLAN組的哪個(gè)VLAN也可以動態(tài)配置,兩者結(jié)合,則所有端口可以配置在4096個(gè)VLAN內(nèi)的任意一個(gè)VLAN。如果想使業(yè)務(wù)芯片CHIP2的端口Port1屬于VLAN 4000,則首先通過配置流分類規(guī)則為業(yè)務(wù)芯片CHIP2建立包含4000的VLAN組的數(shù)據(jù)通道,再將相應(yīng)的端口Port1加入VLAN 4000即可。
在分布式環(huán)境下,在需要多于4096個(gè)用戶接入的情況下,可以建立多個(gè)上行口,并將業(yè)務(wù)芯片進(jìn)行分組,這些分組分別與網(wǎng)絡(luò)交換芯片不同的上行口之間建立數(shù)據(jù)通道,每個(gè)網(wǎng)絡(luò)交換芯片上行口獨(dú)立傳輸4096個(gè)VLAN的數(shù)據(jù),上行設(shè)備(如BAS)在識別用戶時(shí),加上對應(yīng)的接入端口信息,則可以實(shí)現(xiàn)對多于4096個(gè)用戶的接入和標(biāo)識。
實(shí)施例2參見圖4,利用流分類技術(shù)可以實(shí)現(xiàn)隔離透傳所有4096或部分VLAN內(nèi)的數(shù)據(jù)。其方法與上述的實(shí)施例1基本上相同,不同的是對于單芯片設(shè)備,其數(shù)據(jù)的透傳是在上行設(shè)備和級聯(lián)設(shè)備之間進(jìn)行的,因此,采用本發(fā)明的設(shè)備能夠識別所有4096個(gè)VLAN。
本實(shí)施例中,主設(shè)備和各級聯(lián)設(shè)備只有一個(gè)核心交換芯片,最多能識別VLAN的容量少于4096(假設(shè)為256),利用流分類技術(shù),在主設(shè)備上定義適當(dāng)?shù)腁CL規(guī)則,就可以為上行設(shè)備和每臺級聯(lián)設(shè)備提供通道,分別透傳256個(gè)VLAN。因?yàn)槊總€(gè)通道所透傳的數(shù)據(jù)的VLAN不同,對于上行設(shè)備和級聯(lián)設(shè)備而言,該主設(shè)備支持1~256、257~512、513~768乃至更多的VLAN。
最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明而并非限制本發(fā)明所描述的技術(shù)方案;因此,盡管本說明書參照上述的各個(gè)實(shí)施例對本發(fā)明已進(jìn)行了詳細(xì)的說明,但是,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對本發(fā)明進(jìn)行修改或者等同替換;而一切不脫離本發(fā)明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種透傳虛擬局域網(wǎng)數(shù)據(jù)的方法,其特征在于在網(wǎng)絡(luò)交換芯片上采用ACL規(guī)則為標(biāo)準(zhǔn)的802.1Q報(bào)文建立數(shù)據(jù)通道,將所述網(wǎng)絡(luò)交換芯片中多個(gè)VLAN按組劃分,并將所劃分的各個(gè)組分別分配給各轉(zhuǎn)發(fā)端口;當(dāng)網(wǎng)絡(luò)交換芯片接收到所述的報(bào)文時(shí),按照如下步驟進(jìn)行處理網(wǎng)絡(luò)交換芯片從該報(bào)文中提取VLAN ID;將VLAN ID與設(shè)定的ACL規(guī)則數(shù)據(jù)進(jìn)行比較;如果相等,則將該報(bào)文發(fā)送到與所述ACL規(guī)則數(shù)據(jù)對應(yīng)的轉(zhuǎn)發(fā)端口,否則,將該VLAN ID與下一ACL規(guī)則數(shù)據(jù)進(jìn)行比較;如果所述VLAN ID與所有ACL規(guī)則數(shù)據(jù)均不相等,則丟棄該報(bào)文。
2.根據(jù)權(quán)利要求1所述的透傳虛擬局域網(wǎng)數(shù)據(jù)的方法,其特征在于所述轉(zhuǎn)發(fā)端口作為業(yè)務(wù)交換芯片與網(wǎng)絡(luò)交換芯片間進(jìn)行通信的接入端口時(shí),所述的業(yè)務(wù)交換芯片分組與網(wǎng)絡(luò)交換芯片不同的上行口之間建立數(shù)據(jù)通道,且網(wǎng)絡(luò)交換芯片的每個(gè)上行口獨(dú)立傳輸所有VLAN的數(shù)據(jù);與網(wǎng)絡(luò)交換芯片上行口連接的上行設(shè)備在識別不同的VLAN用戶時(shí),在該VLAN用戶的報(bào)文中加入所述的接入端口信息,用以實(shí)現(xiàn)對多于所述網(wǎng)絡(luò)交換芯片最大數(shù)量用戶的接入和標(biāo)識。
3.根據(jù)權(quán)利要求1所述的透傳虛擬局域網(wǎng)數(shù)據(jù)的方法,其特征在于所述轉(zhuǎn)發(fā)端口作為網(wǎng)絡(luò)交換芯片與后級設(shè)備進(jìn)行通信的級聯(lián)端口時(shí),所述的級聯(lián)設(shè)備分組與網(wǎng)絡(luò)交換芯片不同的上行口之間建立數(shù)據(jù)通道,且網(wǎng)絡(luò)交換芯片的每個(gè)上行口獨(dú)立傳輸網(wǎng)絡(luò)交換芯片最大數(shù)量VLAN的數(shù)據(jù);與網(wǎng)絡(luò)交換芯片上行口連接的上行設(shè)備在識別不同的VLAN用戶時(shí),在該VLAN用戶的報(bào)文中加入所述的接入端口信息,用以實(shí)現(xiàn)對網(wǎng)絡(luò)交換芯片最大數(shù)量用戶的接入和標(biāo)識。
4.根據(jù)權(quán)利要求1所述的透傳虛擬局域網(wǎng)數(shù)據(jù)的方法,其特征在于所述將網(wǎng)絡(luò)交換芯片最大數(shù)量VLAN按組劃分是指將網(wǎng)絡(luò)交換芯片最大數(shù)量VLAN等分為一個(gè)一上的組,每個(gè)組中的VLAN數(shù)目為2N;其中,1≤N≤11。
全文摘要
一種利用流分類技術(shù)隔離透傳虛擬局域網(wǎng)數(shù)據(jù)的方法,在網(wǎng)絡(luò)交換芯片上用ACL規(guī)則為報(bào)文建立數(shù)據(jù)通道,將多個(gè)VLAN按組劃分,并分配給各轉(zhuǎn)發(fā)端口;接收到報(bào)文時(shí),網(wǎng)絡(luò)交換芯片從中提取VLAN ID;并與ACL規(guī)則數(shù)據(jù)比較;相等則將報(bào)文發(fā)到與ACL規(guī)則數(shù)據(jù)對應(yīng)的轉(zhuǎn)發(fā)端口,否則,將該VLAN ID與下一ACL規(guī)則數(shù)據(jù)比較;如果VLAN ID與所有ACL規(guī)則數(shù)據(jù)均不相等,則丟棄報(bào)文。本發(fā)明通過增加網(wǎng)絡(luò)交換芯片的數(shù)量,使網(wǎng)絡(luò)設(shè)備識別所有所有或部分VLAN;對于單芯片系統(tǒng),采用本發(fā)明使得所述單芯片系統(tǒng)可隔離透傳所有或部分VLAN內(nèi)的數(shù)據(jù);使得接到網(wǎng)絡(luò)交換芯片的上行設(shè)備能實(shí)現(xiàn)對多個(gè)用戶接入和標(biāo)識。
文檔編號H04L12/56GK1801771SQ20051000660
公開日2006年7月12日 申請日期2005年1月4日 優(yōu)先權(quán)日2005年1月4日
發(fā)明者殷俊杰, 魏其禮, 馬書雷, 梁鵬 申請人:華為技術(shù)有限公司