OpenBox网络全功能可编程平台:工欲善其事,必先利其器!

阿基米德说:“给我一个杠杆我能翘起整个地球!”

我觉得:“给我一台OpenBox设备我能改变整个网络!”

牛皮吹大了,肯定会破。但牛皮吹多了,肯定会信。不管是自己还是别人!

一、设备简介

FAST是一个与平台无关的开源架构,根据FAST原理和规范实现的CPU + FPGA 异构网络设备形态都属于FAST平台。点击此处了解FAST——开源、开放、高速、高效。

OpenBox是湖南新实全力打造的一款面向计算机网络实验科研与教学平台设备的品牌型号,是基于FAST架构实现的一种支持软硬件全功能编程的网络实验开发平台。物如其名,其设备外观如白色,盒状;小巧,精致;气质朴素,纯洁。其系统结构为典型的多核CPU+FPGA异构形式,辅以一个控制平台以太网接口和4个数据平台以太网接口。系统搭建遵循FAST架构规范,在多核CPU软件侧运行普通Linux系统、通用SOCKET应用、FAST软件开发环境和FAST应用。在FPGA硬件侧运行平台相关FPGA OS逻辑和用户模块逻辑。软件使用C语言编程,硬件使用Verilog语言编程。OpenBox也本着开源、开放、高速和高效的原则为国内外近百家高校和科研院所提供平台定制、功能定制、协议定制、案例定制和全方位的使用培训、开发服务等功能。

软件也编程,硬件也编程,软硬都可以编程。如果您不想编程,这平台可能不适合您折腾。建议您换个频道试试?我就想打造一个完全服从自己的网络世界,这才是真正的定义网络。

一台OpenBox设备就是一个完整的支持软硬件全功能编程的网络实验平台,平台提供了软硬件二开发环境和大量应用开发案例,用户可以在上面进行软硬件任何位置的编程开发。

一台OpenBox设备就能改变整个网络?这个牛皮显然是吹大了,但还不致于会破。怎么做?我们绝对不会。下面说点我们平台会的。

二、设备功能

1,编程语言

OpenBox设备是一台小型嵌入式主机,拥有完整的操作系统和相关外设。其操作系统已经升级到ubuntu版本,开源库中支持的开发语言基本上都可以在该平台使用。如C、C++、shell、perl、Python等等。

2,嵌入式开发

我本是个嵌入式主机,在我上面做的开发当然是嵌入式的开发,还包括驱动移植等,如网络驱动、GPIO、UART等等。

3,网络服务搭建

apt-get install something。直接搭建和配置你想要的服务器。如FTP服务器、NFS服务器、HTTP服务器和DHCP服务器等等。

4,网络协议编程

  1. 系统命令或工具:arp、route、ping、ftp、curl、iperf和tcpdump等。通过系统命令或工具产生或接收指定协议的数据包;查看并分析协议格式内容;通过其修改网络协议的数据内容或处理行为;

  2. 用户态协议编程:使用libpcap和libnet两个开发库实现网络协议的ETH、ARP、IP、ICMP、TCP、UDP等协议内容的定义与构造,实现与对应网络协议层次通信。libpcap的分组获取方式是接口所有流量送到CPU,通过libpcap的内核过滤器筛选后转发用户态处理;

  3. 用户态协议FAST编程:基于FAST软件开发环境与编程接口,实现对网络分组数据的硬件筛选,截取分派到指定软件应用编程处理,用户可以自定义其输出格式内容与转发端口控制(单播、多播或组播)。分组内容包含完整以太网帧,支持各层级完整协议解析与重组,且只从硬件提取用户关心的小部分特征分组流送用户态处理。如实现用户态ARP功能应用、用户态PING功能应用和用户态DNS防御功能等。收发任意用户自定义网络分组数据帧格式都可以,也就是说从二层自定义、三层自定义到其他任何分组协议层的定义内容均可以;

  4. 内核态协议编程:实现诸如ARP内核模块、ICMP内核模块功能,类IP层模块、类UDP模块。在内核插入一个能处理ARP协议的模块,添加一个类似IP层协议功能的模块(处理以太网帧类型为自己定义的内核模块),添加一个类似UDP层协议功能模块(处理IP层协议字段为自己定义的内核模块)。

5,网络原型系统

  1. 软件二层交换机:根据二层交换原理,仅使用FAST用户态API接口编程,设计与实现一个二层以太网交换机原型系统,支持多端口分组数据交换功能,实现基本的单播与广播功能,支持MAC转发表老化;

  2. 硬件二层交换机:将软件二层交换的学习与老化功能留在CPU软件端处理,学习好MAC表后,配置到硬件FPAG的转发流表中,实现在硬件完成分组解析、MAC查表与输出转发功能;

  3. 软件三层路由器:根据三层路由原理,基于FAST设计与实现一个路由器原型系统,实现设备接口的ARP请求与响应功能、分组三层解析与修改、FIB查表和二层替换等功能。支持控制平面(转交协议栈)与数据平面分开处理,实现基本的路由转发功能;

  4. 硬件三层路由器:将软件三层路由器的控制平台留在CPU软件端处理,并安装Quagga路由学习软件,将路由学习的FIB表及邻接表内容更新到硬件FPGA的相关表项,实现路由器的数据平面完全硬件卸载处理;

  5. 软件SDN交换机:根据OpenFlow协议1.3版本实现一个精简的SDN交换机,协议通道支持与Floodlight控制器互联,数据平面支持IPv4和IPv6的分组匹配和转发功能;

  6. 高精度硬件测量:由软件构造测量报文并配置测量报文的发送时间及间隔,然后提交给硬件发送,硬件发送成功后可获取每个报文的硬件输出时间。再等待测量报文返回,在接口标记其硬件输入时间后转发给测量软件。最后由软件计算测量数据。由于测量数据均由硬件控制,其时间精度可达到ns级别。发包间隔设置为固定长度,可在对端网络测量网络抖动,间隔设置为零,则可以测量网络的实时带宽;

  7. 硬件SDN交换机:将OpenFlow的协议通道留在CPU软件端完成,实现同步控制器下发的FLOW_MOD消息内容到硬件FPGA的转发流表,在硬件完成分组的解析、查表和执行动作等功能;

  8. SDN拓扑测量:根据LLDP协议和BBDP协议测量纯SDN网络环境与跨SDN网络环境的拓扑。支持用户自定义拓扑探测协议数据的分发与采集;

  9. 基于OVS的SDN交换机:软件运行OVS,并将OVS的内核快速路径流表卸载到硬件FPGA逻辑中,软件实现OVS流表与硬件流表同步更新。

  10. 软件LISP路由器:根据LISP工作原理,在软件三层路由器基础上增加对LISP功能的支持,每个RLOC节点启动后均自动与MS/MP注册,获取全网RLOC与EID的映射信息。支持各RLOC下任意EID节点之间互联互通;

  11. 软件段路由:根据段路由(segment routing,SR)工作原理,在软件三层路由器基础上增加对段路由功能支持,支持用户在路由实验网中任意配置分段跳转路由功能;

  12. 软件网络编码路由(暂未开源:感兴趣的朋友可上网搜索网络编码路由相关资料;

  13. 时间敏感网络系统暂未开源:包含时间敏感网络交换机与主机节点,各节点之间可动态灵活组网,时间同步自动完成。节点支持SDN流表转发配置,输出端口支持8个TT队列,可将一条流在不同交换节点映射到不同优先级队列调度输出。队列调度支持Qbv,可配置多种调度模式使用。主机节点加载高实时操作系统及实时驱动与协议栈,与交换机时间同步、调度同步。

三、售后服务

1,技术支撑与培训

平台提供免费的软硬件源码、开发环境、示例应用源码及相关文档。面向项目组建专属服务微信群,提供免费培训,讲解和剖析平台原理构架、实现方法、开发流程和调测试步骤。免费为用户提供设计、开发指导及关键技术快速实现与测试验证。

2,专属定制服务

  1. 系统架构:CPU可选:Intel、飞腾和龙芯;FPGA可选:Inetl、Xilinx和国产型号;

  2. PCB器件:部分解决方案器件可实现全国产化;

  3. 设备外形:网卡、板卡模块、独立1U/2U机箱、ATCA或VPX等;

  4. 设备接口:网口支持1G、10G、40G和100G,串口(或转RJ45)、USB口、JTAG调试口;

  5. 操作系统:开源Linux或国产Linux;

  6. 内核模块及应用:PCIe驱动、以太网驱动、协议栈内核模块、协议栈用户模块和协议应用;

  7. 原型系统:交换、路由、SDN、TSN,根据用户需求定制开发;

  8. 硬件卸载加速:高精度测量、TOE、根据用户需求定制开发。

四、更多了解

OpenBox平台为您提供了可以在网络分组各个层次对分组数据进行解析、处理、封装和自定义的能力,允许用户在硬件FPAG、软件内核态和用户态各环境下面处理和定义分组数据。同时还允许分组数据在软件、内核、用户态自由灵活循环分派、处理和转发。总有一个层次是适合您设计的,总有一个环境是适合您去开发的,总有一条分组处理流水线是可以满足您业务或创新需求的。

OpenBox平台助力您在网络学习、竞赛、教学和科研各领域的原理验证与创新设计中迅速领跑、高速腾飞和极速穿越。

未来网络因您的设计而变得更加美好!
FAST官网:www.fastswitch.org。
湖南新实网络官网:www.xperis.com.cn。
FAST微信公众号:

图片
FAST公众号

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值