Guía 4 Tema 1 Redes 1
Guía 4 Tema 1 Redes 1
Guía 4 Tema 1 Redes 1
Asignatura Redes 1
Guía de Estudio #4
CONTENIDO
BIBLIOGRAFÍA
LT1:
Kurose, J. y K. Ross (2010). Redes de computadoras. Un enfoque descendente. 5ta.
Edición.
LT2:
Tanenbaum, A. y D. Wetherall (2012). Redes de computadoras. 5ta. Edición.
Nota aclaratoria:
La idea de las guías de estudio de la asignatura, está en guiar al estudiante en el estudio del
contenido propuesto, de tal manera que sepa dónde buscar el mismo. No se pretende
entonces, salvo excepciones, explicar minuciosamente el contenido sino dar algunos
elementos fundamentales e indicar el estudio solamente de los puntos de interés, así, el
estudiante no tendrá que dominar todo el contenido de un documento de la bibliografía o
capítulo del libro de texto.
Página 1
DESARROLLO
Ante todo comenzaremos hablando de la importancia de la capa de enlace. Esta capa está
presente normalmente entre los extremos de un enlace y está relacionada con el envío de
tramas. Trama, es el nombre que se le ha dado a la unidad de datos transmitida en la capa de
enlace. Sucede que en el enlace, se pueden producir errores por las características propias
del medio de transmisión o por la acción del ruido electromagnético. La capa de enlace tiene
que lidiar con estos errores y hacer de la transmisión de la trama, un proceso lo más limpio
posible para las capas superiores.
Las figuras 5.2 y 5.3 del LT1 explican dónde es que está presente la capa de enlace en un host
o nodo de comunicación (por simplicidad, en el LT1 se asocia el término nodo a cualquier
equipo transmisor/receptor). Recuerde algo muy importante:
En ambos libros de texto podemos encontrar una muy buena información sobre la capa de
enlace y puedo decirles que lo que pudiera faltar en uno, está en el otro y muchas veces
encontramos lo mismo pero explicado en orden distinto o implícito en otro contenido. En este
sentido en el LT2 se habla explícitamente de las funciones mientras que en el LT1 se habla
de los servicios proporcionados por esta capa. Buscaremos un equilibrio siguiendo ambas
ideas. Así, podemos relacionar seguidamente las distintas funciones de la capa de enlace:
Indicaciones:
• Comenzar la lectura del capítulo 3 “La capa de enlace de datos” del LT2. Leer todas las
secciones del epígrafe 3.1 “Cuestiones de diseño de la capa de enlace de datos”:
o 3.1.1 Servicios proporcionados a la capa de red.
Página 2
o 3.1.2 Entramado.
o 3.1.3 Control de errores.
o 3.1.4 Control de flujo.
Aunque no se mencione el término en esta sección, el control de flujo se lleva a
cabo mediante la ejecución de un mecanismo de ventana deslizante, que es lo
que trataremos en el siguiente punto 3 de la presente guía.
• Comenzar la lectura del capítulo 5 “La capa de enlace y las redes de área local” del LT1.
Leer todas las secciones del epígrafe 5.1 “Capa de enlace: introducción y servicios”.
o 5.1.1 Servicios proporcionados por la capa de enlace.
o 5.1.2 ¿Dónde se implementa la capa de enlace?
Consideraciones adicionales:
Sobre el entramado
El entramado es el proceso que conforma la trama, y que ha sido implícitamente conocido por
Ud. cuando hablamos de encapsulación, o sea, añadir al paquete de nivel 3 una cabecera y
una cola para conformar la trama pero hay algo adicional incluido en el entramado que es la
Página 3
delimitación de la trama, o sea, saber cuándo comienza y cuándo termina. En resumen el
entramado interviene en:
Es importante saber que en la cola se inserta el CRC, código de redundancia cíclica, otras
veces conocido como FCS, suma de verificación de la trama, útil para la detección de errores
(se sabe que ocurrió un error en uno o varios bits pero no cuáles). En 3.2 del LT2 podrá ver
formas de cálculo aunque no constituye objetivo de la asignatura, igualmente podrá ver
algunas técnicas de corrección de errores (se sabe en qué bits ha ocurrido el error) que en
muchas ocasiones se ejecutan en la capa física.
Desde mi punto de vista, la corrección de errores se hace más bien en la capa física,
agrupando los bits para formar tramas de capa física, según lo requiera la tecnología de red
en cuestión. De igual manera no constituye objetivo de la asignatura.
En cuanto a las técnicas de delimitación de tramas vamos a tener en cuenta solo dos de las
descritas en el LT2 y una tercera que es la usada en Ethernet, en definitiva serían:
Página 4
En esta técnica no existe explícitamente una forma que indique el fin de la trama lo que se
hace de forma implícita por inactividad lo que quiere decir que cuando se deje de recibir datos
entonces se estaría en el fin de la trama.
¿Cómo asegurar que todas las tramas sean entregadas al proceso de la capa de red en el receptor y en
el orden apropiado?
Dicho de otra manera, qué hacer cuando la trama que debería llegar no llega o esta llega, pero
con error, y simplemente se descarta. En 3.1.3 se dice textualmente:
Toda una combinación de problemas o errores pueden ocurrir para lo cual el protocolo deberá
estar preparado: pérdida de tramas, pérdida de ACKs o NACKs, falla de hardware o un canal
de comunicación defectuoso de manera temporal. Un elemento esencial para lograr el control
de errores es el temporizador de retransmisión que permite la retransmisión de la trama
cuando no se recibe la confirmación de llegada.
Página 5
duplicados que consiste en que el receptor acepta una trama retransmitida, ya recibida, como
una trama nueva entregándola a la capa de red por segunda ocasión como un duplicado.
Pues las redes 802.11 o Wifi usan parada y espera, ya que son tan cortos los tiempos de
retardo terminal a terminal que hacen eficiente su uso.
Página 6
Para comenzar el estudio de estos protocolos y los de ventana deslizante en el siguiente punto
de la guía, trabajaremos con el LT2 donde los autores van describiendo el protocolo y
programando el código en orden de complejidad creciente. Nos interesan solo los elementos
básicos por lo que no es objetivo describir el código que nos presentan. No obstante, Ud. queda
libre de estudiarlo o no.
Indicaciones:
Como vieron en uno de los comentarios de arriba, el control de flujo en la capa de enlace se
realiza principalmente mediante una técnica denominada ventana deslizante.
En un protocolo de parada y espera solo habrá como máximo una trama en el enlace (canal)
entre el transmisor y el receptor. Cuando el retardo terminal a terminal es elevado convendría
aumentar este número, o sea, poner en el canal más de una trama con el objetivo de aumentar
la eficiencia en el uso del canal.
Pero si el receptor es lento y se ponen muchas tramas en el canal, unas seguidas de otras, el
receptor estaría recibiendo continuamente tramas, hasta el punto de no poder procesarlas
(notar la diferencia con la congestión estudiada en las redes de conmutación de paquetes).
Convendría entonces limitar la cantidad de tramas que se ponen en el canal.
Se dice en el LT2:
Página 7
conjunto de tramas que tiene permitido aceptar. La ventana del emisor y
la del receptor no necesitan tener los mismos límites inferior y superior,
ni siquiera el mismo tamaño. En algunos protocolos las ventanas son de
tamaño fijo, pero en otros pueden aumentar o reducir su tamaño con el
transcurso del tiempo, a medida que se envían y reciben las tramas.
Más abajo, y por la complejidad que el tema lleva, agrego algunos apuntes adicionales. Por lo
pronto solo decir que hay dos tipos de protocolos de ventana deslizante:
Indicaciones:
• Leer el epígrafe 3.4 “Protocolos de ventana deslizante” del LT2. Incluir las tres secciones
del epígrafe:
o 3.4.1 Un protocolo de ventana deslizante de un bit.
o 3.4.2 Un protocolo que utiliza retroceso N.
o 3.4.3 Un protocolo que usa repetición selectiva.
Página 8
• Cuál debe ser el valor máximo de la ventana, para regresar N y repetición selectiva,
en función de la cantidad de números de secuencia o del número máximo de secuencia
(el primer valor es cero).
• Que un receptor que usa un protocolo del tipo regresar N solo acepta tramas en orden,
o sea, en secuencia.
• Que un receptor que usa un protocolo del tipo repetición selectiva, acepta tramas fuera
de orden o de secuencia solo si están dentro de la ventana del receptor.
Consideraciones adicionales:
El emisor mantiene una ventana transmisora (VT) que indica las tramas que fueron
transmitidas pero están pendientes de confirmación. Por consiguiente los números de
secuencia ya no serán 0 y 1, sino que estarán en un rango entre 0 y un número de secuencia
máximo SECmax, de tal manera que si el campo “Secuencia” tiene N bits entonces:
SECmax = 2N – 1
A la ventana del transmisor se le define un tamaño máximo VTMAX que especifica la máxima
cantidad de tramas que el transmisor pudiera tener pendientes de confirmación. Cuando el
emisor recibe la confirmación de la primera trama dentro de la ventana, entonces corre
(“desliza”) la ventana hacia el siguiente número de secuencia de ahí el nombre ventana
deslizante que en algunas traducciones al español de los textos originales en inglés se le
nombra “ventana corrediza”.
Por ejemplo, y vea la figura para el análisis, si se tiene un campo de secuencia de 3 bits y un
VTMAX=3 podríamos representar el instante de tiempo en que el transmisor ha transmitido las
tres primeras tramas pero aún no se han confirmado (a) y el momento en que el transmisor
recibe el ACK para la trama 0 (b).
Página 9
Figura: Ventana del transmisor. Corrimiento a la derecha de VT al recibir ACK0.
Por otro lado, en el receptor está presente la ventana receptora (VR), la cual indica las tramas
que espera recibir. Toda trama que llegue al receptor y caiga fuera de la ventana es
descartada. VR puede tener tamaño 1 o mayor que uno en cuyo caso estaríamos hablando de
dos variantes de implementación de ventana deslizante:
En la siguiente figura puede ver el caso en que un receptor con VR = 3 corre su ventana a la
derecha después de recibir las dos primeras tramas esperadas. En (a) aún no ha recibido
ninguna trama; en (b) ya recibió las tramas 0 y 1. Las tramas recibidas en secuencia son
inmediatamente entregadas a la capa de red.
Página 10
Figura: Ventana del receptor. Corrimiento a la derecha de VR al recibir las tramas 0 y 1.
• A la izquierda de la ventana están todas las tramas ya recibidas y de las que fueron
enviadas sus confirmaciones.
• Dentro de la ventana están todas las tramas esperadas.
• A la derecha de la ventana están el resto de las tramas que aún no se esperan.
Página 11
4. Si se recibe un NAK para la trama N se realiza una retransmisión temprana de esa trama
y todas las demás. A este esquema de retransmisión se le denomina retransmisión
explícita.
La ventaja de este método es la simplicidad del almacenamiento en el buffer del receptor (el
receptor no necesita almacenar en el buffer ninguna de las tramas que se reciben
desordenadas o fuera de secuencia.
Este primer ejemplo corresponde a la figura 3.18 (a) p202 del LT2. La “D” significa “Descarte”.
Fíjese que no hay indicación en la figura de VT ni de VR aunque implícitamente VT se considera
grande.
Página 12
Arriba se representa al transmisor indicando en cada cuadro la trama transmitida. Los cuadros
representan los instantes de tiempo en que el transmisor transmitiría una trama, debidamente
espaciados. En el receptor, abajo, los cuadros representan los instantes de tiempo en que se
recibiría una trama; un número en su interior significa una recepción exitosa de una trama
esperada.
En este otro ejemplo sí hacemos referencia a las ventanas, y se trata el hecho de la pérdida
del ACK1. El número de secuencia inicial es 1.
Al ser las confirmaciones acumulativas, el ACK2 confirma la trama1 antes de que finalice el
temporizador. Antes estaba bloqueado el transmisor al llenarse la ventana después del envío
de la trama 3, de ahí la razón del cuadro vacío.
En el emisor:
Página 13
4. Si se recibe un NAK para la trama N se realiza una retransmisión temprana solo de esa
trama.
En el receptor:
La repetición selectiva es más eficiente con el uso de NAKs. Sin estos puede darse el caso de
retransmisiones de tramas que sí llegaron correctamente como se verá en el segundo ejemplo.
Este primer ejemplo corresponde a la figura 3.18 (b) p202 del LT2, ligeramente modificado.
Igualmente no hay indicación en la figura de VT ni de VR.
Página 14
Al igual que en el ejemplo de Regresar N, aquí se consideran ventanas grandes. La trama que
se pierde es la 2 indicada con la E de “Error”. Al llegar la trama 3 se envía el NAK 2, ya que es
la trama que se espera, y hasta tanto no se reciba la 2 las que van llegando se almacenan en
buffer. La retransmisión con la recepción del NAK se logra antes de la expiración del
temporizador lo que mejora el rendimiento. Notar que con la llegada de tramas fuera de
secuencia se envía el ACK de la última trama recibida correctamente, en este caso el ACK 1,
estos ACK no provocarían una reacción en el transmisor al menos que los anteriores se hayan
perdido. Al llegar la retransmisión de la trama 2 ya hay una secuencia en la recepción (2, 3, 4
y 5), son entregadas a la capa de red enviando el ACK 5. Después de lo anterior todo ocurre
con normalidad.
El NAK se envía una única vez para evitar hacer múltiples de retransmisiones de la misma
trama perdida.
En otro ejemplo podemos variar el anterior de tal modo que no se use retransmisión explícita,
por lo que se usa retransmisión implícita, o sea, no hay NAKs. Se asume un VTMAX=8.
Página 15
Dejo el análisis al estudiante, solo decir, que aun retransmitiendo las tramas 2, 3 y 4 (estas
últimas de forma innecesaria), se logra mayor eficiencia que en Regresar N con la que se
retransmitirían las tramas de la 2 a la 8.
Para ambas variantes de ventana deslizante el tamaño de la ventana dependerá del número
de secuencia máximo SECmax.
VTMAX = SECmax cuando tomamos como primer número de secuencia a 0. Que es lo normal
en una implementación real ya que “secuencia” es un valor binario en la cabecera de la trama.
Si en algún ejemplo en clases se comienza con secuencia 1 entonces hay que tomar VTMAX =
TotalSec – 1 siendo esta válida para cualquier caso.
El análisis del porqué de esta restricción lo puede encontrar en la página 203 correspondiente
al epígrafe 3.4.2 del LT2.
El análisis del porqué de esta restricción lo puede encontrar a partir de la página 206
correspondiente al epígrafe 3.4.3 del LT2.
Página 16
4. El protocolo PPP.
Como ejemplo de protocolo usado en enlaces punto a punto se estudia el popular protocolo
punto a punto, PPP. Como ejemplo de uso más cercano está el servicio ADSL de conectividad
a Internet. Está presente en el enlace desde el router ADSL al DSLAM del ISP.
Indicaciones:
Página 17