考点一:传输层的功能

考点一:传输层的功能

回顾一下我们学习的5层模型,从通信和信息处理的角度来看,传输层向它上面的应用层提供信息服务,属于面向通信部分的最高层(它的下层有物理层、数据链路层、网络层),同时是用户功能中的最低层(它的上层是应用层)。传输层位于网络层和应用层之间,为运行在不同主机上的进程之间提供逻辑通信(注意:进程之间的通信,也称为端到端的通信,文中两个不同的描述具有相同的含义)。图5-1所示为传输层的功能示意图。

图5-1 传输层的功能示意图

从图5-1中可以看出,网络边缘部分中的两台主机使用网络核心部分的功能进行端到端的通信时,只有主机的软件协议栈才有传输层和应用层,而路由器在转发分组时都只用到下三层的功能(在通信子网中没有传输层,传输层只存在于通信子网以外的主机中),并且传输层提供了承上启下的作用。

传输层的功能有如下几点:

(1)两台主机进行通信实际上就是两台主机的应用进程互相通信。应用进程之间的通信又称为端到端的通信。传输层与网络层的区别是:网络层提供的是主机之间的逻辑通信,如图5-2所示。

图5-2 传输层与网络层的区别

注意:“传输层提供应用进程间的逻辑通信”。“逻辑通信”的含义是传输层之间的通信好像是沿水平方向传送数据,但事实上这两个传输层之间并没有一条水平方向的物理连接。这个逻辑通信,其实是站在协议角度描述的对等实体(进程)之间的通信。

(2)传输层的一个很重要的功能就是复用和分用。复用是指发送方不同的应用进程都可以使用同一个传输层协议传送数据。分用是指接收方的传输层能够把不同的应用数据正确交付到目的应用进程。其原理如图5-3所示。分用和复用功能是通过端口号来实现的,复用使用的是源端口号,分用使用的是目的端口号。

图5-3 传输层的原理

(3)传输层还要对收到的报文进行差错检测。

(4)传输层需要有两种不同的传输协议,即面向连接的TCP和无连接的UDP。当传输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。当传输层采用无连接的UDP协议时,这种逻辑通信信道是一条不可靠信道。传输层向高层用户屏蔽了下层网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就像在两个传输层实体之间有一条端到端的逻辑通信信道。