一、概要
运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信(logic communica-tion)功能。
运输层是在端系统中而不是在路由器中实现的。
在发送端,运输层将从发送应用程序进程接收到的报文转换成运输层分组,称为报文段(segment)。实现的方法(可能)是将应用报文划分为较小的块,并为每块加上一个 运输层首部 以生成运输层报文段。
运输层将报文段传递给网络层,网络层再将其封装成网络层分组(即数据报)并向目的地发送。网络路由器仅作用于该数据报的网络层字段,不会检查封装在该数据报中的运输层报文段。
网络应用程序可以使用多种运输层协议,因特网有两种协议,即TCP和 UDP。
网络层提供了主机之间的逻辑通信,而运输层为运行在不同主机上的进程之间提供了逻辑通信。
运输协议能够提供的服务常常受制于底层网络层协议的服务模型。
如果网络层协议无法为主机之间发送的运输层报文段提供时延或带宽保证,运输层协议也无法为进程之间发送的应用程序报文提供时延或带宽保证。
UDP的分组也有地方称为 数据报(datagram),不过容易与网络层分组的数据报混淆。
因特网网络层有一个IP协议(即网际协议),IP 为主机之间提供了逻辑通信, IP 的服务模型是 尽力而为交付服务(best-effort delivery service),它不确保报文段的交付,不保证报文段的按序交付,不保证报文段中数据的完整性,被称为 不可靠服务(unreliable service)。
TCP和 UDP 最基本的责任是将两个端系统间 IP 的交付服务扩展为运行在端系统上的两个进程之间的交付服务,扩展到的进程间的交付称为 运输层的多路复用(transport-layer multiplexing) 与 多路分解(demultiplexing)。
进程到进程的数据交付和差错检查是两种最低限度的运输层服务。
UDP仅提供了这两种服务。
通过使用流量控制、序号、确认和定时器,TCP又确保了正确性和按序,TCP 还提供了 拥塞控制。
V