即时通讯开发之TCP 交互数据流、成块数据流

本文探讨TCP协议在交互数据流和成块数据流中的策略。交互数据流中,TCP采用捎带ACK和Nagle算法提高效率。Nagle算法通过合并小数据包减少网络负担。而成块数据流则利用滑动窗口机制和ACK累积特性,最大化数据吞吐量。TCP还通过拥塞窗口适应不同网络环境,避免数据拥塞。
摘要由CSDN通过智能技术生成

目前建立在 TCP 协议上的网络协议特别多,有 telnet,ssh,有 ftp,有 http 等等。

这些协议又可以根据数据吞吐量来大致分成两大类:

    交互数据类型:例如 telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文 字等等。
    数据 成块类型:例如 ftp,这种类型的协议要求 TCP 能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提高效率。


针对这两种情况,TCP 给出了两种不同的策略来进行数据传输。

TCP 的交互数据流

对于交互性要求比较高的应用,TCP 给出两个策略来提高发送效率和减低网络负担:

    捎带 ACK。
    Nagle 算法(一次尽量多 的发数据)。


通常,在网络速度很快的情况下,比如用 lo 接口进行 telnet 通信,当按下字母键并要求回显的时候,客户端和服务器将经 历 发送按键数据->服务器发送按键数据的 ack -> 服务器端发送回显数据->客户端发送回显数据的 ACK 的过程,而其中的数据流量将 是40bit + 41bit+41bit+40bit = 162bit,如果在广域网里面,这种小分组的 TCP 流量将会造成很大的网络负担。

捎带 ACK 的发送方式

这个策略是说,当主机收到远程主机的 TCP 数据报之后,通常不

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值