TC(Traffic Control)学习

qdisc是最终的用来选择哪个包的算法(代码),class只是一个可以挂载qdisc或class的东西。对于classful qdisc来说,leaf class必然要有一个qdisc在上面,如果没有指定应该就是用的默认的。

之所以有class,小秦个人觉得是为了让管理员通过命令的方式动态的实现if-else这样的选择逻辑(当然前提是这个qdisc算法支持这样的功能,比如FIFO的qdisc就没有这么复杂,所以其只是一个classless的qdisc),让packet走特定的qdisc出去。所以class就是我们做if-else判断的逻辑节点,if-else的条件就是filter,其parent就是上一层节点。 Continue reading

RedHat常见命令学习总结

1./dev/hda为一个盘,其中/dev/hda1等等为一个分区,值得注意的是这里的数字代表了分区的顺序,也就是说,hda1应该是最靠近硬盘开始的那几个扇区,然后才是hda2啥的。对于第二块硬盘,以hdb开始。在/dev目录下,既可以看到/dev/hda,也能看到/dev/hda1、/dev/hda2等等,没有数字的就是代表整个硬盘,有数字的就是代表一个分区。比如我要看MBR,那么MBR不属于任何一个分区,所以应该在/dev/hda上写或读取MBR。
另外,HDA与SDA的区别是由硬盘造成的.HDA是IDE硬盘的名称.SDA是SATA的名称.在最新的2.6.19内核里,所有的硬盘都叫SDA了。 Continue reading

ulimit的学习

这个是shell自带的命令,一般先用ulimit -a查看一下(软限制,同ulimit -S -a,如果要看硬限制,那么ulimit -H -a),然后用ulimit -S -c 0 或ulimit -H -c 0的方法设置软限制或硬限制。-c参数指定的是选项,这个可以在-a的时候看到。设置的值可以是0,也可以是unlimited。 Continue reading

strace命令的学习

strace -o outputfile cat /dev/null
输出:
每一行都是一条系统调用,等号左边是系统调用的函数名及其参数,右边是该调用的返回值。
strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。 Continue reading