Consulta GBN

Consulta GBN

de Nicolas Grosso San Roman -
Número de respuestas: 2

Hola!

Quería saber si en el protocolo GBN el emisor puede llegar a recibir ACK que estén por detrás de su ventana. El caso en el que pensaba es que, si el receptor me envía un ACK1 y un ACK2, pero el ACK2 llega antes, yo como emisor muevo la ventana dos lugares y el ACK1 llega luego y cae antes de mi ventana. Pero acá la pregunta también es si se asume que la red puede reordenar los paquetes o todos llegan en orden.

Gracias!

En respuesta a Nicolas Grosso San Roman

Re: Consulta GBN

de Martin Giachino -
Si la red reordena o no los paquetes es un dato que no depende del GBN. Lo que sí es cierto es que el GBN debería ser capaz de manejar esa situación si está funcionando sobre una red que puede reordenar los paquetes.
En respuesta a Nicolas Grosso San Roman

Re: Consulta GBN

de Eduardo Grampin -

Hola,
La sección 3.4 del libro discute RDT en general, incluyendo los protocolos en pipeline GBN y SR.
El libro asume para toda la sección que no hay reordenamiento de paquetes.

Sin enmargo, al final de la sección discute el punto, ligado a la relación entre tamaño de la ventana y cantidad de números de secuencia, que sabemos que puede generar problemas si son números muy próximos. En concreto, sobre el tema del reordenamiento, el libro dice:

"Let’s conclude our discussion of reliable data transfer protocols by considering one remaining assumption in our underlying channel model. Recall that we have assumed that packets cannot be reordered within the channel between the sender and receiver. This is generally a reasonable assumption when the sender and receiver are connected by a single physical wire. However, when the “channel” connecting the two is a network, packet reordering can occur. One manifestation of packet reordering is that old copies of a packet with a sequence or acknowledgment number of x can appear, even though neither the sender’s nor the receiver’s window contains x. With packet reordering, the channel can be thought of as essentially buffering packets and spontaneously emitting these packets at any point in the future. Because sequence numbers may be reused, some care must be taken to guard against such duplicate packets. The approach taken in practice is to ensure that a sequence number is not reused until the sender is “sure” that any previously sent packets with sequence number x are no longer in the network. This is done by assuming that a packet cannot “live” in the network for longer than some fixed maximum amount of time. A maximum packet lifetime of approximately three minutes is assumed in the TCP extensions for high-speed networks [RFC 1323]. [Sunshine 1978] describes a method for using sequence numbers such that reordering problems can be completely avoided."

Saludos,
Eduardo