最近在学openssl,想动手体验下其强大的功能,写了个简单的C/S通信程序,算是练习吧。服务端:#include <stdlib.h> #include <stdio.h> #include <netinet/in.h> #include <sys/socket.h> #include <sys/types.h> #include &l
基于窗口的tcp流量控制会导致一种称为糊涂窗口综合症的现象发生,此时,发送端会发送不满一个mss的小报文,接收端也会通告一个小窗口,这种现象会降低网络的利用率。如何避免这种现象发生呢。首先,对于接收方来说:不能通告一个比当前窗口大的窗口,除非窗口增加了一个报文段(mss)大小,或者增加了接收方缓存空间的一半。这条规则应用的前提条件是接收方的接收缓存由0变为非0,或者接收方要回复一个窗口探查报文。也
重读一遍《tcp/ip详解》,感觉比第一遍学的时候领悟又深了一些,做点记录。一、首先是关于tcp超时重传的问题,简单来说,tcp在发送完一份数据包之后会设定一个定时器,当定时器超时之前还没有关于这份报文的ACK到达的话,tcp就会认为这份报文超时,从而进行重传。但是现在的一个主要问题就是,超时定时器如何设定,设定值太大的话,丢失的数据包不能被及时发送,太小的话,本来没有丢失的数据包也被重传,也会影
最近复习了下tcp/ip的东西,做点记录吧。一、交互数据流1、经受时延的确认tcp在接收到数据包的时候通常并不立即发送ack,而是等待一个时延,在此期间如果有数据要发送就将ack与要发送的数据一起发送,如果没有,就单独发送ack。在第一次接收到数据包时设立一个定时器,超时时延一般为200ms,这样有助于减少线路上的ack数量。2、Nagle算法在交互环境中,小数据包会有很多,在一个网络环境不是很好
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号