首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏阿牛的牙

    RTT & RTO

    RTT(Round-Trip Time):往返时延。是指数据从网络一端传到另一端所需的时间。通常,时延由发送时延、传播时延、排队时延、处理时延四个部分组成。 TCP发送一个报文时,就启动重传计时器,有2种情况:   1.若在计时器超时之前收到了特定报文的确认,则撤消这个计时器;   2.特定数据报在计时器超时前没有收到确认,则重传该数据报,并把计时器复位 RTT 简单来说,就是我发送一个数据包,然后对端回一个ack,那么当我接到ack之后,就能计算出从我发送出包到接到过了多久,这个时间就是RTTRTT的计算是很简单的,就是一个时间差。

    2.1K20编辑于 2022-09-07
  • 来自专栏程序猿的那点事

    Android RTT : 通过 RTT 确定 WLAN 位置信息

    https://source.android.google.cn/devices/tech/connect/wifi-rtt Android 9 中的 WLAN 往返时间 (RTT) 功能允许设备测量与其他支持设备的距离 用户可以利用 WLAN RTT(往返时间)API 提供的 WLAN 定位功能,测量距附近支持 RTT 的 WLAN 接入点和 WLAN 感知对等设备的距离。 前台应用执行 WLAN RTT 操作不受限制,但后台应用执行此类操作时会受限。 WLAN RTT 和相关精确时间测量 (FTM) 功能由 IEEE 802.11mc 标准规定。 检查 WLAN RTT 是否可用 设备上可能存在 WLAN RTT,但由于用户已禁用 WLAN,该功能目前或不可用。 WLAN RTT 的可用性随时可能发生变化。

    2.7K20发布于 2020-07-15
  • 来自专栏嵌入式程序猿

    STM32H743+RTT-Studio

    RTT Studio 现在RTT-Studio已经更新到了1.15版本,记得第一个版本出来的时候就试用过,前两天更新了1.15版本,今天刚好在H743的板子上使用了下,功能强大,而且大大方便了原来使用集成 Studio使用 其实最早IDE出来的时候给大家简单介绍过,因为最近刚好在做基于H743的项目,而之前是用freeRTOS做的,现在想在做个RTT的版本,就直接选择用RTT Studio来开始。

    1.7K10发布于 2020-11-06
  • 来自专栏Rice嵌入式

    如何使用CMake编译RTT微内核

    《如何移植RTT微内核到树莓派3B》 目前RTT微内核是RTT提供的体验版本。它采用了scons构建。作者也是刚接触scons,不是很了解,在这不过多的说明。 不是因为scons不好,而是之前作者在写关于cmake的文章中,熊大(RTT的创始人)看到,然后在交流中,熊大说可以采用cmake进行编译。所以我也是冒着尝试的想法,开始了使用cmake去构建微内核。 microkernel_sdk_dir "${CMAKE_SOURCE_DIR}/sdk") set(microkernel_apps_dir "${CMAKE_SOURCE_DIR}/apps") project(rtt_microkernel project(rtt_microkernel) 6.使能可以支持的语言,这里使能C语言和汇编语言。如果不是能,则相关文件不会进行编译。 link.txt文件内容如下: 编译测试: 1.测试应用如下: 2.生成可执行文件:rtt_microkernel.elf. 3.运行验证(烧录到树莓派上进行验证): 如上是整个测试以及CMakeLists.txt

    2.6K20编辑于 2022-05-10
  • 来自专栏Rice嵌入式

    【GD32F310开发板试用】基于RTT Nano的RTT 软件包使用

    在评测期间,我移植RTT完整版本,发现移植完,其实资源已经所剩无几了,而且裁剪也没有意义,这款芯片不适合移植RTT的完整版本。 于是我选择移植RTT的nano版本,并且适配完整版本的PIN驱动接口和I2C驱动接口。即可完美的适配RTT的软件包。 rtt nano移植说明 移植rtt nano的过程很简单,完全按照官方的教程即可。 RTT的软件包是基于他的驱动框架进行设计的,而nano增加驱动框架显得有点重,所以可以可以封装一层RTT的驱动框架接口。而这一封装接口,我在去年已经实现了,并且把教程提交到RTT的文档中心了。 rtt 软件包在nano中的使用 因为我主要适配了RTT的PIN驱动接口和I2C驱动接口,所以我选择一个使用I2C接口的传感器软件包--as7341,其实这个软件包也是我共享给RTT的其中一个软件包,所以选择最熟悉的

    78420编辑于 2022-05-10
  • 来自专栏cwl_Java

    速读原著-TCPIP(往返时间RTT的例子)

    第21章 TCP的超时与重传 21.4 往返时间RTT的例子 在本章中,我们将使用以下这些例子来检查 T C P的超时和重传、慢启动以及拥塞避免等方方面面的实现细节。 21.4.1 往返时间RTT的测量 在图2 1 - 2左边的时间轴上有三个括号,它们表明为进行RT T计算对哪些报文段进行了计时,并不是所有的报文段都被计时。 21.4.2 RTT估计器的计算 让我们来看一下RT T估计器(平滑的RT T和平滑的均值偏差)是如何被初始化和更新,以及每个重传超时是怎样计算的。 变量A和D分别被初始化为0和3秒。

    1.4K30发布于 2020-03-13
  • 来自专栏全栈程序员必看

    线程池参数调优_rtt线程池

    本文主要介绍 TiKV 线程池性能调优的主要手段,以及 TiKV 内部线程池的主要用途。

    1K20编辑于 2022-11-09
  • 来自专栏网络加速

    QUIC 0-RTT实现简析及一种分布式的0-RTT实现方案

    RTT。 由于TLS是建立在TCP之上的, 0-RTT没有计算TCP层的握手开销,因而对用户来说,发送数据之前还是要经历TCP层的1RTT握手, 因而不是真正的0-RTT握手。 首次握手要多一个RTT询问server端的0-RTT握手公钥,此询问过程不携带任何应用层数据, 因此是1-RTT握手。 [QUIC 0-RTT握手] 3. QUIC 0-RTT实现简述 上文简述了QUIC握手的密钥协商过程,首次需要询问一次Server以获取SCFG,从而获取存储于其中的0-RTT握手公钥。 在此基础上进一步分析了QUIC的0-RTT建连是如何实现真0-RTT握手的。接着结合QUIC的源码, 浅析了QUIC需要如何实现以启用0-RTT特性。

    9.9K63发布于 2020-03-05
  • 来自专栏计算机工具

    信道,流量控制,滑动窗口概念,ARQ,RTT

    RTT(Round-Trip Time): 往返时延。在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。

    33310编辑于 2024-12-16
  • 来自专栏wenzi嵌入式软件

    RTT 是如何管理和构建工程的?

    那对于 rtt 来讲,它又是如何管理和构建工程的呢?下面笔者将从一个工程的目录结构开始来进行阐述。 工程目录结构 下图是一个STM32f4 基于 rtt 的一个工程目录: ? packages:rtt 存在丰富的软件包,这个文件夹存放的就是我们使用的软件包的相关文件。 rt-thread:这个文件夹存放的就是 rtt 内核以及组件的相关文件。 rtconfig.h:这个是极为关键的一个文件,rtt 进行内核裁剪实际上也就是通过这个文件里的宏定义来关闭或者打开 rtt 所具备的功能。 rtt 的相关功能。 同时,RTT 采用 scons 来进行构建工程,通过 SConscript 控制文件和 group 加入到工程中进行编译。

    1.8K10发布于 2021-03-04
  • 来自专栏音视频技术

    通过QUIC 0-RTT建立更快的连接

    Attack of the clones 0-RTT连接恢复并非那么简单,它会带来许多意外风险及警告,这正是为什么Cloudfare默认程序不启用0-RTT连接恢复的原因。 首先,0-RTT连接恢复是不提供forwardsecrecy的,针对连接的secret parameters的妥协将微不足道地允许恢复新连接0-RTT阶段期间,发送applicationdata 进行特定的妥协 在0-RTT阶段之后、或握手之后发送的数据,仍然是安全的。 这使得origins对于安全的端点进行0-RTT请求更有可能,例如网站的索引页面是对于0-RTT最有用处的地方。 One stop shop for all your 0-RTT needs 就像之前的TLS 1.3 ,我们现在已支持QUIC的0-RTT恢复。

    2.7K20发布于 2019-12-25
  • 来自专栏音视频技术

    QUIC之拥塞控制和0-RTT连接建立

    0-RTT连接建立 QUIC的第二个性能方面是关于在新的连接上发送有用的HTTP数据(比如网页资源)前需要多少个RTT。 有人说QUIC比TCP+TLS快两个甚至三个RTT,但我们将看到实际上只快一个RTT。 “ 你知道吗? 这意味着QUIC握手仅需一个RTT就可以完成,要比TCP + TLS 1.3少一个RTT(见上图2c)。 你现在也许很困惑,因为你之前很可能读到过:QUIC要比TCP快两个甚至三个RTT,而不止一个。 我们看到即使使用了0-RTT,QUIC依然只比运行最佳的TCP + TLS 1.3协议栈快一个RTT。那些称QUIC比图2(a)和图3(f)快三个RTT的说法(如我们所见)有失公允。 QUIC 0-RTT连接建立 最糟糕的地方是,当使用0-RTT时,由于安全性,QUIC甚至无法很好地利用增加的这个RTT。为了理解这点,我们需要理解TCP握手存在的原因之一。

    1.1K10编辑于 2022-09-14
  • 来自专栏嵌入式实验基地

    RT-Thread OLED驱动流程(RTT-Studio平台))

    最近RT-Thread举办了一个RTT全连接大赛,也是借着这次机会,申请了一块RTT的STM32H750为主控芯片的RTT核心板,做工还是很漂亮的,老规矩,话不多说,上干货!

    2.5K41发布于 2021-08-16
  • 来自专栏Rice嵌入式

    如何移植RTT微内核到树莓派3B

    很高兴参与RTT在树莓派上搭建的微内核的体验版。这篇文章描述如何移植,以及体验。该工程我目前在ubuntu16.04和ubuntu18.04上编译运行都没问题。 还没将内核源码开源,不过据RTT的老大说,RT-Thread Smart的内核源码后续将开源。 rice@rice:~/rtt/rtthread-microkernel-v2/tool/env-cli$ cd ../ rice@rice:~/rtt/rtthread-microkernel-v2/ :~/rtt$ rice@rice:~/rtt/rtthread-microkernel-vmv gcc-arm-none-eabi-5_4-2016q3-20160926-linux gcc-arm-none-eabi rice@rice:~/rtt$ sudo cp gcc-arm-none-eabi /opt 修改工程目录下的.config。

    1.1K30编辑于 2022-05-10
  • 来自专栏草根博客站长Live

    开始体验 TLSv1.3 的 Early data (0-RTT)

    第二步:TCP 握手( 1 RTT) 和服务器建立 TCP 连接,客户端向服务器发送 SYN 包,服务端返回确认的 ACK 包,这会花费一个往返(1 RTT) 第三步:TLS 握手 (2 RTT) 该部分客户端会和服务器交换密钥 ,同时设置加密链接,对于 TLS 1.2 或者更早的版本,这步需要 2 个 RTT 第四步:建立 HTTP 连接(1 RTT) 一旦 TLS 连接建立,浏览器就会通过该连接发送加密过的 HTTP 请求。 2 RTT 变为 1 RTT。 总结: 建立新连接 :4 RTT + DNS 查询时间 访问刚浏览过的连接:3 RTT + DNS 查询时间 TLSv1.2 需要 2 个 RTT 完成 TLS 协商,TLSv1.3 只需要一个。 而重复连接 TLSv1.2 需要 1RTT,TLSv1.3 Early data 就可以 0RTT 重复连接,也就是说 TLSv1.3 比 TLSv1.2 少了一个 0RTT,TLSv1.3 比 TLSv1.2

    3.6K30发布于 2019-05-15
  • 《打破固有认知:RTO对RTT说“不”的底层逻辑》

    RTO(重传超时时间)与RTT(往返时间)的关系,看似只是简单的数值关联,实则藏着网络通信最深刻的生存逻辑——RTO从不甘心成为RTT的固定倍数。 当你在咖啡厅用Wi-Fi发送消息时,相邻设备的信号干扰可能让RTT突然翻倍;而在跨洋光缆传输中,海底洋流的微小扰动都可能导致RTT出现毫秒级波动。 若简单将RTO设为RTT的固定倍数,相当于用静态的尺子去丈量动态的河流。假设某条链路的平均RTT是100ms,固定3倍的RTO便是300ms。 它需要像经验丰富的航海家,既根据洋流(RTT历史数据)预判航线,又要为突发风浪(网络抖动)预留缓冲。TCP协议通过复杂的算法,让RTO始终保持对RTT变化的敏感。 它会持续追踪RTT的平均值,同时记录每次波动的幅度——就像气象站既统计平均气温,也关注温差变化。当RTT出现小幅波动时,RTO会微调自身数值;若遇到剧烈波动,它会快速放大安全边际。

    17800编辑于 2025-07-13
  • 来自专栏Rice嵌入式

    R-Plan上位机-cmd console & rtt ota pack (1)

    功能 目前已经完成了两个功能- 《cmd console》 & 《rtt ota pack》 这两个功能比较相似,都是调用QT的QProcess的API,即调用外部程序。 问题 如何将按键值通过QProcess输入到cmd.exe--比较麻烦 输入,目前还有一些问题--这个问题不太大 演示 rtt ota pack rtt ota pack比较简单,rtt提供了工具-

    63230编辑于 2022-05-10
  • 来自专栏take time, save time

    三十天学不会TCP,UDPIP网络编程 -- RTT的计算

    如果你还记得前面的关于的PING那一篇,里面就有一个time指示了来回时间,但是这个是ICMP的来回时间,和TCP的这个RTT是完全不一样的概念。通过wireshark你可以看到每一次的RTT的值。 对于这第一个公式,具体实际中的做法是这样的,首先采样几次RTT的值,然后在第一次迭代的时候SRTT的初始值为RTT,后面就是根据每次计算出来的SRTT来计算就行了。 问题就在这个RTT的计算上,前面说过RTT的计算是接收到ACK的时间和包发送出去的时间的差值,在正常情况下还好,如果是在采样的过程中发生了重传,那么到减去的时间是第一次发送的时间还是重传发送的时间呢? 其原理是用最新采样的RTT和平滑过的SRTT的差距来作为另一个影响因子。 SRTT = SRTT + α * (RTT - SRTT) DevRTT = (1-β) * DevRTT + β *(|RTT - SRTT|) RTO = μ * SRTT + δ * DevRTT

    2.4K100发布于 2018-04-16
  • 来自专栏码海

    为了解决这个 RTT 过长的问题,我祭出了大招!

    问题描述 前端同学发现新开发的项目接口有 1/3 概率出现 RTT(请求往返时间)大于 3 s 的情况,以登录接口为例,Chrome 请求所花时间如下 ? 正常的 RTT 在几十 ms 左右,所以 3s 这个时延肯定不正常,于是着手排查,由于每个接口都可能超过 3s,所以下文皆以登录接口分析为例,因为登录接口逻辑相对比较简单。 排查思路 1. 所以为了排除浏览器本身造成的网络请求过慢,我们最好找一个其它的浏览器比如 Safari 或者终端 curl 请求来再重试下这个请求,看下请求是否依然缓慢,这里我两个方法都试了,用 Safari 也重现了 RTT 大于 3s 的情况,并且我用 curl 在终端请求也发现了 RTT 大于 3s 的情况,如何使用 curl 请求呢,这里提醒一下,大家千万不要傻傻地去构建一个 curl 请求,浏览器的网络请求本身可以导出成

    2.2K40发布于 2021-06-17
  • 来自专栏云微的一点分享

    eBPF入门实践教程十四:记录 TCP 连接状态与 TCP RTT

    tcprtt是一个用于测量 TCP 往返时间(Round Trip Time, RTT)的程序,它将 RTT 的信息统计到一个 histogram 中。 在这个 map 中,键是 64 位整数,值是一个hist结构,这个结构包含了一个数组,用来存储不同 RTT 区间的数量。 接下来,我们读取 TCP 连接的srtt_us字段,这个字段表示了平滑的 RTT 值,单位是微秒。然后我们将这个 RTT 值转换为对数形式,并将其作为 slot 存储到 histogram 中。 通过以上的处理,我们可以对每个 TCP 连接的 RTT 进行统计和分析,从而更好地理解网络的性能状况。 如果设置了show_ext参数,将 RTT 值和计数器累加到 histogram 的latency和cnt字段中。

    1.2K20编辑于 2023-08-14
领券