- 博客(10)
- 资源 (4)
- 收藏
- 关注
原创 CUBIC拥塞控制算法是天生干坏事的吗
这是一篇没有意义的即兴随笔,不长也不必推敲。 最近经常有人问我BBR算法和CUBIC竞争的话是不是有劣势。我的回答是不一定。这倒不是说我在维护CUBIC所宣称的”公平性“(CUBIC将公平性作为一个特性来为自己拉票),相反,我倒认为CUBIC所谓的公平性是名不副实的。基于丢包的算法,能公平到哪儿?唯一公平的特征无非就是出来混,早晚要还的。 CUBIC比BBR看起来更加激
2016-11-27 11:31:55 7435 1
原创 不同位置的tcptrace分析以及FQ如何减少TCP无效重传
昨晚,前同事发微信给我,说之前公司的领导又在夸我了,还截了图...我看了之后好感动,这是必然的。好了,感性的话到此为止。今天下了一天的雨,心情也不错,我觉得继续分享一些技术上的东西是对我之前的公司,现在的公司以及各种帮助过我的同道中人最大的感激。这段话写在前面,简述了我写本文的心情。 在前面描述tcptrace图的几篇文章中,我有个基本的假设,那就是抓包的位置都在TCP的发送端,因此
2016-11-27 01:04:40 7224 2
原创 Wireshark tcptrace图关于丢包重传细节图解
上周六写了《在Wireshark的tcptrace图中看清TCP拥塞控制算法的细节(CUBIC/BBR算法为例)》,收到一封邮件,说我文中的图示画错了。 确实,关于CUBIC,我只说了缠绕,关于BBR我只说了顺延,并没有说具体如何,甚至我没有提一嘴关于重传的细节,更别说在图示里展现了。这是我的错。话不能说一半,因此才写下本文,把另一半也写出来。 炒股的人喜欢看K线,并且
2016-11-23 20:45:45 24185 1
原创 在Wireshark的tcptrace图中看清TCP拥塞控制算法的细节(CUBIC/BBR算法为例)
这是一个令人愉快的周末,老婆上周从上海回来,这周末小小幼儿园组织去坪山秋游,比较远,因此大家都必须早早起来,而我更加有理由起床更早一些来完成这篇短文,因为要出去一整天,如果早上起不来,一天都没什么时间了。 另外,最近有人问我,为什么我总是喜欢在技术文章后面加一些与技术毫不相关的话,我说,咱们小时候学古文的时候,那些古代的作者不也是喜欢在文章最后写一段毫不相关的“呜呼...”“嗟夫..
2016-11-19 07:17:57 32564 12
原创 基于统计复用的分组交换网络拥塞控制的科普解释
最近收到很多邮件咨询各种问题,一般而言我能回答的就都回答了,我自有自知之明,绝不是什么大牛,然而也并不是菜鸟,所以说不管什么问题,我不一定能完美回答,但却也不是一点都不懂,因此我会尝试着去作答。 由于最近写了几篇关于TCP拥塞控制的文章,就有人咨询我关于NCL,New Vegas,BBR等相关的问题,其实我知道他们的目的,不外乎两种原因,要么是自己想学习一下原理但可能遇到了看不懂的地
2016-11-12 09:32:54 15407 2
原创 Linux x86_64内核终止D状态的进程
在上一篇文章《Linux x86内核终止D状态的进程》中,我展示了32位x86系统中如何编码杀死D进程。本文我将展示一种64位x86系统上的方法。 说实话,64位系统上做这样的事是比较难的,因为你无法通过修改p->thread.ip来到达将进程拽出死循环的目的。要想知道64位系统上到底该怎么把进程执行绪引出,我们得先看看”标准“的做法是什么。 标准的做法就是fork时的
2016-11-07 21:36:32 12533 2
原创 Linux x86内核终止D状态的进程
在《Linux如何终止D状态的进程》,我浮光掠影般描述了一种非规范的结束D进程的方法,只是一种方法,几乎没有可操作性。今天收到了一位朋友的邮件,问我exit_task1到底该怎么写。说实话,我本来不想把故事说完的,但是既然有人问了,我就再写两篇短文吧。本文介绍x86 32位系统中的详细方法,下一篇文章将介绍64位系统的方法。 我的exit_task1是以下这么写的:void exit
2016-11-07 21:25:41 7348
原创 最短路径算法正确性和操作性闲杂谈-Dijkstra&Floyd算法
今天在帮圈子里一位朋友规划第七层网络路径规划的时候,又一次遇到了最短路径算法的问题,我不想在这里贴Dijkstra算法或者Floyd算法的源码,也不想去刻意分辨什么动态规划和贪心算法的联系和区别,只是闲来记录几笔而已。鉴于之前写了很多关于TCP/IP网络的文章且专业性都比较强,自然的,其可读性和可查阅性就会很弱,所以,关于本文,我想写的随意一些。--------------------------
2016-11-06 00:46:49 6537 2
原创 Linux如何终止D状态的进程
在百忙中抽出点时间帮温州皮鞋厂老板解决一个杀掉D进程的问题,虽然最终线上的机器被老板蹂躏挂了,我也没帮上什么实质性的忙,还是写点记录,以备查阅。 碰到这个问题,我第一个反应就是网搜解决方案,后来发现了自己的文章《linux内核模块的强制删除-结束rmmod这类disk sleep进程》,正好,老板碰到的也是这类问题。不过本文将介绍一种不触动内核模块本身,而是触动D进程的方案。
2016-11-05 08:53:42 16901
原创 TCP拥塞控制算法-从BIC到CUBIC
本文旨在帮助大家理解TCP CUBIC拥塞控制算法背后的点点滴滴以及其方程式为什么就是那样子的。一直以来,很多人都觉得CUBIC算法非常复杂,涉及到复杂的天书般的”3次曲线“...然而,CUBIC并不像大家以为的那样复杂,之所以觉得复杂是因为没有理解其历史和背景。本文就是介绍CUBIC的历史和背景的...BIC算法BIC算法对窗口可能的最大值进行二分查找,它基于以下的事实:1.如果发生丢包的时候,
2016-11-02 22:23:17 41957 15
一个iptables的stateless NAT模块实现
2014-12-27
模块化的nf-HiPAC
2014-11-21
关于linux内核以及其他个人体会的文集
2009-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人