参考:

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. vertx异步编程测试

    vertx是异步编程的框架,性能较高,开发简单.异步编程就是当一个请求来了,vertx将其交由一个事件进行处理,然后继续向下执行,等处理完成,返回结果,通知客户端.这是一个由服务端反向调用客户端的过程 ...

  2. Spark性能优化(二)

    资源调优 调优概述 在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要 ...

  3. boost--smart_ptr库

    C++没有类似Java.C#等语言的垃圾回收机制,内存管理是最为头痛的工作. new.delete以及指针的不恰当运用是C++中造成资源获取/释放问题的根源. 智能指针是解决这些问题的一种方案,boo ...

  4. sql中字符串如何比大小

    从字符串的第一个字符开始比较ASSCII码值,如果相等则看下一个,以此类推. 数字的ASCII码<大写字母的ASCII码<小写字母的ASCII码. ASCII码

  5. JSTL—标签

    什么是JSTL标签? Jsp标准标签库(JSP Standerd Tag Library) JSTL的优点是什么? 1) 提供一组标准的标签 2)可用于编写动态功能 使用JSTL的步骤? 1)引入ja ...

  6. Class类的特性(上)

    Class类的特性(上) ES6 的类,完全可以看作ES5构造函数的另一种写法. class Point { // ... } typeof Point // "function" ...

  7. hdu5195 二分+线段树+拓扑序

    这题说的给了n个点m条边要求保证是一个有向无环图,可以删除至多k条边使得这个图的拓扑序的字典序最大,我们知道如果我们要排一个点的时候一定要考虑比他大的点是否可以.通过拆边马上拆出来,如果可以拆当然是拆 ...

  8. MyBatis学习笔记(六)——调用存储过程

    转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4270352.html 一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据 ...

  9. python requests 请求的封装

    #encoding=utf-8import requestsimport jsonclass HttpClient(object):    def __init__(self):        pas ...

  10. python selenium第一个WebDriver脚本

    #coding=utf-8from selenium import webdriverimport timeimport osos.environ["webdriver.firefox.dr ...