Home Page

第十六章

虛擬區域網路(Virtual LANs)


yball1.gif (1556 bytes)  16.1虛擬區域網路簡介

所謂「虛擬網路」(Virtual LAN, 簡稱VLAN) 就是「邏輯網路」 (Logical LAN),是指利用特定的技術將實際上並不一定連結在一起的工作站以邏輯的方式連結起來,使得這些工作站彼此之間通訊的行為和將它們實際連結在一起時一樣。所謂「虛擬橋接網路」(Virtual Bridged LAN, 簡稱VBLAN) 就是指在橋接網路上提供虛擬網路的服務。如圖16-1所示,橋接網路中包含三個橋接器,同時也包含三個虛擬網路:VLAN A, VLAN B, 及VLAN C。本章將介紹虛擬網路的相關技術, IEEE 802.1Q所制訂的虛擬區域網路標準, 以及探討市面上之虛擬網路產品與服務實例。

 

虛擬網路的特性如下:

工作站之群組具彈性。工作站可以動態的加入或退出某一個虛擬網路。也就是說,虛擬網路的組成成員可以機動調整,增加規畫上的彈性。

虛擬網路是一個獨立的廣播網域 (broadcast domain)。我們已經知道一個橋接網路本身就是一個廣播網域。也就是說,任何工作站送出的廣播訊框都會被廣播至所有連結的區域網路中。不只是廣播訊框,群播訊框 (multicast frames) 也是一樣的會被廣播至所有連結的區域網路中。這是因為一個群組的成員可能散佈於網路的許多地方,而橋接器沒有記錄這些成員的位置。因此當橋接器收到一筆群播訊框時,只好無條件的將此訊框在擴張樹上轉送,不能作過濾的動作,以避免群組的某些成員沒有收到此群播訊框。但是這種作法卻也造成網路頻寬資源的浪費。因為即使不包含任何該群組成員的區域網路也會收到其群播訊框。如果廣播或群播訊框佔的比例較大,則更可能會影響橋接網路的正常運作。虛擬網路可以有效的解決這個問題。所謂虛擬網路是一個獨立的廣播網域就是指虛擬網路中的任何工作站送出的廣播或群播訊框都只會被廣播給該虛擬網路的所有成員,不會送給其他虛擬網路。達成此功能的唯一辦法就是讓橋接器能知道並且記錄各個虛擬網路成員的實際分佈情形。

虛擬網路具防火牆效果。這是指屬於不同虛擬網路間的工作站彼此之間不可以直接通訊。如有必要通訊,必須經過路徑器的轉送。由於虛擬網路是一個獨立的廣播網域,因此其運作的模式與傳統的IP子網路 (IP Subnet) 相同。IP子網路也是一個獨立的廣播網域,而且IP子網路彼此之間不能直接通訊,必須透過路徑器的轉送。路徑器事實上就是扮演防火牆的角色。

虛擬網路適用於所有IEEE 802計畫下的連結設備與區域網路型態。連結設備除了一般的集線器 (Hubs) 與橋接器外,也包含越趨重要的交換器 (Switches)。區域網路型態則可包含Ethernet, Token-Ring, FDDI, Token-bus, Fast Ethernet, Gigabit Ethernet, 等等,甚至連IEEE 802.11無線區域網路也可以。

每一個虛擬網路有一個辨識碼 (Virtual LAN ID, 簡稱VLAN ID或VID)。由於橋接網路上可以同時存在許多個虛擬網路,因此必須有辨識碼才能辨認訊框是屬於哪一個虛擬網路。

具虛擬網路功能的橋接器必須能與傳統之橋接器等設備共存。

具虛擬網路功能的橋接器在其虛擬網路功能未啟動前,必須提供「隨插即用」(plug-and-play)服務。傳統的橋接器本來就具備有隨插即用的功能。因此,在未設定虛擬網路架構及成員之前,其行為應該和傳統的橋接器一樣。

 

 

圖16-1 虛擬網路範例

發展虛擬網路技術的主要動能有四個:

支援虛擬組織的需求,

簡化網路管理的程序,

提昇網路資源的使用效率,

加強網路安全

所謂「虛擬組織」 (virtual organization) 通常是指沒有牆壁的組織, 也就是可以機動的將組織�堛漲身�依工作需要組成任務小組而不必管這些成員的實際位置。在虛擬網路技術發展之前,達成虛擬組織功能的主要方式是靠傳真,電話及電子郵件等工具。利用這些工具虛擬組織的成員已經可以互相溝通而不必知道彼此之間的位置。事實上這些工具目前還是最常用的溝通工具。不過虛擬網路卻提供一種方法可針對某些專案需求而規劃出用戶與伺服器專屬的子網路。經由虛擬網路,成員可以很容易的加入或退出專案計劃,而成員間也可以共用計劃之資料庫。

使用支援虛擬網路功能的設備可以減少網路行政管理上的成本,尤其是當網路設備需添加,移除,或更動時。例如假設因為任務上的需要,將使用工作站的雇員由原來隸屬的工程部門重新安排至行政部門的一個虛擬工作小組。經由虛擬網路管理的軟體,我們可以很快的將此規畫設定完成,而不必實際去搬動工作站,重佈網路線,或其他相關異動。事實上,這個動作對具有虛擬網路功能的管理軟體來說,幾乎就像是在Windows軟體中使用一個 「拖放」 (Drag-and-Drop) 動作般簡單,只要幾秒鐘就可以完成。

頻寬使用更有效率是因為虛擬網路將整個網路規畫為許多個廣播網域 。一旦虛擬網路形成之後,成員所傳送的訊框就只會在規畫屬於此虛擬網路的交換器埠之間進行交換,不會流至其他網路中。即使傳送的是廣播或群播訊框,也只會讓該虛擬網路中的其他成員接收,不會流至其他虛擬網路。較常見的廣播訊框如Novell公司之「服務通告通訊協定」(Service Advertisement Protocol, SAP)。網路伺服器會每隔60秒鐘利用此通訊協定送出一個通告表示伺服器的存在及其所提供的服務。另外如IPv6通訊協定中的路徑器也會定期的送出「路徑器通告訊息」 (Router Advertisement Message) 給網路中的IPv6工作站,表示路徑器的存在與其所提供的IPv6網址。虛擬網路可以避免廣播氾濫,因此可以提高頻寬使用效率。

虛擬網路雖然不是,也不能算是,一種安全設備,但卻可以提高網路通訊的安全性。主要原因還是將通訊範圍限定在廣播網域之內。其他虛擬網路的工作站由於竊聽機會減少,因此相對的也提高了通訊的安全性。

 


yball1.gif (1556 bytes)  16-2 虛擬網路架構

虛擬網路的運作架構包含三階層: (1) 組態設定 (Configuration), (2) 資訊傳佈與成員解析 (Distribution/Resolution), 以及 (3) 訊框轉送 (Relay),如圖16-2所示。

圖16-2 虛擬網路之運作架構

 

16-2.1 組態設定 (Configuration)

所謂「組態設定」是指設定虛擬網路成員的組態。考慮的是虛擬網路初始組態設定的方法以及組態參數的分配。可能的方法包括經由近端/遠端虛擬網路管理方法(local/remote management mechanisms),散佈通訊協定方法 (distribution protocols),或其他方法。IEEE 802.1Q並不規定系統應該使用哪種方法來設定虛擬網路的組態。目前較廣為採用的有五種類別:

以連接埠為基礎之虛擬網路 (Port-based VLAN):虛擬網路的成員是以智慧型集線器 (Intelligent Hub), 橋接器 (Bridges), 或交換器 (Switches)的連接埠為基本單位。可利用管理設定軟體來規畫哪一個虛擬網路應包含哪些連接埠。這裡必須強調一般的集線器由於都沒有安裝虛擬網路軟體,因此無法提供虛擬網路服務。在此我們稱有安裝虛擬網路軟體的集線器為智慧型集線器,可提供虛擬網路服務。不過使用智慧型集線器設備與使用橋接器/交換器設備的功能還是有差異的。圖16-3所示為使用智慧型集線器規畫虛擬網路的範例。圖中共規畫兩個虛擬網路:VLAN1(包含第2,3,4,5埠), VLAN2(包含第8,9,10,11埠)。每個虛擬網路規畫有一個專屬的伺服器。由於集線器是以廣播的方式傳送訊框,因此同一時間只能傳送一筆訊框。虛擬網路成員傳送訊框就必須以時間分割 (time division multiplexing) 的方式進行,VLAN1與VLAN2的成員不能同時將訊框傳送給其各自的伺服器。如圖16-4所示,智慧型集線器上規畫為三個虛擬網路,而傳送訊框的順序則依序為VLAN1, VLAN2, VLAN3, VLAN1,… 輪流進行,同一時間只傳送一筆訊框。交換器因為具有訊框交換的能力,因此可以同時傳送多筆訊框。圖16-5所示為使用交換器規畫虛擬網路的範例。由於虛擬網路之間不能直接通訊,因此不能直接使用其他虛擬網路上的伺服器。解決此問題的方法之一是讓伺服器藉由同時連接多個埠使其同時屬於多個虛擬網路。如圖16-6所示,VLAN 1的伺服器插上兩片網路卡分別連接到port 5, port 6。由於port 6被規畫為VLAN2, 因此VLAN2的成員可經由port 6來接觸此伺服器,而VLAN1的成員則經由port 5來使用此伺服器。使用交換器的另一優點是虛擬網路成員可以分佈在網路上,沒有像智慧型集線器上虛擬網路成員必須在同一集線器上的限制。如圖16-7中所示,網路共包含三個橋接器交換器 (SW1, SW2, SW3), 並且規畫為三個虛擬網路:VLAN1(包含SW1之第2,3,4,5埠), VLAN2(包含SW1之第11,12埠與SW3之第9,11埠), VLAN3(包含SW1之第8,9埠, SW2之第2,4,6,8埠, 以及SW3之第4,6埠)。此類虛擬網路的優點在設定上較容易,但較缺少彈性。例如原屬於某虛擬網路的工作站如移到另外一個不在規畫內的埠就會被認定已脫離此虛擬網路。

圖16-3以智慧型集線器規畫虛擬網路範例 (Port-based)

圖16-4智慧型集線器上虛擬網路傳送訊框時序範例

圖16-5以交換器規畫虛擬網路範例 (Port-based)

圖16-6伺服器隸屬多個虛擬網路範例(同時連接多個連結埠)

圖16-7多交換器架構之虛擬網路範例 (Port-based)

以MAC位址為基礎之虛擬網路 (MAC-based VLAN):虛擬網路的成員是以工作站的MAC位址 (48-位元)為基本單位。可利用管理設定軟體來規畫哪一個虛擬網路應包含哪些MAC位址。如圖16-8中所示,網路共規畫為四個虛擬網路:VLAN1(包含MAC1, MAC2, MAC9, MAC10), VLAN2(包含MAC3, MAC4, MAC11, MAC12), VLAN3(包含MAC5, MAC6, MAC13, MAC14), VLAN4(包含MAC7, MAC8, MAC15, MAC16)。此類虛擬網路的優點在於成員之移動具機動性。當屬於虛擬網路的工作站移動至別的埠時,橋接器仍然可以經由網址學習功能得知此工作站的連接埠,並且維持虛擬網路正常的通訊。如圖16-8中VLAN3之工作站5由原來SW1之第8埠移到SW2 之第11埠時,VLAN3之成員仍然不變,但連結情形則如圖16-9所示。此類虛擬的缺點在於MAC位址不容易記憶,在開始規畫成員時如果需要一一明列則較不方便。

圖16-8 以MAC位址為基礎之虛擬網路範例

圖16-9 以MAC位址為基礎之虛擬網路範例(工作站5移動後)

 

以IP子網路為基礎之虛擬網路 (IP subnet-based VLAN):虛擬網路的成員是以IP子網路為基本單位。可利用管理設定軟體來規畫哪一個虛擬網路應對應至哪一個IP子網路。如圖16-10中所示,網路規畫為三個虛擬網路:VLAN1(IP子網路140.114.76.xx, 包含工作站1,2,9,10), VLAN2(IP子網路140.114.77.xx, 包含工作站3,4,11,12,13,14), VLAN3(IP子網路140.114.78.xx, 包含工作站5,6,7,8,15,16)。

圖16-10 以IP子網路為基礎之虛擬網路範例

以網路層通訊協定為基礎之虛擬網路 (Layer-3-based VLAN):虛擬網路的成員是以工作站使用的網路層通訊協定(如IP或IPX)為基本單位。可利用管理設定軟體來規畫哪一個虛擬網路應包含哪種通訊協定。如圖16-11中所示,由於工作站1-4,9-10使用IPX,而工作站5-8, 11-16使用IP, 因此可以將網路規畫為兩個虛擬網路:VLAN1(包含工作站1-4,9-10), VLAN2(包含工作站5-8, 11-16)。 需要此種歸類的主要因素是IP封包與IPX封包並不相容。屬於IP子網路的封包沒有必要送進採用IPX通訊協定的子網路。

圖16-11 以通訊協定為基礎之虛擬網路範例

 

以原則為基礎的虛擬網路 (Rule-based VLAN)。所謂以「原則」為基礎就是管理者可以非常有彈性的訂定一些原則來規畫虛擬網路。此類方法是較新的觀念,必須依靠交換器有能力檢視封包上較深入的部份,而根據一些事先決定的欄位值,部份欄位值,甚至某些位元值來規畫虛擬網路。例如表16-1中所列的就是可用來規畫虛擬網路的一些原則範例。其中第一項代表將「所有使用某一個IP子網路網址的工作站」規畫為一虛擬網路。而第四項則代表將「所有Ethernet type欄位等於某特定值的訊框」規畫為一虛擬網路。有了這些原則性的描述功能,規畫虛擬網路就相當具有彈性。

表16-1 規畫虛擬網路的原則範例

所有使用某一個IP子網路網址的工作站

所有使用某一個特定網址的IPX工作站

所有使用由abc公司生產之網路卡的工作站

所有Ethernet type欄位等於某特定值的訊框

所有SNAP欄位等於某特定值的訊框

所有TCP, Source port欄位等於某特定值的訊框

所有UDP, Source port欄位等於某特定值的訊框

在介紹了許多種虛擬網路規畫方法後,我們將其特性整理如表16-2所示。其中「成員配置難易度」是指將工作站規畫為某一個虛擬網路成員的方便性。Port-based的方式是最簡單的方法。相對的,使用MAC-based時在尋找MAC位址與輸入MAC位址可能就較費時間。「彈性」是指處理虛擬網路成員異動/移動時的便利性。Port-based的方式是最不具彈性的方法,工作站如果變更連接埠就必須重新設定虛擬網路。MAC-based或Layer-3-based 的方式可以讓工作站自由的變換連接埠而不必重新設定。Rule-based則是最具彈性的方法,因為其通常只管封包的內容而不管封包的進出埠。「改善工作群組頻寬使用效率」是指能否增加工作群組 (workgroup) 的頻寬使用效率。由於集線器不具備同時有多筆訊框傳送的功能。因此雖然可提供虛擬網路的功能,但是並沒有提昇頻寬的使用效率。其他方法由於都使用交換器因此可實際提昇頻寬使用率。

「群播服務」是指支援群播功能的便利性。由於在進行IP Class D群播網址與MAC-位址之間的正確對映時需有選徑 (routing) 的能力,因此Layer-3-based及Rule-based方法較容易支援群播服務。其他方法則需要額外的負擔。「每埠多個虛擬網路」是指一個連接埠可否同時隸屬於多個虛擬網路。Port-based方法不具備此特性因為在接收訊框時無法辨別其應屬於哪一個虛擬網路。由於其他方式是依據訊框內容來分辨虛擬網路的隸屬關係,因此即使屬於不同虛擬網路的訊框由同一個連接埠進入仍然可以成功辨別。雖然如此,在採購相關交換器設備時仍須留意其是否具備此功能。「安全性」是指資料傳輸時避免被竊聽的安全性。Port-based方式的安全性最高,因為連結上某一個埠的網路區段上的所有工作站都必須屬於相同的虛擬網路。也就是說,成員所傳送的訊框只有同一虛擬網路的成員能看得到。相對的,MAC-based或Layer-3-based方法由於允許一個連接埠同時屬於多個虛擬網路,因此傳送的訊框容易被其他虛擬網路的成員竊聽。至於Rule-based方法由於可以彈性的規畫虛擬網路的成員,因此在安全性上也與規畫內容有關,其安全性是具有選擇彈性的。「虛擬網路成員跨交換器」是指虛擬網路的成員可否連接在多個交換器上。集線器無法提供此功能,所有同一虛擬網路的成員都必須連接到同一部集線器上。使用交換器之Port-based或MAC-based方法則可以有此功能。不過交換器必須能支援設定互相連接埠的管理功能,因為此連接埠將會有屬於不同虛擬網路的訊框經過。如果採用Port-based方法,則所有經過此連接埠的訊框都必須貼上標籤 (tagging) ,否則無法辨識其隸屬於哪一個虛擬網路。MAC-based方法則可無標籤,因為可直接用MAC位址來判斷。Layer-3-based或Rule-based因為都已具有選徑能力,因此虛擬網路成員可分佈在不同的交換器上。

表16-2虛擬網路規畫法比較表

Port-based

Mac-based

Layer-3- based

Rule-based

智慧型集線器

交換器

成員配置

難易度

容易

容易

困難

中間

中間

彈性

無

無

中等

中等

高

改善工作群組頻寬使用效率

否

是

是

是

是

群播服務

不佳

不佳

不佳

佳

佳

每埠多個

虛擬網路

不可

不可

可能

可能

可能

安全性

高

高

中低

中低

具選擇性

虛擬網路成員跨交換器

不可

可能

可能

可

可

 

16-2.2 資訊傳佈與成員解析 (Distribution/Resolution)

所謂「資訊傳佈與成員解析」是指將虛擬網路成員之資訊傳佈至所有的橋接器/交換器。使得每部橋接器/交換器收到訊框時能辨識該訊框屬於哪一個虛擬網路。有需多方法可以達成此任務:(1) 經由「宣告通訊協定」 (Declaration protocols) 將工作站與虛擬網路之關連 (VLAN associations) 經由網路傳送給每一個橋接器。例如可利用IEEE 802.1Q所制訂之GVRP (GARP VLAN Registration Protocol) 將虛擬網路成員之資訊傳佈至所有的橋接器/交換器。(2) 經由「要求/回覆通訊協定」 (Request/Response protocols) 來要求某些特定之虛擬網路連結關係。

 

16-2.3訊框轉送 (Relay)

所謂「訊框轉送」是指如何在虛擬網路環境下轉送訊框。所應考慮的是完成下列工作項目的方法:

確認接收之訊框與虛擬網路之隸屬關係。此部份由一組「輸入規則」 (Ingress rules) 來制訂。

決定接收之訊框應由哪些埠轉送。此部份由一組「轉送規則」 (Forwarding rules) 來制訂。

轉換訊框格式/標籤處理。針對每一個埠,如果必要,將欲轉送之訊框進行訊框格式之轉換工作 (例如將IEEE 802.3 Ethernet訊框轉換為IEEE 802.5 Token-Ring訊框)。另外還需決定訊框應該貼上標籤 (tagging) 或去掉標籤 (untagging)。此部份由一組「輸出規則」 (Egress rules) 來制訂。

虛擬網路訊框格式之制訂。虛擬網路訊框格式將包含「虛擬網路辨識碼」 (VID)。

標籤處理程序。包含將訊框貼上標籤的程序,去掉標籤的程序,以及變更標籤的程序。

這種以虛擬網路成員關係來設計的橋接器輸入規則,轉送規則,以及輸出規則使得橋接器有能力完成以下工作:

將所有收到的未貼標籤訊框歸類為某一個特定的虛擬網路,其辨識碼可由指定給接收埠的虛擬網路辨識碼 (Port VID, 簡稱PVID) 來決定。PVID之預設值為1。如果系統支援管理功能,則也可以將每個埠的PVID設為不同,以便提供規畫多虛擬網路的功能。值得注意的是,這種歸類未貼標籤訊框的方法是橋接器轉送程序 (Forwarding process) 的一部份功能,因此只能針對可能會被轉送至其他埠的訊框來進行。對於傳送給橋接器本身的訊框,如BPDUs, GARP PDUs, 或其他PDUs等,則不作此分類。也不會將此類訊框交給轉送程序。

將所有收到的已貼標籤訊框歸類為某一個特定的虛擬網路,其辨識碼可由此訊框所貼的標籤來決定。

利用訊框所配置的虛擬網路辨識碼來決定此訊框應該被轉送或丟棄。

根據 (連接埠/虛擬網路) 的配對關係來決定轉送的訊框應該貼標籤或無標籤。這是指每一個埠都可以有一個或多個虛擬網路辨識碼。

雖然這種以連接埠為基礎的虛擬網路歸類法定義了如何將未貼標籤訊框分類的單一原則,但並不表示系統只能提供以連接埠為基礎的虛擬網路服務。相反的,這只是制訂了一種如何將未貼標籤訊框貼上標籤的標準模式。

 

16-2.4訊框之標籤結構

虛擬網路技術採用兩種基本的訊框標籤:

隱性標籤 (Implicit tagging)

顯性標籤 (Explicit tagging)

「隱性標籤」是指訊框本身沒貼標籤,但可利用訊框本身的內容 (如 MAC位址,網路層通訊協定辨識碼) 來判斷其屬於哪一個虛擬網路。或是利用接收該筆訊框的連接埠的PVID來判斷。

「顯性標籤」則是指此訊框本身已經貼有標籤,此標籤已明確指出其屬於哪一個虛擬網路。橋接器收到顯性標籤訊框意味著事前已經有某一個設備(訊框之原產生者,或具虛擬網路功能之橋接器)確認此訊框與虛擬網路的對映關係,並且將虛擬網路標籤嵌入該訊框。

 

 

16-2.5虛擬網路相關定義

支援虛擬網路的橋接網路有許多重要的定義如下:

虛擬網路設備 (VLAN-Aware Devices):認識虛擬網路的設備。也就是有配置虛擬網路軟體,能處理虛擬網路訊框的設備。我們稱具此能力的橋接器為「虛擬橋接器」。

非虛擬網路設備 (VLAN-Unaware Devices) :不認識虛擬網路的設備。也就是無配置虛擬網路軟體,不能處理虛擬網路訊框的設備。目前傳統的集線器,橋接器,或交換器都屬於此類別。

接續鏈路 (Access Link) : 接續鏈路是一個負責將一部或多部工作站接續至虛擬橋接器的網路區段。例如集線器(Hub) 就是最典型的接續鏈路。接續鏈路可以簡單到只含一條連接工作站的線路,也可以複雜到包含許多傳統橋接器與網路區段的橋接網路 (BLAN)。通常我們將接續鏈路看成是虛擬網路的周邊網路。

主幹鏈路 (Trunk Link):主幹鏈路是一個負責將一部或多部具虛擬網路功能之設備(可為橋接器或工作站)連結起來的網路區段。例如將兩部具虛擬網路功能之設備連結起來的可以是一條點對點專線。將多部具虛擬網路功能之設備連結起來的則可以是集線器。圖16-12所示為點對點專線主幹鏈路範例。

混合鏈路 (Hybrid Link):混合鏈路是一個同時連接虛擬網路設備與非虛擬網路設備的網路區段。圖16-13所示為混合鏈路範例。其中除了兩部橋接器為虛擬橋接器外,屬於VLANC的三部工作站為非虛擬網路工作站,而屬於VLANB的工作站則為虛擬網路工作站。

接續埠 (Access Port):虛擬網路設備上連接接續鏈路的埠。

主幹埠 (Trunk Port):虛擬網路設備上連接主幹鏈路的埠。

混合埠 (Hybrid Port):虛擬網路設備上連接混合鏈路的埠。

 

圖16-12主幹鏈路範例

圖16-13混合鏈路範例

接續鏈路上傳送的訊框都不可以貼上標籤。這是因為接續鏈路上的設備 (傳統工作站,傳統橋接器)都屬於非虛擬網路設備(除了擁有該接續埠的虛擬網路設備)。它們都看不懂虛擬網路標籤,因此在其上傳送的訊框都不可以貼上標籤。

主幹鏈路上傳送的訊框都必須貼上標籤。這是因為主幹鏈路上連接的設備都是虛擬網路設備。它們都看不懂沒有貼上虛擬網路標籤的訊框,因此在其上傳送的訊框都必須貼上標籤。

混合鏈路上傳送的訊框可以貼上標籤,也可以無標籤。但屬於同一個虛擬網路的訊框則必須有相同的處理原則:要麼全部貼上虛擬網路標籤,不然就全部無虛擬網路標籤,不能有的訊框貼,有的訊框無。不過到底貼無標籤可不是隨意決定的,必須依賴網路的連接情形來判斷。如對圖16-14中的混合鏈路來說,屬於VLAN A及VLAN B的訊框都必須貼上虛擬網路標籤,而屬於VLAN C的訊框則都不能貼上標籤。

圖16-14 虛擬網路架構範例

 

16-2.6虛擬網路擴張樹

在第十五章中已經介紹過橋接網路必須建立一個 「擴張樹」 (spanning tree) 以消除網路中的迴路問題。擴張樹同時也解決了橋接網路的規模擴充問題。無論是小規模橋接網路或大規模橋接網路都使用相同的擴張樹演算法即可。由於虛擬網路的成員也是散佈在網路上,因此虛擬網路成員之間的通訊應該如何轉送(傳送路徑)也是需要解決的問題。基本上有三種作法:(1) 整個橋接網路建立一個擴張樹,(2) 每一個虛擬網路建立一個自己的擴張樹,(3) 許多虛擬網路共用一個擴張樹。第一種方法的優點是整個網路只要維護一個擴張樹,減少複雜度。每一個虛擬網路的傳送路徑都是此擴張樹的一部份。圖16-14所示就是只有一個擴張樹的架構。VLAN A, VLAN B, 及VLAN C的訊框傳送路徑雖然彼此不相同,但都是屬於此擴張樹的一部份。缺點是此擴張樹的路徑對於某些虛擬網路來說可能效率不佳(如路徑過長)。而且由於所有虛擬網路所產生的訊框都必須經過此擴張樹傳送,可能會造成某些線路的忙碌與瓶頸。第二種方法的優點是每一個虛擬網路的擴張樹可能針對該虛擬網路提供較佳的傳送路線。缺點是橋接設備(橋接器或交換器)必須同時維護許多擴張樹,增加系統的複雜度。以目前虛擬網路辨識碼長度為12位元計算,一個橋接網路最多可以有1024個虛擬網路。要維護這麼多的擴張樹並不是一件容易的事。第三種方法則是屬於折衷的方法。不過如何規畫哪些虛擬網路使用哪一個擴張樹也不是一個容易的問題。目前市面上的相關產品採用的方式也不一致。例如Bay Networks公司的產品採用第一種方法,而Cisco公司的產品則採用第二種方法。至於IEEE802.1Q標準則較傾向於採用第一種方法:整個網路只建立一個擴張樹。

 


yball1.gif (1556 bytes)  16-3 虛擬橋接器運作原理

16-3.1運作模式

虛擬橋接器的運作模式與傳統之橋接器大致上相同,只多了「輸入規則」(Ingress Rules) 與「輸出規則」(Egress Rules),如圖16-15所示。除此之外,位址學習程式 (Learning Process) 則根據由每一連接埠接收之訊框上之原始位址 (source addresses)與虛擬網路辨識碼 (VIDs) 來修正過濾資料庫 (Filtering Database) 的內容。輸入規則根據訊框的虛擬網路隸屬關係來將訊框規類。輸出規則負責針對一個虛擬網路,決定訊框應該以何種格式由哪些連接埠傳送出去。

 

圖16-15虛擬橋接器運作模式

16-3.2連接埠狀態訊息

為了支援虛擬網路服務,每一個連接埠的狀態訊息 (State information) 必須包含「連接埠虛擬網路辨識碼」 (Port VLAN ID, 簡稱PVID)。

在以連接埠為基礎的虛擬網路系統中,對未貼標籤 (untagged) 或只貼上優先權標籤 (Priority-tagged) 訊框的虛擬網路歸類是以隱性的方式來決定。通常是根據接收訊框的連接埠來決定。這種歸類法需要給橋接器的每一個連接埠一個「連接埠虛擬網路辨識碼」。每一個連接埠的辨識碼都可以經由管理程序來設定。沒有被特別設定的連接埠則使用表16-8 所示的預設辨識碼。

另外每個虛擬網路都必須記錄下列兩個集合:

成員集合 (Member set),

無標籤集合 (Untagged set)。

前者是一個連接埠的集合。是指此虛擬網路經由哪些連接埠可到達成員。後者也是一個連接埠的集合。是指成員集合中哪些連接埠上傳送的訊框不須貼上標籤。成員集合的內容可以因為虛擬網路的異動而動態的調整,無標籤集合的內容則必須經由管理程序以靜態的方式設定。在正常的情況下,接續埠 (access port) 及混合埠 (hybrid port)以屬於無標籤集合為佳,而骨幹埠 (trunk port) 則以屬於需貼標籤集合為佳。

 

16-3.3訊框處理

虛擬網路橋接器在接收訊框與傳送訊框的功能與傳統的橋接器相同。但是在決定是否將某一訊框濾掉時則有些不同。針對訊框可能輸出的連接埠,我們必須根據下列的資訊來決定此訊框的過濾與否:

過濾資料庫的內容

橋接器過濾模式

該連接埠的過濾模式

該訊框中的目的地位址

該訊框隸屬的虛擬網路

滿足下列條件的訊框將會被過濾掉:

對於橋接器及連接埠的所有可能模式,只要

過濾資料庫中存在一項目指出,針對該訊框所隸屬的虛擬網路,該訊框的目的地MAC位址應該由另外一個連接埠傳送,或

過濾資料庫中存在一項目明確指出,所有攜帶該目的地MAC位址與虛擬網路辨識碼的訊框應該被過濾掉。

對於橋接器第二過濾模式 (Bridge Filtering Mode 2) 及連接埠第 B過濾模式 (Port Filtering Mode B),只要

該訊框的目的地MAC位址是一個群體位址,而且過濾資料庫中存在一「群體註冊項目」(Group Registration Entry) 指出,針對該連接埠,所有攜帶該目的地MAC位址與虛擬網路辨識碼的訊框應該被過濾掉。

對於橋接器第二過濾模式 (Bridge Filtering Mode 2) 及連接埠第 C過濾模式 (Port Filtering Mode C),只要

該訊框的目的地MAC位址是一個群體位址,而且過濾資料庫中「不存在」一群體註冊項目指出,針對該連接埠,所有攜帶該目的地MAC位址與虛擬網路辨識碼的訊框應該被轉送。

位址學習程式 (Learning process) 除了觀察訊框的原始位址外,還要根據該訊框所隸屬的虛擬網路來更改過濾資料庫。在傳統橋接器的運作環境下,由於沒有虛擬網路的觀念,因此整個橋接網路是一個廣播網域。換句話說,橋接器只需一個過濾資料庫來記錄所學習到的MAC位址即可。橋接器在決定是否轉送一個訊框時就參考此過濾資料庫。但是在虛擬網路的運作環境下,每一個虛擬網路都是一個廣播網域,因此可以有一個獨立的過濾資料庫。於是虛擬網路橋接器定義了兩種位址學習模式:

共享式虛擬網路學習模式

獨立式虛擬網路學習模式

所謂「共享式虛擬網路學習模式」 (Shared VLAN Learning, 簡稱SVL) 是指一個虛擬網路所學習到的MA位址可以給其他虛擬網路所使用。而所謂「獨立式虛擬網路學習模式」 (Independent VLAN Learning, 簡稱IVL) 則是指一個虛擬網路所學習到的MAC位址不可以給其他虛擬網路所使用。

在大部份的情況下,橋接器採用SVL或IVL所得到的效果是相同的。但是在某些特殊的網路組態下,為了避免訊框轉送氾濫,我們必須對橋接器的學習模式加以規範。基本上有三種情況需要規範:

連接多個獨立虛擬網路

MAC位址重複

非對稱性虛擬網路

圖16-16說明一個設備如何將兩個虛擬網路連結在一起,並且使用虛擬網路的位址學習成果。結果造成在其他的橋接器上必須使用獨立式虛擬網路學習模式。圖中假設工作站A及B經由一個「橋接路徑器」(Bridge-Router) 連結起來,中間則有一個虛擬橋接器(VLAN-aware Bridge)。為方便起見,我們稱此橋接路徑器為「連接器」(Connector)。在此例中,假設連接器沒有啟動擴張樹演算法,因此虛擬橋接器沒有試著去消除迴路。由於此虛擬橋接器的所有連接埠都設定為傳送無標籤訊框,因此連接器事實上扮演著將兩個虛擬網路連結在一起的角色。由於連接器本身不認識虛擬網路因此將所學習到的位址A及B放在同一個過濾資料庫中。連接器知道工作站A應該隸屬於連接埠X。如此可以提供過濾資訊以避免虛擬網路Red中欲傳送給工作站A的訊框經由連接器的埠Y被轉送至虛擬網路Blue。

首先假設工作站A傳送一筆訊框給工作站B。由於工作站A本身也沒有虛擬網路的觀念,因此其訊框以沒貼標籤的方式進入橋接器。由於橋接器已經設定該連接埠的PVID = Red, 因此該訊框屬於虛擬網路Red,同時橋接器學習到工作站A隸屬於此虛擬網路的連接埠1。橋接器的轉送程式在查閱成員集合 (Member Sets) 與無標籤集合 (Untagged Sets) 後, 發現屬於虛擬網路Red的訊框應該由連接埠3以無標籤的方式傳送出去。橋接器於是將此訊框轉送出去。連接器收到此訊框後發現它並不認識工作站B,於是由其連接埠Y轉送出去。同時學習到工作站A隸屬於其連接埠X。此訊框以沒貼標籤的方式進入橋接器。由於橋接器已經設定該連接埠的PVID = Blue, 因此該訊框屬於虛擬網路Blue,同時橋接器學習到工作站A隸屬於此虛擬網路的連接埠4。橋接器的轉送程式在查閱成員集合與無標籤集合後, 發現屬於虛擬網路Blue的訊框應該由連接埠2以無標籤的方式傳送出去。橋接器於是將此訊框轉送給工作站B。

相同的,當工作站B回送一筆訊框給工作站A時,其訊框也以沒貼標籤的方式進入橋接器。由於橋接器已經設定該連接埠的PVID = Blue, 因此該訊框屬於虛擬網路Blue,同時橋接器學習到工作站B隸屬於此虛擬網路的連接埠2。橋接器的轉送程式在查閱成員集合 (Member Sets) 與無標籤集合 (Untagged Sets) 後, 發現屬於虛擬網路Blue的訊框應該由連接埠4以無標籤的方式傳送出去。橋接器於是將此訊框轉送出去。連接器收到此訊框後發現工作站A應該由其連接埠X轉送出去。同時學習到工作站B隸屬於其連接埠Y。此訊框以沒貼標籤的方式進入橋接器。由於橋接器已經設定該連接埠的PVID = Red, 因此該訊框屬於虛擬網路Red,同時橋接器學習到工作站B隸屬於此虛擬網路的連接埠3。橋接器的轉送程式在查閱成員集合與無標籤集合後, 發現屬於虛擬網路Red的訊框應該由連接埠1以無標籤的方式傳送出去。橋接器於是將此訊框轉送給工作站A。

在此網路組態下,此虛擬橋接器就應該讓兩個虛擬網路各自獨立學習。否則工作站A及B的位址會輪流的被認為隸屬於對角的連接埠。例如原來工作站A隸屬於連接埠1, 但是其訊框如果被連接器轉送並且由此橋接器的連接埠4進入時,又會被重新學習為隸屬於連接埠4。如此不斷的交替,將造成嚴重的錯誤。虛擬網路各自獨立學習則可以避免此問題。

圖16-16 虛擬網路獨立學習範例 (一)

另外一個需要虛擬網路獨立學習的例子如圖16-17所示。圖中假設連接器也認識虛擬網路(VLAN-aware protocol sensitive Bridge-Router), 而且紙船送或接收貼標籤之訊框。首先假設工作站A及B分別傳送一筆訊框給連接器。由於工作站A(B)本身沒有虛擬網路的觀念,因此其訊框以沒貼標籤的方式進入橋接器。由於橋接器已經設定該連接埠的PVID = Red (Blue), 因此該訊框屬於虛擬網路Red(Blue),同時橋接器學習到工作站A(B) 隸屬於此虛擬網路的連接埠1(2)。橋接器的轉送程式在查閱成員集合 (Member Sets) 與無標籤集合 (Untagged Sets) 後, 發現屬於虛擬網路Red (Blue) 的訊框應該由連接埠3以貼標籤的方式傳送出去。橋接器於是將此訊框轉送出去。連接器收到此貼標籤訊框, 虛擬網路為Red (Blue) 後學習到工作站A(B) 隸屬於其連接埠1。

假設此時工作站A傳送一筆訊框給工作站B。此訊框由橋接器的連接埠3以貼標籤的方式傳送出去。連接器收到此貼標籤訊框(虛擬網路為 Red)後發現其目的地工作站B隸屬於另外一個虛擬網路Blue。由於連接器採用共享式學習,因此由過濾資料庫中可得知工作站B隸屬於連接埠1。此訊框以貼上虛擬網路Blue的標籤進入橋接器。由於橋接器已經取消該連接埠的PVID設定(以訊框所攜帶的標籤為主),因此該訊框屬於虛擬網路Blue,同時橋接器學習到工作站A隸屬於此虛擬網路的連接埠3。橋接器的轉送程式在查閱成員集合與無標籤集合後, 發現屬於虛擬網路Blue的訊框應該由連接埠2以無標籤的方式傳送出去。橋接器於是將此訊框的標籤去掉後轉送給工作站B。

相同的,當工作站B回送一筆訊框給工作站A時,其訊框也以沒貼標籤的方式進入橋接器。此訊框由橋接器的連接埠3以貼標籤的方式傳送出去。連接器收到此貼標籤訊框(虛擬網路為 Blue)後發現其目的地工作站A隸屬於另外一個虛擬網路Red。由於連接器採用共享式學習,因此由過濾資料庫中可得知工作站A隸屬於連接埠1。此訊框以貼上虛擬網路Red的標籤進入橋接器。由於橋接器已經取消該連接埠的PVID設定(以訊框所攜帶的標籤為主),因此該訊框屬於虛擬網路Red,同時橋接器學習到工作站B隸屬於此虛擬網路的連接埠3。橋接器的轉送程式在查閱成員集合與無標籤集合後, 發現屬於虛擬網路Red的訊框應該由連接埠2以無標籤的方式傳送出去。橋接器於是將此訊框的標籤去掉後轉送給工作站A。

在此例中,如果虛擬橋接器採用共享式學習模式,則工作站A及B都會被認為是隸屬於連接埠3,之後的通訊可能會造成不正常的過濾,影響通訊。

圖16-17 虛擬網路獨立學習範例 (二)

另外一個需要獨立式虛擬網路學習的極端例子發生在兩個不同的工作站使用相同的MAC位址,或一部工作站同時連接在多個區域網路區段上,但每一個網路介面卡使用相同的MAC位址,如圖16-18所示。圖中之工作站使用相同的MAC位址X與伺服器通訊。如果橋接器採用共享式學習模式(使用相同的過濾資料庫),則MAC位址X會一下子隸屬於連接埠1, 一下子又隸屬於連接埠2, 端看最後傳送訊框的工作站是A或B。如此將嚴重的影響到工作站與伺服器間的通訊(伺服器應該傳給工作站A的訊框會被轉送到工作站B,或相反)。在這種架構之下,只有採用獨立式虛擬網路學習模式。

圖16-18 虛擬網路獨立學習範例 (三)

需要共享式虛擬網路學習的例子發生在非對稱性的使用虛擬網路。在正常的情況下,屬於同一個虛擬網路的兩個工作站A及B在彼此通訊時,都會使用相同的VID。但是在某些情況下,使用兩個虛擬網路反而更方便。工作站A傳送給工作站B時用一個虛擬網路,工作站B傳送給工作站A時用另外一個虛擬網路。這就是所謂的「非對稱性虛擬網路」(Asymmetric VLANs)的概念。 如圖16-19所示,假設伺服器與工作站都不認識虛擬網路,因此訊框都以無標籤的方式傳送。為了達到工作站A與B都能與伺服器通訊,但彼此不能通訊的特殊目的(基於某種安全理由),此例中規畫了三個虛擬網路:虛擬網路Purple (伺服器 -> 工作站A/B), 虛擬網路Red (工作站A -> 伺服器), 虛擬網路Blue (工作站B -> 伺服器)。

工作站A(B) 經由連接埠1 (2)傳送未貼標籤訊框給伺服器。由於橋接器已經設定該連接埠的PVID = Red (Blue), 因此該訊框屬於虛擬網路Red(Blue),同時橋接器學習到工作站A(B)隸屬於此虛擬網路的連接埠1(2)。橋接器的轉送程式在查閱成員集合與無標籤集合後, 發現屬於虛擬網路Red(Blue)的訊框應該由連接埠3以無標籤的方式傳送出去。橋接器於是將此訊框轉送出去。

伺服器則經由連接埠3傳送未貼標籤訊框給傳送訊框給工作站A(B)。由於橋接器已經設定該連接埠的PVID = Purple, 因此該訊框屬於虛擬網路Purple,同時橋接器學習到伺服器隸屬於此虛擬網路的連接埠3。橋接器的轉送程式在查閱成員集合與無標籤集合後, 發現屬於虛擬網路Purple的訊框可以由連接埠1,2 以無標籤的方式傳送出去。在查閱共享式過濾資料庫後可發現工作站A(B)隸屬於連接埠1(2)。橋接器於是將傳送給工作站A(B)的訊框經由連接埠1(2) 轉送出去。

在此網路組態下,此虛擬橋接器就應該使用共享式學習模式 (Purple, Red, Blue共享)。如果虛擬網路Purple與虛擬網路Red之過濾資料庫不共享,則當伺服器欲給工作站A的回應訊框到達橋接器時會因為找不到工作站A的隸屬埠而將之同時轉送給工作站A及B,如此違反工作站間不通訊的要求。相反的,虛擬網路Purple與虛擬網路Red之過濾資料庫共享,則此回應訊框只會轉送給工作站A。伺服器與工作站B的通訊方式也相同。

為了能支援這種特殊的組態設定,此橋接器應該是一種SVL橋接器,或SVL/IVL橋接器。

圖16-19 虛擬網路共享學習範例 (非對稱性虛擬網路)

 

 

16-3.4過濾資料庫

過濾資料庫主要支援轉送程式的查詢,以便決定具有特定MAC位址與VID的訊框應該往哪些連接埠轉送。過濾資料庫的內容主要包含兩種過濾資訊:(1) 靜態過濾資訊 (static), 經由管理程式設定,(2) 動態過濾資訊 (dynamic), 經由橋接器的運作而加入過濾資料庫中。

靜態過濾資訊有兩種項目型態:

靜態過濾項目 (Static Filtering Entry),

靜態虛擬網路註冊項目(Static VLAN Registration Entry)。

動態過濾資訊則有三種項目型態:

動態過濾項目 (Dynamic Filtering Entry),

群體註冊項目 (Group Registration Entry),

動態虛擬網路註冊項目(Dynamic VLAN Registration Entry)。

靜態過濾項目

一個靜態過濾項目包含:(1) 一個MAC位址, (2) VID, (3) 連接埠對應圖 (port map), 如表16-3所示。其中 MAC位址可以是

一個個別型MAC位址 (Individual MAC address), 或

一個群體MAC位址 (Group MAC address), 或

所有群體MAC位址 (All Group addresses), 或

所有未註冊的群體MAC位址 (All Unregistered Group addresses)。

在此出現的「所有群體MAC位址」 (All Group addresses) 或「所有未註冊的群體MAC位址」 (All Unregistered Group addresses) 具有唯一性。也就是說它們不能再有「靜態過濾項目」存在過濾資料庫中。

在連接埠對應圖 (port map)中,針對每一個輸出連接埠都有一個「控制元件」(Control element),此元件指出具有上述MAC位址與VID的訊框應該被

無條件的轉送致該輸出埠(Forwarded), 與動態過濾資訊無關, 或

無條件的過濾(Filtered), 與動態過濾資訊無關, 或

依據動態過濾資訊來決定轉送或過濾。如果沒有該MAC位址的動態過濾資訊,則依據該輸出埠的預設群體過濾資訊來決定。

所有橋接器都應該有能力處理上述的前兩種MAC位址,及控制元件的三種功能。支援「擴充過濾服務」(Extended Filtering Services) 橋接器則應該有能力處理上述的四種MAC位址,及控制元件的三種功能。

表16-3靜態過濾項目格式

MAC

位址

虛擬網路 辨識碼

連接埠

對應圖

MACa

2

               

MACb

3

               

MACc

3

               

MACd

2

               

MACe

4

               

控制元件

 

靜態虛擬網路註冊項目

一個靜態虛擬網路註冊項目包含:(1) VID, (2) 連接埠對應圖 (port map), 如表16-4所示。其中VID是該虛擬網路的辨識碼。連接埠對應圖中,針對每一個輸出連接埠都有一個「控制元件」,此元件指出

GVRP通訊協定對該虛擬網路的「註冊控制」(Registrar Administrative Control) 值。這些值除了提供GVRP通訊協定的運作控制外,也可能影響橋接器的轉送行為。可能的註冊控制值有:

固定註冊 (Registration Fixed), 表示該虛擬網路在此連接埠固定註冊,無論虛擬網路的成員是否真的存在此連接埠所連接的網路上。固定註冊屬於管理上的特殊用途,必須經由管理程序設定。

禁止註冊 (Registration Forbidden), 表示禁止該虛擬網路在此連接埠註冊,無論虛擬網路的成員是否真的存在此連接埠所連接的網路上。禁止註冊也屬於管理上的特殊用途,必須經由管理程序設定。

正常註冊 (Normal Registration), 表示該虛擬網路可以經由GVRP通訊協定的註冊服務在此連接埠註冊。

傳送給該虛擬網路的訊框在經由此連接埠轉送時應該貼上標籤(Tagged) 或無標籤 (Untagged)。

所有橋接器都應該有能力處理靜態虛擬網路註冊項目中控制元件的所有可能值。

表16-4靜態虛擬網路註冊項目格式

虛擬網路 辨識碼

連接埠

對應圖

2

               

3

               

4

               

5

               

6

               

控制元件

動態過濾項目

一個動態過濾項目包含:(1) 一個個別型MAC位址, (2) 過濾辨識碼(FID), (3) 連接埠對應圖, 如表16-5所示。其中FID是由橋接器所填入的,此辨識碼代表一個虛擬網路辨識碼的集合。針對一個個別型的MAC位址,在這些虛擬網路所對應的過濾資料庫中最多只能有一個動態過濾項目。也就是說,這些虛擬網路所學習的位址資訊是共享的。事實上,一個FID就代表一組彼此共享位址學習成果的虛擬網路。而任何一對FID就代表兩組彼此不共享位址學習成果的虛擬網路。

連接埠對應圖則指出具有上述MAC位址(非群播訊框)與FID的訊框應該被轉送至哪一個連接埠。由於連接埠對應圖事實上只包含一個連接埠值,此欄位的意義與傳統過濾資料庫中的隸屬埠功能相同。

動態過濾項目是由「學習程式」(learning process) 負責產生與維護。不能經由管理程序來設定。一個動態過濾項目如果經過一段時間 (aging time,建議值為300秒) 沒有被更新過,則該項目應該被刪除。針對任何 (MAC位址,FID) 的配對,過濾資料庫中則最多只能存在一個動態過濾項目。

表16-5動態過濾項目格式

MAC

位址

FID

連接埠

對應圖

登錄

時間

MACa

2

               

200

MACa

3

               

120

MACb

3

               

100

MACb

2

               

250

MACc

4

               

60

群體註冊項目

一個群體註冊項目包含:(1) 一個MAC位址, (2) VID, (3) 連接埠對應圖 (port map), 如表16-6所示。其中 MAC位址可以是

一個群體MAC位址 (Group MAC address), 或

所有群體MAC位址 (All Group addresses), 或

所有未註冊的群體MAC位址 (All Unregistered Group addresses)。

在此出現的「所有群體MAC位址」 (All Group addresses) 或「所有未註冊的群體MAC位址」 (All Unregistered Group addresses) 具有唯一性。也就是說它們不能再有「靜態過濾項目」存在過濾資料庫中。

VID是指在「動態虛擬網路註冊項目」中已註冊過的虛擬網路的辨識碼。在連接埠對應圖中,針對每一個輸出連接埠都有一個「控制元件」,此元件指出具有上述MAC位址與VID的訊框應該被轉送至該輸出埠(Registered )或過濾掉(Not registered)。

群體註冊項目是由GMRP通訊協定來負責產生,修改,與刪除的,不能經由管理程序來設定。針對任何 (MAC位址,VID) 的配對,過濾資料庫中則最多只能存在一個群體註冊項目。

表16-6群體註冊項目格式

MAC

位址

虛擬網路 辨識碼

連接埠

對應圖

MACa

2

               

MACa

3

               

MACc

4

               

MACd

5

               

MACe

6

               

控制元件

 

動態虛擬網路註冊項目

一個動態虛擬網路註冊項目包含:(1) VID, (2) 連接埠對應圖 (port map), 如表16-7所示。其中VID是該虛擬網路的辨識碼。連接埠對應圖中,針對每一個輸出連接埠都有一個「控制元件」,此元件指出該虛擬網路是否已在該連接埠註冊。

表16-7動態虛擬網路註冊項目格式

虛擬網路 辨識碼

連接埠

對應圖

2

               

3

               

4

               

5

               

6

               

控制元件

 

 

16-3.5輸入規則/輸出規則

輸入規則 (Ingress rules) 是指如何判斷一筆接收的訊框應該屬於哪一個虛擬網路。也就是應該給此訊框一個虛擬網路辨識碼 (VID)。有兩種方式可完成此任務:(1) 顯性標籤,(2)隱性標籤。前者是指如果此訊框本身已經貼有標籤,則此標籤已明確指出其屬於哪一個虛擬網路。後者是指訊框本身沒貼標籤,但可利用接收該筆訊框的埠的埠虛擬網路辨識碼。

轉送規則 (Forwarding rules) 是指如何判斷一筆接收的訊框應該由哪些埠轉送出去。

輸出規則 (Egress rules) 是指當一個埠由橋接器內部收到一筆欲傳送的訊框時,如何判斷該不該傳送。如果要傳送,標籤又如何處理等等問題。如果發生下列兩種情形則此訊框應該被過濾掉:(1) 此訊框所隸屬的虛擬網路的集合成員中並不包含此連接埠,(2) 此訊框所隸屬的虛擬網路的集合成員 (Member Set) 中包含此連接埠,而且此連接埠屬於無標籤集合 (Untagged Set),但此訊框為IEEE 802.5訊框,而且此橋接器不支援訊框格式的轉換。

虛擬橋接器過濾訊框的規則是屬於某一個虛擬網路的訊框只能被轉送到有路徑可到達該虛擬網路成員的連接埠上。也就是說,針對每一個虛擬網路,橋接器都必須知道經由哪些連接埠可到達該虛擬網路的成員。

 


yball1.gif (1556 bytes)  16.4標籤處理

將訊框貼上標籤的主要目的是:

允許將使用者優先權的資訊加入那些無法攜帶優先權資訊的訊框(如Ethernet訊框)中,

讓訊框能攜帶虛擬網路辨識碼,

讓IEEE 802.5 Token-Ring網路的訊框能在非802.5網路上傳送(利用包裝技術,例如將整個IEEE 802.5訊框包在Ethernet訊框中傳送,待經過 Ethernet後再將包裝拆掉,還原成原來的IEEE 802.5訊框)。

將訊框貼上標籤包含三項工作:(1) 加上一個標籤標頭 (Tag Header)。此標頭應置於原訊框中目的地 MAC位址與原始 MAC位址之後。如果原訊框包含Routing欄位 (IEEE 802.5訊框), 則將標頭置於此欄位之後。(2) 如果接收訊框的網路與欲轉送訊框的網路不同型態(如Ethernet網路到Token-Ring網路),則貼標籤可能還包含必須依照IEEE 802.1H的規定,將該訊框進行轉換 (translation) 或包裝 (encapsulation) 的工作。(3) 重新計算訊框檢查碼 (FCS)。由於訊框內容已更動,因此訊框檢查碼必須重新計算過。

如果接收訊框的網路與欲轉送訊框的網路都是Ethernet, 則轉送一個貼上標籤的訊框,可能包含調整 PAD欄位的長度,以便使得貼上標籤的訊框最短為68位元組。如果仍然維持最短為64位元組,則可能發生將標籤去掉後訊框長度變成60位元組的錯誤狀況。

16-4.1標籤標頭格式

標籤標頭包含兩種格式:(1) 以太網路編碼式, (2) SNAP-編碼式,如圖16-20所示。訊框如果要在Ethernet網路上傳送則應該使用以太網路編碼式標籤標頭。以太網路編碼式包含最多36 個位元組,如圖16-20(a) 所示。其中

Tag Protocol Identifier (TPID):此欄位為標籤通訊協定辨識碼 (802.1Q Tag Protocol Type)。長度為兩個位元組。在IEEE 802.1Q標準中,此值為81-00。此欄位佔用原來Ethernet訊框中的Type欄位,因此網路驅動程式如果發現訊框的Type = 8100, 就表示此訊框為貼有標籤的訊框。如此可輕易與一般未貼標籤訊框區別。

Tag Control Information (TCI): 此欄位為標籤控制資訊。長度為兩個位元組。此欄位包含三個位元之「使用者優先權」 (user priority),一個位元之「制式格式指示」Canonical Format Indicator (CFI),,以及十二個位元之「虛擬網路辨識碼」 (VID)。其中優先權欄位可以讓貼上標籤的訊框攜帶優先權資訊通過無法支援優先權的網路 (如Ethernet),優先權的範圍為0~7。CFI = 1 表示此標籤標頭中包含RIF欄位, 而且RIF中的NCFI旗標值決定訊框資料中所攜帶的MAC位址是「制式格式」 (Canonical format) 或「非制式格式」(Non-canonical format)。 CFI = 0則表示此標籤標頭中不包含RIF欄位, 而且訊框中所包裝的MAC位址都是「制式格式」。這裡所謂的「制式格式」是指一個位元組的位元在網路上傳送的順序。如果最高位元 (most significant bit) 先傳送,則稱為「制式格式」,相反的,如果最低位元 (least significant bit) 先傳送,則稱為「非制式格式」。至於訊框中的資料欄位會包含MAC位址主要是有些通訊協定的需求。例如 「網址解析通訊協定」(ARP) 中就會攜帶MAC位址,RARP (Reverse ARP) 通訊協定也會。如果MAC位址格式不對,在接收時就會發生錯誤。

Length:長度欄位(2 位元組),記錄訊框長度。

Source-Routing Information Field (RIF):選徑資訊欄位(2-30位元組),記錄原始選徑的相關資訊。此欄位只有TCI中的CFI=1時才存在。RIF包含兩個元件:

Route Control Field (RC):路徑控制欄位(2 位元組)。

Route Descriptors:路徑描述子(最多 28 位元組)。記錄路徑之相關資訊。

訊框如果要在Token Ring/FDDI網路上傳送則應該使用SNAP-編碼式標籤標頭。SNAP-編碼式包含十個位元組,如圖16-20(b) 所示。其中

Tag Protocol Identifier (TPID):此欄位為標籤通訊協定辨識碼。長度為八個位元組。前三個位元組為標準的SNAP標頭,值為AA-AA-03, 接下來的三個位元組為SNAP通訊協定辨識碼,值為00-00-00, 最後兩個位元組為802.1Q TagType, 其值亦為81-00。

Tag Control Information (TCI): 此欄位為標籤控制資訊。長度為兩個位元組。此欄位格式與以太網路編碼式之TCI欄位相同。不過CFI = 1 表示此訊框中所包裝的MAC位址為「非標準格式」 。 CFI = 0則表示訊框中所包裝的MAC位址都是「標準格式」。

以太網路編碼式

SNAP-編碼式

圖16-20 標籤標頭格式

在以太網路編碼式標籤標頭中的「路徑控制欄位」Route Control Field (RC) 格式則如圖16-21所示。其中

Routing Type (RT):路由型態欄位(3位元),記錄此訊框的路由型態。橋接器的種類中包含所謂的「通透橋接器」(Transparent bridges) 與「原始選徑橋接器」(Source-routing bridges) 等等不同的型態。通透橋接器環境下使用者把訊框傳送的工作完全交給橋接器。原始選徑橋接器則必須由使用者決定訊框傳送路徑,然後將路徑資訊嵌入訊框中告訴橋接器。RT=01X表示此訊框為「通透訊框」(Transparent frame)。也就是沒有包含原始選徑相關資訊,因此下面的長度欄位值為2。

Length (LTH):記錄RIF欄位的實際長度。由於RC欄位佔2位元組,因此LTH = 2表示沒有攜帶「路徑描述子」。

Direction Bit (D):方向旗標,記錄訊框傳送方向,由工作站傳送給橋接器,或反向。

Largest Frame (LF):記錄Ethernet訊框的最大長度(1470位元組,或更小)。

Non-canonical Format Indicator (NCFI):NCFI= 0表示訊框中資料所攜帶的MAC位址都是「非制式格式」。NCFI= 2則表示訊框中資料所攜帶的MAC位址都是「制式格式」。在Token-Ring/FDDI網路中傳送訊框時,此位元是保留(正常之下,NCFI=0)的,而且其值在跨越橋接器時不會變更。當一個屬於原始選徑而且貼上標籤的訊框由Ethernet網路轉送給Token-Ring/FDDI網路時,RIF中的NCFI應設為0。

圖16-21 RC格式

Ethernet網路上貼標籤訊框在下列三種情況下需要攜帶RIF資訊:

該訊框是一個攜帶E-N或L-N資訊的通透訊框 (Transparent frame)。

該訊框是一個攜帶E-N或L-N資訊的原始選徑訊框 (Source-Routed frame)。

該訊框是一個攜帶L-C資訊的原始選徑訊框 (Source-Routed frame)。

其中第一種情況發生的環境是: (a) 橋接器由Token-Ring/FDDI網路上接收一筆攜帶 E-N或L-N資料,而且沒有RIF(RII=0)的未貼標籤訊框。 而此訊框要貼上標籤後轉送到Ethernet網路上, 或 (b) 橋接器由Token-Ring/FDDI網路上接收一筆CFI=1, 但沒有RIF(RII=0)的已貼標籤訊框。而此訊框要保留標籤轉送到Ethernet網路上。

第二種情況發生的環境是: (a) 橋接器由Token-Ring/FDDI網路上接收一筆攜帶 E-N或L-N資料,包含RIF(RII=1)的未貼標籤訊框。而此訊框要貼上標籤後轉送到Ethernet網路上, 或 (b) 橋接器由Token-Ring/FDDI網路上接收一筆CFI=1, 包含RIF(RII=1)的已貼標籤訊框。而此訊框要保留標籤後轉送到Ethernet網路上。

第三種情況發生的環境是: (a) 橋接器由Token-Ring/FDDI網路上接收一筆攜帶 L-C資料,包含RIF(RII=1)的未貼標籤訊框。而此訊框要貼上標籤後轉送到Ethernet網路上, 或 (b) 橋接器由Token-Ring/FDDI網路上接收一筆CFI=1, 包含RIF(RII=1)的已貼標籤訊框。而此訊框要保留標籤後轉送到Ethernet網路上。

橋接器由Token-Ring/FDDI網路上接收的其他種類訊框(如攜帶L-C或E-C資料的通透訊框)在轉送入Ethernet網路時,都應該貼上標籤,而且將CFI=0(不包含RIF欄位)。在第一種情況之下,橋接器在轉送訊框時必須產生一個RIF。但由於不包含原始選徑資訊,因此RIF的長度為2位元組。其中RT=010 (表示為一個通透訊框),LTH =2, D=LF=0, NCFI=0 (非制式格式)。在第二,三種情況之下,橋接器轉送訊框時,原訊框中的RIF只有轉送,沒有修改。除了NCFI應正確設定以表示資料是制式格式或非制式格式。

TCI中的虛擬網路辨識碼 (VID) 欄位用來分辨訊框與虛擬網路的隸屬關係。表16-8所示為VID的保留值,其餘的值則可使用為虛擬網路辨識碼。為方便起見,我們將一個貼上標籤的訊框稱為「優先權訊框」(Priority-Tagged frame),如果其VID =0。如果VID ¹ 0, 則稱為「虛擬網路訊框」(VLAN-Tagged frame)。

表16-8虛擬網路辨識碼 (VID) 保留值

VID值

意義

0

空擬網路辨識碼 (Null VID)。表示訊框中沒有攜帶虛擬網路辨識碼,只攜帶優先權資訊。

1

預設連接埠擬網路辨識碼 (Default PVID)。表示由連接埠接收的未貼標籤訊框將被貼上此標籤。每一個連接埠的PVID都可以經由管理系統設定之。

FFF

保留給實作時使用。PVID不能設定為此值,過濾資料庫中的 VID不能設定為此值,管理操作橋接器時不能使用此值,標籤標頭中的VID 也不能使用此值。

 

虛擬網路與傳送網路之相依性

工作站傳送的訊框可能包含下列三種型態的資訊:

Ethernet Version 2 (E) 訊框或LLC(L) 訊框。

嵌入MAC資料中的MAC位址為「制式格式」(Canonical (C )或「非制式格式」(Non-canonical (N)。

通透訊框 (Transparent (T)), 或攜帶原始選徑 (Source-Routing)資訊(R)。

因此,有八種組合代表八種不同的訊框:

E-C-T (Ethernet, Canonical, Transparent)

E-C-R (Ethernet, Canonical, Source-Routed)

E-N-T (Ethernet, Non-canonical, Transparent)

E-N-R (Ethernet, Non-canonical, Source-Routed)

L-C-T (LLC, Canonical, Transparent)

L-C-R (LLC, Canonical, Source-Routed)

L-N-T (LLC, Non-canonical, Transparent)

L-N-R (LLC, Non-canonical, Source-Routed)

這些訊框可以在兩種網路上傳送:Ethernet網路(C)或Token-Ring/FDDI網路(R)。傳送時,與虛擬網路有關的是:貼標籤 (Tagged frames)(T), 或無標籤 (Untagged frames)(U)。因此,總共可以有32種訊框/包裝格式 (32 =8x2x2)。圖16-22所示為橋接器在處理這些訊框的功能。其中H表示必須作訊框轉換的處理,Q表示必須作標籤處理(貼上標籤,去掉標籤,或替換標籤),Q+H則表示以上兩種工作都要處理。

圖16-22異質橋接功能

圖16-23 所示為在Ethernet網路上傳送貼上標籤之八種訊框格式。Ethernet網路上必須採用ETIPD標籤之訊框格式。其中每一種訊框以五個字元表示,第一個字元(E,L)表示Ethernet訊框或LLC訊框,第二個字元(C,N)表示制式格式或非制式格式,第三個字元(T,R)表示通透訊框或原始選徑,第四個字元(C)表示在Ethernet網路上傳送,第五個字元(T) 表示訊框有貼上標籤。圖中C-data表示所攜帶的MAC位址為制式格式,N-data表示所攜帶的MAC位址為非制式格式。由於 Ethernet網路規定訊框最長為1518位元組(資料最多為1500位元組),如果貼上四個位元組的標籤(不包含RIF),則每筆訊框的資料最多為1496位元組。如果貼上 30個位元組的標籤(包含RIF),則每筆訊框的資料最多為1470位元組。

(b)

(c ) (d)

圖16-23在Ethernet網路上傳送之八種貼標籤訊框格式

圖16-24 所示為在Token-Ring/FDDI網路上傳送之八種貼標籤訊框格式。Token-Ring/FDDI網路上必須採用 STPID標籤之訊框格式。

(b)

圖16-24 Token-Ring/FDDI網路上傳送之八種貼標籤訊框格式

 


yball1.gif (1556 bytes)  16.5虛擬區域網路架構管理

虛擬網路的運作是否穩定關鍵在於所有虛擬網路橋接器的 「連接埠輸出名單」能否維持一致性。傳送貼標籤訊框之工作站本身也維護此一名單可以有一個好處。就是當網路上沒有該工作站所隸屬的虛擬網路成員時,該工作站可以避免將訊框送入網路中。工作站可以藉由查詢其所維護的名單得知是否需將訊框送入網路,以免浪費頻寬。傳送無標籤訊框之工作站則不認識也不需要此名單。

IEEE 801.2q主要是制訂如何提供虛擬網路的功能。其主要的通訊協定為「虛擬網路註冊通訊協定」GVRP (GARP VLAN Registration Protocol)。此通訊協定提供許多種服務可以讓使用者動態的加入或退出某一個虛擬網路。IEEE 802.1Q標準制訂了三種設定連接埠輸出名單的方法:

利用GVRP通訊協定來動態設定及散佈連接埠輸出名單。

利用管理系統來靜態設定連接埠輸出名單。

 

16-5.1 GVRP通訊協定

16-5.1.1 GVRP通訊協定簡介

GVRP被定義為GARP的一個應用元件,提供虛擬網路註冊服務,並且使用GARP之GID (GARP Information Declaration) 及GIP (GARP Information Propagation), 如圖16-25所示。「通用屬性註冊通訊協定」(General Attribute Registration Protocol, 簡稱GARP) 由IEEE802.1p標準所制訂,主要提供傳送特定屬性給橋接網路上相關橋接器的服務。以虛擬網路來說,其屬性就是虛擬網路辨識碼。無論是加入一個虛擬網路,或退出一個虛擬網路,GVRP是依靠GARP將虛擬網路辨識碼傳送給其他橋接器的。另外一個已經在IEEE 802.1p標準中制訂的GARP應用元件是「GARP群播註冊通訊協定」(GARP Multicast Registration Protocol, 簡稱GMRP)。GMRP主要是提供群播通訊的服務。傳統橋接器也提供群播通訊的服務,但是因為不知群播成員的網路位置,因此無法過濾群播訊框,造成廣播效應,浪費頻寬。經由GMRP的註冊程序,橋接器將可以明確知道每一個群體的成員在網路中的位置。有這些資訊後,橋接器就可以只將群播訊框轉送至適當的連接埠,而不是廣播至所有的連接埠,對於抑制廣播風暴有相當大的貢獻。GMRP的屬性就是群體辨識碼,也就是「MAC群播位址」(MAC Group Addresses)。無論是加入一個群體,或退出一個群體,GMRP也是依靠GARP將群體辨識碼傳送給其他橋接器的。GID主要是負責將上層應用(GVRP, GMRP) 所交付的內容經包裝成GARP PDU之後,送給其他的橋接器。同時也將由網路上收到的GARP PDU經拆裝後將相關內容傳給上層應用軟體。GIP則負責在橋接器內部中的連接埠之間傳遞訊息。

圖16-25 GVRP通訊協定運作架構

GVRP與GMRP的運作模式相似,主要的差異在於:(1) GVRP的屬性是12-位元的虛擬網路辨識碼,而GMRP 的屬性是48-位元的MAC群播位址及連接埠過濾模式 (Port Filtering Modes),(2) 加入/退出虛擬網路影響的是連接埠輸出名單的內容,而加入/退出群體影響的是過濾資料庫的內容。

GVRP允許橋接網路中的橋接器與工作站都可以送出或取消有關虛擬網路的宣告。此宣告的效果就是每一個收到此宣告的「GVRP參與者」(GVRP Participant) 都會將該宣告所攜帶的虛擬網路辨識碼加入其連接埠輸出名單中。相反的,針對某一個虛擬網路辨識碼,如果同一網路區段上的所有相關GVRP參與者都取消其宣告,則該虛擬網路辨識碼應該由該網路區段上所有GVRP參與者的連接埠輸出名單中去除。

虛擬網路工作站 (VLAN-aware Stations) 可以同時加入多個虛擬網路,並且參與GVRP通訊協定的活動。GVRP提供一個方法可以讓此類工作站保證其所加入的虛擬網路之辨識碼會正確的存在與其同一網路上的所有連接埠輸出名單中。也就是說,如果該工作站所連接的網路上有五個虛擬橋接器,則當工作站加入某一個虛擬網路時,該虛擬網路辨識碼會同時存入此五個虛擬橋接器的連接埠輸出名單中。這樣該工作站就可以由這些橋接器收到有關該虛擬網路的相關訊息。藉由這些訊息,工作站本身也可以維護一個連接埠輸出名單,如圖16-26所示。如果網路中已經沒有該工作站所隸屬的某一個虛擬網路的成員,則工作站欲傳送給該虛擬網路的訊框就可以直接被攔截掉,不必送進網路中。這就是所謂的「原始端刪除」(source prune)。

圖16-26工作站之GVRP架構

虛擬網路橋接器 (VLAN-aware Bridges) 負責完成虛擬網路成員註冊的動作,並且將相關訊息傳遞至橋接器中隸屬於擴張樹的連接埠上。首先利用由連接埠收到的虛擬網路註冊/取消資訊來更正每一個相關的連接埠輸出名單。為了保證其他虛擬網路設備也能正確的更正其連接埠輸出名單,任何虛擬網路註冊相關資訊的異動都必須由橋接器中隸屬於擴張樹的連接埠上傳遞出去。

 

16-5.1.2 虛擬網路註冊服務

藉由虛擬網路註冊服務,使用者可以聲明其所欲加入或退出的虛擬網路。加入一個虛擬網路表示希望收到傳送給該虛擬網路成員的訊框。加入或退出可分別經由下列的基礎呼叫完成:

ES-Register-VLAN-Member (VID)

ES-Deregister-VLAN-Member (VID)

GVRP參與者收到 ES-Register-VLAN-Member (VID) 後會送出一個帶著VID參數的GID-Join.request 基礎呼叫給GID。相同的,GVRP參與者收到 ES-Deregister-VLAN-Member (VID) 後會送出一個帶著VID參數的GID-Leave.request 基礎呼叫給GID。GID負責將相關資訊經由網路擴張樹傳遞給虛擬橋接器上之GVRP Application。GVRP Application在收到GID所轉送上來的GID-Join.indication後將其所攜帶的VID加入相關的連接埠輸出名單之成員集合。相同的,GVRP Application在收到GID所轉送上來的GID-Leave.indication後將其所攜帶的VID由相關的連接埠輸出名單之成員集合中刪除。

 


yball1.gif (1556 bytes)   16-6虛擬網路實例

雖然 IEEE 802.1Q已制訂虛擬網路的標準,不過網路廠商通常不會等到標準制訂後才跟隨。因此大部份的廠商都會先提出自己的解決方案。然後再試著影響標準的制訂,或退而求其次的跟隨標準。本節介紹三種虛擬網路實例:(1) Cisco公司之虛擬網路方案,(2) Cabletron公司之虛擬網路方案,(3) 3Com 公司之虛擬網路方案。

 

16-6.1 Cisco公司之虛擬網路方案

Cisco公司提出兩種跨越骨幹網路支援虛擬網路服務的技術。第一種稱為「交換器間鏈路通訊協定」(Inter-Switch Link Protocol, ISL), 適合以Fast Ethernet為骨幹網路的環境使用。第二種則修改IEEE 802.10安全通訊協定 (Security Protocol), 適合以FDDI 為骨幹網路的環境使用。以下分別介紹這兩種通訊協定。

為了擴展虛擬網路的服務至多個交換器,Cisco發展其自有的交換器間鏈路通訊協定 (ISL) 給以Fast Ethernet為骨幹網路的環境使用。ISL主要是攜帶有關虛擬網路的相關資訊。並且提供交換器間傳送Ethernet訊框,FDDI訊框,Token-Ring訊框的服務。也就是說,ISL使得交換器能提供在多種網路模組的環境下,支援虛擬網路的服務。ISL使用顯性標籤的方式將訊框貼上標籤。交換器在收到訊框後會將其包裝起來,並且加上一個標頭。此標頭包含一個虛擬網路辨識碼的欄位,用以記錄此訊框隸屬於哪一個虛擬網路。根據此辨識碼以及訊框上的MAC位址,此訊框能被正確的轉送至交換器或路徑器。最後由與其目的地工作站連結之交換器或路徑器將此標頭去除後傳送給目的地工作站。圖16-27所示為利用ISL通訊協定之虛擬網路通訊範例。圖中包含三個虛擬網路。工作站所送出的訊框在進入交換器後被包裝成ISL封包,並且只轉送到有相同虛擬網路成員的交換器上。最後交換器再將原訊框轉送給目的地工作站。請注意在Fast Ethernet骨幹網路上所傳送的是ISL封包。這種傳送方式也可避免不必要的廣播效應。

 

 

圖16-27利用ISL通訊協定之虛擬網路通訊範例

ISL訊框包含三個主要欄位:ISL標頭,被包裝訊框,以及32-位元的CRC 檢查碼, 如圖16-28所示。其中

Destination Address(40位元):代表該訊框的目的地位址。由於虛擬網路訊框應該在一個廣播網域中傳送,因此此位址為一個群播位址。Cisco將此值設定為01-00-0C-00-00, 用來告知接收端有一個ISL訊框到達。

Type(4位元):記錄被包裝訊框的型態。目前定義四種網路:Ethernet (0000), Token-Ring(0001), FDDI(0010), ATM(0011)。由於此4-位元共可定義16種網路型態,未來還有擴充的空間。

User (4位元):記錄被包裝訊框的優先權。目前定義四種優先權:Normal Priority (xx00), Priority 1 (xx01), Priority 2 (xx10), Highest Priority (xx11)。其中xx表示可為任意值。

Source Address (48位元):記錄轉送此訊框之交換器連接埠的MAC位址。

Length (16位元):記錄此ISL訊框的長度,不包含Destination address, type, user, source address, length, constant value, 以及CRC等欄位。

Constant Value (24位元):記錄值為AA-AA-03的常數。

High-Bits Address (24位元):記錄 MAC原始位址中的廠商代碼部份。此值被設為00-00-0C。

VLAN (15位元):記錄此ISL訊框的虛擬網路辨識碼。在Cisco的專用術語中,此值代表該訊框的「顏色」(color)。

BPDU (1位元):記錄被包裝的訊框是否為一個BDPU (Bridge Protocol Data Unit) 訊框。BPDU訊框用來建立擴張樹。

Index (16位元):記錄此ISL訊框由交換器的哪一個連接埠傳送出來。此欄位的主要目的是協助錯誤診斷,其他設備可將此值設為任意值。

Reserved (16位元):保留欄位。當被包裝的訊框是FDDI或Token-Ring訊框時,此欄位用來記錄該訊框的AC與FC值。若包裝的其他型態的訊框,則此欄位的值設為零。

Encapsulated Frame (8-196,600位元):被包裝之原訊框。可為Ethernet, Token-Ring, FDDI訊框, 以及ATM細胞。原訊框亦包含錯誤檢查碼。

CRC (32位元):記錄此ISL訊框的錯誤檢查碼。

圖16-28 Cisco之ISL訊框格式

以下我們用一個例子來介紹Cisco以連接埠為基礎之虛擬網路 (Port-based) 的設定方法。仍然以圖16-28的網路架構為例。假設圖中交換器為Cisco Catalyst 5000型。每一個Cisco Catalyst 5000型交換器包含五個插槽。第一個插槽 (slot 1) 保留給控制模組,包含一個主控連接埠 (console port) 及兩個100Mbps Fast Ethernet連接埠。其他插槽則可以組合的方式插上10Mbps或100Mbps Ethernet模組。每一個連接埠用s/p表示,其中s代表第幾個插槽,p代表該插槽上的第幾個連接埠。假設VLAN 1的三個成員分別規畫為交換器A之2/1, 2/2, 以及交換器B之2/1。VLAN 2的三個成員分別規畫為交換器A之3/1, 以及交換器B之2/2, 3/2。則針對交換器A,我們可以經由主控連接埠以下列的指令設定虛擬網路組態:

set vlan 1 2/1

set vlan 1 2/2

set vlan 2 3/1

其中第一個 ”vlan” 指令產生虛擬網路VLAN1, 並且將第二插槽的第一個連接埠設定屬於此虛擬網路。第二個 ”vlan” 指令將第二插槽的第二個連接埠也設定屬於此虛擬網路。第三個 ”vlan” 指令產生虛擬網路VLAN2, 並且將第三插槽的第一個連接埠設定屬於此虛擬網路。

為了提供跨Fast Ethernet骨幹網路的虛擬網路服務,交換器必須設定相關的「主幹連接埠」(trunk port)。當Catalyst交換器的連接埠被設定為主幹埠時,便自動的以ISL模式運作,並執行擴張樹通訊協定以避免產生迴路。假設將交換器A之1/1 規畫為主幹連接埠,則我們可以經由主控連接埠以下列的指令設定之:

set trunk 1/1 1,2

此指令除了設定第一個模組的第一個連接埠 (Fast Ethernet port) 為主幹連接埠外,也同時宣告此主幹連接埠可傳送虛擬網路VLAN1及VLAN2的訊框。

相同的,在交換器B上我們可以設定下列組態:

set vlan 1 2/1

set vlan 2 2/2

set vlan 2 3/2

set trunk 1/2 1,2

最後在交換器C上我們可以設定下列組態將虛擬網路服務擴展至多個交換器的環境:

set trunk 1/1 1,2

set trunk 1/2 1,2

 

與ISL通訊協定提供跨越Fast Ethernet骨幹網路的虛擬網路連結相似,Cisco修改了IEEE 802.10安全通訊協定 (Security Protocol) 來提供跨越FDDI骨幹網路的虛擬網路服務。其中802.10訊框標頭中的「安全辨識碼」(Security Association ID, SAID) 欄位被取代為一個四位元組的「虛擬網路辨識碼」欄位。利用此辨識碼,虛擬網路的資訊就可以經過FDDI 骨幹網路轉送給相關的交換器或路徑器。當交換器接收一筆訊框時,可利用虛擬網路辨識碼來判斷此訊框應該由哪一個連接埠轉送出去。在此訊框進入最終交換器前,則適時的將其IEEE 802.10標頭去除。圖16-29所示為FDDI骨幹網路上Cisco 交換器間使用修改過的IEEE 802.10安全通訊協定之訊框流程。值得注意的是,Cisco公司有許多模式的交換器都支援修改過的IEEE 802.10安全通訊協定。由於Catalyst 5000型號的產品間也可以利用ISL互相連結起來,因此利用IEEE 802.10安全通訊協定與ISL來提供同時跨越FDDI骨幹網路與Fast Ethernet骨幹網路的虛擬網路服務也是可行的。

圖16-29 Cisco交換器間使用IEEE 802.10安全通訊協定之訊框流程

當初 IEEE 802.10安全通訊協定標準於1992年制訂時的目的是提供分享型網路 (Shared LANs) 上安全通訊的服務。包含加密功能 (Encryption) 與認證功能 (Authentication)。IEEE 802.10之訊框稱為「安全數據交換通訊協定數據單元」(Secure Data Exchange Protocol Data Unit, SDE PDU), 格式如圖16-30所示,其中在原訊框格式的標頭與資料欄位間嵌入一個IEEE 802.10標頭。並且在原訊框的最後面加上一個「整合檢查碼」(Integrity Check Value, ICV),用來檢查資料在傳送過程中是否被未授權的人修改過。原訊框標頭之長度欄位則增加16位元組。

 

圖16-30 IEEE 802.10之訊框格式

IEEE 802.10標頭又可分為「未保護標頭」(Clear Header) 與「保護標頭」(Protected Header)。未保護標頭包含三個不加密的欄位:

Logical SAP (LSAP):此欄位記載訊框中所攜帶的資料是何種型態。有IEEE制訂的型態,也有廠商制訂的型態。 前者例如 06 代表ARPANET IP通訊協定, 42 代表IEEE 802.1橋接器擴張樹通訊協定, AA 代表Sub-Network Access Protocol (SNAP) 通訊協定。後者例如04 代表IBM SNA Path Control個別通訊, 05 代表IBM SNA Path Control群體通訊,E0 代表Novell NetWare, F0代表IBM NetBIOS。Cisco將此欄位修改為三個位元組,其值為0A-0A-03,代表是一個虛擬網路訊框。

Security Association ID (SAID):此欄位用來提供雙方安全通訊所需要的密碼交換。Cisco將此欄位變更為同樣是四個位元組的虛擬網路辨識碼欄位。

Management Defined Field (MDF):此欄位由通訊雙方制訂,主要是提供類似訊框處理方式的資訊。 Cisco將此欄位刪除。

保護標頭包含兩個加密的欄位:

Station ID:此欄位記錄原訊框中之原始工作站位址。由於訊框在轉送的過程中可能有需要變更原始工作站位址,為了避免無法判斷訊框的原傳送者,因此將原始工作站位址重複置於此。事實上,其長度為八個位元組。前六個位元組為原始工作站位址,後面兩個位元組旗標,不過目前尚未定義,因此應設為Null。

Fragment Flag:此旗標記錄訊框是否為一個切割過的片段。由於Cisco的虛擬網路服務並不提供封包切割的功能,因此此旗標應設為False。

 


習題

1 何謂虛擬網路 (Virtual LANs) ? 為何需要虛擬網路?

請說明虛擬網路是一個廣播網域 (broadcast domain) 所代表的含意為何。

虛擬網路具防火牆效果是指屬於不同虛擬網路間的工作站彼此之間不可以直接通訊,必須經過路徑器的轉送。請說明為什麼要有此限制。

請說明為何虛擬網路可以提昇網路資源的使用效率。

請說明為何虛擬網路可以加強網路安全。

虛擬網路的運作架構包含三階層: (1) 組態設定 (Configuration), (2) 資訊傳佈與成員解析 (Distribution/Resolution), 以及 (3) 訊框轉送 (Relay)。請大略說明每一階層的工作為何。

請說明並比較下列五種虛擬網路組態設定方法:

以連接埠為基礎之虛擬網路 (Port-based VLAN)

以MAC位址為基礎之虛擬網路 (MAC-based VLAN)

以IP子網路為基礎之虛擬網路 (IP subnet-based VLAN)

以網路層通訊協定為基礎之虛擬網路 (Layer-3-based VLAN)

以原則為基礎的虛擬網路 (Rule-based VLANs)

請說明「輸入規則」 (Ingress rules) , 「轉送規則」 (Forwarding rules),以及「輸出規則」 (Egress rules) 的任務為何。

何謂「連接埠虛擬網路辨識碼」(Port VID) ? 其功用為何?

虛擬網路技術有兩種訊框標籤:隱性標籤 (Implicit tagging) 及顯性標籤 (Explicit tagging)。請說明這兩種標籤的意義為何。在 16.7題所提及的五種方法中,如何使用這兩種標籤?

何謂「接續鏈路」 (Access Link) ? 接續鏈路上的訊框應該如何貼標籤?

何謂「主幹鏈路」 (Trunk Link) ? 主幹鏈路上的訊框應該如何貼標籤?

何謂「混合鏈路」 (Hybrid Link) ? 混合鏈路上的訊框應該如何貼標籤?

16.14 請說明下列陳述是對或錯?為什麼?

“集線器不適合當成混合鏈路。因為集線器的特性是「一進全出」。也就是從任何埠進入的訊框都會被廣播至所有的其他埠(廣播特性)。這使得連接上集線器的設備都必須是同類:全部都是虛擬網路設備,或全部都不是虛擬網路設備。否則當虛擬網路設備送出貼上標籤的訊框時,非虛擬網路設備將會解釋錯誤。相同的,當非虛擬網路設備送出沒有貼上標籤的訊框時,虛擬網路設備也會看不懂。”

16.15下圖中的混合鏈路使用規畫 (VLANB, VLANC) 有何問題?

圖16-31

16請說明IEEE 802.1D擴張樹在虛擬網路的環境中扮演何種角色。

17何謂「成員集合」 (Member Sets) 與「無標籤集合」(Untagged Sets) ?如何設定及使用此兩個集合的內容 ?

18何謂「共享式虛擬網路學習模式」 (Shared VLAN Learning, SVL) ?請舉一個需要使用此學習模式的例子。

19何謂「獨立式虛擬網路學習模式」 (Independent VLAN Learning, IVL) ?請舉一個需要使用此學習模式的例子。

16.20 何謂 「獨立成員集合」 (Member Sets) 與「無標籤集合」(Untagged Sets) ?如何設定及使用此兩個集合的內容 ?

16.21 請說明下列虛擬網路過濾資料庫的內容與使用方式。

靜態過濾項目 (Static Filtering Entry),

靜態虛擬網路註冊項目(Static VLAN Registration Entry),

動態過濾項目 (Dynamic Filtering Entry),

群體註冊項目 (Group Registration Entry),

動態虛擬網路註冊項目(Dynamic VLAN Registration Entry)

16.22 IEEE 802.1Q的標籤標頭格式有兩種:(1) 以太網路編碼式, (2) SNAP-編碼式。請說明此兩種標籤的格式與使用方法。

16.23 何謂「虛擬網路註冊通訊協定」(GVRP) ?此通訊協定如何提供使用者動態的加入或退出某一個虛擬網路?

16.24 何謂「通用屬性註冊通訊協定」 (GARP) ?此通訊協定如何傳送特定屬性給橋接網路上相關橋接器 ?

16.25何謂「GARP群播註冊通訊協定」 (GMRP) ?GMRP, GVRP, 與GARP之間的關係為何?

16.26請說明Cisco公司之「交換器間鏈路通訊協定」(Inter-Switch Link Protocol, ISL) 的運作原理與適用環境。

16.27請說明Cisco公司如何修改IEEE 802.10安全通訊協定 (Security Protocol) 來支援虛擬網路服務。其適用環境為何?