在几乎每个FreeBSD网络调整文档中,我都能找到:
# /boot/loader.conf
net.inet.tcp.tcbhashsize=4096
这通常与一些无用的语句配对,例如“ TCP控制块哈希表调整”或“将其设置为合理的值”。man 4 tcp
并没有太大帮助:
tcbhashsize Size of the TCP control-block hash table (read-only). This may be tuned using the kernel option TCBHASHSIZE or by setting net.inet.tcp.tcbhashsize in the loader(8).
我能找到的唯一涉及到这一神秘事物的文档是“ 优化FreeBSD IP和TCP堆栈”中“传输层”下的“协议控制块查找”小节,但其描述更多地是关于使用它的潜在瓶颈。这似乎与将新的TCP段匹配到其侦听套接字有关,但是我不确定如何。
TCP控制块到底是做什么用的?为什么要将其哈希大小设置为4096或任何其他特定数字?
+1,非常有趣的问题!
—
Janne Pikkarainen 2012年
AFAIK,
—
SaveTheRbtz 2012年
inpcb
仅可通过以下方式获得有关将数据包传送到适当套接字的所有信息。