關注「開源Linux」,選擇“設為星標”
回復「學習」,有我為您特別篩選的學習資料~
文章來源:朱仕耿個人博客
一位同事問了個關於二層和三層端口的概念及區分,以及關於VLANIF、PVID的問題。感覺不少人有類似的困惑。簡單聊了幾句,把一些交流的內容貼一下,供參考。
二層接口,可以簡單理解為只具備二層交換能力的接口,例如二層交換機的物理接口,或者三層交換機的物理接口(一般而言,這些接口缺省時為二層模式,某些款型具備切換為三層模式的能力)。
二層接口不能直接配置IP地址,並且不直接終結廣播幀。二層接口收到廣播幀后,會將其從同屬一個廣播域(VLAN)的所有其他接口泛洪出去。
三層接口維護IP地址與MAC地址。
三層接口終結廣播幀,三層接口在收到廣播幀后,不會進行泛洪處理。
二層接口在收到單播幀后,會在MAC表中查詢該數據幀的目的MAC地址,然后依據表項指引進行轉發,如果沒有任何表項匹配,則進行泛洪。三層接口在收到單播幀后,首先判斷其目的MAC地址是否為本地MAC地址,如果是,則將數據幀解封裝,並解析出報文目的IP地址,然后進行路由查詢及轉發。因此二層接口與三層接口在數據處理行為上也存在明顯差異。
二層接口有幾種類型(這里說的是以太網二層接口):access、trunk、hybrid。三層接口則沒有上述類型。
三層接口有物理形態的,也有邏輯形態的,典型的物理接口如路由器的三層物理端口;邏輯接口如VLANIF,以及以太網子接口,例如GE0/0/1.1。等等。VLANIF與其關聯的VLAN的VLAN-ID對應(例如VLANIF10對應VLAN10,VLANIF10作為一個三層邏輯接口,可以與同屬於VLAN10的設備直接進行二層通信),而以太網子接口,通常也會綁定相應的VLAN-ID,從而與相應的VLAN對接。這兩種典型的三層接口均可以直接配置IP地址。
在以太網二層交換網絡里,VLAN是一個非常基礎的東西。每個VLAN都是一個邏輯的廣播域,每個VLAN都使用對應的ID進行標識,這是VLAN-ID。
接口缺省VLAN標識,即PVID(Port Default VLAN ID),指的是二層接口上的缺省VLAN-ID(每個二層接口上有且只有一個VLAN-ID作為PVID),也就是說,PVID必定是某一個具體VLAN的VLAN-ID。PVID的作用是,當這個接口收到了流量,並且該流量不攜帶任何802.1Q Tag(VLAN-ID信息),該接口便認為這些流量屬於PVID對應的VLAN。當然,PVID還會影響接口發送數據幀,這里不再贅述。缺省情況下,所有接口的PVID均為VLAN1。
-
對於Access接口,缺省VLAN就是它允許通過的VLAN,修改接口允許通過的VLAN即可更改接口的缺省VLAN。
對於Trunk接口和Hybrid接口,一個接口可以允許多個VLAN通過,但是只能有一個缺省VLAN,修改接口允許通過的VLAN不會更改接口的缺省VLAN,即變更接口的缺省VLAN(PVID)需要使用特定的命令。
三層接口未必一定對應VLAN-ID,例如路由器的三層物理接口,就不維護關於VLAN-ID的相關信息,當然,該接口也無法識別攜帶VLAN-ID的數據幀,除非你基於這個物理接口創建了邏輯子接口,並通過該子接口與相應的VLAN對接。
在三層交換機上,每個VLAN都有對應的VLANIF,VLANIF指的是VLAN對應的邏輯三層接口,這個三層接口在VLAN被創建后可以直接賦予IP地址,具備路由轉發能力。一個VLAN對應一個VLANIF,VLAN與VLANIF的標識相同。
關注「開源Linux」加星標,提升IT技能