- 博客(3)
- 收藏
- 关注
原创 TCP FIN_WAIT_2探究(2)
我们知道,在TCP_WAIT_2阶段,如果收到fin 置位,ack num 为snd_nxt,seq num为rcv_next的数据长度为零的tcp报文,则进入time-wait阶段,但是如果TCP_WAIT_2阶段收到一个非上述条件的报文,应该怎么处理呢,这个问题在rfc793和rfc1121以及rfc5961中都有答案,但是rfc793和rfc1121和rfc5961在某些点上存在冲突,另外,linux是采用哪种标准执行呢,这些问题我们依次分情况说明。 一个tcp 报文,主要元素如下,seq_num、a
2020-05-17 15:45:56
284
原创 TCP FIN_WAIT_2探究(1)
TCP FIN_WAIT_2探究 tcp close简单来说只是四次挥手,但在四次挥手过程中,如果其中一端断电、系统崩溃,可能会引发另一端端口长时间释放不了而占用系统资源,下面我会针对tcp FIN_WAIT_2做一些说明: 与fin_wait_2超时时间相关的参数有struct tcp_sock的linger2变量和sysctl_tcp_fin_timeout变量,linger2变量声明如下所示: struct tcp_sock { int linger2; }; linger2通过setsockopt的
2020-05-14 23:08:24
262
原创 linux cma机制探究
Linux cma机制探究 cma的作用 cma,全称(contiguous memory allocation),在内存初始化时预留一块连续内存,可以在内存碎片化严重时通过调用dma_alloc_contiguous接口并且gfp指定为__GFP_DIRECT_RECLAIM从预留的那块连续内存中分配大块连续内存。 cma的使用和原理说明 Cma区域可以通过设备树、cmdline和menuconfig指定,并且可以通过设备树的phandle机制和单独的设备绑定,具体的实现和原理说明如下: 设备..
2020-05-13 00:19:37
865
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人