tcp_v4_rcv函数为TCP的总入口,数据包从IP层传递上来,进入该函数;其协议操作函数结构如下所示,其中handler即为IP层向TCP传递数据包的回调函数,设置为tcp_v4_rcv; 在IP层处理本地数据包时,会获取到上述结构的实例,并且调用实例的handler回调,也就是调用了tcp_v ...
分类:
其他好文 时间:
2019-10-28 14:37:40
阅读次数:
87
假设客户端执行主动打开,已经经过第一次握手,即发送SYN包到服务器,状态变为SYN_SENT,服务器收到该包后,回复SYN+ACK包,客户端收到该包,进行主动打开端的第二次握手部分;流程中涉及到的函数和细节非常多,本篇只对主流程予以分析; 在ESTABLISHED和TIME_WAIT以外的状态时接收 ...
分类:
其他好文 时间:
2019-10-28 10:49:08
阅读次数:
339
报错原因: 1、windows系统为了保护本机,限制了其他机器到本机的连接数.2、TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间。关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态。此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接 ...
分类:
其他好文 时间:
2019-10-22 16:44:54
阅读次数:
140
整理的70道阿里高级Java面试题,都来挑战一下,看看自己有多厉害。1、java事件机制包括哪三个部分?分别介绍。2、为什么要使用线程池?3、线程池有什么作用?4、说说几种常见的线程池及使用场景。5、线程池都有哪几种工作队列?6、怎么理解无界队列和有界队列?7、线程池中的几种重要的参数及流程说明。8 ...
分类:
编程语言 时间:
2019-10-13 01:05:26
阅读次数:
156
不同时开启tcp_timestamps和tcp_tw_recycle的场景描述 FULL NAT下 FULL NAT 在client请求VIP 时,不仅替换了package 的dst ip,还替换了package的 src ip;但VIP 返回给client时也替换了src ip lvs后端为web ...
分类:
其他好文 时间:
2019-10-11 10:59:20
阅读次数:
111
区别 面向连接VS无连接TCP建立一个连接需要3次握手IP数据包,断开连接需要4次握手。另外断开连接时发起方可能进入TIME_WAIT状态长达数分钟(视系统设置,windows一般为120秒),在此状态下连接(端口)无法被释放。UDP不需要建立连接,可以直接发起。 可靠VS不可靠TCP利用握手、AC ...
分类:
其他好文 时间:
2019-10-06 20:28:28
阅读次数:
135
环境:centos7.4 内核版本3.10 最近看内核参数tcp_tw_recycle(该参数在内核 4.12 之后被移除),它用于快速回收处理TIME_WAIT状态的socket。搜索该参数相关的资料,发现同时启用该参数和tcp_timestamps后有可能在NAT环境下导致客户端始连接失败,抓包 ...
分类:
系统相关 时间:
2019-09-27 01:07:18
阅读次数:
124
写在前面 在执行性能测试(如用 JMeter 直接压接口)的时候,有的时候并发数上不去、本机大面积出现 TCP 状态为 TIME_WAIT,除了放开 TCP 端口数和调整默认 TCP 释放时间外,另外几个注册表项同样重要且需要调整。 以下设置项针对的是本机和远端机。 设置完成后,重启下电脑使生效。 ...
分类:
其他好文 时间:
2019-09-08 12:25:00
阅读次数:
89
十一种状态如下图: 全部11种状态1. 客户端独有的:(1)SYN_SENT (2)FIN_WAIT1 (3)FIN_WAIT2 (4)CLOSING (5)TIME_WAIT 。2. 服务器独有的:(1)LISTEN (2)SYN_RCVD (3)CLOSE_WAIT (4)LAST_ACK 。3 ...
分类:
其他好文 时间:
2019-08-26 14:52:02
阅读次数:
83
1、使用keep alive连接(待补充) 2、修改tcp参数 根据TCP协议的连接断开规定,发起socket主动关闭的一方,socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime),在Windows下默认为4分钟,即240秒,TI ...
分类:
其他好文 时间:
2019-08-18 11:29:27
阅读次数:
75