TIME_WAIT状态的连接过多是什么原因?

本文探讨了TCP连接的关闭过程,强调了四次挥手的原因,即确保双工连接的完全关闭。当系统出现大量TIME_WAIT状态的连接时,可以通过调整Linux内核参数来解决,例如启用SYN Cookies、设置TCP连接重用和快速回收。具体配置包括设置net.ipv4.tcp_syncookies、net.ipv4.tcp_tw_reuse和net.ipv4.tcp_tw_recycle,并调整net.ipv4.tcp_fin_timeout来控制TIME_WAIT超时时间。
摘要由CSDN通过智能技术生成
1、在解决这个问题之前,需要了解什么是TCP连接数?

    大家很明白TCP初始化连接三次握手吧:SYN,然后返回SYN/ACK再发ACK,连接正式建立。但是这里有点出入/ACK,当请求者收到SYN 后,就开始建立连接了。

而被请求者第三次握手结束后才建立连接。

    但是大家明白关闭连接的工作原理吗?关闭连接要四次握手:发FIN包,ACK 包,FIN包,ACK包,四次握手!!为什么呢,因为TCP连接是全双工,我关了你的连接,并不等于你关了我的连接。

功能

当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制。之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
TCP为了保证报文传输的可靠 [1]    ,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。
  • 在数据正确性与合法性上,TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和;同时可以使用md5认证对数据进行加密。
  • 在保证可靠性上,采用超时重传和捎带确认机制。
  • 在流量控制上,采用滑动窗口 [1]    协议,协议中规定,对于窗口内未经确认的分组需要重传。
在拥塞控制上,采用广受好评的TCP拥塞控制算法(也称AIMD算法)。该算法主要包括三个主要部分:1)加性增、乘性减;2)慢启动;3)对超时事件
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值