System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于CPU透明网桥实现FPGA的ARP与ICMP协议解析的方法技术_技高网

一种基于CPU透明网桥实现FPGA的ARP与ICMP协议解析的方法技术

技术编号:39931386 阅读:6 留言:0更新日期:2024-01-08 21:50
本发明专利技术公开了一种基于CPU透明网桥实现FPGA的ARP与ICMP协议解析的方法,包括:CPU管理模块通过总线读取FPGA缓存的ARP数据报文、ICMP数据报文,CPU通过透明网桥将这些ARP数据报文、ICMP数据报文传给内核TCP/IP协议栈处理,CPU再把TCP/IP协议栈返回的ARP数据报文、ICMP数据报文写入FPGA缓存区。通过这个方法,FPGA能直接解析ARP和ICMP等协议数据,当网络设备通过网线直接连接到FPGA时,可通过ARP数据报文获取本端设备网口的MAC地址,通过ICMP数据报文获得本端设备的IP地址。本发明专利技术优点在于节省了FPGA资源,使FPGA资源更多地用于处理业务数据,使用CPU操作系统的TCP/IP协议栈增强了FPGA网络处理的兼容性和扩展性。

【技术实现步骤摘要】

本专利技术涉及网络通信,特别涉及一种基于cpu透明网桥实现fpga的arp与icmp协议解析的方法。


技术介绍

1、随着网络通信技术不断进化,各种网络应用场景越来越多。fpga(fieldprogrammable gate array)具有高并行、低延时的特性,可做大量并行固定模式的数据处理。采用fpga作为协处理器对ip层业务数据进行高速处理,同时arp、icmp等非业务数据对延时不敏感,且需要tcp/ip协议栈进行处理,fpga现有框架实现tcp/ip协议栈较为复杂且资源受限不适合处理arp、icmp等非业务数据。目前cpu操作系统具备完整的tcp/ip协议栈可配合fpga处理arp、icmp等非业务数据。

2、有鉴于此,有必要提出一种基于cpu透明网桥实现fpga的arp与icmp协议解析的方法。


技术实现思路

1、本专利技术实现了基于cpu透明网桥处理fpga的arp与icmp协议的方法。

2、具体步骤如下:

3、步骤1),在cpu的linux系统上安装tun模块;创建透明网桥,设置透明网桥的mac地址和ip地址并启动透明网桥;

4、步骤2),fpga接收arp请求报文放到fpga缓存区,并通知cpu读取arp请求报文,cpu通过轮询fpga的报文接收完成标志位确定arp请求报文接收成功,管理模块通过总线读取fpga缓存区的arp请求报文,管理模块将arp请求报文通过透明网桥发送到cpu系统tcp/ip协议栈,tcp/ip协议栈解析arp请求报文,产生arp应答报文并更新arp表,管理模块读取tcp/ip协议栈产生的arp应答报文,发送到fpga缓存区,fpga发送arp应答报文;

5、步骤3),fpga接收icmp请求报文放到fpga缓存区并通知cpu读取icmp请求报文,cpu通过轮询fpga的报文接收完成标志位确定arp请求报文接收成功,管理模块通过总线读取fpga缓存区的icmp请求报文,管理模块将icmp请求报文通过透明网桥发送到cpu系统tcp/ip协议栈,tcp/ip协议栈解析icmp请求报文,产生icmp应答报文,管理模块读取tcp/ip协议栈产生的icmp应答报文,发送到fpga缓存区,fpga发送icmp应答报文。

6、进一步地,所述步骤1)创建透明网桥指令为打开/dev/net/tun文件,设置透明网桥的mac地址和ip地址并启动透明网桥为:

7、ip link set ${ifname0} addr ${mac0};ip addr add ${ip0}/24 dev ${ifname0};ip link set ${ifname0} up

8、其中ifname0为透明网桥的名字,mac0为透明网桥的mac地址,ip0为透明网桥的ip地址。

9、进一步地,所述步骤2)管理模块判断读取到的fpga数据为arp请求报文则通过写打开的网桥字符设备发送到cpu系统tcp/ip协议栈,读取到的fpga数据不为arp请求报文则丢弃。

10、进一步地,所述步骤2)管理模块通过读打开的网桥字符设备读取tcp/ip协议栈返回的arp应答报文。

11、进一步地,所述步骤3)管理模块判断读取到的fpga数据为icmp请求报文则通过写打开的网桥字符设备发送到cpu系统tcp/ip协议栈,读取到的fpga数据不为icmp请求报文则丢弃。

12、进一步地,所述步骤3)管理模块通过读打开的网桥字符设备读取tcp/ip协议栈返回的icmp应答报文。

13、上述专利技术中的有益效果为:

14、节省了fpga资源,使fpga资源更多地用于处理业务数据;

15、使用cpu系统的tcp/ip协议栈增强了系统地兼容性和扩展性。

本文档来自技高网...

【技术保护点】

1.一种基于CPU透明网桥实现FPGA的ARP与ICMP协议解析的方法,其特征在于,包括以下具体步骤:

2.根据权利要求1所述的基于CPU透明网桥实现FPGA的ARP与ICMP协议解析的方法,其特征在于,其步骤1具体包括:

3.根据权利要求1所述的基于CPU透明网桥实现FPGA的ARP与ICMP协议解析的方法,其特征在于,所述步骤2)具体包括:

4.根据权利要求1所述的基于CPU透明网桥实现FPGA的ARP与ICMP协议解析的方法,其特征在于,所述步骤2)具体包括:

5.根据权利要求1所述的基于CPU透明网桥实现FPGA的ARP与ICMP协议解析的方法,其特征在于,所述步骤3)具体包括:

6.根据权利要求1所述的基于CPU透明网桥实现FPGA的ARP与ICMP协议解析的方法,其特征在于,所述步骤3)具体包括:

【技术特征摘要】

1.一种基于cpu透明网桥实现fpga的arp与icmp协议解析的方法,其特征在于,包括以下具体步骤:

2.根据权利要求1所述的基于cpu透明网桥实现fpga的arp与icmp协议解析的方法,其特征在于,其步骤1具体包括:

3.根据权利要求1所述的基于cpu透明网桥实现fpga的arp与icmp协议解析的方法,其特征在于,所述步骤2)具体包括:

4.根...

【专利技术属性】
技术研发人员:曹春雨王磊马文东
申请(专利权)人:北京天御云安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1