传输层是整个网络体系结构中的关键层次之一,主要负责向两个主机中进程之间的通信提供服务。由于一个主机同时运行多个进程,因此运输层有复用和分用的功能。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控、分段/重组和差错控制。一些协议是面向链接的。这就意味着传输层能保持对分段的跟踪,并且重传那些失败的分段。
简介传输层是国际标准化组织提出的开放系统互连(OSI)参考模型中的第四层。该层协议为网络端点主机上的进程之间提供了可靠、有效的报文传送服务。其功能紧密地依赖于网络层的虚拟电路或数据报服务。传输层定义了主机应用程序之间端到端的连通性。传输层也称为运输层,传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层,因为它是源端到目的端对数据传送进行控制从低到高的最后一层。
传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol)1。提供逻辑连接的建立、传输层寻址、数据传输、传输连接释放、流量控制、拥塞控制、多路复用和解复用、崩溃恢复等服务。
端口概念传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。
网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。计算机网络中的资源子网是通信的发起者和接收者,其中的每个设备称为端点;通信子网提供网络中的通信服务,其中的设备称为结点。OSI参考模型中用于通信控制的是下面四层,但它们的控制对象不一样。
基本功能传输层提供了主机应用程序进程之间的端到端的服务,基本功能如下
(1) 分割与重组数据
(2) 按端口号寻址
(3) 连接管理
(4) 差错控制和流量控制,纠错的功能
传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。
服务类型传输层既是OSI层模型中负责数据通信的最高层,又是面向网络通信的低三层和面向信息处理的高三层之间的中间层。该层弥补高层所要求的服务和网络层所提供的服务之间的差距,并向高层用户屏蔽通信子网的细节,使高层用户看到的只是在两个传输实体间的一条端到端的、可由用户控制和设定的、可靠的数据通路。服务类型
传输层提供的服务可分为传输连接服务和数据传输服务。
☆ 传输连接服务:通常,对会话层要求的每个传输连接,传输层都要在网络层上建立相应的连接。
☆ 数据传输服务:强调提供面向连接的可靠服务(很晚OSI才开始制定无连接服务的有关标准),并提供流量控制、差错控制和序列控制,以实现两个终端系统间传输的报文无差错、无丢失、无重复、无乱序。
协议等级与传输层协议服务质量运输层服务通过协议体现,因此运输层协议的等级与网络服务质量密切相关。根据差错性质,网络服务按质量可分为以下三种类型:
☆ A类服务:低差错率连接,即具有可接受的残留差错率和故障通知率;
☆ B类服务:高差错率连接,即具有不可接受的残留差错率和故障通知率;
☆ C类服务:介于A类服务与C类服务之间。
协议级别差错率的接受与不可接受是取决于用户的。因此,网络服务质量的划分是以用户要求为依据的。OSI根据运输层的功能特点,定义了以下五种协议级别:
☆ 0级:简单连接。只建立一个简单的端到端的传输连接,并可分段传输长报文。☆ 1级:基本差错恢复级。在网络连接断开、网络连接失败或收到一个未被认可的传输连接数据单元等基本差错时,具有恢复功能。
☆ 2级:多路复用。允许多条传输共享同一网络连接,并具有相应的流量控制功能。
☆ 3级:差错恢复和多路复用。是1级和2级协议的综合。
☆ 4级:差错检测、恢复和多路复用。在3级协议的基础上增加了差错检测功能。
传输层协议面向连接的传输协议(TCP):数据传输之前必须先建立连接,数据传输完成之后,必须释放连接。仅支持单播传输:每条传输连接只能有两个端点,只能进行点对点的连接,不支持多播和广播的传输方式,UDP是支持的。
提供可靠的交付服务:传送的数据无差错。不丢失,不重复,且顺序与与源数据一致。
传输单位是数据段:每次发送的数据段不固定,受应用层传送报文大小和网络中的MTU(最大传输单元)值大小的影响。最小数据段可能仅有21个字节(其中20个字节属于TCP头部,数据部分仅1字节)。
支持全双工传输:通信双方可以同时发数据和接收数据。
TCP连接是基于字节流的:UDP是基于报文流的。
TCP是一个可以保证可靠数据传输的传输层协议,主要采用采用以下四个机制实现数据可靠性传输。
字节编号机制:TCP数据段以字节为单位对数据段的"数据"部分进行一一编号,确保每一个字节的数据都可以有序传送和接收。
数据段确认机制:每接收一个数据段都必须有接收端向发送端返回确认数据段,其中的确认号表示已经正确接收的数据段序号。
超时重传机制:TCP中有一个重传定时器(RTT),发送一个数据段的同时也开启这个定时器,如果定时器过期之时还没有返回确认,则定时器停止,重传该数据。
选择性确认机制:(Selective ACK,SACK)/只重传缺少部分的数据,不会重传那些已经正确接收的数据。
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是172。
UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP报文分为UDP报文头和UDP数据区域两个部分。报头由源端口,目的端口,报文长度以及校验和组成。UDP适合于实时数据传输,比如语音和视频通信。相比TCP,UDP的传输效率更高,开销更小,但是无法保证数据传输可靠性。UDP头部的标识如下:
1)16位源端口号:源主机的应用程序使用的端口号。
2)16位目的端口号:目的主机的应用程序使用的端口号。
3)16位UDP长度:是指UDP头部和UDP数据的字节长度。因为UDP头部长度是8字节,所以字段的最小值为8。
4)16位UDP校验和:该字段提供了与TCP校验字段同样的功能;该字段是可选的。
重要性传输层是整个协议层次结构的核心,是惟一负责总体数据传输和控制的一层。在OSI七层模型中传输层是负责数据通信的最高层,又是面向网络通信的低三层和面向信息处理的高三层之间的中间层。因为网络层不一定保证服务的可靠,而用户也不能直接对通信子网加以控制,因此在网络层之上,加一层即传输层以改善传输质量。
传输层利用网络层提供的服务,并通过传输层地址提供给高层用户传输数据的通信端口,使系统间高层资源的共享不必考虑数据通信方面和不可靠的数据传输方面的问题。它的主要功能是:对一个进行的对话或连接提供可靠的传输服务,在通向网络的单一物理连接上实现该连接的复用,在单一连接上提供端到端的序号与流量控制、差错控制及恢复等服务。
本词条内容贡献者为:
马学彬 - 副教授 - 内蒙古大学