GBN 协议(Go-Back-N Protocol)是一种数据链路层的协议,用于在不可靠信道上实现可靠传输。它的重点是实现了流量控制和错误控制,确保数据的可靠传输。
GBN 协议的重点包括:
-
发送方和接收方的状态信息:GBN 协议中,发送方维护了一个发送窗口,接收方维护了一个接收窗口。通过这些状态信息,发送方和接收方能够控制数据的发送和接收。
-
流量控制:GBN 协议通过发送窗口的控制,实现了流量控制。发送方只有在接收到确认帧之后才能发送下一个帧,从而控制了发送速率,避免了接收方无法处理过多数据的情况。
-
错误控制:GBN 协议通过序号的使用,实现了错误控制。每个数据帧都有一个序号,接收方能够按序接收数据帧,并对数据帧进行确认。如果接收方发现某个数据帧有错误,它会向发送方发送 NAK(否定确认),请求发送方重发该数据帧。
-
重传机制:GBN 协议中,发送方会周期性地重发未收到确认帧的数据帧。接收方可以通过重复发送确认帧来告知发送方数据已经接收到,如果发送方在一定时间内没有收到确认帧,则会重发该数据帧。这样可以确保数据的可靠传输。
需要注意的是,GBN 协议是一种面向帧的协议,因此在使用时需要将数据分成多个帧进行传输。此外,GBN 协议是一种通用的协议,可以用于各种不同的物理层和数据链路层。