netstat -st输出的两个重要信息来源分别是/proc/net/snmp和/proc/net/netstat
本文将分类整理这些counterd的含义以及一些注意事项。
当执行以下命令查看netstat统计信息来源时,发现一个重要的来源是/proc/net/snmp接口的输出信息
因此在刨根问底分析源码的过程中,找到了这个接口对应的RFC2012文档。本wiki就记录下
相关的解读,以便后续更加透彻的立即netstat的统计信息。
# strace -e open netstat -s
注:netstat -s的另一个重要的数据来源是/proc/net/netstat下的信息,但鉴于
该接口信息量较大,因此会单独独立整理。
Early Retransmit机制解决了dupack较少,无法触发快速重传的问题。
但是如果发生了尾丢包,由于尾包后面没有更多的数据包,也就没有办法触发任何的dupack。
为解决这种尾丢包的问题,Google的几位大神提出了TLP算法。通过TLP算法,发送一个loss probe包,来产生足够的SACK/FACK的信息来触发RF。根据Google的测试,TLP能够有效的避免较长的RTO超时,进而提高TCP性能。
Early Retransmit(ER)机制的提出主要解决的是在某些特定场景下,没有足够的
dupack触发fast retransmit造成的问题。
本质上就是通过检测出某些考虑到的特定场景,然后降低触发FR的dupack threshold值。
具体需要考虑那些特定场景后续后详细介绍。