上面的全部来自真实环境的tcp控制选项,还有如果需要进一步看这些选项的描述的话,请直接在终端敲man tcp.下面一一看这些的意义,以便后面复习。
tcp_abc 拥塞算法
tcp_abort_on_overflow :tcp sync处理不过来干脆就直接拒绝连接了。
net.ipv4.tcp_adv_win_scale:
1: 默认值为2
2: 在tcp_moderate_rcvbuf启用的情况下,用来对计算接收缓冲区和接收窗口的参数进行微调。
3: 窗口与接收缓存之间的比例系数 那么这时大家可能有疑问,当窗口从初始窗口一路扩张到最大接收窗口时,最大接收窗口就是最大读缓存吗? 不是,因为必须分一部分缓存用于应用程序的延时报文读取。到底会分多少出来呢?这是可配的系统选项,如下: cat net.ipv4.tcp_adv_win_scale = 2,这里的tcp_adv_win_scale意味着,将要拿出1/(2^tcp_adv_win_scale)缓存出来做应用缓存。即,默认tcp_adv_win_scale配置为2时,就是拿出至少1/4的内存用于应用读缓存,那么,最大的接收滑动窗口的大小只能到达读缓存的3/4。
tcp_allowed_congestion_control:允许的拥塞控制算法
tcp_app_win:
1: 默认值为:31
2: 用于计算当前应用接收缓存的大小(只包括应用层数据,单位为字节)
3: 保留max(window/2^tcp_app_win, mss)数量的窗口由于应用缓冲。当为0时表示不需要缓冲
1: 默认值为2
2: 在tcp_moderate_rcvbuf启用的情况下,用来对计算接收缓冲区和接收窗口
的参数进行微调。
3: 窗口与接收缓存之间的比例系数
那么这时大家可能有疑问,当窗口从初始窗口一路扩张到最大接收窗口时,最
大接收窗口就是最大读缓存吗?
不是,因为必须分一部分缓存用于应用程序的延时报文读取。到底会分多少出
来呢?这是可配的系统选项,如下:
[cpp] view plaincopyprint?01.net.ipv4.tcp_adv_win_scale = 2
net.ipv4.tcp_adv_win_scale = 2
这里的tcp_adv_win_scale意味着,将要拿出1/(2^tcp_adv_win_scale)缓存出
来做应用缓存。即,默认tcp_adv_win_scale配置为2时,就是拿出至少1/4的内
存用于应用读缓存,那么,最大的接收滑动窗口的大小只能到达读缓存的3/4
1: 默认值为2
2: 在tcp_moderate_rcvbuf启用的情况下,用来对计算接收缓冲区和接收窗口
的参数进行微调。
3: 窗口与接收缓存之间的比例系数
那么这时大家可能有疑问,当窗口从初始窗口一路扩张到最大接收窗口时,最
大接收窗口就是最大读缓存吗?
不是,因为必须分一部分缓存用于应用程序的延时报文读取。到底会分多少出
来呢?这是可配的系统选项,如下:
[cpp] view plaincopyprint?01.net.ipv4.tcp_adv_win_scale = 2
net.ipv4.tcp_adv_win_scale = 2
这里的tcp_adv_win_scale意味着,将要拿出1/(2^tcp_adv_win_scale)缓存出
来做应用缓存。即,默认tcp_adv_win_scale配置为2时,就是拿出至少1/4的内
存用于应用读缓存,那么,最大的接收滑动窗口的大小只能到达读缓存的3/4
1: 默认值为2
2: 在tcp_moderate_rcvbuf启用的情况下,用来对计算接收缓冲区和接收窗口
的参数进行微调。
3: 窗口与接收缓存之间的比例系数
那么这时大家可能有疑问,当窗口从初始窗口一路扩张到最大接收窗口时,最
大接收窗口就是最大读缓存吗?
不是,因为必须分一部分缓存用于应用程序的延时报文读取。到底会分多少出
来呢?这是可配的系统选项,如下:
[cpp] view plaincopyprint?01.net.ipv4.tcp_adv_win_scale = 2
net.ipv4.tcp_adv_win_scale = 2
这里的tcp_adv_win_scale意味着,将要拿出1/(2^tcp_adv_win_scale)缓存出
来做应用缓存。即,默认tcp_adv_win_scale配置为2时,就是拿出至少1/4的内
存用于应用读缓存,那么,最大的接收滑动窗口的大小只能到达读缓存的3/4
tcp_available_congestion_control:可用的拥塞控制算法
tcp_base_mss:1: 默认值为:512
2: 分组层路径MTU发现(MTU探测)中使用的search_low的初始值。如果允许MTU探测,这个初始值就是连接使用的初始MSS值。
tcp_challenge_ack_limit:Linux内核都遵从这一守则,系统中有个全局变量sysctl_tcp_challenge_ack_limit,就是存储challenge ACK计数器。
tcp_congestion_con