虛擬網路可以有效地透過隔絕廣播封包網域來提升整體網路效能,但是虛擬網路仍然有它的限制。不過,在虛擬網路被大量使用之後,許多衍生的改善協定也逐漸被開發出來,本文將介紹其中一種稱之為Q-in-Q的協定。
虛擬網路中所謂的Q-in-Q,就是IEEE 802.1ad協定,這個協定可以讓網路封包帶著兩層虛擬網路標籤穿越ISP的骨幹網路,能夠更有效地擴展虛擬網路的個數,並且大幅度提升整體網路效能。本文將從虛擬網路所可能存在的問題說起,進而介紹Q-in-Q這種階層式虛擬網路設計,最後講述Q-in-Q的設計理念。
虛擬網路如何運作
乙太網路(Ethernet)是大部分人幾乎每天都會使用到的網路技術,大部分的網路管理人員應該了解乙太網路並沒有連線的概念,它其實就是一直互相丟網路封包,藉由上層網路應用的設計,衍生出許多不同的使用。而各個設備彼此定位的方式,就是使用48位元的MAC位址。
也因為這樣的設計,在乙太網路的使用環境中,就必須要建構很完善的資料庫來了解大家的MAC位址是如何,而又如何轉發網路封包到目的地位址。免不了也會在整個網路上產生一些廣播(Broadcast)行為,整個設計就會變得相當沒有效率,為了克服這個難題,因而產生了虛擬網路的設計。
一個虛擬區域網路(VLAN)是由一群終端機器組合而成,例如一些使用者的PC設備,而這些虛擬網路中的機器通常擁有相同的特性,而這些特性並不需要與這些機器的所在位置有任何的關係。
此外,虛擬網路技術也允許把一台Switch設備的埠分成幾個群組,並可針對每個不同的群組套用不同的設定。換句話說,虛擬網路是能夠在邏輯上區分不同的廣播網域,而這樣的廣播網域可以延伸到多個實體區域網路區段,因此虛擬網路技術可以增加網路組織的彈性。
虛擬網路間資料傳遞方式說明
當Switch設備之間要傳遞多個虛擬網路資料時,這之間就要建立Trunk,但要稍微注意一下,只有FastEthernet等級以上才可以做Trunk。Trunk主要分成兩種協定,也就是802.1Q和ISL。
簡單來說,Trunk會在資料中增加一個標籤(Tag),用來表示目前這份資料是屬於哪一個虛擬網路,貼上標籤之後,再把這份資料傳到另一台設備,另一台設備收到之後,再根據這個標籤判斷這份資料是屬於哪個虛擬網路,然後將這份資料送往所屬的虛擬網路。這就是Trunk主要的工作,所以這個Trunk必須要能夠傳送所有虛擬網路的資料,反正也不會搞混,因為都會在資料內貼上標籤。
因為ISL是Cisco專有的技術,所以這裡著重於802.1Q的介紹,畢竟802.1Q可以運用在所有品牌的網路設備上。IEEE 802.1Q協定通常在虛擬網路中用來連接多個Switch與Router設備,而Cisco的設備在Fast Ethernet和Gigabit Ethernet的介面上都支援IEEE 802.1Q協定。
基本上,每一個套用802.1Q協定的埠都會被指定成Trunk類型,而所有在Trunk上的埠都隸屬於Native VLAN當中,預設上是這樣沒錯,但是管理者還是可以指定到不同的虛擬網路中。
底下快速透過一個範例來解釋Native VLAN及802.1Q如何傳遞虛擬網路之間的封包。假設現在架設三個VLAN,其VLAN ID分別是VLAN 1、VLAN 2以及VLAN 3,其中VLAN 1是Native VLAN,之間用兩台Cisco Switch設備連接著,在Cisco Switch中間有一台Hub,如圖1所示。
|
▲圖1 網路架構範例。 |
其中,IP為10.1.*.*是處於VLAN 1內,而IP為10.2.*.*則位在VLAN 2之中,IP為10.3.*.*則被分派於VLAN 3內。因為10.1.1.1和10.1.1.3都屬於Native VLAN,所以由10.1.1.1和10.1.1.3互相傳遞的資料都不會被貼上標籤,因此這樣的資料也可以被10.1.1.2收到。
虛擬區域網路的種類與管理
在虛擬區域網路內的埠可以被分成不同的種類,以便形成不同類型的虛擬區域網路。在Cisco Catalyst Switch設備中,主要分成以下兩種虛擬區域網路:
‧ 靜態虛擬區域網路
‧ 動態虛擬區域網路
所謂的靜態虛擬區域網路,指的就是讓系統管理員手動設定哪些埠是屬於哪個虛擬區域網路。而Cisco Catalyst的交換機設備也支援動態虛擬區域網路的方式,這種方式會使用VMPS(VLAN Management Policy Server)這種額外的設備來協助達成動態虛擬區域網路的設定,而VMPS可以採用Catalyst 5000系列的交換機設備或是其他的伺服器來架設,不過要注意的是,一般最常用的Cisco Catalyst 2950是不能拿來架設成VMPS的。