`
jimmee
  • 浏览: 529327 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

协议-基于UDP的可靠数据传输协议的实现分析(5)-可靠性怎么保证

阅读更多

发送方的处理:
1) 包发送确认后,由于还没有收到确认,先缓存
2) 收到确认包后,从缓存中删除发送的包
3) 接收方将丢失的包通知过来,或者超过一定的时候,若还没有收到确认的包,进行重传(注意,这个由接收线程触发)

接收方的处理:
1) 接收到包的数据,先将数据放到缓存中,a. 若有丢包现象,通知发送方,同时记录丢失的包 b.若是重传的包,从丢失的列表中删除
2) 发送确认包
3) 丢失的包,超时会让发送方再次发送

一些情况分析:
情况1:发送包a,接收方确认a,发送方收到确认:正常
情况2:发送包a,接收方确认a,发送方没有收到确认:发送方会重发此包,接收方收到此包忽略
情况3:发送包a,接收方没有收到a:发送方重发此包

情况4:发送包a,一直收不到确认,超过一定次数或时间后,结束

情况4:发送包a失败,结束

分享到:
评论

相关推荐

    UDP协议实现点对点高速可靠传输模型

    如何更有效地传输数据是当前计算机网络传输协议的研究热点之一,包括传输的可靠性、高效性、公平性等等。TCP/IP协议是基于连接的协议,它的可靠性、高效性都达到了一般网络应用的要求,所以TCP/IP协议成为了网络应用...

    基于Python实现可靠数据传输协议【100010493】

    基于UDP设计一个简单的停等协议,实现单向可靠数据传输(服务器到客户的数据传输)。 模拟引入数据包的丢失,验证所设计协议的有效性。 改进所设计的停等协议,支持双向数据传输 基于所设计的停等协议,实现一个C/S...

    基于Python实现的可靠数据传输协议.zip

    基于UDP设计一个简单的停等协议,实现单向可靠数据传输(服务器到客户的数据传输)。 模拟引入数据包的丢失,验证所设计协议的有效性。 改进所设计的停等协议,支持双向数据传输 基于所设计的停等协议,实现一个C/S...

    Socket编程-即时通讯工具-基于TCP和UDP协议-包括服务器端和客户端

    支持点到点可靠文件传输(基于UDP协议); 存储在服务器端的数据需要进行强加密; 支持不少于两组用户同时在线交流和传输文件; 文件传输具有良好的性能,能够充分利用网路带宽; 人机交互友好,软件易用性强。

    基于DUP的可靠数据传输的几个实现方法

    基于DUP的可靠数据传输的几个实现方法 ,例如UDT,窗口抖动协议等等。及在应用程序中实现数据的可靠性传输。

    一种提高UDP可靠性的数据传输方法研究 (2012年)

    针对传统的UDP协议数据传输效率高但可靠性差的特点,提出了一种基于分区确认的分包与重组方法,使用自适应拥塞控制机制,并提出乘性增加减性减少(multiplicative increase reduced decrease,MIRD)算法对超时间隔...

    一种基于以太网的嵌入式数据传输速率优化方法研究

    基于以太网的嵌入式数据传输系统在许多领域被普遍采用,系统的传输效率需要提高。基于ARM Cortex-M4内核和常用的嵌入式网络协议栈LwIP,针对点对点数据传输的特点,...同时引入ACK回应机制保障了UDP数据传输的可靠性。

    UDT:基于UDP的数据传输协议

    UDT是一种可靠的基于UDP的应用程序级别数据传输协议,用于广域高速网络上的分布式数据密集型应用程序。 UDT使用UDP通过其自己的可靠性控制和拥塞控制机制来传输批量数据。 新协议可以以比TCP更高的速度传输数据。 ...

    基于UDP的GBN协议 模拟丢包 java

    传输层使用的仍是UDP,但在应用层使用滑动窗口技术,并通过模拟TCP的一些机制以保证UDP的低协议处理开销和获得高通信可靠性。 在开始传输前,不进行tcp的3次握手。 在开始传输的过程中,发送方向接收方发送分组。此时...

    UDP.rar_C++多播_udp 组广播_udp协议

    他不提供可靠性,即只把应用程序传给IP层的数据发送出去,但是并不能保证他们能到达目的.广播和多播是基于UDP协议的两种消息发送机制.广播数据即从一个工作站发出,局域网内的其他所有工作站都能收到它.IP协议下,多播是...

    Ne Plus Ultra:基于UDP的文件传输客户端/服务器应用程序(基于lib UDT)-开源

    基于UDT协议-通过libudt-http://udt.sourceforge.net/ UDT是一种可靠的基于UDP的应用程序级数据传输协议。 UDT是为超高速网络设计的,已用于支持TB级数据集的全局数据传输。 Ne Plus Ultra的构建具有极低的依赖性...

    udt.sdk.4.11.tar.zip

    基于UDP的数据传输协议(UDP-based Data Transfer Protocol,简称UDT)是一种互联网数据传输协议。UDT的主要目的是支持高速广域网上的海量数据传输,而互联网上的标准数据传输协议TCP在高带宽长距离网络上性能很差。...

    基于ARM的移动无线数据传输硬件平台的设计与实现

    基于ARM的移动无线数据传输硬件平台的设计与...软件主要包括μC/OS-II在LPC2292上的移植和TCP/IP通讯协议栈的实现,包括PPP、IP、UDP等协议,将应用程序分解成多任务,简化了应用系统软件设计,提高了系统的可靠性。

    udp.rar_ip电话_udp由ip传输_传输层_多播 控制_视频会议

    UDP在一个较低的水平上完成进程之间的通信,在收到分组的时候没有流量控制机制也没有确认机制,适用于可靠性比较高的局域网。由于UDP采取了无连接的方式,因此协议简单,在一些特定的应用中协议运行效率高。UDP适合...

    快速可靠网络传输协议KCP.zip

    也许你实现了一个P2P,或者某个基于 UDP的协议,而缺乏一套完善的ARQ可靠协议实现, 那么简单的拷贝这两个文件到现有项目中,稍微编写两行代码,即可使用。 技术特性 TCP是为流量设计的(每秒内可以传输多少...

    udt.sdk.4.11.zip

    基于UDP的数据传输协议(英语:UDP-based Data Transfer Protocol,缩写:UDT)是一种互联网数据传输协议。UDT的主要目的是支持高速广域网上的海量数据传输,而互联网上的标准数据传输协议TCP在高带宽长距离网络上...

    基于ARM9的UDP协议栈的设计与实现.pdf

    为了满足以太网通信过程中大数据量的快速传输的需求,往往可以牺牲一些可靠性换来高速的数据传输.根据方案,文中设计了一套基于Y

    java8看不到源码-TCP-over-UDP:一种用于在计算机网络中实现和测试TCPoverUDP的教育工具的实现

    本项目将帮助实现使用UDP传输的TCP协议,学生不允许使用tcp传输,并要求他们实现这两种协议之间的差异并使用udp传输。 例如,tcp 3 次握手或发送/接收方法应由学生自己实现。 在这方面,我们实现了一个新版本的数据...

Global site tag (gtag.js) - Google Analytics