`
jimmee
  • 浏览: 538030 次
  • 性别: 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失败,结束

分享到:
评论

相关推荐

    UDT协议-基于UDP的可靠数据传输协议---UDT实现源码

    UDT协议的源码分析可以帮助我们深入理解其工作原理,如何在不牺牲可靠性的前提下实现高效的UDP数据传输。通过阅读源码,我们可以学习到如何设计和实现一个高性能的传输层协议,这对于网络编程和大数据传输领域的研究...

    UDT协议-基于UDP的可靠数据传输协议.docx

    UDT(User Datagram Transport)协议是一种基于UDP(User Datagram Protocol)的可靠数据传输协议,设计目的是为了解决在高带宽延迟乘积(Bandwidth-Delay Product, BDP)环境中,传统的TCP协议效率低下的问题。...

    UDT协议-基于UDP的可靠数据传输协议.pdf

    UDT(User Datagram Transport)协议是一种基于用户数据报协议(UDP)的可靠数据传输协议,设计用于解决在高带宽时延乘积(BDP)网络环境下的传输效率和公平性问题。传统的TCP协议在BDP较大时表现不佳,因为其拥塞...

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

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

    UDT协议-基于UDP的可靠数据传输协议 (2).pdf

    UDT(User Datagram Transport)协议是一种基于UDP(User Datagram Protocol)的可靠数据传输协议,主要设计用于处理高带宽时延乘积(BDP)环境下的高效数据传输。在传统的TCP协议中,由于Additive Increase ...

    UDT协议-基于UDP的可靠数据传输协议 (2).docx

    UDT(User Datagram Transport)协议是一种基于用户数据报协议(UDP)的可靠数据传输协议,设计初衷是为了在高带宽时延乘积(BDP)的网络环境中提供高效、公平和稳定的传输服务,尤其适用于大数据量传输场景,如网格...

    基于UDP的可靠传输(停等协议)

    通过这种方式,虽然基础是不可靠的UDP协议,但通过应用层的停等协议,我们可以实现可靠的数据传输,保证了数据的正确性和完整性,适用于对实时性要求较高但又需要基本可靠性的场景。在实际应用中,还可以考虑优化,...

    网络程序设计-基于UDP的文件传输

    通过以上分析可以看出,该基于UDP的文件传输程序实现了基本的文件发送与接收功能。尽管UDP本身不提供可靠性保障,但通过合理的程序设计仍可以在一定程度上保证文件传输的成功率。对于需要高效传输的场合来说,这是一...

    c++实现基于停等协议的可靠udp传输的即时通讯系统(MFC)

    在本文中,我们将深入探讨如何使用C++编程语言和MFC(Microsoft Foundation Classes)库来构建一个基于停等协议的可靠...通过实现基于停等协议的可靠UDP通信,开发者能够更好地理解网络通信的复杂性和可靠性的重要性。

    基于UDP的GBN协议(C语言实现)

    这个项目可以帮助我们学习如何在实际应用中结合基础网络知识和高级协议,提高数据传输的可靠性。 在Linux环境下,可以利用标准的socket API来编写UDP和GBN相关的代码。开发过程中,可能需要使用`gcc`编译器、`make`...

    udt UDT网络传输协议开源包,是基于UDP的可靠传输协议

    UDT(User Datagram Transport)是一种高性能的、基于UDP(User Datagram Protocol)的可靠传输协议,专为大数据量的网络传输而设计。它弥补了UDP在数据可靠性方面的不足,同时尽可能保持了UDP的低延迟和高吞吐量...

    UDP可靠性传输(使用滑动窗口机制实现)

    "UDP可靠性传输(使用滑动窗口机制实现)"这一标题指出我们将讨论如何在使用用户数据报协议(UDP)时实现可靠的数据传输。通常,UDP是一种无连接的、不可靠的传输层协议,它不保证数据包的顺序、不丢失或重复。然而...

    基于UDP的可靠传输

    总的来说,基于UDP的可靠传输是通过一系列复杂的设计来模拟TCP的可靠性特性,但又尽可能保持UDP的低延迟和高效性。这需要开发者对网络协议有深刻的理解,并能够灵活应用各种技术来应对网络环境的挑战。

    一种基于UDP的可靠传输系统设计及Java实现.pdf

    本文介绍了一种基于UDP协议的可靠传输系统的设计,该系统通过在应用层增加一系列机制来提升UDP的可靠性,从而使其能够用于需要稳定和可靠数据传输的场景。系统的设计采用了Java语言进行实现,因为Java提供了跨平台的...

    rdt.zip_GBN协议_java实现gbn_rdt-_udp 模拟rdt_开发可靠的udp

    GBN(Go-Back-N)协议是一种广泛用于实现可靠数据传输的协议,它基于面向连接的TCP和无连接的UDP协议之上,增加了可靠性保障。在这个“rdt.zip”压缩包中,包含的是一个使用Java实现的GBN协议,它模拟了UDP协议的...

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

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

    HPSocket--UDP传输客户端应用实例

    UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议,它不保证数据包的顺序到达,也不提供重传机制,但因其轻量级和低延迟特性,在实时性要求高的场合下广泛应用。在矿产产量数据采集场景中,数据的...

    网络协议TCP/IP实验六 UDP 协议分析实验

    - **TFTP(Trivial File Transfer Protocol)**:简单的文件传输协议,基于UDP实现,主要用于文件的下载与上传。 - **配置**: - 安装TFTP服务器软件,如Cisco TFTPServer。 - 在指定目录下放置待传输的文件。 - ...

Global site tag (gtag.js) - Google Analytics