徐 蓓,肖萍萍
(武漢郵電科學(xué)研究院,湖北 武漢 430074)
隨著NGN/3G的大規(guī)模部署,運(yùn)營(yíng)商開(kāi)始希望能夠在數(shù)據(jù)接入網(wǎng)上承載更加多樣化的業(yè)務(wù),來(lái)降低運(yùn)營(yíng)成本。但是隨著用戶(hù)數(shù)量的大規(guī)模增加和業(yè)務(wù)類(lèi)型的多樣化,傳統(tǒng)的VLAN技術(shù)由于受VLAN數(shù)量的影響,已經(jīng)不能滿(mǎn)足業(yè)務(wù)發(fā)展的需求,為了滿(mǎn)足在傳統(tǒng)的接入網(wǎng)上承載具有不同QoS需求的業(yè)務(wù),實(shí)現(xiàn)數(shù)據(jù)接入網(wǎng)具有有效的業(yè)務(wù)識(shí)別和業(yè)務(wù)隔離,QinQ技術(shù)應(yīng)運(yùn)而生,該技術(shù)對(duì)VLAN(Virtual Local Area Network)數(shù)量進(jìn)行了有效擴(kuò)展,可以支持4096×4096的規(guī)模,進(jìn)而有效解決現(xiàn)階段VLAN技術(shù)中遇到的瓶頸[1]。
MSAP(多業(yè)務(wù)接入平臺(tái))是定位于城域網(wǎng)邊緣接入層,基于成熟的SDH技術(shù),融合其他各種接入技術(shù)的綜合平臺(tái),汲取了SDH傳輸平臺(tái)中組網(wǎng)靈活、維護(hù)方便、保護(hù)可靠等優(yōu)點(diǎn),通過(guò)EOS(Ethernet Over SDH)將成熟的SDH技術(shù)滲透到以太網(wǎng)應(yīng)用中,從而實(shí)現(xiàn)以太網(wǎng)業(yè)務(wù)安全可靠的傳送并有效保證運(yùn)營(yíng)商接入層網(wǎng)絡(luò)具備較強(qiáng)的可持續(xù)發(fā)展能力和IP業(yè)務(wù)支撐能力。MSAP可以通過(guò)點(diǎn)對(duì)點(diǎn)透?jìng)?、L2匯聚+透?jìng)骱鸵蕴蚕憝h(huán)這3種方式處理以太網(wǎng)業(yè)務(wù),其中匯聚加透?jìng)魇侵窶SAP可以在系統(tǒng)內(nèi)部提供2層交換功能,即在用戶(hù)的業(yè)務(wù)接口與傳輸網(wǎng)鏈路之間,提供基于以太網(wǎng)數(shù)據(jù)鏈路層的交換,并可以通過(guò)對(duì)各個(gè)用戶(hù)接口劃分VLAN的方式實(shí)現(xiàn)業(yè)務(wù)隔離,再將不同類(lèi)型業(yè)務(wù)匯聚后的數(shù)據(jù)流通過(guò)點(diǎn)到點(diǎn)透?jìng)髦罬STP網(wǎng)的終結(jié)點(diǎn),從而實(shí)現(xiàn)數(shù)據(jù)業(yè)務(wù)的轉(zhuǎn)發(fā)。
VLAN(虛擬局域網(wǎng))可以根據(jù)用戶(hù)不同需求將局域網(wǎng)設(shè)備從邏輯上劃分為一個(gè)個(gè)功能相對(duì)獨(dú)立的網(wǎng)段,而與設(shè)備的物理位置無(wú)關(guān)[2]。VLAN的規(guī)范由IEEE 802.1Q(后簡(jiǎn)稱(chēng)802.1Q)協(xié)議規(guī)定,它在普通的以太網(wǎng)幀格式(如圖1所示)的基礎(chǔ)上增加了4 byte用來(lái)表示IEEE 802.1Q的標(biāo)簽,如圖2所示,802.1Q標(biāo)簽中的前2 byte表示標(biāo)簽協(xié)議標(biāo)識(shí)(Tag Protocol Identifier,TPID),由于幀長(zhǎng)度和類(lèi)型小于0x8100,所以當(dāng)MAC目的地址后面的字節(jié)是8100就能表明此數(shù)據(jù)包并非普通的以太網(wǎng)數(shù)據(jù)幀,而是帶802.1Q標(biāo)簽的數(shù)據(jù)幀。后2 byte表示標(biāo)簽控制信息(Tag Control Information TCI),其中priorityzhe3位表示幀的優(yōu)先級(jí),一共有23種優(yōu)先級(jí),用戶(hù)可以針對(duì)不同業(yè)務(wù)的重要性設(shè)置不同的優(yōu)先級(jí)別[3]。VLAN Identified(vlanid)是一個(gè)12位域,一共212個(gè)[4]。QinQ的數(shù)據(jù)幀有固定的格式,在802.1Q的標(biāo)簽之上再打一層標(biāo)簽,QinQ的數(shù)據(jù)幀比802.1Q的標(biāo)簽幀多4 byte,如圖3所示。在雙層VLAN標(biāo)簽的以太網(wǎng)幀中,內(nèi)層VLAN標(biāo)簽的TPID根據(jù)不同廠家,有不同的取值。
802.1 Q協(xié)議定義了基于端口的VLAN模型,根據(jù)對(duì)數(shù)據(jù)包標(biāo)簽的不同處理將端口的鏈路類(lèi)型分為3種,即Access,Trunk 和 Hybrid[7]。
Access類(lèi)型的端口只能屬于1個(gè)VLAN,一般定義它的pvid值就是該端口的vlanid,當(dāng)該端口接收到不帶VLAN標(biāo)示的數(shù)據(jù)包后,則在該數(shù)據(jù)包打上pvid的標(biāo)簽,當(dāng)端口轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),剝離標(biāo)簽,因此從Access端口出去的數(shù)據(jù)包都是不帶外層標(biāo)簽的,由于計(jì)算機(jī)端口不能識(shí)別標(biāo)簽,所以一般用于連接計(jì)算機(jī)的端口。
Trunk類(lèi)型的端口可以屬于多個(gè)VLAN,其默認(rèn)的pvid為1,其pvid也可設(shè)置為端口所在VLAN的vlanid。當(dāng)接收不帶VLAN的數(shù)據(jù)包時(shí),將數(shù)據(jù)包打上默認(rèn)pvid標(biāo)簽,在Trunk端口發(fā)送數(shù)據(jù)包時(shí),不剝離標(biāo)簽,直接進(jìn)行轉(zhuǎn)發(fā);當(dāng)接收到帶VLAN的數(shù)據(jù)包時(shí),會(huì)識(shí)別數(shù)據(jù)包中帶的VLAN是否跟該端口所標(biāo)示的VLAN一致,如果是一致的則進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),如果不一致將丟棄該數(shù)據(jù)包。由于從Trunk端口出去的數(shù)據(jù)包都是帶標(biāo)簽的,一般用于交換機(jī)之間的連接端口。
Hybrid類(lèi)型的端口可以屬于多個(gè)VLAN,可以接收和發(fā)送多個(gè)VLAN的數(shù)據(jù)包,其默認(rèn)的pvid為1,當(dāng)接收不帶標(biāo)簽的數(shù)據(jù)包時(shí),將數(shù)據(jù)包打上默認(rèn)pvid標(biāo)簽,其與Trunk端口的區(qū)別在于,當(dāng)Hybrid端口發(fā)送數(shù)據(jù)包時(shí),可以通過(guò)不同的設(shè)置選擇是否解標(biāo)簽,所以Hybrid端口既可以接計(jì)算機(jī)也可以接交換機(jī)。
在MSAP中業(yè)務(wù)卡由于本身局限性無(wú)法實(shí)現(xiàn)QinQ技術(shù)的情況下,通過(guò)對(duì)匯聚卡實(shí)現(xiàn)QinQ,將業(yè)務(wù)卡向匯聚卡匯聚,在匯聚卡的千兆網(wǎng)口實(shí)現(xiàn)雙層標(biāo)簽的輸出。由于業(yè)務(wù)卡無(wú)法識(shí)別雙層標(biāo)簽數(shù)據(jù)包,所以必須保證雙標(biāo)簽經(jīng)過(guò)匯聚卡后,解掉外層標(biāo)簽。
本文主要是基于Marvell6095來(lái)驅(qū)動(dòng)和實(shí)現(xiàn)靈活的QinQ。QinQ技術(shù)的封裝大致分為兩類(lèi),一類(lèi)是基于端口的QinQ,通過(guò)對(duì)交換芯片端口的設(shè)置,完成不同的端口選擇加標(biāo)或者去標(biāo);另一類(lèi)是基于數(shù)據(jù)流的QinQ,顧名思義就是不局限于端口的設(shè)置,而是根據(jù)不同業(yè)務(wù)的數(shù)據(jù)包進(jìn)行不同的設(shè)置[8]。本文是業(yè)務(wù)卡通過(guò)端口向GE卡匯聚實(shí)現(xiàn)QinQ,因此采用的是基于端口的QinQ。
業(yè)務(wù)卡通過(guò)機(jī)框的背板總線向匯聚卡作向上匯聚(如圖4所示),不同槽號(hào)業(yè)務(wù)卡的MII口匯聚到Marvell6095不同的百兆口,最后匯聚業(yè)務(wù)通過(guò)Marvell6095的千兆口輸出。業(yè)務(wù)卡通過(guò)交叉連接盤(pán)配置業(yè)務(wù)、接SDH設(shè)備,再經(jīng)過(guò)E1協(xié)轉(zhuǎn)和光纖收發(fā)器將2M業(yè)務(wù)接到用戶(hù)端,用戶(hù)端接電腦時(shí)業(yè)務(wù)端口模式用Access,接交換機(jī)時(shí)端口模式用Trunk。具體實(shí)現(xiàn)步驟如圖5所示。
1)針對(duì)匯聚卡的兩個(gè)千兆口設(shè)置QinQ使能。由于匯聚卡的千兆口是與MSTP設(shè)備對(duì)接,針對(duì)不同的需求,用戶(hù)可能需要兩個(gè)千兆口對(duì)應(yīng)不同的業(yè)務(wù),一個(gè)是雙層標(biāo)簽,一個(gè)是單層標(biāo)簽。
2)設(shè)置端口保護(hù),千兆口業(yè)務(wù)量大,一旦鏈路發(fā)生問(wèn)題,后果較嚴(yán)重,用戶(hù)可以根據(jù)需要設(shè)置端口保護(hù),一旦設(shè)置保護(hù)后,當(dāng)一個(gè)端口的業(yè)務(wù)出現(xiàn)問(wèn)題,另外一個(gè)端口仍然可以正常工作,設(shè)置端口保護(hù)后,兩個(gè)千兆口的VLAN設(shè)置和QinQ設(shè)置自動(dòng)保持一致。
3)業(yè)務(wù)盤(pán)的MII上聯(lián)口加入內(nèi)層標(biāo)簽,匯聚盤(pán)的百兆口和千兆口既要加入內(nèi)層標(biāo)簽又要加入外層標(biāo)簽,且百兆口和千兆口加入外層標(biāo)簽時(shí)的模式不同,以保證從千兆口輸出的數(shù)據(jù)包是雙層標(biāo)簽,從百兆口出去的數(shù)據(jù)包是單層標(biāo)簽。
調(diào)用Marvell6095提供的API函數(shù)根據(jù)用戶(hù)設(shè)置外層標(biāo)簽還是外層標(biāo)簽,對(duì)端口做不同設(shè)置。
調(diào)用Marvell6095芯片的API函數(shù)設(shè)置內(nèi)層標(biāo)簽:
調(diào)用Marvell6095的API函數(shù)設(shè)置外層標(biāo)簽:
以太網(wǎng)測(cè)試儀抓包驗(yàn)證截圖如圖6~圖11所示。
QinQ技術(shù)的出現(xiàn),不僅解決了傳統(tǒng)802.1Q VLAN數(shù)量緊缺的問(wèn)題,而且大大減少VLAN規(guī)劃復(fù)雜性和標(biāo)簽的占用,通過(guò)對(duì)內(nèi)層標(biāo)簽和外層標(biāo)簽的設(shè)置,對(duì)業(yè)務(wù)進(jìn)行區(qū)分并分流,最終保證不同業(yè)務(wù)的QoS[4]。本實(shí)現(xiàn)方案已成功運(yùn)用在作者所屬單位的MSAP_622設(shè)備中。
本文的創(chuàng)新點(diǎn):1)在設(shè)備本身不具備QinQ功能的情況下,通過(guò)創(chuàng)新設(shè)計(jì)實(shí)現(xiàn)QinQ;2)在實(shí)現(xiàn)QinQ的基礎(chǔ)上,通過(guò)提供QinQ使能和端口保護(hù),保證滿(mǎn)足不同用戶(hù)的多樣需求。
[1]胡逾峰.QinQ技術(shù)的原理及在上海電信的應(yīng)用[J].計(jì)算機(jī)與信息技術(shù),2007(3):27-28.
[2]王軍,林其偉.基于以太網(wǎng)的寬帶接入技術(shù)[J].電視技術(shù),2003,27(5):23-25.
[3]邊永濤.靈活QinQ技術(shù)在校園網(wǎng)中的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010(4):125-126.
[4]董喜明.QinQ技術(shù)在城域以太網(wǎng)組網(wǎng)中的應(yīng)用[J].計(jì)算機(jī)工程與科學(xué),2005(6):18-20.
[5]IEEE802.1Q,Local and metropolitan area network virtual bridged local area network[S].1998.
[6]IEEE802.1Q,Local and metropolitan area network virtual bridged local area network[S].2006.
[7]邊永濤,左明.QinQ模式下標(biāo)簽透?jìng)鞯脑O(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010(19):4158-4160.
[8]劉琪.基于Marvell芯片的全靈活QinQ的驅(qū)動(dòng)及研究[J].計(jì)算機(jī)與現(xiàn)代化,2011(3):92-94.