TCP双方的缓存是由啥规定大小的?谢谢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP双方的缓存是由啥规定大小的?谢谢相关的知识,希望对你有一定的参考价值。
你说的是这个吧?if (0 > setsockopt(*pSocket, SOL_SOCKET, SO_RCVBUF, &buf_size,
sizeof(buf_size)))
创建socket后设置缓存
不晓得你意思说的是设置大小,还是实际物理内存分配大小 参考技术A CPU吧
TCP滑动窗口协议
一、什么是窗口
窗口就是规定数据传输大小和接收大小的一个容器,比如:
数据:010100011000111 数据在传输的时候有一个固定的大小
0101 (四位)==叫做数据帧,每一次能够从网络里传输的大小,这个是由系统MTC来规定的
eg:现在一次性传了100个数据,但是每次传输的大小只能是四位,每传一次都要等待一次响应,这样会造成网络的拥堵从而造成网络延迟。
如图:每次都需要响应
现在规定一个窗口有3个数据帧,0000 0000 0000 第一个数据帧传完不需要响应就可以继续传下一个数据帧,直到这个窗口为止。
滑动窗口:
规定一个窗口有5个数据帧 0000,其中 序号为0的数据帧发送成功,窗口即往右移动一位,也可以同时发送5个数据帧。
另外窗口的大小也不是一定是固定的,会根据网络带宽进行加宽和缩小。
重发:其中数据帧有一个固定时间,数据包发送后就开始等待,如果等待时间超过这个固定时间还没有接收到响应,该数据帧就会重新发送一次。
注:如果序号为2的数据包传输失败,窗口虽然右移了,但是56789数据包是不会进行发送的,直到数据包2传输成功
以上是关于TCP双方的缓存是由啥规定大小的?谢谢的主要内容,如果未能解决你的问题,请参考以下文章