如果想出发,就不要等到明天!
全部博文(317)
发布时间:2013-07-18 11:06:00
memory allocation mechanims for per-cpu variable in kernel......【阅读全文】
发布时间:2013-07-10 09:51:46
TCP丢包的处理,在TCP/IP详解p235-236讲解的比较明确,这里进行一下扩展和细化。原文摘录:" 拥塞避免和慢启动算法需要对每个连接维持两个变量:一个拥塞窗口cwnd和一个慢启动门限ssthresh。3)当拥塞发生时(超时或收到重复确认),ssthresh被设置为当前窗口大小的一半(cwnd和接收方通告窗口大小的最小值,但至少为2个报文段)。此外,如果是超时引起了拥塞,则cwnd被设置为1个报文段(这就是慢启动)。"【笔者注:这里的ssthresh,是慢启动和拥塞避免两个阶段的分界点,超过这个值,cwnd的增长就不再是乘性增长,而是加性增长,参照AIMD策略】。重复确认:在收......【阅读全文】
发布时间:2013-07-10 09:51:40
尝试了多种方法,win_init_option_这个选项在调节cwnd_时没什么用。NS2 tcp.cc有关于拥塞窗口初始值的设定源码,initial_window(),具体不记得函数名了,大概是这个函数。有几个if判断语句,比如,大于1095,cwnd返回4.0。把这个判断语句的返回值改了,重新编译安装,没什么作用。【不解】后来发现网上一个脚本有设置cwnd的语句$tcp set windowInit_ 10$tcp set windowOption_ 1更改后,跟踪cwnd_变量,发现初始值已经改变。......【阅读全文】
发布时间:2013-07-10 09:51:32
本文讲解了IP包的发送流程2,从dev_queue_xmit到sch_direct_xmit......【阅读全文】
发布时间:2013-07-10 09:51:23
关于TCP内核实现的文章和书籍不少,讲解侧重点不一。在内核源码中,注释率普遍在20%以上,大约能看懂。但是有些关键变量解释的不够详细,对源码流程也没有文档给出。【笔者按:文档应该是有的,没找到】http://blog.csdn.net/zhangskd/article/details/7043071zhangskd写的一系列文章都很好,值得佩服。这里在他文章的基础上,做些分析和扩展。先从数据结构讲起,tcp_sock在整个TCP实现中,所占位置极其重要,因为该结构体包含拥塞窗口、阈值等一系列变量。在 include/linux/tcp.h中:[cpp] view plaincopys......【阅读全文】