自定义博客皮肤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:-(

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

原创 要过年了

<br />马上就要过年了,今年没有老猫,没有回家,我决定带着怀孕5个月的老婆去旅游,宝宝5个月了,先去苏州,然后去杭州,然后回上海。苏州还好,宾馆景点价位都还可以,杭州就另说了,都贵啊,不知道为什么。以前都是上有天堂下有苏杭,为何苏州和杭州就如此不同呢...所以准备在苏州多逗留一些时...

2011-01-31 17:58:00 2129 0

原创 x86的段页式存储管理

<br />x86页表项中有一个U/S位,表征是否允许一般用户访问,页表项的位明显是基于页式存储管理的,然而访存系统mmu是怎么知道访问者目前是u还是s呢?是u还是s是在哪里设置的呢?根据又是什么呢?其实这个根据并不再页式管理的范畴,而在段式管理范畴,段寄存器中的dpl表征了是u还是s...

2011-01-31 17:39:00 3065 0

原创 虚拟化的内存和中断

我个人以为,在一台物理机器上运行虚拟机器,并且虚拟机器还和物理机器公用一套硬件,最复杂的东西只有两个,那就是内存管理和中断管理,对于内存管理,影子叶表已经解决了绝大多数的问题,对于中断问题,还有很多的不同的解决方案有待选择。      以x86系列处理器为例,当中断发生的时候,总是会有intr信...

2011-01-30 17:06:00 2918 0

原创 感悟之三者

<br />之一:地铁上看见了时髦女人和要饭人的一幕<br /> 在地铁上看见有一个乞丐,明显是装的,有幕后的那种,踱步乞讨,走过一个女人,女人衣着时髦,发型考究,对之不理不睬,然则乞丐走出十五步有余之后,时髦女人追上来,从包里掏出一堆硬币,仔细挑拣后,拿出一枚一角的投入...

2011-01-27 21:27:00 2617 0

原创 vmware的vmmon--部分代码以及虚拟机嵌套

<br />vmware的vmnet是开源的,因为linux下需要编译模块,而编译模块必须需要源代码,并且网络协议栈完全是linux操作系统内部的事情,因此它必须完全开源才可以,然而vmware的另一个重要的内核模块vmmon却可以尽量少的开放源代码,而保留一些闭源的内容以二进制的方式...

2011-01-27 21:11:00 3516 0

原创 vmware的原理和影子页表

<br />vmware启动的时候同时会有一个vmware-vmx启动,二者通过pipe或者socket通信,实际上,vmware只是一个输入/显示客户端,类似X服务器,它一般在一个窗口中运行一个虚拟操作系统。真正工作的是vmware-vmx这个进程,它和内核中monitor通信完成虚...

2011-01-27 21:10:00 7224 0

原创 vmware的vmnet-组网,升级和应用

<br />openvpn的组网方式很单一,仅仅通过配置路由,将数据导向tap,然后从字符设备中将之读取出来。如果能充分利用上述vmnet的方式的话,那就灵活多了,这里不考虑vmware-vmx以及vmnet-natd这种不开源的进程,仅仅考虑userif/netif/bridge/h...

2011-01-25 22:11:00 2863 2

原创 vmware的vmnet-理解全景后解答两个问题

<br />问题一:虚拟机中增加两块网卡eth0和eth1,均为bridge模式,两块网卡的ip地址配置到和真实机器真实网卡的同一网段,两块虚拟机网卡的arp_ignore均设置为1,然后真实机器上ping 虚拟机的eth0,在虚拟机的两块网卡上同时抓包,可以看出,eth0回复的arp...

2011-01-25 22:08:00 3032 0

原创 vmware的vmnet-有机会还要看源码

<br />实现这个虚拟交换机肯定需要内核的支持,linux的模块加载是严格依赖版本号的,因此vmware的linux版本必然要提供源代码并且在vmware安装的时候根据当前运行的内核版本重新编译,因此也就给了我们看一眼虚拟交换机以及虚拟网络是如何实现的机会。以VMware Works...

2011-01-25 22:03:00 2924 0

原创 vmware的vmnet-感官和视觉上的效果

<br />debian上启动一台系统为redhat的vmware虚拟机(版本为5.5.1),redhat有三块网卡:eth0,eth1,eth2,分别设置为bridge,nat,host-only模式,在物理机器debian上的/proc中可以看到网络连接情况:<br />...

2011-01-25 21:59:00 3497 0

原创 vmware的vmnet-概念的解说

<br />vmware本身实现了一个很不错的虚拟网络-vmnet,这个虚拟网络完全可以脱离vmware而存在,我个人十分看好这个虚拟网络架构,它实质上是在内核实现的一个虚拟的链路层网络,至于它还有没有其它的组网方式,值得研究。<br /> 1.几个概念:<br /...

2011-01-25 21:57:00 6388 0

原创 windows和linux的协议栈驱动

<br />windows中没有将loopback当成一个网卡来实现,而是直接在比较高的层次解决了对127.0.0.0网段的访问,因此使用wiresharck是无法抓取这种loopback包的,pcap工作在非常低的层次,127.0.0.0网段的数据流是不会到这个层次的。因此你必须按照...

2011-01-25 21:53:00 4164 2

原创 risc和cisc在嵌入式设备中的博弈

<br />cisc指令复杂,执行指令的时候必然功耗较大,并且由于指令多而复杂,必然消耗很大的芯片面积,在成本上也必然增加,制造难度大。而risc却没有这样的问题,小而精简,看起来更适合嵌入式设备。<br />      然而从软件上,risc指令少,必然导致同一个程序使...

2011-01-21 20:52:00 2428 0

原创 scapy-yield的含义和使用

<br />scapy的实现中,yield的用法很好,它使得loop成为一个生成器,从而使得__iter__返回一个迭代器,那么yield的本质是什么呢?<br /> 保有yield的函数返回的是一个迭代器,而返回迭代器的也就是生成器了,用yield构造迭代器将会非常方便...

2011-01-21 20:50:00 2716 0

原创 scapy-其中迭代器的实现细节

<br />前面知道了在scapy中,不管是ip包,还是以太包,还有tcp包,或者它们集合在一起的包都是一个Packet,这是在数据包组织意义上讲的,另外从数据包最终组合的意义上讲,scapy最引人入胜的地方还在于Packet本身也是一个生成器,即generator,这是python中...

2011-01-21 20:48:00 3421 0

原创 scapy-协议数据组织结构与细节

<br />是使用继承还是使用包含,这也许是OO中永远讨论不完的话题,其受到争议正是因为这两种方式都太灵活了,让人不能轻易以一个的优点作为根据迅速推翻另一者,正是因为二者都很好,scapy则同时使用了二者,恰巧正是这种scapy的使用方式将继承和包含结合在了一起,结束了它们的争吵。&l...

2011-01-20 21:49:00 6025 2

原创 scapy-整体设计和数据发送流程

<br />scapy涉及了pf_packet套结字编程,路由以及面向对象设计等诸技术,它本身使用python编写,熟悉python的家伙这下有福了,可以目睹这个优秀的软件而无需下载编译源码之类的了。<br /> scapy中到处都是class,不过要说起来,使用clas...

2011-01-19 21:06:00 6823 2

原创 arp_ignore背后的rp_filter与arp_filter

<br />操作系统:Debian 3<br /> 机器和网络配置:<br /> 测试机器eth0:<br /> inet addr:192.168.1.82<br /> 当事机配置:<br /> eth0:<...

2011-01-18 21:19:00 13253 1

原创 除了鱼刺还有花椒

<br />鱼肉好吃,然则卡了嗓子就不爽了,故吃鱼的时候总难放开,总难开怀,因此鱼之美味也就在这紧慢之中焦急之中令人吃不爽,令人回味。不似牛羊肉,大块啃食,肚饱之后忽觉索然无味,顷刻前的口水骤然变为一团由胃翻滚至上的饱嗝汤水,喷出口外,食鱼则不然,虽食前尽有口水,食之却不能尽兴,食罢其...

2011-01-16 17:31:00 2745 0

原创 OOM-KILLer的演进与新的启发式策略

<br />linux在2.6.36内核中修正了oom-killer的行为,oom-killer在引入之初就曾引发过争论,这个东西到底应不应该存在,内存不够用了的时候,到底应不应该由操作系统内核替我们做一些事,比如选出一个吃内存的大户,然后干掉它,这种行为甚是鲁莽,按照机制和策略分离的...

2011-01-14 21:36:00 4573 0

原创 ipmi对于统一硬件管理的意义

<br />ipmi-智能平台管理接口是一个标准,它的实现核心是一个芯片,叫做BMC,它独立于计算机常规部件比如cpu,内存等等然而却真真的存在于主板或者刀片上。基于BMC使用ipmi,你可以不依赖操作系统对机器进行监控或者管理,甚至远程管理,管理的范畴甚至可以是电源操作,比如开机,关...

2011-01-13 20:29:00 5577 0

原创 仿佛回到了初中

<br />昨天下班到家疯狂地唱黑豹,零点,庾澄庆,唐朝,崔健的歌,不是一般的唱,是完整的,大声的唱,终于发现自己还没有老,还没有迷失在利益和欲望的此岸,彼岸仍然是无尽的洒脱,歌声尽毕,哎...才周二,还要上三天班!放声歌唱,只是觉得身边少了一个敲架子鼓的,事后又没有老师请家长,真是不...

2011-01-11 20:56:00 1668 0

原创 kmap_atomic的细节以及改进

<br />kmap_atomic用于高端内存映射,用于紧急的,短时间的映射,它没有使用任何锁,完全靠一个数学公式来避免混乱,它空间有限且虚拟地址固定,这意味着它映射的内存不能长期被占用而不被unmap,kmap_atomic在效率上要比kmap提升不少,然而它和kmap却不是用于同一...

2011-01-11 20:37:00 12095 6

原创 一个关于组播的网络问题--暂没有时间确定真实原因

<br />操作系统:Debian 3(内核2.6.8-2-686-smp)<br /> 网卡:四块网卡,驱动程序为e1000(e1000.ko)<br /> 应用程序:在其中一块或者多块网卡上启动heartbeat(向组播地址发包)<br />...

2011-01-11 20:35:00 2923 0

原创 对待实时进程(RT)抢占的问题

<br />一个进程被唤醒,在linux中是调用try_to_wake_up函数,对于RT进程也不例外,对于一般进程而言,如果在一个cpu运行队列上被唤醒的进程的优先级大于该cpu的当前进程,那么就会发生抢占,而如果两个进程都是RT进程则不会发生抢占,理由是cache的保持,如果发生抢...

2011-01-11 16:35:00 3276 0

原创 关于android移动开发

移动开发如今异常火爆,只因为移动装备异常火爆,可是这里有几个问题,拿个手机看电影真的很舒服吗?手机的功能越多越好吗?真的希望ipad能 改变这一切,想看电影,看电子书,想玩玩游戏,你可以选择一款平板电脑而不是一部手机,手机拥有那么多功能真的是一种负担,对于开发人员来 讲也是一种误导,拿moto...

2011-01-09 20:51:00 2969 1

原创 asm goto与JUMP_LABEL

越来越多的工作现如今都交给了编译器,甚至连动态代码修改的数据组织这种事都交给了编译器。gcc提供了一个特性用于嵌入式汇编,那就是asm goto,其实这个特性没有什么神秘之处,就是在嵌入式汇编中go to到c代码的label,其最简单的用法如下(来自gcc的文档): int frob(int x...

2011-01-07 21:18:00 6146 1

原创 linux2.6.36之后对工作队列的改进

<br />linux自从引入工作队列之后,越来越多的工作都交给了它,工作队列有什么优点?有进程上下文?可延迟?是的,这些都是它的优点,但是总不能因为它的这些有限的优势而将所有的工作都交给它来做吧,可是驱动或者子系统的开发者却把它当成了银弹,动不动就create_workqueue,然...

2011-01-05 17:03:00 4584 0

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