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