zt 思科交換機QinQ 技術

zhengnx發表於2011-12-20

一、QinQ 的產生背景 IEEE802.1Q 中定義的VLAN Tag 域中只有12 個位元位用於表示VLAN ID,所以裝置最多可以支援4094 個VLAN。在實際應用中,尤其是在都會網路中,需要大量的VLAN 來隔離使用者,4094 個VLAN 遠遠不能滿足需求。
QinQ最初主要是為擴充VLAN的數量空間而產生的,它是在原有的802.1Q報文的基礎上又增加一層802.1Q標籤實現,使VLAN數量增加到4K*4K,隨著城域乙太網的發展以及運營商精細化運作的要求,QinQ的雙層標籤又有了進一步的使用場景,它的內外層標籤可以代表不同的資訊,如內層標籤代表使用者,外層標籤代表業務,另外,QinQ報文帶著兩層tag穿越運營商網路,內層tag透明傳送,也是一種簡單、實用的VPN技術,因此它又可以作為核心MPLS VPN在城域乙太網VPN的延伸,最終形成端到端的VPN技術。
二、QinQ 的作用及原理 裝置提供的埠QinQ 特性是一種簡單、靈活的二層VPN 技術,它透過在運營商網
絡邊緣裝置上為使用者的私網報文封裝外層VLAN Tag,使報文攜帶兩層VLAN Tag穿越運營商的骨幹網路(公網)。
在公網中,裝置只根據外層VLAN Tag 對報文進行轉發,並將報文的源MAC 地址表項學習到外層Tag 所在VLAN 的MAC 地址表中,而使用者的私網VLAN Tag 在傳輸過程中將被當作報文中的資料部分來進行傳輸。
QinQ特性使得運營商可以用一個VLAN為含有多個VLAN的使用者網路服務。如圖1所示,使用者網路A的私網VLAN為VLAN 1~10,使用者網路B的私網VLAN為VLAN 1~20。運營商為使用者網路A分配的VLAN為VLAN 3,為使用者網路B分配的VLAN為VLAN4。當使用者網路A的帶VLAN Tag的報文進入運營商網路時,報文外面會被封裝上一層VLAN ID為3 的VLAN Tag;當使用者網路B的帶VLAN Tag的報文進入運營商網路時,報文外面會被封裝上一層VLAN ID為4 的VLAN Tag。這樣,不同使用者網路的報文在公網傳輸時被完全分開,即使兩個使用者網路的VLAN範圍存在重疊,在公網傳輸時也不會產生混淆。
QinQ 特性使網路最多可以提供4094X4094 個VLAN,滿足都會網路對VLAN 數量的
需求,它主要解決了如下幾個問題:
緩解日益緊缺的公網VLAN ID 資源問題。
使用者可以規劃自己的私網VLAN ID,不會導致和公網VLAN ID 衝突。
為小型都會網路或企業網提供一種較為簡單的二層VPN 解決方案。
三、QinQ 的報文結構 QinQ報文在公網傳輸時帶有雙層VLAN Tag,內層VLAN Tag為使用者私網VLAN Tag,
外層VLAN Tag為運營商分配給使用者的VLAN Tag。
QinQ報文有固定的格式,就是在802.1Q的標籤之上再打一層802.1Q標籤,QinQ報文比正常的802.1Q報文多四個位元組。
另外,對於QinQ報文的ETYPE值,不同的廠家有不同的設定,有些廠商使用0x8100,有些廠家採用0x9100。
介面的MTU 值預設為1500 位元組。當為報文加上外層VLAN Tag 後,報文的長度會
增加4 個位元組,建議使用者適當增加運營商網路中各介面的MTU(Maximum Transmission Unit,最大傳輸單元)值,至少為1504 位元組。

四、QinQ封裝 QinQ封裝是指如何把單層Q報文轉換為雙層Q報文,封裝主要發生在都會網路面向使用者的UPE裝置,一般在交換式的埠上進行,根據不同的封裝依據,QinQ可以分為幾種不同型別,包括基於埠的QinQ和基於流的QinQ兩大類,另外,還可以在路由子介面上進行的特殊QinQ封裝,具體如下:
1、基於埠的QinQ封裝
基於埠的封裝指進入一個埠的所有流量全部封裝一個外層VLAN TAG,封裝方式較為呆板。
2、基於流的QinQ封裝
基於流的QinQ封裝可以對進入埠的資料首先進行流分類,然後對於不同的資料流選擇是否打外層TAG,打何種外層TAG,因此也叫靈活QinQ,靈活QinQ根據流分類的方法又可細分如下:
1) 根據報文中的VLAN ID區間分流
當同一使用者的不同業務使用不同的VLAN ID時,可以根據VLAN ID區間進行分流,比如PC上網的VLAN ID範圍是101~200,IPTV的VLAN ID範圍是201~300,大客戶的VLAN範圍是301~400,面向使用者的裝置收到使用者資料後,根據VLAN ID範圍,對PC上網業務打上100的外層標籤,對IPTV打上300的外層標籤,對大客戶打上500的外層標籤。
2) 根據報文中的VLAN ID+Priority進行分流
不同的業務有不同的優先順序,當同一使用者的多種業務使用相同的VLAN ID時,可以根據不同業務的Priority進行區分,然後打上不同的外層標籤。
3) 根據目的IP進行QinQ封裝
當同一臺PC既包括上網業務,又包括語音業務時,不同業務的目的IP不同,可以利用ACL對目的IP進行分流,然後打上不同的外層標籤。
4) 根據ETYPE進行QinQ封裝
當同一使用者既包括PPPOE的上網業務,又包括IPOE的IPTV業務時,可以根據ETYPE進行資料分流,IPOE的協議號為0x0800,PPPOE的協議號為0x8863/8864,這樣,上網業務和IPTV業務就能打上不同的外層標籤。
QinQ封裝一般在交換式埠上直接進行,但有一種特殊情況例外,QinQ也可以在路由子介面上進行封裝。

[@more@]

某單位使用三臺S6503作為核心裝置,採用QinQ技術實現各下屬單位區域網內相同VLAN之間的訪問。如上網路拓撲圖所示:三臺S6503之間透過光電轉換器+光纖的連線方式進行主幹線路的連線,為下屬單位提供二層隧道的透明連線,下屬各個單位均採用Cisco交換機,各單位透過QinQ技術實現私有VLAN之間互訪。

問題描述:

該使用者的網路系統全網執行生成樹協議。其中三臺S6503執行RSTP協議,下屬各個單位的Cisco交換機執行PVST協議。該網路在設定(使用者和整合商自己做的配置)完畢並執行幾天後,發現了以下問題:

下屬單位的區域網中,經常出現Cisco交換機當機或重啟的現象;

下屬各單位之間透過QinQ連線的網路經常有斷線的現象,反映網路不穩定;

客戶反映:

三臺6503組成的主幹網,當主幹線路光纖出現問題斷掉的時候,備用線路即S6503-B和S6503-C之間的線路不能正常啟用,必須透過重啟光電轉換器或拔掉雙絞線,有時候重啟S6503交換機才能使網路恢復正常,此故障基本上每兩天出現一次;

處理過程:

透過收集各交換機的資訊發現:

三臺S6503交換機的配置為:S6503-A設定為STP優先順序為0,作為RSTP的主根,S6503-B設定為STP優先順序為4096,作為RSTP的備根;每臺交換機的第47和48埠為主幹線路連線埠,設定為TRUNK埠,允許所有VLAN透過;其他埠為access埠,啟動了VLAN VPN特性。透過display stp interface發現,啟動了QinQ特性的埠上,RSTP仍然是enable的。同時,我們發現,三臺S6503交換機之間的主幹線路的介面上產生了很多的CRC錯誤,介面的速率和雙工都為強制方式。

解決方案:

對上面收集到的交換機配置資訊和故障現象分析,可以發現交換機的配置有2個明顯的錯誤:

1、啟用QinQ特性的埠,不能執行STP/GVRP/802.1x等協議;

2、PVST為CISCO的私有協議,與標準的STP不相容,容易產生網路問題。

在操作手冊中,關於QinQ使用的注意事項裡明確說明:

如果某埠的GVRPGMRPSTP802.1xNTDPNDP協議中的任一個已經啟動,則不允許使用者開啟端口的QinQ特性,即使用者如果想在某個埠上應用QinQ特性,則不允許啟動其他如GVRP、STP、802.1x等特性。

之所以有這樣的使用限制的原因是,QinQ特性所使用的QINQ協議的基本思想是將使用者私網VLAN TAG封裝在公網VLAN TAG中, 報文帶著兩層TAG穿越服務商的骨幹網路,從而為使用者提供一種較為簡單的二層VPN隧道。而QinQ是一個非標準的協議,還不是很成熟,在某些方面還存在一些缺點,例如對STP、GVRP等二層協議的透傳支援是一個較大的難題,如果將這些和普通資料包文一樣帶上公網TAG頭(公網VLAN封裝)進行傳輸會產生不可預料的問題,因為按照協議標準,帶TAG的BPDU報文和GVRP協議報文都是非法報文,不能保證它能在公網上被正確透傳。

根據上面提到資訊,原來交換機上的配置是不正確的,會出現一些我們不可預料的網路問題。這些不可預料的問題會使網路產生一些奇特的現象,例如,客戶反映的下屬單位的一些使用者不能正常通訊、CISCO交換機無故當機等。

對於S6503-B和S6503-C之間的鏈路不能正常通訊的問題,最初把問題定位在光電轉換器上面。更換了光電轉換器後,經過測試,光纖線路引數正常。但仍然不能夠通訊。接下來,我們懷疑是否因為CRC錯誤不斷上升,使光電轉換器發生了“死鎖”呢?埠會產生CRC錯誤一般是由協商方式造成的。在更改埠的速率和雙工模式都為auto後,CRC錯誤消失了。之後經過測試,無路哪條主幹線路的那一段發生問題,STP都能夠使備用線路正常切換成功,迅速恢復網路通訊。

總結:

透過此網路的故障解決,:

1、埠在啟動QinQ特性的時候,不能執行其他如GVRP、STP等協議;

2、PVST協議為Cisco的私有協議,與標準的STP同時執行會產生不可預料的網路故障問題;

3、不同廠家的網路裝置相連,特別需要根據實際情況,正確配置埠協商引數,避免裝置相容性問題引起其它故障問題;

4、在使用光電轉換器的時候,最好啟用光電告警功能。

QinQ技術簡介】

QinQ是基於802.1 q封裝的隧道協議的一種形象化的稱呼。目前很多廠商的網路裝置都能支援這個特性,但是由於該協議到目前為止還沒有正式的標準,所以對它的稱謂也是五花八門:Cisco稱之為802.1q tunneling,Extreme稱之為Virtual MAN或者vMANs,Riverstone稱之為Stackable VLAN或者SVLAN。但是,總的思想都是將使用者私網vlan tag封裝在公網vlan tag中, 報文帶著兩層tag穿越服務商的骨幹網路,從而為使用者提供一種較為簡單的二層VPN隧道。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7868752/viewspace-1056903/,如需轉載,請註明出處,否則將追究法律責任。

相關文章