是查路由表快呢?还是查socket哈希表快?这不是问题的根本。问题的根本是怎么有效利用这两者,让两者成为合作者而不是竞争者。这是怎么回事? 我们知道,如果一个数据包要到达本地,那么它要经过两次查找过程(暂时不考虑conntrack):IP层查找路由和传输层查找socket。怎么合并这两者。 Linux内核协议栈采用了一种办法:在socket中增加一个dst字段作为缓存路由的...
分类:
系统相关 时间:
2015-01-11 12:24:24
阅读次数:
264
前面几天,我完成了一个staticstateless2-way
NAT,写了几篇文章,但是着重于理论分析,本文来展示一个应用实例。在具体展示实例之前,先说一个staticstateless2-way
NAT和Linux原生conntrackNAT的区别,staticstateless2-way
NAT并不会限制连接的数量,因为它不用维护连接状态..
分类:
系统相关 时间:
2015-01-03 13:20:58
阅读次数:
254
前面几天,我完成了一个static stateless 2-way NAT,写了几篇文章,但是着重于理论分析,本文来展示一个应用实例。在具体展示实例之前,先说一个static stateless 2-way NAT和Linux原生conntrack NAT的区别,static stateless 2-way NAT并不会限制连接的数量,因为它不用维护连接状态,也就没有了最大值的限制,其次,如果st...
分类:
系统相关 时间:
2015-01-03 10:42:53
阅读次数:
284
关于Linux上如何配置NAT的资料已经不少,可谓铺天盖地!本文与此无关。本文提供一种iptables之外的方式。iptables?
不!why?因为iptables配置的NAT是stateful的,它的实现依赖一个叫做conntrack的模块,什么是
conntrack?Oh,NO!这可是我的专长,但我不想在本文中说它,认..
分类:
系统相关 时间:
2014-12-21 01:58:17
阅读次数:
352
内核与用户态通信的接口简直太多了,有时候如果非要将它们分个三六九等也是不合适的,比如臭名昭著的ioctl,一旦臭起来就抽到底了,没人说它得好。有
时候它并非想象中的那么坏,绝大多数是因为人们误用了它们,然后哪位大师说了一句它不好,从此以后人们就随大师而去了...对于..
分类:
其他好文 时间:
2014-12-21 01:57:56
阅读次数:
275
内核与用户态通信的接口简直太多了,有时候如果非要将它们分个三六九等也是不合适的,比如臭名昭著的ioctl,一旦臭起来就抽到底了,没人说它得好。有时候它并非想象中的那么坏,绝大多数是因为人们误用了它们,然后哪位大师说了一句它不好,从此以后人们就随大师而去了...对于ioctl,对应到socket类型文件描述符上,就是get/setsockopt两个接口函数,其实我不明白从函数名称上区分操作类型和从命...
分类:
其他好文 时间:
2014-12-20 22:13:43
阅读次数:
265
关于Linux上如何配置NAT的资料已经不少,可谓铺天盖地!本文与此无关。本文提供一种iptables之外的方式。iptables?不!why?因为iptables配置的NAT是stateful的,它的实现依赖一个叫做conntrack的模块,什么是conntrack?Oh,NO!这可是我的专长,但我不想在本文中说它,认识我的人都知道,我扯这个话题我能扯上12个小时...都还扯不完。也许你不知道什...
分类:
系统相关 时间:
2014-12-20 22:11:11
阅读次数:
279
首先,如果你不同意我以下的观点,本文就不必看了:如今内存不值钱,空间换时间很划算,要知道,一万年前的1秒和一万年后1秒是一样的,你要是觉得人们做的事情可能不同,但是请记住,永远都会发生“安迪给你的被比尔拿走”之类的事情,对于你而言,什么都没有改变!
虽然空间..
分类:
Web程序 时间:
2014-11-17 07:02:37
阅读次数:
358