車載以太網(wǎng)交換機(jī)入門基本功(2)— 初識VLAN
在《交換機(jī)入門基本功 -上》提到,交換機(jī)在物理層面劃分通信區(qū)域并產(chǎn)生局域網(wǎng)(Local Area Network, LAN)。局域網(wǎng)具有一個(gè)特點(diǎn):連線拓?fù)湟坏┐_定,一定時(shí)間內(nèi)不會發(fā)生通信區(qū)域的變動。在實(shí)際通信過程中,廣播報(bào)文和未知目的地址的單播報(bào)文,需要通知到所有設(shè)備。通信區(qū)域的大小,影響了這個(gè)過程中需要通知設(shè)備的多少。然而,對設(shè)備不加選擇的廣播會造成廣播泛濫。交換機(jī)此時(shí)并不具備設(shè)備選擇的功能,通信區(qū)域內(nèi)的所有設(shè)備們此時(shí)別無選擇,只能不斷地被“打擾”(“i”設(shè)備表示:交換機(jī)這個(gè)“e人”好可怕,默默哭泣ㄒoㄒ~~)。而且,這種廣播泛濫還會占用帶寬,造成線路沖突和性能下降等問題,甚至可能造成網(wǎng)絡(luò)癱瘓。
要解決這個(gè)問題,一個(gè)簡單的想法是:改變局域網(wǎng)內(nèi)的連線拓?fù)洌@是否可行呢?答案是有用,但不多。理由很簡單,如果只需要偶爾改變連線拓?fù)洌看沃桓淖円粌蓚€(gè)設(shè)備,那就只是幾根網(wǎng)線的拔插工作。但如果需要頻繁改變通信區(qū)域,或者存在多個(gè)通信區(qū)域、且每次涉及的設(shè)備很多呢?千手觀音都得說:這活太累了……
圖 1 “千手觀音”哭泣
聰明的小伙伴可能會想到,如果不改變物理連線,而是限制報(bào)文的傳播路徑,讓它們只能在特定范圍內(nèi)進(jìn)行轉(zhuǎn)發(fā)呢?沒錯(cuò),天無絕人之路,既然改變不了物理世界,那就在虛擬世界里大展身手,就是虛擬局域網(wǎng)(Virtual Local Area Network, VLAN)的來源!
VLAN技術(shù)在邏輯層面上,將局域網(wǎng)劃分成多個(gè)區(qū)域,每個(gè)區(qū)域是獨(dú)立的廣播域,區(qū)域內(nèi)可以進(jìn)行廣播通信,區(qū)域間不能進(jìn)行直接通信。這樣,無需修改實(shí)際的連線拓?fù)?,就可以快速劃分和修改廣播域,可操作性和應(yīng)變能力大大增強(qiáng)。設(shè)想一下,你一邊在小組群討論小組作業(yè)怎么寫,一邊在宿舍群討論晚上吃什么,要是兩個(gè)群的信息可以互相看到,那豈不是亂了套?!這種分群討論方式的好處還有:如果臨時(shí)加入了一名小組成員,那么只需要把這個(gè)人拉到小組群里就可以繼續(xù)討論,并不會影響之前的工作,簡直不要太方便!
那么,小伙伴可能又要問了:這么方便的VLAN,究竟是用了什么“魔法”做到的呢?
神秘的魔法就是:VLAN ID ,簡稱VID,即不同VLAN的編號。通過在報(bào)文內(nèi)增加額外字段,標(biāo)明報(bào)文的VID,說明報(bào)文要在哪個(gè)VLAN下進(jìn)行傳輸。
VLAN報(bào)文結(jié)構(gòu)
攜帶VID的報(bào)文結(jié)構(gòu)遵循IEEE的802.1Q協(xié)議。IEEE(Institute of Electrical and Electronics Engineers)電氣電子工程師學(xué)會,在電氣及電子工程、計(jì)算機(jī)及其他技術(shù)領(lǐng)域做出卓越貢獻(xiàn),引領(lǐng)新技術(shù)發(fā)展步伐,制定國際和行業(yè)標(biāo)準(zhǔn)。802.1Q協(xié)議在MAC(Media Access Control)報(bào)文的基礎(chǔ)上,定義了VLAN的標(biāo)準(zhǔn)化實(shí)現(xiàn)方案。
首先介紹下不帶VLAN的MAC報(bào)文,有兩種格式,分別是IEEE 802.3在1982年頒布的格式,和以太網(wǎng)V2在1983年頒布的格式,二者只在部分字段有所區(qū)別,格式如圖 2和圖 3:
圖 2 IEEE 802.3的MAC報(bào)文格式
圖 3 以太網(wǎng)V2的MAC報(bào)文格式
每個(gè)字段的含義如下:
PRE:Preamble前導(dǎo)碼,長度為8個(gè)字節(jié)(一個(gè)字節(jié)有8位bit),用于時(shí)間同步,通常是連續(xù)的“10”值。
DA:Destination Address目的地址,長度為6個(gè)字節(jié),表明該報(bào)文要發(fā)送到特定的MAC地址。
SA:Source Address源地址,長度為6個(gè)字節(jié),表明發(fā)送該報(bào)文的MAC地址。
L/T:Length/Type,表明報(bào)文的長度/類型,長度2個(gè)字節(jié);L長度字段取值在0-1500之間,T類型字段取值大于1536,1500-1536之間的取值未定義。T類型字段可表明的協(xié)議類型有IPv4、IPv6、ARP等。
DATA:數(shù)據(jù),長度在46-1500字節(jié)之間。
FCS:Frame Check Sequence幀檢測序列,使用CRC(Cyclic Redundancy Check)循環(huán)冗余校驗(yàn)算法,對包括DA、SA、L/T、DATA字段在內(nèi)計(jì)算校驗(yàn)值,確保在傳輸過程中數(shù)據(jù)沒有被篡改。
進(jìn)一步的,在上述MAC報(bào)文格式基礎(chǔ)上,增加VLAN的說明字段。具體格式如圖 4:
圖 4 攜帶VLAN的MAC報(bào)文格式
VLAN的說明字段介于SA和L/T之間,稱之為Tag字段。Tag字段長度為4個(gè)字節(jié),包括TPID和TCI兩個(gè)部分:
TPID:Tag Protocol Identifier,Tag協(xié)議標(biāo)識位,該字段的位置和不帶tag報(bào)文的L/T字段重合,用于區(qū)分報(bào)文是否攜帶tag。
TCI:Tag Control Information,Tag控制信息,包含具體的VLAN控制信息。
TCI字段又可分為三個(gè)部分:
PCP:Priority Code Point優(yōu)先級代碼位,長度為3bit,表明報(bào)文在同個(gè)VLAN內(nèi)的優(yōu)先轉(zhuǎn)發(fā)順序,需要和交換機(jī)隊(duì)列配合使用,后面會進(jìn)行介紹。
DEI:Drop Eligible Indicator丟棄使能位,長度為1bit,表明在傳輸過程中,如果數(shù)據(jù)過多影響傳輸效率,是否進(jìn)行丟棄處理。取值為0表示不丟棄,1表示丟棄。
VLAN ID:簡稱VID,長度為12bit,表明報(bào)文所屬的VLAN,這也是前文提到的任意劃分廣播域的“魔法”!
除了在報(bào)文內(nèi)增加Tag字段表明報(bào)文所屬的VLAN,還需要依賴交換機(jī)進(jìn)行實(shí)際轉(zhuǎn)發(fā)。其中,交換機(jī)的端口屬性在VLAN轉(zhuǎn)發(fā)過程中非常關(guān)鍵。在《交換機(jī)入門基本功-3》將介紹交換機(jī)端口屬性以及具體的轉(zhuǎn)發(fā)過程。
經(jīng)緯恒潤作為OPEN聯(lián)盟會員和AUTOSAR聯(lián)盟的高級合作伙伴,長期為國內(nèi)外各大OEM和供應(yīng)商提供涵蓋TCP/IP、SOME/IP、DoIP、AVB、TSN、DDS等技術(shù)領(lǐng)域的設(shè)計(jì)和測試咨詢服務(wù),積極研發(fā)和探索車載網(wǎng)絡(luò)前沿技術(shù)和工程應(yīng)用。通過多個(gè)項(xiàng)目的實(shí)踐經(jīng)驗(yàn),已建立了高質(zhì)量、本土化的設(shè)計(jì)與測試一體化解決方案,為整車網(wǎng)絡(luò)架構(gòu)提供可靠支持。
了解更多
請致電 010-64840808轉(zhuǎn)6116 或發(fā)郵件至market_dept@hirain.com(聯(lián)系時(shí)請說明來自EEPW)
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。