網路與 IP

VLAN 是什麼意思:一台交換器怎樣分出多個廣播域

VLAN(Virtual LAN,虛擬區域網)是在交換器上用編號把連接埠分組,每組是一個獨立的廣播域:同一 VLAN 的連接埠之間正常二層通訊,不同 VLAN 之間互不可見,就像接在不同的交換器上。這個編號就是 VLAN ID,取值 1–4094;幀經過多個 VLAN 共用的鏈路時,靠 802.1Q 標籤(tag)攜帶它。

作者 頂聯產品團隊發布於 6 分鐘閱讀

VLAN 是什麼意思?VLAN 是 Virtual Local Area Network 的縮寫,中文叫虛擬區域網。它在一台物理交換器上劃出多個邏輯上的區域網:交換器給每個連接埠指定一個編號,也就是 VLAN ID,只在編號相同的連接埠之間轉發幀,廣播也只發給同一 VLAN 的連接埠。於是一台 48 口交換器可以同時承載業務網、管理網和 IPMI 網,彼此在二層上互不相通,效果和用三台交換器分別組網一樣。VLAN 的標準是 IEEE 802.1Q,VLAN ID 是一個 12 位的二進位制數,可用範圍 1–4094。

沒有 VLAN 時,一台交換器就是一個廣播域

交換器轉發靠 MAC 位址表:每收到一個幀,先記下源 MAC 來自哪個連接埠,再按目的 MAC 查表,查到了就只從對應連接埠發出。查不到的目的 MAC(未知單播),以及目的位址為 FF:FF:FF:FF:FF:FF 的廣播幀,會被泛洪到除來源連接埠以外的所有連接埠。

ARP 請求、DHCP 發現報文都是廣播。在一台出廠配置的交換器上,所有連接埠預設都在 VLAN 1,24 個連接埠就是一個廣播域:任何一台伺服器發出的 ARP 請求,其餘 23 個連接埠都會收到,伺服器之間在二層上完全可見。想把資料庫伺服器和對外的 Web 伺服器隔開,或者把 BMC 管理口單獨組一個網,在沒有 VLAN 的年代只能多買交換器、分開佈線。

交換器怎樣用 VLAN 把廣播域切開

劃了 VLAN 之後,交換器多做了三件事:

  1. 給每個連接埠分配 VLAN:例如 1–4 口屬於 VLAN 10,5–8 口屬於 VLAN 20。
  2. 給每個進入的幀確定所屬 VLAN:從 3 口進來的幀,在交換器內部就屬於 VLAN 10。
  3. 按 VLAN 查表、按 VLAN 泛洪:MAC 位址表以“VLAN + MAC”為索引,廣播和未知單播只發往同一 VLAN 的其他連接埠。

以一台 8 口交換器為例,假設 1 口的伺服器已經知道其他伺服器的 MAC:

來源 幀 交換器怎麼處理 送到哪些連接埠
1 口(VLAN 10) ARP 廣播 在 VLAN 10 內泛洪 2、3、4 口
5 口(VLAN 20) ARP 廣播 在 VLAN 20 內泛洪 6、7、8 口
1 口(VLAN 10) 發給 2 口伺服器的單播 在 VLAN 10 的表項裡查到 2 口 只有 2 口
1 口(VLAN 10) 發給 6 口伺服器的單播 這個 MAC 只學在 VLAN 20 裡,VLAN 10 查不到,按未知單播在 VLAN 10 內泛洪 2、3、4 口,6 口永遠收不到

最後一行說明了隔離從何而來:交換器根本不會把 VLAN 10 的幀送到 VLAN 20 的連接埠上。在思科交換器上看 MAC 位址表,第一列就是 VLAN:

Switch# show mac address-table dynamic
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
  10    0050.56a1.0001    DYNAMIC     Gi1/0/1
  10    0050.56a1.0002    DYNAMIC     Gi1/0/2
  20    0050.56a1.0005    DYNAMIC     Gi1/0/5

華為、H3C 用 display mac-address 檢視,輸出裡同樣有 VLAN 一列。同一個 MAC 如果同時出現在兩個 VLAN 裡,會是兩條互不相干的表項。

VLAN 10 和 VLAN 20 的伺服器要通訊,只能離開二層,由三層裝置轉發:在三層交換器上為每個 VLAN 建一個虛擬介面作閘道器,或者交給路由器、防火牆。所以劃分 VLAN 時,每個 VLAN 要配一個獨立的子網。

VLAN ID 和 tag 是什麼關係

這兩個詞經常混用,其實是兩回事:VLAN ID 是 VLAN 的編號,是交換器給每個連接埠、每個幀定下的歸屬;tag 是把這個編號寫進乙太網幀的方式,只有幀經過一條承載多個 VLAN 的鏈路時才需要。

設想兩台交換器之間只有一根線,VLAN 10 和 VLAN 20 都要從這根線過去。對端收到一個幀,憑什麼判斷它屬於哪個 VLAN?辦法是傳送方在幀的源 MAC 之後插入 4 位元組的 802.1Q 標籤,其中 12 位就是 VLAN ID,對端讀出編號,再把幀歸入對應的 VLAN。幀在不同位置的狀態如下:

位置 幀上有沒有 tag VLAN 歸屬從哪來
伺服器網路卡發往交換器的 access 口 沒有 交換器按連接埠所屬的 VLAN 指定
交換器內部 每個幀都帶著內部的 VLAN 歸屬 來自連接埠或 tag
交換器與交換器之間(trunk) 有,寫著 VLAN ID 讀 tag
交換器與虛擬化宿主機之間(trunk) 有 宿主機按 tag 把幀分給不同的虛擬機器網路
交換器 access 口發往伺服器 沒有,發出前去掉 —

所以普通伺服器根本不需要知道自己在哪個 VLAN,它收發的是普通乙太網幀,VLAN 完全由交換器連接埠決定;只有交換器之間、交換器與宿主機之間的鏈路才“說” 802.1Q。至於每種連接埠具體怎樣收發帶標籤和不帶標籤的幀,屬於 access、trunk、hybrid 連接埠模式的話題,這裡不展開。

VLAN ID 的取值也有講究:

VLAN ID 用途
0 不代表任何 VLAN,tag 裡只攜帶優先順序
1 預設 VLAN,所有連接埠出廠都在其中,不能刪除,不建議承載業務
2–1001 普通範圍,可以自由使用
1002–1005 思科保留給早期的 FDDI 和令牌環,不能使用;華為、H3C 沒有這個限制
1006–4094 思科稱為擴充套件範圍,早期 IOS 要在 VTP 透明模式或 VTP v3 下才能建立,以裝置版本為準
4095 保留,不能使用

另外,部分型號會佔用一段 VLAN 作內部用途,例如思科 Nexus 系列預設保留從 3968 開始的一段 VLAN;一些 Catalyst 平台會從 1006 起給三層口分配內部 VLAN,可用 show vlan internal usage 檢視。具體範圍隨型號和版本而定。規劃全網 VLAN 編號前,先查清楚每種裝置有沒有這類保留段。

VLAN 和物理網段有什麼區別

“物理網段”指一個網段獨佔一台或一組交換器,誰和誰在一起由物理連線決定;VLAN 則由配置決定。機房裡兩種做法都有,區別如下:

對比項 物理網段(一個網一套交換器) VLAN(一台交換器分多個網)
隔離方式 物理上不相連 交換器按 VLAN ID 隔離,由配置決定
裝置與佈線 每個網段一套交換器、一套線 共用交換器,跨交換器靠一條 trunk 承載多個 VLAN
調整網段歸屬 到現場換線、換交換器 改連接埠的 VLAN 配置
同一網段跨機櫃、跨樓層 要為這個網段單獨拉線 在 trunk 上放行該 VLAN 即可延伸
頻寬 每個網段獨享自己的交換器和上聯 多個 VLAN 共享連接埠、上聯和交換容量
故障影響 一台交換器壞了隻影響一個網段 交換器壞了,上面所有 VLAN 一起斷
配置出錯的後果 很難誤連 連接埠劃錯 VLAN、trunk 放行錯,網段就串了
適合 必須物理隔離的網路 絕大多數業務網路

機房裡常見的折中是:業務網用 VLAN 劃分;帶外管理網(伺服器 IPMI 口、交換器管理口)至少放進獨立的 VLAN,條件允許時用獨立的交換器,保證業務網出問題時還能遠端進去處理。

VLAN 和子網也不是一回事

VLAN 是二層概念,決定幀能到達哪些連接埠;子網是三層概念,決定主機認為誰和自己在同一網段、要不要經過閘道器。兩者通常一一對應,但交換器不會替你檢查。常見的兩種錯配:

  • 一個 VLAN 裡放兩個子網:10.0.10.0/24 和 10.0.20.0/24 的伺服器都在 VLAN 10。它們之間要經過閘道器才能通訊,看上去像是隔離了,但仍在同一個廣播域裡,彼此的 ARP、DHCP 廣播照收不誤,一台私設的 DHCP 伺服器就能讓另一個子網的機器拿錯位址。
  • 一個子網拆到兩個 VLAN:10.0.10.0/24 的伺服器一半在 VLAN 10、一半在 VLAN 20。主機認為對方和自己在同一網段,直接發 ARP 找對方,而 ARP 廣播過不了 VLAN 邊界,結果互相不通,也不會轉去找閘道器。

VLAN 交換器:什麼樣的交換器能劃 VLAN

“VLAN 交換器”不是一種單獨的裝置,指的是支援 802.1Q 的交換器。按能力可以分成四類:

交換器型別 能否劃分 802.1Q VLAN 能否在 VLAN 之間路由 機房裡的位置
非網管交換器(傻瓜交換器) 不能,沒有配置介面 不能 只適合臨時擴口,不建議放進生產網路
簡易網管、智慧交換器 多數支援;部分只提供本機有效的“連接埠 VLAN”,不打 802.1Q 標籤,不能跨交換器延伸 不能 小型辦公、監控網
二層網管交換器 支援,有 access、trunk 等連接埠模式 不能,VLAN 之間要上聯到三層裝置 機櫃接入層
三層交換器 支援 能,用 VLANIF(SVI)作閘道器 匯聚層、核心層

選型時除了看支不支援,還要看規格:單台交換器能同時啟用多少個 VLAN、能建多少個 VLANIF、MAC 表有多大,各型號不同,以產品規格書為準。非網管交換器串在網路裡時,它無法識別 VLAN,接在它下面的裝置不論原本該屬於哪個 VLAN,都會擠在同一個廣播域裡,這是機櫃裡私接小交換器的常見隱患。

在管理系統裡怎麼落地

理解了 VLAN 和子網的關係,就會發現日常出問題的往往不是概念,而是對應關係:某個連接埠划進了哪個 VLAN、這個 VLAN 配的是哪個網段,台帳和裝置上的實際配置是否一致。Toplink DCIM 的交換器管理在伺服器列表裡顯示每台機器所接的交換器連接埠、速率和 VLAN,客戶上線或遷移時在網頁上修改連接埠 VLAN,系統按廠商指令集翻譯成命令下發;IP 位址管理為每個位址段登記所在的 VLAN 和閘道器所在的交換器。連接埠的 VLAN 和位址段的 VLAN 兩邊一對照,上面說的“一個 VLAN 兩個子網”“一個子網拆進兩個 VLAN”這類錯配就容易發現。

常見問題

為什麼不建議把業務放在 VLAN 1?

VLAN 1 是兜底的 VLAN:沒做配置就接上的裝置會直接落進來,思科的 CDP、VTP、DTP 等二層協議報文預設也在 VLAN 1 上收發。業務混在裡面,誤接入的裝置就能看到業務廣播,所以業務和管理都應放進單獨建立的 VLAN,讓 VLAN 1 保持空閒。

VLAN 不夠用怎麼辦?

802.1Q 的 VLAN ID 只有 12 位,可用 4094 個。運營商和機房常用 QinQ(IEEE 802.1ad)在原有標籤外再套一層外層標籤,內外兩層組合可以區分約 1,676 萬(4094 × 4094)個網路;雲平台則多用 VXLAN,以 24 位的 VNI 標識網段。

VLAN 和 VLANIF 是什麼關係?

VLAN 是二層的廣播域;VLANIF 是三層交換器為某個 VLAN 建的虛擬三層介面,思科叫 SVI(介面名形如 Vlan10),配上 IP 位址後充當這個 VLAN 的閘道器。一個 VLAN 如果既沒有 VLANIF,也沒有接到路由器或防火牆上的閘道器,內部能互通,但出不了這個 VLAN。

想看看在你的機房裡怎麼用?

從一次產品示範開始,梳理你的業務鏈路。

查看價格
服務熱線 400-112-2951

讓我們聊聊你的 IDC 業務

掃碼新增企業微信,預約產品示範或申請試用。

Toplink 企業微信二維碼

長按儲存或使用企業微信 / 微信掃描

也可致電
400-112-2951
Telegram
@TopLink88