我从这个问题中了解到,只有传输层负责确认。但是我已经阅读了关于停止和等待的书籍,GBN,SR 协议使用 DLL 中的确认,重传。
我的问题是它们(确认,DLL 中的重传)实际上是通过 layer2 的 layer4 确认?
我从这个问题中了解到,只有传输层负责确认。但是我已经阅读了关于停止和等待的书籍,GBN,SR 协议使用 DLL 中的确认,重传。
我的问题是它们(确认,DLL 中的重传)实际上是通过 layer2 的 layer4 确认?
有层,有协议,还有机制。
GBN、SR等是机制的例子。这些可以通过协议来实现以实现可靠性。有不同的协议使用不同的机制。
协议通常分配给层。有第 2 层、第 3 层和第 4 层协议。
每一层都可以采用一种协议,该协议使用诸如确认和重传之类的机制。不同层上的协议(理论上)彼此独立。实际上,协议通常只是彼此独立,除非它们专门设计为一起工作并且只一起工作。如果多个协议使用确认,则这些确认是相互独立的。第 2 层将采用具有自己确认的第 2 层协议。这些确认完全独立于任何其他层可能使用或可能不使用的任何其他协议的任何其他确认。对于第 2 层,TCP 确认只是数据包,没什么特别的。它们只对另一端的 TCP 实例有意义。
我从这个问题中了解到,只有传输层负责确认。
不是。首先,OSI 模型旨在对一般网络进行推理,而不是专门对 Internet 进行推理。网络可以在任何层都有可靠的协议,包括第 3 层。
Internet 是一个特殊的网络,其中第 3 层不可靠,并且不使用任何机制。在 Internet 中,需要通过第 4 层或更高层来实现可靠的端到端交付。这是因为第 3 层不提供任何保证,即使特定的第 2 层提供。
第 2 层可以在两个第 2 层跃点之间提供可靠的传递。这是在单个第 2 层跃点上的可靠交付,而不是端到端的。数据包仍然可能在沿途的任何其他跃点上丢失。这就是为什么我们需要一个单独的机制来实现可靠的端到端交付。
明白只有传输层负责确认。
传输层是通常跟踪交付的层(最突出的是 TCP)。确认有时也用于其他层,在这些层中传递不是很可靠(例如,在 IEEE 802.11 的数据链路层中)。
理论上,任何层的任何协议都可以实现某种数据确认机制。您应该注意,无论协议实现了这种机制,它都与使用的其他层无关。IE。当 TCP 通过 802.11 传输(通过 IP)时,802.11 和 TCP 都独立跟踪传递:无线节点之间的 802.11,从源到目的地的 TCP。