发布时间:2013-05-07 11:57:01
TCP delay ack机制和实现,基于数据段的判断和基于定时器的判断流程。引起的性能问题。......【阅读全文】
发布时间:2013-04-08 21:18:49
1.从协议设计的角度讲,各层分开设计有利于实现。2.某些场景需要这些重复功能 举例来说,TCP和MAC层都有checksum,但是这种设计并非冗余 1)某些应用不需要经过MAC层,比如TCP本地回环通信 还有内核态和用户态调用socket通信 &n.........【阅读全文】
发布时间:2013-01-22 21:40:38
TCP滑动窗口和拥塞窗口的关系:cwnd连续增长,包连续入队列,没有窗间、窗尾的概念......【阅读全文】
发布时间:2013-01-04 11:33:32
本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。 作者:gfree.wind@gmail.com 博客:linuxfocus.blog.chinaunix.net 上次学习IP包的发送流程时,学习到了dev_queue_xmit这个函数。int dev_queue_xmit(struct sk_buff *skb){ struct net_device *......【阅读全文】
发布时间:2013-01-03 11:48:47
尝试了多种方法,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-01-03 11:31:04
TCP丢包的处理,在TCP/IP详解p235-236讲解的比较明确,这里进行一下扩展和细化。原文摘录:" 拥塞避免和慢启动算法需要对每个连接维持两个变量:一个拥塞窗口cwnd和一个慢启动门限ssthresh。3)当拥塞发生时(超时或收到重复确认),ssthresh被设置为当前窗口大小的一半(cwnd和接收方通告窗口大小的最小值,但至少为2个报文段)。此外,如果是超时引起了拥塞,则cwnd被设置为1个报文段(这就是慢启动)。"【笔者注:这里的ssthresh,是慢启动和拥塞避免两个阶段的分界点,超过这个值,cwnd的增长就不再是乘性增长,而是加性增长,参照AIMD策略】。重复确认:在收......【阅读全文】