0731-84728105
15116127200
OpenBox網絡全功能(néng)可編程平台:工(gōng)欲善其事(shì),必先利其器(qì)!
發布時間:2021-03-09
阿基米德說:“給我一(yī)個(gè)杠杆我能(néng)翹起整個(gè)地球!”
我覺得:“給我一(yī)台OpenBox設備我能(néng)改變整個(gè)網絡!”
牛皮吹大了,肯定會(huì)破。但牛皮吹多(duō)了,肯定會(huì)信。不管是自(zì)己還(hái)是别人!
     FAST是一(yī)個(gè)與平台無關的開(kāi)源架構,根據FAST原理和規範實現的CPU + FPGA 異構網絡設備形态都屬于FAST平台。點擊此處了解FAST——開(kāi)源、開(kāi)放(fàng)、高(gāo)速、高(gāo)效。
     OpenBox是湖(hú)南(nán)新實全力打造的一(yī)款面向計算(suàn)機(jī)網絡實驗科研與教學平台設備的品牌型号,是基于FAST架構實現的一(yī)種支持軟硬件(jiàn)全功能(néng)編程的網絡實驗開(kāi)發平台。物(wù)如其名,其設備外觀如白(bái)色,盒狀;小(xiǎo)巧,精緻;氣質樸素,純潔。其系統結構為(wèi)典型的多(duō)核CPU+FPGA異構形式,輔以一(yī)個(gè)控制平台以太網接口和4個(gè)數據平台以太網接口。系統搭建遵循FAST架構規範,在多(duō)核CPU軟件(jiàn)側運行普通(tōng)Linux系統、通(tōng)用SOCKET應用、FAST軟件(jiàn)開(kāi)發環境和FAST應用。在FPGA硬件(jiàn)側運行平台相(xiàng)關FPGA OS邏輯和用戶模塊邏輯。軟件(jiàn)使用C語言編程,硬件(jiàn)使用Verilog語言編程。OpenBox也本著(zhe)開(kāi)源、開(kāi)放(fàng)、高(gāo)速和高(gāo)效的原則為(wèi)國(guó)内外近百家高(gāo)校和科研院所提供平台定制、功能(néng)定制、協議定制、案例定制和全方位的使用培訓、開(kāi)發服務等功能(néng)。
軟件(jiàn)也編程,硬件(jiàn)也編程,軟硬都可以編程。如果您不想編程,這平台可能(néng)不适合您折騰。建議您換個(gè)頻道試試?我就(jiù)想打造一(yī)個(gè)完全服從(cóng)自(zì)己的網絡世界,這才是真正的定義網絡。
     一(yī)台OpenBox設備就(jiù)是一(yī)個(gè)完整的支持軟硬件(jiàn)全功能(néng)編程的網絡實驗平台,平台提供了軟硬件(jiàn)二開(kāi)發環境和大量應用開(kāi)發案例,用戶可以在上(shàng)面進行軟硬件(jiàn)任何位置的編程開(kāi)發。
     一(yī)台OpenBox設備就(jiù)能(néng)改變整個(gè)網絡?這個(gè)牛皮顯然是吹大了,但還(hái)不緻于會(huì)破。怎麽做?我們絕對不會(huì)。下(xià)面說點我們平台會(huì)的。
     1,編程語言
     OpenBox設備是一(yī)台小(xiǎo)型嵌入式主機(jī),擁有完整的操作系統和相(xiàng)關外設。其操作系統已經升級到(dào)ubuntu版本,開(kāi)源庫中支持的開(kāi)發語言基本上(shàng)都可以在該平台使用。如C、C++、shell、perl、Python等等。
     2,嵌入式開(kāi)發
     我本是個(gè)嵌入式主機(jī),在我上(shàng)面做的開(kāi)發當然是嵌入式的開(kāi)發,還(hái)包括驅動移植等,如網絡驅動、GPIO、UART等等。
     3,網絡服務搭建
     apt-get install something。直接搭建和配置你想要的服務器(qì)。如FTP服務器(qì)、NFS服務器(qì)、HTTP服務器(qì)和DHCP服務器(qì)等等。
     4,網絡協議編程
     A. 系統命令或工(gōng)具:arp、route、ping、ftp、curl、iperf和tcpdump等。通(tōng)過系統命令或工(gōng)具産生(shēng)或接收指定協議的數據包;查看(kàn)并分析協議格式内容;通(tōng)過其修改網絡協議的數據内容或處理行為(wèi);
     B. 用戶态協議編程:使用libpcap和libnet兩個(gè)開(kāi)發庫實現網絡協議的ETH、ARP、IP、ICMP、TCP、UDP等協議内容的定義與構造,實現與對應網絡協議層次通(tōng)信。libpcap的分組獲取方式是接口所有流量送到(dào)CPU,通(tōng)過libpcap的内核過濾器(qì)篩選後轉發用戶态處理;
     C. 用戶态協議FAST編程:基于FAST軟件(jiàn)開(kāi)發環境與編程接口,實現對網絡分組數據的硬件(jiàn)篩選,截取分派到(dào)指定軟件(jiàn)應用編程處理,用戶可以自(zì)定義其輸出格式内容與轉發端口控制(單播、多(duō)播或組播)。分組内容包含完整以太網幀,支持各層級完整協議解析與重組,且隻從(cóng)硬件(jiàn)提取用戶關心的小(xiǎo)部分特征分組流送用戶态處理。如實現用戶态ARP功能(néng)應用、用戶态PING功能(néng)應用和用戶态DNS防禦功能(néng)等。收發任意用戶自(zì)定義網絡分組數據幀格式都可以,也就(jiù)是說從(cóng)二層自(zì)定義、三層自(zì)定義到(dào)其他任何分組協議層的定義内容均可以;
     D. 内核态協議編程:實現諸如ARP内核模塊、ICMP内核模塊功能(néng),類IP層模塊、類UDP模塊。在内核插入一(yī)個(gè)能(néng)處理ARP協議的模塊,添加一(yī)個(gè)類似IP層協議功能(néng)的模塊(處理以太網幀類型為(wèi)自(zì)己定義的内核模塊),添加一(yī)個(gè)類似UDP層協議功能(néng)模塊(處理IP層協議字段為(wèi)自(zì)己定義的内核模塊)。
     5,網絡原型系統
     軟件(jiàn)二層交換機(jī):根據二層交換原理,僅使用FAST用戶态API接口編程,設計與實現一(yī)個(gè)二層以太網交換機(jī)原型系統,支持多(duō)端口分組數據交換功能(néng),實現基本的單播與廣播功能(néng),支持MAC轉發表老化;
     硬件(jiàn)二層交換機(jī):将軟件(jiàn)二層交換的學習與老化功能(néng)留在CPU軟件(jiàn)端處理,學習好MAC表後,配置到(dào)硬件(jiàn)FPAG的轉發流表中,實現在硬件(jiàn)完成分組解析、MAC查表與輸出轉發功能(néng);
     軟件(jiàn)三層路(lù)由器(qì):根據三層路(lù)由原理,基于FAST設計與實現一(yī)個(gè)路(lù)由器(qì)原型系統,實現設備接口的ARP請求與響應功能(néng)、分組三層解析與修改、FIB查表和二層替換等功能(néng)。支持控制平面(轉交協議棧)與數據平面分開(kāi)處理,實現基本的路(lù)由轉發功能(néng);
     硬件(jiàn)三層路(lù)由器(qì):将軟件(jiàn)三層路(lù)由器(qì)的控制平台留在CPU軟件(jiàn)端處理,并安裝Quagga路(lù)由學習軟件(jiàn),将路(lù)由學習的FIB表及鄰接表内容更新到(dào)硬件(jiàn)FPGA的相(xiàng)關表項,實現路(lù)由器(qì)的數據平面完全硬件(jiàn)卸載處理;
     軟件(jiàn)SDN交換機(jī):根據OpenFlow協議1.3版本實現一(yī)個(gè)精簡的SDN交換機(jī),協議通(tōng)道支持與Floodlight控制器(qì)互聯,數據平面支持IPv4和IPv6的分組匹配和轉發功能(néng);
     高(gāo)精度硬件(jiàn)測量:由軟件(jiàn)構造測量報(bào)文并配置測量報(bào)文的發送時間及間隔,然後提交給硬件(jiàn)發送,硬件(jiàn)發送成功後可獲取每個(gè)報(bào)文的硬件(jiàn)輸出時間。再等待測量報(bào)文返回,在接口标記其硬件(jiàn)輸入時間後轉發給測量軟件(jiàn)。最後由軟件(jiàn)計算(suàn)測量數據。由于測量數據均由硬件(jiàn)控制,其時間精度可達到(dào)ns級别。發包間隔設置為(wèi)固定長(cháng)度,可在對端網絡測量網絡抖動,間隔設置為(wèi)零,則可以測量網絡的實時帶寬;
     硬件(jiàn)SDN交換機(jī):将OpenFlow的協議通(tōng)道留在CPU軟件(jiàn)端完成,實現同步控制器(qì)下(xià)發的FLOW_MOD消息内容到(dào)硬件(jiàn)FPGA的轉發流表,在硬件(jiàn)完成分組的解析、查表和執行動作等功能(néng);
     SDN拓撲測量:根據LLDP協議和BBDP協議測量純SDN網絡環境與跨SDN網絡環境的拓撲。支持用戶自(zì)定義拓撲探測協議數據的分發與采集;
     基于OVS的SDN交換機(jī):軟件(jiàn)運行OVS,并将OVS的内核快速路(lù)徑流表卸載到(dào)硬件(jiàn)FPGA邏輯中,軟件(jiàn)實現OVS流表與硬件(jiàn)流表同步更新。
     軟件(jiàn)LISP路(lù)由器(qì):根據LISP工(gōng)作原理,在軟件(jiàn)三層路(lù)由器(qì)基礎上(shàng)增加對LISP功能(néng)的支持,每個(gè)RLOC節點啓動後均自(zì)動與MS/MP注冊,獲取全網RLOC與EID的映射信息。支持各RLOC下(xià)任意EID節點之間互聯互通(tōng);
     軟件(jiàn)段路(lù)由:根據段路(lù)由(segment routing,SR)工(gōng)作原理,在軟件(jiàn)三層路(lù)由器(qì)基礎上(shàng)增加對段路(lù)由功能(néng)支持,支持用戶在路(lù)由實驗網中任意配置分段跳轉路(lù)由功能(néng);
     軟件(jiàn)網絡編碼路(lù)由(暫未開(kāi)源):感興趣的朋友(yǒu)可上(shàng)網搜索網絡編碼路(lù)由相(xiàng)關資料;
     時間敏感網絡系統(暫未開(kāi)源):包含時間敏感網絡交換機(jī)與主機(jī)節點,各節點之間可動态靈活組網,時間同步自(zì)動完成。節點支持SDN流表轉發配置,輸出端口支持8個(gè)TT隊列,可将一(yī)條流在不同交換節點映射到(dào)不同優先級隊列調度輸出。隊列調度支持Qbv,可配置多(duō)種調度模式使用。主機(jī)節點加載高(gāo)實時操作系統及實時驅動與協議棧,與交換機(jī)時間同步、調度同步。
     1,技(jì)術(shù)支撐與培訓
     平台提供免費(fèi)的軟硬件(jiàn)源碼、開(kāi)發環境、示例應用源碼及相(xiàng)關文檔。面向項目組建專屬服務微信群,提供免費(fèi)培訓,講解和剖析平台原理構架、實現方法、開(kāi)發流程和調測試步驟。免費(fèi)為(wèi)用戶提供設計、開(kāi)發指導及關鍵技(jì)術(shù)快速實現與測試驗證。
     2,專屬定制服務
     A. 系統架構:CPU可選:Intel、飛(fēi)騰和龍芯;FPGA可選:Inetl、Xilinx和國(guó)産型号;
     B. PCB器(qì)件(jiàn):部分解決方案器(qì)件(jiàn)可實現全國(guó)産化;
     C. 設備外形:網卡、闆卡模塊、獨立1U/2U機(jī)箱、ATCA或VPX等;
     D. 設備接口:網口支持1G、10G、40G和100G,串口(或轉RJ45)、USB口、JTAG調試口;
     E. 操作系統:開(kāi)源Linux或國(guó)産Linux;
     F. 内核模塊及應用:PCIe驅動、以太網驅動、協議棧内核模塊、協議棧用戶模塊和協議應用;
     G. 原型系統:交換、路(lù)由、SDN、TSN,根據用戶需求定制開(kāi)發;
     H .硬件(jiàn)卸載加速:高(gāo)精度測量、TOE、根據用戶需求定制開(kāi)發。
     OpenBox平台為(wèi)您提供了可以在網絡分組各個(gè)層次對分組數據進行解析、處理、封裝和自(zì)定義的能(néng)力,允許用戶在硬件(jiàn)FPAG、軟件(jiàn)内核态和用戶态各環境下(xià)面處理和定義分組數據。同時還(hái)允許分組數據在軟件(jiàn)、内核、用戶态自(zì)由靈活循環分派、處理和轉發。總有一(yī)個(gè)層次是适合您設計的,總有一(yī)個(gè)環境是适合您去開(kāi)發的,總有一(yī)條分組處理流水(shuǐ)線是可以滿足您業(yè)務或創新需求的。
     OpenBox平台助力您在網絡學習、競賽、教學和科研各領域的原理驗證與創新設計中迅速領跑、高(gāo)速騰飛(fēi)和極速穿越。
     未來網絡因您的設計而變得更加美好!
      FAST官網:www.fastswitch.org
      湖(hú)南(nán)新實網絡官網:www.xperis.com.cn

關注FAST開(kāi)源社區
FAST一(yī)一(yī)開(kāi)源、開(kāi)放(fàng)、高(gāo)速、高(gāo)效、可編程、可定義!軟硬件(jiàn)協同并行處理。