1.TCP
-
粘包
TCP连接会启用延迟传送算法,在数据发送前缓存他们,短时间有多个数据发送,会缓冲到一起作一次发送,这样可以减少IO消耗提高性能,一般在发送多条信息时需要处理粘包
同时,TCP如果发现丢包的话,会重新发送缓存里的对应信息- 多次发送之间间隔一个等待时间
- 关闭延迟传送算法,每次send都不缓冲,直接发送
- 封包和拆包,在数据包发送前,在其前后放一些有特征的数据,收到数据的时候根据特征数据分割出各个数据包
-
可靠传输
每次发送数据包都带有一个SYN序列号,每个包对方收到后要返回一个ACk应答包,会进行超时重传,接收方会根据序列号来拼接数据 -
流量控制
TCP头里有window字段,为接收方还有多少缓冲区来接收数据,发送方就会根据接收放的处理能力来发送数据,避免接收方处理不过来 -
慢启动
当TCP开始在网络中传输数据时,为了避免拥塞,不能够一开始就发送大尺寸的数据包,只能从一个尺寸的包开始发送,在发送和数据被对方确认的过程中去计算对方的接收速度,来逐步增加每次发送的数据包量,直到达到一个阀值为止
网友评论