网站首页/网络技术列表/内容

TCP调整之经典区分

网络技术2022-05-08阅读
网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等。 当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段。

TCP是一种可靠的传输层协议,它提供了全双工连接的字节流服务。TCP的带宽使它适合于远距离的IP网络,这种网络出现包丢失和包失序的可能性较大。真正是使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的调整也要根据网络的类型和相关的主要属性(传播延迟,连接速度和错误率)而改变。有些情况下,这些属性也会通过评估返回的响应来进行自调节。我们将针对各种新型的网络技术:光学广域网、局域网、无线网,等等——介绍如何根据具体情况调整TCP。



网络的神奇作用吸引着越来越多的用户加入其中,正因如此,网络的承受能力也面临着越来越严峻的考验―从硬件上、软件上、所用标准上......,各项技术都需要适时应势,对应发展,这正是网络迅速走向进步的催化剂。

……

相关阅读