![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基于FPGA的TCP/IP硬件栈
文章平均质量分 81
基于FPGA的TCP/IP硬件协议栈设计与实现,本系列博文的目的在于,用纯Verilog语言在spartan6的FPGA芯片上,实现精心裁剪的TCPIP以太网通信功能,并最终实现近千兆的传输速率
时间看得见
Anyone can be anything.
展开
-
TCP累积接收
先测试ACK回复性能,当不回发数据时,ACK是否能够满足快速回复功能。接下来,则可以进行tCP连接,如下:实现TCP数据的单次接收与回传。首先实现fifo接收,接收后,先不发送,先检测FIFO是否接收正确。将接收过程与发送过程分开,可以快速接收,空闲是可以快速发送。TCP接收模式,能反应出200uS的时间,便完成ACK回复。加入FIFO后,连接正常,下面先实现简单的FIFO数据回传。上述测试版为v5,累积接收功能,将在此版本上继续完善。问题1,修改tx计数,只有发送数据时,才计数+1.原创 2020-12-03 23:57:22 · 3339 阅读 · 3 评论 -
TCP性能测试与问题分析二(进阶)
对TCPIP协议栈进行性能测试,探索TCP地关键技术理论。目录问题6:tcp 抓包出现TCP spurious retransmission问题7:发送非常顺利,但在某个时刻,戛然而止。问题8:关于切换发送模式时,会出现误触发,造成多发送一帧问题9: 关于窗口更新,造成的延迟原创 2020-05-13 09:33:30 · 1619 阅读 · 0 评论 -
TCP性能测试与问题分析(进阶)
TCP性能测试与问题分析采用程序版本:tcpip_stack_v2当TCP的传输速度提高和测试方法增加后,出现了许多tcp问题,设计中对遇到的比较有针对性地问题记录如下,并给出实际地解决方案和过程。目录问题1:TCP&UDP助手和快速TCP发送的性能分析(初步)问题2:特殊情况下的TCP检验和出错问题3:TCP测试助手性能受限问题问题4:TCP接收测试死机,无ACK回应问题问题5:快速发送模式时,FPGA回传PSH数据出错。原创 2020-04-16 16:33:26 · 3006 阅读 · 0 评论 -
TCP/IP协议栈设计—UDP最大传输速度测试
TCP/IP协议栈设计—UDP最大传输速度测试对千兆UDP传输速度进行了全面的测试和分析,测试结果可知,千兆UDP传输性能很好,最大达到927Mbit/S的传输速度。并为进一步对于TCP的传输速度测试做准备。目录:测试1:使用FPGA设计延迟=1mS,进行回环测试测试2:使用FPGA设计延迟=10uS,进行回环测试测试3:使用FPGA设计延迟=1uS,进行回环测试测试4:使用FPGA设计延迟=80nS,进行回环测试原创 2019-11-25 17:01:49 · 11741 阅读 · 4 评论 -
TCP/IP协议栈设计—TCP设计实现(优化)
TCP/IP协议栈设计—TCP设计实现(优化)针对实现的初步TCP协议栈,对其细节地方进行优化,尽可能排除BUG。加入用户自定义数据测试,加入超时重传功能。目录:1,第一帧的ACK回复IP长度错误问题2,关于发送奇数字节,调试助手未正确接收ACK问题3,TCP数据接收解析与自定义数据发送设计4,对TCP超时重传的设计与仿真5,完成上述优化后,对整体效果的测试原创 2019-11-16 11:45:09 · 2058 阅读 · 10 评论 -
TCP/IP协议栈设计—TCP设计实现小结
TCP/IP协议栈设计—TCP设计实现小结在FPGA上采用纯Verilog描述的方式,实现可定制裁剪的TCPIP硬件协议栈,并加入超时重传、滑动窗口等优化算法,最终希望实现传输速率能超过200MHz的千兆以太网。去年3月份,就开始了设计之旅,期间参考了众多论文,网上也查了许多资料。经过一步步设计,现在终于实现了初步的TCPIP传输。现将实现的工程进行简单介绍和总结。设计包含ARP、ICMP、UDP、TCP、IP、MAC全过程的传输,实现TCP连接、接收、发送、断开的整个流程。原创 2019-11-11 20:34:34 · 3065 阅读 · 8 评论 -
TCP/IP协议栈设计—TCP设计实现(初步)
TCP/IP协议栈设计—TCP设计实现(初步)目录1,TCP连接(三次握手)测试2,TCP数据发送与接收测试3,TCP收发的优化与测试4,结束连接与请求重置测试原创 2019-11-11 20:30:13 · 5572 阅读 · 0 评论 -
TCP/IP协议栈设计—ICMP设计与实现
前言:基于前面两篇文章,实现的UDPIP以太网通信,其已经实现了ARP通信,再次基础上,继续实现ICMP通信。文中主要目录:一、ICMP接收解析;二、ICMP发送组帧准备;二、ICMP发送组帧准备;四、ICMP的测试;五:ICMP可靠性验证原创 2019-11-07 11:19:12 · 1530 阅读 · 0 评论 -
TCP/IP协议栈设计—UDP/IP协议栈设计与实现(发送部分)
TCP/IP协议栈设计—UDP/IP协议栈设计与实现(发送部分)前言:要实现基于FPGA的TCP硬件协议栈,需要充分了解以太网通信协议,因此先展开对UDPIP的实现。经过一年来不断的探索,最近从新设计并优化了UDPIP协议栈,内容较多,因此分为接收、发送两个部分2篇文章,来介绍UDPIP的调试与实现过程。文中主要目录:设计部分:一、ARP数据的发送;二、UDP数据的发送;三、IP数据的...原创 2019-11-07 11:08:58 · 1655 阅读 · 1 评论 -
TCP/IP协议栈设计—UDP/IP协议栈设计与实现(接收部分)
TCP/IP协议栈设计—UDP/IP协议栈设计与实现(接收部分)前言:要实现基于FPGA的TCP硬件协议栈,需要充分了解以太网通信协议,因此先展开对UDPIP的实现。经过一年来不断的探索,最近从新设计并优化了UDPIP协议栈,内容较多,因此分为接收、发送两个部分2篇文章,来介绍UDPIP的调试与实现过程。文中主要目录:一、对MAC层数据进行解析;二,对ARP数据层进行解析;三、IP协议...原创 2019-11-07 10:52:51 · 4372 阅读 · 0 评论 -
TCPIP协议学习(一)
TCPIP详解-卷一协议本文属于《基于FPGA的TCP硬件协议栈研究与设计—总标题》的文章之一,其分标题就是“TCPIP协议学习(一)”。本文重点以学习“TCPIP协议”的收获和体会着手,详细记录科研学习过程中的闪光点,以此理清学习思路,提炼知识重点,有效推进科研,提高践行效率。原创 2018-10-15 14:17:56 · 1575 阅读 · 0 评论