netstat -s输出解析(一)


当执行以下命令查看netstat统计信息来源时,发现一个重要的来源是/proc/net/snmp接口的输出信息
因此在刨根问底分析源码的过程中,找到了这个接口对应的RFC2012文档。本wiki就记录下
相关的解读,以便后续更加透彻的立即netstat的统计信息。

# strace -e open netstat -s

注:netstat -s的另一个重要的数据来源是/proc/net/netstat下的信息,但鉴于
该接口信息量较大,因此会单独独立整理。

Read More

TCP Tail Loss Probe(TLP)


Early Retransmit机制解决了dupack较少,无法触发快速重传的问题。
但是如果发生了尾丢包,由于尾包后面没有更多的数据包,也就没有办法触发任何的dupack。
为解决这种尾丢包的问题,Google的几位大神提出了TLP算法。通过TLP算法,发送一个loss probe包,来产生足够的SACK/FACK的信息来触发RF。根据Google的测试,TLP能够有效的避免较长的RTO超时,进而提高TCP性能。

Read More

聊一聊重传次数


RTO的计算方法中,介绍了RFC6298对于RTO的计算和RTO timer的管理算法。
但有一个重要的问题RFC没有提到,那就是如果出现了超时重传,那重传多少次可以放弃呢?
当然这是一个实现相关的细节,不同的操作系统可能有不同的实现策略。
在这篇wiki中,就来介绍一下Linux中是怎么限制超时重传次数的。

Read More