近年来,符合DOCSIS标准的线缆调制解调器已在全球得到了广泛部署,使最终用户能够获得始终在线的高带宽因特网连接。由于通过TCP可运行最常见的应用,因此我们探索运行在DOCSIS数据网络上的TCP协议行为就显得非常重要了。
TCP是最常见的因特网应用传输协议,由于其是基于连接的协议,因此能够保证每个从服务器传输的数据包都能到达目的客户端应用。为了保证每个数据包均能到达其目的地,TCP使用了握手协议。服务器与客户端都跟踪正在传输/接收的数据包。
服务器同时向客户端发送数个数据包并等待已接收到数据包的确认。如果在给定时间内确认(ACK)未返回至服务器--则服务器将"停机",并不再发送下一个数据包。如果最终仍不能接收到ACK,那么服务器将重新传输未确认的 数据包。服务器等待ACK到达前发送的数据包数量取决于"窗口大小"。窗口大小对TCP的性能有很大影响一一窗口越小,服务器停止传输等待ACK到达的几率就越高。
图1显示了从客户端到服务器的TCP会话示例,由于其具有较小的窗口尺寸,因此具有"猝发性"。尽管物理通道能够实现高数据速率,但应用在客户端实际获得的吞吐量则由TCP协议所限,只是高速率的一小部分。对TCP应用性能影响最大的不是数据速率,而是吞吐量。如果将窗口大小调整得更大些,那么数据包数量就会增加,流量也“更通畅"。
本文概括性地介绍了TCP的内在双向性,并就DOCSIS协议对TCP的影响也进行了讨论。最后,我们还将对提高TCP以及利用TCP的应用性能提出方案,在线缆调制解调器中嵌入应用感知(applicationawareness)。全文刊登在《EDN CHINA电子设计技术》网站:www.ednchina.com上。
摘自《EDN CHINA电子设计技术》