Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Redes de
| Introducción. Cuestiones de diseño. Servicios
proporcionados a la capa de red. Entramado. Control
de errores. Control de flujo. Detección y Corrección de
Errores. Protocolos de transmisión
Información 1 confiable. Protocolos de Ventana Corrediza.
MÓDULO
COMUNICACIONES | Definir la función principal de la capa de enlace de datos. DIDÁCTICO
ENTRE | Introducir a los distintos servicios ofrecidos por la 2020
capa de enlace de datos.
COMPUTADORAS | Describir las principales características de cada servicio.
UNIDAD Capa de Enlace de Datos | Introducción a los métodos de entramado.
| Describir las características y el funcionamiento de los
distintos métodos de entramado.
| Introducción al los conceptos de control de errores y
de control de flujo.
| Introducción a los protocolos de transmisión confiable.
CLASE | Introducción a los protocolos de ventana corrediza.
Capa de Enlace de Datos
El objetivo principal de esta capa son los métodos o algoritmos para la comunicación confiable y
eficiente entre dos máquinas adyacentes.
Por adyacente, queremos decir que las dos máquinas están conectadas por un canal de comunicaciones
que actúa de manera conceptual como un alambre. La propiedad esencial de un canal que lo hace
asemejarse a un alambre es que los bits se entregan con exactitud en el mismo orden en que fueron
enviados.
A primera vista podría pensarse que este problema es tan trivial que no hay ningún software que
estudiar: la máquina A sólo pone los bits en el alambre, y la máquina B simplemente los toma. Por
desgracia, los circuitos de comunicación cometen errores ocasionales. Además, tienen una tasa
de datos finita y hay un retardo de propagación diferente de cero entre el momento en que se
envía un bit y el momento en que se recibe. Estas limitaciones tienen implicaciones importantes
para la eficiencia de la transferencia de datos. Los protocolos usados para comunicaciones deben
considerar todos estos factores.
Tras una introducción a los aspectos clave de diseño presentes en la capa de enlace de datos,
estudiaremos una serie de protocolos de complejidad creciente, cada uno de los cuales resuelve los
problemas presentes en esta capa. Por último, daremos algunos ejemplos de protocolos de enlace
de datos.
2
Cuestiones de Diseño
de la Capa de Enlace de Datos
La capa de enlace de datos tiene que desempeñar varias funciones específicas, entre las que se |1|
incluyen:
| Proporcionar una interfaz de servicio bien definida con la capa de red. Máquina emisora Máquina receptora
| Manejar los errores de transmisión. Paquete Paquete
| Regular el flujo de datos para que receptores lentos no sean saturados por emisores rápidos. Trama
Para cumplir con estas metas, la capa de enlace de datos toma de la capa de red los paquetes y Encabezado Campo de Terminador
los encapsula en tramas para transmitirlos. Cada trama contiene un encabezado, un campo de carga útil
carga útil (payload) para almacenar el paquete y un terminador o final, como se ilustra en la figura
|1|. El manejo de las tramas es la tarea primordial de la capa de enlace de datos. En las siguientes Encabezado Campo de Terminador
secciones examinaremos en detalle todos los aspectos mencionados. carga útil
Aunque aquí sólo analiza la capa de enlace de datos y los protocolos de enlace de datos, muchos de los
principios que analizaremos aquí, como el control de errores y el de flujo, también se encuentran en la Relación entre los paquetes y las tramas
capa de transporte y en otros protocolos. De hecho, en muchas redes, estas funciones se encuentran
sólo en las capas superiores y no en la de enlace de datos. Sin embargo, independientemente de
donde se encuentren, los principios son casi los mismos. Por lo general, éstos se muestran en la capa
de enlace de datos en sus formas más simples y puras, por lo que dicha capa es un buen lugar para
examinarlos en detalle.
3
Servicios proporcionados a la capa de red |2|a |2|b
| Servicio: un servicio es un conjunto de primitivas (operaciones) que una capa proporciona a una La figura |2|: |2|a Comunicación virtual. |2|b Comunicación real.
capa que está sobre ella. El servicio define qué operaciones puede realizar la capa en beneficio La capa de enlace de datos puede diseñarse para ofrecer varios
de sus usuarios, pero no dice nada de cómo se implementan tales operaciones. Un servicio está servicios. Los servicios reales ofrecidos pueden variar de sistema
relacionado con la interfaz entre dos capas, donde la capa inferior es la que provee el servicio y la a sistema. Tres posibilidades razonables que normalmente se
superior quien lo recibe. proporcionan son:
1| Servicio no orientado a la conexión sin confirmación de recepción.
| Protocolo: es un conjunto de reglas que rigen el formato y el significado de los paquetes, o mensajes, 2| Servicio no orientado a la conexión con confirmación de recepción.
que se intercambian las entidades iguales en una capa. 3| Servicio orientado a la conexión con confirmación de recepción.
| Entidades: Se denomina entidad E(N) a un elemento activo que realiza las funciones de la capa N.
Una entidad puede ser de software o hardware (circuito integrado de entrada/salida). Las entidades
de la misma capa pero en máquinas diferentes se llamas entidades homólogas.
4
Las entidades E(N) utilizan los servicios brindados por la capa inmediatamente inferior N-1 para
efectuar las comunicaciones. La información es transferida físicamente entre capas adyacentes
desde un sistema hacia otro y las entidades se comunican lógicamente entre sí, ignorando los
detalles de la transferencia.
5
Tal vez valga la pena poner énfasis en que proporcionar confirmaciones de recepción en la capa de
enlace de datos sólo es una optimización, nunca un requisito. La capa de red siempre puede enviar
un paquete y esperar que se confirme su recepción. Si la confirmación no llega antes de que expire
el temporizador, el emisor puede volver a enviar el mensaje.
El problema con esta estrategia es que las tramas tienen una longitud máxima impuesta por el
hardware mientras que los paquetes de la capa de red no la tienen. Si el paquete promedio se divide
en, digamos, 10 tramas, y se pierde 20% de todas las tramas enviadas, el paquete puede tardar
mucho tiempo en pasar. Si las tramas se confirman y retransmiten de manera individual, los paquetes
completos pasan con mayor rapidez. En los canales confiables, como la fibra óptica, la sobrecarga que
implica el uso de un protocolo de enlace de datos muy robusto puede ser innecesaria, pero en canales
inalámbricos bien vale la pena el costo debido a su inestabilidad inherente.
Regresando a nuestros servicios, el servicio más refinado que puede proporcionar la capa de enlace
de datos a la capa de red es el servicio orientado a la conexión con confirmación de recepción. Con
este servicio, las máquinas de origen y de destino establecen una conexión antes de transferir datos.
Cada trama enviada a través de la conexión está numerada, y la capa de enlace de datos garantiza que
cada trama enviada llegará a su destino. Es más, garantiza que cada trama será recibida exactamente
una vez y que todas las tramas se recibirán en el orden adecuado. En contraste, con el servicio no
orientado a la conexión es posible que una confirmación de recepción perdida cause que una trama
se envíe varias veces y, por lo tanto, que se reciba varias veces. Por su parte, el servicio orientado a la
conexión proporciona a los procesos de la capa de red el equivalente de un flujo de bits confiable.
6
Cuando se utiliza un servicio orientado a la conexión, las transferencias tienen tres fases distintas.
En la primera, la conexión se establece haciendo que ambos lados inicialicen las variables y los
contadores necesarios para seguir la pista de las tramas que han sido recibidas y las que no. En la
segunda fase se transmiten una o más tramas. En la tercera fase, la conexión se cierra y libera las
variables, los búferes y otros recursos utilizados para mantener la conexión.
Considere un ejemplo típico: una subred de WAN que consiste en enrutadores conectados por medio de
líneas telefónicas alquiladas de punto a punto. Cuando llega una trama a un enrutador, el hardware la
examina para verificar si está libre de errores, y después la pasa al software de la capa de enlace de datos
(que podría estar integrado en un chip de la tarjeta de interfaz de red). Dicho software comprueba si ésta
es la trama esperada y, de ser así, entrega el paquete contenido en el campo de carga útil al software de
enrutamiento. A continuación, este soft elige la línea de salida adecuada y reenvía el paquete al software
de la capa de enlace de datos, que luego lo transmite.
El código de enrutamiento con frecuencia requiere que el trabajo se haga bien, es decir, que haya
conexiones estables y ordenadas en cada una de las líneas punto a punto. No quiere que se le moleste
frecuentemente con paquetes que se perdieron en el camino. Es responsabilidad del protocolo de
enlace de datos hacer que las líneas de comunicación no estables parezcan perfectas o, cuando menos,
bastante buenas.
Entramado
A fin de proporcionar servicios a la capa de red, la de enlace de datos debe utilizar los servicios que
la capa física le proporciona. Lo que hace la capa física es aceptar un flujo de bits puros e intentar
7
entregarlo al destino. No se garantiza que este flujo de bits esté libre de errores. La cantidad de bits
recibidos puede ser menor, igual o mayor que la cantidad de bits transmitidos, y éstos pueden tener
diferentes valores. Es responsabilidad de la capa de enlace de datos detectar y, de ser necesario,
corregir los errores.
El método común es que la capa de enlace de datos divida el flujo de bits en tramas separadas y que
calcule la suma de verificación de cada trama.
Cuando una trama llega al destino, se recalcula la suma de verificación. Si la nueva suma de
verificación calculada es distinta de la contenida en la trama, la capa de enlace de datos sabe que
ha ocurrido un error y toma medidas para manejarlo.
La división en tramas del flujo de bits es más difícil de lo que parece a primera vista. Una manera
de lograr esta división en tramas es introducir intervalos de tiempo entre las tramas, de la misma
manera que los espacios entre las palabras en el texto común. Sin embargo, las redes pocas veces
ofrecen garantías sobre la temporización, por lo que es posible que estos intervalos sean eliminados
o que puedan introducirse otros intervalos durante la transmisión.
Puesto que es demasiado riesgoso depender de la temporización para marcar el inicio y el final de
cada trama, se han diseñado otros métodos. En esta sección veremos cuatro métodos:
1| Conteo de caracteres.
2| Banderas, con relleno de caracteres.
3| Banderas de inicio y fin, con relleno de bits.
4| Violaciones de codificación de la capa física.
8
El primer método de entramado, conteo de caracteres, se vale de un campo en el encabezado para |3|a
especificar el número de caracteres en la trama. Cuando la capa de enlace de datos del destino ve la
Cuenta de caracteres Un caracter
cuenta de caracteres, sabe cuántos caracteres siguen y, por lo tanto, dónde está el fin de la trama.
Esta técnica se muestra en la figura |3|a para cuatro tramas de 5, 5, 8 y 8 caracteres de longitud,
5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3
respectivamente.
Cuadro 1 Cuadro 2 Cuadro 3 Cuadro 4
5 caracteres 5 caracteres 8 caracteres 8 caracteres
El problema con este algoritmo es que la cuenta puede alterarse por un error de transmisión. Por
ejemplo, si la cuenta de caracteres de 5 en la segunda trama de la figura |3|b se vuelve un 7, el destino |3|b
perderá la sincronía y será incapaz de localizar el inicio de la siguiente trama. Incluso si el destino
sabe que la trama está mal porque la suma de verificación es incorrecta, no tiene forma de saber Error
dónde comienza la siguiente trama. Regresar una trama a la fuente solicitando una retransmisión
tampoco ayuda, ya que el destino no sabe cuántos caracteres tiene que saltar para llegar al inicio de 5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3
la retransmisión. Por esta razón, en la actualidad casi no se utiliza el método de conteo de caracteres. Cuadro 1 Cuadro 2
Equivocado Ahora un caracter cuenta
Cuando se utiliza este método para transmitir datos binarios, como programas objeto o números de
punto flotante, surge un problema serio. Se puede dar el caso con mucha facilidad de que el patrón
9
de bits de la bandera aparezca en los datos (payload), lo que interferiría en el entramado. Una |4|b
forma de resolver este problema es hacer que la capa de enlace de datos del emisor inserte un byte
de escape especial (ESC) justo antes de cada bandera “accidental” en los datos.
La capa de enlace de datos del lado receptor quita el byte de escape antes de entregar los datos a la
capa de red. Esta técnica se llama relleno de caracteres. Por lo tanto, una bandera de entramado se
puede distinguir de uno en los datos por la ausencia o presencia de un byte de escape que la antecede.
Por supuesto que surge la pregunta de qué sucede si un byte de escape aparece en medio de los
datos. La respuesta es que también se rellena con un byte de escape. Por lo tanto, cualquier byte
de escape individual es parte de una secuencia de escape, mientras que uno doble indica que un
escape sencillo apareció de manera natural en los datos. En la figura |4|b se muestran algunos |4|a Una trama delimitada por banderas o |4|b Cuatro ejemplos de
ejemplos. En todos los casos, la secuencia de bytes que se entrega después de la eliminación de los secuencias de bytes antes y después del relleno de caracteres.
bytes de escape es exactamente la misma que la secuencia de bytes original.
El esquema de relleno de caracteres que se muestra en las figuras |4| es una ligera simplificación
del esquema empleado en el protocolo PPP que la mayoría de las computadoras utiliza para
comunicarse con el proveedor de servicios de Internet.
Una desventaja importante del uso de esta técnica de entramado es que está fuertemente atada los
caracteres de 8 bits. No todos los códigos utilizan caracteres de 8 bits. Por ejemplo, UNICODE utiliza
caracteres de 16 bits. A medida que se desarrollaron las redes, las desventajas de incorporar la
longitud del código de caracteres en el mecanismo de entramado se volvieron más obvias, por que
tuvo que desarrollarse una técnica nueva que permitiera caracteres de tamaño arbitrario.
10
La nueva técnica permite que las tramas de datos contengan un número arbitrario de bits y admite |5|a 011011111111111111110 010
códigos de caracteres con un número arbitrario de bits por carácter. Dicha técnica, banderas de inicio
|5|b 011011111011111011111010 010
y fin con relleno de bits, funciona de la siguiente manera: cada trama comienza y termina con un
patrón especial de bits, 011111 (que es de hecho una bandera). Cada vez que la capa de enlace de datos
Bits de Relleno
del emisor encuentra cinco unos consecutivos en los datos, automáticamente inserta un bit 0 en el flujo
de bits saliente. Este relleno de bits es análogo al relleno de caracteres, en el cual un byte de escape se |5|c 011011111111111111110 010
inserta en flujo de caracteres saliente antes de un byte igual a la bandera de entramado en los datos.
Relleno de bits. |5|a Los datos originales. |5|b Los datos, según
Cuando el receptor ve cinco bits 1 de entrada consecutivos, seguidos de un bit 0, automáticamente extrae aparecen en la línea. |5|c Los datos, como se guardan en la memoria
(es decir, borra) el bit 0 de relleno. Así como el relleno de caracteres es completamente transparente para del receptor tras eliminar el relleno
la capa de red en ambas computadoras, también lo es el relleno de bits. Si los datos de usuario contienen
el patrón indicador 01111110, éste se transmite como 011111010, pero se almacena en la memoria del
receptor como 01111110. En las figuras |5| se da un ejemplo de relleno de bits.
Con el relleno de bits, el límite entre las dos tramas puede ser reconocido sin ambigüedad mediante
el patrón de banderas. De esta manera, si el receptor pierde la pista de dónde está, todo lo que
tiene que hacer es explorar la entrada en busca de secuencias de banderas, pues sólo pueden
ocurrir en los límites de las tramas y nunca en los datos.
El último método de entramado, violaciones de codificación de la capa física, sólo se aplica a las
redes en las que la codificación en el medio físico contiene cierta redundancia. Por ejemplo, algunas
LANs codifican un bit de datos usando dos bits físicos. Normalmente, un bit 1 es un par alto-bajo, y
un bit 0 es un par bajo-alto. El esquema implica que cada bit de datos tiene una transición a medio
camino, lo que hace fácil para el receptor localizar los límites de los bits. Las combinaciones alto-
alto y bajo-bajo no se usan para datos, pero en algunos protocolos se utilizan para delimitar tramas.
11
Como nota final sobre el entramado, muchos protocolos de enlace de datos usan, por seguridad,
una combinación de cuenta de caracteres con uno de los otros métodos. Cuando llega una trama,
se usa el campo de cuenta para localizar el final de la trama. Sólo si el delimitador apropiado está
presente en esa posición y la suma de verificación es correcta, la trama se acepta como válida. De
otra manera, se explora el flujo de entrada en busca del siguiente delimitador.
Control de errores
Una vez resuelto el problema de marcar el inicio y el final de cada trama, llegamos al siguiente
problema: cómo asegurar que todas las tramas realmente se entreguen en el orden apropiado a la
capa de red del destino. Suponga que el emisor se dedicó a enviar tramas sin importarle si estaban
llegando de manera adecuada. Esto podría estar bien para un servicio no orientado a la conexión sin
confirmación de recepción, pero no será correcto para un servicio confiable orientado a la conexión.
Una complicación adicional surge de la posibilidad de que los problemas de hardware causen la
desaparición de una trama completa (por ejemplo, por una ráfaga de ruido). En este caso, el receptor no
12
reaccionará en absoluto, ya que no tiene razón para reaccionar. Debe quedar claro que’ un protocolo en
el cual el emisor envía una trama y luego espera una confirmación de recepción, positiva o negativa, se
quedaría esperando eternamente si se pierde por completo una trama debido a una falla de hardware.
13
Control de flujo
Otro tema de diseño importante que se presenta en la capa de enlace de datos (y también en las
capas superiores) es qué hacer con un emisor que quiere transmitir tramas de manera sistemática
y a mayor velocidad que aquella con que puede aceptarlos el receptor. Esta situación puede ocurrir
fácilmente cuando el emisor opera en una computadora rápida (o con baja carga) y el receptor
opera en una máquina lenta (o sobrecargada). El emisor envía las tramas a alta velocidad hasta
que satura por completo al receptor. Aunque la transmisión esté libre de errores, en cierto punto el
receptor simplemente no será capaz de manejar las tramas conforme lleguen y comenzará a perder
algunas. Es obvio que tiene que hacerse algo para evitar esta situación.
Por lo general se utilizan dos métodos. En el primero, el control de flujo basado en retroalimentación,
el receptor regresa información al emisor autorizándolo para enviar más datos o indicándole su estado.
En el segundo, el control de flujo basado en tasa, el protocolo tiene un mecanismo integrado que
limita la tasa a la que el emisor puede transmitir los datos, sin recurrir a retroalimentación por parte
del receptor. En este capítulo estudiaremos el método de control de flujo basado en retroalimentación
debido a que el método basado en tasa no se utiliza en la capa de enlace de datos.
14
Detección y Corrección de Errores
Se han desarrollado dos estrategias fundamentales para el manejo de los errores que pueden
presentarse en la transmisión de datos. Una de ellas consiste en agregar información redundante en
cada bloque de datos enviado, para que el receptor pueda deducir cuál fue el caracter que se envió.
La otra estrategia consiste en incluir redundancia para que el receptor pueda detectar la existencia
de un error y solicitar una retransmisión. En el primer caso se utilizan códigos correctores de error
y en el segundo caso códigos detectores de errores. Los métodos más usados en la detección y
corrección de errores son: chequeo de redundancia cíclica, bits de paridad, código de Hamming y
los algoritmos de Checksum.
15
Protocolos de Transmisión Confiable
Se supone una comunicación perfecta, sin errores, donde el receptor está siempre disponible y preparado
para recibir tramas con un espacio de buffer infinito, por lo que no debe efectuarse control de flujo. El
emisor está siempre preparado para transmitir cualquier cosa que reciba de la capa de red. En este caso el
único evento posible es la llegada de una trama.
En un caso más real, puede suceder que el receptor no siempre está disponible para recibir, por tener
ocupado su buffer de entrada debido a que la capa de enlace no sea capaz de procesar los tramas con
suficiente rapidez o porque la capa de red del receptor no sea lo bastante rápida. En este caso, lo más
sencillo es que el emisor espere una confirmación después de enviar cada trama, de forma que sólo
después de recibir la confirmación envíe el siguiente. De esta manera se garantiza la no saturación del
receptor. Esto es lo que se conoce como un protocolo de parada y espera.
16
Protocolo simplex para un canal con ruido
17
Protocolos de Ventana Corrediza
Los siguientes tres procotolos son bidireccionales y pertenecen a una clase llamada protocolos
de ventana corrediza ó deslizante. Los tres difieren entre ellos en la eficiencia, complejidad y
requerimientos de buffer. Cada trama de salida contiene un número de secuencia, que va desde 0
hasta algún valor máximo, por lo general 2n -1.
La esencia de todos los protocolos de ventana corrediza es que, en cualquier instante, el emisor
mantiene un grupo de números de secuencia que corresponde a las tramas que tiene permitido enviar.
Se dice que estas tramas caen dentro de la ventana emisora. De manera semejante, el receptor
mantiene una ventana receptora correspondiente al grupo de tramas que tiene permitido aceptar.
Las ventanas del emisor y del receptor no necesariamente deben tener los mismos límites inferior
y posterior, ni siquiera el mismo tamaño. En algunos protocolos las ventanas son de tamaños fijos,
pero en otros pueden crecer y disminuir a medida que envían y reciben tramas.
Son requisitos indispensables que los paquetes se entreguen a la capa de red de destino en el mismo
orden en que se pasaron a la capa de enlace de datos en la máquina emisora y que las tramas se
entreguen en el orden en que fueron enviadas.
Los números de secuencia en la ventana del emisor representan tramas enviadas, o que pueden
ser enviadas, pero cuya recepción aún no ha sido confirmada. Cuando llega un paquete nuevo de
la capa de red, se le da el siguiente número secuencial mayor, y el extremo superior de la ventana
18
avanza en uno. Al llegar una confirmación de recepción, el extremo inferior avanza en uno. De esta 7 0 7 0 7 0 7 0
6 1 6 1 6 1 6 1
manera, la ventana mantiene continuamente una lista de tramas sin confirmación de recepción. |6| Emisor
5 2 5 2 5 2 5 2
4 3 4 3 4 3 4 3
Dado que las tramas que están en la ventana del emisor pueden perderse o dañarse en tránsito, el
emisor debe mantener todas estas tramas en su memoria para su posible retransmisión. Por lo tanto
7 0 7 0 7 0 7 0
si el tamaño de la ventana es n, el emisor necesita n buffers para contener las tramas sin confirmación 6 1 6 1 6 1 6 1
de recepción. Si la ventana llega a crecer a su tamaño máximo, la capa de enlace de datos emisora Receptor
5 2 5 2 5 2 5 2
deberá hacer que la capa de red se detenga hasta que se libere otro buffer. 4 3 4 3 4 3 4 3
|6|a |6|b |6|c |6|d
La ventana de la capa de enlace del receptor, corresponde a las tramas que puede aceptar. Todas las
tramas que caigan fuera de la ventana se descartarán sin comentarios. Ventana corrediza de tamaño 1, con número de secuencia de 3
bits. |6|a Al inicio. |6|b Tras la transmisión de la primera trama. |6|c
Cuando se recibe la trama cuyo número de secuencia es igual al extremo inferior de la ventana, se Tras la recepción de la primera trama. |6|d Tras recibir la primera
pasa a la capa de red, se genera una confirmación de recepción y se avanza la ventana en uno. confirmación de recepción.
La ventana del receptor siempre conserva el mismo tamaño. Una ventana de tamaño 1, significa que la
capa de enlace de datos solo acepta tramas en orden, pero con ventanas más grandes esto no es así.
La capa de Red, por el contraste, siempre recibe los datos en el orden correcto sin importar el tamaño
de la ventana de la capa de enlace de datos.
19
Protocolo de Ventana Deslizante de un bit
Este protocolo de ventana corrediza tiene un tamaño máximo de ventana de 1bit. Este también utiliza
parada y espera, ya que el emisor envía una trama y espera su confirmación de recepción antes de
transmitir la siguiente.
La capa de enlace de datos del emisor obtiene el paquete de su cada de Red, construye una trama
a partir de él y la envía. Al llegar esta (o cualquier) trama, la capa de enlace de datos receptora la
revisa para saber si es un duplicado. Si la trama es la esperada, se pasa a la capa de Red y la ventana
del receptor se corre hacia arriba.
El campo de confirmación de recepción contiene el número de la última trama recibida sin error. Si este
número concuerda con el de secuencia de la trama que está tratando de enviar el emisor, este sabe que
ha terminado con la trama almacenada en el buffer y que puede obtener el siguiente paquete de la capa
de Red. Si el número de secuencia no concuerda, debe continuar intentando enviar la misma trama. Por
cada trama que envía recibe una.
Cuando se utiliza un protocolo de ventana deslizante de más de un bit el emisor no actúa de forma
sincronizada con el receptor: cuando el receptor detecta una trama defectuosa hay varias tramas
posteriores ya en camino, que llegarán de todas formas a él, aún cuando reporte el problema
inmediatamente.
20
Existen dos posibles estrategias a seguir en este caso, la primera es que el receptor ignore los tramas |7|a
(posteriores) recibidos a partir del erróneo (inclusive) y solicite al emisor la retransmisión de todas
las tramas siguientes. Esta técnica se denomina retroceso n (figura |7|a) y corresponde a una ventana
deslizante de tamaño uno en el receptor. En este caso, el receptor se asegura que los tramas se
procesarán en secuencia, por lo que no tiene que reservar espacio en el buffer para más de un trama.
De todas formas, el emisor deberá almacenar en su buffer todos los tramas que se encuentren dentro
de la ventana (es decir, todos los tramas en tránsito), ya que en cualquier momento el receptor puede
solicitar la retransmisión de alguno de ellos.
La segunda opción para solucionar el problema de las retransmisiones consiste en que el receptor
descarte la trama errónea y pida sólo la retransmisión de éste, aceptando las tramas posteriores que
hayan llegado correctamente. Esto se conoce como repetición selectiva (figura |7|b) y corresponde a
una ventana deslizante mayor que 1 en el receptor (normalmente, es de igual tamaño que la ventana
del emisor).
En otras palabras, la repetición selectiva consiste en aprovechar aquellas tramas correctas que lleguen Canalización y recuperación de un error. |7|a Efecto de un error cuando
después del erróneo, y pedir al emisor que retransmita los que presentaron problemas. el tamaño de la ventana es de 1. |7|b Efecto cuando el tamaño de la
ventana del receptor es grande.
La desventaja que presenta el método es que ahora el receptor ha de disponer de espacio en el buffer
para almacenar todos las tramas de la ventana, ya que en caso de pedirse retransmisión tendrá que
intercalar en su sitio el trama retransmitido antes de pasar los siguientes a la capa de red, esto porque
21
la capa de red debe recibir los paquetes estrictamente en orden. Entonces, se puede decir que su
funcionamiento corresponde al de una ventana deslizante de igual tamaño en el emisor que en el
receptor, lo que esto supone tener un buffer lo suficientemente grande para almacenar un número de
tramas igual al tamaño de ventana que se esté utilizando.
La posibilidad de una recepción no secuencial de tramas plantea nuevos problemas. Por ejemplo,
suponiendo que el emisor envía las tramas 0 a 6, los que son recibidos correctamente. Entonces el
receptor realiza las siguientes acciones: los transmite a la capa de red, libera los buffers correspondientes
avanza la ventana para poder recibir siete tramas más, cuyos números de secuencia podrán ser 7, 0, 1,
2, 3, 4, 5 y envía un ack para las tramas 0 a 6 recibidas. Si el ack no llega al emisor, éste supondrá que
ninguno de ellos ha llegado, por lo que reenviará las tramas 0 a 6 de nuevo. De éstas, las tramas 0 a 5 se
encuentran dentro de la ventana del receptor. En un procesamiento secuencial, el receptor no aceptaría
estas tramas si no recibe antes el trama 7 pendiente, pero con retransmisión selectiva se aceptarían y
se pediría retransmisión del 7. Una vez recibido, éste se pasaría a la capa de red seguido de los tramas
0 a 5 antes recibidos, que serían duplicados de los anteriores. En este caso el receptor pasará tramas
duplicadas al nivel de red.
La solución a este conflicto está en evitar que un mismo número de secuencia pueda aparecer en
dos ventanas consecutivas. Por ejemplo, si el tamaño de ventana es de 7 el número de secuencia
podría ser de 4 bits y la ventana del receptor sería 0-6, 713, 14-4, etc. El valor máximo de la ventana
para un protocolo de repetición selectiva en el caso general sería (MAX_SEQ+1)/2.
Aunque el número de secuencia se ha duplicado respecto al caso anterior, el número de tramas que
hay que mantener en el buffer no necesita ser superior al tamaño de ventana, ya que este será el
número máximo de tramas que habrá que manejar en cualquier circunstancia.
22
La técnica de repetición selectiva da lugar a protocolos más complejos que la de retroceso n, y requiere
mayor espacio de buffers en el receptor. Sin embargo, cuando las líneas de transmisión tienen una tasa
de errores elevada da un mejor rendimiento, ya que permite aprovechar todas las tramas correctamente
transmitidas.
23
Desempeño 2
1. Si deseo enviar voz por una red ¿Me conviene que haya control de
errores? ¿Qué ocasionaría el controlar trama a trama?
¡Nos vemos!
Créditos
Imágenes
Página 9:
https://www.computing.dcu.ie/~humphrys/Notes/Networks/data.framing.html
Página 10:
https://www.computing.dcu.ie/~humphrys/Notes/Networks/data.framing.html
Página 21:
Imagen 1 y 2:
http://www.ing.unp.edu.ar/asignaturas/rytd/Web_ApuntesIngGallardo/archivos_
redesytransmision/frmprincipal/enlacedatos/enlacedatos.htm
Tipografía Si detectás un error del tipo que fuere (falta un punto, un acento, una palabra
mal escrita, un error en código, etc.), por favor comunicate con nosotros a
Para este diseño se utilizó la tipografía Source Sans Pro diseñada por Paul D. Hunt. correcciones@issd.edu.ar e indicanos por cada error que detectes la página
Extraida de Google Fonts. y el párrafo. Muchas gracias por tu aporte.