MLS(MultiLayer Switching,多層)為機提供基于硬件的第三層高性能交換。它采用先進的專用集成電路(ASIC)交換部件完成子網(wǎng)間的IP包交換,可以大大減輕器在處理數(shù)據(jù)包時所引起的過高系統(tǒng)開銷。
MLS是一種用硬件處理包交換和重寫幀頭,從而提高IP性能的技術。多層交換技術支持所有傳統(tǒng)路由,而原來由路由器完成的幀轉發(fā)和重寫功能現(xiàn)在已經(jīng)由交換機的硬件完成。MLS將傳統(tǒng)路由器的包交換功能遷移到第三層交換機上。當然,這首先要求交換的路徑必須存在。
MLS由以下三個部分組成:
1. 多層路由處理器 (MLS-RP) 它相當于網(wǎng)絡中的路由器,負責處理每個數(shù)據(jù)流的第一個數(shù)據(jù)包,協(xié)助MLS交換引擎 (MLS-SE)在第三層的CAM (Content-Addressable Memory)中建立捷徑條目(Shortcut Entry)。MLS-RP可以是一個外部的路由器,也可以由三層交換機的路由交換模塊(RSM)來實現(xiàn)。
2. 多層交換的交換引擎 (MLS-SE) 它是負責處理轉發(fā)和重寫數(shù)據(jù)包功能的交換實體。
3. 多層交換 (MLSP) 它是一個輕型,用來通過多層路由處理器 (MLS-RP)對多層交換的交換引擎進行初始化。
下面以圖1所示的網(wǎng)絡為例,闡述多層交換實現(xiàn)的步驟。
第一步:發(fā)送MLSP Hello 信息
當路由器激活后,多層路由處理器每15秒發(fā)送一個MLSP Hello包,這些包內(nèi)含路由器接口所使用的VLAN標識和MAC地址信息。MLS-SE通過這些信息掌握具備多層交換能力的路由器的第二層屬性。如果交換機連接了多個MLS-RP,MLS-SE通過為它們的MAC地址分配XTAG值的方法來區(qū)分每個MLS-RP的MAC地址條目。如果MLSP幀從同一個MLS-RP得到所有MAC地址,MLS-SE則為其附加相同的XTAG值,具體如圖2所示。這些關聯(lián)的記錄都存放在CAM中。由于Hello包是周期性發(fā)送的,所以,這種方法可以保證相關值動態(tài)地跟蹤網(wǎng)絡的變化,并可實現(xiàn)一定的淘汰機制。 Hello包是在第二層發(fā)布的,它使用多播地址01-00-0C-DD-DD-DD。
第二步:標識候選包(Candidate Packet)
在了解具有多層交換能力的路由器的相關地址后,MLS-SE可以對進入交換機的數(shù)據(jù)包進行匹配判斷。對于一個流中的數(shù)據(jù)包,如果MLS緩存中含有與之匹配的捷徑條目,則MLS-SE就旁路路由器而直接轉發(fā)該數(shù)據(jù)包;如果MLS中不含與該數(shù)據(jù)包相匹配的捷徑條目,則MLS-SE將它歸為候選包,并在緩存中建立部分捷徑(Partial shortcut)。這樣的包采用傳統(tǒng)的第二層交換機處理方式處理,并發(fā)往與之相連的路由器接口(網(wǎng)關),具體見圖3所示。
這里要注意,候選包(幀)必須滿足兩個標準:目標地址經(jīng)過MLSP所列的路由器接口的一個MAC地址;不存在捷徑條目。
第三步:標識使能包(Enable Packet)
路由器收到并以傳統(tǒng)的方式轉發(fā)數(shù)據(jù)包。通過數(shù)據(jù)包的目標地址路由表得知,這個包應從Fast Ethernet1/0的第二個接口轉出,并將包封裝為VLAN2幀通過ISL鏈路送回。具體過程如圖4所示。
此時,路由器已經(jīng)重寫第二層幀的幀頭。同時,路由器不僅改寫了ISL頭的VLAN號,而且也修改了兩個MAC 地址域 :源MAC改為路由器出口的MAC地址,目標MAC改為主機B的MAC地址。雖然數(shù)據(jù)包的IP地址未改寫,但IP包頭的生存時間(TTL)值被減1,故IP包頭的校驗和也需要做相應的修改。
這個修改后的數(shù)據(jù)包稱為使能包(Enable Packet),當這個數(shù)據(jù)包從路由器送出并穿過交換機到達目的地主機B時,要履行下列五個功能:
第二層交換機根據(jù)使能包的目的地MAC地址,知道該數(shù)據(jù)包應該從PORT3/1口轉發(fā)出去;
MLS-SE得知使能包的幀頭上源地址是通過Hello過程建立的地址記錄之一;
MLS-SE根據(jù)使能包目的IP地址查尋在第二步中建立的部分捷徑條目;
MLS-SE將與使能包源MAC地址相關聯(lián)的XTAG值和部分捷徑條目的對應XTAG值相比較,如果匹配,則表明這個使能包與第二步中的候選包來自同一個路由器;
MLS-SE完成該捷徑條目的建立過程,該捷徑記錄將包含重寫數(shù)據(jù)流中的后續(xù)包幀頭所需的所有信息。
第四步:直接交換(轉發(fā))數(shù)據(jù)流中的后續(xù)包
當后續(xù)的數(shù)據(jù)包被主機A送出后,MLS-SE利用數(shù)據(jù)包中的目標IP地址查找在第三步建立的完整捷徑。地址匹配后,MLS-SE利用重寫引擎修改幀頭信息,然后直接轉發(fā)給主機B(數(shù)據(jù)包不發(fā)給路由器)。重寫操作修改幀頭域,其值同第一個被路由器修改的數(shù)據(jù)包的域值一樣。詳見圖5所示。這里需要解釋的是,NFFC(NetFlow Feature Card)是裝備在三層交換機中的網(wǎng)絡流性能卡,它維護第三層交換數(shù)據(jù)包流的交換表(MLS Cache),作為多層交換的交換引擎部分。
上述這個過程被稱為“一次路由,多次交換”。交換機利用專業(yè)化硬件ASIC來處理數(shù)據(jù)包,速度相當快,可以達到100Mbps甚至1000Mbps。