Subido por eltunas0908

Cap1y2

Anuncio
Telemática II
NIVEL DE ENLACE I
1.- Control de Enlace.
1.1 Funciones.
2.- Entramado.
2.1.- Protocolos Orientados a Carácter.
2.2.- Protocolos Orientados al Bit.
2.3.- Técnicas de delimitación de trama.
3.- Códigos de Control de Errores.
3.1.- Distancia de Hamming.
3.2.- Códigos de Control de Paridad.
3.3- Códigos Hamming.
3.4.- Códigos polinómicos.
4.- Ejemplo de Protocolos de Enlace.
4.1.- SLIP.
4.2.- PPP.
5.- HDLC.
5.1.- Opciones de HDLC.
5.2.- Formato de la Trama.
5.3.- Transparencia del Código y señalización.
5.4.- Campo de Control de HDLC.
5.5.- Comandos y Respuestas.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
1
Telemática II
1.- CONTROL DE ENLACE. FUNCIONES.
Podemos definir el concepto de enlace de datos como el conjunto de dos equipos terminales de datos más los elementos que configuran la red de
transmisión, que permiten el intercambio de la información entre ellos.
La parte lógica de control de la comunicación es la que corresponde al nivel de enlace de datos, y está compuesta por el conjunto de
procedimientos para el establecimiento, mantenimiento y desconexión de circuitos para el envío de bloques de información, controla la correcta
transferencia de los datos y articula los métodos necesarios para la detección y corrección de errores.
Existen distintos tipos de enlace de datos, siendo la más simple la denominada punto-a-punto, en la que se unen dos equipos terminales de datos
de forma directa. En las conexiones entre más de dos equipos aparecen dos modalidades. La primera, denominada enlace multipunto, consiste en la
unión de los equipos en paralelo a un medio compartido, mientras que la segunda conecta los equipos en serie y se denomina enlace en bucle.
El nivel de enlace tiene como objetivo la transmisión y recepción, de forma fiable o no, de bloques de información (tramas) entre usuarios
directamente
conectados.
Es importante poder diferenciar los siguientes conceptos a este nivel:
•
•
•
Mensaje: Información que se quiere transmitir, esto es, secuencia de caracteres o bits que representan la información que se pretende enviar
Bloque: Secuencia de caracteres o bits que se agrupan para su transmisión motivados por razones técnicas.
Trama: Secuencia de caracteres o bits que se transmiten a nivel de enlace, es decir, según la arquitectura de protocolos ya conocida, la
unidad de datos que se trasmiten al nivel de enlace.
Por lo tanto, ya podremos diferenciar aserciones tales como el formato de trama y la limitación de tamaño de los bloques, o tamaño de los
datos a transmitir.
Los equipos terminales de datos pueden ser tanto la computadora central, como una computadora personal, un terminal de cualquier tipo o un
nodo de una red de conmutación de paquetes. Basta con que se le incorpore la correspondiente función de control de comunicaciones, normalmente
una tarjeta integrada que se conecta al modem o, en general, el ETCD. Estos equipos, denominados estaciones de enlaces de datos, se clasifican
según las funciones de control de enlace que tienen asignadas. Los tipos de estaciones de enlace son las siguientes:
•
•
•
Estación de enlace primaria: es la estación encargada de gestionar el control y tomar decisiones ante determinadas situaciones. Genera
órdenes y recibe respuestas; se denomina también estación maestra.
Estación de enlace secundaria: recibe órdenes y genera respuestas, no tiene control sobre las funciones importantes de gestión del control.
También denominada estación esclava.
Estación de enlace combinada: genera tanto órdenes como respuestas. En un enlace punto-a-punto las dos estaciones son de ese tipo, y
tienen la misma capacidad de control del enlace.
La unidad de transferencia de información a nivel de enlace es la trama, de manera que la información que se desea transmitir se trocea en unidades
(tramas) que se envían secuencialmente. En algunos protocolos se denomina bloque a cada una de estas unidades de información.
FUNCIONES DE UN PROTOCOLO A NIVEL DE ENLACE DE DATOS.
Las funciones que han de considerar los distintos protocolos de enlace de datos son los siguientes:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
2
Telemática II
•
•
•
•
•
•
Iniciación: conlleva el envío de tramas de control entre las estaciones enlazadas para averiguar la disponibilidad de ambas para transmitir o
recibir la información.
Identificación: se compone del conjunto de procesos necesarios para identificar a la estación destino o a la que da origen a la información
que se desea transmitir. Frecuentemente se realiza mediante el envío de tramas de identificación entre las estaciones para que puedan
reconocerse mutuamente. El procedimiento de identificación se utiliza en enlaces conmutados o enlaces punto-a-punto.
Terminación: relativo a todos los procesos que todos los datos han sido bien recibidos y, por tanto, se produce la desconexión del enlace
dejando libres los recursos ocupados en ambas estaciones.
Sincronización: el envío de información se realiza normalmente en bloques de 8 bits o algún múltiplo de 8, por lo que es necesario
establecer una serie de procesos cuya misión sea la de sincronizar el envío y recepción de dichos octetos de información.
Segmentación y bloqueo: en ocasiones aparece la necesidad de transmitir mensajes excesivamente largos o excesivamente cortos. Para
adaptar estos tamaños a un formato que esté en concordancia con las características del enlace, para la eliminación de posibles errores en la
transmisión así como optimizar la utilización del enlace, se dividen los mensajes largos en varias tramas (segmentación) o se unen los
mensajes cortos en una trama (bloqueo).
Sincronización de trama: consiste en definir y diferenciar una trama del conjunto de información que se transmite. El proceso consiste en
unir a la trama una información de control que indique dónde empieza y dónde termina. Existen tres modalidades de sincronización de las
tramas:
o
o
o
•
•
la primera consiste en la utilización de caracteres especiales para indicar el principio y fin de la trama.
la segunda se compone de un carácter de principio de trama y un contador que indica el número de caracteres de la misma.
la tercera modalidad emplea un guión para indicar el principio y final de la trama.
Transparencia: esta función trata de eliminar la mala interpretación que pueda darse si se desea transmitir un conjunto de bits o caracteres
similares a los de algún elemento de control del protocolo. Existirán elementos en este nivel para la eliminación de estos posibles
conflictos. Se necesita la transparencia, por ejemplo, cuando se transfieren archivos binarios o volcados de memoria, puesto que en estos
casos puede aparecer cualquier combinación de bits.
Control de errores: el nivel de enlace debe asegurar que ante la aparición de un error en la transmisión de una trama, éste se detectará y
posteriormente se recuperará de algún modo. Las técnicas más utilizadas para la recuperación de errores son las denominadas:
o
control directo de errores (Fordware Error Control-FEQ).
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
3
Telemática II
o
o
•
petición automática de retransmisión (Automatic Repeat reQuest-ARQ).
control de eco que se utiliza para transmisiones asíncronas.
Control de flujo: esta función trata de regular el ritmo de envío de tramas desde el transmisor al receptor. Las distintas técnicas utilizadas
aseguran que cuando el transmisor envía información, el receptor tiene recursos para recibirla. Existen varias técnicas:
o
•
•
Parada y Espera: el emisor envía una trama, y espera a que el receptor le devuelva una señal de asentimiento (ACK) antes de
enviar la siguiente.
o Parada y Arranque: el transmisor envía tramas hasta que el receptor le envía una señal para que pare un determinado tiempo; a
continuación, mediante una nueva señal, el receptor le indica al emisor que puede continuar transmitiendo.
o Ventana Deslizante: el receptor autoriza en cada instante al emisor el envío de un determinado número de tramas; el receptor
renovará las autorizaciones según tenga disponibilidad para la recepción de las mismas. Es la técnica más frecuentemente
empleada por los protocolos más modernos.
Recuperación de anomalías: incluye el control de todas las situaciones imprevistas que puedan presentarse a lo largo de una transmisión.
Estos procesos de control de situaciones anómalas estiman plazos de espera para reintentar normalizar la situación, así como limitar a un
determinado valor el número de reintentos.
Coordinación de la comunicación: Es necesario establecer procesos para evitar conflictos en el establecimiento de los enlaces por parte de
las estaciones que los solicitan. Se utilizan dos métodos fundamentales:
o
o
centralizado: consiste en la asignación de una estación como principal, que toma la responsabilidad del intercambio de
información que se produzca enviando información al resto de estaciones, y sondeándolas cada cierto tiempo para recibir
información de ellas. Una estación secundaria no puede transmitir hasta que la principal no le de paso. Es un método usado en
canales multipunto.
de contienda: utilizado en enlaces punto a punto, en los que cualquier estación puede solicitar información en cualquier
momento, existiendo procedimientos para solucionar situaciones de colisión de peticiones, debido a la compartición del medio.
2.- ENTRAMADO.
2.1.- Protocolos Orientados a Carácter.
Un protocolo orientado a carácter es aquel en el que los mensajes se componen de un conjunto de caracteres de un determinado código. Cada
carácter, tanto de información como de control, tiene un significado específico y único. Estos fueron los primeros protocolos que se utilizaron, y aún
están en vigor.
A nivel de enlace, en los comienzos de la tele informática, aparecieron una gran variedad de protocolos incompatibles entre sí debido a la falta de
normalización de estos primeros años. En 1970 aparece la norma ISO 17450 que regulaba la conexión entre equipos informáticos a través de redes de
transmisión públicas. Entre los protocolos orientados a carácter más extendidos se encuentran los desarrollados por empresas privadas como el BSC,
desarrollado por IBM y adoptado por varios fabricantes, y el SLC desarrollado para empresas de transporte aéreo.
Los protocolos orientados a carácter emplean un determinado código para la transmisión de la información en el que se establecen ciertos
caracteres para establecer control en la comunicación: el envío de tramas de información va acompañado de ciertas tramas de control.
Los códigos más utilizados son el ASCII y el EBCDIC. Los caracteres de control se clasifican según su función en tres categorías:
o
o
o
Delimitadores de bloques:
SYN (Syncronous Idle): mantiene el sincronismo en la transmisión de los caracteres.
SOH (Start of Heading): indica el principio de un mensaje integrado por caracteres.
STX (Start of Text): indica el comienzo de un bloque de información dentro de un mensaje.
ETX (End of Text): indica el final de un bloque y el final del mensaje.
ETB (End of Transmission Block): indica el final de un bloque al que le siguen otros bloques.
Controladores del diálogo entre las estaciones:
EOT (End of Transmission): indica que la transmisión ha terminado y se puede liberar el enlace.
ENQ (Enquiry): indica que se desea respuesta de la estación contraria o que se desea establecer el enlace.
ACK (Affirmative Acknoledge):indica que se ha recibido bien un bloque de información.
NAK (Negative Acknoledge): indica que se ha recibido mal un bloque de información.
Para realizar transmisión transparente:
DLE (Data Link Scape): cambia el significado de los caracteres de control que le siguen para que las estaciones puedan enviarse
información coincidente con los propios caracteres de control.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
4
Telemática II
En la figura el campo CCE representa un Carácter para el Control de Errores. El diálogo que se establece entre dos estaciones que desean
transmitir una determinada información comienza con el establecimiento del enlace.
En el caso de enlaces punto-a-punto la estación transmisora envía a la receptora el carácter ENQ; si ésta está lista para recibir devuelve el
carácter ACK, en caso contrario el NAK. Una estación transmisora que a su pregunta recibe un NAK espera un periodo determinado de tiempo e
intenta establecer el contacto nuevamente.
En el caso de enlaces multipunto el enlace se establece por sondeo cuando es la estación primaria la que desea escuchar información de alguna
secundaria: si ésta desea contestar a la primaria enviará un bloque que comenzará por STX o SOH, y si no desea transmitir, con EOT. El enlace se
establece por selección en el caso contrario: la primaria selecciona una secundaria para pasarle información, si ésta acepta devuelve un ACK, sino un
NAK.
El final de transmisión se indica con la señal ETX o ETB. El enlace se libera con una señal EOT desde la estación emisora a la receptora. Un
ejemplo de comunicación entre estaciones es el siguiente:
2.2.- Protocolos Orientados al Bit.
Son protocolos más modernos que los anteriores y su aparición se debe a las dificultades que en determinados casos presentan los protocolos
orientados a carácter. Las grandes ventajas de estos protocolos son:
•
•
•
Independencia del código utilizado: se trata de enviar conjuntos de bits que en principio pueden configurar información en cualquier
código.
Gran eficiencia en la transmisión: la relación existente entre los bits de información y los bits de control es muy alta.
Gran fiabilidad en las transmisiones: se dispone de métodos de control para la detección y recuperación de errores con gran eficacia.
Los protocolos más extendidos de este tipo son los siguientes:
•
•
•
•
•
•
HDLC (High-level Data Link Control) de ISO.
ADCCP (Advanced Data Communications Control Procedures) de ANSI.
LAPB (Link Acces Procedure Balanced) del CCITT.
SDLC (Synchronous Data Link Control) de IBM.
BDLC (Burroughs Data Link Control) de Borroughs.
UDLC (Data Link Control Univac) de Univac.
2.3.- Técnicas de delimitación de trama.
Se tratan de las técnicas más comunes utilizadas por los distintos protocolos para la correcta identificación por parte del receptor del principio y
fin de la trama, según el tipo del canal, el caudal por el mismo, multiplexación o no de canales habrán distintas técnicas:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
5
Telemática II
•
Tamaño fijo: Todas las tramas tienen el mismo tamaño. Esta técnica es la utilizada en multiplexación de canales, es decir, para el acceso de
varias máquinas a un canal común de mayor capacidad binaria. Se irá asignando un espacio fijo de tiempo a cada canal, bien sea de manera
estáticao dinámica:
•
Principio y longitud: Se parte sabiendo la longitud de la trama. por lo que no hay más que añadir un carácter especial para indicar cuándo
inicia la misma, por ejemplo, si el dato que queremos transmitir es la siguiente secuencia de octetos:
abcde%57f
La trama que se transmitiría sería:
$abcde%57f
Este carácter puede acarrear problemas si los datos tienen este mismo
carácter, como veremos más tarde
•
Principio y fin: Es muy similar a la técnica anterior, pero supone no conocida la longitud de la trama, por lo que se hace necesario otro
caracter indicador del fin de la trama. Para el mismo ejemplo anterior, lo que se enviaría es:
$abcde%57f$
Estos símbolos se denominan guiones. Para el caso en el que representemos
los datos de la trama por bits:
Datos:
0110101100010111
Enviado: 01111110011010110001011101111110
El guión 01111110 suele ser el más utilizado.
Como ya se indicó pueden existir problemas si en los datos hay secuencias de bits o caracteres que coinciden con los guiones. Para ello se
utilizar caracteres de control. La transparencia consiste en transmitir todos los caracteres posibles, para conseguir esta transparencia necesitamos
caracteres de escape.
Veamoslo con un ejemplo:
Principio-fin: $
Escape: %
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
6
Telemática II
Dato:
abc$ef%$hi
Enviado: %$ abc$ef%%$hi %$
Los caracteres en azul representan los datos reales, el resto no aporta información alguna. Como se ve, si el carácter $ aparece dentro de la
cadena, hemos de escapar tanto el principio como el fin. Si aparecen caracteres que coinciden con los de principio y fin, se vuelven a escapar, como
se indica en el ejemplo anterior. Con esta técnica, en el peor de los casos introduzco mitad información de control, mitad datos.
Si vemos los bits, la solución es más sencilla, pues si aparecen seis unos seguidos, no hay más que añadir un cero tras el quinto uno, de tal
manera que el receptor, al ver cinco unos seguidos, sabe que el cero inmediatamente posterior no forma parte de los datos, y si hay otro uno,
signofica que es el fin de la trama. Veámoslo:
Datos:
01101011111100010111
Enviado: 0111111001101011111010001011101111110
El cero introducido en color verde no aporta información alguna.
3.- CODIGOS DE CONTROL DE ERRORES.
Debido a los defectos existentes en cualquier canal de transmisión de datos, siempre se introducen errores en la información transmitida,
caracterizándose la calidad de la transmisión por la tasa de errores, que es la relación entre el número de bits recibidos erróneos y el número de bits
transmitidos. Esta tasa depende de los elementos del canal.
Una de las posibles técnicas para reducir la tasa de errores es la introducción de redundancias en la codificación. Se entiende
como redundancia de un código la diferencia entre la información máxima que podría proporcionar el alfabeto empleado y la que proporciona
realmente. En general un código más redundante que otro necesita mensajes más largos que el primero para transmitir la misma cantidad de
información. En los códigos redundantes se utilizan los dígitos que no transportan información como detectores, e incluso correctores, de errores que
se hayan producido en la palabra a la que pertenecen.
Las estructuras de los diversos códigos son distintas según el tipo de errores que deban detectar o corregir. Actualmente la generación de códigos
se realiza por procesos algebraicos, los cuales permiten la realización práctica de codificadores y decodificadores mediante autómatas lineales.
El esquema general de una transmisión con codificador y decodificador es el siguiente:
m es el mensaje que se trata de comunicar.
t es m codificado, es decir, m más una cierta información redundante.
t' es el mensaje recibido. Cuando llega al decodificador pueden ocurrir dos cosas:
1. Que t' sea una palabra del código, que se decodifica como m' (que seguramente coincidirá con m).
2. Que t' no sea una palabra del código, detectándose como error. El detector tiene tres opciones: tirar el mensaje sin más, pedir la retransmisión del
mismo, o corregirlo si tiene la lógica adicional necesaria.
Según la potencia del código, los sistemas pueden detectar errores, corregirlos, o realizar ambas funciones especializándose en la detección de
cierto tipo de errores y en la corrección de otros.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
7
Telemática II
3.1.- Distancia de Hamming.
La primera subdivisión que se efectúa entre códigos es la siguiente.
•
•
códigos de bloque: la longitud de sus palabras es constante. Son los más utilizados, y para entenderlos resulta fundamental el concepto de
distancia.
códigos sin bloque: la longitud es variable.
La distancia de Hamming entre dos palabras es el número de bits en que difieren una de la otra. Por ejemplo:
10001110
00111000
d=5
11100101
11110111
d=2
El peso de una palabra se define como el número de 1s que tiene. Utilizando este concepto podemos decir que la distancia entre dos palabras
como el peso de la suma en módulo 2 del peso de las mismas.
10001110
00111000
10110110 => peso 5
11100101
11110111
00010010 => peso 2
Dos palabras serán tanto más fáciles de distinguir cuanto mayor sea su distancia Hamming, ya que si la distancia es d será necesario que se
produzcan d errores para que una palabra pase a ser la otra. De este análisis se desprende que la eficacia de un código será función de su distancia
Hamming, que se define como la mínima distancia que puede encontrarse entre dos palabras que pertenezcan a ese código. En general:
•
•
Un código de distancia mínima de Hamming d será capaz de detectar d-1 errores.
Un código de distancia mínima de Hamming d será capaz de corregir (d-1)/2 errores.
Un código que corrija t errores y detecte d (d>t) debe tener una distancia mínima igual a dm, siendo dm = t + d +1.
3.2.- Códigos de Control de Paridad.
La información redundante que se introduce al final de la palabra está relacionada con la paridad de la misma. Por ejemplo si al código
telegráfico ordinario de 5 dígitos se le añade un sexto, de manera que si el número de 1s de los cinco primeros es par , el sexto será un 0, y si es impar
un 1 (paridad vertical), conseguimos un código de distancia mínima 2 que detecta los errores simples. La formación de este código sería:
Nº de bit A
1
1
2
0
3
1
4
1
5
0
6
1
B
0
1
1
0
0
0
C
1
1
0
1
0
1
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
8
Telemática II
Si los caracteres se agrupan por bloques para la transmisión se puede aumentar la protección de cada bloque con un carácter de control (paridad
horizontal) que puede estar combinado con el vertical. Continuando con el ejemplo anterior:
A B C D E F
1
0 1
1
1
0
Paridad 1
Vertical
0
1
1
1
0
1
1 1
0 1
0 0
1 0
0 1
1 0
1
0
0
1
0
1
0
1
0
0
1
Paridad
Horizontal
0
1
1
0
1
1 Paridad
Cruzada
La transmisión de bloque total se realiza secuencialmente por filas, reconstruyéndose la matriz en recepción para la detección de errores. El
ejemplo describe un código de distancia mínima 4, capaz de corregir los errores simples, y detectar los dobles, tiples y cuádruples si éstos no forman
un rectángulo en la matriz. A este tipo de códigos se les denomina multidimensionales (el del ejemplo es bidimensional).
3.3.-Códigos de Hamming.
Son un subconjunto de los códigos de control de paridad. En ellos se disponen los dígitos de paridad de tal manera que localicen la presencia de
errores dentro del mensaje. Estos códigos tienen como muy poco distancia mínima 3.
Supongamos palabras de L dígitos. Para detectar un error en una de los L bits, o la ausencia de error, necesitaremos al menos R de esos L bits,
cumpliendo la relación:
L = 2R - 1
De donde se deduce que el código Hamming más sencillo tendrá 2 bits de paridad y 1 de información. A los códigos que cumplen la relación anterior
se le denomina código óptimo, en el sentido en que contienen el número máximo posible de bits de información, para una longitud de palabra L y una
distancia mínima determinada (en nuestro caso 3).
Las principales reglas relativas al control de paridad en los códigos de Hamming son:
•
•
•
Dos dígitos no pueden controlar la paridad de un mismo conjunto de dígitos de información.
No se puede incluir en el conjunto de dígitos controlado por uno, otros dígitos de paridad.
Un error en un bit de información debe afectar a dos o más bits de paridad.
Veamos un ejemplo:
p = 3 bits de paridad: p0, p1, p2.
L = 7.
i = 7 -3 = 4 bits de información: i0, i1, i2, i3.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
9
Telemática II
L = i0 i1 i2 i3 p0 p1 p2.
p0
0
0
0
0
1
1
1
1
p1
0
0
1
1
0
0
1
1
p2
ERROR
0 NO ERROR
1
p2
0
p1
1
i3
0
p0
1
i2
0
i1
1
i0
Se obtienen las ecuaciones:
0 = p0 xor i2 xor i1 xor i0
0 = p1 xor i3 xor i1 xor i0
0 = p2 xor i3 xor i2 xor i0
De manera que si se recibe una palabra se comprueban las tres ecuaciones, y, en función de las que no se cumplen, se detectará la situación de
error o la ausencia. Así por ejemplo, si no se verifican la primera y la tercera, el error estará en i2, que es el único que no interviene en la segunda
pero sí en las otras dos.
La probabilidad de no detectar error en este código depende de cómo se utilice. Si se utiliza como corrector existirá la probabilidad de que
existan al menos dos errores (es decir, el código sólo puede corregir uno, si hay más no son corregibles), en un canal BSC con probabilidad de error
p:
Pe (corrector) = (n2) p2 (1-p)n-2
Si se utiliza como corrector, la probabilidad de no detección será la de que al menos haya tres errores, es decir:
Pe (detectar) = (n3) p3 (1-p)n-3
Sin embargo, si una palabra contiene más errores de los que es capaz de detectar un código el decodificador entrega una palabra errónea. Debido
a esto se utilizan muchas veces códigos con función doble: primero detectan los errores, después tratan de corregirlos, y si no es posible solucionar
todos se pide la retransmisión.
3.4.- Códigos Polinómicos.
También denominados de redundancia cíclica o CRC. Se basan en el tratamiento polinomios que sólo tienen como coeficientes 0s y 1s, y que
representan cadenas de bits. Una trama de k bits se considera como el conjunto de coeficientes de un polinomio de orden k-1, el bit más significativo
(el situado más a la izquierda) es el coeficiente de xk-1, y el menos el de x0. Ejemplos:
10010110 .......... x7 + x4 + x2 + x1
11101................. x4 + x3 + x2 + 1
10000001 .......... x7 + 1
Cuando se emplea el método de código polinómico el receptor y el transmisor deben acordar de antemano un polinomio generador, G(x). Tanto
los bits mayor como menor del polinomio deben ser 1. Para calcular la suma de comprobación para una trama con m bits (que constituye l mensaje),
correspondiente al polinomio M(x), el polinomio generador debe ser de grado menor que M(x). La suma de comprobación es una operación que se
efectúa sobre los bits del mensaje que permite saber si hay alguno erróneo. La idea es anexar una suma de comprobación al final del marco, de
manera que el polinomio-mensaje más la suma de comprobación sean divisibles entre G(x). Cuando se recibe el mensaje se realiza la división y si el
resto, E(x), es distinto de cero es que se ha producido algún tipo de error en la transmisión.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
10
Telemática II
El algoritmo para calcular la suma de comprobación es el siguiente:
•
•
Si G(x) es de grado r, entonces se colocan r ceros al final del polinomio que representa el mensaje, M(x), para que ahora su longitud sea m
+ r, y corresponda al polinomio xrM(x).
Se divide xrM(x) entre G(x) usando división modulo 2.
xrM(x)/G(x) = C(x) + FCS
•
El resto (FCS, frame check sequence), que será de orden r o menor, se coloca al final del polinomio M(x) original. Al resultado de unir
estos dos polinomio le llamamos T(x).
T(x) = xrM(x) + FCS
Como se ha explicado anteriormente, el polinomio T(x) es divisible entre G(x), de forma que si no resulta alterado durante la transmisión el resto
de la división debe ser cero (E(x)=0):
T/G = xrM'/G + FCS/G = C' + E
T/G = C + R/G + FCS/G
Si R=FCS, entonces: T/G = C
Entonces: C' = C; E=0.
ya que un número binario sumado en módulo 2 con sigo mismo da cero. Sin embargo, un error E(x) no se detectará si es divisible por G(x). Se
puede demostrar que mediante la elección de un polinomio generador adecuado los siguientes errores tienen patrones que no son divisibles por él, y
por tanto detectables:
•
•
•
•
•
Todos los errores de 1 bit.
Todos los errores dobles, si G(x) tiene al menos tres 1s.
Cualquier número impar de errores, siempre que G(x) contenga el factor (x+1).
Cualquier error a ráfagas en el que la longitud de la ráfaga sea menor que la longitud del polinomio divisor, es decir menor o igual que la
longitud de la secuencia de comprobación de la trama (FCS). Un error en ráfaga se caracteriza por un 1 inicial, una mezcla de ceros y unos,
y un 1 final.
La mayoría de las ráfagas de mayor longitud.
Además, para patrones de error equiprobables, y ráfagas de longitud r+1 ( r era la longitud del FCS, o el grado de G), la probabilidad de que R
sea divisible por G es 1/2r-1; para ráfagas mayores es de 1/2r.
Hay tres polinomios que están estandarizados internacionalmente:
x12 + x 11 + x3 + x 2 + x1 + 1
CRC - 12
x16 + x15 + x2 + 1
CRC - 16
x16 + x12 + x5 + 1
CRC - CCITT
4.- Ejemplos de Protocolos de Enlaces.
4.1.- SLIP.
Es el más viejo de los protocolos, está descrito en RFC 1055 y extremadamente sencillo. La estación transmite paquetes IP por la línea,
delimitándolos exclusivamente con el carácter especial 0xCO al final de la trama. Para solucionar el problema que se presenta cuando este byte
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
11
Telemática II
especial aparece entre los datos se utiliza una técnica de relleno, enviándose dos bytes (0xDB y 0xDC) en su lugar. Y si son éstos los que aparecen
entre los datos se efectúa un nuevo relleno...
Aunque en la actualidad SLIP es ampliamente usado presenta ciertos inconvenientes:
•
•
•
•
•
No tiene mecanismos para la detección o corrección de errores, que pasa a ser responsabilidad de los niveles superiores.
SLIP sólo reconoce IP.
Cada lado debe conocer de antemano la dirección IP del otro, lo cual supone la necesidad de tenerla permanentemente en exclusiva, y esto,
debido la escasez de direcciones IP, es un serio problema.
No hay procesos de verificación de autenticidad.
SLIP no es un estándar aprobado de Internet, por lo que existen muchas versiones diferentes (e incompatibles) lo que complica la
interconexión.
Este protocolo es inherentemente simétrico, es decir, no sigue el modelo cliente servidor en el que un extremo de la comunicación pesaba más
que el otro. Este tipo de enlace se suele denominar extremo a extremo (peer-to-peer), ya que ambos extremos son igual de activos en la
comunicación, y los dos formulan peticiones y llevan a cabo acciones.
4.2.- PPP.
Actualmente cuando muchos usuarios piensan en el Protocolo Punto-a-Punto (PPP), lo hacen pensando en ordenadores personales (PCs),
modems, y navegación por Internet. Sin embargo, PPP es un protocolo mucho más amplio que se emplea para transferir datos entre diversos tipos de
computadoras y sistemas de computación, como routers, satélites ... Este protocolo tiene la habilidad de manejar tasas de datos desde las más bajas a
las más altas usadas actualmente y es compatible con prácticamente cualquier tecnología de redes jamás desarrollada.
El Internet Engineering Task Force (IETF), que ha sido quien ha guiado el desarrollo del PPP, está integrado por representantes de la industria,
de las telecomunicaciones, de academias, y por grupos de usuarios. Se trata de un grupo abierto, cualquiera interesado en establecer estándares es
libre de participar.
Las reglas por las que se rige el IETF distan bastante de las del resto de organismos de estandarización, como la ITU o la ISO. El IEFT ha
favorecido una cultura según la cual es mucho más importante desarrollar un protocolo que funcione bien que producir documentos con los que todos
estén de acuerdo. A diferencia de lo que ocurre en otras organizaciones, los participantes de IERF suelen discutir los prototipos de implementaciones
y los resultados experimentales al mismo tiempo que se están escribiendo los protocolos.
PPP, como cualquier otro protocolo de red, existe como una capa entre otras dos capas de la pila de protocolos. Por debajo está el interfaz
hardware, que debe ser algún tipo de flujo de datos bidireccional, y sobre él los protocolos de la capa de red como IP o IPX.
PPP toma prestado parte del control de enlace de datos de alto nivel (HDLC) para su interfaz con el nivel inferior, lo que extiende PPP para
trabajar sobre líneas en serie asíncronas. De hecho, en el interfaz hardware, se encuentran una serie de restricciones:
•
•
•
•
•
•
•
Se puede usar con controladores estándar de HDLC.
Está definido sólo para enlaces punto-a-punto.
Puede coexistir con otros protocolos basados en HDLC en el mismo enlace sólo si los otros protocolos están restringidos en el uso de las
direcciones.
Se puede emplear en líneas que tengan control de flujo software.
Define mecanismos para la detección de errores que son más potentes que los usados en HDLC.
Permite la negociación de direcciones IP en el momento de la conexión.
Permite la verificación de autenticidad.
En general PPP permite tres cosas:
•
Un método de enmarcado que delinea sin ambigüedades el final de un marco y el inicio del siguiente. El formato de marco también maneja
la detección de errores.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
12
Telemática II
•
•
Un protocolo de control de enlace para activar líneas, probarlas, negociar opciones y desactivarlas ordenadamente cuando ya no son
necesarias. Este protocolo se llama LCP (Link Control Protocol).
Un mecanismo para negociar opciones de capa de red con independencia del protocolo de red usado. El método escogido consiste en tener
un NCP (Network Control Protocol) distinto para cada capa de red reconocida.
Para los protocolos de nivel de red, PPP presenta una interfaz orientada a paquetes, y puede proporcionar secuenciamiento y fiabilidad si así se
requiere.
PPP declara tres técnicas estándar de entramado para el uso en distintos medios. Todos están recogidos en la RFC 1662 y se denominan: HDLC
asíncrono (AHDLC), HDLC bit-síncrono y HDLC octeto-síncrono. En cualquiera de los casos las tramas tendrán un número entero de bytes, ya que
se trata de un protocolo orientado a carácter. El formato general es el siguiente:
El campo de control tiene un valor predeterminado de 00000011, que indica un marco sin número, porque PPP no tiene transmisión fiable (no
hay números de secuencia y acuses de recibo), excepto en casos particulares como redes inalámbricas.
La función del campo de protocolo es indicar la clase de paquete que va en el campo de carga. Se definen códigos para LCP, NCP, IP, IPX,
AppleTalk y otros. El campo de carga es de longitud variable, que puede ser negociada; en su caso se puede usar relleno.
Cualquier conexión por modem, o enrutador-enrutador, pasa por la siguiente serie de fases:
1. Cuando se detecta la portadora es porque se ha realizado una conexión a nivel de capa física y la conexión está en la fase establecer. Hasta
entonces la línea estaba en reposo (o muerta, ya que no había conexión).
2. Se negocian las opciones LPC, y si se llega a un acuerdo se pasa a fase de validar.
3. Al entrar en la fase de red se invoca al protocolo NCP apropiado para configurar la capa de red.
4. Una vez configurada se pasa a la fase Abierta, y comienza el transporte de datos.
5.y 6. Finalmente la conexión pasa a fase de terminar, y de ahí a muerta.
5.- HDLC.
Entre las múltiples organizaciones internacionales que en los últimos años se han dedicado a elaborar normas de comunicaciones está la ISO,
que se ha especializado en el establecimiento de estándares para los protocolos de red y otras actividades. HDLC (High-Level Link Control) es una
norma publicada por la ISO que ha conseguido afianzarse por todo el mundo. Proporciona una amplia variedad de funciones y cubre un amplio
espectro de aplicaciones. Está considerada en realidad como un ámbito que engloba a muchos otros protocolos: SDLC, LAP, LAPB, LAPD, LAPX y
LLC. Obedece a la definición que vimos para el ARQ continúo (ventana deslizante). Como ya se vio es un protocolo orientado a bit (apartado 2.2).
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
13
Telemática II
5.1.- Opciones de HDLC.
El protocolo HDLC puede instalarse de muy distintas maneras. Admite transmisiones dúplex y semidúplex, configuraciones punto-a-punto o
multipunto, y canales conmutados o no conmutados. Una estación HDLC puede funcionar de una de estas tres maneras:
o
o
o
Estación primaria.
Estación secundaria.
Estación combinada.
Las estaciones pueden encontrarse en uno de uno de los siguientes estados lógicos:
•
•
•
Estado de desconexión lógica (LDS): prohíbe a una estación transmitir o recibir información. Por ejemplo una estación secundaria no
puede transmitir hasta que la principal no le da paso, momento en que abandona este estado.
Estado de inicialización (IS): depende de cada fabricante, y no entra dentro de las especificaciones de HDLC.
Estado de transferencia de Información (ITS): permite a cualquier estación transmitir y recibir información de usuario.
Mientras una estación permanezca en estado de transferencia de información, podrá emplear para comunicarse cualquiera de los tres modos
citados a continuación:
•
Modo de Respuesta Normal (NRM): obliga a la estación secundaria a esperar la autorización explícita de la estación primaria antes de
ponerse a transmitir. Una vez recibido este permiso, la estación secundaria comenzará a transmitir una respuesta, que podrá contener datos,
y constará de una o varias tramas, enviadas a lo largo de todo el periodo en que la estación utilice el canal. Una vez transmitida su última
trama, la estación secundaria deberá esperar otra vez a tener la autorización pertinente.
•
Modo de Respuesta Asíncrona (ARM): una estación secundaria puede comenzar una transmisión sin autorización previa de la estación
principal (generalmente cuando el canal está desocupado). En la transmisión pueden incluirse una o varias tramas de datos, o bien
informaciones de control relativas a los cambios de estado de la estación secundaria. El modo ARM puede descongestionar el enlace en
cierta medida, ya que la estación secundaria no tiene que someterse a toda una secuencia de sondeo para poder enviar sus datos.
•
Modo Asíncrono Balanceado (ABM): emplea estaciones combinadas, las cuales pueden empezar sus transmisiones sin permiso de las
otras estaciones combinadas.
Todos estos modos pueden ser activados o desactivados a lo largo de la sesión, lo cual confiere una gran flexibilidad a las comunicaciones entre
diferentes estaciones.
5.2.- Formato de la Trama HDLC.
En HDLC se usa el término trama para referirse a una entidad independiente de datos que se transmite de una estación a otra través del enlace.
Existen tres tipos de tramas, en función de cómo sea su campo de control:
•
•
Las tramas con formato de información sirven para transmitir datos de usuario entre dos estaciones. También pueden utilizarse como
aceptación de los datos de una estación transmisora. Asimismo, pueden llevar a cabo un limitado número de funciones, por ejemplo
funcionar como comando de sondeo (poll).
Las tramas con formato de supervisión realizan funciones diversas, como aceptar o confirmar tramas, o solicitar una interrupción temporal
de la transmisión de las mismas. El uso concreto de este tipo de tramas depende del modo de funcionamiento del enlace (repuesta normal,
asíncrona,...).
Las tramas con formato no numerado también realizan funciones de control. Sirven para inicializar un enlace, para desconectarlo, o para
otras funciones de control del canal. Incluyen cinco posiciones de bits, que permiten definir hasta 32 comandos y 32 respuestas. El tipo de
comando o respuesta dependerá de la clase de procedimiento HDLC que se trate.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
14
Telemática II
Una trama consta de cinco o seis campos:
•
Toda trama comienza y termina con los campos de señalización (banderas, guiones,...). Las estaciones conectadas al enlace deben
monitorizar en todo momento la secuencia de señalización en curso. Una secuencia de señalización es 01111110. Entre dos tramas HDLC
pueden transmitirse de forma continua señalizaciones. Si se envían siete unos seguidos se indica que existe algún problema en el enlace.
Quince unos seguidos hacen que el canal permanezca inactivo. En el momento en que una estación detecta una secuencia que no
corresponde a una señalización, sabe que ha encontrado el comienzo de una trama, una condición de error o de canal desocupado. Cuando
encuentre la siguiente secuencia de señalización sabrá que la trama ha llegado completa. La señal de la señalización es similar a la del
carácter Syn en BSC.
•
El campo de dirección identifica la estación principal o secundaria que interviene en la transmisión de una trama determinada. Cada
estación tiene asignada una dirección específica.
•
El campo de control contiene tanto los comandos y las respuestas como los números de secuencia que se utilizan para llevar la contabilidad
del flujo de datos que atraviesa el enlace entre la estación primaria y la secundaria. Su formato y contenido son función del uso al que se
destine la trama HDLC.
•
El campo de información contiene los datos de usuario propiamente dichos. Este campo sólo aparece en las tramas de información, y no en
las de formato no numerado.
•
El campo de comprobación de secuencia de la trama que sirve para averiguar si a aparecido algún error durante la transmisión de dicha
trama entre dos estaciones. La estación emisora lleva a cabo un cálculo sobre los datos del usuario, y añade a la trama el resultado de ese
cómputo, colocándolo en el campo FCS. La estación receptora realiza el mismo cálculo, y si ambos coinciden es muy probable que no haya
habido error. El cálculo cuyo resultado arroja el valor de FCS se conoce como comprobación por redundancia cíclica (CRC, ver apartado ).
5.3.- Transparencia del Código y Sincronización.
HDLC es un protocolo transparente al código. El control de la línea no radica en ningún código en concreto. Ya hemos visto que al principio y al
final de la trama se sitúa una secuencia de señalización, que puede ser de tres tipos:
•
guión: cadenas del tipo 01111110.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
15
Telemática II
•
•
abortar: cadenas de más de siete, pero menos de quince bits de valor 1. Esta señal hace acabar una trama, una estación emisora la envía
cuando encuentra un problema que exige tomar una acción determinada para solucionarlo.
libre: formada por quince o más bits a 1. Indica que el canal está desocupado.
El problema que surge con este tipo de señalización es que hacer cuando los patrones predefinidos como secuencias de señalización aparecen
entre los datos, ¿cómo distinguirlos cuando son datos de cuando son señales? Para evitar que dentro de una cadena de datos aparezcan una
señalización, la estación emisora insertará un cero cuando encuentre cinco unos seguidos en cualquier lugar situado entre dos patrones de apertura y
cierre de la trama, es decir a los campos de dirección, control, información y FCS. Esta técnica se conoce como inserción de bits.
El receptor monitoriza constantemente el flujo de datos, después de recibir un cero después de cinco unos consecutivos mira el siguiente bit: si es
un cero lo ignora, si es un uno mira al siguiente, si éste es un cero sabe que ha llagado un patrón 01111110.
5.4.- Campo de Control HDLC.
Este campo determina la forma en que HDLC controla el proceso de comunicación. El campo de control define la misión de la trama, que puede
tener tres formatos. El campo de control identifica los comandos y respuestas utilizados para gobernar el flujo de tráfico por el enlace.
El formato del campo de control determina como se codificará y empleará éste. El formato más sencillo es el de información; incluye dos
números de secuencia: el N(S) (secuencia de envío) indica el número de orden asociado a la trama enviada, el N(R) (secuencia de recepción) indica
cuál es el siguiente número de secuencia que espera el receptor. N(R) sirve como asentimiento de las tramas anteriores.
El bit situado en la quinta posición, P/F (Polling/Final) sólo es reconocido cuando toma valor -1, y desarrolla las siguientes funciones:
•
•
La estación principal utiliza el bit P para solicitar a la secundaria información a propósito de su estado. También puede expresar una
operación de sondeo.
La estación secundaria responde a un bit P enviando una trama de datos o de estado junto con un bit F. El bit F puede denotar también el
fin de una transmisión de una secundaria en el modo NRM.
El bit P/F se emplea e interpreta de diversas formas:
•
•
En NRM, para poder transmitir la estación secundaria tiene que recibir una trama, bien de información (I) bien de control (RR,REJ o
SREJ), con el bit P puesto a 1.
En ARM y ABM, pueden transmitirse tramas aunque no hayan sido solicitadas si llevan el bit P puesto a 1. Este bit pide una respuesta
rápida con el bit F activo.
La transmisión de una trama con el bit F puesto a 1 no exige que el secundario interrumpa su transmisión.
5.5.- Comandos y Respuestas.
Existen cuatro comandos y respuestas encargados de llevar a cabo funciones numeradas de supervisión, como es el sondeo, la aceptación de
datos, la suspensión temporal de transferencia de datos, o la recuperación de errores. El formato del campo de control de supervisión es el siguiente:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
16
Telemática II
Estos son los comandos y respuestas empleados por el formato supervisor:
•
•
•
•
Receptor Preparado (RR): es la respuesta con la que cualquier tipo de estación indica que está lista para recibir; también indica con su
campo N(R) la aceptación de tramas recibidas con anterioridad.
Receptor No Preparado (NR): es la señal que emplea una estación para indicar que está ocupada. La trama RNR puede también acusar
recibo de tramas anteriores, a través de su campo N(R).
El Rechazo Selectivo (SREJ): sirve para solicitar la retransmisión de la trama concreta que se indica en el campo N(R). Con este
mecanismo se aceptan todas las tramas hasta la N(R)-1. Una vez enviada la señal SREJ, las tramas subsiguientes quedan aceptadas, y se
guardan hasta que llegue la retransmisión pedida.
El Rechazo Simple (REJ): se utiliza para solicitar la retransmisión de todas las tramas posteriores a la indicada por el campo N(R). Todas
las tramas hasta la N(R)-1 quedan aceptadas automáticamente.
El tercer formato HDLC proporciona comandos y respuestas no numerados. Se agrupan según la función que realizan:
•
Comandos de activación de modo:
o SNRM, activa el modo de respuesta normal.
o SARM, activa el modo de respuesta asíncrona.
o SABM, activa el modo asíncrono equilibrado.
o SNRME, activa el modo de respuesta normal extendido.
o SABME, activa el modo asíncrono equilibrado extendido.
o SIM, activa el modo de inicialización.
o DISC, desconectar (cuando una estación principal se la envía a una secundaria, ésta queda en modo de desconexión, muy útil en
líneas conmutadas. La respuesta esperada es UA).
•
•
•
Comandos de transferencia de información:
UI, información no numerada (permite transmitir datos de usuario dentro de una trama no numerada).
UP, sondeos no numerados.
•
•
Comandos de recuperación: RESET.
Comandos diversos: XID, TEST.
Otros comandos no numerados interesantes son: UA (asentimiento no numerado), FRMR (rechazo de trama).
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
17
Telemática II
NIVEL DE ENLACE II.
CONTROL DE FLUJO Y ERRORES.
1.- Técnicas Control de Flujo.
1.1.- Parada-y-Espera.
•
Prestaciones.
1.2.- Ventana Deslizante.
•
Prestaciones.
2.- Protocolos de Control de Errores.
2.1.- FEQ.
2.2.- ARQ.
•
•
•
Parada-y-Espera.
Ventana Deslizante- REJ.
Ventana Deslizante- SREJ.
3- Prestaciones de ARQ.
3.1- Parada-y-Espera.
3.2- Ventana Deslizante- SREJ.
3.3- Ventana Deslizante- REJ.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
18
Telemática II
1.- Técnicas de Control de Flujo.
Cuando una trama llega a una máquina conectada a algún tipo de red, antes de pasar la información a niveles superiores, la capa de enlace realiza
una serie de operaciones sobre la trama que ocupan un espacio en la memoria e implican un tiempo, función de la máquina, de manera que el
proceso de recepción no es instantáneo.
Esta limitación en el espacio de memoria hace que se presente un serio problema cuando un transmisor sistemáticamente quiere transmitir tramas
a mayor velocidad que aquella con que puede recibirlas el receptor. Esta situación puede ocurrir fácilmente cuando el transmisor opera en una
computadora rápida (o con baja carga) y el receptor en una máquina lenta (o con sobrecarga). El transmisor puede enviar tramas rápidamente hasta
que satura al receptor, que comenzará a desechar aquellas a las que no pueda atender.
Para evitar esta situación se hace necesario llevar un control del flujo en el enlace, manejando la velocidad a la que el emisor envía las tramas
para que no sature al receptor. Este control de la velocidad generalmente requiere algún mecanismo de realimentación, para que el transmisor pueda
saber si el receptor puede mantener el ritmo o no.
La mayoría de las técnicas de control de flujo tienen un principio de funcionamiento igual: el protocolo contiene reglas bien definidas sobre el
momento en que el transmisor puede enviar alguna trama, y generalmente estas reglas prohíben el envío de información hasta que el receptor no lo
haya autorizado.
Un protocolo de nivel de enlace que quiere enviar tramas eficientemente debe de alguna manera ser capaz de recuperar las tramas perdidas o
descartadas. Esto se consigue normalmente usando una combinación de dos mecanismos fundamentales: acuses de recibo (acknoledgments)
y temporizadores (timeouts). Un acuse de recibo, comúnmente referido como ACK, es una pequeña trama de control con que el receptor informa al
emisor de que ha recibido la transmisión. Si el emisor no recibe un ACK en un tiempo razonable la retransmite; este tiempo está medido por un
temporizador.
La estrategia general de usar ACKs y "timeouts" para implementar un envío eficiente se suele denominar automatic repeat request, normalmente
abreviado ARQ.
1.1.- Parada-y-Espera.
Es la más simple de las técnicas. Los pasos que llevarían a cabo las dos máquinas en diálogo serían:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
19
Telemática II
1. El transmisor envía una trama al receptor.
2. El receptor la recoge, y devuelve otra trama de aceptación (ACK).
3. Cuando el transmisor recibe esta trama sabe que puede realizar un nuevo envío....
4. Si pasado un cierto tiempo predeterminado no ha llegado acuse de recibo, el emisor retransmite la trama.
En la figura se representan cuatro diferentes escenarios que se pueden producir con este algoritmo básico. Esta figura es una línea de tiempos, y
es una manera muy común de representar el comportamiento de un protocolo. El emisor está representado a la derecha, el receptor a la izquierda, y el
tiempo transcurre de arriba a abajo. La figura (a) muestra la situación en que el ACK se recibe antes de que el timer expire. La (b) y (c) muestran el
caso en que se pierden la trama original y el ACK respectivamente. En la (d) el timer expira demasiado pronto.
Sin embargo, la técnica de parada-y-espera presenta un importante inconveniente. Supongamos que el transmisor envía una trama y el receptor
da el acuse de recibo, pero de alguna manera el ACKse pierde o se retrasa en llegar. Esta situación se ha ilustrado en las figuras (c) y (d). En ambos
casos el emisor piensa que el tiempo ha expirado y retransmite la trama, pero el receptor ya había recogido una y cree que ésta que le llega ahora es
otra diferente. Para solucionar este problema, la cabecera de una trama del protocolo de parada-y-espera incluye un bit a modo de número de
secuencia, que puede tomar los valores 0 y 1; los números de secuencia empleados para tramas consecutivas son alternos , como se ilustra en la
figura:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
20
Telemática II
De esta manera, cuando el emisor retransmite la trama 0, el receptor puede determinar que está viendo una segunda copia de la trama 0 y que no se
trata de la primera copia de la trama 1, ignorándola (aunque si devuelve un ACK).
La principal limitación del algoritmo de parada-y-espera es que el enlace está ocupado por una única trama cada vez, es decir, se está
desaprovechando la capacidad del enlace. Consideremos, por ejemplo, un enlace de 1.5Mbps, y un tiempo de propagación de 45ms (round-trip time,
RTT). Este enlace tiene un producto de retraso x ancho de banda de 67.5Kb, o aproximadamente 8KB. Como el emisor sólo puede enviar una trama
cada 45ms, y asumiendo que el tamaño de la trama e de 1KB, esto implica una tasa de transmisión máxima de 1024 x 8/0.045 = 128Kbps, que es
aproximadamente un octavo de la capacidad total del canal. Para hacer un uso más eficiente del canal sería pues deseable el transmitir más tramas
antes de recibir acuse de las anteriores.
El significado del producto ancho de banda x retraso es que representa la cantidad de datos que pueden estar en tránsito por el enlace
simultáneamente. Lo ideal sería mandar tramas sin esperar al primer ACK. Este principio de trabajo se denomina keeping de pipe full. El algoritmo
de la siguiente sección es precisamente así.
PRESTACIONES.
Restringiéndonos al caso en que sólo se puede enviar una trama cada vez, encontramos dos posibles situaciones, definidas por el tiempo de
transmisión y el tiempo de propagación:
1.- Tiempo de Transmisión, Ttx: tiempo que tarda una máquina en pasar una trama al medio desde que sále el primer bit hasta el último. Se define
como el cociente entre lalongitud de la trama (L) y el régimen binario en el canal (R).
Ttx = L / R
2.- Tiempo de Propagación, Tprop: tiempo que tarda una unidad de información en pasar de un extremo del canal al otro. Se define como el cociente
entre la distancia (d) o longitud del enlace, y la velocidad del medio de transmisión (v).
Tprop = d / v
Las dos situaciones posibles son las siguientes:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
21
Telemática II
1ª: antes de empezar a ser recibida, la trama ya se ha terminado de transmitir: Ttx < Tprop:
2ª: la trama está siendo recibida, y aún no se ha terminado de transmitir: Ttx > Tprop:
Claramente se observa que el canal se aprovecha más eficientemente en la segunda ocasión. Si se define la eficiencia (U) como el porcentaje de
tiempo que el canal está ocupado durante una transmisión, la eficiencia es mucho mayor cuando Ttx > Tprop:
Para calcular la eficiencia suponemos que un terminal quiere transmitir un mensaje que divide en n tramas; esto supone que el tiempo de
transmisión del mensaje sea: Ttxm = n x Ttrama, donde Ttrama el el tiempo de transmisión y propagación de una sóla de las tramas (y
su ACK correspondiente), y que Ttotal = n x Ttrama. Todos estos tiempos están representados en el siguiente diagrama en el caso en que n=3:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
22
Telemática II
U = nTtx / nTtrama = Ttx / Ttrama.
Ttrama = Ttx + Tprop + Tproc_trama + Tack + Tprop + Tproc_ack
Suponiendo que los tiempos de procesamiento (Tproc) y el tiempo de transmisión de la trama ack (Tack) son despreciables frente al resto,
encontramos que:
Ttrama = Ttx + 2Tprop
El esquema de antes que da reducido y la eficiencia resulta:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
23
Telemática II
Como consecuencia de la fórmula anterior se extrae que:
* Si Ttx < Tprop :
a>1
U pequeña (menor del 33%)
parada-y-espera resulta muy ineficiente
* Si Ttx > Tprop
a<1
U más elevada (mayor del 33%)
parada-y-espera resulta menos ineficiente
Otra forma de expresar el parámetro a, recordando las definiciones de tiempo de propagación y tiempo de transmisión es:
R,v y L son valores prefijados por el diseño; sin embargo la eficiencia es inversamente proporcional a la distancia.
Por último, la eficiencia permite calcular la tasa binaria real con que se están transmitiendo y recibiendo datos por un enlace. Un canal puede
ofrecer una capacidad determinada, pero quizá el protocolo no permita alcanzar esa cifra. Se define la capacidad eficaz como la tasa binaria conque
los bits se desplazan por la línea:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
24
Telemática II
1.2.- Ventana Deslizante.
Retomando el ejemplo del enlace que tenía un producto de ancho de banda x retraso de 8KB y las tramas de 1KB, se comprueba que la mejor
utilización que se puede hacer del canal requiere que el emisor transmita la novena trama nada más recibir el acuse de recibo de la primera.
En este algoritmo el témino ventana de transmisión se refiere a un buffer en el cual se almacenan copias de las tramas enviadas, en espera de
recibir el ACK correspondiente; si no llegan en el tiempo previsto, se realiza una nueva copia y se retransmite la trama. El número de secuencia de
transmisión, N(S), es la posición que ocupa la trama enviada en el buffer. El número de secuencia viaja en la cabecera de la trama, dentro del campo
de control.
Por ventana de recepción se entiende el buffer donde se almacenan las tramas que llegan a una máquina por alguno de sus enlaces. En este
buffer esperan a ser procesadas, y a que se devuelva el acuse de recibo correspondiente a cada una de ellas, para que la máquina origen sepan que la
transmisión ha llegado sin problemas a su destino. El número de secuencia de recepción, N(R), es la posición que ocupa la trama recibida en el
buffer de recepción.
El tamaño de la ventana puede estar preestablecido, o puede negociarse durante el establecimiento de la conexión. En la figura se ilustra el
mecanismo del algoritmo para una ventana de tamaño 4:
El tamaño máximo de la ventana debe cumplir que :
n
W= 2 -1
Por ejemplo, para W=4, n>2
El algoritmo de ventana deslizante es como sigue: primero el emisor asigna un número de secuencia a cada trama. El emisor controla tres
variables:
1. El tamaño de la ventana de transmisión (TVT): que será finito. Representa el número máximo de tramas que el emisor puede enviar sin
recibir ACK de la primera de ellas.
2. El número de secuencia del último ACK recibido (UAR).
3. El número de secuencia de la última trama enviada (UTE).
El transmisor debe respetar la siguente inecuación: UTE - UAR < TVT , o como mucho igual. Esta situación se ilustra en la figura:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
25
Telemática II
Cuando llega un ACK, el emisor desplaza UAR a la derecha, permitiendo como consecuencia que se transmita otra trama. Además, el emisor
asocia a cada trama que envía un timer, retransmitiendo la trama si el timer expira antes de que llegue su ACK correspondiente. Por tanto, estamos
asumiendo que el emisor dispone de un buffer donde almacena TVT tramas, que pueden tener que ser retransmitidas.
Por su parte el receptor mantiene otras tres variables:
1. El tamaño de la ventana de recepción (TVR): que indica el máximo número de tramas que el receptor puede aceptar.
2. El número de secuencia de la última trama aceptada (UTA): última trama procesada.
3. El número de secuencia de la siguiente trama esperable (STE).
El receptor respeta la inecuación: UTA - STE < TVR, o igual como mucho.
Cuando se recibe una trama con número de secuencia N se comprueba si está dentro o fuera de la ventana, es decir, si N < STE o N > UTA la
trama está fuera de la ventana y es descartada. Si N > STE o N < UTA la trama se recibe y se guarda en la posición del buffer correspondiente.
Ahora el receptor tiene que decidir si envía o no un ACK (RR o RNR), y que clase de ACK:
RR (n) (receptor preparado)
Indica a la fuente que ha recibido bien hasta la (n-1), y que espera la n.
RNR (n) (receptor no preparado)
Indica a la fuente que se han recibido bien hasta la trama (n-1) incluida, pero que no siga transmitiendo por el momento.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
26
Telemática II
En el último intercambio de tramas de la figura se ilustra como implementar un NACK: basta con dar acuse de la última trama que se recibió
bien y solicitar el envío de la que no llegó.
NOTACIÓN: una sola trama puede poseer no sólo su propio número de secuencia, sino también información sobre el buffer de recepción de
la máquina de la que procede, es decir, lleva un acuse de recibo. Eso se expresa de la siguiente manera:
F(n,m) = f(n) + RR(m)
PRESTACIONES.
Al igual que en caso del protocolo de parada-y-espera pueden ocurrir dos cosas: que el uso del canal sea eficiente o ineficiente.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
27
Telemática II
ENVIO CONTINUO.
El tamaño de la ventana es suficientemente grande, de manera que antes de llenarse e interrumpir la transmisión ya han comenzado a llegarACKs.
La condición de envío continuo es :
N > 2a + 1
y:
U=1
La demostración es muy sencilla:
El tamaño de la secuencia es un N tal que:
transmitidos.
N · Ttxtrama >= T1,siendo T1 el tiempo que tarda una trama y su ACK correspondiente en ser
Ttx + Tprop + Tack + Tprop + Tproc = T1
Si Tack = Tproc= 0, entonces: T1 = Ttx + 2 · Tprop
N = T1 / Ttx = (1/Ttx) · ( Ttx + 2·Tprop)
Finalmente: N= 1 + 2 · (Tprop/Ttx) = 1 + 2a
Pero también puede ocurrir que la ventana de transmisión esté llena y no lleguen los ACKs, por lo que la transmisión se interrumpe. La
eficiencia es menor porque aunque las tramas se desplazan por el canal a igual velocidad que antes, este está vacío más tiempo:
Se cumple que:
N < 1 + 2a
y:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
28
Telemática II
U = N / ( 1+2a )
En definitiva, para un protocolo de ventana deslizante la eficiencia tiene la siguiente forma:
2.- Protocolos de Control de Errores.
Hay dos tipos de técnicas que se pueden ejecutar cuando surge un error: FEC y ARQ. En ambos casos el receptor es el encargado de tomar las
decisiones pertinentes.
Un primer paso común es detectar el error. En general se emplea un código de redundancia cíclica (CRC).
El aspecto general de una trama es el de la figura, integrada por tres partes: la cabecera (que comprende información de control como los
números de secuencia, direcciones origen y destino, tipo de protocolo,...), los datos (que en función del protocolo tendrán una longitud máxima ó
mínima, o ambas) y el CRC o equivalente.
Los protocolos se diferencian precisamente por las decisiones que toman una vez detectado el error: corrección o recuperación.
2.1.- FEQ.
Para sistemas en que la información se desplaza en un sólo sentido (enlaces satélite,...). El receptor detecta el error y dependiendo de la clase que
sea podrá corregirlo o no. La probabilidad de que haya error es entonces la probabilidad de que no se detecte combinado con el caso en que aún
detectándolo no se pueda corregir.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
29
Telemática II
2.2.- ARQ.
Para sistemas en que la información circula en ambos sentidos. Si el receptor detecta un error solicita al origen que repita la transmisión. La
probabilidad de que haya error es igual a la probabilidad de no detectarlo. Existen tres tipos de ARQ basados en : parada y espera, y ventana
deslizante (REJ y SREJ). Inconvenientes de ARQ son la necesidad de memoria y una lógica adicional para solicitar los reenvios cuando sea necesario
(temporizadores...).
ARQ: PARADA Y ESPERA.
Parada-y-espera de ARQ está basada en la técnica de control de flujo de parada-y-espera y representada en la figura. La estación fuente
transmite una única trama y espera el ACK; ninguna otra trama puede ser transmitida hasta que no llegue la contestación de la estación destino.
Dos tipos de errores característicos pueden ocurrir. Primeramente la trama que llega al destino es defectuosa o se ha perdido; el receptor detecta
esta situación con las técnicas de detección de errores vistas antes y simplemente descarta la trama. Por su parte, para prevenir esta situación la fuente
está preparada con un timer.
El segundo tipo de error consiste en que sea la trama de respuesta, ACK, la que se pierde. Como consecuencia la fuente no recibe el acuse de
recibo y retransmite la misma trama que ya había sido recibida; para solucionarlo, y que el receptor reconozca cuando dos tramas similares se han
enviado consecutivamente, las tramas cuentan en su cabecera con un bit que a modo de número de secuencia alterna el valor 0 con el 1.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
30
Telemática II
La principal ventaja de la parada-y-espera es su simplicidad. Su principal inconveniente la ineficiencia. La técnica de control de flujo con
ventana deslizante se puede adaptar para hacer un uso más eficiente del canal, por lo que a veces se denomina ARQ continuo.
A.RQ: RECHAZO SIMPLE.
Es la técnica más comúnmente usada en el control de errores con ventana deslizante. La fuente envia tramas consecutivamnete hasta un
número fijado por el tamaño de la ventana, la posición de cada trama en la ventana está determinado por su número de secuencia. Mientras que no
haya errores el receptor reconocerá las tramas que le llegan. Si detecta un error devuelve un ACK negativo (REJ=reject). La estación receptora
descarta no sólo esta trama, sino todas las siguientes hasta que la primera llegue correctamente. La estación origen, cuando recibe un REJ debe
retransmitir la trama errónea y todas las que iban a continuación.
La técnica de rechazo simple es útil en caso de que se produzca alguno de los siguientes errores:
•
Trama dañada o perdida:
o Si la detecta el receptor, devuelve un REJ.
o Si se pierde se produce una alteración en el número de secuencia en recepción, y el destino devulve un REJ.
o Si se pierde y era la última el temporizador de la fuente se agota y pregunta por el estado (manda un RR).
•
RR dañado o perdido:
o Si se recibe un RR posterior no hay problema.
o Si no, la fuente pregunta por el estado (RR).
REJ dañado o perdido:
o Se pregunta por el estado.
•
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
31
Telemática II
Como ya se expuso con anterioridad, para un campo de número de secuencia de k bits el tamaño de la ventana se limita a 2k-1. Este límite
está relacionado con la interacción entre el control de errores y los asentimientos de trama (ACK): como en el ejemplo, asumimos números de
secuencia de tres bits (23=8). Supongamos que A envía a B la trama f0, y recibe RR(1), depués envía las f1, f2, f3, f4, f5, f6, f7, f0, y recibe otro
RR(1). El recibir un RR(1) puede significar que las ocho tramas han llegado correctamente y el receptor espera otras ocho, pero también puede
significar que las ocho tramas han sufrido daños o se han perdido y el receptor está repitiendo el primer RR(1). El problema se soluciona limitando el
tamaño al valor W=2k-1.
ARQ: RECHAZO SELECTIVO.
Con ARQ selectivo las únicas tramas que es necesario retransmitir son las defectuosas o perdidas, es decir, de las que se recibe
un ACK negativo (que en este caso se denomina SREJ).
Esta técnica, por una parte parece más eficiente puesto que minimiza la utilización del canal. Por otro lado el buffer del receptor debe ser lo
suficientemente grande como para guardar las tramas posteriores a la incorrecta hasta que ésta sea retransmitida. Además, el receptor debe de contar
con la lógica suficiente para reinsertar la trama en su posición adecuada una vez retransmitida. El transmisor también requiere una lógica más
compleja para ser capaz de selecionar una trama de la secuencia. Por estas razones, ARQ selectivo es mucho menos usado que el ARQ de rechazo
simple.
Además de incrementarse la complejidad, el tamaño de la ventana se ve considerablemente reducido; volvamos al ejemplo del número de
secuencia de tres bits, y asumamos que el tamaño de la ventana conforme a lo visto en el anterior apartado es siete. Consideremos el siguiente caso:
1. A transmite las tramas de la 0 a la 6 a B.
2. B las recibe y devuleve un RR(7) por todas ellas.
3. RR(7) se pierde.
4. A retransmite todas las tramas.
5. B, que esperaba las tramas 7, 0, 1, 2, 3, 4 y 5, considera que la 7 se ha perdido y acepta el resto como nuevas.
Esta vez el problema es un solape entre las ventanas de transmisión y recepción. El problema se soluciona limitando el tamaño de la ventana
a W=2k-1.
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
32
Telemática II
3- Prestaciones de ARQ.
Debido al diseño del sistema de transmisión se producirán errores, es decir, habrá uno o más bits de la trama que cambien su valor. Se definen
las siguientes probabilidades:
•
•
•
p: probabilidad de que un sólo bit sea erróneo, también se denomina tasa binaria de error.
Peb: probabilidad de error de bloque, es decir, de que una trama llegue con al menos un error.
Pneb: probabilidad de que una trama llegue sin ningún error.
Siendo n el número de bits en una trama, y asumiendo que la probabilidad de error de bit, p, es constante e independiente para cada bit : Pneb
= (1-p)n y
Peb = 1- (1-p)n
Como se desprende de la fórmula la probabilidad de que la trama llegue con errores se incrementa si lo hace la probabilidad de error de bit (p).
Así mismo, cuanto mayor sea la longitud de la trama (mayor n) mayor es la probabilidad de error, como no podía ser de otra manera.
3.1- Parada-y-Espera.
Si llamamos T al tiempo que tarda una trama en llegar a su destino más el que tarda su ACK correspondiente en llegar a la fuente, y tenemos
en cuenta que al ser una técnica ARQ un error supone la retransmisión de la trama las veces que sea necesario (digamos Nr), el tiempo total que una
trama tarda en ser transmitida correctamente es:
TTOTAL = Nt * T
Con Nt = Nr +1 como el número de transmisiones realizadas, y donde hemos supuesto que tanto el tiempo de procesamiento como el
de ACK son despreciables.
Como se observa en la figura: T = Ttx + 2 T prop, quedando: TTOTAL = Nt [Ttx + 2 T prop]. El número de transmisiones (Nt) es función de la
probabilidad de error del canal, cuanto mayor sea, mayor también el número de retransmisiones necesarias:
Si hay que retransmitir muchas veces, por ejemplo n=16, se tira el enlace.
1-Peb es la probabilidad de que no halla error en la trama (lo que antes hemos llamado Pneb).
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
33
Telemática II
Nt = 1*(1-Peb) + 2* Peb(1-Peb) + 3*Peb2(1-Peb) + ...+ n*Pebn-1(1-Peb)= 1 / 1-Peb
Simplificando, la fórmula de la eficiencia cuando la transmisión no está libre de errores es la misma que para un canal ideal, pero dividida por
el número total de transmisiones realizadas.
3.2- Rechazo Selectivo con Envío Continuo.
Siguiendo el mismo razonamiento conque finalizaba el apartado anterior, para hallar la eficiencia del ARQ con rechazo selectivo basta con
dividir la fórmula de la eficiencia entre Nt = 1/1-Peb:
Para el caso de N>1+2a la solución es fácilmente demostrable observando el diagrama de tiempos:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
34
Telemática II
En este caso el tiempo total TTOTAL empleado en transmitir la trama (la número 0 en el ejemplo) es el tiempo de transmisión tantas veces como
haya sido necesario retransmitir.
3.3- Rechazo Simple con Envío Continuo.
Los mismos razonamientos se pueden aplicar a este caso, sin embargo hay que poner especial atención en la aproximación de Nt. Ahora cada
error hace que sea necesaria la retransmisión de K tramas en lugar de sólo una:
Nt = Si=1 f(i) Pebi-1 (1-Peb)
Donde f(i) es el número total de tramas a transmitir si la trama original tiene que ser transmitida i veces. f(i) se puede expresar como:
f(i)= 1+(i-1)K = (1-K) + Ki
Sustituyendo una ecuación en la otra queda que: Nt = (1-Peb+KPeb)/1-Peb; por lo que sabemos ya de la técnica de rechazo simple K se puede
aproximar a (1+2a) si N> 1+2a, o a N cuando N<1+2a:
Como hicimos antes, para el caso de N>1+2a con Nr = Nt-1 = Peb/1-Peb, se demuestra que la eficiencia es:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
35
Telemática II
En el siguiente gráfico se hace una comparación entre la utilización de la línea que hacen las distintas técnicas vistas cuando Peb=10-3 frente a el
parámetro a:
UCUGS Campus Cuauhtémoc | Ing. Ángel Cornejo Muñoz
36
Descargar