自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 延迟和吞吐

延迟关注个体感受,吞吐衡量总体效率。  我家小区楼下的那个十字路口的红绿灯设计的就比较好,它的绿灯顺序是:无论我什么时候到,总是能有大于50%50%50\%的概率直接过马路,然后当我过完马路,侧向就会秒绿,这意味着你可以一次性通过对角线!没错,这就是深圳市宝安区宝源路银田路交叉路口。这一点给我的体验超好。  现在说说另一方面,那就是车辆大转弯通过时必须排两轮时延,然后一次性通过大量...

2018-04-29 01:29:03 12991 2

原创 继续Nginx WRR负载均衡算法的优化

温州皮鞋厂老板告诉我一个新的WRR算法,基于数组哈希,但还是有点过度设计了,我说对于3,2,1这样权重的3个元素,搞3个元素1,2个元素2,1个元素3,一共6个元素揉成一把,随机扔到6个格子里完事,只要足够随机,这个算法应该就是最好的!不是想当然最好,是必然最好的,因为它就是最大熵结论,宇宙是懒惰的,低熵体的维持需要努力!  好吧,后来我承认了,我就是用的这个算法来做的reuseport优化,...

2018-04-29 01:14:38 12726

原创 从CUBIC/BBR的TCP ACK失速说起

上周有同事问,延迟ACK到底对应用层会产生什么后果,我也不知道该如何作答,于是丢了一个链接: TCP之Delay ACK在Linux和Windows上实现的异同-Linux的自适应ACK:https://blog.csdn.net/dog250/article/details/52664508是的,这是我几年前关于Delay ACK的分析,如今看来有些许不足,有些空洞,有些学院派,所以本文试...

2018-04-29 00:47:17 7379 8

原创 IPVS和Nginx两种WRR负载均衡算法详解

动机五一临近,四月也接近尾声,五一节乃小长假的最后一天。今天是最后一天工作日,竟然感冒了,半夜里翻来覆去无法安睡,加上窗外大飞机屋里小飞机(也就是蚊子)的骚扰,实在是必须起来做点有意义的事了!  忆起与人交流一个负载均衡问题时,偶然聊到了WRR算法,就必然要记下些什么,以表示曾经聊过这个话题,作此文以记之!简介在负载均衡场景中,我们经常需要对一组服务器做加权轮询均衡调用,即适配一个...

2018-04-28 05:23:40 10290 26

原创 Skiplist和strcpy以及AVL/红黑树

有点乱,是吧,确实,Skiplist怎么可能和strcpy联系在一起?  确实,二者关联不大,但是二者最终的一个思想却是殊途同归的,背包算法的精髓在其中体现。本文不讲动态规划,也不讲背包算法,只是单纯的欣赏。字符串拷贝你要怎么把一个字符串拷贝到内存的一个位置?  很简单,不是吗?你几乎天天调用,面试题也经常考,答案也是千篇一律,即便答错了一般也无所谓,答案几乎都是:......

2018-04-21 10:08:36 12398 2

原创 Linux RPS/RFS 实现原理浅析

本文快速解析一下RPS/RFS的基本原理。RPS-Receive Packet Steering下面这个就是RPS的原理: 其实就是一个软件对CPU负载重分发的机制。其使能的作用点在CPU开始处理软中断的开始,即下面的地方:netif_rx_internalnetif_receive_skb_internalRFS-Receive Flow SteeringRFS在RP...

2018-04-21 09:07:16 15766 4

原创 TCP BBR之全局同步

缘起于一场技术交流,我以一篇短文作为总结。先给一个TCP魔数:rtt=(1−α)×rtt+α×rttnowrtt=(1−α)×rtt+α×rttnowrtt = (1-\alpha)\times rtt + \alpha \times rtt_{now}其中αα\alpha是1818\frac{1}{8},为什么是1818\frac{1}{8}而不是1919\frac{1}{9}?...

2018-04-14 11:07:11 12967 1

原创 去中心化和幂律之间的不可兼容

去中心化和幂律结合在一起,是一个很有意思的topic。  去中心化的动机在于大多数人不希望被第三方约束,只是因为他不信任第三方,然而一旦放开约束,便成就了他们所谓的去中心化,接下来的事情很有意思,他们会很快选出一个他们信任的第三方作为中心…在任何的自组织网络中,去中心化和幂律是一对矛盾体。  所有节点都有去中心化的意向,然而这只是它们在加入网络后才有的意向,加入网络的当时它们必然需...

2018-04-14 08:38:30 12263 1

原创 基于存储证明(Proof of storage)的Permacoin挖矿原理解析

过去的一周让人感觉五味杂陈,心力交瘁,工作非常忙,非常累,非常没有进展,时而芳香,时而谢特,本想着这周末什么也不干撸点没意义的事情度日呢,然而还是觉得把意义拆散来的可靠些。所以依旧很早爬起来总结一下过去一周上下班路上的思考。序既然我无法把家里的幸福感代入进工作,我也尽量不把这种工作上的挫败感带到家里,因此我只能在上下班的路上来点既和工作无关又和家庭无关的东西,作为一个缓冲区。最近一...

2018-04-14 08:11:47 10661 15

原创 小区外的蒸米粉和Linux RCU锁

一直希望能用一种及其通俗的方式把Linux RCU锁(所谓两阶段可抢占RCU锁)描述出来。之前写过一篇: 《Linux内核RCU(Read Copy Update)锁简析》:https://blog.csdn.net/dog250/article/details/46848649 虽然把代码逻辑简化了,但是写得并不好,这个太针对于实现了…而如果真正理解了这个并且希望表达,那RCU的精髓应该是路...

2018-04-07 10:58:49 12516 1

原创 ARP成功能保证IP路由的连通性吗?

如果你发现有人在Linux机器上配置了100个VLAN,并且这100个VLAN使用了同一个IP地址和地址前缀,那么结果不外乎两种: 1. 这个管理员在玩什么trick,奇技淫巧式的把戏; 2. 这个管理员对TCP/IP网络一窍不通。划分VLAN的目的就是为了隔离广播域,即将网络划分为不同的三层,同一个三层意味着同一段IP,不同的三层使用同一个IP地址,谁这么教你的?!我们看下流程:...

2018-04-05 06:27:39 10458 5

一个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关注的人

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