关于netstat的ListenOverflows等参数

原创
2017/01/27 20:45
阅读数 4.9K

##三次握手 输入图片说明

##ListenOverflows

root@b5dbe93bcb04:/opt# netstat -s | grep listen
    22438 times the listen queue of a socket overflowed

tcp_v4_syn_recv_sock():三路握手最后一步完成之后,Accept queue队列(完全连接队列,其大小为min(/proc/sys/net/core/somaxconn, backlog))超过上限时加1.

##ListenDrops

root@b5dbe93bcb04:/opt# netstat -s | grep LISTEN
    49148 SYNs to LISTEN sockets dropped

tcp_v4_syn_recv_sock():任何原因,包括Accept queue超限,创建新连接,继承端口失败等,加1. 包含ListenOverflows的情况,也就是说当出现ListenOverflows时,它也会增加1;除此之外,当内存不够无法为新的连接分配socket相关的数据结构时,也会增加1,当然还有别的异常情况下会增加1。

##AttemptFails

  • tcp_done():如果在SYN_SENT/SYN_RECV状态下结束一个连接,加1
  • tcp_check_req():被动三路握手最后一个阶段中的输入包中如果有RST|SYN标志,加1

1.试图和一个不存在的套接口建立连接时,连接失败,而TcpAttemptFails同时会加1

2.被动连接(SYN_SEND)等待第三次握手的ack应答信号超时或者为其它的错误应答时,连接将会失败,且同时TcpAttemptFails的值将加1。

##ActiveOpens 客户端通过connect 发起主动打开(active open),tcp_connect(),发送SYN时,加1。

##PassiveOpens 服务器必须准备好接受外来连接。通常调用的是socket,bind和listen这三个函数来完成。我们称之为被动打开(passive open)。被动三路握手完成,加1。

##CurrEstab tcp_set_state(),根据ESTABLISHED是新/旧状态,分别加减一。

##EstabResets tcp_set_state(),新状态为TCP_CLOSE,如果旧状态是ESTABLISHED/TCP_CLOSE_WAIT就加1。

##doc

展开阅读全文
打赏
1
32 收藏
分享
加载中
打赏
1 评论
32 收藏
1
分享
返回顶部
顶部