自定义博客皮肤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)
  • 收藏
  • 关注

原创 CVE-2019-11477漏洞详解详玩(删)

几天前,为了备注,2019年的6月17号吧,一个Linux/FreeBSD系统的漏洞爆出,就是CVE-2019-11477,Netflix的公告为:https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001.mdRedhat的链接为:https://access.redha...

2019-06-28 18:05:24 6302

原创 历史要横着读,故事要竖着看!嘻哈~

历史要横着读,我认为不能把历史当故事看,然而我们自小的教育却强制我们把历史当成了故事,把故事当成了历史,这是错误的。当然,这仅仅是我个人的看法。历史要在空间中横着读,故事要在时间里竖着看!当我们在读历史的时候,我们往往希望能从这些故事中习得一些要旨,或为生存,或者成功,我们称之为以史为鉴。然而在我看来,这是不对的。我们可以习得一些要旨,但是我们却无法复制它们,因为我们仅仅关注了故事的情节,却...

2019-06-15 22:24:28 4735 4

原创 从负指数分布/泊松分布到排队论(经理能扣篮,但不经常也不绝对)

从经理穿着皮鞋能不能扣篮,引起了一段思考。周六上午在家带娃,我已经快崩溃,所以作文时间放在了午后。假如你相信上帝真的是在掷骰子,那么我们的世界就是上帝的一系列实验生成的。假如你相信世界是二元元素的组合,那么使用二进制便可以完整描述整个世界。一切从二项分布开始裂变。二项分布让我们看一道非常简单的概率统计习题:如果做一次实验,一个独立的事件EEE发生的概率是ppp,那么请问,连续做nn...

2019-06-15 15:04:52 16146 3

原创 CSMA/CD总线以太网和交换式以太网

在规划一群计算机如何使用网络介质传输数据包而不是一群人如何使用电话线实时通话的时候,不得不换一种思路。为什么以太网最初没有采用TDM或者FDM或者随便别的什么xxDM,而是采用随机统计分时复用的CSMA/CD呢?以太网流量是突发的以太网流量不要求实时以太网无连接其实,甚至 冲突检测 都是次要的,它只是优化,而并非核心。有冲突就要有退避,所以,紧随着冲突,以太网采用的二进制指数退避,也...

2019-06-09 08:24:00 5946

原创 闲说一个关于TSO/IP分片的NAT模块bug

声明,这个Bug无论是Kernel社区还是别的什么地方,早就已经解决了,但是 这种引入Bug的思路 至今仍在。这是我在2011年时候的一起排查案例,当时我在Linux 2.6.8内核上工作,嗯,超级老的内核。问题的描述可以看下面的文章:从Linux 2.6.8内核的一个TSO/NAT bug引出的网络问题排查观点: https://blog.csdn.net/dog250/article/de...

2019-06-09 07:07:01 15674

原创 Linux 3.10内核锁瓶颈描述以及解决-neighbour子系统的一个缺陷

ZheJiang WenZhou skinshoe

2019-06-07 08:41:17 16810 2

原创 Linux 3.10内核锁瓶颈描述以及解决-IPv6路由cache的性能缺陷

大量线程争抢锁导致CPU自旋乃至内核hang住的例子层出不穷。我曾经解过很多关于这方面的内核bug:nat模块复制tso结构不完全导致SSL握手弹证书慢。IP路由neighbour系统对pointopoint设备的处理不合理导致争锁。IPv6路由缓存设计不合理导致争锁。Overlayfs的mount设计不合理导致争锁。凌晨将近两点半,本文再解一例。即描述 IPv6路由cache的设...

2019-06-07 02:11:37 6495 8

原创 Linux 3.10内核锁瓶颈描述以及解决-overlayfs的性能缺陷

又是一个假期,早早早退,然而高速公路离家最近的出口封闭,无奈只能穿越景区,就为了去吃顿饭。饭罢了,该思考和总结了。大量线程争抢锁导致CPU自旋乃至内核hang住的例子层出不穷。我曾经解过很多关于这方面的内核bug:nat模块复制tso结构不完全导致SSL握手弹证书慢。IP路由neighbour系统对pointopoint设备的处理不合理导致争锁。IPv6路由缓存设计不合理导致争锁。...

2019-06-06 23:55:32 5199 1

原创 关于GCC的stack-protector选项

初看起来,觉得GCC的-fstack-protector选项并不是很好用,它对栈帧的保护程度非常有限!该选项只能发现 guard被冲刷掉的情况 。面对精准的返回地址替换,guard变量是无能为力的,比如下面:#include <stdio.h>#include <stdlib.h>unsigned long orig;void stub_func(){ u...

2019-06-02 08:22:06 6612 3

原创 Linux用户态进程如何监控内存被写事件

上周了解到一个很好玩的问题,即 如何捕获到“一块特定的内存的内容变成某一个特定的值”这么一个事件。嗯,还是那位暴雨天穿着意尔康皮鞋给我们送伞皮鞋湿了的同事,感谢他能提供一些好玩的东西来折腾。我并不想快速解决问题,我只是想能多玩一会儿。正好,也碰到了一个JVM踩内存的问题,就思考了一把,完成了一个简单的demo,可以 监控每一个内存写事件。 至于内存的内容是否变成特定的值,那就在每一次捕获到...

2019-06-01 08:23:33 7116 7

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

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