网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

Go-Back-N协议与选择性重传协议的区别

更新时间:2026年03月27日   作者:spoto   标签(Tag):

Go-Back-N协议和选择性重传协议都属于滑动窗口协议的一种。这两种协议的主要区别在于:在检测到发送过来的帧中存在错误或损坏的情况下,Go-Back-N协议会重新传输所有的帧;而选择性重传协议则只重新传输那些有错误的帧。

Go-Back-N协议

Go-Back-N协议是一种用于计算机网络中的可靠数据传输的滑动窗口协议。这是一种基于发送方的协议,它允许发送方一次性传输多个数据包,而无需等待每个数据包的确认。接收方则会对一系列数据包进行累计确认,从而指出最后一个被正确接收的数据包。

Go-Back-N协议

如果有任何数据包丢失,接收方会发送一个否定确认信号来表明该数据包已丢失。然后,发送方会重新传输从丢失的数据包开始的、位于该窗口内的所有数据包。此外,发送方还会为每个数据包设置一个计时器。如果在计时器设定的时间内没有收到确认信号,那么发送方就会重新传输该窗口内的所有数据包。

Go-Back-N(GBN)协议的主要特点

  • 滑动窗口机制
  • 序列号
  • 累计确认数
  • 超时机制
  • NACK机制
  • 实施起来非常简单。

选择性重传协议

选择性重传协议被用于计算机网络中的可靠数据传输。这是一种基于接收方的协议,它允许接收方逐一确认每个数据包,而不是对一系列数据包进行一次性确认。发送方会按照一定的时间窗口来发送数据包,然后等待对每个数据包的确认。

如果某个数据包丢失了,接收方会发送一个NACK信号来通知发送方该数据包已丢失。此时,发送方只需重新发送那个丢失的数据包即可。此外,发送方还会为每个数据包设置一个计时器。如果在计时器设定的时间内没有收到确认消息,那么发送方就只需要重新发送那个丢失的数据包而已。

选择性重传协议

选择性重传协议的主要特点

  • 基于接收方的协议
  • 每个数据包都会由接收方单独进行确认。
  • 只有丢失的数据包才会被重新传输,从而减少了网络的拥塞情况。
  • 维持一个缓冲区,用于存储那些顺序混乱的数据包。
  • 与Go-Back-N相比,它需要更多的内存和处理能力。
  • 能够高效地传输数据包。

Go-Back-N协议与选择性重传协议之间的相似之处

  • 这两种协议都采用了滑动窗口机制,使得发送方可以在不等待每个数据包的确认的情况下,连续发送多个数据包。
  • 这两种协议都使用序列号来确保数据包的排列顺序正确。
  • 这两种协议都使用了计时器机制来处理丢失或损坏的数据包。
  • 这两种协议都可以重新传输那些未被接收方确认的数据包。
  • 这两种协议都能通过只重新传输丢失的数据包来减少网络拥塞。
  • 这两种协议在现代通信网络中被广泛使用。
  • 这两种协议的效率都很高。

N/(1+2a)

在何处,

  • N表示帧的数量。
  • a = 传播延迟/传输延迟

Go-Back-N协议与选择性重传协议的区别

Go-Back-N协议选择性重传协议
InGo-Back-N协议如果发送过来的帧被认定为可疑,那么所有从该丢失的包开始、一直到最后一次传输的帧都需要重新发送。In 选择性重复协议只有那些被认定为可疑的帧才会被重新传输。
Go-Back-N协议的发送窗口大小为N。选择性重传协议的发送窗口大小同样为N。
Go-Back-N协议的接收窗口大小为1。选择性重传协议的接收窗口大小为N。
Go-Back-N协议相对简单一些。选择性重传协议更为复杂。
在Go-Back-N协议中,发送方和接收方都不需要进行排序操作。在选择性重传协议中,接收端需要对帧进行排序处理。
In Go-Back-N协议这种确认方式属于累积型。In 选择性重传该协议的确认类型属于“个体”类型。
在Go-Back-N协议中,乱序发送的数据包不会被接受,而是会被丢弃。同时,整个窗口内的数据都会被重新传输。在选择性重传协议中,乱序传输的数据包也是可以被接受的。
在Go-Back-N协议中,如果接收到损坏的数据包,那么整个窗口中的数据都会被重新传输。在选择性重传协议中,如果接收方接收到损坏的数据包,它会立即发送否定确认信号。这样一来,只有那些未被损坏的数据包才会被重新传输。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料