【TCP/IP】TCP的交互数据流

        如果按照分组数量计算,约有一半的TCP报文段包含成块数据(如FTP、电子邮件),另一半则包含交互数据(如Telnet)

       如果按字节计算,则成块数据与交互数据的比例约为90%和10%

 

交互式输入

       通常每一个交互按键都会产生一个数据分组

       这样就会产生4个报文段:

(1)    来自客户的交互按键

(2)    来自服务器的按键确认

(3)    来自服务器的按键回显

(4)    来自客户的按键回显确认

 


经受时延的确认

       通常TCP在接收到数据时并不立即发送ACK;相反,它会推迟发送,以便将ACK与需要沿该方向发送的数据一起发送(有时称这种现象为数据捎带ACK)。绝大多数实现采用的时延为200ms,也就是说,TCP将以最大200ms的时延等待是否有数据一起发送。

 

Nagle算法:

https://blog.csdn.net/wdscq1234/article/details/52432095(参考)

 

窗口大小通告

       客户的窗口大小为4096,服务器的窗口大小为2048。当客户端发送1个字节的数据,在服务器接收到后会马上读取到应用层然后回显发送给客服端,因为在接收的时候没有需要发送的数据,这时候的服务器窗口大小还是2048,当客户端收到回显时,刚好在这段时间有新的1个字节数据要发送出去,因为收到的回显还在缓存当中,没有被读取上去,这时候又要发送,所以这时候通告的窗口大小就为4095了。

       所以一般服务器通告的窗口大小总是等于自己最大的窗口大小,而客户端的窗口大小总是小于自己最大的窗口大小


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页