發布時間: 2017-06-16 11:04:16
MLS(MultiLayerSwitching,多層交換)為交換機提供基于硬件的第三層高性能交換。它采用先進的專用集成電路(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)對多層交換的交換引擎進行初始化。
多層交換工作過程
第一步:發送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。
第二步:標識候選包(CandidatePacket)
在了解具有多層交換能力的路由器的相關地址后,MLS-SE可以對進入交換機的數據包進行匹配判斷。對于一個流中的數據包,如果MLS緩存中含有與之匹配的捷徑條目,則MLS-SE就旁路路由器而直接轉發該數據包;如果MLS中不含與該數據包相匹配的捷徑條目,則MLS-SE將它歸為候選包,并在緩存中建立部分捷徑(Partialshortcut)。這樣的包采用傳統的第二層交換機處理方式處理,并發往與之相連的路由器接口(網關)。這里要注意,候選包(幀)必須滿足目標地址經過MLSP所列的路由器接口的一個MAC地址和不存在捷徑條目兩個標準。
第三步:標識使能包(EnablePacket)
路由器收到并以傳統的方式轉發數據包。通過數據包的目標地址路由表得知,這個包應從FastEthernet1/0的第二個接口轉出,并將包封裝為VLAN2幀通過ISL鏈路送回。此時,路由器已經重寫第二層幀的幀頭。同時,路由器不僅改寫了ISL頭的VLAN號,而且也修改了兩個MAC地址域:源MAC改為路由器出口的MAC地址,目標MAC改為主機B的MAC地址。雖然數據包的IP地址未改寫,但IP包頭的生存時間(TTL)值被減1,故IP包頭的校驗和也需要做相應的修改。這個修改后的數據包稱為使能包(EnablePacket),當這個數據包從路由器送出并穿過交換機到達目的地主機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(NetFlowFeature
Card)是裝備在三層交換機中的網絡流性能卡,它維護第三層交換數據包流的交換表(MLS Cache),作為多層交換的交換引擎部分。
上述這個過程被稱為“一次路由,多次交換”。交換機利用專業化硬件ASIC來處理數據包,速度相當快,可以達到100Mbps甚至1000Mbps。
下一篇: 802.1X成功部署的六個訣竅