压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

網絡操作系統Comware軟件架構淺談

網絡操作系統是網絡設備廠商的核心技術平臺,不同的公司又有不同的技術選擇。Cisco作為老牌廠商,采用了多分支并存的發展思路:其IOS家族實際上包括了IOS、IOS XR、IOS XE等眾多成員,分別支持諸如邊緣路由器、核心路由器、交換機等不同的產品系列,幾乎是為每種產品都發布一套新的操作系統。不同系統的架構差異巨大,冠以IOS之名,只是為了統一的品牌。Juniper則始終堅持單操作系統策略:JUNOS采用FreeBSD開源操作系統為內核,可以在路由器、交換機、安全網關等不同產品上跨產品使用。不過JUNOS雖然是單操作系統,但其支持不同的產品實際上采用了不同的版本,雖然架構相似,但很多地方還是有明顯的差異。

Comware是H3C公司的軟件平臺,其地位,如同IOS之于Cisco、JUNOS之于Juniper,支撐著公司眾多的網絡產品的發展。Comware從其誕生的第一天起,就一刻不停地發展完善自己,不斷地進化,經過10年的持續努力,使得無論是內在品質,發展潛力,還是市場份額,Comware都已經進化成當今世界最優秀的網絡操作系統之一。

H3C同樣采用了單一軟件系統策略,卻比Juniper做的更徹底:Comware向單一軟件版本覆蓋更多產品的目標邁進。就象北京奧運的口號,Comware所追求的,是“同一個世界,同一個夢想”。

Comware能夠迅速地發展,與其市場定位和發展思路密不可分。Comware立項之初,就被定義成H3C公司的核心競爭力之一,成為公司最為重要的軟件平臺和核心技術的載體,支撐公司從低端盒式設備到高端框式設備全系列化網絡產品的開發。因此,Comware必須具有豐富的特性、良好的可裁減性、靈活的可伸縮性,以支撐各種硬件平臺和體系結構。如何能夠做到這一點?只有通過良好的架構設計,這一切才有可能。

三級體系架構

下面我們來撥開Comware神秘的面紗,看看其內部的構造。

Comware采用了Linux的內核,但卻僅僅保留了其內核的最基本的調度功能,而其他諸如內存管理、消息管理都根據自己的需要,替換成自己的。最為重要的是,全部的網絡協議,以及網絡產品地支撐架構,Comware全部換成了自己的,這樣才最適合Comware地發展。

Comware的體系結構由大到小分解,可以分為平面(plane)、子系統(subsystem)和模塊(module)三級。其構成如下圖所示:

Comware的體系結構

Comware的體系結構

Comware由上至下被分為了4大平面:管理平面、控制平面、數據平面和基礎設施平面。其中:基礎設施平面在操作系統的基礎上提供業務運行的軟件基礎;數據平面提供數據報文轉發功能;控制平面運行路由、MPLS、鏈路層、安全等各種路由、信令和控制協議;管理平面則對外提供設備的管理接口,如命令行、SNMP管理,WEB管理等。此外,作為一個完整的軟件系統,運行Comware軟件的產品還有自己的驅動和對應的硬件系統,構成完整的軟硬件體系結構,只不過這部分是隨著產品變化的,不作為Comware平臺化的構件的一部分。

平面之下, Comware被進一步劃分成了25個子系統,分別完成一部分相對獨立的系統功能。這些子系統各自相對獨立,又有一定的依賴關系。每個子系統又可以分解成為大小規模不同的模塊。這些模塊才是Comware系統運行的基本單元。目前Comware系統已經包含了270多個不同的模塊,覆蓋路由、交換、無線、安全等不同領域的各種特性,為產品提供了極為豐富的特性。

可伸縮

Comware支持的產品眾多,結構差異巨大:從只有一個單核CPU的小盒子,到擁有多核CPU以及各種加速單元的集中式產品,再到擁有雙主控和多個業務板的分布式設備;從多個小盒子堆疊而形成的大家伙,到多個分布式設備級聯形成的巨無霸。一套代碼如何支持這樣從簡單到復雜的硬件體系結構?答案就來自于Comware系統的層級結構和對硬件的合理抽象。

Comware撇去各種復雜結構的差異,把管理的實體分為端口(port)、子槽(subslot)、槽(slot)、機框(chassis)四級。端口和子槽屬于集中式的范疇,槽、框架屬于分布式范疇。這樣不管產品結構如何變換,最終都落入這樣的4級管理結構中。同時,Comware重新定義了主控板和接口板的功能劃分,支持主控板出業務口,實際上從功能角度模糊了主控板和接口板界線,同時實現了1:N備份,進一步打破傳統雙主控系統1:1備份的限制。這樣,使得不同的產品結構得到了統一。至此,Comware的世界中只有集中式和分布式兩類產品:集中式的產品不必考慮系統間通訊問題,結構簡單;分布式產品需要考慮系統間通訊問題,結構相對復雜一點,但所有的分布式問題都被同一化了。

可裁減

比如,作為Comware基本單元的模塊,可以根據產品的需要進行靈活的裁減和定制。產品可以自由的決定需要哪些模塊,不要哪些模塊,或者決定一個模塊所支持的特性規格。這種裁減和定制是通過編譯鏈接完成的。平臺并不會針對每款不同的產品提供不同的代碼版本,而是提供一個支持所有特性的超集代碼,并編譯形成一個統一的LIB庫。產品只需要修改Comware另外單獨提供一套初始化代碼和工程文件,就可以在鏈接時,從這個超集的LIB庫中,自動選擇自己所需要的特性和規格,把不需要的LIB忽略掉,形成各自不同的目標文件——IMAGE,最終形成自己個性化的產品,彷佛這套代碼就是為產品量身定做的一樣,不會缺少任何產品所需的規格,也不會有冗余和浪費。

除了提供模塊級的功能裁減和定制以外,Comware更是根據自己支持的產品特征,提出了模塊和子系統替換概念。舉例來說,IPv4路由子系統是一個龐大的系統,內部包括了多種單播路由協議,靜態路由,路由協議之間各種復雜的引入引出策略以及各種路由迭代算法。這樣的子系統,為了支撐各種復雜的應用,其基干部分——路由管理——的設計也是十分復雜的。即使裁減掉各種路由協議,其基干部分規模客觀。而對于一些桌面終端產品而言,僅僅支持靜態路由就足夠,并且由于硬件限制,諸如內存、Flash太小,無法提供太多的空間容納這樣的規模。于是,子系統替換就派上了用場。Comware另外單獨構建了一個輕量級的IPv4路由子系統,其規模甚至遠遠小于一個模塊的平均大小,僅僅支持靜態路由,從而滿足了對容量的要求。而這樣的替換子系統,由于對外提供的子系統間接口與原來的子系統完全一致,Comware內部的其他子系統根本不關心其內部變化,所以新的子系統和Comware整體可以無縫的融合在一起。

面向接口開發,正是Comware支持靈活裁減和定制的一大法寶,也是隔絕不穩定因素在系統中擴散的防火墻。面向接口開發的設計理念,使得Comware在實現“靈活”的同時,又不失“穩重”,所有的工作都有良好的可繼承性,使得Comware的規模得以不斷的擴張,而質量卻并沒有隨著規模的擴張而下降。目前的Comware已經發展成為有上千萬行源代碼的龐大系統,但其質量相比5年前的百萬行規模的小系統,反而有明顯的提升。

由上述特點看出,Comware的軟件架構伸縮性極強,同一個版本的軟件,即可以運行在4G內存,支持豐富的特性和卓越性能的高端路由器,也可以運行在只有128M內存,特性簡單靈活的小盒子上,覆蓋了H3C三大產品線,60多款產品,130多個不同的編譯版本。綜觀當前業界,采用單一版本代碼可以覆蓋如此之廣的產品范圍,亦是絕無僅有的事情!

采用同一版本的代碼為特性的開發和維護都帶來巨大的價值,不僅僅加快了特性開發的周期,而且維護也更為方便,代碼的質量也更為優秀。同時,也使得同一個特性,在H3C產品體系中表現出天然的一致性,為用戶的學習和使用提供了極大的方便。

開放

Comware在業界率先提出了OAA(Open Application Architecture)的理念。通過OAA,Comware對外界開放了自己的編程接口。Comware提供的開發接口,是基于POSIX兼容的,同時,還輔以ACFP、ACSEI等輔助協議工具。POSIX是目前被應用最為廣泛的開放接口,業界龐大的第三方軟件開發團隊都可以輕松使用。而通過ACFP和ACSEI這樣的輔助協議工具,第三方開發的軟件一旦嵌入到H3C的產品上,就可以輕松控制Comware主系統的行為,使得一切應用皆有可能。

Comware強大生命力的源泉在于自身永遠響應市場需求,處于不斷的發展進化之中。未來的Comware必將變的更加強大,更為易用,成為所有用戶的最佳選擇。

上一篇:Shodan(搜蛋)命令行模式使用TIPS

下一篇:linux/bsd四大防火墻如何選擇