在《車載以太網(wǎng)交換機(jī)入門基本功(2)》中提到,報(bào)文通過攜帶Tag字段,表明報(bào)文所屬的VLAN。本文將介紹攜帶Tag報(bào)文在VLAN下的轉(zhuǎn)發(fā)過程。而在實(shí)際轉(zhuǎn)發(fā)過程中,交換機(jī)的端口屬性起到關(guān)鍵作用。
交換機(jī)端口屬性
交換機(jī)的端口屬性包括三大屬性:VID、PVID、Tag/Untag。
· VID
端口所屬的VLAN。只有處在同一個(gè)VLAN下才能通信。當(dāng)攜帶特定VID的廣播報(bào)文發(fā)送至交換機(jī)時(shí),交換機(jī)會(huì)查詢端口的VID屬性,轉(zhuǎn)發(fā)到具有同一個(gè)VID屬性的端口。同一個(gè)端口可以同時(shí)處在不同VLAN下,即一個(gè)端口的VID屬性可能有多個(gè);而不同端口也可以在同一個(gè)VLAN下,即同個(gè)VID下也可能有多個(gè)端口。
· PVID
Port VLAN ID,端口的入口屬性。當(dāng)不帶tag的報(bào)文進(jìn)入交換機(jī)時(shí),端口會(huì)給報(bào)文加上tag,加上的VID是該端口的PVID值。不同于VID屬性,一個(gè)端口只能有一個(gè)PVID屬性。PVID屬性使得交換機(jī)內(nèi)部的報(bào)文都帶tag。
· Tag/Untag
端口的出口屬性,決定了從交換機(jī)端口發(fā)出的報(bào)文是否攜帶tag。Tag 屬性會(huì)保留報(bào)文的tag,Untag屬性會(huì)剝除報(bào)文的tag。
報(bào)文從進(jìn)入交換機(jī)、轉(zhuǎn)發(fā)、從交換機(jī)發(fā)出的過程中,都受到這三個(gè)屬性的影響——PVID影響進(jìn)入過程;VID影響轉(zhuǎn)發(fā)過程;而Tag/Untag影響發(fā)出過程。
轉(zhuǎn)發(fā)過程
涉及到發(fā)送、轉(zhuǎn)發(fā)和接收三個(gè)過程。下面將著眼于報(bào)文在這三個(gè)過程中的變化,細(xì)致了解VLAN是如何起到限制廣播域的作用。
· 轉(zhuǎn)發(fā)
設(shè)備發(fā)出的報(bào)文分為帶tag和不帶tag兩種,都會(huì)發(fā)送到交換機(jī)上。
根據(jù)報(bào)文是否帶tag,交換機(jī)的處理方式有兩種:
- 不帶tag報(bào)文進(jìn)入交換機(jī)時(shí),會(huì)根據(jù)交換機(jī)端口的PVID屬性,加上相應(yīng)的tag,之后按照帶tag報(bào)文的轉(zhuǎn)發(fā)規(guī)則進(jìn)行轉(zhuǎn)發(fā)。
- 帶tag報(bào)文進(jìn)入交換機(jī)后,根據(jù)tag轉(zhuǎn)發(fā)到具有相同VID屬性的端口上,從該端口向外轉(zhuǎn)發(fā)。
· 接收
根據(jù)報(bào)文tag,從相同VID屬性的端口上向外轉(zhuǎn)發(fā)。交換機(jī)向外轉(zhuǎn)發(fā)時(shí),根據(jù)端口的Tag/Untag屬性,決定向外發(fā)送的報(bào)文是否攜帶tag。
以下圖的報(bào)文轉(zhuǎn)發(fā)為例:首先,不帶tag報(bào)文進(jìn)入交換機(jī)端口1,端口1根據(jù)自身的PVID屬性,給報(bào)文加上tag;接著,根據(jù)報(bào)文tag的VID,查詢具有相同VID屬性的端口(這里是端口2),發(fā)給端口2;最后,端口2根據(jù)自身的Tag/Untag屬性,對報(bào)文的tag進(jìn)行保留/剝除處理,并把報(bào)文從端口2發(fā)出。
圖 攜帶VLAN的MAC報(bào)文格式
以上的轉(zhuǎn)發(fā)過程能夠保證同一VLAN下的正常通信,并隔離不同VLAN的通信??雌饋頍o懈可擊,但其中存在一個(gè)小問題:當(dāng)端口收到帶tag報(bào)文,其VID和端口的VID屬性不一致時(shí),交換機(jī)會(huì)采取什么措施嗎?答案是:如果沒有特殊設(shè)置,交換機(jī)照收不誤。因?yàn)樵谏鲜鯲LAN轉(zhuǎn)發(fā)過程中,著重關(guān)注的是報(bào)文“去向何處”,而對于報(bào)文是否來自同一VLAN下的設(shè)備,并不太在意,這就容易造成“敵我不分”。過多的非同一VLAN下的報(bào)文進(jìn)入交換機(jī),會(huì)影響交換機(jī)處理效率,導(dǎo)致通信受阻;更甚者,一旦線路被攔截并偽造信息,這些信息無阻礙的進(jìn)入交換機(jī)后,很可能發(fā)送到其他設(shè)備上,造成無法估量的損失。因此,對進(jìn)入交換機(jī)的報(bào)文,應(yīng)該進(jìn)行一定的審查,這就是端口過濾功能:進(jìn)門前先對暗號(hào)!
開啟端口過濾功能后,上圖的轉(zhuǎn)發(fā)過程中,報(bào)文從端口1進(jìn)入交換機(jī)的過程發(fā)生變化:端口1先提取報(bào)文的VID,判斷自身的VID屬性是否存在該值,如果存在則接收,報(bào)文順利進(jìn)入交換機(jī);否則丟棄報(bào)文。這樣確保報(bào)文的發(fā)送和接收都來自同一VLAN,提高安全性和效率。
端口過濾功能還可以針對源地址和目的地址進(jìn)行設(shè)置,過濾特定的MAC地址,保證線路的專用性。
通過VLAN ID、端口屬性和端口過濾功能,能夠?qū)崿F(xiàn)廣播域的有效限制。但是,當(dāng)多個(gè)報(bào)文需要進(jìn)行轉(zhuǎn)發(fā)時(shí),會(huì)出現(xiàn)擁塞情況。此時(shí),前文提到的PCP優(yōu)先級(jí)就可以派上用場!在《車載以太網(wǎng)交換機(jī)入門基本功(4)》中將詳細(xì)介紹,這也是該系列的最后一篇,敬請期待!
經(jīng)緯恒潤作為OPEN聯(lián)盟會(huì)員和AUTOSAR聯(lián)盟的高級(jí)合作伙伴,長期為國內(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)提供可靠支持。