tcp状态

在服务器的日常维护过程中,会经常用到下面的命令:

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘

它会显示例如下面的信息:

TIME_WAIT 814
CLOSE_WAIT 1
FIN_WAIT1 1
ESTABLISHED 634
SYN_RECV 2
LAST_ACK 1

常用的三个状态是:ESTABLISHED 表示正在通信,TIME_WAIT 表示主动关闭,CLOSE_WAIT 表示被动关闭。具体的状态转化如下:

注意:

http协议,   主动关闭一方,是服务端。

时间: 2024-10-10 06:45:51

tcp状态的相关文章

读懂TCP状态转移

读懂TCP状态变换的过程,对于理解网络编程颇有帮助,本文将对TCP状态转移过程进行介绍,但各个状态(总共11个)的含义不在本文介绍的范围. 内容来源:<UNIX网络编程>第一卷第二章2.6节,若是读者对某个知识点不太理解,请参考原文. TCP状态转换图(state transition diagram) 1. 建立连接(three-way hand shake) 主动打开(passive open):服务器必须准备好接受外来的连接,通常通过socket.bind和listen完成. 被动打开(

zabbix3.0 使用SS代替netstat无需脚本,1分钟搞定TCP状态监控

这段时间一直忙,没时间好好理下监控,趁着假期有时间,理了一下. 对于zabbix监控TCP状态,在网上查了很多资料,大多数都是使用netstat命令来实现. 如果服务器的压力小,链接少,不会有问题,但随着服务器压力和链接数的增加,用netstat就会造成执行速度慢,server端无法接收到执行结果,造成监控异常. 平时一直用SS,所以试着用SS代替netstat,速度快了不少. 个人较喜欢偷懒,看到网上很多少写了非常长的脚本,又是函数,又是写临时文件的.其实完全没必要,不用写啥脚本,临时文件,很

tcp状态-TIME_WAIT与CLOSE_WAIT带来的坑

tcp状态: http://www.cnblogs.com/DengGao/p/tcp_state.html 1. tcp连接会占用系统资源(文件描述符), 有时候甚至会导致系统假死(不能发起或者处理tcp请求). 2. TIME_WAIT状态tcp过多的原因: TIME_WAIT等待状态,这个状态又叫做2MSL状态,主动关闭方会出现TIME_WAIT.状态说的是在TIME_WAIT2发送了最后一个ACK数据报以后,要进入TIME_WAIT状态,这个状态是防止最后一次握手的数据报没有传送到对方那

TCP状态变迁流程

主动建立TCP链接情况: 被动建立TCP链接情况 主动断开链接的情况 被动断开连接的情况 在TIME_WAIT阶段需要停留2倍的MSL,MSL即Maximum Segment Lifetime,表示任何报文被丢弃前在网络内的最长时间,TCP/IP详解中额外注解了:RFC793指出MSL为2min,然而实现中常用的值是30s,1min或2min.如此处理的原因是:当TCP之行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留的时间为2被的MSL,这样可让TCP再次发送最后的

TCP状态迁移图浅析(转载)

一.TCP简介        TCP提供一种面向连接的,可靠的字节流服务.面对连接意味着两个使用TCP的应用,在彼此交换数据之前必须先建立一个连接.TCP通过以下方式提供可靠性:     1. 应用数据被分割成TCP认为最适合发送的数据块,由TCP传递给IP的信息单位成为报文段.      2. 当TCP发出一个段后,它就启动一个定时器,等待目的端确认收到这个报文段.如果不能及时收到一个确认,将重发这个报文段.     3. 当TCP收到TCP连接另一端的数据,它将发送一个确认.这个确认不是立即

Linux统系统开发12 Socket API编程3 TCP状态转换 多路IO高并发select poll epoll udp组播 线程池

[本文谢绝转载原文来自http://990487026.blog.51cto.com] Linux统系统开发12 Socket API编程3 TCP状态转换 多路IO高并发select  poll  epoll udp组播 线程池 TCP 11种状态理解: 1,客户端正常发起关闭请求 2,客户端与服务端同时发起关闭请求 3,FIN_WAIT1直接转变TIME_WAIT 4,客户端接收来自服务器的关闭连接请求 多路IO转接服务器: select模型 poll模型 epoll模型 udp组播模型 线

传输控制协议(TCP) -- TCP状态转换图

本文参考自: <UNIX网络编程 卷1> 在<UNIX网络编程 卷1>一书中,作者给出了TCP状态转换图(如下).本文也将围绕此图进行阐释.

查看TCP状态命令

查看TCP状态命令: [[email protected]_206_14_centos ~]$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' TIME_WAIT 179 CLOSE_WAIT 1 SYN_SENT 1 FIN_WAIT1 181 FIN_WAIT2 4 ESTABLISHED 56986 SYN_RECV 220 LAST_ACK 293 [[email protected]_206_14

TCP 状态详解 -转载

TCP 是一个面向连接的协议,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接.本节将详细讨论一个TCP 连接是如何建立的以及通信结束后是如何终止的. 建立一个 TCP 连接 TCP使用三次握手 ( three-way handshake ) 协议来建立连接,图 3-10 描述了三次握手的报文序列.www.2cto.com 这三次握手为: 请求端(通常称为客户)发送一个 SYN 报文段( SYN 为 1 )指明客户打算连接的服务器的端口,以及初始顺序号( ISN ). 服务器发回包

TCP状态转换图(state transition diagram)

 TPC总共有11个状态,状态转换图: 状态转换的要素 状态: tcp定义的11个状态 事件: 触发TCP状态迁移.事件可以是:本地应用层调用:收到TCP消息(incoming segment):超时事件(timeout) 动作: 主要指针对远程Peer产生的动作,如发送确认等. 转换中的角色 本地应用层 Local App:产生事件. 本地tcp实现层 local TCP stack:处理事件,完成状态转换:在远程tcp上产生事件. 远程tcp实现层 remote TCP stack(or