传输层位于应用程序层和网络层之间,是分层网络体系结构的中心部分。它的关键作用是直接向运行在不同主机上的应用程序进程提供通信服务。在本章中,我们采用的教学方法是在讨论传输层原则和讨论如何在现有协议中这些原则被怎样实现之间交替进行;和往常一样,将特别强调Internet协议,特别是TCP和UDP传输层协议。
我们将从讨论传输层和网络层之间的关系开始。这为研究传输层的第一个关键功能奠定了基础——将网络层在两个终端系统之间的交付服务扩展为在终端系统上运行的两个应用程序层进程之间的交付服务。我们将在介绍Internet无连接传输协议UDP时演示这个函数。
然后,我们将回到原理,并面对计算机网络中最基本的问题之一——两个实体如何在可能丢失和损坏数据的介质上可靠地通信。通过一系列越来越复杂(和现实的!)的场景,我们将建立一系列的技术,使用传输协议来解决这个问题。然后,我们将展示如何在TCP (Internet的面向连接的传输协议)中体现这些原则。
接下来,我们将讨论网络中的第二个基本的重要问题——控制传输层实体的传输速率,以避免拥塞或从网络中的拥塞中恢复。我们将考虑拥塞的原因和后果,以及常用的拥塞控制技术。在深入了解拥塞控制背后的问题之后,我们将学习TCP的拥塞控制方法。