参考:

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. 纯css打造凹进与突出效果

    1.凹进效果   background:#f2f2f2  center repeat; border-bottom: 1px solid #e9e9e9;border-top: 1px solid # ...

  2. linux平台mysql密码设置

    登录mysql默认没有指定账号 查看默认账号是谁 select user(); mysql> select user();+----------------+| user() |+------- ...

  3. selenium webdriver窗口切换(上)

    selenium webdriver窗口切换,有时候在做自动化的时候需要打开很多很多的页面, 当在操作不同的页面的时候需要切换窗口,下面是如何切换到前后页面窗口的操作: package test201 ...

  4. 7.9 Models -- Connection to An HTTP Server

    一.概述 1. 如果你的Ember应用程序需要从一个HTTP服务器加载JSON数据,在你的服务器返回的任何格式中,配置Ember Data的过程将会加载records. 2. store使用一个被称为 ...

  5. C++静态数据成员与静态成员函数

    一般情况下,如果有n个同类的对象,那么每一个对象都分别有自己的数据成员,不同对象的数据成员各自有值,互不相干.但是有时人们希望有某一个或几个数据成员为所有对象所共有,这样可以实现数据共享. 可以使用全 ...

  6. Leetcode: Repeated DNA Sequence

    All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: "ACG ...

  7. php中in_array使用注意

    可能会导致长耗时: http://www.jb51.net/article/41446.htm

  8. 论文笔记:语音情感识别(五)语音特征集之eGeMAPS,ComParE,09IS,BoAW

    一:LLDs特征和HSFs特征 (1)首先区分一下frame和utterance,frame就是一帧语音.utterance是一段语音,是比帧高一级的语音单位,通常指一句话,一个语音样本.uttera ...

  9. Python: 合并多个字典

    现在有多个字典或者映射,想将它们从逻辑上合并为一个单一的映射后执行某些操作,比如查找值或者检查某些键是否存在. eg1: a = {'x': 1, 'z': 3 }b = {'y': 2, 'z': ...

  10. FastJson(阿里巴巴)基础

    一.所需jar包: fastjson-x.x.xx.jar(本例使用fastjson-1.1.36.jar). 二.解析转化: 1.json字符串  < ------ >  js trin ...