網(wǎng)絡(luò)設(shè)備的硬件內(nèi)部一般由CPU、內(nèi)存、Flash、轉(zhuǎn)發(fā)芯片、FPGA、EEPROM等芯片組成,這些大部分都是可編程芯片,可有沒(méi)有人注意到其實(shí)轉(zhuǎn)發(fā)芯片絕大部分都不是可編程芯片,無(wú)論是路由器中采用的NP,還是交換機(jī)中采用的Switch Chip,都不是可編程芯片。這些芯片的硬件轉(zhuǎn)發(fā)邏輯已經(jīng)設(shè)計(jì)好,無(wú)法通過(guò)調(diào)整軟件參數(shù)去更改,軟件設(shè)置的只是讓這些功能模塊可以運(yùn)轉(zhuǎn)起來(lái),但絕不可以調(diào)整它們的處理順序,而且軟件設(shè)置的范圍都是提前預(yù)定好的。比如我們需要在交換機(jī)上實(shí)現(xiàn)入方向上的報(bào)文過(guò)濾,這樣就需要在轉(zhuǎn)發(fā)芯片入方向下發(fā)一些ACL過(guò)濾規(guī)則。在一些商用轉(zhuǎn)發(fā)芯片上,這些ACL過(guò)濾規(guī)則固定下發(fā)在轉(zhuǎn)發(fā)模塊之后,如果進(jìn)入芯片的是三層轉(zhuǎn)發(fā)流量,此時(shí)下發(fā)的ACL過(guò)濾規(guī)則匹配的就是三層轉(zhuǎn)發(fā)之后的報(bào)文,此時(shí)報(bào)文MAC已經(jīng)發(fā)生了替換,下發(fā)的ACL規(guī)則只能匹配轉(zhuǎn)發(fā)之后的報(bào)文特征,這就是不能可編程實(shí)現(xiàn)的局限性。一個(gè)報(bào)文進(jìn)入轉(zhuǎn)發(fā)芯片,從入端口檢查,到查找轉(zhuǎn)發(fā)表項(xiàng),再到出口,這中間要經(jīng)過(guò)幾十個(gè)功能模塊的處理,有修改報(bào)文優(yōu)先級(jí)的,有修改報(bào)文VLAN TAG的,有做隊(duì)列調(diào)度的,有做路由策略的等等,這些功能模塊都是按照固定順序來(lái)對(duì)報(bào)文處理的,靈活性比較差,常常會(huì)遇到不少實(shí)現(xiàn)上的限制,若能實(shí)現(xiàn)網(wǎng)絡(luò)芯片可編程將可以很好解決這些問(wèn)題。
當(dāng)然,網(wǎng)絡(luò)芯片和其它芯片不同,芯片要承擔(dān)大量的數(shù)據(jù)流量轉(zhuǎn)發(fā),這些數(shù)據(jù)遠(yuǎn)遠(yuǎn)大于CPU、內(nèi)存以及Flash這些器件的數(shù)據(jù),這就要求芯片硬件處理邏輯要盡可能地簡(jiǎn)單,否則轉(zhuǎn)發(fā)效率都成問(wèn)題,延遲是網(wǎng)絡(luò)設(shè)備一個(gè)重要的考核指標(biāo),這使得網(wǎng)絡(luò)芯片要盡可能做到簡(jiǎn)單。使用者只要做選擇就可以,將參數(shù)輸入芯片,芯片就可以按照制定的數(shù)據(jù)來(lái)轉(zhuǎn)發(fā),所以多年以來(lái),轉(zhuǎn)發(fā)芯片都是不能編程的,網(wǎng)絡(luò)發(fā)展也好好的。隨著云計(jì)算、大數(shù)據(jù)和虛擬化技術(shù)的出現(xiàn),這給網(wǎng)絡(luò)帶來(lái)的沖擊是最大的,網(wǎng)絡(luò)固定的轉(zhuǎn)發(fā)模式無(wú)法適應(yīng)這些年新技術(shù)的應(yīng)用,在這些新技術(shù)面前,網(wǎng)絡(luò)部分顯得相形見(jiàn)絀,是到了該要改變的時(shí)刻了。
三年前,一家專(zhuān)做SDN芯片的公司成立,叫Barefoot Networks,Barefoot Networks從事開(kāi)源可編程網(wǎng)絡(luò)芯片的設(shè)計(jì)和研究,Barefoot Networks的芯片Tofino是一種可編程芯片,可實(shí)現(xiàn)高達(dá)6.5 Tbps處理速度,用戶(hù)或網(wǎng)絡(luò)供應(yīng)商可以利用P4編程語(yǔ)言來(lái)定制白盒解決方案或固定配置產(chǎn)品,這樣用戶(hù)可以在數(shù)周內(nèi)部署新協(xié)議,而不需要新版本的芯片來(lái)支持,具有極大的靈活性?,F(xiàn)在很多網(wǎng)絡(luò)需求,聽(tīng)到最多的就是芯片限制實(shí)現(xiàn)不了,只能換更高級(jí)的芯片設(shè)備,有了可編程芯片的設(shè)備就不同了,可以根據(jù)客戶(hù)需求,通過(guò)軟件對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行重新設(shè)計(jì)都可以實(shí)現(xiàn),不用再去更換硬件,刷新軟件就可以解決。今年6月,Broadcom也發(fā)布了可編程網(wǎng)絡(luò)商用芯片Trident 3系列,雖然處理速度只有Tofino的一半3.2Tbps,但Broadcom控制了整個(gè)網(wǎng)絡(luò)芯片市場(chǎng)的90%左右,其壟斷地位決定了Trident 3芯片一定會(huì)得到很多使用者的追捧,網(wǎng)絡(luò)設(shè)備進(jìn)入了可編程時(shí)代?,F(xiàn)在的網(wǎng)絡(luò)設(shè)備,快和手機(jī)行業(yè)一樣了,使用三年基本就不能再滿(mǎn)足業(yè)務(wù)發(fā)展需要了,使用五年基本成古董了,這給數(shù)據(jù)中心帶來(lái)了很大成本壓力,數(shù)據(jù)中心要不斷增加設(shè)備采購(gòu),同時(shí)淘汰更多的老舊設(shè)備,說(shuō)是老舊也不過(guò)就兩三年。如果網(wǎng)絡(luò)設(shè)備具有可編程性,就可以通過(guò)重新編程來(lái)滿(mǎn)足未來(lái)需求,同時(shí)繼續(xù)大力降低網(wǎng)絡(luò)設(shè)備使用的成本和功耗。
由此可見(jiàn),網(wǎng)絡(luò)芯片進(jìn)入了可編程時(shí)代,這就增強(qiáng)網(wǎng)絡(luò)部分的靈活性,更加適應(yīng)未來(lái)業(yè)務(wù)發(fā)展需要。這種可編程能力與軟件定義SDN還有些區(qū)別,可編程能力指的是通過(guò)基于腳本的編程靈活實(shí)現(xiàn)各種網(wǎng)絡(luò)協(xié)議功能,SDN則是通過(guò)控制器向網(wǎng)絡(luò)設(shè)備下發(fā)轉(zhuǎn)發(fā)流表,實(shí)現(xiàn)流量轉(zhuǎn)發(fā),流表實(shí)現(xiàn)只是網(wǎng)絡(luò)設(shè)備功能的一部分,網(wǎng)絡(luò)設(shè)備還有ACL過(guò)濾、路由策略、修改報(bào)文內(nèi)容、隊(duì)列調(diào)度等豐富的網(wǎng)絡(luò)功能,這些通過(guò)SDN都無(wú)法實(shí)現(xiàn),通過(guò)可編程技術(shù)則可以很好實(shí)現(xiàn)。未來(lái),若是某項(xiàng)網(wǎng)絡(luò)功能滿(mǎn)足不了,又說(shuō)是芯片限制,就要考慮下這個(gè)說(shuō)法的真實(shí)性了,芯片的可編程能力極大地?cái)U(kuò)展了網(wǎng)絡(luò)處理的靈活性,可適應(yīng)各種復(fù)雜網(wǎng)絡(luò)場(chǎng)景的應(yīng)用,即便有限制也會(huì)很少。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net原創(chuàng),轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。