
基于可靠数据传输协议的UDP实现龙源期刊网: 徐坤赵亮来源: 《技术创新导报》 2019 17摘要;若要: UDP协议提供简单的操作,而不是可靠的数据传输服务. 为了同时获得数据传输的效率和可靠性,本文模仿TCP协议,在应用层建立了消息确认和超时重传机制. 基于UDP协议,设计了一种可靠的数据传输方法,并应用于工程项目. 本文讨论了这两种协议的特征. 基于UDP协议,设计了一种可靠的数据传输方法,并应用于工程项目. 关键字: UDP;可靠的传输;消息确认和超时重传机制. CLC编号: TP3017 ;;;;;;;;;;;;;;;文件识别码: A ;;;;; ;;;货号: 1674098X(2019)06(b)-0007-02 1;概述随着计算机网络技术的飞速发展,网络数据传输的实时性和可靠性越来越受到人们的重视. 数据传输的性能与所选的网络协议密切相关. 当前,使用最广泛的计算机协议是TCP / IP协议. TCP / IP协议栈中与数据传输有关的协议主要包括TCP和UDP. 这两个协议各有优点. TCP协议是面向连接的并且更可靠; UDP协议是面向操作的,简单高效.

在一些实际工程应用中,期望同时获得实时,高效和可靠的数据传输. 2; UDP协议和TCP协议之间的比较2.1 TCP协议的功能TCP(传输控制协议)提供了一种面向连接的通信方法,以实现可靠的传输. 两个通信方通过“三向握手”机制进入连接状态. 通过设置滑动窗口,接收方仅允许发送方发送其缓冲区可以容纳的数据以实现流控制. 发送方对用户数据进行分段,而接收方对分段进行重新组织和排序. 接收者验证接收到的数据. 如果数据校验和中有错误,则将数据丢弃. 如果数据校验正确,则接收方向发送方发送确认消息. 发送方在发送完数据后启动计时器,如果在超时时间内未收到确认消息,它将再次将数据发送给接收方. 2.2 UDP协议的功能UDP(用户数据报协议)为操作提供了一种简单但不可靠的数据传输服务. 发送数据时,没有建立明确的连接,并且不提供可靠性,也不提供数据包确认,分段和重组顺序以及流控制. UDP仅负责从应用程序层发送数据包,但不能保证数据可以到达目的地. 因此,存在丢包,重复和乱序的可能性. 接收端进行数据校验,并丢弃校验和错误的数据,与TCP相同. 2.3 UDP和TCP协议的比较简而言之,UDP和TCP协议之间的区别如表1所示.

表1显示TCP在数据传输的可靠性方有明显的优势. 由于建立了清晰的连接,加上确认和超时重发,流控制等功能,终端之间的数据传输稳定可靠. 这种通信方法更适合于网络环境复杂的广域网,并且数据传输可能跨越多个不可预测的网段. 但是,如果我们的应用程序是在网络环境简单明了的局域网中,并且每个网段的因素都是可预测的udp如何保证可靠传输,或者当我们更加注重快速数据传输而不是数据完整性时,UDP更适合通信协议. 其优势体现在以下几点. (1)充分利用局域网的可靠性,无需连接,节省系统开销; (2)不存在碎片重组管理,节省系统开销; (3)无需确认数据碎片,提高了网络使用效率; (4)支持组播和广播,提高数据传输效率. 龙源期刊网对于局域网,在实际工程应用中,我们可以学习TCP的一些特性,并在UDP的应用层进行改进,从而提高数据传输的可靠性,同时实现高效的数据传输. 3; UDP协议下可靠数据传输的思想对于具有相对简单网络拓扑的LAN,已知网络各段的性能参数,通信质量可预测,可靠性相对较好,因此在网络数据传输期间建立的连接步骤可以省略. 当网络环境处于不良状态时,丢包的可能性很小.

解决此问题的方法是遵循TCP协议,并在应用程序层建立消息确认和超时重传机制. 所谓消息确认和超时重传机制,是指当接收方从发送方接收到数据消息后,立即向发送方返回一条确认消息. 发送方发送数据消息后,启动计时器. 当计时器到达时如果在一定时间内未收到相应的确认消息,则重新发出数据消息. 采用多次重传的方法可以解决偶尔丢包的问题. 4; UDP协议下可靠数据传输的实现4.1消息结构的设置UDP数据报分为两种类型: 数据消息和确认消息. 数据消息负责发送业务信息,确认消息负责响应收到的数据消息. 有关数据消息结构的定义,请参见表2. (字段1-3是消息标题)确认消息仅包含上表中显示的标题,而不包含数据字段. 对于传出消息,序列号从1开始并按顺序增加(对于随时间重新传输的数据包,将保留原始序列号),然后在255之后循环为1. 发送数据消息时,在序列号中的确认号消息设置为0;发送确认消息时,确认号设置为接收到的数据消息的序列号. 4.2消息确认和超时重传机制的实现首先,建立两个环形数据缓冲区: 消息缓冲区和超时缓冲区,并同时启动一个计时器. 消息缓冲区存储要确认的消息,超时缓冲区存储超时表. 计时器会定期发出消息,以便在超时后重新发送消息时进行倒计时.

超时表是一种数据结构,记录了数据包的重传次数和超时值. 有关结构定义,请参见表3. 应用程序为每个发送的数据消息维护一个超时表. 当接收方确认发送的数据消息后,将从超时缓冲区中删除超时表. 消息确认和超时重传机制的过程如下. (1)发送数据消息udp如何保证可靠传输,将数据消息放入消息缓冲区,并将与消息相对应的超时表放入超时缓冲区. 超时表中的重传次数设置为初始值0,并根据需要确定超时值,例如100ms. 龙源日记网(2)收到消息后,首先判断确认号(假定为ACK). 如果ACK为0,则表示已接收到数据包. 根据数据包的序列号sn,立即反馈确认消息,并将确认号设置为sn
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-243006-1.html
当然美帝没那么老实
台湾经济分分钟破产
官二代吧