网际层以下(含网际层)只提供两个相邻节点之间的主机到主机(点到点)传输,没有涉及应用程序即进程的概念。例如在多用户或多任务操作系统中,数据传到目的主机时,应该由哪个进程处理到达的数据,IP协议不能解决这个问题,传输层可以解决它。传输层的基本任务是提供应用程序之间的通信。这种通信称端到端的通信。端到端信道由一段段点到点信道组成,端到端协议建立在点到点协议基础之上。
OSI七层模型中的
物理层、
数据链路层和网络层是面向
网络通信的低三层,为网络环境中的
主机提供点对点通信服务。这种通信是直接相连的节点对等实体的通信,它只提供一台机器到另一台机器之间的通信,不会涉及到程序或进程的概念。同时点到点通信并不能保证数据传输的可靠性,也不能说明源主机与目的主机之间是哪两个进程在通信。
端到端通信建立在点到点通信的基础上,是经点到点通信更高一级的通信方式,完成应用程序(进程)之间的通信。OSI参考模型中的
传输层功能的裨是最终完成端到端的可靠连接。“端”是指
用户应用程序的“端口”,
端口号标识了
应用层中不同的进程,多个进程的数据传递通过不同的端口完成。
从本质上说,端到端通信的
通信子网为网络环境中的
主机,而
传输层为网络中的
主机提供端到端的通信,即计算机程序到程序之间的通信,使源端和目的端主机上的对等实体可以进行会话。
传输控制协议TCP是一个面向连接的协议,允许从一台机器发出的字节流无差错地发往互联网上的其他机器。它把输入的字节流分成报文段并传给网际层。在接收端,TCP接收进程把收到的报文再组装成字节流传送给应用层。TCP同时要完成流量控制功能,以避免快速发送方向低速接收方发送过多报文而使接收方无法处理。
用户数据报协议(User Datagram Protocol,UDP)是一个不可靠的、无连接协议。一些只包含简单查询和应答的应用适合使用UDP
数据报服务,因为数据报服务不用建立和结束虚拟通道,因而不会有额外的建立和终止虚拟通道的花销。UDP是一种简单的协议机制,通信开销小,效率高,比较适用于快速递交比准确递交更重要的应用程序,如传输语音或影像。