tcp协议
weixin_38070782
这个作者很懒,什么都没留下…
展开
-
还原客户端send 0字节,服务端主动关闭后,客户端send 仍然返回0的全过程
还原客户端send 0字节,服务端主动关闭后,客户端send 仍然返回0的全过程注:客户端和服务端都是非阻塞模式### 四次挥手过程图示(客户端和服务器都可以主动发出断开连接)参考:TCP三次握手和四次挥手及wireshark抓取 - elephantcc - 博客园[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S7SD1Hvk-1596600866827)(file:///Users/chen/Library/Application%20Support/原创 2020-08-05 12:45:52 · 901 阅读 · 0 评论 -
TCP常见的网络通信问题
本次 Live 主要包括以下内容 • TCP/IP协议栈层次与三次握手、四次挥手需要知道的细节 • TCP与UDP适用场景 • linux网络模型 • epoll_event结构中epoll_data_t的fd与ptr使用场景 •Windows网络模型 •异步connect •select可以检测网络异常吗 •epoll的水平模式和边缘模式 •阻塞与非阻塞socket的设置与区别 •send/recv返回值问题 •如何编写正确的收与发数据代码 •收发缓冲区如何设计 •SO_SNDTIMEO、SO_RCVTI转载 2020-06-10 16:58:48 · 1536 阅读 · 0 评论 -
TCP的拥塞控制(图解)
https://blog.csdn.net/qq_41431406/article/details/97926927?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase转载 2020-06-09 13:48:54 · 922 阅读 · 0 评论 -
TCP可靠传输,流量控制,拥塞控制是时候一篇搞定了
TCP提供了最可靠的数据传输,它给发送的每个数据包做顺序化(这看起来非常烦琐),然而,如果TCP没有这样烦琐的操作,那么,可能会造成更多的麻烦。如造成数据包的重传、顺序的颠倒甚至造成数据包的丢失。 那么,TCP具体是通过怎样的方式来保证数据的顺序化传输呢?主机每次发送数据时,TCP就给每个数据包分配一个序列号并且在一个特定的时间内等待接收主机对分配的这个序列号进行确认,如果发送主机在一个特定时间内没有收到接收主机的确认,则发送主机会重传此数据包。接收主机利用序列号对接收的数据进行确认,以便检测对方发送的转载 2020-06-09 13:46:46 · 225 阅读 · 0 评论 -
TCP—为什么是AIMD?
原文转自:http://blog.chinaunix.net/uid-28387257-id-4543179.html说到TCP原理,一般的人谈传输效率,也就是吞吐率,了解的人谈公平性,以及收敛性。本篇博文讲一下TCP为什么使用AIMD策略,为什么是收敛的?1.公平性和收敛性才接触网络协议的人可能会问:为什么要收敛和公平?TCP不是传输可靠、够快就行了吗?远远不够,因为TCP是端到端的,窗口增减也是试探性的“自适应”方式,网络是黑盒,这就有很多问题。你自己一个人发包发得快,侵略性强,没有太大问转载 2020-06-09 13:46:03 · 539 阅读 · 0 评论 -
CLOSE_WAIT状态的原因与解决方法
这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题。说起CLOSE_WAIT状态,如果不知道的话,还是先瞧一下TCP的状态转移图吧。关闭socket分为主动关闭(Active closure)和被动关闭(Passive closure)两种情况。前者是指有本地主机主动发起的关闭;而后者则是指本地主机检测到远程主机发起关闭之后,作出回应,从而关闭整个连接。将关闭部分的状态转移摘出来,就得到了下图:产生原因通过转载 2020-06-09 00:20:39 · 913 阅读 · 0 评论 -
netstat查看系统TIME_WAIT状态个数
netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'它会显示例如下面的信息:TIME_WAIT 814CLOSE_WAIT 1FIN_WAIT1 1ESTABLISHED 634SYN_RECV 2LAST_ACK 1常用的三个状态是:ESTABLISHED 表示正在通信,TIME_WAIT 表示主动关闭,CLOSE_WAIT 表示被动关闭。具体每种状态什么意思,其实无需多说,看看下面这种...转载 2020-06-08 22:06:17 · 6142 阅读 · 0 评论 -
tcp报文格式
TCP(Transmission Control Protocol)传输控制协议是一种面向连接的、可靠的、基于字节流的传输层协议TCP报文格式:原创 2020-06-06 16:38:44 · 106 阅读 · 0 评论