
TCP
「已注销」
本博客现只用于学习用,可能会转载他人的知识,若有涉及到您的版权问题,请与我联系。
展开
-
TCP Nagle算法
在网络传输中,有时候会遇到这样一种场景:网络中传输了大量的小数据块,浪费资源。有时候传输数据本身的大小比头部还小,一个常见的情况是发送端的"糊涂窗口综合症(Silly Window Syndrome)"。而Nagle的出现就是为了解决这样的问题的。Nagle规定任何时候网络中只能存在一个未被确认(未发ACK)的小段(小于MSS)。Nagle算法的规则/* Return false, if ...原创 2020-03-21 17:11:57 · 533 阅读 · 0 评论 -
TCP_CORK: More than you ever wanted to know
https://baus.net/on-tcp_cork/待看。。原创 2020-03-21 15:47:24 · 393 阅读 · 0 评论 -
TCP 序列号回绕(sequence wraparound)与解决
一个tcp流的初始序列号(ISN)并不是从0开始的,而是采用一定的随机算法产生的,因此ISN可能很大(比如(2^32-10)),因此同一个tcp流的seq号可能会回绕到0。而我们tcp对于丢包和乱序等问题的判断都是依赖于序列号大小比较的。此时就出现了所谓的tcp序列号回绕(sequence wraparound)问题。内核解决办法内核中给出的序列号(解决序列号回绕问题)判断解决方案十分简洁:...原创 2020-03-21 15:33:19 · 2863 阅读 · 0 评论 -
C/C++ Linux setsockopt的SO_KEEPALIVE选项
TCP长连接。设置:TCP_KEEPIDLE: The tcp_keepidle parameter specifies the interval of inactivity that causes TCP to generate a KEEPALIVE transmission for an application that requests them. tcp_keepidle defa...原创 2020-03-08 02:47:31 · 2178 阅读 · 0 评论 -
TCP长连接及连接管理
TCP传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP生命周期分为三个阶段:建立连接传输数据关闭连接根据使用方法不同,可认为TCP连接分为长连接和短连接。在一次通信过程中,如果通讯过程结束就close掉连接,这就是短连接。如果通讯结束后,保持tcp连接的状态不关闭,这就是长连接。短连...原创 2020-03-08 02:01:44 · 1931 阅读 · 0 评论