扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
来源:51cto 2011年7月28日
关键字: TCP
TCP是一种可靠的传输层协议,它提供了全双工连接的字节流服务。本文主要介绍TCP调整和部署。
在发送端进行TCP调整
发送端进行TCP调整能够控制注入网络和远端客户终端的数据大小。几个并发的机制使得TCP调整变得更复杂。所以,为了更好的理解,我们把这几个部分分开介绍:启动阶段和稳定状态阶段。启动阶段的TCP调整与我们能够向网络中发送数据包的速度有关。稳定状态阶段的TCP调整与TCP通信的其它方面有关,比如调整计时器,最大窗口大小。
在启动阶段的调整中,先介绍TCP发送者如何在一个特定连接上开始发送数据。新建连接的一个问题是不知道网络管道的传输能力。所以我们以越来越快的速度发送数据包,直到知道网络的传输能力,然后再根据传输能力进行调整。宏观行为的改变需要手动的TCP调整,比如当我们在像无线网那样的低速信道中或者在10Gbit/sec这样的高速信道。在最开始的时候就发送最大的数据包会造成灾难性的后果。最好是根据传输情况,慢慢的增加发送的速度。
在这一阶段,拥塞窗口比接收窗口要小得多。这说明发送者通过计算拥塞窗口并根据拥塞窗口大小限制发送的数据,控制着发送给接收者的流量大小。任何小的流量突增都可以被队列吸收。有三种重要的TCP可调参数:
tcp_slow_start_initial:在socket连接建立后,立即创建初始的拥塞窗口。
tcp_slow_start_after_idle:先休止一段时间,再初始化拥塞窗口。现在我们已经有了一些关于网络传输能力的预备知识。
tcp_cwnd_max:限制运行的最大拥塞窗口。如果接收窗口增大了,那么tcp_cwnd_max也跟着增大到和接收窗口一样大。
在不同类型的网络中,你可以稍微调整这些参数的值,来控制你能够发送数据的速度。如果你的网络管道比较小,你可能就希望减少数据包,反之,如果你的网络管道比较大,你可能就希望加快发送数据包的速度,充分利用网络带宽。
在稳定状态阶段,当情况稳定并且初始化的启动阶段完成以后,socket连接就达到相对稳定的状态,这时的调整就仅限于根据网络和客户端的拥塞情况减少延迟。我们必须以平均状况传输,因为网络和客户端数据的接收能力总会有一些波动。对这一阶段的TCP调整,请看下面的网络属性:
传播延迟——这一属性主要受距离远近的影响。它表示一个数据包通过网络所需的时间。在广域网中,需要对这一属性进行调整使得尽量充分利用信道,增加允许发送的数据包。
连接速度——这一属性是网络管道的带宽。对56kbit/sec的拨号连接和10Gbit/sec的光学局域网,连接速度的调整方法是不同的。
TCP调整也要根据网络的类型和相关的主要属性(传播延迟,连接速度和错误率)而改变。有些情况下,这些属性也会通过评估返回的响应来进行自调节。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者