csk专题

Linux: network:socket: inet_csk_bind_conflict相关的一个改进建议

内核在分配临时端口的时候,会使用一个hash bucket存放同一端口,在reuse的情况下所有socket。在下一次选择端口的时候,会做根据fastreuse的情况,来判断是否做conflict检查。这里有一个问题:https://mzhan017.blog.csdn.net/article/details/137108073。 其实可以加一个内核参数来控制,在选择下一个临时端口的时候,是否要找

Linux: network: 内核里的一个隐匿陷阱 inet_csk_bind_conflict

最近和同事一块看一个问题,内核版本4.18。总结如下: 说有一个函数是inet_csk_bind_conflict,如果只是普通socket的应用,socket数量不多,可能用不到这个函数,或者用到了也感知不到。 但是最近就遇到了一个问题,说应用在一个端口建立起来了tons of sockets,来对外链接, 这个时候就有可能出现问题,而且使用的这个端口,还是一个临时的端口,在net.ipv4.i