QinQ封裝及終結詳解


http://blog.csdn.net/lycb_gz/article/details/17066521

 

     以下內容摘自正在當當網、京東網、卓越網、互動出版網預售,即將正式發售的《華為交換機學習指南》一書(全書近千頁)。本書是由華為官方授權,國內第一本,也是唯一一本華為交換機權威學習指南,是華為ICT認證培訓指定教材。

當當網鏈接:http://product.dangdang.com/23372225.html
京東網鏈接:http://item.jd.com/11355972.html  

卓越網上的鏈接:http://www.amazon.cn/dp/B00GT743ME/ref=sr_1_1

7.3.1 QinQ技術誕生的背景

    QinQ最初主要是為擴展VLAN ID空間而產生的,但隨着城域以太網的發展以及運營商精細化運作的要求,QinQ的雙層標簽又有了進一步的使用場景。它的內、外層標簽可以代表不同的信息,如內層標簽代表用戶,外層標簽代表業務。另外,QinQ數據幀帶着兩層標簽穿越運營商網絡,內層標簽透明傳送,也可以看作是一種簡單、實用的VPN技術。因此它又可以作為核心MPLS VPN在城域以太網VPN的延伸,最終形成端到端的VPN技術。由於QinQ方便易用的特點,現在已經在各運營商中得到了廣泛的應用,如QinQ技術在城域以太網解決方案中和多種業務相結合。特別是靈活QinQ(Selective QinQ/VLAN Stacking)的出現,使得QinQ業務更加受到了運營商的推崇和青睞。

    我們知道,普通VLAN中的一個VLAN標簽是用來區分用戶的,但如果想要同時區分用戶和業務類型,那么怎么辦呢?如圖7-11是一個總公司下面連接了兩個分支子公司,而各分支子公司中已對不同部門的員工采用了VLAN進行區分,但兩個子公司的部門VLAN ID規划是重疊的。這樣如果數據幀中只采用一層VLAN標簽,總公司就無法區分數據是來自哪個子公司的也就無法針對不同子公司的數據進行任何處理了。

圖7-11 QinQ典型應用示例

        為了解決這個問題,我們可以設想在總公司的交換機上為各子公司創建了不同的VLAN。這樣當連接對應子公司的總公司交換機端口收到數據幀后再在數據幀外面添加一層VLAN標簽(此時數據幀中就有兩層VLAN標簽了,原來的VLAN標簽稱之為內層VLAN標簽,新添加的稱之為外層VLAN標簽),如為子公司1和子公司2的數據幀分別添加的外層VLAN標簽為VLAN 10和VLAN 20,這樣就可實現在總公司中對來自不同子公司的數據進行區分了,也可以對來自這兩個子公司的數據提供不同的服務,即差分服務了。

       另外,在基於傳統的802.1Q協議的二層局域網互聯模式中,當兩個用戶網絡需要通過服務提供商(ISP)互相訪問時(如在城域以太網中),ISP必須為每個接入用戶創建不同的VLAN。這種配置方法一方面使得用戶的VLAN在骨干網絡上可見,存在一定的安全隱患,同時因為一一對應的VLAN ID,也消耗了大量服務提供商的VLAN ID資源。這對較大的ISP來說是無法承受的,因為只有4094個VLAN ID可用),當接入的用戶數目很多時可能使ISP網絡的VLAN ID不夠用。另外,采用這種普通VLAN部署方式下,不同的ISP接入用戶就不能使用相同的VLAN ID,否則就無法實現不同接入用戶間的隔離,這時用戶的VLAN ID只能由ISP統一規划,導致用戶沒有自己規划VLAN的權利。

       通過QinQ技術可以有效地解決以上問題,因為它可以為許多不同內層VLAN標簽用戶使用同一個外層VLAN標簽進行封裝,解決了ISP的VLAN ID資源不足的問題。另外,通過外層VLAN標簽對內層VLAN標簽的屏蔽作用,使得用戶自己的內層VLAN ID部署可以由用戶自己作主,而不必由ISP來統一部署。

    這個雙層VLAN標簽可以當作單層VLAN標簽使用,即僅使用新添加的外層公網VLAN標簽,內層私網VLAN可以作為數據來傳輸,如在本章后面將要介紹的2 to 1的VLAN映射中;當然也可以作為雙層VLAN標簽來使用(如在本章后面將要介紹的2 to 2的VLAN映射中),整個數據幀中的VLAN標簽由內、外雙層VLAN標簽共同決定,這樣一來,就相當於可以使用的VLAN ID數量達到了4094×4094個了,以此來達到擴展VLAN空間的目的。通過這樣的雙層VLAN標簽封裝,可以使私網VLAN ID可以在公網上透傳,既解決了用戶VLAN ID的安全性問題和由用戶自己規划私網VLAN ID的需求問題,又解決了ISP的VLAN ID空間不足的問題,因為在ISP中可以為需要相互訪問的用戶配置相同的外層VLAN,也只需為來自同一用戶網絡的不同VLAN提供一個VLAN ID。

7.3.2 QinQ封裝和終結

     QinQ是在傳統802.1Q VLAN標簽頭基礎上再增加一層新的802.1Q VLAN標簽頭,如圖7-12所示。由此可知,QinQ幀比傳統的802.1Q幀多了四個字節,即新增的802.1Q VLAN標簽。

 

圖7-12 傳統802.1Q幀和QinQ幀格式比較

     QinQ幀封裝的過程就是把單層802.1Q標簽的數據幀轉換成雙層802.1Q標簽的數據幀。封裝過程主要發生在城域網側連接用戶的交換機端口上進行的。根據不同的VLAN標簽封裝依據,QinQ可以分為“基本QinQ”和“靈活QinQ”兩種類型。具體說明如下。

1.    基本QinQ封裝

     “基本QinQ封裝”是將進入一個端口的所有流量全部封裝一個相同的外層VLAN標簽,是一種基於端口的QinQ封裝方式,也稱“QinQ二層隧道”。開啟端口的基本QinQ功能后,當該端口接收到已經帶有VLAN標簽的數據幀時,則該數據幀就將封裝成雙層標簽的幀;如果接收到的是不帶VLAN標簽的數據幀,則該數據幀將封裝成為帶有端口缺省VLAN的一層標簽的幀。

      從以上介紹可以看出,基本QinQ的VLAN標簽封裝不夠靈活,很難有效地區分不同的用戶業務,因為它對進入同一個交換機端口的所有數據幀都封裝相同的外層VLAN標簽。但在需要較多的VLAN時,可以使用這個基本QinQ功能,這樣可以減少對VLAN ID的需求,因為進入同一個端口的所有數據幀都封裝同一個外層VLAN標簽。

      如在圖7-13所示的網絡中,企業部門1(Department1)有兩個辦公地,部門2(Department2)有三個辦公地,兩個部門的各辦公地分別和網絡中的PE1、PE2相連,部門1和部門2可以任意規划自己的VLAN。這樣,可在PE1和PE2上通過如下思路配置QinQ二層隧道功能,使得每個部門的各個辦公地網絡可以互通,但兩個部門之間不能互通。

      l  在PE1上,對於進入端口Port1和Port2的用戶(都屬於部門1)數據幀都封裝外層VLAN 10,對於進入端口Port3中用戶(屬於部門2)數據幀都封裝外層VLAN 20。

      l  在PE2上,對於進入端口Port1和Port2的用戶(都屬於部門2)數據幀都封裝外層VLAN 20。

     l  PE1上的端口Port4和PE2上的端口Port3允許VLAN 20的用戶數據幀通過,以便實現連接在PE1的Port3上部門2的用戶與連接在PE2的Port1和Port2上部門2的用戶互通。

     這種基本QinQ封裝就相當於用一個外層的VLAN標簽映射同類用戶的多個內層VLAN標簽,以減少ISP端設備VLAN ID的使用量。

圖7-13 基本QinQ典型應用示例

2.    靈活QinQ封裝

      “靈活QinQ”是對QinQ的一種更靈活的實現,是基於端口封裝與基於VLAN封裝的結合方式。除了能實現所有基本QinQ的功能外,靈活QinQ對於同一個端口接收的數據幀還可以根據不同的內層VLAN標簽執行不同的外層標簽封裝。它又可分為以下三個子類:

         l  基於VLAN ID的靈活QinQ:它是基於數據幀中不同的內層標簽的VLAN ID來添加不同的外層標簽。即具有相同內層標簽的幀添加相同的外層VLAN標簽,具有不同內層標簽的幀添加不同的外層VLAN標簽。這就要求不同用戶的內層VLAN ID或VLAN ID范圍絕對不能重疊或交叉。華為S系列交換機中的S2700、S3700、S5700、S6700僅支持基於VLAN ID的靈活QinQ功能

        l  基於802.1p優先級的靈活QinQ:它是基於數據幀中不同的內層標簽的802.1p優先級來添加不同的外層標簽。即具有相同內層VLAN 802.1p優先級的幀添加相同的外層標簽,具有不同內層VLAN 802.1p優先級的幀添加不同的外層標簽。這就要求不同用戶的內層VLAN的802.1p優先級或802.1p優先級范圍絕對不能重疊或交叉。基於802.1p優先級的靈活QinQ在華為S系列交換機中僅S7700、S9300和S9700系列支持

        l  基於流策略的靈活QinQ:它是根據所定義的QoS策略為不同的數據幀添加不同的外層標簽。基於流策略的靈活QinQ是基於端口與VLAN相結合的方式實現的,能夠針對業務類型提供差別服務。基於流策略的靈活QinQ在華為S系列交換機中僅S7700、S9300和S9700系列支持

      以上三種靈活QinQ的配置方法將在本章后面具體介紹。

      當同一用戶的不同業務需要使用不同的VLAN ID時,可以根據VLAN ID區間進行分流。現假設PC上網的VLAN ID范圍是101~200;IPTV的VLAN ID范圍是201~300;大客戶的VLAN ID范圍是301~400。面向用戶的端口在收到用戶數據后根據用戶VLAN ID范圍,對PC上網業務封裝上外層標簽100,對IPTV封裝上外層標簽300,對大客戶封裝上外層標簽500。

     【說明】QinQ封裝一般在交換式端口上進行,但也可以在路由子接口上進行(QinQ終結只能在路由子接口上進行)。此種方法可以通過一個子接口來透傳多個標識用戶的VLAN ID,這種子接口也叫QinQ Stacking子接口。這種封裝方式也是基於流的QinQ封裝方式,但QinQ Stacking子接口只能和L2VPN業務結合起來才有意義,不支持三層轉發功能。

      在如圖7-14所示的網絡中,企業的部門1有多個辦公地,部門2也有多個辦公地。部門1的網絡中使用VLAN 2~VLAN 500;部門2的網絡中使用VLAN 500~VLAN 4094。PE1的Port1端口會同時收到兩個部門不同VLAN區間的用戶數據幀。

圖7-14 靈活QinQ典型應用示例

          此時可根據圖中標識的各辦公地的用戶VLAN ID范圍在PE1和PE2上通過如下思路配置基於VLAN的靈活QinQ功能,使得每個部門的各個辦公地網絡可以互通,但兩個部門之間不能互通。具體配置思路如下:

l  對於進入PE1的Port1端口的用戶數據幀,依據其VLAN ID的不同添加對應的外層VLAN標簽。如VLAN ID在2~500之間,則封裝VLAN ID為10的外層標簽;如VLAN ID在1000~2000之間,則封裝VLAN ID為20的外層標簽;

l  對於進入PE1的Port2端口的用戶數據幀,如果VLAN ID在100~500之間,則封裝VLAN ID為10的外層標簽;

l  對於進入PE2的Port1端口的用戶數據幀,如VLAN ID在1000~4094之間,則封裝VLAN ID為20的外層標簽;

l  對於進入PE2的Port2端口的用戶數據幀,如果VLAN ID在500~2500之間,則封裝VLAN ID為20的外層標簽;

l  在PE1和PE2的Port3端口上允許VLAN 20的幀通過,以便實現連接在PE1的Port1端口下連接的部門2用戶與連接在PE2的Port1和Port2的部門2的用戶互通。

      從以上可以看出,靈活QinQ比基本QinQ的外層標簽封裝更加靈活,可可以根據用戶數據幀中的原來的VLAN ID范圍來確定封裝不同的外層標簽,這樣更有方便了對相同網絡中不同業務的用戶數據流提供差分服務。

3.    QinQ/Dot1q終結子接口

      QinQ/Dot1q終結是指設備對數據幀的雙層或者單層VLAN標簽進行識別,根據后續的轉發行為對幀中的雙層或者單層VLAN標簽進行剝離,然后繼續傳送。也就是這些VLAN標簽僅在此之前生效,后面的數據傳輸和處理不再依據幀中的這些VLAN標簽。
     【經驗之談】VLAN終結的實質包括兩個方面:
    l  對接口收到的VLAN報文,去除VLAN標簽后進行三層轉發或其他處理。從設備其它接口轉發出去的報文是否帶有VLAN標簽由對應的端口類型及其數據發送規則決定。
    l  對接口發送的報文,又將相應的VLAN標簽信息添加到報文中后再發送。

      終結一般在路由子接口上執行,即終結子接口,如我們在單臂路由中就要配置路由子接口的802.1Q的VLAN終結。如果路由子接口是對數據幀的單層VLAN標簽終結,那么該子接口稱為Dot1q 終結子接口;如果路由子接口是對數據幀的雙層VLAN標簽終結,那么該子接口稱為QinQ終結子接口。QinQ終結子接口根據終結的用戶VLAN標簽的類型,通常分為兩種子接口:

     l  明確的QinQ終結子接口:兩層VLAN標簽為固定的值。

     l  模糊的QinQ終結子接口:兩層VLAN標簽為范圍值,即:終結的內、外層標簽都為一個VLAN ID范圍值。

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

1. S3900的靈活QinQ實現原理

S3900的靈活QinQ報文轉發流程如下:

首先報文從下行口(開啟靈活QINQ功能)進入,交換機不管報文是否帶TAG,都會打上值為PVID的外層Tag,並PVID所在的VLAN中進行轉發,找到出端口;然后通過內部ACL根據內層VLAN(c-tag-vlan)值修改外層VLAN ID為配置的值(此處就是靈活QINQ的配置VLAN ID值)。

需要特殊說明的是

一、              S3900的靈活QinQ下,為了支持上行口出去帶外層Tag,要求下行端口PVID對應的VLAN在上行口出去一定要帶Tag,想要不帶Tag則通過重定向去掉Tag的方式處理;

二、              下行口上來的報文首先帶PVID對應的外層VLAN,學習到的MAC地址也是在PVID對應的VLAN中,所以需要配置MAC地址映射,以避免上游下來的下行數據在S3900上廣播。

2. S3900的靈活QinQ配置指導

 

組網:

 

  靈活QinQ實現原理(核心交換機配置)

說明:S3900的e1/0/1為下行用戶端口,g1/1/1,g1/1/2為上行端口,g1/1/1,g1/1/2為一個匯聚組。

Vlan 18為網管VLAN,vlan 1538為PPPOE用戶的外層VLAN,vlan 11為專線vlan,vlan200為除PPPOE業務外需要透傳雙層標簽的業務VLAN;S3900上網管vlan接口的虛MAC地址為00e0-fc12-3457

 

要求:S8500,S3900,DSLAM/lanswitch的管理VLAN相同,管理地址在同一網段。要求管理地址之間可以互通,並且網管VLAN,專線,及VPN用戶數據報文要求在S3900上單層VLAN透傳。

   

配置步驟:

步驟1:配置普通QinQ上行通路

在e1/0/1上配置PVID(舉例1538)和端口類型和使能普通QinQ;同時在上行口上把VLAN 1538設置成帶Tag上行,由於兩個上行口配置相同,以下步驟都只列出一個上行口G1/1/1。

vlan 1538

#

interface Ethernet1/0/1                                                        

 undo ntdp enable                                                              

 stp disable                                                                                                                                          

 port link-type hybrid                                                                                                              

 port hybrid vlan 1538untagged                                                

 undo port hybrid vlan 1                                                       

 port hybrid pvid vlan 1538                                                    

 vlan-vpn enable             

#

interface GigabitEthernet1/1/1

undo ntdp enable                                                              

 stp disable

 port link-type hybrid

 port hybrid vlan 1538 tagged

 undo port hybrid vlan 1

配置之后,上行數據從下行口上來時,無論報文帶什么Tag,都會打上1538外層Tag,然后在VLAN 1538內轉發,MAC地址學習在VLAN 1538中,如果確定需要從G1/1/1出去,則帶雙層Tag。(浙江電信組網中,大部分DSLAM用戶可以通過普通QinQ上,只要做到各DSLAM數據上行時,對應S3900上的PVID不一致就可以了)

 

步驟2:配置靈活QinQ上行通路

部分VLAN需要轉變外層VLAN,即靈活QinQ的功能,如內層VLAN 1到10需要帶上外層200的tag(不再是1538),如后續的IPTV用戶。需要在e1/0/1上進行相關配置。同時VLAN 200要在上行口G1/1/1上允許通過,並是帶Tag出去

vlan 200

#

vlan 1538

#                                                                            

interface Ethernet1/0/1                                                        

 undo ntdp enable                                                               

 stp disable                                                                                                                                         

 port link-type hybrid                                                                                                               

 port hybrid vlan 200 1538untagged                                                

 undo port hybrid vlan 1                                                       

 port hybrid pvid vlan 1538                                                     

 vlan-vpn enable 

 vlan-vpn vid 200

  raw-vlan-id inbound 1 to 10

#                                                

interface GigabitEthernet1/1/1

undo ntdp enable                                                               

 stp disable

 port link-type hybrid

 port hybrid vlan 200 1538 tagged

 undo port hybrid vlan 1

                                

配置之后,上行數據從下行口上來時,如果帶VLAN 1至VLAN 10的Tag,會先帶上1538外層Tag,然后在VLAN 1538內轉發,MAC地址學習在VLAN 1538中,然后把外層VLAN ID從1538改成200,如果確定需要從G1/1/1出去,則帶雙層Tag。

 

步驟3:配置靈活QinQ上下行通路時的Mac地址映射

步驟2配置完了,內層VLAN為1~10的報文源mac地址學習在1538 VLAN中,而從上行口輸入的下行數據,外層VLAN為200,內層為1~10,會在VLAN 200內轉發。這樣由於VLAN不對稱,就會出現目的mac查找不到,而在VLAN 200內廣播。所以需要在下行口配置mac mapping,把VLAN 1538中的MAC地址映射到VLAN 200中一份。這樣下行數據就能查到對應VLAN 200的mac地址,從而走單播。那么隨着下行數據流(外層VLAN為200的)在S3900完成mac地址學習之后,是否以后的上行數據就不是廣播,而是單播了呢?其實不是的。因為下行數據流的源MAC地址學習到VLAN 200上,需要把VLAN 200的mac地址映射到VLAN 1538上,這樣后期下行口上來的上行數據就能在VLAN 1538中查到MAC地址從而實現已知單播轉發。

interface Ethernet1/0/1                                                        

 undo ntdp enable                                                              

 stp disable                                                                                                                                          

 port link-type hybrid                                                                                                              

 port hybrid vlan 200 1538untagged                                                

 undo port hybrid vlan 1                                                       

 port hybrid pvid vlan 1538                                                    

 vlan-vpn enable

 mac-address-mapping 0 source-vlan 1538 destination-vlan 200

 vlan-vpn vid 200

  raw-vlan-id inbound 1 to 10

 

interface GigabitEthernet1/1/1

undo ntdp enable                                                              

 stp disable

 port link-type hybrid

 port hybrid vlan 200 1538 tagged

undo port hybrid vlan 1

mac-address-mapping 0 source-vlan 200 destination-vlan 1538

 

步驟4:配置靈活QinQ上行通路時的專線VLAN用戶

如果VLAN 11為專線用戶,此VLAN報文要求從G1/1/1上行口出去時只能帶一層Tag,即還是VLAN 11,而不是雙tag。這就需要用到ACL重定向來完成,把e1/0/1端口、內層VLAN為11的上行報文重定向到G1/1/1,並剝掉一層Tag。同時配置上行口G1/1/1允許通過VLAN 11。

acl number 4999

 rule 0 permit c-tag-vlan 11       

#

vlan 11

#

vlan 200

#

vlan 1538

#                                                                            

interface Ethernet1/0/1                                                        

 undo ntdp enable                                                              

 stp disable                                                                                                                                         

 port link-type hybrid                                                                                                               

 port hybrid vlan 200 1538untagged

 port hybrid vlan 11 tagged                                                

 undo port hybrid vlan 1                                                       

 port hybrid pvid vlan 1538                                                     

 vlan-vpn enable

 mac-address-mapping 0 source-vlan 1538 destination-vlan 200

 traffic-redirect inbound link-group 4999 rule 0 interface GigabitEthernet1/1/1 untagged

 vlan-vpn vid 200

  raw-vlan-id inbound 1 to 10

#

interface GigabitEthernet1/1/1

undo ntdp enable                                                              

 stp disable

 port link-type hybrid

 port hybrid vlan 11 200 1538 tagged

undo port hybrid vlan 1

mac-address-mapping 0 source-vlan 200 destination-vlan 1538       

這樣配置之后,VLAN 11的報文從G1/1/1端口出去時,只會帶一層VLAN Tag。對於VPN用戶也可以同樣處理。如果是需要把組播業務放到S3900上層去復制,也可以用這種方式把組播VLAN的數據帶一層Tag上行。

以上的步驟,把數據上行的過程介紹了一下。反過來,到達上行口的下行數據通路如何處理呢?

從組網要求看都是帶一層或者二層tag,所以上行口處理上比較簡單,重點關注相關VLAN要允許通過。上行口的PVID根據情況進行選取,一般建議設置成一個沒有業務使用的VLAN。重點需要關注下行口的tag屬性配置和MAC地址映射設置。

 

步驟5:配置普通QinQ下行通路

對照步驟1,普通QinQ方式下比較簡單。下行數據肯定是雙層Tag,外層都是VLAN 1538。下行到DSLAM時需要把外層Tag給剝掉。所以配置要求VLAN 1538在下行口untag。舉例如下,基於前面的配置,下行口不需要做修改,因為前面已經配置過了。

interface Ethernet1/0/1                                                        

 undo ntdp enable                                                              

 stp disable                                                                                                                                         

 port link-type hybrid                                                                                                               

 port hybrid vlan 200 1538untagged

 port hybrid vlan 11 tagged                                                

 undo port hybrid vlan 1                                                        

 port hybrid pvid vlan 1538                                                    

 vlan-vpn enable

 mac-address-mapping 0 source-vlan 1538 destination-vlan 200

 traffic-redirect inbound link-group 4999 rule 0 interface GigabitEthernet1/1/1 untagged

 vlan-vpn vid 200

  raw-vlan-id inbound 1 to 10

 

浙江電信組網中,大部分DSLAM用於工作於這種配置,數據流下行根據VLAN 1538和MAC地址查找到出端口,然后剝掉外層Tag之后從e1/0/1出去。

 

步驟6:配置靈活QinQ下行通路

對照步驟2,此時存在這樣的下行數據流,外層Tag為VLAN 200,內層VLAN為1~10。數據到S3900的上行口G1/1/1,mac地址學習到VLAN 200,並在VLAN 200中查找目的MAC地址。由於在步驟3中配置了下行口上的MAC映射,所以他們應該能查到單播MAC地址,從而從e1/0/1轉發出去。這里也需要剝掉一層Tag出去,因此,需要在下行口e1/0/1上配置允許VLAN 200通過,且untag。

interface Ethernet1/0/1                                                        

 undo ntdp enable                                                              

 stp disable                                                                                                                                          

 port link-type hybrid                                                                                                              

 port hybrid vlan 200 1538untagged

 port hybrid vlan 11 tagged                                                

 undo port hybrid vlan 1                                                       

 port hybrid pvid vlan 1538                                                    

 vlan-vpn enable

 mac-address-mapping 0 source-vlan 1538 destination-vlan 200

 traffic-redirect inbound link-group 4999 rule 0 interface GigabitEthernet1/1/1 untagged

 vlan-vpn vid 200

  raw-vlan-id inbound 1 to 10

 

 

步驟7:配置靈活QinQ下行通路時的專線VLAN用戶

下行數據剝tag都是用下行口上的Tag屬性來控制的,不需要用ACL重定向。那么對於VLAN 11的用戶數據,從上行口下來的報文只有一層Tag,從下行口輸出是也需要帶一層Tag,那么就需要e1/0/1端口上做配置進行處理。但是mac地址同步驟3中所述,下行數據在VLAN 11中找不到對應的MAC地址,因為MAC地址學習到VLAN 1538上,所以也需要把VLAN 1538映射到VLAN 11一份。

interface Ethernet1/0/1                                                         

 undo ntdp enable                                                              

 stp disable                                                                                                                                         

 port link-type hybrid                                                                                                              

 port hybrid vlan 200 1538untagged

 port hybrid vlan 11 tagged                                                

 undo port hybrid vlan 1                                                       

 port hybrid pvid vlan 1538                                                    

 vlan-vpn enable

 mac-address-mapping 0 source-vlan 1538 destination-vlan 200

mac-address-mapping 1 source-vlan 1538 destination-vlan 11

 traffic-redirect inbound link-group 4999 rule 0 interface GigabitEthernet1/1/1 untagged

 vlan-vpn vid 200

  raw-vlan-id inbound 1 to 10

 

步驟8:配置靈活QinQ管理VLAN用戶

首先,S3900可以把下行端口上來的管理VLAN上行數據通過只帶一層Tag的方式,送到上行設備,做到上行設備跟下面DSLAM管理VLAN的互通;同樣,也可以讓S3900 CPU發送管理VLAN的報文時帶一層tag到上行設備,實現與上行設備的互通。具體方式同前面的專線用戶,區別點為VLAN 18從上行口出去要帶Tag,這是為了確保S3900 CPU發出的報文能帶上VLAN 18的tag。

其次,S3900與下掛DSLAM設備的通信,由於所有設備管理VLAN在一個VLAN內,在前面的配置基礎上,從下行口上來的管理VLAN的報文被重定向到上行口了,導致不通。所以S3900與下掛DSLAM設備的通信的規避處理是,還需要增加一個ACL,把對應本交換虛接口MAC地址的報文,重定向上CPU。(舉例中的虛接口mac地址為00e0-fc12-3457)。ARP報文不需要特殊處理,因為ARP請求報文會廣播上CPU,而目的是S3900的ARP響應報文目的MAC也是虛接口MAC地址。

acl number 4995

 rule 0 permit dest 00e0-fc12-3457 ffff-ffff-ffff c-tag-vlan 18

acl number 4996

 rule 0 permit c-tag-vlan 18

acl number 4999

 rule 0 permit c-tag-vlan 11

#

vlan 1

#

vlan 11

#

vlan 18

#

vlan 200

#

vlan 1538

#

interface Vlan-interface18

 ip address 1.1.1.2 255.255.255.0

#

interface Ethernet1/0/1                                                        

 undo ntdp enable                                                              

 stp disable                                                                                                                                          

 port link-type hybrid                                                                                                              

 port hybrid vlan 200 1538untagged

 port hybrid vlan 11 18 tagged                                                 

 undo port hybrid vlan 1                                                       

 port hybrid pvid vlan 1538                                                    

 vlan-vpn enable

 mac-address-mapping 0 source-vlan 1538 destination-vlan 200

mac-address-mapping 1 source-vlan 1538 destination-vlan 11

 traffic-redirect inbound link-group 4999 rule 0 interface GigabitEthernet1/1/1 untagged

traffic-redirect inbound link-group 4996 rule 0 interface GigabitEthernet1/1/1 untagged

 traffic-redirect inbound link-group 4995 rule 0 cpu    ;上面兩條有順序要求

 vlan-vpn vid 200

  raw-vlan-id inbound 1 to 10

 

#

interface GigabitEthernet1/1/1

undo ntdp enable                                                              

 stp disable

 port link-type hybrid

 port hybrid vlan 11 18  200 1538 tagged -------------VLAN 18需要帶Tag

undo port hybrid vlan 1

mac-address-mapping 0 source-vlan 200 destination-vlan 1538

 

前面8個步驟舉例都是針對上行口為單端口的,如果上行口是聚合組,有哪些需要變化呢。假設上行鏈路為G1/1/1和G1/1/2構成的聚合組。

首先,需要配置聚合組,建議手動聚合;

其次,G1/1/2上必須有與G1/1/1完全相同的配置;(請在G1/1/2端口在down的狀態進行配置,配置完成后,再UP起來,進行聚合);

最后,下行口上的重定向動作,需要改成重定向到聚合組。

 

關鍵配置腳本:

DSLAM(S3900模擬)關鍵配置:

vlan 18-------------------------------------------網管VLAN

#

interface Vlan-interface18

 ip address 1.1.1.4 255.255.255.0

#

interface Ethernet1/0/2------------------------DSLAM的上行端口

 port link-type hybrid

 port hybrid vlan 18 tagged

 port hybrid vlan 1 untagged

#

8500關鍵配置:

vlan 18----------------------------------------網管VLAN

#

interface Vlan-interface18

 ip address 1.1.1.10 255.255.255.0

#

interface GigabitEthernet1/0/24-----------S8500的下行端口,與S3900只接了一個端口

 port link-type hybrid

 port hybrid vlan 18 tagged

 port hybrid vlan 1 untagged

#

 

S3900關鍵配置:

link-aggregation group 1 mode manual

acl number 4995-------------匹配目的為本設備的網管VLAN接口MAC的數據流。

 rule 0 permit dest 00e0-fc12-3457 ffff-ffff-ffff c-tag-vlan 18

acl number 4996---------------匹配內層VLAN為網管VLAN的數據流。

 rule 0 permit c-tag-vlan 18

acl number 4999---------------匹配內層VLAN為專線vlan的數據流。

 rule 0 permit c-tag-vlan 11

#

vlan 1

#

vlan 11

#

vlan 18

#

vlan 200

#

vlan 1538

#

interface Vlan-interface18

 ip address 1.1.1.2 255.255.255.0

#

interface Ethernet1/0/1

undo ntdp enable                                                              

 stp disable                                                                                                                                          

 port link-type hybrid                                                                                                              

 port hybrid vlan 200 1538 untagged

 port hybrid vlan 11 18 tagged                                                 

 undo port hybrid vlan 1                                                       

 port hybrid pvid vlan 1538                                                    

 vlan-vpn enable

mac-address-mapping 0 source-vlan 1538 destination-vlan 200

 mac-address-mapping 1 source-vlan 1538 destination-vlan 11

 traffic-redirect inbound link-group 4999 rule 0 link-aggregation-group 1 untagged

 traffic-redirect inbound link-group 4996 rule 0 link-aggregation-group 1 untagged

 traffic-redirect inbound link-group 4995 rule 0 cpu-------------上面兩條有順序要求

  vlan-vpn vid 200

  raw-vlan-id inbound 1 to 10

#

interface GigabitEthernet1/1/1

undo ntdp enable                                                              

 stp disable

 port link-type hybrid

 port hybrid vlan 11 18 200 1538 tagged -------------VLAN 18需要帶Tag

undo port hybrid vlan 1

mac-address-mapping 0 source-vlan 200 destination-vlan 1538

port link-aggregation group 1

interface GigabitEthernet1/1/2

undo ntdp enable                                                               

 stp disable

 port link-type hybrid

 port hybrid vlan 11 18 200 1538 tagged -------------VLAN 18需要帶Tag

undo port hybrid vlan 1

mac-address-mapping 0 source-vlan 200 destination-vlan 1538

port link-aggregation group 1

                                                                            

【注意】1、重定向到CPU的ACL規則(這里對應4995)必須比重定向到上行口的ACL規則(這里對應4996)后配置、下發。

2、雖然重定向支持聚合組,但是重定向本身只能做到備份作用,做不到負載分擔。即,加入G1/1/1 down掉,數據流能自動切到G1/1/2上,正常情況下重定向的數據固定走一個端口。

3、G1/1/2上必須有與G1/1/1完全相同的配置;(請在G1/1/2端口在down的狀態進行配置,配置完成后,再UP起來,進行聚合);

4、內層VLAN為1~10的報文源mac地址學習在1538 VLAN中,而從上行口輸入的下行數據,外層VLAN為200,內層為1~10,會在VLAN 200內轉發。這樣由於VLAN不對稱,就會出現目的mac查找不到,而在VLAN 200內廣播。所以需要在下行口配置mac mapping,下行口把VLAN 1538中的MAC地址映射到VLAN 200中一份,上行口把VLAN 200中的MAC地址映射到VLAN 1538中一份,這樣上下行數據就能查到對應的mac地址,從而走單播。專線及網管VLAN同理。

 

 

3. 目前S3900的啟用靈活QINQ后需要注意的問題

 

A.不能起用TACACAS認證和堆疊功能。

B. 對於端口聚合,需要配置mac-address-mapping時,必須在所有的成員端口上都配置一遍mac-address-mapping,配置要求相同;

C. 端口聚合,且配置mac-address-mapping時,請先配置mac-address-mapping,再配置聚合。如果端口已經聚合,后進行mac-address-mapping配置,在端口不進行拔線、shutdown操作的情況(即聚合組不發生變化)下,功能可用,一旦發生聚合組成員變化,就可能導致出錯,因此,建議保存配置重啟設備,確保聚合組成員變化不會引起mac-address-mapping功能問題。

D.上行端口聚合時,如果mac地址非常多,同步工作量非常大,請盡量少的執行網線插拔、shut/undo shut操作。確實需要,請慢速執行,比如shut之后10秒再undo shut,等待mac地址同步動作完成。否則可能有部分mac地址在聚合動盪期間沒有及時同步,需要等待此mac地址老化才能同步,或者手動執行undo mac-ad來觸發同步。

E. 已經配置上端口聚合+mac-address-mapping的情況,如果需要刪除mac-address-mapping,請先取消聚合,再刪除。

F. 靈活QinQ SVLAN重映射使用了ACL,重映射的數量和ACL資源多少有關;VLAN重映射總共占用2個ACL mask(分別對應輸入的Tagged報文和Untagged報文),每個CVLAN的重映射占用2條ACL規則,需要重映射的CVLAN數量越多,占用的rule越多。每個CVLAN的映射占用2條rule規則,對資源消耗比較大,各CLAN共占兩個mask資源。此外,對於專線用戶,從上行口輸出需要untag,必須配置traffic-redirect ACL,會占用一條rule。因此,在進行靈活QinQ應用於S3900之前,需要評估一下ACL資源是否充足。建議以下幾點:把總數最多的DSLAM用戶通過普通QinQ的方式上行;對於專線用戶,采用普通QinQ+traffic-redirect ACL進行untag的方式進行規划,減少靈活QinQ的配置;

G.MAC Mapping不能與MAC地址個數綁定、Voice VLAN、802.1X、集中式Mac認證配合使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM