各种网络应用软件一般必须开放一个或者几个端口供外界使用,所以其必定可以 
  会被恶意攻击者向这几个口发起拒绝服务攻击,其中一个很流行的攻击就是SYN 
  FLOOD,在攻击发生时,客户端的来源IP地址是经过伪造的(spoofed),现行的IP 
  路由机制仅检查目的IP地址并进行转发,该IP包到达目的主机后返回路径无法通 
  过路由达到的,于是目的主机无法通过TCP三次握手建立连接。在此期间因为TCP 
  #套接口缓存队列被迅速填满,而拒绝新的连接请求。为了防止这些攻击,部分UNIX 
  变种采用分离入站的套接口连接请求队列,一队列针对半打开套接口(SYN 接收, 
  SYN|ACK 发送), 另一队列针对全打开套借口等待一个accept()调用,增加这两队 
  列可以很好的缓和这些SYN FLOOD攻击并使对服务器的影响减到最小程度: 
  
  Linux kernel 2.4 
  #/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog=1280 
  有效的增加q0的套接口队列大小. 
  #sbin/sysctl -w net.ipv4.tcp_syn_cookies=1 
  启用TCP SYN cookies支持,能有效的减轻SYN FLOOD的攻击,但是这个参数会对一些大的窗口引起一些性能问题.
                        
                                                
                                        
                        
                    
                    
            
