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

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