tcp连接管理

[[email protected] etc]# cat /proc/sys/net/core/netdev_max_backlog
1000
每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目,对重负载服务器而言,该值需要调高一点。见议设为16384
[[email protected] etc]# cat /proc/sys/net/ipv4/tcp_max_syn_backlog
2048 #建议设为:16384
对于那些依然还未获得客户端确认的连接请求﹐需要保存在队列中最大数目。对于超过 128Mb 内存的系统﹐默认值是 1024 ﹐低于 128Mb 的则为 128。如果服务器经常出现过载﹐可以尝试增加这个数字。
[[email protected] etc]# cat /proc/sys/net/ipv4/tcp_synack_retries
5 #建议设为:1
控制内核向某个socket的ack,syn段(三次握手的第二次握手)重新发送响应的次数,降低此值可以尽早检测到来自远程主机的连接失败尝试
[[email protected] etc]# cat /proc/sys/net/ipv4/tcp_retries2
15#建议设为:5
控制内核向已建立连接的远程主机重新发送数据的次数,降低此值,可以尽早的检测连接失效
在丢弃激活(已建立通讯状况)的TCP连接之前﹐需要进行多少次重试。默认值为15,根据RTO的值来决定,相当于13-30分钟(RFC1122规定,必须大于100秒).(这个值根据目前的网络设置,可以适当地改小,我的网络内修改为了5)
[[email protected] etc]# cat /proc/sys/net/ipv4/tcp_syncookies
1
表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;SYN Cookie是对TCP服务器端的三次握手协议作一些修改,专门用来防范SYN Flood攻击的一种手段。它的原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值。在收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接
时间: 2024-10-13 16:42:16

tcp连接管理的相关文章

TCP拥塞控制及连接管理

在阅读此篇之前,博主强烈建议先看看TCP可靠传输及流量控制. 一.TCP拥塞控制 在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏——产生拥塞(congestion).出现资源拥塞的条件:对资源需求的总和 > 可用资源:拥塞带来的问题:若网络中有许多资源同时产生拥塞,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降. 1. 拥塞的控制方法一(慢开始和拥塞避免) 发送方维持一个叫做拥塞窗口 cwnd (congestion window)的状态变

第8章 传输层(7)_TCP连接管理

7. TCP连接管理 7.1 TCP的连接建立 (1)三次握手 ①三次握手过程 A.第1.2次握手,数据包的SYN均为1,表示用于同步.即第1次客户端发起请求,并将自己的连接参数(如接收窗口大小.MSS和是否支持SACK等)告知服务器.第2次连接是服务器收到连接请求后作出确认,同时其自己的连接参数告知客户端,这主要是出于双向通信的需要).因此SYN=1表示,这两个数据包主要用于协商和同步通信双方的连接参数).ACK=1表示是一个确认包.ack表示确认的数据包序号. B.第3次握手用于告知客户端服

TCP的运输连接管理

TCP的运输连接管理 TCP是面向连接的协议,有三个阶段:连接建立.数据传送 和 连接释放.运输连接的管理就是使运输连接的简历和释放都能正常地进行. 在TCP连接建立过程中要解决一下三个问题: 1.  要使每一方都能够确知对方的存在: 所以需要三次握手. 2.  要允许双方协商一些参数(如最大窗口值.是否使用窗口扩大选项和时间戳选项以及服务质量等). 3.  能够对运输实体资源(如缓存大小.连接表中的项目等)进行分配:建立TCB. TCP连接的建立采用跟客户-服务器模式.主动发起连接建立的应用进

《HTTP权威指南》读书笔记-HTTP连接管理及对TCP性能的考虑

一.HTTP如何使用TCP连接 世界上几乎所有的HTTP通信都是有TCP/IP承载的,它是一种常用的分组交换网络分层协议集. HTTP连接实际就是TCP连接及其使用规则.web浏览器与服务器通过TCP连接的交互如下图: TCP流是通过分段.由IP分组传送 TCP数据是通过IP分组(或IP数据报)的小数据块来发送的.HTTP就是"HTTP OVER TCP OVER IP"这个协议栈中的最顶层.其安全版本HTTPS就是在HTTP和TCP之间插入了一个密码加密层(称为TLS或SSL).HT

Java网络原理之连接管理:TCP三次握手和TCP四次挥手

问题:TCP为什么是三次握手?而不是两次或者四次? TCP作为种可靠传输控制协议,其核心思想:既要保证数据可靠传输,又要提高传输的效率,而用三次恰恰可以满足以上两方面的需求! TCP可靠传输的精髓: TCP连接的 发送方A,由操作系统动态随机选取-个32位长的序列号(InitialSequence Number),假设A的初始序列号为1000,以该序列号为原点,对自己将要发送的每个字节的数据进行编号,1001, 1002, 100... 并把自己的初始序列号ISN告诉B,让B有一个思想准备,什么

解决不对称流量经过JUNIPER防火墙,tcp连接重置丢失问题

背景:公司网络增加一台JUNIPER防火墙,用于外网网关使用,其实配置上网配置很简单,配置完成后,外网连接测试也都正常,但在特殊的测试环境中会出现一种情况,该环境如图所示: 现象:当PC机的网关指定为防火墙的内网接口后(而不是核心交换机地址),当pc在telnet或者ssh连接10.10.2.*网段的服务器(网关在核心交换机上)等时,tcp连接均会在20s后重置.我的环境中其实存在一些问题的,就是流经防火墙的流量并不对称,其中pc→服务器的流量经过防火墙,而服务器→pc的流量不经过防火墙,造成的

boost::asio 连接管理11 如何关闭连接

在实际产品运行中,对连接管理有了更新的认识,这里分享一下. shared_ptr管理连接对象的生命周期 shared_ptr的引用计数器决定了连接对象的生命周期.这里我说的连接对象就是在我的前文:http://blog.csdn.net/csfreebird/article/details/8522620 中的Client对象: [cpp] view plaincopyprint? #include "core/connection.h" #include <vector>

了不起的Node.js--之五 TCP连接

TCP连接 传输控制协议(TCP)是一个面向连接的协议,它保证了两台计算机之间数据传输的可靠性和顺序. TCP是一种传输层协议,它可以让你将数据从一台计算机完整有序地传输到另一台计算机. Node.js这个框架的出发点就是为了网络应用开发所设计的.如今,网络应用都是用TCP/IP协议进行通信的. Node Http服务器是构建于Node TCP服务器之上的.从编程角度来说,也就是Node中得http.Server继承自net.Server(net是TCP模块). TCP有哪些特性 TCP的首要特

http连接管理

1.TCP连接 几乎所有的HTTP通信都有由TCP/IP承载的,TCP/IP是全球计算机及网络设备都在使用的一种常用的分组交换网络分层协议集.一旦连接建立起来,客户端和服务器之间交换的报文就永远不会丢失.受损或失序.但计算机或网络崩溃,会使通信终端. 1.1.TCP可靠数据管道 TCP为HTTP提供了一条可靠的比特传输管道. 浏览器接受到一个URL的时候,会执行以下步骤: #1:客户端解析出主机名: #2:客户端查询这个主机名的IP地址(DNS): #3:客户端解析出端口号: #4:客户端发起到