我們都知道 VLAN 的中文名為"虛擬局域網",VLAN 是一種將局域網設備從邏輯上劃分成一個個不同的網段,從而實現虛擬工作組的新興數據交換技術。這一新興技術主要應用于交換機和路由器中,但主流應用還是在交換機之中。那今天咱們就和海翎光電的小編一起聊聊VLAN的基礎與VLAN的劃分。 一個 VLAN 內部的廣播和單播流量都不會轉發到其他 VLAN 中,從而有助于控制流量、減少設備投資、簡化網絡管理、提高網絡的安全性。交換技術的發展,也加快了新的交換技術(VLAN)的應用速度。通過將企業網絡劃分為虛擬網絡 VLAN網段,可以強化網絡管理和網絡安全,控制不必要的數據廣播。 在同一個 VLAN 中的工作站,不論它們實際與哪個交換機連接,它們之間的通訊就好象在獨立的交換機上一樣。同一個 VLAN 中的廣播只有 VLAN 中的成員才能聽到,而不會傳輸到其他的 VLAN 中去,這樣可以很好的控制不必要的廣播風暴的產生。同時,若沒有路由的話,不同 VLAN 之間不能相互通訊,這樣增加了企業網絡中不同部門之間的安全性。 VLAN 除了能將網絡劃分為多個廣播域,從而有效地控制廣播風暴的發生,以及使網絡的拓撲結構變得非常靈活的優點外,還可以用于控制網絡中不同部門、不同站點之間的互相訪問。 VLAN 是為解決以太網的廣播問題和安全性而提出的一種協議,它在以太網幀的基礎上增加了 VLAN 頭,用 VLAN ID 把用戶劃分為更小的工作組,限制不同工作組間的用戶互訪,每個工作組就是一個虛擬局域網。虛擬局域網的好處是可以限制廣播范圍,并能夠形成虛擬工作組,動態管理網絡。 VLAN 在交換機上的實現方法,可以大致劃分為六類: 這是最常應用的一種 VLAN 劃分方法,應用也最為廣泛、最有效,目前絕大多數VLAN 協議的交換機都提供這種 VLAN 配置方法。這種劃分 VLAN 的方法是根據以太網交換機的交換端口來劃分的,它是將 VLAN 交換機上的物理端口和 VLAN交換機內部的 PVC(永久虛電路)端口分成若干個組,每個組構成一個虛擬網,相當于一個獨立的 VLAN 交換機。 對于不同部門需要互訪時,可通過路由器轉發,并配合基于 MAC 地址的端口過濾。對某站點的訪問路徑上最靠近該站點的交換機、路由交換機或路由器的相應端口上,設定可通過的 MAC 地址集。這樣就可以防止非法入侵者從內部盜用 IP 地址從其他可接入點入侵的可能。 從這種劃分方法本身我們可以看出,這種劃分的方法的優點是定義 VLAN 成員時非常簡單,只要將所有的端口都定義為相應的 VLAN 組即可。適合于任何大小的網絡。它的缺點是如果某用戶離開了原來的端口,到了一個新的交換機的某個端口,必須重新定義。 這種劃分 VLAN 的方法是根據每個主機的 MAC 地址來劃分,即對每個 MAC 地址的主機都配置他屬于哪個組,它實現的機制就是每一塊網卡都對應唯一的 MAC地址,VLAN 交換機跟蹤屬于 VLAN MAC 的地址。這種方式的 VLAN 允許網絡用戶從一個物理位置移動到另一個物理位置時,自動保留其所屬 VLAN 的成員身份。 由這種劃分的機制可以看出,這種 VLAN 的劃分方法的最大優點就是當用戶物理位置移動時,即從一個交換機換到其他的交換機時,VLAN 不用重新配置,因為它是基于用戶,而不是基于交換機的端口。 這種方法的缺點是初始化時,所有的用戶都必須進行配置,如果有幾百個甚至上千個用戶的話,配置是非常累的,所以這種劃分方法通常適用于小型局域網。而且這種劃分的方法也導致了交換機執行效率的降低,因為在每一個交換機的端口都可能存在很多個 VLAN 組的成員,保存了許多用戶的 MAC 地址,查詢起來相當不容易。 另外,對于使用筆記本電腦的用戶來說,他們的網卡可能經常更換,這樣 VLAN就必須經常配置。 VLAN 按網絡層協議來劃分,可分為 IP、IPX、DECnet、AppleTalk、Banyan 等VLAN 網絡。這種按網絡層協議來組成的 VLAN,可使廣播域跨越多個 VLAN 交換機。這對于希望針對具體應用和服務來組織用戶的網絡管理員來說是非常具有吸引力的。而且,用戶可以在網絡內部自由移動,但其 VLAN 成員身份仍然保留不變。 這種方法的優點是用戶的物理位置改變了,不需要重新配置所屬的 VLAN,而且可以根據協議類型來劃分 VLAN,這對網絡管理者來說很重要,還有,這種方法不需要附加的幀標簽來識別 VLAN,這樣可以減少網絡的通信量。這種方法的缺點是效率低,因為檢查每一個數據包的網絡層地址是需要消耗處理時間的(相對于前面兩種方法),一般的交換機芯片都可以自動檢查網絡上數據包的以太網禎頭,但要讓芯片能檢查 IP 幀頭,需要更高的技術,同時也更費時。當然,這與各個廠商的實現方法有關。 IP 組播實際上也是一種 VLAN 的定義,即認為一個 IP 組播組就是一個 VLAN。這種劃分的方法將 VLAN 擴大到了廣域網,因此這種方法具有更大的靈活性,而且也很容易通過路由器進行擴展,主要適合于不在同一地理范圍的局域網用戶組成一個 VLAN,不適合局域網,主要是效率不高。 基于策略組成的 VLAN 能實現多種分配方法,包括 VLAN 交換機端口、MAC 地址、IP 地址、網絡層協議等。網絡管理人員可根據自己的管理模式和本單位的需求來決定選 基于用戶定義、非用戶授權來劃分 VLAN,是指為了適應特別的 VLAN 網絡,根據具體的網絡用戶的特別要求來定義和設計 VLAN,而且可以讓非 VLAN 群體用戶訪問 VLAN,但是需要提供用戶密碼,在得到 VLAN 管理的認證后才可以加入一個 VLAN。 任何新技術要得到廣泛支持和應用,肯定存在一些關鍵優勢,VLAN 技術也一樣,它的優勢主要體現在以下幾個方面: 借助 VLAN 技術,能將不同地點、不同網絡、不同用戶組合在一起,形成一個虛擬的網絡環境,就像使用本地 LAN 一樣方便、靈活、有效。VLAN 可以降低移動或變更工作站地理位置的管理費用,特別是一些業務情況有經常性變動的公司使用了 VLAN 后,這部分管理費用大大降低。 VLAN 可以提供建立防火墻的機制,防止交換網絡的過量廣播。使用 VLAN,可以將某個交換端口或用戶賦于某一個特定的 VLAN 組,該 VLAN 組可以在一個交換網中或跨接多個交換機, 在一個 VLAN 中的廣播不會送到 VLAN 之外。同樣,相鄰的端口不會收到其他 VLAN 產生的廣播。這樣可以減少廣播流量,釋放帶寬給用戶應用,減少廣播的產生。 因為一個 VLAN 就是一個單獨的廣播域,VLAN 之間相互隔離,這大大提高了網絡的利用率,確保了網絡的安全保密性。人們在 LAN 上經常傳送一些保密的、關鍵性的數據。保密的數據應 提供訪問控制等安全手段。一個有效和容易實現的方法是將網絡分段成幾個不同的廣播組,網絡管理員限制了 VLAN 中用戶的數量,禁止未經允許而訪問 VLAN 中的應用。交換端口可以基于應用類型和訪問特權來進行分組,被限制的應用程序和資源一般置于安全性 VLAN 中。 某公司有 100 臺計算機左右,主要使用網絡的部門有:生產部(20)、財務部(15)、人事部(8)和信息中心(12)四大部分。 整個網絡中干部分采用 3 臺 Catalyst 1900 網管型交換機(分別命名為:Switch1、Switch2 和 Switch3,各交換機根據需要下接若干個集線器,主要用于非 VLAN用戶,如行政文書、臨時用戶等)、一臺 Cisco 2514 路由器,整個網絡都通過路由器 Cisco 2514 與外部互聯網進行連接。 所連的用戶主要分布于四個部分,即:生產部、財務部、信息中心和人事部。主要對這四個部分用戶單獨劃分 VLAN,以確保相應部門網絡資源不被盜用或破壞。 現為了公司相應部分網絡資源的安全性需要,特別是對于像財務部、人事部這樣的敏感部門,其網絡上的信息不想讓太多人可以隨便進出,于是公司采用了 VLAN的方法來解決以上問題。 通過 VLAN 的劃分,可以把公司主要網絡劃分為:生產部、財務部、人事部和信息中心四個主要部分,對應的 VLAN 組為為:Prod、Fina、Huma、Info,各 VLAN組所對應的網段如下表所示。 注:之所以把交換機的 VLAN 號從"2"號開始,那是因為交換機有一個默認的VLAN,那就是"1"號 VLAN,它包括所有連在該交換機上的用戶。(2)把相應的 VLAN 對應到相應的交換機端口。 第 1 步:設置好超級終端,連接上 1900 交換機,通過超級終端配置交換機的 VLAN,連接成功后出現如下所示的主配置界面(交換機在此之前已完成了基本信息的配置):
1 user(s) now active on Management Console. User Interface Menu
[M] Menus
[K] Command Line
[I] IP Configuration
Enter Selection:
【注】超級終端是利用 Windows 系統自帶的"超級終端"(Hypertrm)程序進行的,具體參見有關資料。 第 2 步:單擊"K"按鍵,選擇主界面菜單中"[K] Command Line"選項,進入如下命令行配置界面:CLI session with the switch is open. To end the CLI session,enter [Exit ]. >此時我們進入了交換機的普通用戶模式,就象路由器一樣,這種模式只能查看現在的配置,不能更改配置,并且能夠使用的命令很有限。所以我們必須進入"特權模式"。 第 3 步:在上一步">"提示符下輸入進入特權模式命令"enable",進入特權模式,命令格式為">enable",此時就進入了交換機配置的特權模式提示符:#config tEnter configuration commands,one perline.End with CNTL/Z 第 4 步:為了安全和方便起見,我們分別給這 3 個 Catalyst 1900 交換機起個名字,并且設置特權模式的登陸密碼。下面僅以 Switch1 為例進行介紹。配置代碼如下:
(config)#hostname Switch1
Switch1(config)# enable password level 15XXXXXX
Switch1(config)#
特權模式密碼必須是 4~8 位字符這,要注意,這里所輸入的密碼是以明文形式直接顯示的,要注意保密。交換機用 level 級別的大小來決定密碼的權限。Level 1 是進入命令行界面的密碼,也就是說,設置了 level 1 的密碼后,你下次連上交換機,并輸入 K 后,就會讓你輸入密碼,這個密碼就是 level 1 設置的密碼。而 level15 是你輸入了"enable"命令后讓你輸入的特權模式密碼。 第 5 步:設置 VLAN 名稱。因四個 VLAN 分屬于不同的交換機,VLAN 命名的命令為"vlanvlan 號 name vlan 名稱,在 Switch1、Switch2、Switch3、交換機上配置2、3、4、5 號 VLAN 的代碼為:
Switch1 (config)#vlan 2 name Prod
Switch2 (config)#vlan 3 name Fina
Switch3 (config)#vlan 4 name Huma
Switch3 (config)#vlan 5 name Info
第 6 步:上一步我們對各交換機配置了 VLAN 組,現在要把這些 VLAN 對應于表 1 所規定的交換機端口號。對應端口號的命令是"vlan-membership static/ dynamicVLAN 號 "。在這個命令中"static"(靜態)和"dynamic"(動態)分配方式兩者必須選擇一個,不過通常都是選擇"static"(靜態)方式。
(1)名為"Switch1"的交換機的 VLAN 端口號配置如下:
Switch1(config)#int e0/2
Switch1(config-if)#vlan-membership static 2
Switch1(config-if)#int e0/3
Switch1(config-if)#vlan-membership static 2
Switch1(config-if)#int e0/4
Switch1(config-if)#vlan-membership static 2 ……
Switch1(config-if)#int e0/20
Switch(config-if)#vlan-membership static 2
Switch1(config-if)#int e0/21
Switch1(config-if)#vlan-membership static 2
Switch1(config-if)#
【注】"int"是"nterface"命令縮寫,是接口的意思。"e0/3"是"ethernet 0/2"的縮寫,代表交換機的 0 號模塊 2 號端口。(2)名為"Switch2"的交換機的 VLAN 端口號配置如下:
Switch2(config)#int e0/2
Switch2(config-if)#vlan-membership static 3
Switch2(config-if)#int e0/3
Switch2(config-if)#vlan-membership static 3
Switch2(config-if)#int e0/4
Switch2(config-if)#vlan-membership static 3 ……
Switch2(config-if)#int e0/15
Switch2(config-if)#vlan-membership static 3
Switch2(config-if)#int e0/16
Switch2(config-if)#vlan-membership static 3
Switch2(config-if)#
(3)名為"Switch3"的交換機的 VLAN 端口號配置如下(它包括兩個 VLAN 組的配置),先看 VLAN 4(Huma)的配置代碼:
Switch3(config)#int e0/2
Switch3(config-if)#vlan-membership static 4
Switch3(config-if)#int e0/3
Switch3(config-if)#vlan-membership static 4
Switch3(config-if)#int e0/4
Switch3(config-if)#vlan-membership static 4 ……
Switch3(config-if)#int e0/8
Switch3(config-if)#vlan-membership static 4
Switch3(config-if)#int e0/9
Switch3(config-if)#vlan-membership static 4
Switch3(config-if)#
Switch3(config)#int e0/10
Switch3(config-if)#vlan-membership static 5
Switch3(config-if)#int e0/11
Switch3(config-if)#vlan-membership static 5
Switch3(config-if)#int e0/12
Switch3(config-if)#vlan-membership static 5 ……
Switch3(config-if)#int e0/20
Switch3(config-if)#vlan-membership static 5
Switch3(config-if)#int e0/21
Switch3(config-if)#vlan-membership static 5
Switch3(config-if)#
好了,我們已經按表 1 要求把 VLAN 都定義到了相應交換機的端口上了。為了驗證我們的配置,可以在特權模式使用"show vlan"命令顯示出剛才所做的配置,檢查一下是否正確。