-2

为什么在本地网络的情况下,他们判断没有必要在DATA链路层系统地有一个传输协议来重复传输丢失的帧?在这种情况下如何解决错误?

4

1 回答 1

1

数据的重传留给上层协议或应用程序,并不是所有的都这样做。这让应用程序决定它是否真的需要所有数据。有多种原因:

  • 曾几何时,在开发网络协议的时候,物理层的可靠性通常远不如今天,重传可能会使用链路的所有资源。
  • 第 2 层协议主要由 IEEE 开发,独立于任何其他组织,但上层协议主要由 IETF 开发,这是两个完全独立的标准机构。甚至 IETF 标准也将可靠性留给了更高层。例如UDP,一种不可靠的传输协议,是在TCP,一种可靠的传输协议之前开发的。人们认为应用程序可以处理可靠性,但后来添加了可靠的传输协议作为标准。
  • 大多数情况下,如果乱码数据越早丢弃在路径中会更好,让可靠的协议或应用程序错过它们并更快地请求任何丢失的数据。
  • 并非所有应用程序都需要重新传输丢失的数据,并且某些应用程序(例如实时应用程序)可能会因重新传输而受到影响,这将导致数据传输无序。想象一下,如果您正在拨打电话 (VoIP),并且在数据已经交付之后接收到丢弃的数据。那会混淆你的电话。不可靠的协议比可靠的协议更快地传递数据,这可能是应用程序的首要因素。为什么要在应用程序上强制重传数据和乱序数据交付?如果应用程序需要该服务,它可以使用提供该服务的传输协议,也可以自行处理。

数据链路层中的错误被认为是损坏的帧并被简单地丢弃,而不是浪费处理能力和带宽来进行可能不必要的重传。

于 2016-11-12T14:29:09.773 回答