網絡是數據中心里的交通樞紐,連接著所有運行應用業務的設備。沒有網絡,也就沒有數據中心,沒有互聯網的今天,網絡在數據中心里發揮著非常關鍵的作用,所以網絡技術一直是熱點,在不斷發展進化著,其中就包含可編程技術。可編程技術在各行各業中都有廣泛應用,同樣在網絡世界里也很普遍。這種技術在芯片上實現各硬件單元都不是固定的,可由用戶在使用中選擇,即通過計算機指令來選擇不同的通道和不同的電路功能,稱為編程控制,這給使用者提供了極大的靈活性。比如:處理器、FPGA、CPLD、DSP,這四種都是可編程芯片。其中處理器是個大類,包含各種位數的單片機、電腦的CPU、以及ARM的一系列手機用芯片,還有復合芯片,比如一些是單片機+無線功能的芯片,如帶單片機內核中的藍牙芯片。一些可簡單編程芯片,比如時鐘芯片,你可以設置它到特定時間點時某個管腳電平高低,或者是數字溫度芯片輸出溫度格式以華氏度輸出,這些芯片在網絡設備中應用很廣,網絡設備的CPU處理器可以實現各種復雜的網絡協議處理,FPGA可以將轉發表項擴展到很大,滿足高規格的網絡環境使用,網絡設備通過這些可編程芯片,實現了很多特殊網絡流量的轉發。
網絡設備的硬件內部一般由CPU、內存、Flash、轉發芯片、FPGA、EEPROM等芯片組成,這些大部分都是可編程芯片,可有沒有人注意到其實轉發芯片絕大部分都不是可編程芯片,無論是路由器中采用的NP,還是交換機中采用的Switch Chip,都不是可編程芯片。這些芯片的硬件轉發邏輯已經設計好,無法通過調整軟件參數去更改,軟件設置的只是讓這些功能模塊可以運轉起來,但絕不可以調整它們的處理順序,而且軟件設置的范圍都是提前預定好的。比如我們需要在交換機上實現入方向上的報文過濾,這樣就需要在轉發芯片入方向下發一些ACL過濾規則。在一些商用轉發芯片上,這些ACL過濾規則固定下發在轉發模塊之后,如果進入芯片的是三層轉發流量,此時下發的ACL過濾規則匹配的就是三層轉發之后的報文,此時報文MAC已經發生了替換,下發的ACL規則只能匹配轉發之后的報文特征,這就是不能可編程實現的局限性。一個報文進入轉發芯片,從入端口檢查,到查找轉發表項,再到出口,這中間要經過幾十個功能模塊的處理,有修改報文優先級的,有修改報文VLAN TAG的,有做隊列調度的,有做路由策略的等等,這些功能模塊都是按照固定順序來對報文處理的,靈活性比較差,常常會遇到不少實現上的限制,若能實現網絡芯片可編程將可以很好解決這些問題。
當然,網絡芯片和其它芯片不同,芯片要承擔大量的數據流量轉發,這些數據遠遠大于CPU、內存以及Flash這些器件的數據,這就要求芯片硬件處理邏輯要盡可能地簡單,否則轉發效率都成問題,延遲是網絡設備一個重要的考核指標,這使得網絡芯片要盡可能做到簡單。使用者只要做選擇就可以,將參數輸入芯片,芯片就可以按照制定的數據來轉發,所以多年以來,轉發芯片都是不能編程的,網絡發展也好好的。隨著云計算、大數據和虛擬化技術的出現,這給網絡帶來的沖擊是最大的,網絡固定的轉發模式無法適應這些年新技術的應用,在這些新技術面前,網絡部分顯得相形見絀,是到了該要改變的時刻了。
三年前,一家專做SDN芯片的公司成立,叫Barefoot Networks,Barefoot Networks從事開源可編程網絡芯片的設計和研究,Barefoot Networks的芯片Tofino是一種可編程芯片,可實現高達6.5 Tbps處理速度,用戶或網絡供應商可以利用P4編程語言來定制白盒解決方案或固定配置產品,這樣用戶可以在數周內部署新協議,而不需要新版本的芯片來支持,具有極大的靈活性。現在很多網絡需求,聽到最多的就是芯片限制實現不了,只能換更高級的芯片設備,有了可編程芯片的設備就不同了,可以根據客戶需求,通過軟件對網絡設備進行重新設計都可以實現,不用再去更換硬件,刷新軟件就可以解決。今年6月,Broadcom也發布了可編程網絡商用芯片Trident 3系列,雖然處理速度只有Tofino的一半3.2Tbps,但Broadcom控制了整個網絡芯片市場的90%左右,其壟斷地位決定了Trident 3芯片一定會得到很多使用者的追捧,網絡設備進入了可編程時代。現在的網絡設備,快和手機行業一樣了,使用三年基本就不能再滿足業務發展需要了,使用五年基本成古董了,這給數據中心帶來了很大成本壓力,數據中心要不斷增加設備采購,同時淘汰更多的老舊設備,說是老舊也不過就兩三年。如果網絡設備具有可編程性,就可以通過重新編程來滿足未來需求,同時繼續大力降低網絡設備使用的成本和功耗。
由此可見,網絡芯片進入了可編程時代,這就增強網絡部分的靈活性,更加適應未來業務發展需要。這種可編程能力與軟件定義SDN還有些區別,可編程能力指的是通過基于腳本的編程靈活實現各種網絡協議功能,SDN則是通過控制器向網絡設備下發轉發流表,實現流量轉發,流表實現只是網絡設備功能的一部分,網絡設備還有ACL過濾、路由策略、修改報文內容、隊列調度等豐富的網絡功能,這些通過SDN都無法實現,通過可編程技術則可以很好實現。未來,若是某項網絡功能滿足不了,又說是芯片限制,就要考慮下這個說法的真實性了,芯片的可編程能力極大地擴展了網絡處理的靈活性,可適應各種復雜網絡場景的應用,即便有限制也會很少。
版權聲明:本文為企業網D1Net原創,轉載需注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。