什么是(虛擬局域網)VLAN?
VLAN 是一種用邏輯的定義方法,把兩個或更多的連在交換網絡上的終端規劃在一起。這種邏輯定義方法可以延伸到多個交換機。被規劃在一起的終端,可以通過幾種網絡設置來規劃。似乎任何一種網絡技術一樣,了解在您的網絡上存在的VLAN 的特性,是有效地治理網絡一個非常重要的一節。這可令您更精確的設定VLAN 并在事故發生時減少故障診斷的時間。
為什么要用VLAN 呢?
采用VLAN 的主要原因有幾個:如控制廣播域的范圍,網絡安全,第三層地址的治理,和網絡資源的集中治理。
控制廣播域的范圍
當一個廣播域內的設備增加時,在廣播域內設備的廣播頻率便會相對增加。廣播率的提高,對設備的效率會有很大的影響,因為每一個設備都必須中斷其CPU 正在處理的業務,來處理收到的廣播包,以決定是否需要對包內的數據作進一步處理。這種中斷降低了CPU 處理正常業務的效率,增長了完成這些業務的時間。
VLAN 一個非常重要的好處是在一個VLAN 內的廣播包不會跑到別的VLAN 上去。通過限制一個VLAN 上的設備數目,在一個VLAN 上的廣播率便可受到控制。一個正常的廣播率應該平均每秒不超過30 個廣播包。雖然還沒有正式的文檔宣稱,但通過現場性能監測,建議廣播不應該超出30 個/秒。
網絡安全
有很多時候,網管人員需要限制對本地網絡中一個或多個非凡設備的接入。假如所有的設備都在同一個廣播域內,便很難執行這種限制。通過建立多個廣播域,可以通過地址過濾和建立連接認可地址表來實現該限制。
數據包要跨越一個VLAN 必須通過一個3 層路由設備。這種路由設備讓網管人員可以定義設備間的接入。這種接入控制功能的使用,可以控制和監視對敏感資源設備的接入。
第3層地址治理
一個很常見的設計,是把同類型的設備,規劃在同一個ip 子網。例如把打印機安排在同一個IP 子網上,屬于會計部的工作站和服務器卻在另一個子網。在邏輯上這樣似乎很合理,但在一個大型企業網絡上,這種構想沒有VLAN 是無法實現的。
網絡資源的集中治理
假定我們把所有的打印機都規劃在一個子網上,而每一個打印機都必須在同一個廣播域里。這樣等于需要在每一個樓層上,分別安裝交換機。這些交換機都需要光纜和銅纜的連接,而這些打印機子網都需要連接到自己的專用路由器端口上。.
利用VLAN, 可以讓打印機和網絡中的其他設備連接到同一個交換機,分享同一條互聯的電纜或光纖鏈路、同一個路由器端口。
VLAN 的挑戰
采用VLAN 的一個最大挑戰就是文檔備案。當您把一個設備連接到交換機時,沒有一個好辦法知道設備所連的交換機端口究竟是被設定到哪一個VLAN, 或是否被設定成VLAN 骨干(Trunk) 端口。在大多數的情況下,確定端口的VLAN 設置只可以通過Telnet 登錄到交換機的控機臺,這種過程需要用戶口令并對交換機的設置治理指令有比較深刻的了解。
當您對網絡作擴容、移動或改變時,以上的挑戰便更加明顯。例如在一個企業里,安裝交換機時一般的策略是把頭12 個端口設成VLAN23 ,但是實際上,網管人員可能是因為后來端口不足或是因為企業的政策推行不完善而把設定更改。無論如何,當一個設備連接到交換器的頭12個端口時,無法保證他會在VLAN23 這個VLAN 上。
通過VLAN 透視來解決
VLAN 透視選件是一個附加在OptiView 集成式網絡分析儀上的選件。這個選件可以幫助網管人員應對對交換機的VLAN 設定作文檔備案的挑戰。
VLAN 透視選件通過 SNMP 來詢問交換機的每一個端口的VLAN 設置。這些訊息可以直接顯示在OptiView 集成式網絡分析儀的顯示屏上或通過遙控界面來觀看。交換機支持的每一個VLAN 號都會列在顯示屏的左邊,在右邊顯示出對應的每一個VLAN 號的交換機端口。
除了顯示VLAN 和端口的相關性,VLAN 透視選件還會顯示每個端口的VLAN 配置。這對確定哪些端口被配置成骨干端口、哪些端口被配置成接入端口是非常有用的。對骨干端口,VLAN 協議標記那些顯示的幀。這對解決兩臺交換機通過VLAN 骨干連接產生的連通問題是非常有幫助的。
顯示VLAN 配置信息的能力,不僅僅對分析儀所在廣播域的VLAN 有效,只要是綜合分析儀通過IP 可達的任何交換機都有效。這表明VLAN 透視可以顯示綜合分析儀經過很多路由器跳數以后達到的交換機VLAN 配置信息。除了可以顯示VLAN 配置,VLAN 透視可以生成基于每一個交換機的Html (瀏覽器格式)報告。該報告描敘交換機的現有VALN 和每個VLAN 的包含的交換機端口。除了顯示信息,還可以生成遠端IP 子網的交換機報告。
最初的配置
(圖片較大,請拉動滾動條觀看)
VLAN23
圖1.(安恒注)
1 年后的配置
(圖片較大,請拉動滾動條觀看)
VLAN23 VLAN23
VLAN14 VLAN9
圖2.(安恒注)
VLAN 的其中一個優點是交換機端口很輕易便可以從一個VLAN 改變到另一個VLAN 。由于改變太輕易,大部分的改變都沒有馬上記錄下來。這也是對維護VLAN 網絡、做文檔備案的最大挑戰。很多企業都需要一個簡單的方法來找出當前自己VLAN 的設定情況。
VLAN 最佳實踐
擁有一個健康的VLAN 不能依靠僥幸。需要在腦海中有最優化性能的目標,仔細地設計和維護。假如在VLAN 設計的時候就不注重,結果就是網絡會非常復雜,在故障查找和維護時都會非常困難。
確定使用VLAN 的原因
使用VLAN 的4 個可能原因在文檔的開始已經大概做了描述:控制廣播域的范圍、網絡安全、第3 層地址治理、網絡資源集中治理。當設計一個VLAN 的時候,這些原因都需要仔細地研究。舉例來說,假如在您的環境中,所有的用戶都需要接入所有服務器和網絡設備,安全性就不再是應用VLAN 的原因。
然而,假如您有語音在IP 上傳送(VoIP)的應用,語音在一個VLAN 上傳送,數據在另一個VLAN 傳送,就是應用VLAN 的一個很好的原因。通過分離這兩種類型的業務,對語音流量提供服務質量保證,減少了抖動和丟包。
使用VLAN 減少路由跳數
為了把幀從一個VLAN 傳遞到另一個,必須用一個3 層設備進行路由。這個設備可以是一個傳統的路由器,或者是一個3 層交換機。從發送者到接收者,路由器每增加一跳都會增加幀的延遲時間,這有可能造成一個性能瓶頸。
設計VLAN 網絡的目的應該是把某個設備所需要的所有資源放到與該設備相同的VLAN 。使用VLAN 答應在保證物理層上的硬件集中的同時、保證服務器邏輯上更靠近用戶。這答應客戶設備直接通過交換網絡接入資源,而不需要通過路由器。在這種方式下,一個單獨的VLAN 可以出現在一個校園網的多個交換機上,計算機室的一個服務器可以和相隔幾個建筑物遠的客戶服務器是同一個VLAN 。一個通常的設計是把所有服務器放在同一個VLAN。不幸的是,這要求所有的客戶至少要經過一個路由器才能接入這些服務器。在把IP 地址治理變的更輕易的同時,引入了額外的延遲和潛在的性能瓶頸。
保持最小的VLAN 數目
有一個創建過多的不需要的VLAN 的傾向。當交換機本身可以支持上千個VLAN 的時候,每增加一個VLAN 就會給路由器和網絡其他設備帶來額外的開銷。
這方面的一個例子是有一個42 層大樓的網絡。除了用于治理的VLAN 和服務器中心的VLAN, 每層都有一個自己的VLAN 。該網絡運行IP 和IPX 協議。總共有超過2000 臺IPX 設備在整個本地網絡,包括打印機、存儲器、時鐘服務器。
每60 秒,路由器會對每個VLAN 發出服務廣告協議(SAP) 包。每個包包含7 種服務。這導致每60 秒,每個廣播域內發出286 個SAP 包。由于總共有46 個VLAN,路由器每分鐘不得不發出超過13,000 個SAP 包。人們發現當路由器每分鐘發出的幀超過2000 的時候,已經會給CPU 帶來問題。當交換機可以支持46 個VLAN 的時候,我們發現路由器支持不了這么多VLAN。
VLAN 類型
把一個設備分配到一個VLAN 有3 鐘通常的方法:
基于端口的VLAN
基于端口的VLAN,一個交換機端口可以手工地配置到某個指定的VLAN。任何連接到這個端口的設備就和該VLAN 中的所有其他的交換端口處于同一個廣播域。
基于端口的VLAN 的挑戰是每個VLAN 中有哪些端口的文檔備案。VLAN 的成員信息并沒有顯示在交換機端口的外面。確定VLAN 成員不能夠僅僅通過查看交換機物理端口。只有通過查看配置信息采可以確定成員。
基于協議的VLAN
基于協議的VLAN,是通過區分承載數據所用的3 層協議來確定VLAN 的成員。然而這需要工作在一個多類型協議的環境下,在一個主要以IP 為基礎網絡,這種方法不是非凡實用。
基于MAC 的VLAN
基于端口的VLAN 的一個問題是,當一個設備從交換機某個端口移走后,該交換機端口又接入了一個新的設備,新設備會進入原來的那個VLAN。在前面打印機VLAN 的例子里,假如一臺打印機從該端口移走了,該端口又接入了一臺財務服務器。財務服務器就和打印機服務器進入同一個VLAN 了。這將會限制對財務服務器的接入,不得不重新分配網絡資源。
基于MAC 的VLAN 可以解決上面的這個問題,VLAN 的成員是基于設備的MAC 地址,而不是交換機的物理端口。假如一個設備從交換機的一個端口移到另外一個,該設備屬于哪一個VLAN,還是由設備來決定的。
不幸的是,用MAC 地址來確定VLAN 耗費時間,而且現在使用的很少。
VLAN 標簽
VLAN 標簽用來指示VLAN 的成員,它封裝在能夠穿越局域網的幀里。這些標簽在數據包進入VLAN 的某一個交換機端口的時候被加上,在從VLAN 的另一個端口出去的時候被去除。根據VLAN 的端口類型會決定是給幀加入還是去除標簽。VLAN 中的兩類接口類型是指接入端口和骨干端口。
接入端口
接入端口用在幀接入或者離開VLAN 時。當接入端口收到一個幀的時候,幀并沒有包含一個VLAN 標簽。一旦幀進入接入端口,會給幀加入VLAN 標簽。
圖3.(安恒注)
當幀在交換機里面的時候,附著進入接入端口時被附上的VLAN 標簽。當幀通過目的接入端口離開交換機的時候,VLAN 標簽就被去除了。傳輸設備和接收設備并不知道收到的幀曾經被加過VLAN 標簽。
骨干端口
網絡中包含多于一個交換機的時候,必須把VLAN 標簽的幀從一個交換機傳到另一個交換機。骨干端口和接入端口的區別是骨干端口在傳出幀之前,不會去除VLAN 的標簽。保留了VLAN 標簽,接收交換機就能知道傳輸幀屬于哪一個VLAN。幀就可以傳送到接收交換機的合適端口。
圖4.(安恒注)
VLAN 標簽技術
每一個VLAN 標記幀包含指明自身所屬VLAN 的字段。有兩種種主要的VLAN 標簽格式,思科公司的Inter-Swith Link(ISL)格式和標準的802.1Q 格式。
思科ISL
Inter-Swith Link(ISL) 格式是思科私有VLAN 標簽格式。在使用的時候,VLAN 標簽在每個幀的頭部增加26 字節信息,在幀尾部附加4 字節CRC。標簽的格式如下:
圖5.(安恒注)
DA
目的地址:包括一個廣播地址0x01-00-0C-00-00 或者是0x03-00-0c-00-00
TYPE
類型:指明承載封裝幀所用的技術
USER
用戶:4 比特域,指明用戶幀被分配的優先級
SA
源地址:正在傳送這個ISL 幀的交換機端口的MAC 地址
LEN
封裝幀的長度。該長度不包括ISL 頭和ISL FCS 的長度
AAA03
恒定值域
HSA
源地址的高位比特-必須是0x00-00-0c
VLAN
15 比特域,用來指示VLAN 成員
BPDU
1比特域。假如封裝的幀是802.1D Spanning Tree橋接協議數據單元的話,就置1
INDEX
包含傳送數據包的交換機的端口索引
RES
為令牌環和FDDI 封裝幀保留的域
ENCAP Frame
交換機接入口接收到的完全未更改的原始數據幀
FCS
ISL 幀的幀校驗
基于802.1Q 標準的標簽
ISL 是思科公司的私有格式,而802.1Q 是IEEE 的標準格式。802.1Q 標準答應VLAN 標記幀可以在不同廠家的交換機之間傳遞。802.1Q 標簽比ISL 標簽包含更少的域,是插入幀而不是放入幀頭。
圖6.(安恒注)
DA
幀的目的地址。這個地址在幀被打上標簽或者未被打上標簽的時候是一樣的。
SA
幀的源地址。這個地址在幀被打上標簽或者未被打上標簽的時候是一樣的。
8100
恒定值域,指明這個幀包含一個802.1QVLAN 標簽
PRiority
3 比特域,用戶優先級定義
CFI
規范格式指示——1 比特的域用來指示是否包含VLAN 標簽。最初用在令牌環網絡
VLAN
12 比特的域用來識別標記幀屬于哪一個VLAN。
Ethertype
標簽幀的3 層協議
Data
標記幀的數據部分
FCS
用來確認幀的完整性的幀校驗
維護VLAN
一個網絡使用VLAN 后一個最大的挑戰就是對穿過多個交換機的VLAN 的配置維護。沒有一個集中的方法配置和維護VLAN 信息,網絡治理員必須對每一個交換機進行獨立的VLAN 配置。思科公司開發了一種VLAN Trunk 協議來幫助克服這些缺點。
VTP——VLAN Trunk 協議
VLAN Truank 協議答應在一個單獨的設備(VTP 服務器)上配置VLAN,并把配置信息通過交換網絡傳遞出去。這減少了治理VLAN 需要的總時間。
在一個VTP 環境里,一臺交換機可以是以下3 種不同的角色之一。可以是一臺VTP 服務器、一臺VTP 客戶機、或者工作在透明模式。角色決定了交換機在VLAN 網絡中被如何配置。
VLAN Trunk 協議有支持多個VTP 域的能力。每個VTP 域的客戶交換機從該域的VTP 服務器接收自身的配置信息。在同一個本地網絡可以有多個VTP 域。
VTP 服務器
VTP 服務器是每個VTP 域的根本。服務器是VTP 域內唯一的可以增加、刪除、重命名VLAN 的交換機。當一臺未經配置的思科交換機第一次上電開機的時候,它的默認模式是服務器模式。我們必須把它該成客戶機或者透明模式。
VTP 服務器周期性地廣播VTP 域名、VLAN 配置,提供現行的配置修改號。這個修改號是VTP 域的一部分,它確保VTP 域內的所有交換機有現行的、正確的VLAN 配置信息。
當VLAN 在VTP 服務器上被創建的時候,和其他VLAN 配置信息一起存儲在服務器的NVRAM (存儲單元)。當交換機重啟的時候,配置信息還是被保留。
VTP 客戶模式
VTP 客戶交換機從VTP 服務器接收所有客戶交換機的配置信息。客戶交換機不能刪除、添加、重命名VLAN 。當客戶交換機加入一個新的VLAN,VLAN 必須被添加到VTP 服務器上面去。這樣新的VLAN 才能傳遞到所有的客戶交換機。當新的VLAN 增加后,客戶交換機上的端口會關聯到新的VLAN。
類似VTP 服務器,客戶交換機在NVRAM (存儲單元)存儲VLAN 配置。然而, 不像VTP 服務器,當客戶交換機重啟的時候,所有的VLAN 配置信息丟失了。交換機啟動完成后,需要發送一條VTP 請求消息給VTP服務器,來獲取現行的VLAN 配置。
VTP 透明模式
VTP 透明交換機和VTP 客戶交換機不同,VLAN 可以在這些交換機上手工配置。假如配置為VTP 域的一部分,他們可以從VTP 服務器接收VLAN 配置信息。然而,他們不會通知VTP 域本地配置的VLAN。
配置成透明模式的交換機還是會收到VTP 配置幀并傳遞這些幀到所有的骨干端口。這答應VTP 客戶交換機可以連接到一個VTP 透明交換機。客戶交換機透過透明交換機還是可以和VTP 服務器交換VLAN 配置信息。
VTP數據幀
用來配置和維持VTP域的數據幀可以封裝成802.1Q或者ISL幀格式。VTP使用一個保留的廣播地址做為所有幀的目的地。這個廣播地址0x01-00-00-0C-CC-CC-CC 伴隨著一個子網接入協議(SNAP) 的邏輯鏈路控制(LLC)碼,和一個在SNAP頭的2003類型碼。每個數據幀包含一個VTP頭和VTP消息類型。(注重在下面的描述中,只是顯示了VTP消息格式,而不是整個以太網幀的格式。)
有3種類型的VTP消息:
Summary(摘要)幀
摘要幀可以是VTP 服務器或者VTP 客戶機發出的,每5分鐘一次或者當VTP 域發生改變后立即發出。摘要廣播包括VTP 域的基本信息和配置的修改情況。摘要幀可能跟隨著許多的具體的描述幀——子集(Subset) 幀。
摘要幀格式如下所示:
圖7.(安恒注)
Version
VTP 版本號
Code
消息類型
Followers
在這個摘要幀后面跟隨的子集幀(subset)數目
Management domain
length
治理域名字的長度
Management domain name
VTP 域的名字
Configuration
現在的VTP 配置的修改號碼。該號碼從0 開始, 當VTP 配置每次
revision number
有改變的時候加1 遞增
Update identity
促使最近一次配置修改號碼更新設備的IP 地址
Update timestamp
收到最近一次配置修改號碼更新的時間
md5 digest
所有VLAN 信息和密鑰的MD5 域
子集幀(Subset)
子集幀用來提供VTP 域內每個VLAN 的具體信息。子集幀可以是對VTP 請求幀的響應,或者當配置改變時發出(和摘要幀一起發出)。
圖8.(安恒注)
Version
VTP版本號
Code
指出消息類型
Sequence Number
指出在這個摘要幀后面跟隨的子集幀(subset)數值
Management domain
length
治理域名字的長度
Management domain name
VTP 域的名字
Configuration
現在的VTP 配置的修訂號碼。該號碼從0 開始, 當VTP 配置每次
revision number
有改變的時候加1 遞增
VLAN info
每個VLAN的消息域,包含VLAN ID(標識符)的具體信息
請求幀(Request)
當以下的情況之一發生時,VTP 客戶機發送請求幀(Request)到VTP 服務器:
VTP 服務器將用一條摘要幀和能夠滿足請求的若干條子集幀的進行響應。
圖9.(安恒注)
Version
VTP版本號
Code
VTP廣播消息類型
Reserved
保留域
Management domain
length
治理域名字的長度
Start Value
被請求消息的第一個VLAN 的VLAN ID( 標識符)。VTP 服務器將響應所有大于或者等于開始值VLAN 消息的子集幀。假如開始值被指定為0,將會提供所有VLAN 的消息
結論
由于VLAN 技術的使用非常普遍,設計和維護網絡時必須考慮VLAN 的存在。我們豐富的經驗和工具將幫助您搭建和保持VLAN 網絡的健康。
網絡工程師和經理首先需要理解VLAN 在網絡中是如何工作的,學會好的文檔習慣來有效地優化VLAN 性能和解決故障。采用類似OptiView 集成網絡分析儀Vlan 透視性選件這樣專門為收集、顯示VLAN 具體信息而設計的先進工具,才能夠大大地減少設備開銷和故障查找解決時間。VLAN 透視選件通過提供可以支持下一步行動的準確信息,助網絡經理一臂之力,把那些原來需要花費大量的時間和資源才能解決的難題,快速定位出來并排除。(安恒整理)
新聞熱點
疑難解答