当数据包丢失或损坏时会发生什么?大部分流量控制在数据链路层与确认。这是否发生在网络层以及多个网络之间。一个数据包被封装在一个帧中,那么两个网络上的两台机器是否为每个接收到的帧(包含一个数据包)发送确认?
网际包传输
网络工程
网络
2021-07-17 05:55:29
2个回答
在网络层和数据链路层,数据包/帧通常不被确认(很少有例外)。这些协议使用稳健的设计,但丢失的数据包仍然丢失。如果需要,需要在更高层上进行恢复。
一些传输层协议确认数据(最突出的是 TCP),而另一些则不确认,例如 UDP。
请注意,TCP 不需要确认每个单独的段,但它可以“批量”确认,直到某个点。另请注意,TCP 在发送下一个段之前不会等待每个段得到确认。相反,它使用一个传输窗口,确认数据滑出,允许新数据滑入。
这背后的意图是保持中间网络设备非常简单(等待确认和重新发送丢失数据的能力需要数据缓冲)并让终端节点负责可靠性。
这取决于数据链路协议。一些过时的,如 X.25,确实承认帧。802.11 (WiFi) 也可以。但以太网没有。如果检测到损坏的帧,它会被静默丢弃。
其它你可能感兴趣的问题