葉志鋼,劉 鋒,杜 娟
(武漢綠色網絡信息服務有限責任公司 武漢430074)
學術界和互聯(lián)網產業(yè)界對于“下一代互聯(lián)網”這個概念一直沒有很清晰的定義。但時至今日,業(yè)界主流至少已有部分共識:“IPv6是下一代互聯(lián)網的基礎,但下一代互聯(lián)網不僅僅只是IPv6”,由軟件定義的網絡(software defined networking,SDN),也很可能成為互聯(lián)網進化為下一代互聯(lián)網的最主要驅動因素,當前多數廠商在實現IPv6過渡部署產品與SDN新業(yè)務產品開發(fā)時是基于硬件架構和私有化定制方式實現,雖然從最終功能的實現方面,與軟件方式實現的功能相同,但也有很多的差異性,所以以軟件方式實現IPv6和SDN這兩大下一代互聯(lián)網的基礎技術將是本文討論的中心內容。
IPv6的大規(guī)模普及受兩個關鍵因素制約。
一是要求網絡上所有的網元設備,如各類路由、交換設備、BRAS、終端、業(yè)務平臺、網管平臺等具備開展IPv4/IPv6雙棧業(yè)務的能力。
二是規(guī)模部署成熟化的IPv4與IPv6互聯(lián)互通的過渡技術與開發(fā)承載這些技術的IPv4/IPv6融合網關。
對于前者,當下多數的軟硬件廠商產品已經具備此能力,后者又可細化為兩部分的問題,一方面是IPv4與IPv6互聯(lián)互通的過渡技術的成熟化進度,取決于標準細節(jié)的完善與現網試點的效果;另一方面是實現過渡技術的網元硬件架構的區(qū)別。
路由器、交換機、BRAS等基礎網絡設備支持IPv4/IPv6雙棧需要設備廠商支持。本文不再就該問題進行深入探討。
實現IPv4向IPv6網絡平滑過渡,業(yè)界目前已有很多種標準,如:DS-Lite、SMART6、LAFT6、Public、MAP、IVI、NAT64、6rd、BIH、6LoWPAN等。這些標準所定義的功能既存在重疊性也存在互補性,融合網關產品需根據不同的應用場景遵循上述某種標準。
產業(yè)界主流IPv4/IPv6融合網關的實現方式有兩種。
一類是以在現有的硬件設備(如BRAS、路由器)中增加板卡或新建獨立的IPv6過渡網關的方式,各個設備制造商遵循自己的軟、硬件標準,不同制造商的板卡不能互相兼容,部署網關時會受已部署的網絡設備的制造商、型號、軟件版本限制,無論何種方式,都是各個廠商采用私有的封閉系統(tǒng)開發(fā)IPv6相關過渡產品,運營商選擇這些產品的優(yōu)勢是其自身已經按照此種硬件路線運營多年,較為容易接受此種架構,缺點是被硬件廠商捆綁壟斷,成本相對高昂以及應用的擴展受制。
另一類采用通用平臺技術,如采用基于Intel的x86平臺和Linux操作系統(tǒng)的通用軟硬件架構實現IPv4/IPv6融合網關功能。此種架構并非近期才大規(guī)模普及,其在安全領域,防火墻、IPS等產品上已運營多年,功能開發(fā)的靈活性早已證明,只是在性能及開發(fā)敏捷方面略有不足,作為網絡中的主要網元參與其中缺乏經驗。但隨著通用平臺性能的提升及開發(fā)環(huán)境的開放,將會在成本及產業(yè)結構上對現有的環(huán)境帶來沖擊,此種架構帶來的優(yōu)勢是過渡技術的支持靈活以及協(xié)議開發(fā)的快速響應能力,可在不同的應用場景中任意地進行各種過渡技術切換,同時帶來成本的大幅度降低。
SDN的本質是把網絡的數據面與控制面分離,讓用戶、應用可以通過軟件編程充分控制網絡的行為。在OpenFlow中,數據面是以FlowSwitch的形式出現的。
實現FlowSwitch則有兩種解決方案:一是采用量產的專用芯片,另一種則是通用x86硬件平臺和Linux操作系統(tǒng)以軟件的形式實現。預計在SDN大規(guī)模應用時,主流FlowSwitch會采用專用芯片的解決方案。
但以下3種情況采用專用芯片是不合適的:
·在標準尚未定型時,芯片流片成本很高,不方便支持標準的頻繁升級;
·某些應用場景對FlowSwitch有特殊要求,除了基本功能外還需要附加其他特殊應用,如信息安全審計分析功能、DPI功能等;
·功能需要經常新增或變更的應用場景。
SDN強調的是將復雜功能交給控制面(Controller)處理,數據面FlowSwitch的功能盡量簡化,以上這3種情況會是少數的。但是,一旦面對這3種情況,采用x86硬件架構,以軟件的方式實現FlowSwitch,可以說是唯一的選擇。
(1)功能
在x86硬件架構下以軟件方式實現某種網絡設備的原型,非常方便快捷。能夠支持豐富的功能是以軟件方式開發(fā)產品的最大優(yōu)點。以IPv4/IPv6融合網關產品為例,GreeNet已在x86平臺上實現了DS-Lite、SMART6、LAFT6、Public、MAP、IVI、NAT64、6rd、BIH、6LoWPAN多 種 標 準 的支持。實現某種標準的融合網關的核心功能,只需要一、兩周時間即可完成,充分體現了通用平臺的良好的可編程性。除了編程開發(fā)時間短,良好的可編程性好還體現在可以支持豐富的功能,通用CPU所能支持的功能多樣性是專用芯片完全無法媲美的,類似智能手機與功能手機的差異一樣顯著。
(2)性能
通常多數人會認為用x86硬件實現網絡設備性能會比較差,這其實是一種誤解。通用軟、硬件平臺需要支持極其豐富的應用,其操作系統(tǒng)、硬件驅動等需要執(zhí)行的任務非常多,IP協(xié)議棧也非常復雜,并且標準版本的操作系統(tǒng)不會對特定應用提供特別的優(yōu)化。因此,某些特定應用比如說高性能分組轉發(fā)方面的表現自然不會太強大。但是,事實上高端x86 CPU的集成度和硬件工藝通常比專用芯片更高,理論上是可以支持高性能網絡處理的。導致性能不夠強大的原因主要是軟件優(yōu)化程度不夠,高性能的硬件設備白白空閑。只要對x86硬件平臺上的操作系統(tǒng)、網卡驅動、內存管理、CPU調度等多個方面做正確的優(yōu)化,就可以大幅度提高網絡處理的性能。這就是所謂“通用平臺專用化”的優(yōu)化方法。采用Intel或AMD通用CPU的超級計算機,性能強大的重要原因之一也是如此。
(3)穩(wěn)定性
與性能問題類似,多數人會有PC機不夠穩(wěn)定可靠的印象。實際上普通PC機不穩(wěn)定由多方面因素導致,采用Windows操作系統(tǒng)、安裝太多軟件、電源系統(tǒng)和散熱系統(tǒng)非電信級等是其中最主要的因素。在穩(wěn)定性要求高的場合,如長時間、高負荷運行的網絡設備,如采用高端主板、CPU,選擇高品質內存和網卡,配合電信級的電源和散熱系統(tǒng),結合功能裁減、性能優(yōu)化后的Linux操作系統(tǒng),其穩(wěn)定性、可靠性將與采用專用架構的網絡設備并無本質區(qū)別。一些主流電信設備制造商在面對某些復雜應用時,其專用架構的設備上也會采用x86板卡來完成這些復雜功能。
(4)成本
采用x86架構生產網絡設備,成本優(yōu)勢也非常明顯。如果采用專有硬件架構設計一種新的網絡設備,硬件的設計難度很大,生產工藝風險也非常大,而且對專用硬件架構熟悉的人才也相對匱乏。整個研制、生產周期很長。并且硬件產品需要較長時間檢驗,甚至在較大規(guī)模應用后才能確認是穩(wěn)定可靠的。如果設備的產量不是非常大,以上這些因素會導致設備的成本非常高昂。而高端的x86硬件,無論是主板、CPU還是網卡,均采用全球最頂級的工藝大規(guī)模批量生產,硬件質量很好。而且正是由于這些通用配件用途廣泛、銷量很大,因此市場價格相對合理。另一方面,通用架構的軟件開發(fā)工具和人才資源均非常豐富,可重復使用的軟件模塊很多,甚至多數是開源的。由于硬件系統(tǒng)的成熟穩(wěn)定、軟件系統(tǒng)應用非常廣泛,研制人員可以將大部分精力聚焦在創(chuàng)新的功能點上。這些因素使得產品的研發(fā)生產成本比較低。
總的來說,如果產品功能簡單,產量巨大,采用專用硬件架構,單臺設備的平均成本會比較低。如果產品功能復雜或功能經常變化、產量不太大,采用x86通用硬件架構的成本優(yōu)勢將非常明顯。
(5)產業(yè)鏈整合
采用專有架構研發(fā)生產網絡設備,由于投入巨大,中小規(guī)模的企業(yè)基本無力支持,話語權被全球少數幾家大型的電信設備制造商掌控。這些大型電信設備制造商的軟硬件產品互不兼容,其體系架構和多年積累的軟硬件研發(fā)資源也絕不可能向第三方廠商開放,這種封閉性導致近10年來,網絡領域并沒有太多的創(chuàng)新,形成了目前這種寡頭壟斷的局面。這是網絡領域的創(chuàng)新遠遠落后于互聯(lián)網領域的根本原因。
而采用x86+Linux架構研發(fā)生產網絡設備,原型機就是普通的PC機,硬件門檻極低。硬件穩(wěn)定可靠,開發(fā)者不用耗費大量財力和精力控制硬件品質。軟件資源更加豐富,甚至有大量開源代碼可以使用。研發(fā)人員人才資源豐富,能大幅減少學習、培訓的過程。小型電信設備制造商可以用少而精的人員實現在專用架構上需要很多人才能完成的集成產品開發(fā),實際上是整合利用了x86和Linux產業(yè)鏈與大型設備制造商競爭,未必會處于劣勢。
雖然前面介紹過在x86+Linux架構上研發(fā)和生產網絡設備的周期較短、成本較低,但是并不等于難度很低。只有將硬件的潛在能力都發(fā)揮出來,才能將網絡性能提升到線速水平。標準版本的操作系統(tǒng)、網絡驅動程序、IP協(xié)議棧都無法支持這種需求。為發(fā)揮出硬件的極致性能,必須對整個軟件系統(tǒng)的多個方面做針對性的優(yōu)化才能達到目標。如果每個在x86+Linux架構上研發(fā)不同應用的開發(fā)者都依靠自身的力量做軟件系統(tǒng)全方位的優(yōu)化,難度也是難以想象的,肯定會導致研發(fā)周期漫長且不可控。有需求就會產生供應,目前,全球已有多家公司在基于x86通用架構上實現了高性能的數據面處理能力。
美國的WindRiver、法國的6Wind是在Intel DPDK(Intel data plane development kit,數據平面開發(fā)套件)的基礎上實現高性能數據面處理。以色列的Silicom有一套自有的數據面開發(fā)套件DNA。中國武漢的GreeNet也有一套具有完全自主知識產權的GN CUBE開發(fā)平臺,這套平臺從操作系統(tǒng)內核、高性能數據面開發(fā)工具、應用程序開發(fā)庫、互聯(lián)網協(xié)議識別庫、數據庫甚至用戶界面開發(fā)平臺均包含在其中。開發(fā)者只需要專注業(yè)務邏輯,即可在x86硬件架構中快速地開發(fā)出高性能、成熟穩(wěn)定的特種網絡設備。
GN CUBE包含全套6個組件:
·GNOS高性能網絡處理系統(tǒng);
·GN Net高性能網絡包處理引擎系統(tǒng);
·GN Lib高性能網絡應用程序開發(fā)工具分組軟件;
·GN PROTO網絡應用協(xié)議識別引擎系統(tǒng);
·GN Cloud分布式云計算數據挖掘系統(tǒng);
·GN WebOS富客戶端用戶界面展示平臺系統(tǒng)。
GN CUBE中應用了幾種關鍵的優(yōu)化技術:“零拷貝”技術優(yōu)化網絡數據處理流程,減少操作系統(tǒng)的介入和內存拷貝任務,提高CPU效率,大大提升了系統(tǒng)吞吐量;“策略映射技術”通過面向對象設計的方法和非線性算法實現網絡設備的策略規(guī)則數不受限制,大大提升系統(tǒng)性能;“QFIFO優(yōu)先隊列調度技術”根據優(yōu)先級對優(yōu)先隊列進行調度;“饑餓等待優(yōu)先權反轉”算法可以保證不會讓低優(yōu)先級隊列永遠無法調度。
采用GN CUBE平臺開發(fā)出的網絡設備,使用兩顆Intel SandyBridge架構的至強2660 CPU,能夠達到40 Gbit/s、10 Mbit/s的應用層分析轉發(fā)性能。網絡端口密度也非常高,能夠在一臺2U規(guī)格的設備中,提供32個10GE端口或最高64個GE端口。強勁的性能和豐富而高密度的網絡端口使得x86架構的網絡設備完全可以媲美采用專用架構的網絡設備。
無論是實現IPv6網關還是SDN交換機,都非常適合采用x86架構實現。CPU性能和硬件系統(tǒng)總線的帶寬將不斷提升,預計2013年下半年,x86架構的至強CPU可支持80 Gbit/s的網絡處理性能,可以滿足單條40GE鏈路雙向線速處理。預計到2015年,很可能可以支持200 Gbit/s,單條100GE鏈路雙向線速處理。
符合SDN理念的設備應用場景會越來越廣泛,是當前最有可能應用SDN的場景將是IDC,而企業(yè)網、接入網、甚至移動核心網也都有可能。在一臺x86設備上虛擬出多臺原本多種不同用途的設備,從而整合多個功能到一臺設備,并保持功能的相對獨立性,也是未來網絡設備一種非常可能的發(fā)展趨勢。通過虛擬化技術,運營商可以將生產網絡和試驗網絡區(qū)分成不同的片區(qū),既可以資源動態(tài)調配,也能做到互相隔離,試驗不影響生產,這也是SDN的重要特點,這一特點將非常有利于運營商業(yè)務模式的創(chuàng)新。
x86通用架構克服了性能、穩(wěn)定性和成本等問題,又恰逢SDN開放架構這個顛覆性的理念漫延全球網絡界,預計未來幾年會大量出現新興的網絡設備制造商挑戰(zhàn)大型設備制造商的局面。當前也出現大型云計算服務供應商自行定制網絡設備、自行規(guī)劃最適合自己的網絡設備,不受制于大型設備供應商的情況,這種趨勢也許會成為未來的主流??傊N近可由用戶定制的網絡設備將逐步風靡。
以軟件方式定義網絡,必將推動網絡產業(yè)發(fā)生天翻地覆的變化。
1 McKeown N,Anderson T,Balakrishnan H,et al.OpenFlow:enabling innovation in campus networks.SIGCOMM Comput Commun,2008,38(2):69~74
2 OpenFlow Consortium.OpenFlow Switch specification V1.0,2009
3 葉志鋼,劉鋒.十年磨一劍:鑄造魔方平臺,構建輕松網絡.http://www.greenet.net.cn/plus/cubeplatform/sdnxw.html,2012