《TCP/IP详解 卷1:协议》 读书笔记 第19章 TCP的交互数据流

TCP的交互数据流


引言

TCP通信量的研究:

  • 按照分组数量计算:一般TCP报文段包含成块数据(如FTP、电子邮件和Usenet新闻),另一半则包含交互数据(如Telnet和Rlogin)。
  • 按照字节计算:90%为成块数据,10%为交互数据。

交互式输入

在一个Rlogin连接上键入一个交互命令所产生的数据流,通常每一个交互按键都会产生一个数据分组,每次从客户传到服务器的是一个字节的按键。
交互按键回显的方法


经受时延的确认

通常TCP在接收到数据时并不立即发送ACK;它会等到有需要发送的数据,再和ACK一起发送。(有时候称为数据捎带ACK)
绝大多数采用的时延为200ms,TCP将以最大200ms的时延等待是否有数据一起发送。每次等200ms,然后发一次。

ACK等待发送的时间总是不大于定时器,因为ACK在1~200ms内到达,而定时器在200ms溢出,那它等待的时间肯定小于200ms啦。


Nagle算法

交互数据可能是很多的小分组,比如一个字节,就要发送41字节的分组:IP首部+TCP首部+1=41.
在局域网上这些小分组通常不会有问题,局域网很少拥塞。但是在广域网上,这些小分组就增加了拥塞的可能。

Nagle算法:要求一个TCP连接上最多只能有一个未被确认的未完成的小分组,在该分组确认到达之前不能发送其他的小分组;TCP收集这些小分组,在确认到来时一起以一个分组发出去。

优点:减少拥塞的可能。
缺点:增加时延。

关闭Nagle算法

有时候需要关闭Nagle算法,因为有些应用必须无时延发送。


窗口大小通告

TCP报文段会通报窗口大小win,一般为4096.表示缓存可以接收的数据大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值