-
传输层 编辑
传输层是整个网络体系结构中的关键层次之一,主要负责向两个主机中进程之间的通信提供服务。由于一个主机同时运行多个进程,因此运输层具有复用和分用功能。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制来保证数据传输的可靠性。传输层的一些协议是面向链接的,这就意味着传输层能保持对分段的跟踪,并且重传那些失败的分段。
传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种形式。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol) 。传输层提供逻辑连接的建立、传输层寻址、数据传输、传输连接释放、流量控制、拥塞控制、多路复用和解复用、崩溃恢复等服务。
网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。计算机网络中的资源子网是通信的发起者和接收者,其中的每个设备称为端点;通信子网提供网络中的通信服务,其中的设备称为节点。OSI参考模型中用于通信控制的是下面四层,但它们的控制对象不一样。
(1) 分割与重组数据
(2) 按端口号寻址
(3) 连接管理
(4) 差错控制和流量控制,纠错的功能
传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。
传输层提供的服务可分为传输连接服务和数据传输服务。
☆ 传输连接服务:通常,对会话层要求的每个传输连接,传输层都要在网络层上建立相应的连接。
☆ 数据传输服务:强调提供面向连接的可靠服务(很晚OSI才开始制定无连接服务的有关标准),并提供流量控制、差错控制和序列控制,以实现两个终端系统间传输的报文无差错、无丢失、无重复、无乱序。
服务质量
运输层服务通过协议体现,因此运输层协议的等级与网络服务质量密切相关。根据差错性质,网络服务按质量可分为以下三种类型:
☆ A类服务:低差错率连接,即具有可接受的残留差错率和故障通知率;
☆ B类服务:高差错率连接,即具有不可接受的残留差错率和故障通知率;
☆ C类服务:介于A类服务与B类服务之间。
协议级别
差错率的接受与不可接受是取决于用户的。因此,网络服务质量的划分是以用户要求为依据的。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报文的协议号是17 。
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校验字段同样的功能;该字段是可选的。
传输层利用网络层提供的服务,并通过传输层地址提供给高层用户传输数据的通信端口,使系统间高层资源的共享不必考虑数据通信方面和不可靠的数据传输方面的问题。它的主要功能是:对一个进行的对话或连接提供可靠的传输服务,在通向网络的单一物理连接上实现该连接的复用,在单一连接上提供端到端的序号与流量控制、差错控制及恢复等服务。
1、本站所有文本、信息、视频文件等,仅代表本站观点或作者本人观点,请网友谨慎参考使用。
2、本站信息均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
3、对任何由于使用本站内容而引起的诉讼、纠纷,本站不承担任何责任。
4、如有侵犯你版权的,请来信(邮箱:baike52199@gmail.com)指出,核实后,本站将立即删除。