3.2 TCP四次挥手性能提升

提纲

主动方优化

关闭连接的方式通常有两种

  1. RST报文关闭 进程异常退出,内核会发送RST报文关闭,它可以不走四次挥手流程,一种暴力关闭方式。
  2. FIN报文关闭 安全关闭方式必须通过四次挥手,它由进程close和shutdown函数发起FIN报文
  • close: 完全断开连接,无法传输数据,也不能发送数据,也叫做【孤儿连接】
  • shutdown: 由第二参数决定连接方式
    • SHUT_RD(0): 关闭【读】方向连接
    • SHUT_WR(1): 关闭【写】方向连接
    • SHUT_RWWR(2): 关闭【读、写】方向连接

一、FIN 报文重传次数、FIN_WAIT 状态时间

  • FIN_WAIT1 状态的优化
    主动方发送FIN报文后,连接就处于FIN_WAIT1状态,正常情况收到被动方ACK,则变为FIN_WAIT2状态。
    但是迟迟收不到对方返回ACK,内核会定时重发FIN报文,修改重发tcp_orphan_retries参数。
  • FIN_WAIT2 状态的优化
    当主动方收到ACK报文后,会处于FIN_WAIT2状态,tcp_fin_timeout 控制了这个状态下连接的持续时长,默认值是 60 秒

二、孤儿连接上限个数

三、调整time_wait状态上限个数

TIME_WAIT 是主动方四次挥手的最后一个状态,也是最常遇见的状态。

四、复用time_wait状态的连接

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • image.png 三次握手是建立连接,四次挥手是关闭连接TCP不允许连接处于半打开状态的时候单向传输数据。TCP...
    StevenHD阅读 598评论 0 1
  • 具体三次握手和四次握手的详细内容我就不在这里讲了,这里主要看看TCP连接在生存周期里的状态流转。 TCP 总共有1...
    梅先森森森森森森阅读 72评论 0 1
  • 连接的主动断开是可以发生在客户端,也同样可以发生在服务端。 FIN_WAIT1 由图可知,当一方接受到来自应用断开...
    迷糊银儿阅读 531评论 0 0
  • 具体三次握手和四次握手的详细内容我就不在这里讲了,这里主要看看TCP连接在生存周期里的状态流转。 TCP 总共有1...
    Brown_阅读 2,039评论 1 53
  • 三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开...
    陈星空阅读 720评论 0 1

友情链接更多精彩内容