万兆以太网的架构说明

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

万兆网卡草案

RIGOL Technologies, Inc

版权所有

修订记录Revision record

目录Catalog

文档描述SCOPE: (4)

缩略语清单ABBREVIATIONS LIST (4)

1整体架构 (5)

1.1近端架构 (5)

1.2远端架构 (5)

文档描述Scope:

万兆网卡草案

缩略语清单Abbreviations list

1 整体架构

1.1 近端架构

近端的设计我们已经确定了,FPGA内部完成MAC层和物理层的设计,

这边软件还需要配置MAC地址,帧长度等信息,在近端需要添加,具体由逻辑提供配置说明和寄存器表。

1.2 远端架构

远端主要实现的功能是

1.验证近端的接口正确性(必须);

2.提供工具用于数据存储和上位机使用(必须?)

因此,远端接口的现在还未确定,可以讨论:

设想的方案有以下两种:

1. 在FPGA侧不实现TCP/IP协议,远端也不使用socket的方式获取以太网数据,基

于winpcap接口,对没有被网络协议处理过的以太网数据包获取、发送与存储功能的应用程序。

WinPcap 是一个基于Win32的数据包获取和网络分析的体系结构,为应用程序提供访问网络底层的能力。其主要结构示意图如图所示,由一个工作在内核模式的网络数据包过滤器(Netgroup Packet Filter ,NPF),一个名为packet .dll 的底层动态链接库和一个名为wpcap .dll 的高层库组成

PF 运行在内核模式中,能直接访问操作系统的网络接口卡驱动,提供数据的获取、发送以及信息统计等功能。packet .dll 和wpcap .dll 两个库文件为应用程序调用内核函数提供端口,其中packet .dll 负责提供低层API ,可以实现对驱动函数的直接访问,执行如获取适配器名称、动态驱动器加载和获取主机掩码等基本操作;wpcap .dll 与Unix 系统下的数据包获取库Libcap 完全兼容,提供功能强大且跨平台的函数,能够实现数据过滤以及定义内部缓冲空间大小等高级操作,同时开发人员不用关心网络接口卡和操作系统的类型。

对于大数据量的存储操作,WinPcap提供了一种名为“Dump to disk"的存储方式,可以将数据包直接从内核缓冲区保存到硬盘中,而不用经过用户缓冲区的缓存。

“Dump to disk"存储流程如图虚线所示,由于减少了拷贝操作的次数,因此减少了系统调用的开销,提高存储效率。

当然如果此种情况下,仍出现丢包,可以使用:

仅缓存一个时间段的数据进行处理,例如仅缓存100ms的10G以太网数据,进行处理,而不进行实时要求;

使用速度更快的固态硬盘进行存储。

2. 完整的TCP/IP协议,网络数据获取

在上述结构中,逻辑内部实现TCP/IP的封包,有点是适用性比较强,缺陷是会给软件、逻辑增加更多的工作量。

相关文档
最新文档