说到高性能的TCP
Socket编程可能遇到的问题,尤其TCP高并发连接可能遇到的问题:
1) TIME_WAIT
2) CLOSE_WAIT
3) SYN的DOS攻击
4) TCP连接高并发性能瓶颈(随着连接数增大性能下降)
5) TCP建立三次握手的延迟
6) 高并发下报打开文件句柄过多
7) TCP连接攻击,连接成功后,不发数据或发少量数据
8) 多进程之间共享同一个IP和Port的(fork/accept_mutex)
9) 多进程的惊群效应
1、SYN/ACK Flood 攻击:
2、TCP 全连接攻击
3、刷 Script 脚本攻击:
SOL_SOCKET
SO_REUSEADDR
SO_REUSEPORT
SO_KEEPALIVE
SO_RCVBUF
SO_SNDBUF
SO_SNDLOWAT
SO_RCVLOWAT
IPPROTO_TCP
TCP_DEFER_ACCEPT(SO_ACCEPTFILTER)
TCP_FASTOPEN
TCP_KEEPIDLE
TCP_KEEPINTVL
TCP_KEEPCNT
TCP_NODELAY
TCP_CORK(TCP_NOPUSH)
/etc/sysctl.conf
TIME-WAIT sockets
WAIT-CLOSE sockets
/proc/sys/net/<ipv4/ipv6/...>
sysctl -p
http://www.51testing.com/html/45/n-1512345.html