Access、Trunk、Hybrid三种端口收发规则以及tagged端口和untagged端口的区别
首先了解這三個(gè)端口之前我們先來講一下vid和pvid
? ?VID(VLAN ID)是VLAN 的標(biāo)識(shí),定義其中的端口可以接收發(fā)自這個(gè)VLAN的包;而PVID(PORT VLAN ID )定義這個(gè)untag端口可以轉(zhuǎn)發(fā)哪個(gè)vlan的包。簡單的來說,vid是數(shù)據(jù)幀屬于哪個(gè)vlan,而pvid是定義端口具體發(fā)送哪個(gè)vlan的數(shù)據(jù)幀。一個(gè)端口可以屬于多個(gè)VLAN,但是只能有一個(gè)PVID,收到一個(gè)不帶tag頭的數(shù)據(jù)包時(shí),會(huì)打上PVID所表示的VLAN號(hào),視同該VLAN的數(shù)據(jù)包處理。注意:vid是在數(shù)據(jù)幀中才有的,而pvid是在端口中才有的。
Access、Trunk、Hybrid端口收發(fā)規(guī)則
Access
收到一個(gè)報(bào)文時(shí)候,判斷數(shù)據(jù)幀是否有VLAN信息,也就是vid:如果沒有則打上端口的PVID,并進(jìn)行轉(zhuǎn)發(fā),如果有則直接丟棄。
發(fā)送報(bào)文?:去封裝,將報(bào)文的VLAN信息剝掉,然后再轉(zhuǎn)發(fā)。
? ? ?
Trunk
收到一個(gè)報(bào)文時(shí)候,判斷數(shù)據(jù)幀是否有VLAN信息,也就是vid,如果沒有則打上端口的PVID,并進(jìn)行轉(zhuǎn)發(fā),如果有判斷該trunk端口的pvid是否允數(shù)據(jù)幀進(jìn)入,可以就轉(zhuǎn)發(fā),否則丟棄。
發(fā)送報(bào)文: 看端口的PVID和發(fā)送數(shù)據(jù)幀的VLAN信息,如果兩者相等則剝掉VLAN信息,再轉(zhuǎn)發(fā),如果不相等則直接轉(zhuǎn)發(fā)。
具體可以在看一下這張圖,不同的數(shù)據(jù)幀進(jìn)入不同的端口,收發(fā)規(guī)則也是不一樣的,這張圖中的不識(shí)別其實(shí)吧就是丟棄
Hybrid
Hybrid端口是可以連接pc,也可以連接交換機(jī)的,當(dāng)收到一個(gè)數(shù)據(jù)幀時(shí),如果這個(gè)數(shù)據(jù)幀沒有tag,就打上端口的pvid,如果打上tag,判斷是否是在端口的允許列表內(nèi)。不是就直接丟棄
轉(zhuǎn)發(fā)數(shù)據(jù)時(shí),判斷數(shù)據(jù)幀是否打上tag,如果沒有轉(zhuǎn)發(fā)時(shí)就打上端口的pvid,如果有,判斷有沒有在允許列表里面,如果沒有就直接丟棄數(shù)據(jù),如果允許 ,還要看是要?jiǎng)兊魌ag轉(zhuǎn)發(fā)還是,不剝掉tag轉(zhuǎn)發(fā)。
這其中的tag和untag我們可以理解為兩個(gè)動(dòng)詞,也就是封裝和去封裝。
tag端口和untag端口的區(qū)別
端口接收數(shù)據(jù)幀時(shí),如果端口是tag,當(dāng)數(shù)據(jù)幀沒有VLAN的話,進(jìn)去的數(shù)據(jù)幀就加上pvid,如果數(shù)據(jù)幀已經(jīng)有VLAN,那就不需要再添加。
如果端口是untag,進(jìn)去的數(shù)據(jù)幀都要加上pvid。
端口發(fā)送數(shù)據(jù)幀,如果端口是tag,如果端口的pvid等于發(fā)送的數(shù)據(jù)幀的vid,你那就剝離數(shù)據(jù)幀的vid,如果不一樣,則數(shù)據(jù)幀不進(jìn)行去封裝,直接轉(zhuǎn)發(fā)出去。
如果是端口是untagged方式,端口pvid是否等于數(shù)據(jù)幀的vid,都將數(shù)據(jù)幀的vid去掉之后再進(jìn)行轉(zhuǎn)發(fā)。
?
本課程講完,歡迎私信
總結(jié)
以上是生活随笔為你收集整理的Access、Trunk、Hybrid三种端口收发规则以及tagged端口和untagged端口的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Leetcode][第207题][JA
- 下一篇: C++--Qt使用Http协议