自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (4)
  • 收藏
  • 关注

原创 通过tcpdump在抓包的同时获取协议栈信息快照

2016年产生了很多的错觉。-----------------------------------网络问题的排查过程,能够供我们进行事后分析的,只有数据包。        通过分析pcap文件,可以得到很多的信息,但这些信息都是从数据包的属性中获得的,然而我们知道,数据包是协议栈发出的,协议栈为什么会在特定的时间发出特定的数据包,却无法获知。所以说,分析数据包得到的信息只能是一种事后的结论,无论怎

2016-12-31 22:42:10 7066 1

原创 来自Facebook的KTLS(Kernel SSL/TLS)原理和实例

抽了点时间研究了下KTLS,这源自于跟同事交流的一个问题,那就是现如今的HTTPS服务器以及scp命令传输本地文件的时候,无法使用sendfile系统调用!        这个话题让我想起了很多的老同事,为了不骚扰到他们,本文中我一律使用只有我们自己才知道的昵称。        我后悔当初为什么没有想到一个让HTTPS/scp支持sendfile/splice/tee调用族的方案,我表示后悔是因为

2016-12-25 11:13:09 20523 4

原创 我学会了用ethtool给网卡点灯

这是上周的事情了,当时只发了朋友圈,没有记录下来,今天补上。        感谢同事教会我一项超级有用的新技能,那就是网卡点灯!        竟然可以针对特定网卡执行一条命令,就可以让该网卡上的灯点亮x秒!这太妙了!        这简化了我们排查由于主板布线差异而导致的网卡乱序问题。这个问题已经困扰了我好多年!虽然不管在前公司还是在现公司,这个问题都不归我管,但作为有技术洁癖的人而言,学会这个

2016-12-24 07:47:26 27690 2

原创 令人躁动一时且令人不安的TCP BBR算法

虽然我在这个周六(2016/12/17)荒废了一天而毫无意义的加班,我依然要在次日把上一周的点滴记录下来。以下在2016/12/18下午19时之前的文章,全属周六通宵之作。可以说,这个周末过得比较水。我已经30多个小时没有睡觉了。周六加班大半天,晚上跟同事打了两个多小时技术电话...你们能想象到跟同事电话里带着形而上的观点聊两个多小时技术,我们对工作该是多么负责啊!我并无意表达我要表现出很忙的意思

2016-12-18 21:56:01 38229 11

原创 TCP CDG算法与TCP Westwood算法

自从我修改了CDG算法以及Westwood算法之后,通过微信,QQ还有邮件与很多志同道合的朋友进行了交流,本文将这些交流的结论总结一下。TCP CDG算法有多好?很多人不屑于这个算法,包括社区的一些自诩清高的人,然而把问题细化的话,如果无法回答“TCP CDG算法有多不好?”这个问题,那就是无知了。CDG有多好取决于你的网络质量,你的网络有多大的概率是线路噪声引发的丢包决定了这个问题的答案。1.抗

2016-12-18 08:28:27 8351

原创 更加精确的TCP Westwood拥塞控制算法

Westwood算法控制的是在从快速恢复阶段退出时的拥塞窗口的值。原理上讲,这时的窗口值应该是一个不包括队列缓存在内的BDP,即最大带宽与最小RTT的乘积。        问题是如何求最大带宽。        标准的Westwood算法做的非常粗糙,它将一个TCP连接的生命周期分解为一段一段的采样周期,每一个采样周期内采集被ACK的字节数,然后除以采样周期的间隔,结果做低通滤波(其实就是移动指数平

2016-12-18 07:45:50 10853 3

原创 我为什么坚持这么多年写博客

周日的早上陪小小玩数学,授之10以内加减法的简便算法之后,莫大成就感。不得不说,小小真的把数学当成消遣的玩具了,竟然还可以自行推导乘法和进位...这是我的基因吗?        嗯,是的。        不过本文的主角不是小小,而是我自己。上面的引子只是小小让我想起了一个问题的答案,我为什么坚持这么多年写博客。        很多人写博客都是为了一个目的:为了提高自己的影响力!然后,这种影响力就是

2016-12-11 11:28:06 16554 53

原创 我对TCP CDG拥塞控制算法的改进和优化

其实这不是我的优化,我是借用了BBR之力。        借了什么力呢?这是我一再强调的,BBR最大的共享不是为Linux贡献了一个TCP拥塞控制算法(它同时在也BSD上被实现...),而是它重构了Linux TCP的实现!借助BBR对Linux TCP实现的重构,很多之前做不到的事情,现在可以做到了。        简而言之,BBR算法对Linux TCP实现的重构中,将以下三件事完全分离:1.

2016-12-10 19:04:54 9511 4

原创 基于RTT梯度的TCP CDG拥塞控制算法

在BBR之前,业内已经逐渐学会如何判断网络拥塞并且用于TCP拥塞控制了。        再次重申,我鄙视并且非常恶心TCP!        我本来想看看CDG算法究竟是个什么东西,无奈并没有发现什么资料,所以,就像BBR一样,只能由我来写,我不希望到时候再搜索CDG的资源,都是我写的了,请注意,CDG不是腾讯的CDG,而是CAIA Delay-Gradient。虽然CDG在BBR之前,但是我认为,

2016-12-10 18:55:54 14217 2

原创 骨干网络演化释义以及TCP BBR的部署环境问题

昨天本应该去公司加班的,但我由于不在本地而没去享受这奢华的周末盛宴。不过我要一路上远程值守,有问题要上,这是必须的。无聊的时候,没有问题制造问题也要上?这是贱。所以,在没有问题的时候,我写下一些简单的随笔,苦苦等待深夜的降临,照例每周要写点什么,但我今晚写的东西可能只与心情有关,而与技术无关!        也许吧,我就是那种在别人眼里从来不加班,从来不合群的“坏员工”或者傻逼,但是又有谁能明白,

2016-12-04 10:06:45 14707 1

一个iptables的stateless NAT模块实现

如果你在寻找Linux上配置诸如Cisco设备上的static双向NAT的方法,这个或许就是你想要的; what?你觉得它完不成PAT?是的,它不行。但是想做PAT为何不使用现有的iptables实现呢?它可以自动为你解决元组唯一性问题。不要从概念上分析,事实上,static双向NAT是完全对称的,一对一的 ,也只有在BOX两边的网络在拓扑级别是完全对等的情形下,这种NAT或许才是有用的,Cisco设备经常处在这样的位置,比如一个很大的stub节点的出口位置,比如两个domain的中间位置... 我将名字取为STATIC-2-WAY-NAT,比较长也比较怪,完全不符合UNIX的小写短名传统,我的想法是:这样可以少写很多的帮助信息,因为名字就是自解释的。

2014-12-27

模块化的nf-HiPAC

原版的nf-hipac需要为内核打patch,且只支持较低版本的内核,构建起来相对比较麻烦。 模块化后的nf-hipac可以直接作为内核可加载模块编译,且适配了高版本的Linux内核。为了移植工作简化,去掉了和iptables模块的联动支持!

2014-11-21

配置文件还有一些other

代码和配置iptables配置文件,还有一些别的东西

2010-04-16

关于linux内核以及其他个人体会的文集

本文集是我用将近两年的时间写成的,大多数文章是关于linux内核的,另外还有一些我自己对计算机的理解,还有一些历史,音乐方面的东西。适合于对linux内核思想感兴趣的阅读,文章偏重于对于思想的理解。

2009-09-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除