一、概述
从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。运输层的一个核心功能是提供从源端主机到目的端主机的可靠的、与实际使用的网络无关的信息传输。它向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),使应用进程看见的就好像在两个运输层实体之间有一条端到端的逻辑通信信道。
二、主要功能
- 复用和分用:应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。运输层从网络层收到数据后,需要交付给指明的应用进程。
- 逻辑通信:运输层提供应用进程间的逻辑通信。这种逻辑通信好像是沿水平方向传送数据,但事实上这两个运输层之间并没有一条水平方向的物理连接。
- 端到端通信:运输层为应用进程之间提供端到端的逻辑通信,而网络层是为主机之间提供逻辑通信。
- 差错检测:运输层还需要对收到的报文进行差错检测。
三、两个主要协议
用户数据报协议(UDP)
- 特点:UDP是无连接的,发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。UDP是面向报文的,对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。UDP支持一对一、一对多、多对一和多对多的交互通信。
- 首部开销:UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。
- 应用场景:UDP适用于那些对实时性要求较高,但对可靠性要求不高的应用场景,如多媒体通信、视频流媒体等。
传输控制协议(TCP)
- 特点:TCP是面向连接的运输层协议,在无连接的、不可靠的IP网络服务基础之上提供可靠交付的服务。TCP提供全双工通信,面向字节流。TCP中的"流"指的是流入或流出进程的字节序列。虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成仅仅是一连串无结构的字节流。
- 连接管理:TCP的连接建立采用三报文握手的方式,连接释放则采用四报文握手的方式。这种连接管理方式确保了TCP连接的可靠性和稳定性。
- 可靠传输:TCP通过一系列措施保证可靠传输,如超时重传、确认应答、滑动窗口协议等。这些措施使得TCP能够在不可靠的IP网络之上提供可靠的传输服务。
- 拥塞控制:TCP还具备拥塞控制功能,通过慢开始、拥塞避免、快重传等算法来避免网络拥塞,提高网络传输效率。
- 应用场景:TCP适用于那些对可靠性要求较高,如文件传输、电子邮件等应用场景。
四、协议与端口
在运输层中,端口是实现复用和分用功能的关键。端口是运输层与应用层的服务接口,通过端口号可以唯一标识一个应用进程。不同的应用进程可以通过不同的端口号进行通信。
总结
计算机网络中的运输层协议是网络通信的重要组成部分,它提供了从源端主机到目的端主机的可靠的、与实际使用的网络无关的信息传输服务。UDP和TCP是运输层的两个主要协议,它们各自具有不同的特点和应用场景。通过了解这些协议的概念和工作原理,可以更好地理解计算机网络中的通信过程,并为网络通信的设计和优化提供有力支持。
结语
人生就像蒲公英
看似自由
却身不由己
!!!