虛擬區域網路 VLAN 交換器 網路 協定

從VLAN源起話說從頭 階層式虛擬區域網路簡介

2015-10-15
什麼是虛擬區域網路?為什麼需要設計出虛擬區域網路?原本是要解決什麼問題?原本的乙太網路是以成本較低的方式提供高效能的網路,但因為部分設計的原因,導致虛擬區域網路誕生。不過,在超大型的網路環境中,虛擬區域網路似乎發生一些問題,因此又催生了階層式虛擬網路。本文將從設計的角度說明整件事情的來龍去脈。
由於虛擬區域網路有這樣的特性,所以可透過虛擬區域網路對公司內部網路做更有彈性的規劃。例如,把交換機設備上的某幾個埠,根據這些埠所連接用戶的特性,將他們規劃到同一個虛擬區域網路,這樣就不需要搬移實體設備,也能達到網段規劃的效果。

此外,虛擬區域網路可橫跨多個交換機設備,因此虛擬區域網路在規劃時,甚至能夠跨越不同的建築物,也可以跨越廣域網路(WAN)。

虛擬區域網路之間的資料傳遞

一般來說,若在眾多的交換機設備之間架設虛擬區域網路,只有同一個虛擬區域網路內的電腦才可以互相傳遞資料,在交換機設備內部,事實上是透過限制資料的轉送來達到這種虛擬區域網路的資料傳遞過程。

當交換機設備收到資料之後,會根據學習過的MAC位址對應表來決定資料要送往哪個埠,如果沒有學習過的話,則預設會Flooding到所有的埠,這是因為預設上,所有的埠都是屬於預設的虛擬區域網路,也就是所有的埠都屬於同一個虛擬區域網路,因此這樣的Flooding動作不會有什麼問題。

但如果是有分割虛擬區域網路,就不能這樣做,因為這會把某個虛擬區域網路的資料送往其他的虛擬區域網路。因此,在這種情況下,交換機設備會了解哪些埠是屬於哪個虛擬區域網路,而會限制Flooding時只能送往同一個虛擬區域網路。

而當虛擬區域網路的資料要跨越多個交換機設備傳遞到其他交換機設備所連接的同一個虛擬區域網路時,就必須使用Trunk技術。因為交換機設備之間只會用一條網路線連接起來,而這條網路線必須要能傳遞承載所有虛擬區域網路的資料,為了達到這種需求,在設定這種交換機設備之間的連線時,就必須設定成Trunk類型。

Trunk主要分成兩種協定:802.1Q協定和ISL協定。簡單來說,Trunk會在資料內增加一個標籤(Tag)用來表示目前這份資料是屬於哪一個虛擬區域網路,貼上標籤後,再把這份資料傳到另一台設備。

另一台設備收到之後,再根據這個標籤得知這份資料是屬於哪個虛擬區域網路,然後把這份資料送往所屬的虛擬區域網路,這就是Trunk主要的工作。所以,這個Trunk必須能夠傳送所有虛擬區域網路的資料,反正也不會搞混,因為都會在資料內貼上標籤。

802.1Q協定

IEEE 802.1Q協定在VLAN中通常是用來連接多個交換機與路由器設備,而Cisco的設備在Fast Ethernet和Gigabit Ethernet介面上都支援IEEE 802.1Q協定。

基本上,每一個套用802.1Q協定的埠都會被指定成Trunk類型,而所有在Trunk上的埠都隸屬於預設的虛擬區域網路(native VLAN)當中,預設上是這樣沒錯,但管理者還是可以指定到不同的虛擬區域網路中。

native VLAN是設備上預設的虛擬區域網路,一開始拿到Cisco Switch設備時,所有的埠都會被指派到native VLAN中,所以全部的埠都可以互相通訊,因為都屬於同一個虛擬區域網路,而native VLAN有一個作用,就是所有沒有被貼上標籤的資料都會被送往這個native VLAN。

每個虛擬區域網路都會有一個ID,用來區分各個虛擬區域網路,而native VLAN的預設ID就是VLAN 1。還有一點值得注意的是,只有802.1Q協定才有native VLAN,ISL是沒有native VLAN的。也因為沒有貼上標籤的資料都會在native VLAN上遊走著,所以交換機設備也不會在native VLAN中傳遞的資料內貼上標籤。

ISL協定

另外一種協定就是ISL,ISL是Inter-Switch Link的縮寫。ISL協定是Cisco設備專用的,但也不是每一款Cisco設備都支援,只有某幾款Cisco設備才支援ISL協定。ISL協定運作於OSI網路七層架構的第二層,作法就是在前面增加一段表頭,並在最後面新增一段CRC。

由於ISL協定與任何協定無關,因此ISL協定能夠封裝任何種類的上層協定資料。ISL協定所新增的表頭大小為26個位元組,而最後面新增的CRC大小為4個位元組。在前面的表頭中包含了VLAN ID和BPDU資訊,當然還有包含很多其他的資訊,例如埠的ID、SA的前三個位元組等等,由於過於繁雜,這裡就不一個個詳細介紹。

若要使用ISL協定,則網路中每一台設備都必須做好正確的ISL設定才行,因為ISL協定所使用的資料封包長度超過乙太網路所能接受的長度,一旦不支援ISL協定的設備收到這樣的封包,會被認為是錯誤的封包而直接遺棄。乙太網路的正確封包大小是64到1,518個位元組。

虛擬區域網路種類與管理

虛擬區域網路內的埠可以被分成不同的種類,以便形成不同類型的虛擬區域網路。在Cisco Catalyst Switch設備中,主要分成兩種虛擬區域網路:

· 靜態虛擬區域網路
· 動態虛擬區域網路

所謂的靜態虛擬區域網路,指的是讓系統管理員手動設定哪些埠是屬於哪個虛擬區域網路。Cisco Catalyst的交換機設備也支援動態虛擬區域網路的分式,這種方式會使用VMPS(VLAN Management Policy Server)這種額外的設備來協助達成動態虛擬區域網路的設定,而VMPS可以用Catalyst 5000系列的交換機設備或是其他的伺服器來架設,不過要注意的是,一般最常用的Cisco Catalyst 2950不能拿來架設成VMPS。

VMPS內部包含一個資料庫,用來儲存哪些MAC位址是屬於哪個虛擬區域網路的對應關係,所以動態虛擬區域網路可以說是依照MAC位址來分割虛擬區域網路,也就是MAC-based,而靜態虛擬區域網路則是根據埠來區分是哪個虛擬區域網路,亦即Port-based。

但是對於動態虛擬區域網路而言,一個埠底下的所有電腦必須都要屬於同一個虛擬區域網路,才能正常運作,因為這樣一來,這個埠所連接的電腦的MAC位址都是對應同一個虛擬區域網路,當Switch設備要決定丟到哪個虛擬區域網路時,才不會搞錯。

不過,一般而言,多數都會採用靜態VLAN的方式來分割虛擬區域網路,是由於設定方便快速,而且也因為動態虛擬區域網路的方式還要架設另一台VMPS,這種方式的成本過高,並且設定相當麻煩,因此不建議各位使用動態虛擬區域網路的方式來架設VLAN。

虛擬區域網路的問題

由上面的介紹來看,虛擬區域網路應該不會有什麼太大的問題,看起來都很不錯。虛擬區域網路的問題在於,它使用之VLAN ID的空間有限,限制於4,096個,當然對於企業網路環境來說,應該都還是相當足夠。不過,對於更大的網路環境,例如電信業者的網路,那就不敷使用,也因為如此而產生了階層式虛擬網路。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!