《TCP/IP详解 卷1:协议》 读书笔记 第19章 TCP的交互数据流
来源:互联网 发布:windows 10虚拟光驱 编辑:程序博客网 时间:2024/05/21 14:59
TCP的交互数据流
- TCP的交互数据流
- 引言
- 交互式输入
- 经受时延的确认
- Nagle算法
- 关闭Nagle算法
- 窗口大小通告
引言
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.表示缓存可以接收的数据大小。
0 0
- 《TCP/IP详解 卷1:协议》 读书笔记 第19章 TCP的交互数据流
- 《TCP/IP详解 卷1:协议》 读书笔记 第十九章 TCP的交互数据流
- 《TCP/IP详解 卷1:协议》 读书笔记 第十九章 TCP的交互数据流
- 《TCP/IP详解 卷1:协议》 读书笔记 第20章 TCP的成块数据流
- TCP-IP详解卷1-19:TCP的交互数据流
- 《TCP/IP详解 卷1:协议》 第十九章 TCP的交互数据流
- 《TCP/IP详解 卷1:协议》 读书笔记 第二十章 TCP的成块数据流
- 《TCP/IP详解 卷1:协议》 读书笔记 第二十章 TCP的成块数据流
- 《TCP/IP详解 卷1》 笔记: TCP的交互数据流
- 【TCP/IP详解】第19章 TCP的交互数据流
- TCP/IP详解卷1 读书笔记:第十九~二十章 TCP交互数据流和成块数据流
- 《TCP/IP详解 卷1:协议》 读书笔记 第21章 TCP的超时与重传
- 《TCP/IP详解 卷1:协议》 读书笔记 第22章 TCP的坚持定时器
- 《TCP/IP详解 卷1:协议》 读书笔记 第23章 TCP的保活定时器
- 《TCP/IP详解 卷1:协议》 读书笔记 第18章 TCP连接的建立与终止
- 《TCP/IP详解 卷1:协议》 读书笔记 第21章 TCP的超时与重传
- 《TCP/IP详解 卷1:协议》 读书笔记 第22章 TCP的坚持定时器
- 《TCP/IP详解 卷1:协议》 读书笔记 第23章 TCP的保活定时器
- 【Oracle 11g】ORA-01555: snapshot too old(快照过旧)错误
- vim自动打开跳到上次的光标位置
- WKWebView针对于Cordova的IOS平台性能提升
- UVA424 - Integer Inquiry
- vs 2015 编译cocos2dx 报错C1189 #error: Macro definition of snprintf conflicts with Standard Library func
- 《TCP/IP详解 卷1:协议》 读书笔记 第19章 TCP的交互数据流
- Android 基础:Notification
- Gradle中的buildScript代码块
- SVG_filter滤镜标签详解2
- linux命令删除当前目录即其子目录下的所有文件夹
- zookeeper原理二
- 更换独显和核显
- 转-各种排序动图
- 定义一个属于自己的Toast