1. 程式人生 > >關於MLS--------MLS實現三層交換的過程

關於MLS--------MLS實現三層交換的過程

 MLS(MultiLayer Switching,多層交換)為交換機提供基於硬體的第三層高效能交換。它採用先進的專用積體電路(ASIC)交換部件完成子網間的IP包交換,可以大大減輕路由器在處理資料包時所引起的過高系統開銷。

  MLS是一種用硬體處理包交換和重寫幀頭,從而提高IP路由效能的技術。Cisco多層交換技術支援所有傳統路由協議,而原來由路由器完成的幀轉發和重寫功能現在已經由交換機的硬體完成。MLS將傳統路由器的包交換功能遷移到第三層交換機上。當然,這首先要求交換的路徑必須存在。

  MLS由以下三個部分組成:

  1. 多層路由處理器 (MLS-RP) 它相當於網路中的路由器,負責處理每個資料流的第一個資料包,協助MLS交換引擎 (MLS-SE)在第三層的CAM (Content-Addressable Memory)中建立捷徑條目(Shortcut Entry)。MLS-RP可以是一個外部的路由器,也可以由三層交換機的路由交換模組(RSM)來實現。

  2. 多層交換的交換引擎 (MLS-SE) 它是負責處理轉發和重寫資料包功能的交換實體。

  3. 多層交換協議 (MLSP) 它是一個輕型協議,用來通過多層路由處理器 (MLS-RP)對多層交換的交換引擎進行初始化。

  下面以圖1所示的網路為例,闡述多層交換實現的步驟。

  第一步:傳送MLSP Hello 資訊

  當路由器啟用後,多層路由處理器每15秒傳送一個MLSP Hello包,這些包內含路由器介面所使用的VLAN標識和MAC地址資訊。MLS-SE通過這些資訊掌握具備多層交換能力的路由器的第二層屬性。如果交換機連線了多個MLS-RP,MLS-SE通過為它們的MAC地址分配XTAG值的方法來區分每個MLS-RP的MAC地址條目。如果MLSP幀從同一個 MLS-RP得到所有MAC地址,MLS-SE則為其附加相同的XTAG值,具體如圖2所示。這些關聯的記錄都存放在CAM中。由於Hello包是週期性傳送的,所以,這種方法可以保證相關值動態地跟蹤網路的變化,並可實現一定的淘汰機制。 Hello包是在第二層釋出的,它使用多播地址01-00-0C-DD-DD-DD.



第二步:標識候選包(Candidate Packet)

  在瞭解具有多層交換能力的路由器的相關地址後,MLS-SE可以對進入交換機的資料包進行匹配判斷。對於一個流中的資料包,如果MLS快取中含有與之匹配的捷徑條目,則MLS-SE就旁路路由器而直接轉發該資料包;如果MLS中不含與該資料包相匹配的捷徑條目,則MLS-SE將它歸為候選包,並在快取中建立部分捷徑(Partial shortcut)。這樣的包採用傳統的第二層交換機處理方式處理,併發往與之相連的路由器介面(閘道器),具體見圖3所示。

  這裡要注意,候選包(幀)必須滿足兩個標準:目標地址經過MLSP所列的路由器介面的一個MAC地址;不存在捷徑條目。

  第三步:標識使能包(Enable Packet)

  路由器收到並以傳統的方式轉發資料包。通過資料包的目標地址路由表得知,這個包應從Fast Ethernet1/0的第二個介面轉出,並將包封裝為VLAN2幀通過ISL鏈路送回。具體過程如圖4所示。

  此時,路由器已經重寫第二層幀的幀頭。同時,路由器不僅改寫了ISL頭的VLAN號,而且也修改了兩個MAC 地址域:源MAC改為路由器出口的MAC地址,目標MAC改為主機B的MAC地址。雖然資料包的IP地址未改寫,但IP包頭的生存時間(TTL)值被減1,故 IP包頭的校驗和也需要做相應的修改。

這個修改後的資料包稱為使能包(Enable Packet),當這個資料包從路由器送出並穿過交換機到達目的地主機B時,要履行下列五個功能:

  第二層交換機根據使能包的目的地MAC地址,知道該資料包應該從PORT3/1口轉發出去;

  MLS-SE得知使能包的幀頭上源地址是通過Hello過程建立的地址記錄之一;

  MLS-SE根據使能包目的IP地址查尋在第二步中建立的部分捷徑條目;

  MLS-SE將與使能包源MAC地址相關聯的XTAG值和部分捷徑條目的對應XTAG值相比較,如果匹配,則表明這個使能包與第二步中的候選包來自同一個路由器;

  MLS-SE完成該捷徑條目的建立過程,該捷徑記錄將包含重寫資料流中的後續包幀頭所需的所有資訊。

  第四步:直接交換(轉發)資料流中的後續包

  當後續的資料包被主機A送出後,MLS-SE利用資料包中的目標IP地址查詢在第三步建立的完整捷徑。地址匹配後,MLS-SE利用重寫引擎修改幀頭資訊,然後直接轉發給主機B(資料包不發給路由器)。重寫操作修改幀頭域,其值同第一個被路由器修改的資料包的域值一樣。詳見圖5所示。這裡需要解釋的是, NFFC(NetFlow Feature Card)是裝備在三層交換機中的網路流效能卡,它維護第三層交換資料包流的交換表(MLS Cache),作為多層交換的交換引擎部分。

  上述這個過程被稱為“一次路由,多次交換”。交換機利用專業化硬體ASIC來處理資料包,速度相當快,可以達到100Mbps甚至1000Mbps.