104
Tema 4 Fundamentos de Protocolos Parte 1 I 22/04/2013

Tema4FundamentosdeProtocolos_ControlErrores

Embed Size (px)

DESCRIPTION

Protocolos de Comunicacion, Capa 2,

Citation preview

Page 1: Tema4FundamentosdeProtocolos_ControlErrores

Tema 4 Fundamentos de ProtocolosParte 1

I22/04/2013

Page 2: Tema4FundamentosdeProtocolos_ControlErrores

Nivel de EnlaceFunciones:• Lograr comunicación confiable y eficiente entre dos

máquinas.• Control de errores.• Proveer una interfaz de servicios bien definidos al

nivel de red. Éste servicio puede ser ofrecido así:– Servicio no confirmado, no orientado a la conexión – Servicio confirmado, no orientado a la conexión – Servicio confirmado orientado a la conexión.

En este caso es responsabilidad de enlace de datos hacer que las líneas no confiables y con errores parezcan perfectas o por lo menos muy buenas.

Page 3: Tema4FundamentosdeProtocolos_ControlErrores

Fundamentos de los protocolos• Los protocolos se especifican con uno de varios

métodos y formalismos precisos. Lo normal es usar diagramas de secuencia de tramas, tan solo para ilustrar aspectos concretos del protocolo, no como una forma de especificarlo. Los tres métodos mas comunes para especificar un protocolo de comunicación son:

– Los diagramas de transición de estados.

– Las tablas de sucesos-estados extendidas.

– Programas estructurados de alto nivel.

Page 4: Tema4FundamentosdeProtocolos_ControlErrores

Verificación de Protocolos

•Máquinas de Estado Finito

•Redes de Petri

Page 5: Tema4FundamentosdeProtocolos_ControlErrores

• Un estado en particular se designa como estado inicial.

• Utilizando el “analisis de asequibilidad” se determina que estados son alcanzables y cuales no.

Page 6: Tema4FundamentosdeProtocolos_ControlErrores

• El modelo de un protocolo en referencia a una maquina de estados se puede conformar por una cuadrupla (S, M, I, T), donde:– S es el set de estados en que el canal y los

procesos pueden encontrarse. – M es el set de frames que se pueden

intercambiar a través del canal– I es el set de estados iniciales de los procesos.– T es el set de transiciones entre estados.

Page 7: Tema4FundamentosdeProtocolos_ControlErrores

Modelos de Máquina de estado finito

(a) Protocolo 3 ARQ. (b) Tx

S=0,1 TX SENDR=0,1 RX ESPERAC=0,1,A,- Estado del canal

SRC

Page 8: Tema4FundamentosdeProtocolos_ControlErrores

• Nueve tipos de transición se muestran en la figura previa. – 0 : Canal perdiendo su contenido .– 1 : Canal entregando correctamente el

pacquete 0 al receptor (este cambia su estado para recibir el paquete 1 y emitiendo un ACK)

– También corresponte al receptor entregando el paquete 0 a la capa de red

Page 9: Tema4FundamentosdeProtocolos_ControlErrores

• Operación normal, – 1, 2, 3, y 4 se repiten en orden una y otra vez. En

cada ciclo se entregan dos paquetes, llevando al transmisor al estado inicial de intento de envio de un nuevo frame con secuencia 0

– Si el canal pierde el frame 0, hace una transicion de (000) a (00–).

• Eventualmente, – El transmisor provoca un time out (transition 7) y el

sistema retorna a (000). – La pérdida de un ACK es mas complicado

requiriendo dos transiciones, (7 y 5, o 8 y 6) para reparar el daño.

Page 10: Tema4FundamentosdeProtocolos_ControlErrores

Redes de Petri

2 lugares y dos transiciones

Page 11: Tema4FundamentosdeProtocolos_ControlErrores

• 4 elementos básicos: – lugares, transiciones, arcoss, y tokens.

• Lugar es un estado en el que el sistema se encuentra.

• El sistema se encuentra en el estado A indicado por el token.

• Una transicion se indica por una linea vertical. Cada transición tiene una o mas arcos de input y uno o mas arcos de output que van a sus lugares de salida

Page 12: Tema4FundamentosdeProtocolos_ControlErrores

A Petri net model for protocol 3.

Page 13: Tema4FundamentosdeProtocolos_ControlErrores

• A diferencia de la maquina de estados finitos, no existen estados compuestos aca, el estado del Tx, el canal y el estado del receptor se representan separadamente. – 1 Tx de frame 0 normalmente – 2 Tx de frame 0 en timeout respectivamente. – 3 Tx de frame 1 normalmente – 4 Tx de frame 1 en timeout respectivamente.– 5 Tx de frame 0 – 6, Tx de ACK– 7 Tx de frame 1 – 8 y 9 ocurren cuando un data frame con error de

secuencia llega al Rx. – 10 y 11 representan la llegada en el Rx de el

siguiente frame secuenciado y su entrega a la capa de red.

Page 14: Tema4FundamentosdeProtocolos_ControlErrores

Tipos de Transmisión• Mejor Intento

– Modo No orientado a Conexión.– Cuando se detecta un error así sea un solo bit, todo el bloque

de datos es descartado. • Transmisión Confiable

– Modo No orientado a Conexión.– Detecta cuando se presentar errores y solicita retransmisión – Un conjunto de reglas o procedimientos de control se deben

adoptar por ambos interlocutores para asegurar la comunicación confiable .

• Control de Errores – Es denominado asi al Ciclo de Deteccion/correccion de errores– Protocolo de Capa de Enlace = Control de Errore + otros

mecanismos de control

Page 15: Tema4FundamentosdeProtocolos_ControlErrores

Control de Errores

• Control Manual• Ejemplo:Datos introducidos desde teclado

– El programa ejecutandose, lee y almacena el caracter recibido y lo despliega en el display .

– Si el caracter desplegado no es el que nosotros queriamos , simplemente a traves de un caracter especial (Del, Backspace, CTRLH) el programa descarta el caracter previo y lo elimina de la pantalla

Page 16: Tema4FundamentosdeProtocolos_ControlErrores

Control de Errores(cont’d)

• Echo checking• Conexión de Terminales (ej. A traves de PSTN)

– En vez de que el caracter sea desplegado en pantalla este se envia a la terminal remota .

– Este lee , almacena y lo retransmite de vuelta al terminal transmisor, el cual lo despliega

– Si este caracter no es el deseado, se usa el caracter especial para descartar el caracter previo y reiniciar la transmisión.

Page 17: Tema4FundamentosdeProtocolos_ControlErrores

Control de Errores(cont’d)

• En contraste cuando una terminal envia bloques de caracteres (frames)a traves de un enlace serial, el programa en la terminal destino debe realizar el procedimiento sin intervencion del usuario. Típicamente este revisa el frame recibido y luego envia un frame pequeño (mensaje de control) ya sea para dar el ACK o pedir una copia del frame, esto es conocido como ARQ (Automatic Repeat Request)

Page 18: Tema4FundamentosdeProtocolos_ControlErrores

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).

Page 19: Tema4FundamentosdeProtocolos_ControlErrores

• 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. 

Page 20: Tema4FundamentosdeProtocolos_ControlErrores

• Los códigos de detección solamente (ARQ) o de detección y corrección de error (FEC) se denominan, en general, “Códigos de Bloque”. La redundancia se agrega a cada “palabra de datos” (o “palabra mensaje”) y la expresión total [datos + redundancia] se denomina “palabra código” o “palabra codificada”.

• El número de dígitos en cada palabra código es la “longitud de bloque”, y habrá tantas palabras código como palabras mensaje o palabras de datos. Si la palabra mensaje tiene m dígitos y la redundancia agregada es de k dígitos, la longitud de bloque de la palabra código será de n = (m + k) dígitos.

Page 21: Tema4FundamentosdeProtocolos_ControlErrores

FEC• 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. 

Page 22: Tema4FundamentosdeProtocolos_ControlErrores

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...). 

Page 23: Tema4FundamentosdeProtocolos_ControlErrores

• 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...). 

Page 24: Tema4FundamentosdeProtocolos_ControlErrores

Tipos de ARQ

• Idle RQ (Inactiva)– Se utiliza en esquemas de transmisión de

tipo character-oriented.– Esta siendo reemplazado por “ineficiente”

• Continuous RQ– Se utiliza en esquemas de transmisión de

tipo Bit-oriented• Selective repeat• Go-back-N retransmission

Page 25: Tema4FundamentosdeProtocolos_ControlErrores

Idle RQ

• Be submitted over a serial data link between a source DTE and a destination DTE

• Implicit retransmission– Secondary S acknowledges only correctly

received frames and Primary P interprets the absence of an acknowledgement as an indication that the previous frame was corrupted

Page 26: Tema4FundamentosdeProtocolos_ControlErrores

Idle RQ (cont’d)

• Explicit retransmission– When S detects that a frame has been

corrupted, it returns a negative acknowledgement to request that another copy of the frame is transmitted

Page 27: Tema4FundamentosdeProtocolos_ControlErrores

Idle RQ (cont’d)

• Implicit retransmission

Page 28: Tema4FundamentosdeProtocolos_ControlErrores

Idle RQ (cont’d)

• Explicit Request

Page 29: Tema4FundamentosdeProtocolos_ControlErrores

Idle RQ (cont’d)

• N(S)– Send sequence number– The sequence number

carried in each I-frame

• N(R)– Receive sequence

number– The sequence number in

each ACK and NAK frame

Page 30: Tema4FundamentosdeProtocolos_ControlErrores

ARQ: PARADA Y ESPERA. INACTIVA

• Parada-y-espera de ARQ está basada en la técnica de control de flujo de parada-y-espera. 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. 

• 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: 

• 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. 

Page 31: Tema4FundamentosdeProtocolos_ControlErrores

•   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. 

Page 32: Tema4FundamentosdeProtocolos_ControlErrores
Page 33: Tema4FundamentosdeProtocolos_ControlErrores

Link Utilization

Page 34: Tema4FundamentosdeProtocolos_ControlErrores

RQ Continua

• La utilización del link se mejora a costa de mayores requerimientos de buffer storage.

Page 35: Tema4FundamentosdeProtocolos_ControlErrores

• Cuando ocurre un error– Rechazo simple– Repetición Selectiva

• S selects and requests the retransmission of just those frames in the sequence that are corrupted

– Go-back-N• S detects the receipt of an out-of-sequence I-

frame and requests P to retransmit all outstanding unacknowledged I-frames from the last correctly received, and hence acknowledged, I-frame

RQ Continua

Page 36: Tema4FundamentosdeProtocolos_ControlErrores

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 (ver RR y RNR).

• 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. 

– 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.

Page 37: Tema4FundamentosdeProtocolos_ControlErrores

En que casos se usa?

• Trama dañada o perdida: – Si la detecta el receptor, devuelve un REJ. – Si se pierde se produce una alteración en el número

de secuencia en recepción, y el destino devulve un REJ.

– 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: – Si se recibe un RR posterior no hay problema. – Si no, la fuente pregunta por el estado (RR).

• REJ dañado o perdido: – Se pregunta por el estado.

Page 38: Tema4FundamentosdeProtocolos_ControlErrores

RECHAZO SELECTIVO.• Con ARQ selectivo las únicas tramas que es necesario

retransmitir son las defectuosads 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. 

Page 39: Tema4FundamentosdeProtocolos_ControlErrores

• Dos Implementaciones–Retransmisión Implicita

• El Rx ACK a los frames recibidos correctamente y el Tx determina de las secuencias de ACK-frames recibidas que un frame se perdio.

–Requerimiento Explicito• Rx retorna un ACK especifico negativo

para un frame que esta ausente en la secuencia.

RECHAZO SELECTIVO.

Page 40: Tema4FundamentosdeProtocolos_ControlErrores

• 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 es 7. 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.

Page 41: Tema4FundamentosdeProtocolos_ControlErrores

Go-back-N

–Cuando el Rx detecta que existe un frame fuera de secuencia, informa al Tx que reinicie la retransmision desde un número específico.

Page 42: Tema4FundamentosdeProtocolos_ControlErrores

Parada y Espera

Rechazo Selectivo con Envio Continuo

Rechazo Simple con Envio Continuo

Eficiencias Respecto a la tramap: 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

Page 43: Tema4FundamentosdeProtocolos_ControlErrores

Peb=10-3

Page 44: Tema4FundamentosdeProtocolos_ControlErrores

• http://www.eas.asu.edu/trace/eee459_sp02/applet/archana/gupta5463.html : Selective Repeat Protocol

• http://media.pearsoncmg.com/aw/aw_kurose_network_2/applets/go-back-n/go-back-n.html : Go Back N

Page 45: Tema4FundamentosdeProtocolos_ControlErrores

Tema 4 Fundamentos de ProtocolosParte 2

I03/5/2007

Page 46: Tema4FundamentosdeProtocolos_ControlErrores

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.

Page 47: Tema4FundamentosdeProtocolos_ControlErrores

Area de Influencia

Page 48: Tema4FundamentosdeProtocolos_ControlErrores

• 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. 

Page 49: Tema4FundamentosdeProtocolos_ControlErrores

• 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, comunmente 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. 

Page 50: Tema4FundamentosdeProtocolos_ControlErrores
Page 51: Tema4FundamentosdeProtocolos_ControlErrores

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:     

• 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. 

Page 52: Tema4FundamentosdeProtocolos_ControlErrores
Page 53: Tema4FundamentosdeProtocolos_ControlErrores

• 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 ACK se 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 (ver apartado 1.2), que puede tomar los valores 0 y 1; los números de secuencia empleados para tramas consecutivas son alternos , como se ilu

Page 54: Tema4FundamentosdeProtocolos_ControlErrores

• 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. 

Page 55: Tema4FundamentosdeProtocolos_ControlErrores

• 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 la longitud 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

Page 56: Tema4FundamentosdeProtocolos_ControlErrores

• 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: 

                                                                                                      

Page 57: Tema4FundamentosdeProtocolos_ControlErrores

• 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: 

Page 58: Tema4FundamentosdeProtocolos_ControlErrores

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:

Page 59: Tema4FundamentosdeProtocolos_ControlErrores

El esquema anterior se reduce a

• * 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

                                                        

       

                                     

     

Page 60: Tema4FundamentosdeProtocolos_ControlErrores

• 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: 

Page 61: Tema4FundamentosdeProtocolos_ControlErrores

1.2.- Ventana Deslizante • 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. 

Page 62: Tema4FundamentosdeProtocolos_ControlErrores

• En el campo de control de la trama habrá n bits que expresarán el número de secuencia.          El tamaño máximo de la ventana debe cumplir que : 

• W= 2n-1

•           Por ejemplo, para W=4, n>2 

igura se ilustra el mecanismo del algoritmo para una ventana de tamaño 4:     

Page 63: Tema4FundamentosdeProtocolos_ControlErrores

• 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).

Page 64: Tema4FundamentosdeProtocolos_ControlErrores

• El transmisor debe respetar la siguente inecuación:  UTE - UAR < TVT , o como mucho igual. Esta situación se ilustra en la figura:

• 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).

•  

Page 65: Tema4FundamentosdeProtocolos_ControlErrores

• R (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.

                                                

Page 66: Tema4FundamentosdeProtocolos_ControlErrores

Flow Control

• Flow control– Be concerned with controlling the rate of

transmission of characters or frames on a link so that the receiver always has sufficient buffer storage resources to accept them prior to processing

Page 67: Tema4FundamentosdeProtocolos_ControlErrores

X-ON/X-OFF

• A character-oriented terminal-to-computer link• X-OFF

– To the controlling device within the terminal, instructing it to cease transmission

– On receipt of the X-OFF character, the terminal either ignores and further characters entered at the keyboard or buffers them in a local buffer until the overload has been cleared

Page 68: Tema4FundamentosdeProtocolos_ControlErrores

X-ON/X-OFF (cont’d)

• X-ON– When the overload condition decays and the

computer is able to accept further characters, it returns a companion control character X-ON to inform the terminal control device that it may restart sending characters

Page 69: Tema4FundamentosdeProtocolos_ControlErrores

Sliding window

• Sliding window– It sets a limit on the number of I-frames that P may

send before receiving an ack.– P monitors the # of unacknowledged I-frames

currently held in the retransmission list– If the dest side of the link is unable to pass on the

frames sent to it• S stops returning ack frames• The retransmission list at P builds up and this in turn can be

interpreted as a signal for P to stop transmitting further frames until ack start to flow again

Page 70: Tema4FundamentosdeProtocolos_ControlErrores

Sliding window (cont’d)

• Send window– the max limit is set on the number of I-frames

that can be awaiting ack– If set to 1, it reverts to idle RQ

• Receive window– the max # of frame buffers required at S

Page 71: Tema4FundamentosdeProtocolos_ControlErrores

Sliding window (cont’d)

Page 72: Tema4FundamentosdeProtocolos_ControlErrores

Sequence numbers

• Until now– Be assumed that the sequence # inserted

into each frame by P is imply the previous sequence # plus one and that the range of # available is infinite

– It is possible to limit the range of sequence # required to identify each transmitted frame uniquely

Page 73: Tema4FundamentosdeProtocolos_ControlErrores

Sequence numbers (cont’d)

Page 74: Tema4FundamentosdeProtocolos_ControlErrores

Sequence numbers (cont’d)

Page 75: Tema4FundamentosdeProtocolos_ControlErrores

Protocol specification

Page 76: Tema4FundamentosdeProtocolos_ControlErrores

Link management

• Link management– Not be concerned

with the actual transfer of user data

• Initialization or link set-up phase

• Link disconnection phase

Page 77: Tema4FundamentosdeProtocolos_ControlErrores

Parte 3:Protocolos de Control a nivel de

Enlace

Page 78: Tema4FundamentosdeProtocolos_ControlErrores

Por qué protocolos?• Estos pasos o fases implican procedimientos para

– La elaboración de un formato para el “encapsulamiento” de la información

– La determinación o selección de un enlace dado entre dos estaciones adyacentes

– La petición o demanda para transmisión o recepción de información

– La verificación de que la información recibida no contiene errores– La repetición de una trama de información que ha sido recibida

con errores– El control del flujo de la información– La transmisión transparente de la información– La detección de Tiempo Cumplido (“time-out”)– La finalización de la transmisión– La supervisión, control y sincronización de las estaciones en el

caso de transmisión sincrónica

Page 79: Tema4FundamentosdeProtocolos_ControlErrores

• Los protocolos empleados en la transmisión de datos dependen (a) de si el control se efectúa mediante caracteres especiales de

control, (b) por conteo de bytes o (c) si se hace dígito por dígito.

• Se distinguen entonces tres categorías de protocolos: – Protocolos de Control por Caracteres (Character-Oriented

Protocol), – Protocolos de Control por Conteo de Octetos o Bytes (Byte-

Count Oriented Protocol) – Protocolos de Control por Dígitos (Bit-Oriented Protocol).

Page 80: Tema4FundamentosdeProtocolos_ControlErrores

Protocolos de Control por Caracteres

• Se ha desarrollado toda una variedad de protocolos de control por caracteres, pero el más conocido es el Protocolo BSC (Binary Synchronous Communications) desarrollado por la IBM; a este protocolo se le denomina también Protocolo BISYN.

• Este protocolo utiliza ciertos caracteres de control para delimitar los diferentes campos y para el control de sus funciones propias.

• El protocolo BSC es un protocolo sincrónico que opera en HDX y requiere un reconocimiento para cada trama transmitida antes de enviarse la trama siguiente.

• Este protocolo está diseñado para trabajar en punto a punto o en multipunto con una sola estación de control o estación primaria; esta es la denominada operación Maestra-Esclava.

Page 81: Tema4FundamentosdeProtocolos_ControlErrores

Características Protocolo BSC• Control por Caracteres• Transmisión HDX Sincrónica• Formato del Carácter: ASCII Sincrónico• Velocidades: 300 a 20 kbps• Modo de Respuesta Normal (NRM)• Interfaz de preferencia : RS-232C• Transparencia mediante inserción de caracteres DLE• Los caracteres de control en el protocolo BSC son los

siguientes por orden alfabético: – ACK, DLE, ENQ, EOT, ETB, ETX, NAK, SOH, STX y SYN.

• Estos diez caracteres están definidos en los Códigos ASCII (Fig. 4.1), EBCDIC y en el Transcódigo de 6 Dígitos (Six Bit Transcode).

Page 82: Tema4FundamentosdeProtocolos_ControlErrores

• ACK (Acknowledge). Reconocimiento positivo. Este carácter es transmitido por una estación cuando la información recibida es correcta o cuando se transmite una respuesta afirmativa.

• DLE (Data Link Escape). Carácter utilizado para la transmisión transparente de la información.

• ENQ (Enquiry). Petición. Carácter utilizado por la estación primaria para solicitar una respuesta desde una estación secundaria.

• EOT (End of Transmission). Fin de transmisión. Este carácter indica la finalización de la transmisión. Generalmente se transmite al final de la última trama de una serie.

• ETB (End of Transmission Block). Fin de la transmisión de un bloque o trama de información. Indica también que hay más tramas para transmitir.

Page 83: Tema4FundamentosdeProtocolos_ControlErrores

• ETX (End of Text). Fin de texto. Este carácter se coloca al final del campo “Texto” que comenzó con STX.

• NAK (Negative Acknowledge). Reconocimiento negativo. Este carácter es transmitido por una estación para indicar que la información recibida está en error o cuando se transmite una respuesta negativa.

• SOH (Start of Heading). Comienzo de un “membrete” o “encabezado” (“header”) .

• STX (Start of Text). Comienzo de Texto. Este carácter precede al campo “Texto” e indica también la terminación del encabezado o “header”.

• SYN (Synchronous Idle). Carácter de Sincronización. Se transmite series de caracteres SYN y la sincronización se considera completa cuando se detecta por lo menos dos caracteres SYN consecutivos. Los caracteres SYN siempre se transmiten en pares, de modo que si sólo se recibe uno, se ignorará; la probabilidad de que dos caracteres SYN falsos ocurran consecutivamente es remota.

Page 84: Tema4FundamentosdeProtocolos_ControlErrores
Page 85: Tema4FundamentosdeProtocolos_ControlErrores

• Para la sincronización de los relojes entre las estaciones transmisora y receptora, al principio de cada trama se transmite secuencias de caracteres SYN y la sincronización se considera completa cuando la estación receptora ha reconocido por lo menos dos caracteres SYN consecutivos.

• El carácter de control SOH indica el comienzo de un encabezado o membrete (“header”) el cual contiene información para iniciar los procedimientos de intercambio. Por ejemplo, direcciones, instrucciones, procesamiento de texto, etc., necesarios para iniciar el intercambio de información; el número de caracteres u octetos del “Header” es variable, depende de la aplicación y tanto el SOH como el “Header” se pueden omitir si no son necesarios en una transmisión dada. Generalmente ellos constituyen la primera trama de toda una serie de un mismo mensaje.

Page 86: Tema4FundamentosdeProtocolos_ControlErrores

• En el campo Texto va la información que viene de las capas superiores. El número de caracteres en este campo también es variable, pero comúnmente el número es de 256 caracteres.

• El campo BCC (Block Check Character) que puede contener 8, 12 o 16 dígitos se emplea para la verificación de error. En el transmisor se efectúa una operación con un algoritmo de cálculo denominado CRC (que veremos en el Capítulo VII) con los datos desde SOH hasta ETX/ETB. El resultado de esta operación se coloca en el campo BCC y se transmite. En el receptor se efectúa la misma operación y el resultado de esa operación se compara con la cantidad que va en el BCC. Si esas cantidades son iguales, se considera que no hubo error y se responde con un ACK; en caso contrario, se responde con un NAK para solicitar la retransmisión de la trama.

• La desventaja principal del Protocolo BSC es su lentitud pues trabaja en operación semidúplex y cada bloque debe ser reconocido (ACK0 o ACK1) por el receptor antes de proceder a la transmisión del bloque siguiente de una serie. Este es un procedimiento lento cuando se quiere transmitir a grandes velocidades o cuando los retardos de transmisión son grandes, como es el caso de la transmisión por satélites. Para sistemas que trabajan en full dúplex el protocolo BSC no se emplea utilizándose algunos de los protocolos que veremos más adelante.

Page 87: Tema4FundamentosdeProtocolos_ControlErrores

Protocolos XMODEM y YMODEM

• Protocolo XMODEM• El protocolo XMODEM es un protocolo de transferencia de

archivos (FTP), desarrollado en 1977, que ha sido instrumentado en muchos de los programas de transferencia de archivos en los sistemas BBS (Bulletin Board Service).

• Protocolo YMODEM• El protocolo YMODEM se desarrolló como una extensión del

protocolo XMODEM para incorporar algunas carácterísticas adicionales a fin de mejorar su comportamiento. El formato del Protocolo YMODEM es idéntico al del XMODEM, Fig. 4.18, con la diferencia de que en vez de un carácter de arranque SOH utiliza el carácter STX. Además, el campo INFORMACION contiene 1024 octetos y el BCC se calcula con los códigos CRC.

Page 88: Tema4FundamentosdeProtocolos_ControlErrores

• En la práctica se consigue otros protocolos de transferencia de archivos, tales como

• el XMODEM-G, el YMODEM-G BATCH, el ZMODEM, el KERMIT, etc. Para más

• información sobre estos protocolos, ver, por ejemplo, [Held, 1994].

Page 89: Tema4FundamentosdeProtocolos_ControlErrores

Protocolos de Control por Conteo de Octetos

Protocolo DDCMP• La principal desventaja del protocolo BSC es la

complicación que se produce como resultado de los procedimientos especiales utilizados para asegurar la transparencia. Este problema se ha resuelto en el Protocolo DDCMP (Digital Data Communication Message Protocol) desarrollado por la DEC (Digital Equipment Corporation), en el cual mediante el conteo de los caracteres u octetos contenidos en el campo INFORMACION se ha eliminado la utilización de DLE y de otros caracteres de control.

• El Protocolo DDCMP es un protocolo general y puede utilizarse en sistemas HDX y FDX, serie o paralelo, asincrónicos y sincrónicos, punto a punto y multipunto.

Page 90: Tema4FundamentosdeProtocolos_ControlErrores

• Este protocolo, cuyo formato se muestra en la Fig. 4.19(a), utiliza un Encabezado o “header” que contiene los campos CLASE, CONTEO, BANDERA, RESPUESTA, SECUENCIA, DIRECCION y BCC1.

• Este Encabezado no es opcional como en el caso del protocolo BSC y más bien es la parte más importante de la trama, pues contiene información acerca del número de octetos de información así como las cantidades de

• octetos transmitidos y recibidos, que son las dosc aracterísticas más importantes del protocolo DDCMP;

Page 91: Tema4FundamentosdeProtocolos_ControlErrores

Resumen de las Características del Protocolo DDCMP

• Características

• Control por Conteo de Octetos

• Transmisión HDX/FDX Sincrónica

• Formato del Carácter: ASCII Sincrónico

• Velocidades: 300 a 100 kbps

• Interfaces: RS-232C, RS-449, V.35

Page 92: Tema4FundamentosdeProtocolos_ControlErrores

4.2.5. Protocolos de Control por Dígitos

• Los protocolos de control a nivel de enlace más utilizados en la transmisión de datos son los Protocolos de Control por Dígitos (Bit-Oriented Protocols). En estos protocolos la información se puede transmitir en secuencias de dígitos de cualquiera longitud sin necesidad de dividirla en caracteres, pues el control se hace dígito a dígito. Sin embargo, consideraciones de tipo instrumental y tecnológico requieren que la longitud de una secuencia de dígitos sea un múltiplo entero de un carácter, generalmente un octeto.

Page 93: Tema4FundamentosdeProtocolos_ControlErrores

Entre las ventajas de estos protocolos, tenemos:• Pueden trabajar en HDX y FDX en modo sincrónico.• Son más eficientes pues en el Encabezado solamente se tiene los

campos DIRECCION y CONTROL, normalmente de un octeto cada uno.• En el campo INFORMACION se puede emplear cualquier código,

incluso códigos cifrados.• No se necesita reconocimientos (positivos o negativos) para cada trama

transmitida; solamente después de haber transmitido un cierto número de tramas (típicamente 7) es que se retransmite un ACK y el proceso se repite.

• El control de flujo es más sencillo.• La integridad de los datos se verifica mediante una verificación de los

bloques recibidos mediante un BCC, y mientras no se detecte un error la transmisión continúa. En caso de detectarse errores en la trama, simplemente se pide la retransmisión de la trama en error. En los protocolos de control por dígitos en vez de las siglas BCC se utilizan las siglas FCS (Frame Check Secuence) o “Secuencia de Verificación de Trama”, que utilizaremos de aquí en adelante

Page 94: Tema4FundamentosdeProtocolos_ControlErrores

• Hay varias clases de protocolos de control por dígitos, pero aquí vamos a describir solamente dos protocolos, el Protocolo SDLC (Synchonous Data Link Control Protocol) y el protocolo HDLC (High-Level Data Link Control Protocol). Estos protocolosproporcionan una base excelente para el estudio de otros protocolos tales como el ANSI ADCCP, el UIT-T LAP/LAPB, el ISDN LAPD, el UNISYS DLC y los protocolos IEEE 802 para el control de redes de área local.

Page 95: Tema4FundamentosdeProtocolos_ControlErrores

• El formato SDLC, Fig. 4.20(a), contiene los campos

• BANDERA,

• DIRECCION,

• CONTROL,

• INFORMACION,

• FCS y BANDERA.

Page 96: Tema4FundamentosdeProtocolos_ControlErrores

Protocolo HDLC

• Los mensajes definidos en el campo CONTROL, Fig. 4.21(c) son un subconjunto de los mensajes del protocolo HDLC. Más adelante describiremos otro subconjunto del protocolo HDLC, denominado LAPB, utilizado en la transmisión por paquetes (Recomendación UIT-T X.25).

• Los campos BANDERA, INFORMACION y FCS tienen el mismo significado que en el protocolo SDLC. Sin embargo, en el campo INFORMACION se puede permitir caracteres de cualquiera longitud, pero por razones de instrumentación y compatibilidad generalmente los caracteres tienen ocho dígitos, es decir, son octetos.

• En el campo DIRECCION el protocolo HDLC, además de la dirección específica (un octeto), tiene también la opción de “dirección extendida”. En este caso el campo DIRECCION tendrá n octetos; el primer dígito del primer octeto del campo extendido es un UNO, mientras que los octetos siguientes comienzan con un CERO, excepto el último que comienza con un UNO. Una estación primaria puede controlar entonces hasta 127n estaciones secundarias.

Page 97: Tema4FundamentosdeProtocolos_ControlErrores

High-Level Data Link Control

Frame format for bit-oriented protocols.

Page 98: Tema4FundamentosdeProtocolos_ControlErrores

High-Level Data Link Control (2)

Control field of

(a) An information frame.

(b) A supervisory frame.

(c) An unnumbered frame.

Page 99: Tema4FundamentosdeProtocolos_ControlErrores

Modos de Operación en HDLC• En el protocolo HDLC hay tres modos de operación: el Modo de Respuesta

Normal (Normal Response Mode, NRM), el Modo de Respuesta Asincrónica (Asynchronous Response Mode, ARM) y el Modo Asincrónico Balanceado (Asynchronous Balanced Mode, ABM).

• El modo NRM es el modo mejor adaptado en aplicaciones multipunto con una estación primaria y varias secundarias. En el modo NRM una estación secundaria puede transmitir solamente cuando recibe autorización (poll o select) de la estación primaria. La estación secundaria puede transmitir entonces una secuencia de tramas en una respuesta, pero una vez que ha puesto el dígito F igual a UNO en la última trama, no puede transmitir hasta que no reciba una nueva autorización. Este es el mismo modo NRM del protocolo SDLC.

• En el modo ARM se permite a las estaciones secundarias enviar respuestas no solicitadas. Para transmitir una respuesta, una estación secundaria no necesita haber recibido un comando con el dígito P = 1. Sin embargo, si una secundaria recibe un comando con P = 1, debe responder con una trama con el dígito F = 1 lo más pronto posible.

• El modo ABM es el modo de operación entre dos estaciones de igual rango en enlaces punto a punto. Cualquiera de las dos estaciones puede iniciar un intercambio sin esperar una autorización

Page 100: Tema4FundamentosdeProtocolos_ControlErrores

Resumen de las Características del Protocolo HDLC

Características• Control por Dígitos• Transmisión Sincrónica HDX/FDX• Formatos de Carácter: ASCII, EBCDIC• Modos de Operación: NRM, ARM y ABM ( Comunicación Par a

Par)• Velocidades de Transmisión: desde 300 bps hasta 10 Mbps• Interfaces: RS-232C, V.35, RS-423A, RS-422A, RS-449• Medios de Transmisión: par trenzado, radio, cable coaxial, fibra

óptica• Transparencia mediante inserción de ceros para evitar que

aparezca el caracter de syn• Nota: entre trama y trama se puede enviar banderas o caracteres

de relleno de la forma• 1 1 1 1 1 1 1 1.

Page 101: Tema4FundamentosdeProtocolos_ControlErrores

The Data Link Layer in the Internet

A home personal computer acting as an internet host.

Page 102: Tema4FundamentosdeProtocolos_ControlErrores

PPP – Point to Point Protocol

The PPP full frame format for unnumbered mode operation.

Page 103: Tema4FundamentosdeProtocolos_ControlErrores

PPP – Point to Point Protocol (2)

A simplified phase diagram for bring a line up and down.

Page 104: Tema4FundamentosdeProtocolos_ControlErrores

PPP – Point to Point Protocol (3)

The LCP frame types.