- 博客(14)
- 收藏
- 关注
原创 各种IO操作性能对比
文章目录系统的各种延时对比方式对比测试程序硬件环境测试结果总结系统的各种延时图片摘自性能之巅对比方式对比以下方式的日志记录性能:以udp包的方式发送,涉及到网络IO写文件的方式,涉及到磁盘IOprintf的方式,涉及到显示器IO保存在内存中,仅涉及主存访问对比测试程序代码位置:https://github.com/rlistengr/tool/blob/master/lo...
2019-12-19 19:53:19 883 1
原创 再谈TCP-rto时间的计算
文章目录背景计算方式为什么不能使用被重传过的数据包计算得到的时间戳首次计算非首次计算算法总结rto的设置rto的更新总结背景在做可靠传输的弱网测试时,常常会发现因为一个报文的丢失导致发送端无法发送新数据,比如窗口大小是10,1-9已经被收到,但是0号报文一直丢包,而重传的间隔越来越大,导致有一段时间没有任何报文的收发,直到下次0号报文的重传。这里的原因就在于rto的时间被估值太大,导致重传间隔...
2019-11-14 21:29:08 1984
原创 上下行速率和带宽的关系
文章目录概念1.上行速率2.下行速率3.带宽设置路由器的无线网卡速率工作在全双工模式工作在半双工模式概念1.上行速率指的是本机的发送速率2.下行速率指的是本机的接收速率3.带宽带宽需要分两种情况,假设网卡速率为100Mbps,网卡工作模式为全双工,那么指上行和下行速率都是100Mbps网卡工作模式为半双工,那么指上下和下行的速率和是100Mbps设置路由器的无线网卡速率假...
2019-11-08 10:47:13 7975
原创 ptpd2的使用
文章目录功能介绍编译使用实验结果功能介绍ptpd2是实现了ptp协议的一个用于本地局域网内的多台设备间的时间戳同步的工具。为什么要做时间戳同步?需要测试一个大包从开始发送到完成接收时,延时的时间问题在于发送开始是发送端才能感知的,接收结束是接收端感知的,这就需要发送端和接收端的时间戳同步当然如果发送方每个包都不存在排队的情况,即每个包发送的时间和对端接收的时间几乎相等,那也可以不考...
2019-11-06 10:03:57 5876 7
原创 BBR/Vegas/CUBIC拥塞控制算法对比
文章目录环境结果统计结果分析总结发生丢包时的反应环境基于本地通信,通过tcconfig设置丢包率,rtt和带宽上限。测试程序阻塞发包。结果统计VegasBBRCUBIC不做任何限制6500不稳定,上限不到30007000有时甚至上万带宽突然降低为2Mbps需要稳定的时间13.2827又改成不做限制,恢复到最大带宽的时间0.20.20....
2019-10-29 14:47:20 3184 1
原创 BBR中BW的测量
文章目录BBR中BW的测量非稳态的测量(发包速率上限受app发包速率限制)稳态的测量两者的区别pacing的使用BBR中BW的测量非稳态的测量(发包速率上限受app发包速率限制)只要是个可以使用的样本都会被用来计算bw,但是更新的条件是不受到app发包速率限制,或者大于当前最大的bw这两个条件非常严格,稳态的测量 if (bbr->lt_use_bw) { /* a...
2019-10-24 14:49:08 1249 1
原创 BBR 算法如何与其他算法竞争
文章目录为什么vegas干不过cubicbbr为什么能干过cubic为什么vegas干不过cubicvegas是基于rtt的算法,只要rtt增大就会降低传输速度,而cubic是基于丢包的拥塞控制算法,所以当cubic主机不停地往链路上塞包时,当链路上的buffer慢慢开始填满,所带来的问题是vegas主机的rtt慢慢地增大,导致vegas主机降低发包速率,这样反而让cubic主机可以更加疯狂地...
2019-10-23 20:27:56 657
原创 TCP中的RTT
文章目录有几个关键时间BBR算法中rtt的更新tcp控制块上记录的rtt供定时器模块使用的rto平滑计算如下:首次测量非首次测量有几个关键时间3个。供定时器基础模块使用的rtotcp控制块上记录的rttbbr算法中的记录的rttBBR算法中rtt的更新bbr算法中的min_rtt_us来自样本中的rtt_us,rtt_us来自ack报文中的携带的回显时间戳与中记录的当前时间(这个...
2019-10-22 17:00:58 4630
原创 Linux Fair Queue Packet Scheduler (FQ)公平队列报文调度器
文章目录简介重要接口enqueue():dequeue() :函数分析红黑树的作用什么时候会往红黑树上添加节点什么时候把红黑树上的节点取下来流下一次允许发包时间的计算分数的作用什么时候减分什么时候加分公平体现在哪里总结简介FQ主要用于本地流量调节,某一个套接字上的所有报文被认为是一条流,这条流的速度可以设置在skb->sk上,如果没设置则使用公用的另一套调度。本文关注基于流的调度。代码...
2019-10-21 17:08:47 1999
原创 BBR:Congestion-Based Congestion Control解读
文章目录BBR:Congestion-Based Congestion Control解读测量瓶颈带宽和RTprop背景拥塞和瓶颈rtt与inflight上送速率和inflightBBR:Congestion-Based Congestion Control解读测量瓶颈带宽和RTprop原文地址:链接背景如今有大量的网络用户忍受着几秒甚至几分钟的网络延迟。有些精心设计的性能在Gbps级别...
2019-10-21 00:15:13 2991 1
原创 linux bbr算法样本采集
文章目录样本格式样本初始化样本更新样本生成检查是否app受限何时设定app受限总结样本格式/* A rate sample measures the number of (original/retransmitted) data 1. packets delivered "delivered" over an interval of time "interval_us". 2. The t...
2019-10-18 16:13:14 819
原创 Linux内核win_minmax代码解读
文章目录目标代码分析基本结构体重置更新最大值刷新时间总结目标维护一段win时间内的三个best最大值或者最小值,以最大值为例值大小上,1st best > 2nd best > 3rd best采集时间,1st best < 2nd best < 3rd best注:win时间,表示一个窗口时间,或者说一段时间代码分析以最大值为例进行分析基本结构体一个...
2019-10-18 12:46:07 1327 3
原创 如何进入内核态
如何进入内核态进入内核态的方式内核栈内核栈结构体内核栈的产生通过系统调用分析如何进入内核态研究该问题的原因进入内核态的方式中断,包括软中断和硬中断,其中软中断包括系统调用(int 80)和各种异常(segmentfatel 信号11),硬中断包括网卡收包,usb插入等等。内核栈每个进程独有一个内核栈各cpu架构有不同的异常栈,中断栈,有的是使用的是被打断的程序的内核栈,有的有独有的空间...
2019-09-27 11:56:02 3349
原创 TCP之三次握手与四次挥手
TCP之三次握手与四次挥手1. 为什么不是两次握手2. TCP解决什么问题3. 四次挥手难道三次还不够吗4. 总结1. 为什么不是两次握手对于不了解tcp的人来讲,拿两次握手就足够是可以忽悠住他的,客户端发起一个syn,服务器回复一个synack,两边都确认了对端的收发包是正常的,那为什么还需要第三个ack包呢?一般人可能会回答,万一服务器回复的synack丢失了呢?bingo!是的,但这不是...
2019-08-04 16:22:52 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人