📅  最后修改于: 2020-11-10 01:00:59             🧑  作者: Mango
传输层
- 传输层是从顶部开始的第4层。
- 传输层的主要作用是直接向运行在不同主机上的应用程序进程提供通信服务。
- 传输层在不同主机上运行的应用程序进程之间提供逻辑通信。尽管不同主机上的应用程序进程未物理连接,但应用程序进程使用传输层提供的逻辑通信将消息彼此发送。
- 传输层协议在最终系统中实现,但不在网络路由器中实现。
- 计算机网络为网络应用程序提供了多个协议。例如,TCP和UDP是两个传输层协议,它们为网络层提供了不同的服务集。
- 所有传输层协议都提供复用/解复用服务。它还提供其他服务,例如可靠的数据传输,带宽保证和延迟保证。
- 应用程序层中的每个应用程序都可以使用TCP或UDP发送消息。应用程序使用这两种协议之一进行通信。然后,TCP和UDP都将与Internet层中的Internet协议进行通信。应用程序可以读取和写入传输层。因此,可以说沟通是一个双向过程。
传输层提供的服务
传输层提供的服务类似于数据链路层的服务。数据链路层在单个网络中提供服务,而传输层则在由许多网络组成的互联网络中提供服务。数据链路层控制物理层,而传输层控制所有下层。
传输层协议提供的服务可以分为五类:
端到端交付:
传输层将整个消息发送到目的地。因此,它确保了整个消息从源到目标的端到端传递。
可靠的交付:
传输层通过重新传输丢失和损坏的数据包来提供可靠性服务。
可靠的交付有四个方面:
错误控制
- 可靠性的主要作用是错误控制。实际上,没有传输将是100%无错误的交付。因此,传输层协议被设计为提供无错误的传输。
- 数据链路层还提供了错误处理机制,但它只能确保无节点到节点的无错误传递。但是,节点到节点的可靠性不能确保端到端的可靠性。
- 数据链路层检查每个网络之间的错误。如果在其中一个路由器内部引入了错误,则数据链路层将不会捕获此错误。它仅检测在链接的开头和结尾之间引入的那些错误。因此,传输层端对端执行错误检查以确保数据包已正确到达。
顺序控制
- 可靠性的第二方面是在传输层实现的顺序控制。
- 在发送端,传输层负责确保从上层接收的数据包可以被下层使用。在接收端,它可以确保传输的各个部分可以正确地重新组装。
损失控制
损失控制是可靠性的第三方面。传输层确保传输的所有片段到达目的地,而不是其中的一些。在发送端,所有传输片段都由传输层赋予序列号。这些序列号允许接收方的传输层识别丢失的段。
复制控制
复制控制是可靠性的第四方面。传输层保证没有重复的数据到达目的地。序列号用于识别丢失的数据包;类似地,它允许接收者识别并丢弃重复的段。
流量控制
流量控制用于防止发送方压倒接收方。如果接收器数据过多,则接收器会丢弃数据包并要求重新传输数据包。这会增加网络拥塞,从而降低系统性能。传输层负责流量控制。它使用滑动窗口协议,该协议使数据传输更加高效,并控制数据流,从而使接收者不会感到不知所措。滑动窗口协议是面向字节的,而不是面向帧的。
多路复用
传输层使用多路复用来提高传输效率。
复用可以通过两种方式发生:
- 上行复用:上行复用意味着多个传输层连接使用同一网络连接。为了提高成本效益,传输层沿着同一路径发送了绑定到同一目的地的多个传输。这是通过向上复用实现的。
- 下行复用:下行复用意味着一个传输层连接使用多个网络连接。向下多路复用允许传输层在多个路径之间拆分连接以提高吞吐量。当网络容量较低或较慢时,将使用这种类型的多路复用。
编址
- 根据分层模型,传输层与会话层的功能交互。许多协议将会话,表示和应用程序层协议组合到称为应用程序层的单个层中。在这些情况下,传递到会话层意味着传递到应用程序层。由一台计算机上的应用程序生成的数据必须传输到另一台计算机上的正确应用程序。在这种情况下,寻址是由传输层提供的。
- 传输层提供指定为工作站或端口的用户地址。端口变量表示指定站点的特定TS用户,该用户称为传输服务访问点(TSAP)。每个站只有一个运输实体。
- 传输层协议需要知道正在通信的上层协议。