基于fpga万兆以太网时间戳的添加系统及方法

文档序号:8284989阅读:1039来源:国知局
基于fpga万兆以太网时间戳的添加系统及方法
【技术领域】
[0001] 本发明属于通信测试领域,涉及一种基于FPGA万兆以太网时间戳的添加系统及 方法。
【背景技术】
[0002] 万兆以太网测试主要用于高速网络互联设备的性能测试,能以IOGbps线速生成、 发送和接收测试流量,完成测试统计量的测量,路由报文的产生和报文截取。现有技术在 万兆以太网测试中的时间戳的添加方法一般是:将添加完时间戳的数据包存储到外部存储 器或者内部存储器中,然后产生调度信号再发送给Mac,由于不是在发送给Mac的时候添加 的,所以计算的延时误差很大。

【发明内容】

[0003] 本发明的目的在于克服上述不足,提供一种基于FPGA万兆以太网时间戳的添加 系统,其能够准确获取网络延时的测试数据。
[0004] 为了实现上述目的,本发明采用的技术方案为:一种基于FPGA万兆以太网时间戳 的添加系统,其特征在于,由FPGA可编程逻辑器件实现,包括:组包模块,用于产生符合以 太网协议的数据包,在时间戳的位置添加为"0",计算除去时间戳的私有协议的校验和,以 及除去时间戳的TCP/UDP数据包的校验和;
[0005] 通道混合模块,用于混合组包模块产生的数据包;
[0006] 数据过滤模块,用于将数据进行过滤,提取所述时间戳的坐标值,私有协议校验和 的坐标值,TCP/UDP校验和的坐标值,私有协议校验和,以及TCP/UDP校验和;
[0007] 发送给Mac的接口模块,用于适配Mac和添加发送数据包时刻的时间戳,在发送给 Mac的数据包的包头时刻获取时间戳,私有协议的校验和加上时间戳算得新的私有协议校 验和,TCP/UDP的校验和加上2倍的时间戳算得新的TCP/UDP校验和,并在发送给Mac的过 程中将时间戳,新的私有协议校验和、新的TCP/UDP校验和添加数据包。
[0008] 本发明的另一目的在于提供一种基于FPGA万兆以太网时间戳的添加方法,其特 征在于,包括:
[0009] 组包模块产生符合以太网协议的数据包,在时间戳的位置添加为"0",计算除去时 间戳的私有协议的校验和,以及除去时间戳的TCP/UDP数据包的校验和;
[0010] 通道混合模块混合组包模块产生的数据包;
[0011] 数据过滤模块将数据进行过滤,提取所述时间戳的坐标值、私有协议校验和的坐 标值、TCP/UDP校验和的坐标值、私有协议校验和以及TCP/UDP校验和;
[0012] 发送给Mac的接口模块适配Mac和添加发送数据包时刻的时间戳,在发送给Mac 的数据包的包头时刻获取时间戳,私有协议的校验和加上时间戳算得新的私有协议校验 和,TCP/UDP的校验和加上2倍的时间戳算得新的TCP/UDP校验和,并在发送给Mac的过程 中将时间戳,新的私有协议校验和、新的TCP/UDP校验和添加数据包。
[0013] 本发明的有益效果为:
[0014] 第一,结构简单,组包模块产生符合以太网协议的数据包,通道混合模块混合组包 模块产生的数据包;接口模块在发送给Mac的过程中将时间戳,新的私有协议校验和、新的 TCP/UDP校验和添加数据包,为测试网络延时提供了准确的数据。
[0015] 第二,实现方便,在发送给Mac包时在包头的位置获取时间戳,私有协议的校验和 加上时间戳算得新的校验和,TCP/UDP的校验和加上2倍的时间戳算得新的TCP/UDP校验 和,由于在发送到校验和时刻,已经将校验和计算完成,因此,非常方便地获取了数据包发 送到网络中的时间。
【附图说明】
[0016] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申 请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0017] 图1是本发明的基于FPGA万兆以太网时间戳的添加系统的结构图;
[0018] 图2是本发明的基于FPGA万兆以太网时间戳的添加方法的流程图。
【具体实施方式】
[0019] 如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员 应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以 名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在 通篇说明书及权利要求当中所提及的"包含"为一开放式用语,故应解释成"包含但不限定 于"。"大致"是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述 技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述 描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围 当视所附权利要求所界定者为准。
[0020] 实施例1
[0021] 请参照图1,本发明的一种基于FPGA万兆以太网时间戳的添加系统,由FPGA可编 程逻辑器件实现,包括:组包模块,用于产生符合以太网协议的数据包,在时间戳的位置添 加为"0",计算除去时间戳的私有协议的校验和,以及除去时间戳的TCP/UDP数据包的校 验和;通道混合模块,用于混合组包模块产生的数据包;数据过滤模块,用于将数据进行过 滤,提取所述时间戳的坐标值,私有协议校验和的坐标值,TCP/UDP校验和的坐标值,私有协 议校验和,以及TCP/UDP校验和;发送给Mac的接口模块,用于适配Mac和添加发送数据包 时刻的时间戳,在发送给Mac的数据包的包头时刻获取时间戳,私有协议的校验和加上时 间戳算得新的私有协议校验和,TCP/UDP的校验和加上2倍的时间戳算得新的TCP/UDP校 验和,并在发送给Mac的过程中将时间戳,新的私有协议校验和、新的TCP/UDP校验和添加 数据包。
[0022] 优选地,所述组包模块包括第一数据存储器和第一控制信息存储器,其中,第一数 据存储器,用于存储产生符合以太网协议的的数据包;第一控制信息存储器,用于存储所述 数据包的包长,以及以太网帧类型信息。
[0023] 优选地,所述通道混合模块包括第二数据存储器和第二控制信息存储器,其中,第 二数据存储器,用于存储混合后的数据包;第二控制信息存储器,用于存储所述混合后的数 据包的包长,以及以太网帧类型信息。
[0024] 优选地,所述数据过滤模块包括第三数据存储器和第三控制信息存储器,其中,第 三数据存储器,用于存储过滤后的数据包;第三控制信息存储器,用于存储所述过滤后的数 据包的包长信息、时间戳的坐标、私有协议校验和的坐标、TCP/UDP校验和的坐标、私有协议 的校验和、TCP/UDP校验和。
[0025]优选地,FPGA芯片主要包括:可编程输入输出单元、基本可编程逻辑单元、时钟管 理单元、嵌入块式RAM、布线单元、内嵌的底层功能单元和内嵌专用硬件模块。
[0026]优选地,FPGA利用小型查找表(16X1RAM)来实现组合逻辑,每个查找表连接到一 个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动1/0,由此构成了即可实现组合 逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接 或连接到I/O模块。
[0027] 优选地,FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在 存储器单元中的值决定了逻辑单元的逻辑功能以及个模块之间或模块与I/O间的连接方 式,并最终决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最 终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
[0028] 优选地,所述可编程输入输出单元是与外界电路的接口部分,用于完成不同电气 特性下对输入/输出信号的驱动与匹配要求,通过软件的灵活配置,可适配不同的电气标 准与I/O物理特性,可以调整驱动电流的大小。
[0029] 优选地,外部输入信号可以通过可编程输入输出单元输入到FPGA的内部,也可以 直接输入FPGA内部。
[0030] 优选地,基本可编程逻辑单元包含一个可配置开关矩阵,此矩阵由4或6个输入、 一些选型电路(多路复用器等)和触发器组成。
[0031] 优选地,开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存 器或RAM。
[0032] 优选地,每个基本可编程逻辑单元不仅可以用于实现组合逻辑、时序逻辑,还可以 配置为分布式RAM和
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1