IT技术博客大学习 共学习 共进步
首页 / 王聪
IT 2013-09-23 23:16:43 / 累计浏览 3,420

深入理解 GRE tunnel

GRE tunnel 的原理从根本上和 sit,ipip 这样的 tunnel 就不一样。除了外层的 IP 头和内层的 IP 头之间多了一个 GRE 头之外,它最大的不同是,tunnel 不是建立在最终的 host 上,而是在中间的 router 上!

IT 2013-08-13 13:34:03 / 累计浏览 8,040

学你妹的计算机!

看了最近的新闻,心情久久不能平静……自己看吧,不多说了,说多了都是泪!我就想问:现在蓝翔技校还招人吗?

IT 2013-06-09 13:13:05 / 累计浏览 4,260

一个绝妙的 exploit

最近(2013年6月) Linux 内核爆出了一个严重的安全漏洞,非root用户可以通过该漏洞的 exploit 获取root权限。这并不罕见,值得一提的是这个补丁看起来如此平常以至于我们绝大多数人都不会以为这是安全问题。

IT 2013-03-11 13:58:35 / 累计浏览 4,500

深入理解 VXLAN

​VXLAN 是非常新的一个 tunnel 技术,它是一个 L2 tunnel。Linux 内核的 upstream 中也刚刚加入 VXLAN 的实现。相比 GRE tunnel 它有着很的扩展性,同时解决了很多其它问题。

IT 2013-03-03 23:01:41 / 累计浏览 5,180

给程序员推荐几部电影

1. 排在第一位的毫无疑问是《黑客帝国》三部曲。关键词:矩阵。 2. 《盗梦空间 Inception》。关键词:虚拟化。 3. 《云图 Cloud Atlas》。关键词:并行。 4. 《恐怖游轮 Triangle》。关键词:递归。 5. 《源代码 Source Code》。关键词:重入。 6. 《二维世界 Flatland》。关键词:二维。

IT 2012-12-24 13:29:37 / 累计浏览 3,740

为什么特斯拉是史上最伟大的geek?

Geek 们放弃了他们周围的世界,因为他们忙于焊接一个新的世界。 他们痴迷,很多时候,甚至受苦。 一百多年前,一个塞尔维亚裔美国科学家,名叫尼古拉·特斯拉,开始修补一些没有损坏的东西。 在那个时候,世界上大部分人还在使用蜡烛照明,一个被称为交流电的系统诞生了。到今天,这已经是地球上每个家庭的电力了。

IT 2012-12-03 23:58:10 / 累计浏览 7,300

两个精彩的比喻:吞吐量和延迟、信号量和互斥锁

我们知道,计算机中有很多概念并不容易理解,有些时候一个好的比喻能胜过很多句解释。下面两个是我看到的两个很精彩的比喻,拿出来和大家分享一下:吞吐量和延迟、信号量和互斥锁。

IT 2012-11-05 22:11:38 / 累计浏览 5,520

accept_ra 的一个例子

在 IPv6 中,Router Advertisement (简称 RA)是很关键的一个 ICMP 包,stateless autoconf 就是靠 RA 配置 IP 地址的,主机发送Router Solicitation(RS)广播,有点类似于 IPv4 中的 DHCP request,路由器就会回应 RA...

IT 2012-11-05 22:11:03 / 累计浏览 6,880

TSQ 的原理

通常看到 TCP Small Queue (简称 TSQ)之后第一问题是,既然我们已经有 tcp_wmem 了,为何还需要一个新的 sysctl? 这个问题是理解 TSQ 的关键,其实 tcp_wmem 仅仅是从 TCP socket 层限制队列(或 buffer)...

IT 2012-09-18 23:32:04 / 累计浏览 3,540

数据结构之treap

treap 是一个很有意思的数据结构,从名字也能看得出来,它是 tree 和 heap 的混合产物。为什么会有这么一个数据结构还得从二叉树(BST)说起。 我们都知道,普通的二叉树是不平衡的,在某些情况下进行插入删除操作可以导致时间复杂度从 O(logN) 下降到 O(N)。为了解决平衡的问题,有很多新的二叉树被引入,比如大家熟知的一些:Linux 内核中 CFS 使用到的红黑树(Red-black tree),数据结构课上都会讲到的 AVL 树。这些树都因为要进行复杂的旋转操作而不容易实现。 那么有没有一个实现容易的平衡二叉树呢?Treap 就是一个。普通的二叉树节点只有 key,而 treap 又多了一个 priority,这里的 priority 就是 heap (优先队列)中的 priority。这样, treap 既可以利用二叉树的特性,又可以利用 heap 的特性了。

IT 2012-09-18 23:24:12 / 累计浏览 2,640

Linux 内核中的 KMP 实现

Linux 内核中使用到了字符串搜索,所以它也有 KMP 算法的实现,代码在 lib/ts_kmp.c 中。 Linux 内核中用到 KMP 算法的地方有三处:iptables string match 模块、iptables conntrack amanda 模块(不知道这个是用...

IT 2012-09-18 23:21:25 / 累计浏览 2,340

KVM 中搭建 VLAN 和 IPv6 环境

普通的 IPv4 环境很简单,如果你使用 virt-manager 的话它自动都给你搭好了。每个 kvm guest 都在同一个子网内,通过 bridge 连接到一起,然后通过 host 上的 NAT 访问外网.....

IT 2012-09-18 23:19:21 / 累计浏览 4,680

我的内核配置文件

我们知道,在KVM里测试内核会碰到一个很严重的问题:那就是在 host 编译的内核不能直接在 guest 里使用。有两个原因:一是 host 和 guest 的硬件可能不一样,所以需要的 config 不一样;二是内核模块即便是安装进了 initramfs 也仍有很多需要安装到 /lib/modules/`uname -r`。