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