匯聚方式
在交換機的匯聚鏈接上,可以通過對數據幀附加VLAN信息,構建跨越多臺交換機的VLAN。
附加VLAN信息的方法,最具有代表性的有:
l IEEE802.1Q
l ISL
現在就讓我們看看這兩種協議分別如何對數據幀附加VLAN信息。
IEEE802.1Q
IEEE802.1Q,俗稱“Dot One Q”,是經過IEEE認證的對數據幀附加VLAN識別信息的協議。
在此,請大家先回憶一下以太網數據幀的標準格式。
IEEE802.1Q所附加的VLAN識別信息,位于數據幀中“發送源MAC地址”與“類別域(Type Field)”之間。具體內容為2字節的TPID和2字節的TCI,共計4字節。
在數據幀中添加了4字節的內容,那么CRC值自然也會有所變化。這時數據幀上的CRC是插入TPID、TCI后,對包括它們在內的整個數據幀重新計算后所得的值。
而當數據幀離開匯聚鏈路時,TPID和TCI會被去除,這時還會進行一次CRC的重新計算。
TPID的值,固定為0x8100。交換機通過TPID,來確定數據幀內附加了基于IEEE802.1Q的VLAN信息。而實質上的VLAN ID,是TCI中的12位元。由于總共有12位,因此最多可供識別4096個VLAN。
基于IEEE802.1Q附加的VLAN信息,就像在傳遞物品時附加的標簽。因此,它也被稱作“標簽型VLAN(Tagging VLAN)”。
ISL(Inter Switch Link)
ISL,是Cisco產品支持的一種與IEEE802.1Q類似的、用于在匯聚鏈路上附加VLAN信息的協議。
使用ISL后,每個數據幀頭部都會被附加26字節的“ISL包頭(ISL Header)”,并且在幀尾帶上通過對包括ISL包頭在內的整個數據幀進行計算后得到的4字節CRC值。換而言之,就是總共增加了30字節的信息。
在使用ISL的環境下,當數據幀離開匯聚鏈路時,只要簡單地去除ISL包頭和新CRC就可以了。由于原先的數據幀及其CRC都被完整保留,因此無需重新計算CRC。
ISL有如用ISL包頭和新CRC將原數據幀整個包裹起來,因此也被稱為“封裝型VLAN(Encapsulated VLAN)”。
需要注意的是,不論是IEEE802.1Q的“Tagging VLAN”,還是ISL的“Encapsulated VLAN”,都不是很嚴密的稱謂。不同的書籍與參考資料中,上述詞語有可能被混合使用,因此需要大家在學習時格外注意。
并且由于ISL是Cisco獨有的協議,因此只能用于Cisco網絡設備之間的互聯。
由于需要一個個端口地指定,因此當網絡中的計算機數目超過一定數字(比如數百臺)后,設定操作就會變得煩雜無比。并且,客戶機每次變更所連端口,都必須同時更改該端口所屬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的相關信息。