VLAN(Virtual Local Area Network)即虛擬區域網,工作在資料鏈路層。
交換機將通過:介面、MAC、基於子網、協定劃分(IPv4和IPv6)、基於策略的方式劃分VLAN的方式,將接入的裝置進行劃分。
幀 | 特點 |
Ethernet幀 | untag,一般指端裝置可識別 |
802.1q幀 | 在Ethernet幀的基礎上加上Tag欄位,一般用於交換機之間 |
圖1.802.1q幀tag示意圖
因為tag的存在,交換機可以識別選擇性處理資料框,但是終端裝置是無法正常的識別tag,所以交換機需要為出入埠的資料框進行處理。
可以這樣理解,交換機之間使用含tag的語言交流,終端只懂untag語言,所以需要埠承擔不同的工作模式。
PVID(Port Default VLAN ID)指的是埠預設VLAN(埠預設VLAN ID),在實際上設定中,我們實際上是給埠設定pvid,pvid可以理解就是這個介面要處理埠的一個引數,在處理報文時候需要使用。
ps:這裡的收發是站在交換機的角度出發,即入介面為交換機收,同理出介面為交換機發。發的時候交換機不會檢查是否是tag幀還是untag幀,因為從交換機cpu處理過的都是tag幀。
ps:一下簡化一下,untag幀即為標準的乙太網幀,tag幀為帶有vlan的802.1q幀。
[alittlemcSW]interface GigabitEthernet 0/0/1 [alittlemcSW-GigabitEthernet0/0/1]port link-type access [alittlemcSW-GigabitEthernet0/0/1]port default vlan 10
[alittlemcSW]interface GigabitEthernet 0/0/2 [alittlemcSW-GigabitEthernet0/0/2]port link-type trunk [alittlemcSW-GigabitEthernet0/0/2]port trunk allow-pass vlan all [alittlemcSW-GigabitEthernet0/0/2]port trunk pvid vlan 10
注意,Hybrid為華為專有的介面,所以思科銳捷這些是沒有的哦,而且預設華為交換機就預設使用此模式。
[alittlemcSW]interface GigabitEthernet0/0/3 [alittlemcSW-GigabitEthernet0/0/3]port hybrid pvid vlan 10 [alittlemcSW-GigabitEthernet0/0/3]port hybrid tagged vlan 20 30 #允許帶vlan20 30的tag直接通過,對應trunk模式 [alittlemcSW-GigabitEthernet0/0/3]port hybrid untagged vlan 10 100 200 #傳送時將vlan10 100 200的tag欄位剔除,對應access模式
vlan if是交換機虛擬出來的三層介面,可以設定ip,每一個vlan對應一個vlan if,主要用作為vlan閘道器。我們需要通過網路層的路由從而實現不同之間vlan之間資料互訪。 同時也可以實現同vlan不同子網的互訪。
眾所周知,不同vlan可以使用網路層來實現通訊,不同網段使用閘道器的路由來通訊。基於此,我整理了兩個實驗。
使用vlanif IP作為使用者閘道器的情況下都可以實現不同子網、不同VLAN通訊。
vlanif甚至可以和路由器ip一樣很方便的使用:同VLAN下不同網段之間路由,比如某個專案由不同公司負責,一期專案使用了10.10.10.0/24網段、二期使用10.10.20.0/24網段。
圖2.拓撲1
#將1,2,3埠都劃分到vlan10 access [alittlemcSW]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/3 [alittlemcSW-port-group]port link-type access [alittlemcSW-port-group]port default vlan 10
直接設定vlanif sub
[alittlemcSW]interface vlanif 10 [alittlemcSW-Vlanif10]ip address 10.10.10.254 24 [alittlemcSW-Vlanif10]ip adderss 10.10.20.254 24 sub [alittlemcSW-Vlanif10]ip adderss 10.10.31.254 22 sub
基於上次的實驗微調了一下,不同vlan之間的通訊的原理也包含其中啦,只要設定了vlanif,vlanif都在本機內可以直同路由。
圖3.拓撲2
直接上設定。
# interface Vlanif10 ip address 10.10.10.254 255.255.255.0 ip address 10.10.31.254 255.255.252.0 sub # interface Vlanif20 ip address 10.10.20.254 255.255.255.0 # interface GigabitEthernet0/0/1 port link-type access port default vlan 10 # interface GigabitEthernet0/0/2 port link-type access port default vlan 20 # interface GigabitEthernet0/0/3 port link-type access port default vlan 10 #
如果是不同的交換機之間,設定是一樣的,只不過要注意設定靜態路由即可。
QinQ(802.1Q in 802.1Q)也被稱之為VLAN Stacking或Double VLAN。(詳細可見什麼是QinQ? 為什麼需要QinQ? - 華為 (huawei.com))
我們的802.1q幀多了4Byte用於存放Tag,其中VLAN ID佔用12bit,即vlan id的範圍1到4064。但是某些情況下一個需要大量的vlan就可能不夠用,QinQ在乙太網幀中插入了兩段tag資訊,即可以實現儲存4064x4064個vlan的效果。
圖4.QinQ