📅  最后修改于: 2023-12-03 15:36:43.961000             🧑  作者: Mango
在计算机网络中,停止和等待、GoBackN 和选择性重复是三种流行的可靠传输协议,它们有各自的优缺点和适用场景。
停止和等待协议是最简单的协议之一。每次发送一个数据包后,发送方会等待接收方的确认信号,才会发送下一个数据包。接收方在接收到数据包后,需要发送确认信号才能正确接收下一个数据包。这种交替进行的操作是间隔性的。
Go-Back-N协议与停止和等待协议类似,但是它能够同时发送一定数量的数据包。发送方发送的每个数据包都有一个序号,并维护一个窗口,无需等待接收方的确认信号即可继续发送后续的数据包。接收方收到数据包时,会发送确认序列号,用来告诉发送方它已接收到数据包。如果发送方在规定时间内没有收到接收方的确认信号,则重新发送之前所有数据包,而接收方则必须将这些重复的数据包全部丢弃。
选择性重复协议与Go-Back-N协议类似,但是在接收方,它可以处理无序接收到的数据包。发送方发送的每个数据包都有一个序号,并维护一个窗口,窗口内的数据包可以重复发送。接收方收到数据包后,如果数据包的序号是发送方期望的序号,则将数据包交付上层,如果不是,则将数据包保存在接收方的缓存区中。接收方在接收到重复的数据包时,只需要丢弃即可。在发送方,一旦超时,只需要重新发送丢失的数据包即可。