为了在网络上的两台机器之间建立可靠的服务,实现了传输协议,它在某种程度上类似于在第 2 层实现的数据链路协议。主要区别在于数据链路层使用两个路由器之间的物理通道,而传输层使用子网。
以下是实现传输协议的问题 -
传输层还确定从会话层提供给用户的服务类型。以消息传输的顺序传递消息的无差错点对点通信是传输层的关键功能之一。
错误检测和错误恢复是可靠服务不可或缺的一部分,因此它们对于端到端地执行错误控制机制是必要的。为了控制丢失或重复段的错误,传输层为消息的不同数据包启用唯一的段序列号,创建虚拟电路,每个会话只允许一个虚拟电路。
流量控制的基本规则是保持快速进程和慢速进程之间的协同作用。传输层使快速进程与慢速进程保持同步。确认被发送回以管理端到端流控制。返回 N 算法用于请求重传以数据包编号 N 开始的数据包。选择性重复用于请求重传特定数据包。
传输层创建和释放跨网络的连接。这包括命名机制,以便一台机器上的进程可以指示它希望与谁通信。传输层使我们能够建立和删除网络上的连接,以将多个消息流复用到一个通信通道上。
传输层为会话层所需的每个传输连接建立单独的网络连接。为了提高吞吐量,传输层会建立多个网络连接。当吞吐量问题不重要时,它将多个传输连接复用到同一网络连接上,从而降低建立和维护网络连接的成本。
当多个连接复用时,它们要求在接收端进行解复用。在传输层的情况下,通信只发生在两个进程之间,而不是两台机器之间。因此,传输层的通信也称为对等或进程对进程通信。
当传输层从会话层接收到一条大消息时,它会根据需要将消息分成更小的单元。这个过程称为分片。此后,它被传递到网络层。相反,当传输层充当接收进程时,它会在将消息片段重新组合成消息之前对其进行重新排序。
传输层处理寻址或标记帧。它还区分连接和事务。连接标识符是标记每个帧的端口或套接字,因此接收设备知道它是从哪个进程发送的。这有助于跟踪多消息对话。端口或套接字在同一位置解决多个保护问题。