Linux上的TIME

  • 时间:
  • 浏览:0

   当keepalive起用的随后,TCP发送keepalive消息的频度,单位为秒,缺省是7200秒(即2小时)

#define TCP_FIN_TIMEOUT TCP_TIMEWAIT_LEN

17) net.ipv4.tcp_wmem

 * It used to be 3min, new value is 200sec,

Linux那么提供修改TIME_WAIT时长接口,除非修改宏的定义重新编译内核。

 */

tcp_fin_timeout实为FIN_WAIT_2情况的时长,

200

定义在内核的include/net/tcp.h文件中:

7) net.ipv4.ip_local_port_range

通常会想到去修改参数降低TIME_WAIT时长,

   放弃宣布一一5个TCP连接请求前﹐都要进行几只次重试,RFC规定最低的数值是3,这也是默认值

   内核分配给TCP连接的内存,单位是page:

   保持TIME_WAIT套接字的最大个数,超过这一数字TIME_WAIT套接字将立刻被清除并打印警告信息

#define TCP_TIMEWAIT_LEN (200*HZ)

15) net.ipv4.tcp_mem

/* BSD style FIN_WAIT2 deadlock breaker.

9) net.ipv4.tcp_syn_retries

   为每个TCP连接分配的写缓冲区内存大小,单位是byte:

   端口最大backlog内核限制,处里占用过大内核内存

   在丢弃激活(已建立通讯情况)的TCP连接随后﹐都要进行几只次重试,默认值为15

当Linux服务器的TIME_WAIT那么来太满时,

3) net.ipv4.tcp_tw_recycle

代码中可通过SO_LINGER来控制。

4) net.ipv4.tcp_fin_timeout

19) net.ipv4.tcp_keepalive_intvl

   第一一5个数字表示,为TCP连接分配的最大内存(net.core.wmem_max可覆盖该值)

18) net.ipv4.tcp_keepalive_time

   第5个数字表示TCP使用的page超过此值时,内核进入“memory pressure”压力模式,

# cat /proc/sys/net/ipv4/tcp_fin_timeout

 * to combine FIN-WAIT-2 timeout with

   为1时SYN Cookies,当SYN在等待队列溢出时启用cookies来处里,可防范多量SYN攻击

6) net.ipv4.tcp_max_tw_buckets

10) net.ipv4.tcp_retries1

20) net.ipv4.tcp_keepalive_probes

16) net.ipv4.tcp_rmem

   第一一5个数字表示TCP使用的page少于此值时,内核不进行任何处里(干预),

   为1表示允许将TIME-WAIT的句柄重新用于新的TCP连接

TIME_WAIT是一一5个常见老会 的问提,相关内容(/etc/sysctl.conf或/proc/sys/net/ipv4):

1) net.ipv4.tcp_timestamps

 * TIME-WAIT timer.

   不属于任何应用程序运行运行(假如从应用程序运行运行上下文中删除)的sockets最大个数,超过这一值会被立即RESET,并同时显示警告信息

   假如对方不予应答,探测包的发送次数

   孤儿sockets废弃前重试的次数,缺省值是7

RTO:超时重传(Retransmission Timeout)

   为1表示开启TCP连接中TIME-WAIT的快速回收,NAT环境假如原因分析分析分析DROP掉SYN包(回复RST)

   FIN_WAIT_2情况的超时时长

   对一一5个新建连接,内核要发送几只个SYN连接请求才决定放弃,不应该大于255

13) net.ipv4.tcp_max_orphans

   keepalive探测包的发送间隔    

/* how long to wait to destroy TIME-WAIT state,

以减少TIME_WAIT数量,但Linux并那么提供从前的接口,

2) net.ipv4.tcp_tw_reuse

   TCP三次握手的SYN/ACK阶段重试次数,缺省5

   为每个TCP连接分配的读缓冲区内存大小,单位是byte

但Windows可能够够修改注册表中的TcpTimedWaitDelay值来控制TIME_WAIT时长。

 */

5) net.ipv4.tcp_syncookies

11) net.ipv4.tcp_retries2

 * about 200 seconds

除非重新编译内核。

   第5个数字表示,为TCP连接分配的缺省内存,

   第一一5个数字表示,为TCP连接分配的最小内存,

Linux默认的TIME_WAIT时长一般是200秒,

8) net.ipv4.tcp_max_syn_backlog

14) net.ipv4.tcp_orphan_retries

   第一一5个数字表示TCP使用的page超过些值时,报“Out of socket memory”错误,TCP 连接将被拒绝

注意tcp_fin_timeout都要TIME_WAIT时间:

   为1表示开启TCP时间戳,用来计算往返时间RTT(Round-Trip Time)和处里序列号回绕

12) net.ipv4.tcp_synack_retries