2015/04/24

虛擬區域網路技術簡介


引言

在Internet上搜尋到一篇白皮書VLAN and QinQ Technology White Paper,搭配Yahoo字典、和Google翻譯等工具,我嘗試著將文章的片段翻譯成繁體中文版,希望大家對於虛擬區域網路(Virtual LAN)、和虛擬區域網路堆疊(QinQ)能夠擁有些許認識。




摘要

VLAN(Virtual LAN)把一個區域網路(LAN)區隔為邏輯上的不同分段以實作虛擬工作群組,規範於IEEE 802.1Q VLAN標準,而QinQ藉由添加802.1Q VLAN標籤至一個已貼802.1Q標籤的封包來延伸VLAN的空間。一旦乙太網路開始鋪設,使用更多的QinQ封裝與終結模式將可以達到細粒度的服務管理。本白皮書描述了QinQ技術。

1 VLAN技術

1.1 背景

傳統乙太網路裡的多台主機透過一條同軸電纜連接,參照圖1-1。
這種連線模式有下列缺點:
●同一時間只有一台主機被允許傳送封包,若兩台或更多台主機同時傳送封包,封包將會碰撞。
●主機的封包廣播(broadcast)到網路上時,所有其它的主機都會收到該封包。在這種形式中,網路形成了一個廣播領域(broadcast domain)。當主機的數量增加時,廣播將會消耗大量的頻寬。
●所有的主機共享傳輸頻道,這將無法確保資料傳送的安全性。
乙太網路使用載波偵測多重存取/碰撞偵測(CSMA/CD)技術來確保訊息在碰撞領域傳送時不受干擾。然而,當網路存在許多主機時將會產生問題,例如許多的碰撞和過量的廣播封包將會損害效能,進而致使網路無法使用。為了讓區域網路容納更多的主機並且避免碰撞,導入橋接器(bridge)來連接兩個碰撞領域。橋接器為第2層交換器(switch)的演進版本。參照圖1-2。
橋接器和第2層交換器把入境介面的資料轉送至出境介面,藉由區分連接至介面的網段,第2層交換器解決了在共享媒介的過量碰撞的問題,並且把碰撞限制在介面上。跟橋接器對照,交換器可以區分多重碰撞領域。
第2層交換器接收網路上的所有資料訊框,學習訊框中的來源MAC位址,建立MAC位址表以記錄MAC位址與介面的映對,接著交換器便可以目的MAC位址為基硬來進行第2層的轉送。若訊框中的目的MAC位址未出現於MAC位址表的時候,第2層交換器廣播該訊框至入境介面之外的所有介面,基於這個理由,廣播風暴(broadcast storm)仍會出現在網路中。
VLAN技術藉由把一個LAN分割為多個邏輯上的LAN來解決這個問題;主機將隸屬於一個VLAN並藉由LAN來通訊,此外,VLAN無法與彼此通訊,因此把廣播訊框限縮在一個VLAN裡。
區分一個VLAN不限於自身的實體位置,位於不同實體位置的主機可以隸屬於同一個VLAN,VLAN的使用者們可以連接同一個交換器、或不同交換器、甚至不同的路由器。

1.2 VLAN功能

VLAN的功能如下:
●限制廣播領域。把廣播領域限制在一個VLAN將可以節省頻寬並增加網路處理的能力。
●強化區域網路的安全性。VLAN之間的第2層訊框彼此隔離,亦即不同VLAN的使用者無法直接通訊,若不同VLAN的使用者需要進行通訊將需要諸如路由器或第3層交換器之類的第3層裝置。
●彈性地建構虛擬工作群組。VLAN可以用來把使用者區隔為不同的工作群組,工作群組內的使用者不受限於他們的實際位置,網路的建立與維護將會方便與彈性。

1.3 VLAN原理

為了讓網路裝置得以辨識訊框中的不同VLAN,訊框必須具備用來辨識VLAN的資料欄位。一般的交換器在OSI模型中的資料鏈結層運作、並且在資料鏈結層辨識訊框,因此VLAN的識別欄將被添加至資料鏈結層標頭。
傳統乙太網路訊框封裝上層協定在目的MAC位址與來源MAC位址之後。參照圖1-3。
圖1-3中的DA指的是目的MAC位址,SA指的是來源MAC位址,Type指的是訊框的協定類型。
圖1-4呈現了一個VLAN標籤所包含的4個欄位:
●標籤協定編號(TPID):決定該資料訊框包含了一個VLAN標籤,TPID的長度為16位元,預設值為0x8100。
●優先權:表示一個訊框的802.1p優先權,優先權的長度為3位元。
●標準格式指示(CFI):指出在不同傳輸媒介裡的MAC位址是否以標準格式來封裝,CFI的長度為1位元,0代表MAC位址以標準格式封裝,1代表MAC位址未以標準格式封裝,預設值為0。
●VLAN編號:表示一個訊框所隸屬的VLAN的號碼,VLAN編號的長度為12位元,值的範圍從0到4095,0和4095為協定保留值,所以VLAN編號範圍為1到4094。
網路裝置使用VLAN編號來指出一個訊框所隸屬的VLAN,並且依據訊框是否夾帶VLAN標籤、和VLAN標籤中的值來處理訊框。

2 VLAN映對

VLAN映對可以用來修改承載的VLAN標籤成下列模式:
●單一標籤1:1 VLAN映對:訊框外層VLAN編號被映對至一個新的VLAN標籤。每個VLAN標籤被映對至不同的VLAN編號。
●單一標籤N:1 VLAN映對:訊框外層VLAN編號被映對至一個新的VLAN標籤,數個VLAN標籤被映對至相同的VLAN編號。
●雙重標籤2:2 VLAN映對:訊框外層與內層VLAN編號被映對至新的外層與內層VLAN編號。
●雙重標籤1:1 VLAN映對:訊框外層VLAN編號被映對至一個新的VLAN標籤,內層VLAN編號保留不變。
●雙重標籤N:1 VLAN映對:訊框外層VLAN編號被映對至一個新的VLAN標籤,內層VLAN編號保留不變。一個訊框外層VLAN編號或一個區段的VLAN編號可以被映對至一個新的外層VLAN編號,內層VLAN編號保留不變。

3 超VLAN

3.1 概念

為了在交換器上實作跨越VLAN通訊,必須替VLANIF介面設置IP位址。若網路擁有大量的VLAN將會需要大量的IP位址。VLAN聚合(aggregation)可以減少VLAN所需之過多的IP位址。
VLAN聚合也稱為超VLAN(Super-VLAN)。一個超VLAN包含了多個子VLAN(sub-VLAN),每個子VLAN為一廣播領域,子VLAN在第2層被分隔。第3層介面可以被設置成一個超VLAN,但無法被設置成一個子VLAN。每當一個子VLAN的使用者打算進行第3層的通訊時,子VLAN中的第3層介面的IP位址將被當作閘道器IP位址,多個子VLAN共享一個IP網段以節省IP位址。
此外,為了實作在不同子VLAN第3層的互聯以及不同子VLAN與其它網路的互聯,將會需要代理(proxy) ARP功能,代理APR轉送和處理ARP要求與回覆封包以實作第2層獨立埠之間的第3層互聯。

3.2 超VLAN網路

參照圖3-1。交換器的介面1轉接著主機1、介面2連接著主機2、介面3連接著主機3、及介面4連接著主機4。主機1與主機2隸屬於子VLAN 2,主機3與主機4隸屬於子VLAN 3。子VLAN 2和子VLAN 3隸屬於超VLAN 4。主機1至主機4的預設閘道器IP位址為100.1.1.1。代理ARP允許VLAN 2透過第3層來跟VLAN 3進行通訊。

3.3 超VLAN的特徵

一個超VLAN具備下列特徵:
●所有廣播封包與未知流量只在子VLAN傳送,所以子VLAN的流量只在子VLAN進行交換、而隔離於子VLAN之間。
●主機被部署在子VLAN,可以把每台主機的IP位址設置成跟VLANIF介面IP位址一樣的網段,子VLAN的主機的子網路遮罩跟超VLAN的子網路遮罩一樣,此外閘道器IP位址為超VLAN的VLANIF介面IP位址。
●所有子VLAN之間的流量皆由超VLAN的VLANIF介面傳送。例如ICMP訊息無法在子VLAN之間重導向。因為超VLAN的子VLAN共享相同的網段,當一個子VLAN被添加進一個超VLAN,系統添加一筆ARP條目進入IP ARP表,IP的獨播(unicast)封包因此可以橫越子VLAN。為了確保安全性,這個功能可以被關閉。
●當一個超VLAN的群播(multicast)路由協定被啟用時,子VLAN之間的IP群播流量將藉由超VLAN的VLANIF介面進行傳送。
超VLAN具有下列限制:
●VLANIF介面無法被設置為一個超VLAN。
●一個子VLAN無法被設置為一個超VLAN。
●一般來說,一個VLAN不具備成員埠。
●若客戶由一個子VLAN移動至另一個子VLAN時,必須清除客戶和交換器的IP ARP快取。

4 語音VLAN

4.1 概念

像語音和資料等許多流量類型可能會共存於寬頻網路,而語音要求無延遲、快速轉送、和安全性。
為了提升語言流量的傳輸優先權,傳統作法為使用存取控制清單來對流量與QoS (Quality of Service)進行分類,以確保傳輸的品質。語音VLAN協助簡化上述使用者的設置、並簡化傳輸策略的管理。
一個語音VLAN為了語音流量而被設置,藉由添加連接語音裝置的埠至一個語音VLAN,使用者可以設置QoS屬性以改善傳輸優先權並確保語音品質。

4.2 語音VLAN的實作

一個支援語音VLAN的交換器以接收資料訊框的來源MAC位址來識別資料流為一語音資料流,若訊框來源MAC位址符合OUI (Organizationally Unique Identifier),則訊框由語音VLAN送出,OUI為MAC位址的前24位元,它是由IEEE配給各裝置製造商使用的編號。

4.3 語音VLAN的工作模式

語音VLAN具備2種模式:
自動模式(動態):交換器根據訊框來源MAC位址來辨識語音資料,一旦一個接收埠偵測到語音流量流過時,交換器將該埠添加至語音VLAN、並且以老化機制來維護語音VLAN的埠,若在老化期間,該埠未收到指定的來源MAC位址的資料,則系統將它從語音VLAN予以刪除。
手動模式(靜態):手動指定語音VLAN的埠的成員。

5 訪客VLAN

在通過802.1X鑑定之前,鑑定使用者的介面屬於預設VLAN(訪客VLAN),當使用者使用訪客VLAN存取資源時無需鑑定,但是使用者無法存取其它網路的資源。客戶無法在訪客VLAN進行鑑定、且只能存取訪客VLAN的伺服器資源。使用者可以在訪客VLAN上升級802.1X客戶端軟體、以及諸如作業系統修補或防毒軟體等其它應用程式,若客戶未在一段時間內傳遞鑑定資料的話,裝置將會被加入訪客VLAN,反之,若客戶成功通過鑑定,則該埠將從訪客VLAN刪除、且客戶將可以藉由該埠存取特定網路資源。
參照圖5-1。
●當NAD (Network Access Device)偵測到使用者未安裝客戶端軟體時,NAD將該埠設定為訪客VLAN,該使用者只可以在非軍事區進行存取。NAD可以強迫使用者依據鑑定頁面的URL而至軟體伺服器下載客戶端軟體。
●令NAD在一段可設置的時間之後重新偵測使用者。若客戶端軟體已經安裝完畢,NAD為使用者執行802.1X鑑定,若使用者通過鑑定,該埠被添加進預設VLAN且該使用者可以藉由該VLAN存取預設的資源。
● 使用者透過DHCP (Dynamic Host Configuration Protocol)取得IP位址、且因應安全檢查而設定了ACS (Access Control Server)連線,ACS將透過CoA (Change of Authorization)介面指派一個新的VLAN,位處該VLAN的使用者可以存取工作區域。
●當使用者被病毒攻擊時,ACS將其VLAN設定為訪客VLAN,並且要求使用者更新病毒資料庫或透過URL重導向來安裝修補程式。
●當使用者更新病毒資料庫、且ACS偵測該使用者安全無虞時,其VLAN將透過RADIUS (Remote Authentication Dial In User Service) CoA介面進行更新。

6 多工VLAN

6.1 概念

類似Cisco的私有VLAN,一個多工VLAN在VLAN埠提供第2層流量隔離機制。
多工VLAN埠包含3種類型:
●附屬分割埠(隔離埠):個別埠隸屬於個別VLAN、且只能跟多工VLAN埠進行通訊。個別埠的流量只能藉由相關的多工VLAN埠轉送,除了來自於多工VLAN埠的流量,多工VLAN忽略流向個別埠的流量。
●附屬群組埠(社群埠):群組埠隸屬於群組VLAN、且只能跟相關多工VLAN埠進行通訊。群組埠與個別埠在第2層被隔離。
●多工VLAN埠(全收埠):一個多工VLAN為主VLAN,一個多工VLAN埠可以跟所有埠進行通訊,包含個別埠和群組埠。相關VLAN的個別埠和群組埠必須被綁定至多工VLAN。

6.2 多工VLAN網路

參照圖6-1。VLAN 2為多工VLAN並連接至交換器的埠1,VLAN 3為一群組VLAN並連接至埠4與埠5,VLAN 4為一個別VLAN並連接至埠2與埠3。多工VLAN技術實作了下列功能:
●主機A可以ping得到主機B和主機C;主機B和主機C也可以ping得到主機A。
●主機A可以ping得到主機D和主機E;主機D和主機E也可以ping得到主機A。
●主機B和主機C可以ping得到彼此。
●主機D和主機E無法ping到彼此。
●主機B和主機C隔離自主機D和主機E,所以它們無法ping到彼此。
使用多工VLAN可以確保網路資料通訊的安全性。使用者只需要連接至預設閘道器,多工VLAN確保第2層資料通訊不會流至多個VLAN和IP子網路。因為所有使用者皆連接至多工VLAN,所以所有使用者可以連接至預設閘道器、且不會跟其它使用者在多工VLAN通訊。多工VLAN隔離一個VLAN的所有埠,同一VLAN的使用者不受影響。

7 QinQ

7.1 背景

在IEEE 802.1Q規範的12位元VLAN標籤無法完整地辨識與隔離擴展中的都會規模的乙太網路上的大量使用者,該欄位只能辨識最多4096個VLAN。QinQ是因應這個問題的解決方案。

7.2 原理與應用

QinQ就是所謂的VLAN堆疊,已由IEEE 802.1ad予以標準化。QinQ把私有網路的VLAN標封裝進一個公開網路的VLAN標籤。因此訊框在骨幹網路(公開網路)流動時將具備雙重VLAN標籤。封包在公開網路被轉發時乃依據外層VLAN標籤,封包之內層VLAN標籤被當作資料在公開網路傳送。QinQ 是一個彈性且易於實作的第2層VPN (Virtual Private Network)技術,用以作為核心網路上的MPLS (Multi-Protocol Label Switching) VPN的延伸。QinQ可以搭配MPLS VPN成為端對端VPN的解決方案。
參照圖7-1。QinQ具有固定的格式。一個貼上802.1Q的封包被封裝在另一個802.1Q標籤,QinQ比一般802.1Q標籤的封包多了4個位元組。
擴充性極佳的QinQ技術支援堆疊,它只受乙太網路訊框的長度限制。
在工業領域,QinQ又稱為Tag in Tag、VLAN VPN、堆疊VLAN、和SVLAN。
添加一個VLAN標籤將增加4096個VLAN,一個雙重標籤乙太網路訊框可以支援4096×4096個VLAN。
QinQ具有下列優點:
●節省公開的VLAN編號。
●允許使用者規畫屬於自己的VLAN網路,讓使用者的私有VLAN編號不會跟公開的VLAN編號衝突。
●為小規模MAN (Metropolitan Area Network)或企業網路提供簡易的第2層VPN解決方案。
相較於一個基於MPLS的第2層VPN,QinQ具有下列特性:
●提供一個較簡易的第2層VPN隧道。
●可透過靜態記置來實作,不需要信令(signaling)協定。
不同的供應商在QinQ封包中使用不同的TPID,例如華為使用預設值0x8100、而其它供應商使用0x9100。為實現網路互聯,華為提供介面上的QinQ協定型態設定,也就是說,使用者可以把華為裝置介面設定TPID為0x9100(該值可以由使用者隨意設置),該介面更換封包外層標籤的TPID值為0x9100然後傳送之,所以QinQ封包可以送到其它埠並被識別成非華為裝置。

7.3 QinQ的實作

有2種型態的QinQ實作方式,分別為基礎QinQ、和選擇性QinQ。
基礎QinQ:基礎QinQ是一個透過VLAN VPN實作之以埠為基礎的機能。當一個訊框抵達一個啟用了VLAN VPN的介面時,交換器將會貼上該介面預設的VLAN標籤,無論該訊框已有標籤或未貼標籤。若接收到的封包已有標籤,經過封裝後將成為雙重標籤,若接收到的封包未貼標籤,經過封裝後將具備介面預設的VLAN標籤。
參照圖7-2。基礎QinQ訊框的處理方式如下:
1. 交換器LS-1接收具備VLAN編號10和20的訊框並將該訊框送往交換器LS-2。
2. 收到訊框的LS-2在外層標籤貼上VLAN編號100。
3. 承載了雙重標籤的訊框以第2層轉送流程而被轉送至網路。
4. 一旦收到來自VLAN編號100的訊框時,交換器LS-3剝除外層VLAN編號100的VLAN標籤。LS-3將該訊框送往交換器LS-4,此時訊框只有VLAN編號10或20的單一標籤。
5. 一旦收到訊框,交換器LS-4以VLAN編號和目的MAC位址為基礎來轉送訊框。
以介面為基礎的QinQ對於外層VLAN標籤的封裝不夠彈性,啟用以介面為基礎的交換器無法選擇外層VLAN標籤基於服務類型的封裝模式。
選擇性QinQ:選擇性QinQ可以基於流量分類結果來決定與選擇封裝外層VLAN標籤的類型。選擇性QinQ可以基於VLAN標籤、優先權、MAC位址、IP協定、來源IP位址、目的IP位址、或應用程式的埠編號來對流量進行分類。
參照圖7-3。選擇性QinQ訊框的處理方式如下:
1. 交換器LS-1接收具備VLAN編號10和20的訊框並將該訊框送往交換器LS-2。
2. 收到VLAN編號10的訊框時,LS-2替換既有的標籤為30、並且添加VLAN編號100的外層VLAN標籤。收到VLAN編號20的訊框時,LS-2維持既有的標籤、並且添加VLAN編號200的外層VLAN標籤。
3. 承載了雙重標籤的訊框以第2層轉送流程而被轉送至網路。
4. 一旦收到訊框,交換器LS-3剝除VLAN編號100或200的外層VLAN標籤,LS-3傳送訊框至LS-4,此時訊框只有VLAN編號30或20的單一標籤。
5. 一旦收到訊框,交換器LS-4以VLAN編號和目的MAC位址為基礎來轉送訊框。

8 VLAN映對和選擇性QinQ的應用

8.1 個別使用者存取MAN

VLAN映對和選擇性QinQ可以輕易地依據不同使用者來封裝訊框的外層VLAN標籤、優先權、並針對不同的服務來實作不同的解決方案。
VLAN映對與選擇性QinQ技術被廣泛地應用在MAN上。

8.1.1 1:1 VLAN映對與選擇性QinQ應用

參照圖8-1。MAN使用QinQ技術,此處的寬頻網路使用者有2種存取模式:ADSL (Asymmetric Digital Subscriber Line)與LAN,使用者使用了多種服務,像是HSI (High Speed Internet)、VoIP (Voice over IP)、與IPTV (Internet Protocol Television)。
存取ADSL時,DSLAM (Digital Subscriber Line Access Multiplexer)支援多條PVC (Permanent Virtual Connection)、且使用不同的PVC來載送不同的服務。例如PVC 1用來載送HSI服務、PVC 2用來載送IPTV服務、及PVC 3用來載送VoIP服務。所有HG (Home Gateway)使用相同的組態設定。圖8-1展示了關係的映對。例如個人電腦的網際網路存取使用的VLAN編號為1001至2000、VoD (Video on Demand)服務使用的VLAN編號為2001至3000、VoIP服務使用的VLAN編號為3001至4000、以及BTV (Broadband Television)所使用的群播VLAN編號100。
存取LAN時,HG使用對不同的服務使用不同的VLAN。例如VLAN 1載送HSI服務、VLAN 2載送IPTV服務、VLAN 3載送VoIP服務,所有HG使用相同的組態設定。存取交換器VLAN的映對如圖8-1所示,群播VLAN編號100也被用於BTV服務。
聚合交換器以VLAN編號來為不同的服務貼上不同的外層VLAN標籤。例如聚合交換器的埠1將為網際網路存取服務貼上VLAN編號1001的外層標籤、為VoD服務貼上VLAN編號2001的外層標籤、並為VoIP服務貼上VLAN編號3001的外層標籤。內層VLAN標籤呈現使用者的資訊,外層VLAN標籤呈現服務的資訊、以及DLSAM或交換器的位置資訊。使用者的資料根據外層VLAN標籤與MAC位址來轉送至NPE (Network Provider Edge),NPE終止QinQ後便進入IP轉送程序或對應的VPN。
NPE能以雙重標籤為基礎來達到HQoS (Hierarchical QoS)排程、且建立DHCP綁定表以避免網路攻擊,NPE也能以雙重標籤為基礎來實作DHCP+鑑定,NPE還可以啟用QinQ VRRP(Virtual Router Redundancy Protocol)來確保存取的穩定。

8.1.2 以802.1p優先權為基礎的VLAN映對流量分配應用

參照圖8-2。不同的網路使用不同的存取模式、和不同的流量分配方法,當使用者的許多服務皆使用相同VLAN編號時,不同的服務具備不同的802.1p優先權、且將被區隔與映對至堆疊的VLAN上。
●聚合節點從使用者的介面來隔離服務的流量至正確的堆疊VLAN,也就是說,DSLAM貼上客戶VLAN標籤並使用802.1p優先權來辨識服務,聚合節點利用802.1p優先權來轉換客戶VLAN成為堆疊VLAN標籤,此外,不同的使用者使用相同的堆疊VLAN以減輕SR (Service Router)與BNG (Broadband. Network Gateway)的在終結雙重標籤訊框時的負擔。
●為了區分DSLAM,聚合節點把來自不同DSLAM的訊框轉換為不同的VLAN。
●聚合節點必須轉送來自於各個堆疊VLA的出境流量至正確的使用者介面,轉送的依據為使用者的下行方向的IP位址。
●群播服務在整個網路使用群播VLAN,聚合節點辨識IGMP (Internet Group Management Protocol)控制訊框並將其送往群播VLAN的上行方向。

8.1.3 VLAN映對後之虛擬專線/虛擬私有網路的應用

參照圖8-3。除了VLAN或QinQ之外,EoMPLS (Ethernet over MPLS)也可以用來藉助MPLS隧道來載送服務。
●聚合節點藉由上行的客戶VLAN映對使用者流量至統一的堆疊VLAN,使用者流量通過VLL (Virtual Leased Line)隧道,也就是說,DSLAM添加客戶VLAN標籤至封包,而且不同的使用者使用相同的堆疊VLAN編號,以減少SR和BNG終結載送VLAN標籤的負擔。
●為了區分DSLAM,聚合節點把來自不同DSLAM的訊框轉換為不同的VLAN。
●聚合節點必須轉送來自於各個堆疊VLA的出境流量至正確的使用者介面,轉送的依據為使用者的下行方向的IP位址。

8.2 讓企業用戶存取的專線

參照圖8-4。一個企業在總部和分部佈署了2個站台,這2個站台可以彼此互聯。VPLS (Virtual Private LAN Service)技術被用在骨幹網路。總部位處VLAN 10,使用者的資料被送往MAN,LS-1為資料貼上MAN指派之VLAN 100的外層標籤,然後具有雙重標籤的資料在MAN上傳送。
使用者的資料藉由VPLS穿越骨幹網路抵達分部的MAN,因為這2個MAN隸屬於不同的VLAN,LS-2的使用者使用2:2 VLAN映對來變更2個標籤,把VLAN 100映對至VLAN 200、並把VLAN 10映對成VLAN 20。使用者的資料在MAN傳送時載送了200和20的標籤。LS-4剝除外層標籤並轉送使用者的資料至分部的網路。



1 則留言: