CN106302426A - 一种基于fpga的带重发机制的udp协议栈实现方法 - Google Patents
一种基于fpga的带重发机制的udp协议栈实现方法 Download PDFInfo
- Publication number
- CN106302426A CN106302426A CN201610647974.8A CN201610647974A CN106302426A CN 106302426 A CN106302426 A CN 106302426A CN 201610647974 A CN201610647974 A CN 201610647974A CN 106302426 A CN106302426 A CN 106302426A
- Authority
- CN
- China
- Prior art keywords
- fpga
- data
- bag
- sdcp
- udp protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明涉及数据采集和传输/通信技术领域,具体涉及一种基于FPGA的带重发机制的UDP协议栈实现方法。由FPGA完成对ADC数据的接收,然后FPGA直接实现UDP协议栈,直接和PC端通信;同时,FPGA外接SDRAM,用以缓存已发送的数据包;当PC端告知FPGA端未接收到某一数据包时,FPGA端在接收到重发命令后从SDRAM中读取之前缓存的数据包重发给PC端,以实现可靠性数据传输。本发明设计了一种基于FPGA的带重发机制的UDP协议栈实现方法,此方法大大简化了系统复杂度,减少了开发时间和硬件成本,为高速数据采集系统提供了一种可靠的高效率的基于网络通信的大容量数据传输实现方法。
Description
技术领域
本发明涉及数据采集和传输/通信技术领域,具体涉及一种基于FPGA的带重发机制的UDP协议栈实现方法。
背景技术
在数据采集和传输领域,通常需要将采集的数据传递给计算机进行后续处理和保存,由于通用计算机(PC)接口的限制,传输手段十分有限,目前常用的方式有如下几种:(1)串口通信方式;(2) USB通信方式;(3) 网络通信方式。串口通信方式下数据传输速率低,通常在1Mbps以下,适合于少量控制数据传输,且不要求较高实时性的场合;USB通信方式速度较高,如USB2.0标准设计的传输速率可达480Mbps,USB3.0标准将速率提升到5Gbps,但是USB通信方式有如下问题,一是长时间稳定性较差,数据传输易发生中断,二是传输距离受限,通过延长线方式最大传输距离也无法超过10米量级,无法支持较长距离下的对稳定性有较高要求的应用场合,不适合长时间长距离下的高速数据传输;网络通信方式是目前较为流行的一种通信方式,一方面传输距离较长,局域网内传输距离可达250米,通过中继器,这个距离可以更长,另一方面稳定性好,不易受外界干扰,另外网络的可扩展性也较好,便于后期维护和升级。目前在数据采集和传输领域,在距离较长的情况下,要将采集得到的数据安全快速的传递给PC端处理,网络通信方式基本成为了唯一的选择。就PC端而言,操作系统以网络栈的方式对网络通信提供了很好的支持。网络栈即采用分层结构将数据从底层硬件接收设备(网络适配器)传递给上层最终用户的一种协议实现方式,网络栈通常作为操作系统的一个重要组成部分,如此PC端用户只需要基于网络栈编写代码即可完成网络数据的接收和发送。对于通信的另一端即数据采集端而言(相对于PC端),也需要有网络栈提供对通信的支持,通常而言这也就进一步要求需要提供操作系统支持,因为目前而言,只有操作系统才能提供网络栈,而要运行操作系统,就需要提供硬件平台即CPU处理器,这将大大增加数据采集端的系统设计复杂度。
现场可编程门阵列(FPGA)是目前非常流行的一种编程器件,其灵活配置性和可编程性使其被广泛应用于各种领域。因为FPGA是一种硬件实现方式,传输速率可以达到很高,可以应对高速数据采集场景,所以在高速数据采集应用场合,FPGA也使用广泛,通常由FPGA完成对ADC数据的接收,然后通过通用接口将数据传递给PC端进行后续处理。诚如前文所述,基于PC端通用接口的限制,长距离下通常采用网络通信方式,而这就要求网络栈支持,通常而言,在FPGA之外需要另提供CPU处理器以便运行操作系统以对网络栈进行支持,进而提供对网络通信的支持(如图1所示)。在这种传统架构下,大大增加了硬件/软件设计复杂度,使得开发成本和周期都大大增加。
作为网络栈协议中的重要组成部分,UDP协议是不需要提供连接状态信息的,即每个UDP报文是独立的,这使得UDP协议的实现不需要保存太多的状态信息,使得硬件上实现UDP协议成为可能。但UDP协议有一个缺点,即协议本身不提供可靠性数据传输保证,即不保证发送端发送的数据包一定会被接收端接收到,数据会发生丢失,这一缺点在之前类似专利中也未得到解决,使得此类设计无法真正用于大容量可靠数据传输中。为了可靠的数据传输,需要在UDP协议之上提供某种机制保证这一点,本设计中将通过对传输的每个数据包加序列号配合重传机制进行解决,使得UDP可以用于大容量关键数据的传输。图2所示为简化后基于网络通信方式实现架构,FPGA内直接实现UDP协议栈,外接SDRAM提供数据包缓存,使用重发机制以保证数据可靠性传输。精简架构下去除了CPU处理器和软件需求,大大减小了系统复杂度和开发周期,且硬件方式实现UDP协议栈,相对于软件方式下的UDP协议栈,数据传输效率大大增加,可以达到90%以上(软件方式下,考虑到任务调度影响,一般只能达到80%左右)。
发明内容
本发明的目的是设计一种基于FPGA的带重发机制的UDP协议栈实现方法,拟为高速数据采集系统提供一种可靠的高效率的基于网络通信的大容量数据传输实现方法,以降低数据采集系统开发难度,成本和周期。
本发明是通过以下技术方案实现的:
一种基于FPGA的带重发机制的UDP协议栈实现方法,由FPGA完成对ADC数据的接收,然后FPGA直接实现UDP协议栈,直接和PC端通信;同时,FPGA外接SDRAM,用以缓存已发送的数据包;当PC端告知FPGA端未接收到某一数据包时,FPGA端在接收到重发命令后从SDRAM中读取之前缓存的数据包重发给PC端,以实现可靠性数据传输。
本发明所述的一种基于FPGA的带重发机制的UDP协议栈实现方法,所述方法通过FPGA端和PC端同步进行,其中,
FPGA端实施流程如下:FPGA端主动广播SDCP(Self Defined Control Protocol,自定义控制协议模块)应答包,包中包含了FPGA端实现服务器的信息,这些信息被PC端获取用以创建到FPGA端采集系统的连接;在广播SDCP应答包报文的同时,FPGA端等待接收SDCP控制报文,一旦接收到SDCP报文,将进行一系列检测任务;
PC端实施流程如下:在数据传输之前,PC端完成数据流通道的建立;在完成流通道创建之后,PC端配置采集系统参数进行数据采集,然后启动数据传输;基于UDP协议的可靠性数据传输实现对每个数据包赋予连续的序列号,一旦启动数据传输,PC端就进行正常的数据接收并对接收到的每个包进行序列号检测,当发现数据包序列号不连续时,就可以肯定存在丢包,此时PC端将丢失的序列号作为参数发送重发命令,通知FPGA端重发该序列号对应的包,在完成既定数量的数据后,PC端需要停止数据传输并销毁流通道以释放FPGA端以及本地资源。
本发明所述的一种基于FPGA的带重发机制的UDP协议栈实现方法,所述FPGA端的检测任务包括:
(1)是否为SDCP发现报文,如是,则回复SDCP应答包;
(2)是否为UDP栈流通道配置命令,如是,则创建或销毁数据流通道;
(3)是否为流启动/停止命令,如是,则启动或停止SDSP模块(Self Defined StreamProtocol,自定义流协议模块);
(4)是否为重发命令,如是,则写入重发命令FIFO;
(5)是否为用户配置命令,如是,则写入用户命令FIFO;
(6)如果命令不符合以上命令类型,则直接丢弃处理。
本发明所述的一种基于FPGA的带重发机制的UDP协议栈实现方法,所述PC端数据流通道的建立包括:
首先广播SDCP发现包获取FPGA端服务器信息,在获取到SDCP应答包后,PC端即获取到和服务器端通信基本的信息,之后PC端使用SDCP控制包创建流通道,主要发送PC端用于数据接收的本地IP地址和端口号,该IP地址和端口号将被服务器端使用作为目的IP地址和目的端口号,即数据流的最终去处使用。
本发明所述的一种基于FPGA的带重发机制的UDP协议栈实现方法,PC端将丢失的序列号存储在一个数组中,只要对应序列号的包未接收到,可重复发送重发请求包。
本发明的有益效果在于:
设计了一种基于FPGA的带重发机制的UDP协议栈实现方法,此方法大大简化了系统复杂度,减少了开发时间和硬件成本,为高速数据采集系统提供了一种可靠的高效率的基于网络通信的大容量数据传输实现方法。
附图说明
图1为传统方式下网络通信基本架构;
图2为精简方式下网络通信基本架构(FPGA直接实现UDP协议栈);
图3为UDP协议栈基本实现架构;
图4为SDCP头部参考定义;
图5为SDSP头部参考定义;
图6为数据包重发基本实现原理;
图7为PC端实施流程图;
图8为FPGA端实施流程图。
具体实施方式
为更好理解本发明,下面结合实施例及附图对本发明作进一步描述,以下实施例仅是对本发明进行说明而非对其加以限定。
网络栈分层结构中,UDP协议作为传输层协议的一个重要组成部分构成了数据传输的基本方式之一。UDP协议传输方式是一种无连接状态的通信方式,每个UDP数据包都是独立的,相互之间没有联系,每个UDP数据包中包含了传输所需的所有信息:源端IP地址和端口号,目的端IP地址和端口号以及用户数据。传输媒介(如路由器)不保证每个UDP包能正常到达目的端,有时目的端系统负载很大时,数据包即便到达了目的端也会因为目的端底层接收缓冲区资源紧张造成丢失,如果发送端不进行重发,丢失的数据包将永远丢失,这一点是UDP协议本身固有的缺点。要提供数据包的可靠接收,需要在UDP协议之上提供机制,即在数据包丢失情况下需要发送端进行重发,所以基于UDP协议的通信方式需要发送端和目的端共同配合以保证数据可靠性传输:目的端需要检测数据包的丢失并通过某种方式将丢失信息告知发送端,而发送端在接收到丢失信息后需要有某种策略重新发送丢失的数据包。
FPGA是一种硬件实现方式,可以利用其并发性高效的完成UDP协议栈的实现。为了支持UDP协议栈,考虑到协议之间的依赖性,还需要提供对ARP协议的支持,即FPGA需要提供ARP包和UDP包的解析逻辑。除了对ARP包和UDP包应有的解析逻辑外,需提供一些基本寄存器以便完成通信链路的创建。为了支持可靠性数据传输,对于丢失的数据包需要重发,这就要求需要缓存已发送的数据包,实现中采用了FPGA外接SDRAM的方式解决数据包缓存需求。SDRAM工作频率可以达到167MHz,且接口简单,便于硬件设计,故无需采用DDR,从而降低系统设计复杂度。
FPGA内UDP协议栈基本实现架构如图3所示。
基本实现原理如下:前端采用TSE三速以太网驱动模块和外部网络PHY芯片交互完成底层数据收发。对于接收到的数据包,均经过packet_filter模块完成报文的基本解析,packet_filter模块剥离MAC头段信息并检测上层协议类型,对于ARP协议报文和IP协议报文,分别传递给ARP解帧/组帧模块和IP解帧模块,其他协议报文均直接丢弃。ARP解帧/组帧模块完成ARP协议的解析和响应,对于响应的ARP应答包直接写入ARP包FIFO中供包发送模块读取并发送出去。对于IP协议报文在IP解帧模块完成IP头段解析并检测上层协议类型,如果上层协议是UDP,则继续将报文传递给UDP解帧模块,UDP解帧模块完成UDP头段解析并检测上层协议类型,如果是SDCP包,则继续将报文传递给SDCP解帧模块,SDCP解帧模块完成具体命令的解析并根据命令类型写入到不同的FIFO中:(1)作为UDP栈实现部分的基本寄存器设置命令,包括设置数据流通道的目的端IP地址和端口号,MTU大小,心跳包频率等信息,这些信息主要用于创建数据流通道;(2)控制采集系统的用户命令,写入用户命令FIFO中,这些命令为用户命令,控制采集系统,如增益,曝光时间等;(3)启动/停止流命令,直接传递给SDSP组帧模块,启动/停止数据流的发送;(4)包重发命令,写入包重发命令FIFO中供SDRAM驱动模块使用,SDRAM驱动模块一方面将每个发送出去的UDP包写入SDRAM中,如果存在重发命令,则读取SDRAM将重发的报文读取到重发UDP包FIFO中以供包发送模块重发丢失的数据包。对于ARP包FIFO,UDP包FIFO,UDP重发包FIFO,包发送模块将优先发送ARP包,在ARP包FIFO为空的情况下,采用轮询的策略进行UDP(重发)包的发送,即三个FIFO中ARP包FIFO优先级高,其他两个FIFO优先级相同。
对于正常数据流发送链路,SDSP组帧模块完成用户数据的第一层封装,即在用户数据之上封装SDSP头段信息,UDP组帧模块在SDSP协议之上封装UDP头段信息,IP组帧模块在UDP协议之上封装IP头段,MAC组帧模块在IP协议之上封装MAC头段信息,并将最终符合网络格式的数据包写入到两个FIFO中:(1)UDP包FIFO,该FIFO由包发送模块读取并发送到PC端;(2) UDP包备份FIFO,该FIFO被SDRAM驱动模块读取,对发送的每个数据包进行缓存,用于重发目的。
SDCP协议和SDSP协议均为自定义协议,在UDP协议之上完成命令和数据的封装。每个SDCP头部由固定4个字节构成,图4给出了SDCP协议的参考定义。每个SDSP头部由固定8个字节构成,图5给出了SDSP协议的参考定义。每个UDP包均赋予唯一的序列号,序列号用于重发时在SDRAM中定位包的位置。SDRAM缓存采用环形缓冲区策略,即开始从地址0写入,直到最后一个地址,然后又回到地址0,所以一段时间后,旧的数据将被新的数据覆盖。此时SDRAM容量是一个限制因素,其决定了可以缓存多长时间内的数据包,以90%发送效率计算,即千兆网下发送速率为112.5MBps,则64MB容量大小可以缓冲大约900ms时间长度内发送的数据包,一般而言,鉴于数据采集系统通常为点对点连接方式,物理链路无冲突,这个时间长度可以应对绝大多数情况,更大的SDRAM可以缓冲更长时间内的数据包,当然更能保证数据的可靠性传输。对于一般的数据采集系统,如果只需要采集一段时间内的数据,那么就将这段时间内的数据完全缓存下来,就不存在缓存数据被覆盖的问题。
UDP协议本身不保证数据传输可靠性,本设计中采用了对每个数据包赋予序列号,同时对发送的每个数据包进行缓存的方式提供可靠性保证。PC端通过发送SDCP重发报文告知FPGA端未接收到的包对应的序列号,FPGA端在接收到重发命令后从SDRAM中读取之前缓存的数据包重发给PC端,从而完成丢弃报文的重发工作,重发基本实现原理如图6所示。注意,本设计中接收端不对接收到的数据包进行确认应答,只对未接收到的数据包发送重发命令,考虑到数据采集系统中通常为点对点连接方式,丢失的数据包数量较小,只对未接收到的数据包发送重发命令,而非对接收到的数据包发送确认应答,避免了大量应答包占用网络带宽,将大大提高数据传输效率。
本发明中基于FPGA的UDP协议栈具体实施示意图如图7和图8所示,分为FPGA端和PC端,二者配合方能达到使用UDP协议实现高速可靠性数据传输的目的,详细说明如下。
FPGA端实施流程如下:上电初始化后,FPGA端主动广播SDCP应答包,包中包含了FPGA端实现服务器的信息,如IP地址,端口号,数据采集系统信息等,这些信息被PC端获取用以创建到FPGA端采集系统的连接。在广播SDCP应答包报文的同时,FPGA端等待接收SDCP控制报文,一旦接收到SDCP报文,将完成一系列检测任务,具体如下。
1.是否为SDCP发现报文,如是,则回复SDCP应答包。虽然FPGA端会主动广播SDCP应答包,但是PC端为了减小延迟时间,会主动发送SDCP发现报文获取网络上服务器信息,此时在接收到SDCP发现包后就需要及时回复一个应答包以告知PC端应有的服务器信息;
2.是否为UDP栈流通道配置命令。该命令用于创建/销毁数据流通道。在正式数据传输之前,PC端必须先行创建流通道,即告知PC端用于接收数据的IP地址,端口号等信息。而完成数据接收后,PC端需要销毁流通道以释放FPGA端资源。
3.是否为流启动/停止命令。该命令启动/停止FPGA端数据流的发送,也即启动/停止FPGA端组帧模块。
4.是否为重发命令。PC端检测到某个序列号的数据包丢失之后,需要将丢失包对应的序列号发送给FPGA端,请求FPGA端重发该数据包,FPGA端接收到重发命令后,将以接收到的序列号作为地址信息从SDRAM中读取之前缓冲的数据包并重发发送给PC端,从而完成丢失报文的重发,包括数据可靠性传输。
5.是否为用户配置命令。用户配置命令用以配置采集系统参数,如增益,采样率等信息,这些命令将被转发给采集系统处理。
6.如果命令不符合以上命令类型,则直接丢弃处理。
为了完成基于UDP协议的可靠性数据传输,PC端必须对FPGA端做对应的配合,PC端实施流程如下:在数据传输之前,PC端必须完成数据流通道的建立。首先广播SDCP发现包获取FPGA端服务器信息,这些信息将被用于一对一控制通道的建立,在获取到SDCP应答包后,PC端即获取到和服务器端通信基本的信息,如服务器IP地址,端口号等。之后PC端使用SDCP控制包创建流通道,主要发送PC端用于数据接收的本地IP地址和端口号,该IP地址和端口号将被服务器端使用作为目的IP地址和目的端口号,即数据流的最终去处使用。在完成流通道创建之后,PC端配置采集系统参数,如采样率,增益以及启动采集系统进行数据采集,然后启动数据传输,即启动FPGA端SDSP组帧模块。一旦启动数据传输,PC端就进行正常的数据接收并对接收到的每个包进行序列号的检测,因为发送端发送的序列号均是连续的,鉴于数据采集系统一般采用点对点连接方式,所以一旦发现序列号不连续,就可以肯定存在丢包,此时PC端将丢失的序列号作为参数发送重发命令,通知FPGA端重发该序列号对应的包。一般而言,PC端需要维护一个数组,将丢失的序列号存储在数组中,只要对应序列号的包未接收到,可重复发送重发请求包。在完成既定数量的数据后,PC端需要停止数据传输并销毁流通道以释放FPGA端以及本地资源。
以上所述实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。
Claims (5)
1.一种基于FPGA的带重发机制的UDP协议栈实现方法,其特征在于:由FPGA完成对ADC数据的接收,然后FPGA直接实现UDP协议栈,直接和PC端通信;同时,FPGA外接SDRAM,用以缓存已发送的数据包;当PC端告知FPGA端未接收到某一数据包时,FPGA端在接收到重发命令后从SDRAM中读取之前缓存的数据包重发给PC端,以实现可靠性数据传输。
2.根据权利要求1所述的一种基于FPGA的带重发机制的UDP协议栈实现方法,其特征在于,所述方法通过FPGA端和PC端同步进行,其中,
FPGA端实施流程如下:FPGA端主动广播SDCP应答包,包中包含了FPGA端实现服务器的信息,这些信息被PC端获取用以创建到FPGA端采集系统的连接;在广播SDCP应答包报文的同时,FPGA端等待接收SDCP控制报文,一旦接收到SDCP报文,将进行一系列检测任务;
PC端实施流程如下:在数据传输之前,PC端完成数据流通道的建立;在完成流通道创建之后,PC端配置采集系统参数进行数据采集,然后启动数据传输;基于UDP协议的可靠性数据传输实现对每个数据包赋予连续的序列号,一旦启动数据传输,PC端就进行正常的数据接收并对接收到的每个包进行序列号检测,当发现数据包序列号不连续时,就可以肯定存在丢包,此时PC端将丢失的序列号作为参数发送重发命令,通知FPGA端重发该序列号对应的包,在完成既定数量的数据后,PC端需要停止数据传输并销毁流通道以释放FPGA端以及本地资源。
3.根据权利要求2所述的一种基于FPGA的带重发机制的UDP协议栈实现方法,其特征在于,所述FPGA端的检测任务包括:
(1)是否为SDCP发现报文,如是,则回复SDCP应答包;
(2)是否为UDP栈流通道配置命令,如是,则创建或销毁数据流通道;
(3)是否为流启动/停止命令,如是,则启动或停止SDSP模块;
(4)是否为重发命令,如是,则写入重发命令FIFO;
(5)是否为用户配置命令,如是,则写入用户命令FIFO;
(6)如果命令不符合以上命令类型,则直接丢弃处理。
4.根据权利要求2所述的一种基于FPGA的带重发机制的UDP协议栈实现方法,其特征在于,所述PC端数据流通道的建立包括:
首先广播SDCP发现包获取FPGA端服务器信息,在获取到SDCP应答包后,PC端即获取到和服务器端通信基本的信息,之后PC端使用SDCP控制包创建流通道,主要发送PC端用于数据接收的本地IP地址和端口号,该IP地址和端口号将被服务器端使用作为目的IP地址和目的端口号,即数据流的最终去处使用。
5.根据权利要求2所述的一种基于FPGA的带重发机制的UDP协议栈实现方法,其特征在于,PC端将丢失的序列号存储在一个数组中,只要对应序列号的包未接收到,可重复发送重发请求包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610647974.8A CN106302426A (zh) | 2016-08-09 | 2016-08-09 | 一种基于fpga的带重发机制的udp协议栈实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610647974.8A CN106302426A (zh) | 2016-08-09 | 2016-08-09 | 一种基于fpga的带重发机制的udp协议栈实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106302426A true CN106302426A (zh) | 2017-01-04 |
Family
ID=57666908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610647974.8A Pending CN106302426A (zh) | 2016-08-09 | 2016-08-09 | 一种基于fpga的带重发机制的udp协议栈实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106302426A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666346A (zh) * | 2017-09-07 | 2018-02-06 | 西安电子科技大学 | 一种面向星载多模fpga调制解调系统的多终端无线交互方法 |
CN109104379A (zh) * | 2018-06-28 | 2018-12-28 | 山东超越数控电子股份有限公司 | 一种避免udp协议丢包的电路结构及方法 |
CN110768984A (zh) * | 2019-10-25 | 2020-02-07 | 中汇信息技术(上海)有限公司 | 一种数据传输的方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080298357A1 (en) * | 2007-05-30 | 2008-12-04 | Bela Ban | Logical addresses |
CN103957169A (zh) * | 2014-05-14 | 2014-07-30 | 上海复兰信息科技有限公司 | 一种基于反向请求的可靠udp的实现方法 |
CN105245528A (zh) * | 2015-10-20 | 2016-01-13 | 北京小鸟听听科技有限公司 | 一种基于用户数据报协议(udp)的控制命令传输方法、发送端和接收端 |
-
2016
- 2016-08-09 CN CN201610647974.8A patent/CN106302426A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080298357A1 (en) * | 2007-05-30 | 2008-12-04 | Bela Ban | Logical addresses |
CN103957169A (zh) * | 2014-05-14 | 2014-07-30 | 上海复兰信息科技有限公司 | 一种基于反向请求的可靠udp的实现方法 |
CN105245528A (zh) * | 2015-10-20 | 2016-01-13 | 北京小鸟听听科技有限公司 | 一种基于用户数据报协议(udp)的控制命令传输方法、发送端和接收端 |
Non-Patent Citations (1)
Title |
---|
叶祎恒: ""基于FPGA的UDP/IP硬件协议栈的研究与实现"", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666346A (zh) * | 2017-09-07 | 2018-02-06 | 西安电子科技大学 | 一种面向星载多模fpga调制解调系统的多终端无线交互方法 |
CN109104379A (zh) * | 2018-06-28 | 2018-12-28 | 山东超越数控电子股份有限公司 | 一种避免udp协议丢包的电路结构及方法 |
CN110768984A (zh) * | 2019-10-25 | 2020-02-07 | 中汇信息技术(上海)有限公司 | 一种数据传输的方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11991072B2 (en) | System and method for facilitating efficient event notification management for a network interface controller (NIC) | |
CN106878191B (zh) | 一种数据传送方法、发送节点、接收节点及数据传送系统 | |
US8799504B2 (en) | System and method of TCP tunneling | |
US8824477B2 (en) | Multiple delivery route packet ordering | |
CN100421417C (zh) | Tcp卸载的系统和方法 | |
US7487424B2 (en) | Bitmap manager, method of allocating a bitmap memory, method of generating an acknowledgement between network entities, and network entity implementing the same | |
CN101409715B (zh) | 一种利用InfiniBand网络进行通信的方法及系统 | |
US9059932B2 (en) | Packet ordering based on delivery route changes in communication networks | |
KR100988339B1 (ko) | 무선 인터페이스를 통해 tcp 성능을 개선시키기 위한 이중 프록시 접근 방식 | |
US20170373804A1 (en) | Methods for enabling delay-awareness in the constrained application protocol (coap) | |
US20190342225A1 (en) | Methods and apparatus for early delivery of data link layer packets | |
CN101945341B (zh) | 一种无线传感器网络点对点传输协议 | |
CN108270682A (zh) | 一种报文传输方法、终端、网络设备及通信系统 | |
CN103259632B (zh) | 基于续采单传模型的无线传感网络数据可靠汇聚方法 | |
CN108881008A (zh) | 一种数据传输的方法、装置和系统 | |
CN104883335B (zh) | 一种全硬件tcp协议栈实现系统 | |
US8605578B1 (en) | System and method for handling of destination host side congestion | |
CN101436978A (zh) | 使用udp协议进行可靠数据传输的方法 | |
US20060271680A1 (en) | Method For Transmitting Window Probe Packets | |
CN107787570A (zh) | 轻量传送协议 | |
CN106302426A (zh) | 一种基于fpga的带重发机制的udp协议栈实现方法 | |
CN110167073A (zh) | 传输数据的方法、设备和无线网络系统 | |
CN108235379A (zh) | 一种数据传输的方法及设备 | |
CN203590259U (zh) | 万兆以太网与RapidIO网络转换控制器 | |
CN106416112A (zh) | 一种数据传输的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170104 |
|
WD01 | Invention patent application deemed withdrawn after publication |