網(wǎng)絡(luò)虛擬化IRF2技術(shù)架構(gòu)
【51CTO.com 綜合報道】虛擬化技術(shù)是當前企業(yè)IT技術(shù)領(lǐng)域的關(guān)注焦點,采用虛擬化來優(yōu)化IT架構(gòu)、提升IT系統(tǒng)運行效率是當前技術(shù)發(fā)展的方向。
對于服務(wù)器或應(yīng)用的虛擬化架構(gòu),IT行業(yè)相對比較熟悉:在服務(wù)器上采用虛擬化軟件運行多臺虛擬機(VM---Virtual Machine),以提升物理資源利用效率,可視為1:N的虛擬化;另一方面,將多臺物理服務(wù)器整合起來,對外提供更為強大的處理性能(如負載均衡集群),可視為N:1的虛擬化。
對于基礎(chǔ)網(wǎng)絡(luò)來說,虛擬化技術(shù)也有相同的體現(xiàn):在一套物理網(wǎng)絡(luò)上采用VPN或VRF技術(shù)劃分出多個相互隔離的邏輯網(wǎng)絡(luò),是1:N的虛擬化;將多個物理網(wǎng)絡(luò)設(shè)備整合成一臺邏輯設(shè)備,簡化網(wǎng)絡(luò)架構(gòu),是N:1虛擬化。H3C 虛擬化技術(shù)IRF2屬于N:1整合型虛擬化技術(shù)范疇。
1 H3C IRF2虛擬化技術(shù)解析
1.1 IRF2技術(shù)概要
IRF2源自早期的堆疊技術(shù),H3C或稱為IRF1。
IRF1堆疊就是將多臺盒式設(shè)備通過堆疊口連接起來形成一臺虛擬的邏輯設(shè)備。用戶對這臺虛擬設(shè)備進行管理,來實現(xiàn)對堆疊中的所有設(shè)備的管理。這種虛擬設(shè)備既具有盒式設(shè)備的低成本優(yōu)點,又具有框式分布式設(shè)備的擴展性以及高可靠性優(yōu)點,早期在H3C S3600/S5600上提供此類解決方案。
IRF2既支持對盒式設(shè)備的堆疊虛擬化,同時支持H3C同系列框式設(shè)備的虛擬化(如圖1所示):包括S12500,S9500E,S7500E,S5800,S5500,S5120EI各系列內(nèi)的IRF2虛擬化整合,。
圖1 基于IRF22 的虛擬化
IRF2技術(shù)的軟件體系架構(gòu)如圖2所示。IRF2虛擬化功能模擬出虛擬的設(shè)備,設(shè)備管理同時管理IRF2的虛擬設(shè)備與真實的物理設(shè)備,屏蔽其差異。而對于運行在此系統(tǒng)上的上層應(yīng)用軟件來說,通過設(shè)備管理層的屏蔽,已經(jīng)消除了IRF2系統(tǒng)中不同設(shè)備物理上的差異,因此,對于單一運行的物理設(shè)備或IRF2虛擬出來的設(shè)備,上層軟件都不需要做任何的修改,并且對于上層軟件系統(tǒng)新增的功能,可同步應(yīng)用于所有硬件設(shè)備。
IRF2虛擬化模塊:自動進行IRF2系統(tǒng)的拓撲收集、角色選舉,并將設(shè)備組虛擬成單一的邏輯設(shè)備,上層軟件所見只是一臺設(shè)備;
硬件系統(tǒng):IRF2組內(nèi)的硬件設(shè)備及組件;
設(shè)備管理層:提供對線卡、接口等各種設(shè)備資源的管理。這里的設(shè)備包括對硬件的抽象,也包括通過IRF2虛擬化發(fā)現(xiàn)的邏輯設(shè)備;
系統(tǒng)管理與上層應(yīng)用模塊:運行在IRF2系統(tǒng)上的所有管理、控制程序,包括各種路由協(xié)議模塊、鏈路層協(xié)議模塊等。
圖2 IRF2基本軟件架構(gòu)
IRF2IRF2IRF2IRF2
IRF2作為通用的虛擬化技術(shù)平臺,對不同形態(tài)產(chǎn)品的采用相同技術(shù)架構(gòu)實現(xiàn),便于整網(wǎng)運行特征一致性、升級能力一致性。#p#
1.2 IRF2的系統(tǒng)管理
拓撲管理
設(shè)備上用于IRF2連接的物理端口被稱為IRF2端口,它是一種邏輯接口。一個IRF2端口可能對應(yīng)一個物理端口,也可能由多個物理端口聚合而成(稱為聚合IRF2互聯(lián)口),以達到增強帶寬和鏈路備份的作用。IRF2物理端口之間可以使用專用線纜也可以使用光纖連接:專用線纜可提供更高帶寬和較短的連接距離,光纖可提供遠距的IRF2虛擬化能力。
如圖4所示,IRF2系統(tǒng)連接拓撲有兩種:鏈形連接和環(huán)形連接。
圖3 IRF2的主要連接拓撲
IRF2系統(tǒng)中的各臺設(shè)備通過與直接相鄰的其它成員交互HELLO報文來收集整個IRF2系統(tǒng)的拓撲關(guān)系。HELLO報文會攜帶拓撲信息,包括連接關(guān)系、成員設(shè)備編號、成員設(shè)備優(yōu)先級、成員設(shè)備的橋MAC等內(nèi)容。
IRF2成員設(shè)備在本地記錄自己已知的拓撲信息,拓撲信息通過IRF2互聯(lián)端口傳遞,經(jīng)過一段時間的收集,所有設(shè)備上都會收集到完整的拓撲信息(稱為拓撲收斂)。此時會進入角色選舉階段,確定成員為Master或者Slave。
角色選舉會在拓撲發(fā)生變化的情況下產(chǎn)生,比如:IRF2建立、新設(shè)備加入、IRF2分裂或者兩個IRF2系統(tǒng)合并。角色選舉規(guī)則如下(按規(guī)則次序判斷,直到找到唯一的最優(yōu)成員,才停止選舉。此最優(yōu)成員即為IRF2系統(tǒng)的Master設(shè)備,其它設(shè)備則均為Slave設(shè)備):
1、當前Master優(yōu)于非Master成員;
2、當成員設(shè)備均是框式分布式設(shè)備時,本地主用主控板優(yōu)于本地備用主控板;
3、當成員設(shè)備均是框式分布式設(shè)備時,原Master的備用主控板優(yōu)于非Master成員上的主控板;
4、成員優(yōu)先級大的優(yōu)先;
5、系統(tǒng)運行時間長的優(yōu)先;
6、成員橋MAC小的優(yōu)先。
角色選舉階段Master還會負責成員編號沖突處理、軟件版本加載、IRF2合并管理等工作。拓撲與角色選舉處理成功后,IRF2系統(tǒng)才能形成和正常運行。
成員管理
通過IRF2連接形成的虛擬設(shè)備在管理上可以看作是單一實體,用戶使用Console口或者Telnet方式登錄到IRF2中任意一臺成員設(shè)備,都可以對整個IRF2系統(tǒng)進行管理和配置。
Master設(shè)備作為IRF2系統(tǒng)的管理中樞,負責響應(yīng)用戶的登錄請求,即用戶無論使用什么方式,通過哪個成員設(shè)備登錄IRF2,最終都是通過Master設(shè)備進行配置,這種方式可以使IRF2內(nèi)所有設(shè)備的配置保持高度統(tǒng)一。
IRF2系統(tǒng)使用成員編號(Member ID)來標志和管理成員設(shè)備,IRF2中所有設(shè)備的成員編號都是唯一的。成員編號被引入到端口編號中,便于用戶配置和識別成員設(shè)備上的接口。
成員設(shè)備加入。IRF2系統(tǒng)當發(fā)現(xiàn)有新的成員設(shè)備加入時,會根據(jù)新加入設(shè)備的狀態(tài)采取不同的處理:新加入的設(shè)備本身未形成IRF2(如:新成員是新上電,但IRF2已經(jīng)配置和電纜連接),則該設(shè)備會被選為Slave;加入的設(shè)備本身已經(jīng)形成了IRF2運行結(jié)構(gòu)(如:新成員已經(jīng)在IRF2狀態(tài)下工作,使用IRF2電纜連接到已有IRF2系統(tǒng)),此時相當于兩個IRF2合并(merge),兩個系統(tǒng)會進行競選,競選失敗的一方所有IRF2成員設(shè)備需要重啟(冗余的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計已經(jīng)保證了網(wǎng)絡(luò)業(yè)務(wù)承載的不中斷性),然后全部作為Slave設(shè)備加入競選獲勝的一方。
成員設(shè)備離開。正常情況下,直接相鄰的IRF2成員設(shè)備之間周期性交換HELLO報文。如果持續(xù)10周期未收到直接鄰居的HELLO報文,則認為該成員設(shè)備已經(jīng)離開IRF2系統(tǒng),IRF2系統(tǒng)會將該成員設(shè)備從拓撲中隔離出來。如果發(fā)現(xiàn)IRF2互聯(lián)端口Down,則擁有該端口的成員設(shè)備會緊急廣播通知其它成員,立即重新計算當前拓撲,而不用等到HELLO報文超時再處理。
如果離開的是Slave設(shè)備,則系統(tǒng)僅僅相當于失去一個備用主控板以及此板上的接口等物理資源;如果離開的是Master設(shè)備,則IRF2系統(tǒng)會重新進行選舉,選舉出的新Master接管原有Master的所有功能。
單臺設(shè)備離開IRF2系統(tǒng)后會回到獨立運行狀態(tài),相連的多臺設(shè)備離開IRF2系統(tǒng)后會形成獨立的兩個IRF2系統(tǒng),這種情況稱為分裂。
盒式設(shè)備IRF2互聯(lián)形成的虛擬設(shè)備相當于一臺框式分布式設(shè)備,IRF2互聯(lián)電纜模擬了交換背板,IRF2中的Master相當于虛擬設(shè)備的主用主控板,Slave設(shè)備相當于備用主控板(同時擔任接口板的角色),如圖4所示。
圖4 盒式設(shè)備虛擬化成框式設(shè)備
框式分布式設(shè)備IRF2互聯(lián)后形成的虛擬設(shè)備也相當于一臺框式分布式設(shè)備,但該虛擬的框式分布式設(shè)備擁有更多的備用主控板和接口板。IRF2中的Master的主用主控板相當于虛擬設(shè)備的主用主控板,Master的備用主控板以及Slave的主用、備用主控板均相當于虛擬設(shè)備的備用主控板(同時擔任接口板的角色),如圖5所示。
圖5 多框設(shè)備虛擬化成更高密度邏輯單框設(shè)備
軟件管理
IRF2具有自動加載功能。新設(shè)備加入時,會與Master設(shè)備的軟件版本號進行比較,如果不一致,則自動從Master設(shè)備下載系統(tǒng)啟動文件,然后使用新的啟動文件重啟,重新加入IRF2系統(tǒng)。#p#
1.3 IRF2對上層控制協(xié)議的支撐
IRF2的基本虛擬化思想是將多臺設(shè)備合并成單臺高密邏輯框式設(shè)備,因此系統(tǒng)內(nèi)有多塊主控,如何處理好Master主控與眾多Slave主控的關(guān)系,成為IRF2支撐上層協(xié)議處理的關(guān)鍵。
IRF2系統(tǒng)采用的是1:N冗余,即Master負責處理業(yè)務(wù),Slave作為Master的備份,隨時與Master保持同步。當Master工作異常時,IRF2系統(tǒng)將選擇其中一臺Slave成為新的Master,接替原Master繼續(xù)管理和運營IRF2系統(tǒng),不會對原有網(wǎng)絡(luò)功能和業(yè)務(wù)造成影響,
IRF2協(xié)議熱備份功能負責將各運行協(xié)議的配置信息以及支撐協(xié)議運行的數(shù)據(jù)(比如狀態(tài)機或者會話表項等)同步到其它所有成員設(shè)備,與單框設(shè)備的雙引擎工作方式相似,從而使得IRF2系統(tǒng)能夠作為一臺獨立的設(shè)備在網(wǎng)絡(luò)中運行。
以路由協(xié)議為例,如圖6所示,IRF2系統(tǒng)與外部網(wǎng)絡(luò)使用的OSPF路由協(xié)議。當Master收到鄰居路由器發(fā)送過來的Update報文時,一方面它會更新本地的路由表,同時它會立即將更新的路由表項以及協(xié)議狀態(tài)信息發(fā)給其它所有成員設(shè)備,其它成員設(shè)備收到后會立即更新本地的路由表及協(xié)議狀態(tài),以保證IRF2系統(tǒng)中各個物理設(shè)備上路由相關(guān)信息的嚴格同步。當Slave收到鄰居路由器發(fā)送過來的Update報文時,Slave設(shè)備會將該報文交給Master處理。
圖6 IRF2的協(xié)議處理
當Master故障時,新選舉的Master可以在GR環(huán)境下無縫的接手系統(tǒng)運行的工作,新的Master接收到鄰居路由器過來的OSPF報文后,會將更新的路由表項以及協(xié)議狀態(tài)信息發(fā)給其它所有成員設(shè)備,并不會影響IRF2中數(shù)據(jù)轉(zhuǎn)發(fā)。這樣就保證了當成員設(shè)備出現(xiàn)故障的時候,其它成員設(shè)備可以照常運行并接管故障的物理設(shè)備功能,此時,域內(nèi)路由協(xié)議不會隨之出現(xiàn)中斷,二三層轉(zhuǎn)發(fā)流量和業(yè)務(wù)也不會出現(xiàn)中斷,IRF2系統(tǒng)的GR與單臺設(shè)備的GR處理流程相同,從而實現(xiàn)了不中斷業(yè)務(wù)的故障保護和設(shè)備切換功能。#p#
1.4 IRF2的底層轉(zhuǎn)發(fā)實現(xiàn)
圖8顯示了單臺框式設(shè)備與外部設(shè)備協(xié)議交互計算時的底層轉(zhuǎn)發(fā)模式。設(shè)備通過主控與協(xié)議鄰居進行協(xié)議的狀態(tài)計算,產(chǎn)生全網(wǎng)的路由信息,然后形成轉(zhuǎn)發(fā)表項,由主控下發(fā)同步到各接口卡(如圖8左圖)。在實際報文轉(zhuǎn)發(fā)上,當以太網(wǎng)數(shù)據(jù)進入交換機時,交換機硬件ASIC根據(jù)轉(zhuǎn)發(fā)表信息和報文頭抽取源端口號、轉(zhuǎn)發(fā)出端口號、其它信息組裝成設(shè)備內(nèi)部數(shù)據(jù)轉(zhuǎn)發(fā)的附加信息頭Inner Header,加載在實際以太網(wǎng)報文幀前在設(shè)備內(nèi)部轉(zhuǎn)發(fā)(如圖7右圖)。
圖7 單臺框式設(shè)備的轉(zhuǎn)發(fā)方式
對于IRF2結(jié)構(gòu)下的轉(zhuǎn)發(fā),與單框設(shè)備的轉(zhuǎn)發(fā)機制基本相似。對于多臺盒式設(shè)備組成的IRF2系統(tǒng),由Master計算并形成各成員的轉(zhuǎn)發(fā)表;對于多臺框式設(shè)備組成的IRF2系統(tǒng),由Master設(shè)備的主用主控計算生成轉(zhuǎn)發(fā)表,各框線卡的轉(zhuǎn)發(fā)表均由此主控同步下發(fā)。當數(shù)據(jù)流在IRF2系統(tǒng)的成員設(shè)備間轉(zhuǎn)發(fā)時,交換機硬件ASIC根據(jù)轉(zhuǎn)發(fā)表信息和報文頭抽取源端口號、轉(zhuǎn)發(fā)出端口號、其它信息組裝成IRF2系統(tǒng)內(nèi)數(shù)據(jù)轉(zhuǎn)發(fā)的附加信息頭IRF2 Head,并封裝在以太網(wǎng)報文前面通過IRF2互聯(lián)鏈路轉(zhuǎn)發(fā)到其它IRF2成員,便于出方向設(shè)備進行正確處理。如圖8所示。
圖8 IRF2轉(zhuǎn)發(fā)模式
IRF2采用分布式轉(zhuǎn)發(fā)實現(xiàn)報文的二/三層轉(zhuǎn)發(fā),最大限度的發(fā)揮了每個成員的處理能力。IRF2系統(tǒng)中的每個成員設(shè)備都有完整的二/三層轉(zhuǎn)發(fā)能力,當它收到待轉(zhuǎn)發(fā)的二/三層報文時,可以通過查詢本機的二/三層轉(zhuǎn)發(fā)表得到報文的出接口以及下一跳,將報文從正確的出接口送出去。這個出接口可以在本機上也可以在其它成員設(shè)備上,并且將報文從本機送到另外一個成員設(shè)備是一個純粹內(nèi)部的實現(xiàn),對外界是完全屏蔽的,即對于三層報文來說,不管它在IRF2系統(tǒng)內(nèi)部穿過了多少成員設(shè)備,在跳數(shù)上只增加1,即表現(xiàn)為只經(jīng)過了一個網(wǎng)絡(luò)設(shè)備。
圖9 IRF2跨設(shè)備鏈路聚合的實現(xiàn)
由于IRF2系統(tǒng)已經(jīng)被虛擬化為一臺設(shè)備,因此不同物理設(shè)備的端口可以被聚合(捆綁)在一起被當作一個邏輯端口,在配置與組網(wǎng)上也與單臺設(shè)備的端口聚合功能完成相同(如圖9上圖所示)。但IRF2架構(gòu)下的鏈路負載分擔與單臺設(shè)備有差異:對單臺設(shè)備而言,一組聚合端口為一個邏輯端口,從此邏輯端口出去的數(shù)據(jù)流完全基于特定HASH (源、目的MAC地址,源、目的IP地址,四層協(xié)議端口號) 均衡算法進行流量分配;對IRF2系統(tǒng)來說,可以采用等同于單臺設(shè)備的流量均衡方式,但此種方式下對IRF2互聯(lián)帶寬有一定要求。目前采用一種基于本地優(yōu)先轉(zhuǎn)發(fā)的方式,如圖10下圖所示,A和B、C和D為兩組IRF2系統(tǒng),共組成兩層網(wǎng)絡(luò),兩個IRF2系統(tǒng)通過四條鏈路全連接,此四條鏈路被聚合成一條邏輯鏈路。當上游設(shè)備流量(如紅色線)到達A設(shè)備需要向下游轉(zhuǎn)發(fā)時,A只將流量在本地聚合組的兩個端口成員內(nèi)以硬件HASH進行流量均衡,B設(shè)備也作相同處理,只有當IRF2成員本地沒有業(yè)務(wù)出口(B的下行端口全部故障)時,數(shù)據(jù)流量才到IRF2的其它成員向下轉(zhuǎn)發(fā)。因此就近本地優(yōu)先轉(zhuǎn)發(fā)的機制可充分發(fā)揮IRF2成員的性能,并在鏈路故障時流量自動繞行。#p#
1.5 IRF2分裂檢測處理
IRF2系統(tǒng)對外體現(xiàn)為一個整體的交換系統(tǒng),但由于本身由多臺設(shè)備組成,也存在由于意外原因?qū)е翴RF2系統(tǒng)分裂的可能。IRF2系統(tǒng)分裂后,形成兩個或多個相同的邏輯設(shè)備:地址相同、配置相同,需要進行檢測和進一步處理以消除對網(wǎng)絡(luò)的影響。
橋MAC變化
IRF2系統(tǒng)作為邏輯單臺設(shè)備,對外具有唯一的橋MAC(和三層MAC)。IRF2系統(tǒng)建立時,Master設(shè)備橋MAC同步到其它成員設(shè)備,分裂后,對于非Master所在系統(tǒng),IRF2系統(tǒng)中其它設(shè)備維持該橋MAC不變并選舉新的Master,此機制可避免當原Master故障時網(wǎng)絡(luò)中的鄰居設(shè)備重新學習MAC。同時IRF2也具有比較靈活的橋MAC處理方式以便于組網(wǎng)變通,目前提供了三種IRF2系統(tǒng)MAC變化的方式可通過配置實現(xiàn):◆Master離開后,橋MAC立即變化
◆保留6min后變化
◆始終不變
Master檢測和分裂處理
IRF2系統(tǒng)分裂后,會在網(wǎng)絡(luò)中形成兩組或多組“完全相同”的設(shè)備組,均有相同配置的Active Master,IRF2附加了檢測和沖突處理,稱為MAD(Multi-Active Detection,即多Active檢測)。
圖10 IRF2分裂檢測方式
檢測:通過LACP(Link Aggregation Control Protocol,鏈路聚合控制協(xié)議)或者BFD(Bidirectional Forwarding Detection,雙向轉(zhuǎn)發(fā)檢測)協(xié)議來檢測網(wǎng)絡(luò)中是否存在多個從同一個IRF2系統(tǒng)分裂出去的全局配置相同的IRF2,如圖11所示。
LACP方式下,H3C進行了擴展開發(fā),在LACP協(xié)議報文中增加IRF2 Master ID ,當系統(tǒng)分裂后,分裂后的IRF2系統(tǒng)有各自的Active Master ID,可通過LACP進行傳遞檢測;BFD方式下,也通過在BFD中擴展Master ID來檢測沖突。
沖突處理:IRF2系統(tǒng)分裂后,系統(tǒng)會檢測到網(wǎng)絡(luò)中存在多個處于Active狀態(tài)相同的IRF2系統(tǒng),Master成員編號小的處于Active狀態(tài)的IRF2系統(tǒng)會繼續(xù)正常工作,Master成員編號較大的處于Active狀態(tài)的IRF2會遷移到Recovery狀態(tài):關(guān)閉該系統(tǒng)中所有成員設(shè)備上除保留端口以外的其他所有物理端口。
故障恢復(fù):IRF2系統(tǒng)通過日志提示用戶修復(fù)IRF2互聯(lián)鏈路,鏈路修復(fù)后,沖突的設(shè)備重新啟動,恢復(fù)IRF2系統(tǒng),被Down掉的端口將重新恢復(fù)業(yè)務(wù)轉(zhuǎn)發(fā)。#p#
2 基于IRF2虛擬化技術(shù)的網(wǎng)絡(luò)橫向整合功能
IRF2是一種虛擬化技術(shù),從對提升網(wǎng)絡(luò)整體效率的角度,起到了一種橫向整合的作用,即在不改變網(wǎng)絡(luò)物理拓撲連接結(jié)構(gòu)條件下,將網(wǎng)絡(luò)同一層的多臺設(shè)備橫向整合,從邏輯上簡化了網(wǎng)絡(luò)架構(gòu)。由于整合后的IRF2系統(tǒng)具備跨設(shè)備鏈路聚合功能,因此,不同網(wǎng)絡(luò)層之間的電纜互聯(lián)也可通過邏輯整合,多條鏈路被捆綁成一條聚合的邏輯鏈路,如圖12所示。
圖11 IRF2對網(wǎng)絡(luò)的橫向虛擬化整合
IRF2網(wǎng)絡(luò)架構(gòu)與傳統(tǒng)的網(wǎng)絡(luò)設(shè)計相比,提供了多項顯著優(yōu)勢:
1)運營管理簡化。IRF2全局網(wǎng)絡(luò)虛擬化能夠提高運營效率,虛擬化的每一層交換機組被邏輯化為單管理點,包括配置文件和單一網(wǎng)關(guān)IP地址,無需VRRP。
2)整體無環(huán)設(shè)計??缭O(shè)備的鏈路聚合創(chuàng)建了簡單的無環(huán)路拓撲結(jié)構(gòu),不再依靠生成樹協(xié)議(STP)。虛擬交換組內(nèi)部經(jīng)由多個萬兆互聯(lián),在總體設(shè)計方面提供了靈活的部署能力。
3)進一步提高可靠性。虛擬化能夠優(yōu)化不間斷通信,在一個虛擬交換機成員鏈路故障時,不再需要進行L2/L3重收斂,能快速實現(xiàn)確定性虛擬交換機的恢復(fù)。
當前網(wǎng)絡(luò)建設(shè)不斷發(fā)展,虛擬化成為基礎(chǔ)技術(shù),全面虛擬化構(gòu)建的IRF2網(wǎng)絡(luò)同時支持包括IPv4、IPv6、MPLS、安全特性、OAA插卡、高可用性等全部交換網(wǎng)絡(luò)特性,并且能夠高效穩(wěn)定地運行這些功能,大大擴展了IRF2在整網(wǎng)的應(yīng)用范圍。