参考:

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. Linux文本编辑器快捷方式

  2. 机器学习理论基础学习3.4--- Linear classification 线性分类之Gaussian Discriminant Analysis高斯判别模型

    一.什么是高斯判别模型? 二.怎么求解参数?

  3. 接口测试xml格式转换成json

    未经允许,禁止转载!!!! 接口测试一般返回的是xml和json,现在大多数时候是返回成json的格式,但是有时候也会出现xml格式, 由于xml格式的文件阅读起来不是很容易懂,所以尽量将xml转换成 ...

  4. char* a与char a[]的区别

    char *a 与char a[] 的区别   char *a = "hello" 中的a是指向第一个字符‘a'的一个指针 char a[20] = "hello&quo ...

  5. yii2csrf攻击

    第一种解决办法是关闭Csrf public function init(){ $this->enableCsrfValidation = false; } 第二种解决办法是在form表单中加入隐 ...

  6. uva1411 最小值转最大值+二分图匹配

    这题给了n个白点和n个黑点坐标,计算出他们两两配对的总路程最少, 我们算出他们之间的距离,为d,然后 w[j][i]=-d; 就将求最小值转化为求最大值,然后采用km进行匹配计算 #include & ...

  7. Sa身份登陆SQL SERVER失败的解决方案

    经常使用windows身份登陆,久而久之,基本不动怎么用SQL SERVER身份验证登陆,所以趁着有空,就解决一下一些问题~~ 解决方案:  第一步:打开SSMS,先使用windows身份登陆,右击服 ...

  8. python六剑客:map()、lambda()、filter()、reduce()、推导类表、切片

    一:map():映射 map()有两个参数,一个函数,一个序列,序列中每一个元素都会做为参数传给前边的函数,然后生成新的列表, 第二个参数必须用一个序列:元祖,列表,字符串 >>> ...

  9. $.ajax({ }) 里面的success函数不执行 | 回调函数返回的值 用对象,下标,键值对访问不到时

    原因一般是  dataType:'json' 数据类型设置成了json  ,去掉这个设置即可 $.ajax({ }) 回调函数返回的值 用对象,下标,键值对访问不到时,考虑是否返回数据为字符串 考虑是 ...

  10. ThinkPHP内置日志记录

    ThinkPHP内置日志记录日志记录http://document.thinkphp.cn/manual_3_2.html#log 日志的处理工作是由系统自动进行的,在开启日志记录的情况下,会记录下允 ...