Duda sobre maquinas de estado de los rdt.

Duda sobre maquinas de estado de los rdt.

de Juan Ignacio Larrambebere Daglio -
Número de respuestas: 2

 

Hola, mirando las maquinas de estado de los protocolos rdt sencillos nos surge la siguiente duda:

En el protocolo rdt 1.0 por ejemplo, del lado del emisor para enviar el paquete por el enlace (en este caso fiable) se utiliza la primitiva udt_enviar(paquete). Sin embargo del lado del receptor al momento de recibir dicho paquete se utiliza la primitiva rdt_recibir(paquete).

No entiendo por que si el canal en este rdt se asume fiable, se utiliza udt_enviar() en vez de rdt_enviar(), y en caso de que sea correcto utilizar udt_enviar(), no entiendo porque se utilizaria rdt_recibir() del lado receptor.

Agradezco si alguien me puede aclarar la duda.

En respuesta a Juan Ignacio Larrambebere Daglio

Re: Duda sobre maquinas de estado de los rdt.

de Matias Nassi Correa -

Sobre el porqué de udt_send() en el protocolo rdt 1.0 según recuerdo de un comentario del docente durante la clase es solo para unificar la nomenclatura con las siguientes versiones del rdt, para no llamarle de forma distinta en ese caso trivial, pero sí, para rdt 1.0 debería ser rdt_send().

Al recibir en el receptor se utiliza rdt_rcv() porque la recepción en la capa de transporte del otro lado es fiable, el canal no fiable (capa de red inclusive para abajo) ya lo pasó en ese punto. Es la idea de la capa de transporte, el emisor usa rdt_send() para enviar paquetes y el receptor rdt_rcv() para recibir los paquetes que sabe que llegan todos, en orden, etc etc.

Espero que ayude

Saludos