需要設置跨越多臺交換機的VLAN時……
到此為止,我們學習的都是使用單臺交換機設置VLAN時的情況。那么,如果需要設置跨越多臺交換機的VLAN時又如何呢?
在規劃企業級網絡時,很有可能會遇到隸屬于同一部門的用戶分散在同一座建筑物中的不同樓層的情況,這時可能就需要考慮到如何跨越多臺交換機設置VLAN的問題了。假設有如下圖所示的網絡,且需要將不同樓層的A、C和B、D設置為同一個VLAN。
這時最關鍵的就是“交換機1和交換機2該如何連接才好呢?”
最簡單的方法,自然是在交換機1和交換機2上各設一個紅、藍VLAN專用的接口并互聯了。
但是,這個辦法從擴展性和管理效率來看都不好。例如,在現有網絡基礎上再新建VLAN時,為了讓這個VLAN能夠互通,就需要在交換機間連接新的網線。建筑物樓層間的縱向布線是比較麻煩的,一般不能由基層管理人員隨意進行。并且,VLAN越多,樓層間(嚴格地說是交換機間)互聯所需的端口也越來越多,交換機端口的利用效率低是對資源的一種浪費、也限制了網絡的擴展。
為了避免這種低效率的連接方式,人們想辦法讓交換機間互聯的網線集中到一根上,這時使用的就是匯聚鏈接(Trunk Link)。
何謂匯聚鏈接?
匯聚鏈接(Trunk Link)指的是能夠轉發多個不同VLAN的通信的端口。
匯聚鏈路上流通的數據幀,都被附加了用于識別分屬于哪個VLAN的特殊信息。
現在再讓我們回過頭來考慮一下剛才那個網絡如果采用匯聚鏈路又會如何呢?用戶只需要簡單地將交換機間互聯的端口設定為匯聚鏈接就可以了。這時使用的網線還是普通的UTP線,而不是什么其他的特殊布線。圖例中是交換機間互聯,因此需要用交叉線來連接。
接下來,讓我們具體看看匯聚鏈接是如何實現跨越交換機間的VLAN的。
A發送的數據幀從交換機1經過匯聚鏈路到達交換機2時,在數據幀上附加了表示屬于紅色VLAN的標記。
交換機2收到數據幀后,經過檢查VLAN標識發現這個數據幀是屬于紅色VLAN的,因此去除標記后根據需要將復原的數據幀只轉發給其他屬于紅色VLAN的端口。這時的轉送,是指經過確認目標MAC地址并與MAC地址列表比對后只轉發給目標MAC地址所連的端口。只有當數據幀是一個廣播幀、多播幀或是目標不明的幀時,它才會被轉發到所有屬于紅色VLAN的端口。
藍色VLAN發送數據幀時的情形也與此相同。
通過匯聚鏈路時附加的VLAN識別信息,有可能支持標準的“IEEE 802.1Q”協議,也可能是Cisco產品獨有的“ISL(Inter Switch Link)”。如果交換機支持這些規格,那么用戶就能夠高效率地構筑橫跨多臺交換機的VLAN。
另外,匯聚鏈路上流通著多個VLAN的數據,自然負載較重。因此,在設定匯聚鏈接時,有一個前提就是必須支持100Mbps以上的傳輸速度。
另外,默認條件下,匯聚鏈接會轉發交換機上存在的所有VLAN的數據。換一個角度看,可以認為匯聚鏈接(端口)同時屬于交換機上所有的VLAN。由于實際應用中很可能并不需要轉發所有VLAN的數據,因此為了減輕交換機的負載、也為了減少對帶寬的浪費,我們可以通過用戶設定限制能夠經由匯聚鏈路互聯的VLAN。
關于IEEE802.1Q和ISL的具體內容,將在下一講中提到。
由于需要一個個端口地指定,因此當網絡中的計算機數目超過一定數字(比如數百臺)后,設定操作就會變得煩雜無比。并且,客戶機每次變更所連端口,都必須同時更改該端口所屬VLAN的設定——這顯然不適合那些需要頻繁改變拓補結構的網絡。
動態VLAN
另一方面,動態VLAN則是根據每個端口所連的計算機,隨時改變端口所屬的VLAN。這就可以避免上述的更改設定之類的操作。動態VLAN可以大致分為3類:
l 基于MAC地址的VLAN(MAC Based VLAN)
l 基于子網的VLAN(Subnet Based VLAN)
l 基于用戶的VLAN(User Based VLAN)
其間的差異,主要在于根據OSI參照模型哪一層的信息決定端口所屬的VLAN。
基于MAC地址的VLAN,就是通過查詢并記錄端口所連計算機上網卡的MAC地址來決定端口的所屬。假定有一個MAC地址“A”被交換機設定為屬于VLAN“10”,那么不論MAC地址為“A”的這臺計算機連在交換機哪個端口,該端口都會被劃分到VLAN10中去。計算機連在端口1時,端口1屬于VLAN10;而計算機連在端口2時,則是端口2屬于VLAN10。
由于是基于MAC地址決定所屬VLAN的,因此可以理解為這是一種在OSI的第二層設定訪問鏈接的辦法。
但是,基于MAC地址的VLAN,在設定時必須調查所連接的所有計算機的MAC地址并加以登錄。而且如果計算機交換了網卡,還是需要更改設定。
基于子網的VLAN,則是通過所連計算機的IP地址,來決定端口所屬VLAN的。不像基于MAC地址的VLAN,即使計算機因為交換了網卡或是其他原因導致MAC地址改變,只要它的IP地址不變,就仍可以加入原先設定的VLAN。
因此,與基于MAC地址的VLAN相比,能夠更為簡便地改變網絡結構。IP地址是OSI參照模型中第三層的信息,所以我們可以理解為基于子網的VLAN是一種在OSI的第三層設定訪問鏈接的方法。
基于用戶的VLAN,則是根據交換機各端口所連的計算機上當前登錄的用戶,來決定該端口屬于哪個VLAN。這里的用戶識別信息,一般是計算機操作系統登錄的用戶,比如可以是Windows域中使用的用戶名。這些用戶名信息,屬于OSI第四層以上的信息。
總的來說,決定端口所屬VLAN時利用的信息在OSI中的層面越高,就越適于構建靈活多變的網絡。
訪問鏈接的總結
綜上所述,設定訪問鏈接的手法有靜態VLAN和動態VLAN兩種,其中動態VLAN又可以繼續細分成幾個小類。
其中基于子網的VLAN和基于用戶的VLAN有可能是網絡設備廠商使用獨有的協議實現的,不同廠商的設備之間互聯有可能出現兼容性問題;因此在選擇交換機時,一定要注意事先確認。
下表總結了靜態VLAN和動態VLAN的相關信息。
由于需要一個個端口地指定,因此當網絡中的計算機數目超過一定數字(比如數百臺)后,設定操作就會變得煩雜無比。并且,客戶機每次變更所連端口,都必須同時更改該端口所屬VLAN的設定——這顯然不適合那些需要頻繁改變拓補結構的網絡。
動態VLAN
另一方面,動態VLAN則是根據每個端口所連的計算機,隨時改變端口所屬的VLAN。這就可以避免上述的更改設定之類的操作。動態VLAN可以大致分為3類:
l 基于MAC地址的VLAN(MAC Based VLAN)
l 基于子網的VLAN(Subnet Based VLAN)
l 基于用戶的VLAN(User Based VLAN)
其間的差異,主要在于根據OSI參照模型哪一層的信息決定端口所屬的VLAN。
基于MAC地址的VLAN,就是通過查詢并記錄端口所連計算機上網卡的MAC地址來決定端口的所屬。假定有一個MAC地址“A”被交換機設定為屬于VLAN“10”,那么不論MAC地址為“A”的這臺計算機連在交換機哪個端口,該端口都會被劃分到VLAN10中去。計算機連在端口1時,端口1屬于VLAN10;而計算機連在端口2時,則是端口2屬于VLAN10。
由于是基于MAC地址決定所屬VLAN的,因此可以理解為這是一種在OSI的第二層設定訪問鏈接的辦法。
但是,基于MAC地址的VLAN,在設定時必須調查所連接的所有計算機的MAC地址并加以登錄。而且如果計算機交換了網卡,還是需要更改設定。
基于子網的VLAN,則是通過所連計算機的IP地址,來決定端口所屬VLAN的。不像基于MAC地址的VLAN,即使計算機因為交換了網卡或是其他原因導致MAC地址改變,只要它的IP地址不變,就仍可以加入原先設定的VLAN。
因此,與基于MAC地址的VLAN相比,能夠更為簡便地改變網絡結構。IP地址是OSI參照模型中第三層的信息,所以我們可以理解為基于子網的VLAN是一種在OSI的第三層設定訪問鏈接的方法。
基于用戶的VLAN,則是根據交換機各端口所連的計算機上當前登錄的用戶,來決定該端口屬于哪個VLAN。這里的用戶識別信息,一般是計算機操作系統登錄的用戶,比如可以是Windows域中使用的用戶名。這些用戶名信息,屬于OSI第四層以上的信息。
總的來說,決定端口所屬VLAN時利用的信息在OSI中的層面越高,就越適于構建靈活多變的網絡。
訪問鏈接的總結
綜上所述,設定訪問鏈接的手法有靜態VLAN和動態VLAN兩種,其中動態VLAN又可以繼續細分成幾個小類。
其中基于子網的VLAN和基于用戶的VLAN有可能是網絡設備廠商使用獨有的協議實現的,不同廠商的設備之間互聯有可能出現兼容性問題;因此在選擇交換機時,一定要注意事先確認。
下表總結了靜態VLAN和動態VLAN的相關信息。