深入理解 TIME_WAIT是干啥的 先祭出tcp状态机迁移图。做协议栈的都要能默写啊! 只有主动关闭连接的一方,才会转移到TIME_WAIT。 TIME_WAIT的主要目的有2个: 避免误收延迟到达的报文 如下图,由于TIME_WAIT的时间被缩短了,造成新建的连接收到了之前延迟到达的报文(5元组 ...
分类:
其他好文 时间:
2021-02-05 10:56:35
阅读次数:
0
1. 编写TCP/SOCK 服务时,SO_REUSEADDR到底是什么意思? 这个套接字选项通知内核,如果端口忙,但TCP状态处于TIME_WAIT,可以重用端口。如果端口忙,TCP状态处于其他状态,重用端口时依旧指明“地址已经在使用中”。如果你的服务程序停止后向立刻重启,而新套接字依旧使用同一个端 ...
分类:
其他好文 时间:
2020-10-09 21:38:43
阅读次数:
50
TCP状态转移要点 TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中 ...
分类:
其他好文 时间:
2020-07-26 15:24:00
阅读次数:
72
RFC793文档里带有SYN标志的过程包是不可以携带数据的,也就是说三次握手的前两次是不可以携带数据的(逻辑上看,连接还没建立,携带数据好像也有点说不过去)。重点就是第三次握手可不可以携带数据。 先说结论:TCP协议建立连接的三次握手过程中的第三次握手允许携带数据。 对照着上边的TCP状态变化图的连 ...
分类:
其他好文 时间:
2020-02-27 00:47:16
阅读次数:
95
TCP 协议是 更靠近应用层,因此在应用程序中具有更强可操作性,一些重要 socket 选项都和 TCP 协议相关。 TCP 头部信息:TCP 头部信息出现在每个 TCP 报文段中,用于指定通信的源端端口号、目的端端口号、管理 TCP 连接、控制两个方向的数据流。 TCP 状态转移信息:TCP 连接 ...
分类:
其他好文 时间:
2020-01-14 20:42:19
阅读次数:
123
Monit是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。 Monit可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变化、文件系统变 ...
分类:
其他好文 时间:
2020-01-05 10:18:30
阅读次数:
124
前言 zabbix-agent内置的key里面没有对tcp状态的监控,但是tcp的状态对我们又很重要,tcp的常用状态有11种,我们可以把这11种都搞成监控项,然后把这些监控项集中到一起做一个tcp状态的应用集。 我们可以使用笨办法,就像这样: [root@NFS zabbix_agentd.d]# ...
分类:
其他好文 时间:
2019-12-31 12:14:28
阅读次数:
124
为什么要监控 对系统不间断实时监控 实时反馈系统当前状态 抱枕该业务持续性运行 监控什么 |监控分类 |监控内容 | |: |: | |硬件监控|温度,硬件故障等| |系统监控|CPU,内存,硬盘,网卡流量,TCP状态,进程数| |应用监控|nginx,tomcat,php,mysql,redis等 ...
分类:
其他好文 时间:
2019-12-28 23:15:04
阅读次数:
150
深入理解TCP协议及其源代码 实验环境:Linux 5.0.1 内核 32位系统的MenuOS 本次主要分析理解TCP三次握手,和跟踪三次握手的基本过程 该TCP协议的状态转换图,完整的描述了TCP状态的变化: 从中可以清楚的了解到整个TCP状态转移的过程。总共有11个状态。 先说明下图中每个字段的 ...
分类:
其他好文 时间:
2019-12-26 21:45:19
阅读次数:
125