本发明涉及fpga应用,具体地说是基于国产fpga的千兆网转发系统及方法。
背景技术:
1、随着fpga的成熟和国产替代计划的推进,国产fpga芯片越来越广泛的应用在国产通信设备和国防信息装备中,本发明是基于国产fpga实现自定义ip数据报格式的千兆网转发的设计方法,可有效的提高通信网络的稳定性、安全性和可靠性。
2、udp协议是一种面向无连接的传输层协议。无连接是指在传输数据时,数据的发送端和接收端不建立逻辑连接。简单来说,当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收端在收到数据时,也不会向发送端反馈是否收到数据。所以通常都会用于音频、视频和普通数据的传输(如视频会议等)都会采用udp协议进行传输,这种情况即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。
3、如何基于国产fpga芯片实现自定义ip数据报文格式的千兆网转发,保障通信网络的安全,是需要解决的技术问题。
技术实现思路
1、本发明的技术任务是针对以上不足,提供基于国产fpga的千兆网转发系统及方法,来解决如何基于国产fpga芯片实现自定义ip数据报文格式的千兆网转发,保障通信网络的安全的技术问题。
2、第一方面,本发明一种基于国产fpga的千兆网转发系统,包括fpga芯片以及配置于所述fpga芯片上的gmii模块、控制模块、apr模块、udp模块以及缓存模块;
3、所述gmii模块用于从上位机接受报文数据,所述报文数据包括udp应用数据和arp请求数据;
4、所述arp模块与所述gmii模块接受侧的引脚电连接,并与所述控制模块电连接,用于解析arp请求数据,并基于arp请求数据向控制模块返回包括所述fpga芯片mac地址的arp应答信息;对应的,基于所述arp应答信息,所述控制模块用于切换所述gmii模块发送侧的引脚连接至所述述arp模块,所述gmii模块用于将arp应答信息返回上位机,基于所述arp应答信息,所述fpga芯片与上位机建立连接;
5、所述udp模块与所述gmii接受侧的引脚电连接,并与所述控制模块电连接,用于解析udp应用数据,并通过自定义ip包的方式对解析后的udp应用数据进行加密,得到加密后udp应用数据,并将加密后的应用数据发送至所述控制模块;对应的,所述控制模块用于基于加密后udp应用数据切换所述gmii模块发送侧的引脚连接至所述udp模块,所述gmii模块用于将加密后udp应用数据返回上位机,实现udp数据的接受和转发。
6、作为优选,所述arp请求数据包括fpga芯片的ip地址和端口号。
7、作为优选,对于所述udp应用数据,对应的报文格式包括以太网首部、ip首部、udp首部以及应用数据;
8、所述ip首部包括固定字节格式和自定义字节格式,所述udp模块用于在ip首部中添加自定义信息的方式对解析后的udp应用数据进行加密。
9、作为优选,所述自定义信息包括ip包的可选长度和填充部分。
10、作为优选,所述自缓存模块为fifo缓存模块。
11、第二方面,本发明一种基于国产fpga芯片的千兆网转发方法,基于如第一方面任一项所述的基于国产fpga芯片的千兆网转发系统实现,所述方法包括如下步骤:
12、通过gmii模块从上位机接受报文数据,所述报文数据包括udp应用数据和arp请求数据;
13、对于arp请求数据,通过arp模块解析所述arp请求数据,并基于arp请求数据向控制模块返回包括所述fpga芯片mac地址的arp应答信息,基于所述arp应答信息,通过控制模块切换gmii模块发送侧的引脚连接至所述述arp模块,并通过gmii模块将arp应答信息返回上位机,基于所述arp应答信息,fpga芯片与上位机建立连接;
14、对于udp数据,通过udp模块解析udp应用数据,并通过自定义ip包的方式对解析后的udp应用数据进行加密,得到加密后udp应用数据,并将加密后的应用数据发送至控制模块,基于加密后udp应用数据、通过述控制模块切换gmii模块发送侧的引脚连接至udp模块,通过gmii模块将加密后udp应用数据返回上位机,实现udp数据的接受和转发。
15、作为优选,所述arp请求数据包括fpga芯片的ip地址和端口号。
16、作为优选,对于所述udp应用数据,对应的报文格式包括以太网首部、ip首部、udp首部以及应用数据;
17、所述ip首部包括固定字节格式和自定义字节格式,以通过udp模块在ip首部中添加自定义信息的方式对解析后的udp应用数据进行加密。
18、作为优选,所述自定义信息包括ip包的可选长度和填充部分。
19、本发明的基于国产fpga芯片的千兆网转发装置及方法具有以下优点:
20、1、通过arp模块获取fpga芯片的mac地址,并通过gmii模块将包含mac地址的arp应答信息返回上位机使得fpga芯片与上位机建立连接,增加目的地址读取,避免的人工手动维护进程,提高了fpga应用系统的可维护性;
21、2、控制了网络报文传输格式的影响,提高了系统整体的稳定性;
22、3、对ip首部添加自定义信息,提高了网络的可靠性。
1.一种基于国产fpga的千兆网转发系统,其特征在于,包括fpga芯片以及配置于所述fpga芯片上的gmii模块、控制模块、apr模块、udp模块以及缓存模块;
2.根据权利要求1所述的基于国产fpga的千兆网转发系统,其特征在于,所述arp请求数据包括fpga芯片的ip地址和端口号。
3.根据权利要求1所述的基于国产fpga的千兆网转发系统,其特征在于,对于所述udp应用数据,对应的报文格式包括以太网首部、ip首部、udp首部以及应用数据;
4.根据权利要求3所述的基于国产fpga的千兆网转发系统,其特征在于,所述自定义信息包括ip包的可选长度和填充部分。
5.根据权利要求1所述的基于国产fpga的千兆网转发系统,其特征在于,所述自缓存模块为fifo缓存模块。
6.一种基于国产fpga芯片的千兆网转发方法,其特征在于,基于如权利要求1-5任一项所述的基于国产fpga芯片的千兆网转发系统实现,所述方法包括如下步骤:
7.根据权利要求6所述的基于国产fpga芯片的千兆网转发方法,其特征在于,所述arp请求数据包括fpga芯片的ip地址和端口号。
8.根据权利要求6所述的基于国产fpga芯片的千兆网转发方法,其特征在于,对于所述udp应用数据,对应的报文格式包括以太网首部、ip首部、udp首部以及应用数据;
9.根据权利要求8所述的基于国产fpga芯片的千兆网转发方法,其特征在于,所述自定义信息包括ip包的可选长度和填充部分。