上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 64 下一页
摘要: 大致的处理过程 TCP的接收流程:在tcp_v4_do_rcv中的相关处理(网卡收到报文触发)中,会首先通过tcp_check_urg设置tcp_sock的urg_data为TCP_URG_NOTYET(urgent point指向的可能不是本报文,而是后续报文或者前面收到的乱序报文),并保存最新的 阅读全文
posted @ 2019-11-23 19:43 codestacklinuxer 阅读(509) 评论(0) 推荐(0) 编辑
摘要: RTT测量 https://www.cnblogs.com/codestack/p/11919697.html 在发送端有两种RTT的测量方法,但是因为TCP流控制是在接收端进行的, 所以接收端也需要有测量RTT的方法。 /* Receiver "autotuning" code. * * The 阅读全文
posted @ 2019-11-23 17:52 codestacklinuxer 阅读(1890) 评论(0) 推荐(0) 编辑
摘要: tcp_rcv_established函数的工作原理是把数据包的处理分为2类:fast path和slow path,其含义显而易见。这样分类的目的当然是加快数据包的处理,因为在正常情况下,数据包是按顺序到达的,网络状况也是稳定的,这时可以按照fast path直接把数据包存放到receive qu 阅读全文
posted @ 2019-11-23 16:37 codestacklinuxer 阅读(1418) 评论(0) 推荐(0) 编辑
摘要: 概述 tcp握手完成后,收到数据包后,调用路径为tcp_v4_rcv->tcp_v4_do_rcv->tcp_rcv_established在tcp_rcv_established中处理TCP_ESTABLISHED状态的包。 并分为快速路径和慢速路径。快速路径只进行非常少量的处理。 快速路径:用于 阅读全文
posted @ 2019-11-23 14:54 codestacklinuxer 阅读(1103) 评论(0) 推荐(0) 编辑
摘要: TIME WAIT 带来的问题 先引用一个名言: The TIME_WAIT state is our friend and is there to help us (i.e., to let old duplicate segments expire in the network). Instea 阅读全文
posted @ 2019-11-22 11:58 codestacklinuxer 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 正常来说 TCP 收消息过程会涉及三个队列: Backlog Queue sk->sk_backlog Prequeue tp->ucopy.prequeue Receive Queue sk->sk_receive_queue 在2017年的一个patch(https://lwn.net/Arti 阅读全文
posted @ 2019-11-22 11:53 codestacklinuxer 阅读(388) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-11-22 11:34 codestacklinuxer 阅读(381) 评论(0) 推荐(0) 编辑
摘要: tcp_v4_connect /* This will initiate an outgoing connection. tcp_v4_connect函数初始化一个对外的连接请求,创建一个SYN包并发送出去, 把套接字的状态从CLOSE切换到SYN_SENT,初始化TCP部分选项数据包序列号、 窗口 阅读全文
posted @ 2019-11-20 11:24 codestacklinuxer 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 正常情况下主动关闭连接的一端在连接正常终止后,会进入TIME_WAIT状态,存在这个状态有以下两个原因(参考《Unix网络编程》): 1、保证TCP连接关闭的可靠性。如果最终发送的ACK丢失,被动关闭的一端会重传最终的FIN包,如果执行主动关闭的一端没有维护这个连接的状态信息,会发送RST包响应,导 阅读全文
posted @ 2019-11-19 20:14 codestacklinuxer 阅读(784) 评论(0) 推荐(0) 编辑
摘要: /* * This is a TIME_WAIT sock. It works around the memory consumption * problems of sockets in such a state on heavily loaded servers, but * without v 阅读全文
posted @ 2019-11-19 19:15 codestacklinuxer 阅读(370) 评论(0) 推荐(0) 编辑
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 64 下一页