自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Netfilter,iptables/OpenVPN/TCP guard:-(

我不会编程,但也不是一点都不会,我稍微会一些 :-)

原创 tcp的效率性和公平性

实际上tcp并没有什么效率性和公平性,虽然从协议的实现来看,任何连接一直在努力做到高效率和高公平。任何稳定的系统都要有一个收敛中心,tcp的速率却没有收敛性,即使在稳定传输期间,其速率-时间曲线也是锯齿形的,不管锯齿再细,它终究不是直线,甚至锯齿也不平滑。这是为何呢?其根本原因在

2010-08-31 21:39:00 6180 0

原创 linux的流量控制

ip命令在linux上实现绝大部分专业路由器上实现的一部分功能,另一个命令tc实现了专业路由器上实现的几乎另一部分功能,而iptable一来,剩余的功能它就全包了,如果再加运行一个zebra的话,linux主机就俨然一个高级路由器了,这时其速率的快慢就不再取决于软件了,而是取决于你的硬件了,用38...

2010-08-31 21:26:00 7104 2

原创 有那么一些想法哪

1.将wget的结果写入/dev/null可以测试裸网络数据,而不必非要使用netperf工具,要知道,wget得到的结果很大的比例来自写磁盘消耗的时间 2.我不知道有些人(ie.me)为何对这个世界上普适的价值漠不关心,是受到父辈的影响还是自己小的时候受到了什么刺激,读布克哈特的书让人有了一种...

2010-08-29 19:01:00 2628 1

原创 tcp服务器监听任意地址的问题

<br />如果服务器监听地址任意地址,客户端只要连接该服务器上配置的任何地址都能连接进来(前提是arp_ignore为0,否则最后一跳的arp解析可能会失败,详情参见前面的文章),<br /> 但是看linux协议栈的实现代码时发现内核是通过五元组的哈西来寻找套结字结构...

2010-08-28 18:31:00 4322 0

原创 TCP/IP网络的一些问题(路由/协议/linux的实现)

<br />1.linux的虚拟网卡-tun<br /> linux的虚拟网卡驱动可以配置为两种模式,一种是点对点的tun模式,一种是以太网tap模式,实质上tun模式中从虚拟网卡出来的是ip数据报,也就是三层数据,而tap模式中从虚拟网卡中出来的以太网帧,也就是二层链路...

2010-08-28 18:25:00 5191 3

原创 arp/ip地址/路由--总之很乱

<br />正常情况下,只要有到一台机器的路由,不管服务监听的哪个网卡的哪个地址,也不管请求从哪个网卡进入,只要这个请求的目的ip是该机器的一个ip,连接就能成功,当然你可以设置策略路由或者多表路由表项阻止的目的地址没有配置在数据进入网卡上的情况。<br /> 实例:&l...

2010-08-28 18:24:00 5530 0

原创 ipvs负载均衡模块的内核实现

<br />传输模式:<br /> [直接路由方式]:直接查找路由表,以原始数据包的目的地址为查找键。本地配置的ip地址就是数据包的目的地址,数据既然已经到了本地为何还要查找,为何还要继续路由?这是因为本地的目的地到达情景仅仅是一个假象,真正提供服务的机器还在后面,也就是...

2010-08-28 18:23:00 5420 3

原创 选择路由+重定向还是LSP

不可否认,路由+重定向和LSP二者都是将数据包导向某一个主机的方式,不同之处路由的方式并不修改协议头,对协议抓包器是透明的,但是LSP却修改了目的地址,抓包器可以很轻易的发现,本质上说,LSP在本地就完成了重定向,并且是在用户态完成,对于过路的包则无能为力(一般没有人用windows作为路由器),...

2010-08-28 18:22:00 3843 0

原创 历史真相别被忽悠了

<br />不知从什么时候起,我国的古装片就成了叫花子的舞台,到处是破布腰带,破泥烂瓦,将军飞骑一跃扬起满天飞土...城市中弥漫着乡土气息,路边都是杂草,一点时尚感都没有,电视剧电影中的这种景象和古书中记载的完全不同,古装片之所以成为那样,我想是因为那时技术不成熟吧,而且出于香港,后来...

2010-08-21 15:47:00 2951 0

原创 易接近和不易接近--我的历史观

<br />大范围的不易接近性和小范围的易接近性,技术不足的年代,小范围是活动范围,只有技术进步,大范围的易接近性才能发挥其作用,因此人们的活动范围和技术能力是有关的。在技术不足的年代,易接近的小范围地区迅速被人们占据,形成了强大的权力中心,这些权力中心反过来阻碍人们自由的交流,因为那...

2010-08-21 11:28:00 2304 0

原创 SSL记录协议中的MAC

<br />ssl的消息已经是加密的了,为何还要MAC,难道还有人会修改消息吗?如果怕有人修改消息,加一个摘要不就可以了吗?为何还要mac呢?这是怕有人离线攻击,我们可以信任协议本身,但是却不能信任加密算法,特别是ecb加密算法。<br />     MAC=HASH[sh...

2010-08-21 11:25:00 5324 0

原创 linux 的文件系统架构--手画图

<br />

2010-08-18 22:49:00 4186 0

原创 文件系统--procfs中进程目录的问题

<br />procfs是一个特殊的文件系统,和sysfs一样,它是一个只有在你看的时候才会存在的文件系统,它们一样都是用来进行内核-用户态通信的,它们和netlink或者syscall的区别在于它们是文件的方式,大量的文件系统接口都可以使用,免去了编写c代码或者其它代码的工作量,只需...

2010-08-18 22:47:00 2574 0

原创 linux的文件系统架构

<br />linux的文件系统是由若干个树形以及链表的结构组成的,其中众所周知,所有的目录和文件组成了视觉上“一棵”树,在这“一棵”树背后有一条挂载链表,如果说每一个文件系统都是一棵树的话(实际上就是如此),这个链表将很多棵树链接成了那“一棵”树,因此,linux的文件系统是由很多棵...

2010-08-18 22:41:00 3186 1

原创 arp协议的混乱引发的思考--一个实例

NA(192.168.1.0/24)--(eth0)R(eth1)--NB(192.168.2.0/24) a(eth0:192.168.1.2)--(eth0:192.168.1.1)R(eth1:192.168.2.1)--b(eth0:192.168.2.2) 一:a配置指向NB的路由的...

2010-08-16 20:49:00 3283 0

原创 简述五千年

<br />这世上都是肉身,因此尧舜禹不是神,他们不是神,他们的年代缺衣少食,少药,他们活不过一百年,因此如果夏朝真的存在,中国的历史也不过不到4000年?何来五千年? 尧舜禹会死的,正如我们会死一样,而且,他们的寿命必定没有我们的长!如果都能把传说记录在案,那么希腊罗马的历史都比中国...

2010-08-15 20:27:00 1967 0

原创 arp协议的混乱引发的思考

<br />曾几何时,人们多么淳朴,创造了arp这样的协议,这种群问一答的形式总是要么在乌托邦之类的组织能行得通要么是独裁的组织,想一下议会制,如果有一个针对全体的提问,得到的答案往往是千奇百怪的,其中,鬼知道有多少答案是欺骗。arp的提问是针对全体的,但是答案的正确与否arp请求的发...

2010-08-15 19:03:00 2646 1

原创 SO_DONTROUTE和SO_BINDTODEVICE的深层次分析

<br />SO_DONTROUTE并没有跳过路由表的查找,而只是将查找范围缩小到了直连的同三层网段主机,SO_BINDTODEVICE亦没有跳过路由表查找,而只是将外出设备固定,也就是增加了一个查找键,因此二者都无法跳过查找路由表的过程,本质上,SO_DONTROUTE也是增加了一个...

2010-08-15 19:02:00 9878 1

原创 终端会话和孤儿进程组(POSIX-2.2.2.52)--解释问题

<br />终端的问题涉及几个概念,那就是进程组,会话,作业,下面会分别进行介绍。会话包含了一系列的进程,这些进程按照不同的执行内容会组织成若干进程组,一个会话内的所有进程都必须是该会话首长进程的后代,这样就保证了这些进程都是由该会话首长进程直接或者间接开启的,只有这样的才能保证这些进...

2010-08-14 15:44:00 4358 0

原创 终端会话和孤儿进程组(POSIX-2.2.2.52)--引出问题

<br />希望shell和一个程序都同时接收一个ctrl-c,最好的办法就是将它们设置到一个进程组当中,并且把这个进程组设置为终端上的前台进程组,如下所示,其中2774是该终端上bash进程的pid:<br /> void handler(int n)<br /&...

2010-08-14 15:42:00 3229 0

原创 SO_DONTROUTE和SO_BINDTODEVICE的深层次分析

<br />SO_DONTROUTE并没有跳过路由表的查找,而只是将查找范围缩小到了直连的同三层网段主机,SO_BINDTODEVICE亦没有跳过路由表查找,而只是将外出设备固定,也就是增加了一个查找键,因此二者都无法跳过查找路由表的过程,本质上,SO_DONTROUTE也是增加了一个...

2010-08-14 15:40:00 3085 2

原创 针对http协议的监控

http协议仅仅是一个应用层协议,它使用了传输层tcp协议的功能而已,因此http协议在tcp的语义成立的情形下可以自由发挥,正是由于这种自由发挥导致了监控http成为了可能,本质原因在于,无疑,http还是要听tcp的。设客户端A,http目的地址为W,监控主机为B,序列如下: A->W...

2010-08-08 20:47:00 3411 0

原创 生命的本质和历史的发展--联系人工智能以及历史

个体死亡原因可以分为三类:能源缺失导致死亡,比如饿死;形体物理变化导致死亡,比如碾压,枪击等;化学变化引起死亡,比如生病致死。人类包括动物对这三类死亡都有一定的应对措施,比如人会觉得饥饿,食欲大增,这其实就是为了避免能源缺失,人和动物都有皮肤,特别人还会穿各种衣服,虽不能抵挡任意的物理摧残,起码能...

2010-08-08 18:54:00 2725 1

原创 编码问题以及其根本原因

<br />计算机技术领域的复杂性很多或者说大多数都是在保持前向兼容性的需求下增加的复杂性,两个最明显的例子就是intel的cpu体系结构和字符的编码,本文不再说cpu方面的东西而着重说一下编码,关于intel cpu的发展随便找点资料都说得很详细,而关于字符编码的资料却都很晦涩难理解...

2010-08-06 19:32:00 1930 1

原创 快捷键和控制序列--自己实现vi

<br />从《快捷键和控制序列--bash的命令行编辑原理以及其它杂述》中已经明白了按键和控制序列的原理,现在可以猜一下vi的原理了,大体上vi可能会包含类似下面的结构,也就是一些键映射,其中有一个命令映射和一个插入映射:<br /> KEYMAP map_cmd = ...

2010-08-04 21:30:00 1901 0

原创 快捷键和控制序列--bash的命令行编辑原理以及其它杂述

<br />对于整天在命令行下工作的家伙来说,命令行编辑功能的强弱直接关系到了工作效率,试想如果一个命令行很长很长,写到最后发现很靠前的一个地方写错了,需要修改,此时如果按方向键的话还不累死,因此对于shell来说,非常需要一种行编辑功能,可以在一行当中快速定位。bash就提供了这样的...

2010-08-04 21:29:00 3730 0

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