没有正确重组的包都需要存在reassembly buffer里面,存的数据包数量超过reassembly buffer的上限后自然会被丢弃。
所以当使用 netstat -s 命令发现很多 reassembles failed ,则需要调整 reassembly buffer 的大小,该大小由下面两个系统参数控制:
/proc/sys/net/ipv4/ipfrag_low_thresh
15728640
/proc/sys/net/ipv4/ipfrag_high_thresh
16777216
两个文件分别表示用于重组IP分段的内存分配最低值和最高值,一旦达到最高内存分配值,其它分段将被丢弃,直到达到最低内存分配值。