第三章运输层
3.1概述和运输层服务
运输层协议是在端系统中而不是在网络中实现的。在发送方,运输层将接收到的来自发送应用进程的报文转换成运输层分组,用因特网术语称其为报文段,运输层将这些报文段传递给网络层,网络层将其封装成网络层分组(数据报)并向目的地发送。网络路由器仅作用于该数据报的网络层字段,即它们不检查封装在该数据报的运输层报文段的字段
3.1.1运输层和网络层的关系
运输层协议只工作在端系统。在端系统中,运输层协议将来自应用进程的报文移动到网络层,反之亦然,但是对有关这些报文在网络核心如何移动并不做任何规定。
运输层协议所能提供的服务也受到了底层网络层协议的服务模型的限制。如果网络层协议不能为两主机之间发送的运输层报文段提供时延和带宽保证,那么运输层协议也不可能为两进程之间发送的报文提供时延和带宽保证。
3.1.2因特网运输层概述
因特网为应用层提供了两种截然不同的运输层协议。一种是UDP(用户数据报协议),它为调用它的应用程序提供了一种不可靠的、无连接的服务。另一种是TCP(传输控制协议),它为调用它的应用程序提供了一种可靠的、面向连接的服务。UDP和TCP最基本的任务是,将两个端系统间IP的交付服务扩展为运行在两个端系统上的进程间的交付服务。将主机间交付扩展到进程间交付,称为运输层的多路复用与多路分解。
UDP和TCP还可以通过在其报文段的首部中添加差错检测字段而提供完整性检查。进程间数据交付和差错检测是两种最低限度的运输层服务,也是UDP所能提供的仅有的两种服务。
TCP为应用程序提供了几种附加服务。首先,它提供可靠数据传输。通过使用流量控制、序号、确认和定时器等技术,TCP确保正确地、按序地将数据从发送进程交付给接收进程。这样,TCP就将两个端系统间不可靠的IP服务转换成了一种可靠的进程间数据传输服务。
TCP还提供拥塞控制。总体来看,拥塞控制与其说是一种提供给调用它的应用程序的服务,不如说是一种提供给整个因特网的服务,这是一种带来广泛好处的服务。不太严格的说,TCP拥塞控制防止任何一条TCP连接用过多流量来淹没通信主机之间的链路和交换设备。从原理上将,TCP允许TCP连接通过一条拥塞的网络链路,平等地共享网络链路带宽。这可以通过调节发送方TCP发送到网络的流量的速率来实现。另一方面,UDP流量是不可调节的。使用UDP传输的应用程序可以根据其需要以任何速率发送数据。
|
|