新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA的UDP硬件发送模块设计与实现

基于FPGA的UDP硬件发送模块设计与实现

作者:徐渊 陈耀宗 朱明程时间:2013-02-26来源:电子产品世界

  发送过程及协议介绍

本文引用地址:http://www.eepw.com.cn/article/142404.htm

  数据发送与接收过程

  发送、接收包的过程如图1所示。  

 

  其中,UDP协议在OSI模型中的第四层,即传输层;而IP协议在网络层,传输层的下一层。

  要发送的数据经过传输层和网络层,到达数据链路层,经过MAC发送出去。所以还需加上MAC帧头,以符合帧格式。整帧结构如表1。  

 

  UDP协议特点

  UDP协议特点如下。

  ⒈UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

  ⒉由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台主机可同时向多个客户机传输相同的消息。UDP有不提供数据报分组、组装和不能对排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。

  ⒊UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

  ⒋吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。

  ⒌UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表。

  ⒍UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加帧头(header)后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。

  由于UDP是不可靠的,若在网络质量令人不十分满意的环境下,UDP协议丢失会比较严重。但是,由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。

fpga相关文章:fpga是什么




关键词: UDP 数据包 以太网

评论

技术专区

关闭