参考:

NetMagic Simple Overview

NetMagic 是什么?

NetMagic is a programmable hardware platform with many network interfaces based on FPGA, just like NetFPGA(www.netfpga.org).

NetMagic是一个基于FPGA的多网口可编程硬件平台,与NetFPGA类似。

为什么提出 NetMagic?

虽然NetFPGA很成功,但是有以下缺点:

  • NetFPGA不是一个100%的开源平台,没有专业的开发团队。

  • NetFPGA不是一个独立的、可拓展性好的网络设备,需要插入PC的PCI插槽才能工作。

  • NetFPGA的软件依赖于特定的操作系统,如果需要在其他的操作系统如Win7下开发需要安装特定的驱动。

NetMagic 主要特点

  • 是一台独立且拓展性良好的设备,为研究人员和学生的实验提供良好的支持;

  • 即插即用,就像是一台以太网交换机一样,无需为新的运行环境配置工具;

  • 开发人员能够在不同的OS环境下使用;

  • 便于软件和硬件的开发。

Platform Overview

  • NetMagic平台 = NetMagic BOX+外部主机

  • NetMagic Box是一个单纯的硬件设备

  • NetMagic Box仍然需要CPU的控制,但可以和CPU物理分离,这一次很彻底,所有控制功能在外部主机上完成

  • NMAC协议存在于NetMagic Box和外部主机之间

硬件方面只需关心UM的功能设计, 软件方面只需实现自己的控制程序:


(Graph: System Overview)

NMAC协议

NMAC: NetMagic Access Control protocol

  • 是一个自定义的协议,基于以太网传输控制命令

  • 基于LibNet和Libpcap开发,向上提供API。


(Graph: NMAC通信框架 - Controller-NetMagic_Box)

2017.4.27

NetMagic Simple Overview的更多相关文章

  1. JavaScript Module Pattern: In-Depth

    2010-03-12 JavaScript Module Pattern: In-Depth The module pattern is a common JavaScript coding patt ...

  2. SAP Gateway简介

    SAP Gateway在S4/HANA时代的ABAP开发模型中有着重要的地位.SAP Gateway是什么?它对ABAP开发有怎样的影响?可以为我们提供哪些方便?这篇译文将浅要地讨论这些话题. SAP ...

  3. javascript 模块化编程

    The module pattern is a common JavaScript coding pattern. It’s generally well understood, but there ...

  4. Oracle下如何收集 Systemstate dump

    2: dump (不包括lock element) 10: dump 11: dump + global cache of RAC 256: short stack (函数堆栈) 258: 256+2 ...

  5. A Simple OpenGL Shader Example

    A Simple OpenGL Shader Example eryar@163.com Abstract. OpenGL Shading Language, the high-level progr ...

  6. Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology

    转自:http://www.mdpi.com/1424-8220/12/9/11734/htm Sensors 2012, 12(9), 11734-11753; doi:10.3390/s12091 ...

  7. Mount NAS Storage in Linux Overview 转载

    Mount NAS Storage in Linux Overview Mounting your NAS Storage to a device that runs on a Linux-based ...

  8. TCP keepalive overview

    2. TCP keepalive overview In order to understand what TCP keepalive (which we will just call keepali ...

  9. (转) An overview of gradient descent optimization algorithms

    An overview of gradient descent optimization algorithms Table of contents: Gradient descent variants ...

随机推荐

  1. .net 调用API并解析Json数据方法

    using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using Syst ...

  2. Android下基于线程池的网络访问基础框架

    引言 现在的Android开发很多都使用Volley.OkHttp.Retrofit等框架,这些框架固然有优秀的地方(以后会写代码学习分享),但是我们今天介绍一种基于Java线程池的网络访问框架. 实 ...

  3. Bootstrap学习笔记-布局

    Bootstrap学习笔记-布局 默认是响应式布局,就是你在改变页面的时候也不会出现乱的现象. <html><head> <meta charset="utf- ...

  4. 【环境变量】Linux 下三种方式设置环境变量

    1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变 ...

  5. Codeforces Round #246 (Div. 2) D E

    这题说的是给了一个字符串当前缀和后缀相同的时候就计算此时的 整个串种拥有这样的子串友多少个,没想到用KMP解 用0开头的那种类型的 KMP 今天刚好也学了一下,因为KMP的作用是找出最长前缀 KMP ...

  6. CQRS/ES框架调研

    1.Enode一个C#写的CQRS/ES框架,由汤雪华设计及实现,github上有相关源码,其个人博客上有详细的孵化.设计思路.版本迭代及最新的完善: 2.axon framwork,java编写,网 ...

  7. 混合使用ForkJoin+Actor+Future实现一千万个不重复整数的排序(Scala示例)

    目标       实现一千万个不重复整数的排序,可以一次性加载到 2G 的内存里. 本文适合于想要了解新语言 Scala 并发异步编程框架 Akka, Future 的筒鞋. 读完本文后,将了解如何综 ...

  8. 使用Spring实现读写分离( MySQL实现主从复制)(转)

    本文转自:http://blog.csdn.net/jack85986370/article/details/51559232 1.  背景 我们一般应用对数据库而言都是“读多写少”,也就说对数据库读 ...

  9. linux服务器---squid缓存

    Squid缓存 代理服务器会在本地硬盘设置缓存,这样可以提高网络效率 1修改squid配置文件“/etc/squid/squid.conf”,参数“cache_dir_ufs”就是设置缓存目录的 [r ...

  10. Linux基础命令---bc

    bc bc是一种算数语言,其语法和c语言类似,可以交互执行.通过命令行选项可以获得一个标准的数学库.如果请求,在处理任何文件之前定义数学库.BC从处理所有文件的代码开始.命令行中列出的文件按所列顺序排 ...