首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏简栈文化

    UDP如何实现可靠传输

    传输层无法保证数据的可靠传输,只能通过应用层来实现了。实现的方式可以参照tcp可靠传输的方式,只是实现不在传输层,实现转移到了应用层。 最简单的方式是在应用层模仿传输层TCP的可靠传输。 目前有如下开源程序利用udp实现了可靠的数据传输。分别为 RUDP、RTP、UDT。 RTP 并不保证传送或防止无序传送,也不确定底层网络的可靠性。 *UDT的主要目的是支持高速广域网上的海量数据传输*,而互联网上的标准数据传输协议TCP在高带宽长距离网络上性能很差。 顾名思义,UDT建于UDP之上,并引入新的拥塞控制和数据可靠性控制机制。 它同时支持可靠的数据流传输和部分可靠的数据报传输。由于UDT完全在UDP上实现,它也可以应用在除了高速数据传输之外的其它应用领域,例如点到点技术(P2P),防火墙穿透,多媒体数据传输等等。

    5.8K61发布于 2021-11-04
  • 来自专栏韩曙亮的移动开发专栏

    【计算机网络】传输层 : TCP 可靠传输 ( 可靠传输机制 | 快速重传机制 )

    文章目录 一、TCP 可靠传输 二、TCP 可靠传输机制 三、TCP 快速重传 机制 一、TCP 可靠传输 ---- 可靠性 : 保证 接收方进程 从 TCP 缓冲区 中读取的数据 与 发送方进程 发送的数据 完全一致 ; ① 网络层 可靠性 : 只 负责 提供 最大努力交付 , 是 不可靠传输 ; ② 传输可靠性 : 传输层 使用 TCP 协议 实现 可靠传输 ; 二、TCP 可靠传输机制 ---- TCP 实现可靠传输机制 : ① 校验 : 使用 伪首部 进行校验 ; ② 序号 : 每个字节编一个序号 ; 序号 字段 的值是 报文段 第一个字节的序号 ; ③ 确认 : 累计确认 ; ④ 重传 :

    1.9K00编辑于 2023-03-28
  • 来自专栏Java后端修炼

    TCP 传输为什么可靠

    这一定程度上保证了TCP传输可靠性,而不是我随便想发就发,不管你收到了没有。 3)重传机制 上面讲到了确认应答,那么如果没有收到应答应该在何时开始重传呢? 考虑到超时重传需要RTO时间,这会在一定程度上影响到传输的效率,那么有没有更快速的方法去判断包丢失呢? 这就是快速重传可以实现的,我们都知道传输的报文包的seq是顺序出去的,那么假设发送端发生了包a、包b、包c、包d,如果包b在中途丢了,在这个传输过程中对于接收端来说,他会先回复包a的确认,之后如果没有收到包 它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。确认和超时其实就是上面2)、3)两点的内容,这不过这里聚合起来讲。 这种方式显而易见的可以保证可靠性,但是问题也很显然,如果对端确认得慢,那么传输速率也会随之被影响。

    1.2K20编辑于 2022-09-20
  • 来自专栏笔记本

    RabbitMQ的消息可靠传输

    RabbitMQ的消息可靠传输AMQP协议架构RabbitMQ是基于AMQP协议实现的消息中间件,AMQP有一套自己的架构,RabbitMQ的架构也基于此。如图所示就是AMQP协议的基础架构。 消息可靠性保障消息丢失的场景1.生产者发送消息的过程中,Broker宕机、网络断开,或者是生产者发送的消息,MQ没有办法接收(交换机不匹配、无法路由到队列中)。 总之,如果不做可靠性保障,消息丢失是不可避免地会发生的。 注意点上面的消息可靠性保障有几个注意点:因为ack机制需要知道这个ack是确认了哪条消息的成功投递,所以每条消息都要有一个唯一id,可以使用默认的也可以通过UUID手动给定。 RabbitMQ 提供的 confirm、持久化、ack 机制 仅能在网络良好、组件正常时提供可靠性保证。

    28021编辑于 2025-07-08
  • 来自专栏全栈程序员必看

    叙事传输的说服机制_简述传输层实现可靠传输措施

    比如某个时刻,系统中只有1个UE在进行上行大数据量的传输,如果将PUCCH放在频带的中间,就会造成eNB只能给该UE分配有限的RB资源,造成资源浪费的同时,也不能满足UE的流量需求。如下图所示。 (图8) (3)公式中,CURRENT_TX_NB的含义在Type1类型的跳频也有用到,表示当前TB块的HARQ传输次数。 (图10) (图11) (5)公式中使用的C序列,请参考博文《LTE下行物理层传输机制(1)-天线端口Antenna Port和小区特定参考信号CRS》中的相关描述。

    95030编辑于 2022-11-17
  • 来自专栏程序生涯

    TCP 协议如何保证可靠传输

    二、滑动窗口   上面笼统地说了tcp保证可靠传输的机制,下面说说如何用滑动窗口来实现。 为什么要使用滑动窗口 因为发送端希望在收到确认前,继续发送其它报文段。 值得注意的几个点 1上图是cwnd随传输轮次的变化,每过一个RTT就算一轮。 2超时就可以认为是拥塞了 快重传和快恢复:上一个算法的加强版 ?

    3.8K20发布于 2020-08-14
  • 来自专栏C/C++与音视频

    流媒体传输协议浅析(三)可靠UDP传输方案

    一、引言 从流媒体的业务特征和TCP,UDP各种特点,UDP在媒体传输方面具有很大优越性,但UDP可靠性需要业务开发这投入大量的人力;相反 tcp 技术成熟,可以复用已稳定的http 服务器技术,不需要投入人力和技术解决可靠性问题 UDP传输方案 既然udp是音视频传输的理想方案,但udp可靠性工作需要投入大量工作,技术门槛高,小团队几乎望而却步。 类似的sctp,quic,kcp的可靠UDP传输方法某些大厂开始引入媒体传输中,下面介绍几种目前比较流行的可靠UDP技术。 参考实现:https://github.com/skywind3000/kcp 3)QUIC QUIC是Google实现的一种可靠UDP传输协议,并且已经被选择作为HTTP/3的基础。 不是一种可靠UDP协议,而是一种跟TCP/UDP平级的传输层协议,是IETF在2000年指定的标准协议。

    2.8K30编辑于 2022-06-14
  • 来自专栏码出code

    SpringBoot 整合 RabbitMQ 实现消息可靠传输

    消息的可靠传输是面试必问的问题之一,保证消息的可靠传输主要在生产端开启 comfirm 模式,RabbitMQ 开启持久化,消费端关闭自动 ack 模式。 消息丢失分析 一条消息的从生产到消费,消息丢失可能发生在以下几个阶段: 生产端丢失:生产者无法传输到 RabbitMQ 存储端丢失:RabbitMQ 存储自身挂了 消费端丢失:存储由于网络问题,无法发送到消费端 ,或者消费挂了,无法发送正常消费 RabbitMQ 从生产端、储存端、消费端都对可靠传输做很好的支持。 生产阶段 生产阶段通过请求确认机制,来确保消息的可靠传输

    56830编辑于 2023-02-26
  • 来自专栏分布式与微服务

    TCP是怎么实现可靠传输

    前言 我们都知道tcp的传输可靠的,那么你知道tcp是如何实现数据的可靠传输的吗?今天就和大家一起探讨一下tcp是如何实现数据可靠传输的。 可靠传输的工作原理 我们知道网络传输是不可靠的,因为网络有着许多的不可控因素。那么要达成可靠传输,我们需要满足以下两点。 这样网络传输的效率非常低。 问题二:如果传输过程中有差错导致接收方没有接收到数据,那么接收端不会恢复确认,而发送方一直等待接收端的答复,那么就形成了死锁。 而TCP正是基于滑动窗口协议来实现可靠传输的,所以我们重点分析滑动窗口协议。 滑动窗口协议 什么是滑动窗口协议? 至此,关于TCP是如何实现可靠传输已经分析完了,相信大家对TCP的可靠传输已经有了一定的理解了。 最后 最后,如果有任何疑问,欢迎在下方评论区留言。

    1K20编辑于 2022-11-18
  • 来自专栏媒矿工厂

    安全可靠传输协议-SRT

    Alex Converse首先介绍了什么是SRT,SRT是一种基于UDP的流媒体传输协议,可以用于网络条件不好的场景。然后解释了为什么选择SRT,主要包括SRT与RTMP两种协议的对比。 附上演讲视频: 附上之前有关SRT的帖子: SRT: 开源的视频传输协议 SRT协议技术讨论 SRT协议的内部工作原理 RTMP vs SRT:延迟与最大带宽的比较 通过SRT Hub和Microsoft

    2K30发布于 2020-02-13
  • 来自专栏贾维斯Echo的博客

    TCP协议-如何保证传输可靠

    TCP协议传输的特点主要就是面向字节流、传输可靠、面向连接。这篇博客,我们就重点讨论一下TCP协议如何确保传输可靠性的。 确保传输可靠性的方式 TCP协议保证数据传输可靠性的方式主要有: 校验和 序列号 确认应答 超时重传 连接管理 流量控制 拥塞控制 校验和 计算方式:在数据传输的过程中 这也是TCP传输可靠性的保证之一。 超时重传 在进行TCP传输时,由于确认应答与序列号机制,也就是说发送方发送一部分数据后,都会等待接收方发送的ACK报文,并解析ACK报文,判断数据是否传输成功。 保证可靠的连接,是保证可靠性的前提。 流量控制 接收端在接收到数据后,对其进行处理。如果发送端的发送速度太快,导致接收端的结束缓冲区很快的填充满了。 拥塞控制是TCP在传输时尽可能快的将数据传输,并且避免拥塞造成的一系列问题。是可靠性的保证,同时也是维护了传输的高效性。

    82750编辑于 2023-10-18
  • 来自专栏DPU

    RDMA - IB规范卷1 - 传输层2(可靠服务-可靠数据报)

    接上篇(RDMA - IB规范卷1 - 传输层2(可靠服务)): https://cloud.tencent.com/developer/article/25163189.7.8 可靠数据报可靠数据报提供可靠的通信 与不可靠数据报传输服务一样,源端节点和源 QP 会提供给响应者。使用可靠数据报的目的是为进行“全对全(all to all)”通信的应用程序节省 QP 名称空间。 (RDETH) - 4 字节中规定的该报头创建要求,以及第 301 页上的 9.6 数据包传输头验证和第 312 页上的 9.7 可靠服务至 9.7.6 中规定的用于处理 RD 消息的可靠传输要求。 响应方 QP 上下文必须设置为支持可靠数据报传输服务。如果可靠数据报数据包到达未配置为 RD 操作的 QP 上下文,响应方应以“NAK 无效 RD 请求”进行响应。 与 RD QP 仅限于与同一可靠数据报域 (RDD) 中的 RD EE 上下文一起使用类似,XRC 传输服务实现了一种等效的 XRC 域机制,用于相同的目的。

    75010编辑于 2025-04-26
  • 来自专栏Java程序猿部落

    如何保证消息的可靠传输

    面试题 如何保证消息的可靠传输?或者说,如何处理消息丢失的问题?

    1.3K10发布于 2019-05-31
  • 来自专栏媒矿工厂

    可靠互联网传输协议(RIST)简介

    引言 视频压缩技术的进步和互联网基础设施的普及,使得流媒体在互联网上广泛传输。但是网络丢包一直是一个困扰人们的问题。 市面上已经有许多私有的解决方案用于解决流媒体传输的丢包问题,但是由于是私有协议,各个厂商的设备之间无法实现互操作性。 为解决在公共网络上的丢包问题,同时解决各厂商设备之间缺乏互操作性的问题,Video Services Forum (VSF) 于2017年初成立了可靠的互联网流传输协议(Reliable Internet 图1 基本RIST系统 RIST的首选流传输协议是RTP配合RTCP。RTP发送端口为偶数P,则RTCP端口为P+1。 数据包可以通过标准单播或多播IP网络从RIST编码器传输到RIST解码器,预计偶尔会遇到数据包丢失的情况。 RIST解码器:RIST解码器负责整个传输系统的大部分处理。

    5.8K30发布于 2019-08-14
  • 来自专栏媒矿工厂

    RIST –可靠的互联网流传输

    本文来自Broadcast focus的技术文章,主题是RIST-可靠的互联网流传输。 从任何地方上网似乎正越来越成为可能。当然,严格意义上讲,这并不正确,但将互联网连接到某个地方的选择正在逐年增加。 虽然RIST越来越被视为流媒体工作流程中可靠、低延迟的一部分,但重要的是要了解它的用途是让广播公司在自己的工作流程中移动视频和将视频移动到云上。 RIST的Simple Profile提供了以下特性: 使用ARQ的可靠传输(包丢失恢复) 重传控制,以停止带宽使用失控 链路聚合 路径冗余 虽然Simple Profile很有用,但是在Main Profile 才开始具有SRT协议的类似的特性,也就是能够加密数据,这是在互联网传输的关键功能。 多流通道 高比特率支持 总之,RIST是一个主要和次要贡献的协议,它允许可靠、低延迟的视频和音频交付作为广播或流工作流的一部分。

    1.3K30发布于 2020-08-11
  • 来自专栏blog1

    计网——可靠数据传输原理

    计网——可靠数据传输原理 最近也是用了几天时间读了一下top-down中运输层的可靠数据传输原理,之后看了一下科大的网课。其中的内容也是相当多,一节课的内容足足学了几天。 在学习这一章之前,我们在早期的学习中了解到这是TCP协议可以实现的功能,在学习TCP如何实现这些功能前,我们先来看如何来传输可靠的数据,即——可靠数据传输原理。 我们假设提供可靠数据传输(rdt)的是运输层(实际上rdt的实现也会在链路层以及应用层),图示说明了我们学习可靠数据传输的框架:为上层提供服务的抽象是:数据可以通过一条可靠的信道传输,借助与可靠信道,数据就不会损坏或丢失 但刚刚提到过,网络层IP协议提供的是不可靠的服务,所以在运输层中,我们需要实现一些协议,来把不可靠的数据传输变为可靠的数据传输,这个协议就是可靠数据传输协议(rdt)。 rdt1.0(经完全可靠信道的可靠数据传输) 首先我们考虑最简单的情况,即底层信道是完全可靠的,没有比特出错,也没有分组丢失。

    1.3K11编辑于 2022-12-26
  • 来自专栏云计算运维

    TCP协议-如何保证传输可靠

    确保传输可靠性的方式 TCP协议保证数据传输可靠性的方式主要有: 校验和 序列号 确认应答 超时重传 连接管理 流量控制 拥塞控制 校验和 计算方式:在数据传输的过程中,将发送的数据段都当做一个16位的整数 image.png 注意:如果接收方比对校验和与发送方不一致,那么数据一定传输有误。但是如果接收方比对校验和与发送方一致,数据不一定传输成功。 确认应答与序列号 序列号:TCP传输时将每个字节的数据都进行了编号,这就是序列号。 确认应答:TCP传输的过程中,每次接收方收到数据后,都会对传输方进行确认应答。也就是发送ACK报文。 这也是TCP传输可靠性的保证之一。 超时重传 在进行TCP传输时,由于确认应答与序列号机制,也就是说发送方发送一部分数据后,都会等待接收方发送的ACK报文,并解析ACK报文,判断数据是否传输成功。 如果这个等待的时间过长,那么会影响TCP传输的整体效率,如果等待时间过短,又会导致频繁的发送重复的包。如何权衡?

    1K00发布于 2021-08-30
  • 来自专栏码出code

    如何保证消息队列的可靠传输

    生产者丢失数据 首先要确保写入 RabbitMQ 的消息别丢,消息队列通过请求确认机制,保证消息的可靠传输

    49310编辑于 2023-02-25
  • 来自专栏IT当时语_青山师_JAVA技术栈

    消息队列如何保证消息可靠传输

    消息队列如何保证消息可靠传输 随着互联网的发展,消息队列已经成为了系统设计中不可或缺的一部分。它可以实现系统之间的异步通信和解耦,提高整体系统的可靠性和性能。 但是,由于网络的不可靠性和系统崩溃等原因,消息在传输过程中可能会出现丢失和重复等问题。为了解决这些问题,消息队列需要采用一系列机制来保证消息的可靠传输可靠传输机制 为了保证消息的可靠传输,常见的机制包括: 持久化存储 在消息发送之前,消息队列需要将消息进行持久化存储,确保消息在遭遇意外情况时也不会丢失。 下面介绍如何使用 JAVA 语言和 Apache Kafka 实现消息的可靠传输。 总结 以上就是消息队列如何保证消息可靠传输的介绍。

    87910编辑于 2023-05-05
  • 来自专栏进步集

    流量控制&可靠传输机制&停止-等待协议

    注:最后有面试挑战,看看自己掌握了吗 文章目录 链路层 流量控制 和传输层的流量控制区别 停止-等待协议 为什么要有停止等待协议 无差错情况 滑动窗口协议 后退N帧协议GBN 选择重传协议SR 可靠传输 流量控制 博主昵称:一拳必胜客 特别鸣谢:木芯工作室 、Ivan from Russia ---- 链路层 流量控制 较高发送速度和较低接受能力的不匹配 流量控制也是数据链路层的一项重要工作 和传输层的流量控制区别 传输层—端到端流量控制-------接收端发送给一个窗口公告 链路层------点对点流量控制,相连结点之间--------接受不下就不回复确认 停止-等待协议 每发送完一个帧就停止发送,等待对方的确认 一直到所有帧都被接受,这是才可以将一批帧按序号交付给上层(网络层) 然后向前移动窗口 超时重传 滑动窗口长度----------不大不小----发送窗口最好等于接收窗口 直冲传出错的真 接收方有缓存 可靠传输 如果接收方收不下就不给确认-----------–滑动窗口--------------流量控制 发送方自动重传-------------------------------滑动窗口-------------可靠传输

    55110编辑于 2022-11-21
领券