protocolos y servicios informáticos

31
Universidad Politécnica de Durango Alejandro Pereda Ortega Protocolos y Servicios Informáticos

Upload: alepeor

Post on 29-Jun-2015

109 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Protocolos y servicios informáticos

Universidad Politeacutecnica de Durango

Alejandro Pereda Ortega

Protocolos y Servicios

Informaacuteticos

Introduccioacuten

Acuerdos sobre- Inicio y final del intercambio de datos- Sincronizacioacuten de emisores y receptores- Deteccioacuten y correccioacuten de errores de transmisioacuten- Formateo y codificacioacuten de los datos

Concepto de Protocolo

El teacutermino protocolo engloba varias acepciones en tanto la maacutes familiar y de corriente uso por el comuacuten de la gente se refiere al conjunto de conductas y reglas que una persona deberaacute observar y respetar cuando se mueva en determinados aacutembitos oficiales ya sea por una cuestioacuten de circunstancia especial o bien porque ostenta alguacuten cargo que lo lleva a transitar por estos

Los cinco elementos de un protocolo

1 Servicio que proporciona el protocolo2 Suposiciones sobre el entorno donde se ejecuta el protocolo3 Vocabulario de los mensajes utilizados en el protocolo4 Formato de los mensajes del vocabulario del protocolo5 Reglas de procedimiento que controlan la consistencia del intercambio de mensajes

Especificacioacuten del servicio

El propoacutesito del protocolo es transferir ficheros de texto como secuencias de caracteres a traveacutes de una liacutenea de datos mientras que en la proteccioacuten frente a errores de transmisioacuten se asume que todos los errores pueden ser detectados El protocolo se define para transferencias full-duplex es decir deberiacutea permitir transferir en ambas direcciones simultaacuteneamente Los acuses de recibo positivos y negativos para el traacutefico desde A hasta B se enviacutean por el canal desde B hasta A y viceversa Cada mensaje contiene dos partes una parte que es el mensaje en siacute y una parte de control que se aplica al traacutefico del canal inverso

Suposiciones del entorno

- Dos usuarios como miacutenimo + un canal de transmisioacuten- Los usuarios enviacutean una solicitud de transferencia de fichero yesperan a que finalice- Canal con distorsiones aleatorias pero no se pierden duplican insertan o desordenan mensajes- Se pueden producir errores aleatorios

Reglas de procedimiento

1 Si la recepcioacuten anterior estuvo libre de errores el siguiente mensaje por el canal inverso debe llevar un reconocimiento positivo en caso contrario llevaraacute un reconocimiento negativo2 Si la recepcioacuten anterior portaba un reconocimiento negativo o si fue erroacutenea se retransmitiraacute el uacuteltimo mensaje en caso contrario se transmitiraacute el mensaje siguiente

Defectos de disentildeo

- No se puede transmitir en ambas direcciones simultaacuteneamente- No se ha definido procedimientos de inicio y finalizacioacuten iquesterror- Se aceptan todos los mensajes recibidos correctamente incluyendo los duplicados- Si se aceptan los que llegan OK y no se aceptan los mensajes de error duplicacioacuten de mensajes cuando se producen dos errores consecutivos

Servicio y entorno

Ventajas del disentildeo por niveles- Ayuda a distinguir la estructura loacutegica del protocolo al separar tareas de alto nivel de las de bajo nivel- Facilita la escalabilidad del protocolo Actores del modelo de disentildeo- Un nivel o capa define un grado de abstraccioacuten de un protocolo agrupando funciones relacionadas y separando las independientes- Un interfaz separa (y une) dos niveles distintos de abstraccioacuten

Vocabulario y formato de mensajes

- Se define para cada nivel- Dos tipos de protocolos en cuanto formato de mensajes- protocolo orientado a bitTx datos como flujo de bits sin longitud definida (flags de inicio y fin) Ej HDLC- protocolo orientado a caraacutecterTx datos en bloques de n bits (o muacuteltiplos de n)(caracteres marcadores de inicio y fin) Ej Caraacutecter STX(Start of TeXt) y ETX (End of TeXt)

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 2: Protocolos y servicios informáticos

Introduccioacuten

Acuerdos sobre- Inicio y final del intercambio de datos- Sincronizacioacuten de emisores y receptores- Deteccioacuten y correccioacuten de errores de transmisioacuten- Formateo y codificacioacuten de los datos

Concepto de Protocolo

El teacutermino protocolo engloba varias acepciones en tanto la maacutes familiar y de corriente uso por el comuacuten de la gente se refiere al conjunto de conductas y reglas que una persona deberaacute observar y respetar cuando se mueva en determinados aacutembitos oficiales ya sea por una cuestioacuten de circunstancia especial o bien porque ostenta alguacuten cargo que lo lleva a transitar por estos

Los cinco elementos de un protocolo

1 Servicio que proporciona el protocolo2 Suposiciones sobre el entorno donde se ejecuta el protocolo3 Vocabulario de los mensajes utilizados en el protocolo4 Formato de los mensajes del vocabulario del protocolo5 Reglas de procedimiento que controlan la consistencia del intercambio de mensajes

Especificacioacuten del servicio

El propoacutesito del protocolo es transferir ficheros de texto como secuencias de caracteres a traveacutes de una liacutenea de datos mientras que en la proteccioacuten frente a errores de transmisioacuten se asume que todos los errores pueden ser detectados El protocolo se define para transferencias full-duplex es decir deberiacutea permitir transferir en ambas direcciones simultaacuteneamente Los acuses de recibo positivos y negativos para el traacutefico desde A hasta B se enviacutean por el canal desde B hasta A y viceversa Cada mensaje contiene dos partes una parte que es el mensaje en siacute y una parte de control que se aplica al traacutefico del canal inverso

Suposiciones del entorno

- Dos usuarios como miacutenimo + un canal de transmisioacuten- Los usuarios enviacutean una solicitud de transferencia de fichero yesperan a que finalice- Canal con distorsiones aleatorias pero no se pierden duplican insertan o desordenan mensajes- Se pueden producir errores aleatorios

Reglas de procedimiento

1 Si la recepcioacuten anterior estuvo libre de errores el siguiente mensaje por el canal inverso debe llevar un reconocimiento positivo en caso contrario llevaraacute un reconocimiento negativo2 Si la recepcioacuten anterior portaba un reconocimiento negativo o si fue erroacutenea se retransmitiraacute el uacuteltimo mensaje en caso contrario se transmitiraacute el mensaje siguiente

Defectos de disentildeo

- No se puede transmitir en ambas direcciones simultaacuteneamente- No se ha definido procedimientos de inicio y finalizacioacuten iquesterror- Se aceptan todos los mensajes recibidos correctamente incluyendo los duplicados- Si se aceptan los que llegan OK y no se aceptan los mensajes de error duplicacioacuten de mensajes cuando se producen dos errores consecutivos

Servicio y entorno

Ventajas del disentildeo por niveles- Ayuda a distinguir la estructura loacutegica del protocolo al separar tareas de alto nivel de las de bajo nivel- Facilita la escalabilidad del protocolo Actores del modelo de disentildeo- Un nivel o capa define un grado de abstraccioacuten de un protocolo agrupando funciones relacionadas y separando las independientes- Un interfaz separa (y une) dos niveles distintos de abstraccioacuten

Vocabulario y formato de mensajes

- Se define para cada nivel- Dos tipos de protocolos en cuanto formato de mensajes- protocolo orientado a bitTx datos como flujo de bits sin longitud definida (flags de inicio y fin) Ej HDLC- protocolo orientado a caraacutecterTx datos en bloques de n bits (o muacuteltiplos de n)(caracteres marcadores de inicio y fin) Ej Caraacutecter STX(Start of TeXt) y ETX (End of TeXt)

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 3: Protocolos y servicios informáticos

Concepto de Protocolo

El teacutermino protocolo engloba varias acepciones en tanto la maacutes familiar y de corriente uso por el comuacuten de la gente se refiere al conjunto de conductas y reglas que una persona deberaacute observar y respetar cuando se mueva en determinados aacutembitos oficiales ya sea por una cuestioacuten de circunstancia especial o bien porque ostenta alguacuten cargo que lo lleva a transitar por estos

Los cinco elementos de un protocolo

1 Servicio que proporciona el protocolo2 Suposiciones sobre el entorno donde se ejecuta el protocolo3 Vocabulario de los mensajes utilizados en el protocolo4 Formato de los mensajes del vocabulario del protocolo5 Reglas de procedimiento que controlan la consistencia del intercambio de mensajes

Especificacioacuten del servicio

El propoacutesito del protocolo es transferir ficheros de texto como secuencias de caracteres a traveacutes de una liacutenea de datos mientras que en la proteccioacuten frente a errores de transmisioacuten se asume que todos los errores pueden ser detectados El protocolo se define para transferencias full-duplex es decir deberiacutea permitir transferir en ambas direcciones simultaacuteneamente Los acuses de recibo positivos y negativos para el traacutefico desde A hasta B se enviacutean por el canal desde B hasta A y viceversa Cada mensaje contiene dos partes una parte que es el mensaje en siacute y una parte de control que se aplica al traacutefico del canal inverso

Suposiciones del entorno

- Dos usuarios como miacutenimo + un canal de transmisioacuten- Los usuarios enviacutean una solicitud de transferencia de fichero yesperan a que finalice- Canal con distorsiones aleatorias pero no se pierden duplican insertan o desordenan mensajes- Se pueden producir errores aleatorios

Reglas de procedimiento

1 Si la recepcioacuten anterior estuvo libre de errores el siguiente mensaje por el canal inverso debe llevar un reconocimiento positivo en caso contrario llevaraacute un reconocimiento negativo2 Si la recepcioacuten anterior portaba un reconocimiento negativo o si fue erroacutenea se retransmitiraacute el uacuteltimo mensaje en caso contrario se transmitiraacute el mensaje siguiente

Defectos de disentildeo

- No se puede transmitir en ambas direcciones simultaacuteneamente- No se ha definido procedimientos de inicio y finalizacioacuten iquesterror- Se aceptan todos los mensajes recibidos correctamente incluyendo los duplicados- Si se aceptan los que llegan OK y no se aceptan los mensajes de error duplicacioacuten de mensajes cuando se producen dos errores consecutivos

Servicio y entorno

Ventajas del disentildeo por niveles- Ayuda a distinguir la estructura loacutegica del protocolo al separar tareas de alto nivel de las de bajo nivel- Facilita la escalabilidad del protocolo Actores del modelo de disentildeo- Un nivel o capa define un grado de abstraccioacuten de un protocolo agrupando funciones relacionadas y separando las independientes- Un interfaz separa (y une) dos niveles distintos de abstraccioacuten

Vocabulario y formato de mensajes

- Se define para cada nivel- Dos tipos de protocolos en cuanto formato de mensajes- protocolo orientado a bitTx datos como flujo de bits sin longitud definida (flags de inicio y fin) Ej HDLC- protocolo orientado a caraacutecterTx datos en bloques de n bits (o muacuteltiplos de n)(caracteres marcadores de inicio y fin) Ej Caraacutecter STX(Start of TeXt) y ETX (End of TeXt)

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 4: Protocolos y servicios informáticos

Los cinco elementos de un protocolo

1 Servicio que proporciona el protocolo2 Suposiciones sobre el entorno donde se ejecuta el protocolo3 Vocabulario de los mensajes utilizados en el protocolo4 Formato de los mensajes del vocabulario del protocolo5 Reglas de procedimiento que controlan la consistencia del intercambio de mensajes

Especificacioacuten del servicio

El propoacutesito del protocolo es transferir ficheros de texto como secuencias de caracteres a traveacutes de una liacutenea de datos mientras que en la proteccioacuten frente a errores de transmisioacuten se asume que todos los errores pueden ser detectados El protocolo se define para transferencias full-duplex es decir deberiacutea permitir transferir en ambas direcciones simultaacuteneamente Los acuses de recibo positivos y negativos para el traacutefico desde A hasta B se enviacutean por el canal desde B hasta A y viceversa Cada mensaje contiene dos partes una parte que es el mensaje en siacute y una parte de control que se aplica al traacutefico del canal inverso

Suposiciones del entorno

- Dos usuarios como miacutenimo + un canal de transmisioacuten- Los usuarios enviacutean una solicitud de transferencia de fichero yesperan a que finalice- Canal con distorsiones aleatorias pero no se pierden duplican insertan o desordenan mensajes- Se pueden producir errores aleatorios

Reglas de procedimiento

1 Si la recepcioacuten anterior estuvo libre de errores el siguiente mensaje por el canal inverso debe llevar un reconocimiento positivo en caso contrario llevaraacute un reconocimiento negativo2 Si la recepcioacuten anterior portaba un reconocimiento negativo o si fue erroacutenea se retransmitiraacute el uacuteltimo mensaje en caso contrario se transmitiraacute el mensaje siguiente

Defectos de disentildeo

- No se puede transmitir en ambas direcciones simultaacuteneamente- No se ha definido procedimientos de inicio y finalizacioacuten iquesterror- Se aceptan todos los mensajes recibidos correctamente incluyendo los duplicados- Si se aceptan los que llegan OK y no se aceptan los mensajes de error duplicacioacuten de mensajes cuando se producen dos errores consecutivos

Servicio y entorno

Ventajas del disentildeo por niveles- Ayuda a distinguir la estructura loacutegica del protocolo al separar tareas de alto nivel de las de bajo nivel- Facilita la escalabilidad del protocolo Actores del modelo de disentildeo- Un nivel o capa define un grado de abstraccioacuten de un protocolo agrupando funciones relacionadas y separando las independientes- Un interfaz separa (y une) dos niveles distintos de abstraccioacuten

Vocabulario y formato de mensajes

- Se define para cada nivel- Dos tipos de protocolos en cuanto formato de mensajes- protocolo orientado a bitTx datos como flujo de bits sin longitud definida (flags de inicio y fin) Ej HDLC- protocolo orientado a caraacutecterTx datos en bloques de n bits (o muacuteltiplos de n)(caracteres marcadores de inicio y fin) Ej Caraacutecter STX(Start of TeXt) y ETX (End of TeXt)

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 5: Protocolos y servicios informáticos

Especificacioacuten del servicio

El propoacutesito del protocolo es transferir ficheros de texto como secuencias de caracteres a traveacutes de una liacutenea de datos mientras que en la proteccioacuten frente a errores de transmisioacuten se asume que todos los errores pueden ser detectados El protocolo se define para transferencias full-duplex es decir deberiacutea permitir transferir en ambas direcciones simultaacuteneamente Los acuses de recibo positivos y negativos para el traacutefico desde A hasta B se enviacutean por el canal desde B hasta A y viceversa Cada mensaje contiene dos partes una parte que es el mensaje en siacute y una parte de control que se aplica al traacutefico del canal inverso

Suposiciones del entorno

- Dos usuarios como miacutenimo + un canal de transmisioacuten- Los usuarios enviacutean una solicitud de transferencia de fichero yesperan a que finalice- Canal con distorsiones aleatorias pero no se pierden duplican insertan o desordenan mensajes- Se pueden producir errores aleatorios

Reglas de procedimiento

1 Si la recepcioacuten anterior estuvo libre de errores el siguiente mensaje por el canal inverso debe llevar un reconocimiento positivo en caso contrario llevaraacute un reconocimiento negativo2 Si la recepcioacuten anterior portaba un reconocimiento negativo o si fue erroacutenea se retransmitiraacute el uacuteltimo mensaje en caso contrario se transmitiraacute el mensaje siguiente

Defectos de disentildeo

- No se puede transmitir en ambas direcciones simultaacuteneamente- No se ha definido procedimientos de inicio y finalizacioacuten iquesterror- Se aceptan todos los mensajes recibidos correctamente incluyendo los duplicados- Si se aceptan los que llegan OK y no se aceptan los mensajes de error duplicacioacuten de mensajes cuando se producen dos errores consecutivos

Servicio y entorno

Ventajas del disentildeo por niveles- Ayuda a distinguir la estructura loacutegica del protocolo al separar tareas de alto nivel de las de bajo nivel- Facilita la escalabilidad del protocolo Actores del modelo de disentildeo- Un nivel o capa define un grado de abstraccioacuten de un protocolo agrupando funciones relacionadas y separando las independientes- Un interfaz separa (y une) dos niveles distintos de abstraccioacuten

Vocabulario y formato de mensajes

- Se define para cada nivel- Dos tipos de protocolos en cuanto formato de mensajes- protocolo orientado a bitTx datos como flujo de bits sin longitud definida (flags de inicio y fin) Ej HDLC- protocolo orientado a caraacutecterTx datos en bloques de n bits (o muacuteltiplos de n)(caracteres marcadores de inicio y fin) Ej Caraacutecter STX(Start of TeXt) y ETX (End of TeXt)

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 6: Protocolos y servicios informáticos

Suposiciones del entorno

- Dos usuarios como miacutenimo + un canal de transmisioacuten- Los usuarios enviacutean una solicitud de transferencia de fichero yesperan a que finalice- Canal con distorsiones aleatorias pero no se pierden duplican insertan o desordenan mensajes- Se pueden producir errores aleatorios

Reglas de procedimiento

1 Si la recepcioacuten anterior estuvo libre de errores el siguiente mensaje por el canal inverso debe llevar un reconocimiento positivo en caso contrario llevaraacute un reconocimiento negativo2 Si la recepcioacuten anterior portaba un reconocimiento negativo o si fue erroacutenea se retransmitiraacute el uacuteltimo mensaje en caso contrario se transmitiraacute el mensaje siguiente

Defectos de disentildeo

- No se puede transmitir en ambas direcciones simultaacuteneamente- No se ha definido procedimientos de inicio y finalizacioacuten iquesterror- Se aceptan todos los mensajes recibidos correctamente incluyendo los duplicados- Si se aceptan los que llegan OK y no se aceptan los mensajes de error duplicacioacuten de mensajes cuando se producen dos errores consecutivos

Servicio y entorno

Ventajas del disentildeo por niveles- Ayuda a distinguir la estructura loacutegica del protocolo al separar tareas de alto nivel de las de bajo nivel- Facilita la escalabilidad del protocolo Actores del modelo de disentildeo- Un nivel o capa define un grado de abstraccioacuten de un protocolo agrupando funciones relacionadas y separando las independientes- Un interfaz separa (y une) dos niveles distintos de abstraccioacuten

Vocabulario y formato de mensajes

- Se define para cada nivel- Dos tipos de protocolos en cuanto formato de mensajes- protocolo orientado a bitTx datos como flujo de bits sin longitud definida (flags de inicio y fin) Ej HDLC- protocolo orientado a caraacutecterTx datos en bloques de n bits (o muacuteltiplos de n)(caracteres marcadores de inicio y fin) Ej Caraacutecter STX(Start of TeXt) y ETX (End of TeXt)

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 7: Protocolos y servicios informáticos

Reglas de procedimiento

1 Si la recepcioacuten anterior estuvo libre de errores el siguiente mensaje por el canal inverso debe llevar un reconocimiento positivo en caso contrario llevaraacute un reconocimiento negativo2 Si la recepcioacuten anterior portaba un reconocimiento negativo o si fue erroacutenea se retransmitiraacute el uacuteltimo mensaje en caso contrario se transmitiraacute el mensaje siguiente

Defectos de disentildeo

- No se puede transmitir en ambas direcciones simultaacuteneamente- No se ha definido procedimientos de inicio y finalizacioacuten iquesterror- Se aceptan todos los mensajes recibidos correctamente incluyendo los duplicados- Si se aceptan los que llegan OK y no se aceptan los mensajes de error duplicacioacuten de mensajes cuando se producen dos errores consecutivos

Servicio y entorno

Ventajas del disentildeo por niveles- Ayuda a distinguir la estructura loacutegica del protocolo al separar tareas de alto nivel de las de bajo nivel- Facilita la escalabilidad del protocolo Actores del modelo de disentildeo- Un nivel o capa define un grado de abstraccioacuten de un protocolo agrupando funciones relacionadas y separando las independientes- Un interfaz separa (y une) dos niveles distintos de abstraccioacuten

Vocabulario y formato de mensajes

- Se define para cada nivel- Dos tipos de protocolos en cuanto formato de mensajes- protocolo orientado a bitTx datos como flujo de bits sin longitud definida (flags de inicio y fin) Ej HDLC- protocolo orientado a caraacutecterTx datos en bloques de n bits (o muacuteltiplos de n)(caracteres marcadores de inicio y fin) Ej Caraacutecter STX(Start of TeXt) y ETX (End of TeXt)

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 8: Protocolos y servicios informáticos

Defectos de disentildeo

- No se puede transmitir en ambas direcciones simultaacuteneamente- No se ha definido procedimientos de inicio y finalizacioacuten iquesterror- Se aceptan todos los mensajes recibidos correctamente incluyendo los duplicados- Si se aceptan los que llegan OK y no se aceptan los mensajes de error duplicacioacuten de mensajes cuando se producen dos errores consecutivos

Servicio y entorno

Ventajas del disentildeo por niveles- Ayuda a distinguir la estructura loacutegica del protocolo al separar tareas de alto nivel de las de bajo nivel- Facilita la escalabilidad del protocolo Actores del modelo de disentildeo- Un nivel o capa define un grado de abstraccioacuten de un protocolo agrupando funciones relacionadas y separando las independientes- Un interfaz separa (y une) dos niveles distintos de abstraccioacuten

Vocabulario y formato de mensajes

- Se define para cada nivel- Dos tipos de protocolos en cuanto formato de mensajes- protocolo orientado a bitTx datos como flujo de bits sin longitud definida (flags de inicio y fin) Ej HDLC- protocolo orientado a caraacutecterTx datos en bloques de n bits (o muacuteltiplos de n)(caracteres marcadores de inicio y fin) Ej Caraacutecter STX(Start of TeXt) y ETX (End of TeXt)

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 9: Protocolos y servicios informáticos

Servicio y entorno

Ventajas del disentildeo por niveles- Ayuda a distinguir la estructura loacutegica del protocolo al separar tareas de alto nivel de las de bajo nivel- Facilita la escalabilidad del protocolo Actores del modelo de disentildeo- Un nivel o capa define un grado de abstraccioacuten de un protocolo agrupando funciones relacionadas y separando las independientes- Un interfaz separa (y une) dos niveles distintos de abstraccioacuten

Vocabulario y formato de mensajes

- Se define para cada nivel- Dos tipos de protocolos en cuanto formato de mensajes- protocolo orientado a bitTx datos como flujo de bits sin longitud definida (flags de inicio y fin) Ej HDLC- protocolo orientado a caraacutecterTx datos en bloques de n bits (o muacuteltiplos de n)(caracteres marcadores de inicio y fin) Ej Caraacutecter STX(Start of TeXt) y ETX (End of TeXt)

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 10: Protocolos y servicios informáticos

Vocabulario y formato de mensajes

- Se define para cada nivel- Dos tipos de protocolos en cuanto formato de mensajes- protocolo orientado a bitTx datos como flujo de bits sin longitud definida (flags de inicio y fin) Ej HDLC- protocolo orientado a caraacutecterTx datos en bloques de n bits (o muacuteltiplos de n)(caracteres marcadores de inicio y fin) Ej Caraacutecter STX(Start of TeXt) y ETX (End of TeXt)

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 11: Protocolos y servicios informáticos

Reglas de procedimiento

- Procesos concurrentes- Necesitamos herramientas maacutes formales diagramatemporal maacutequina de estados finitas ESTELLE

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 12: Protocolos y servicios informáticos

Disentildeo estructurado de protocolos

Las diez reglas de disentildeo1 Asegurarse de definir bien todos los aspectos del protocolo2 Definir el servicio a realizar por cada nivel antes de elegir estructuras3 Disentildear antes funcionalidad externa que la interna4 Mantener el disentildeo simple5 No conectar lo que es independiente6 Obviar aquello que es innecesario7 Validar el disentildeo antes de implementarlo8 Implementar disentildeo medir su rendimiento y optimizarlo9 Comprobar que la versioacuten final cumple los criterios de disentildeo10 Nunca saltarse las 7 primeras reglas

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 13: Protocolos y servicios informáticos

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 14: Protocolos y servicios informáticos

Mecanismos baacutesicos de los protocolos

1 Control de secuencia y control de errores- Redundancia- Tipos de coacutedigos- Coacutedigos de paridad- Correccioacuten de errores (varios meacutetodos)2 Control de flujo- protocolo simple sin control de flujo- protocolo Xon-Xoff- protocolo de parada y espera- protocolo de parada y espera con timeout- protocolo de bit alternante- protocolos de ventana

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 15: Protocolos y servicios informáticos

Control de secuencia y de errores

Redundancia- Antildeadir informacioacuten redundante a los mensajes- Dos formas de gestionar los errores- Control de errores hacia delante 1048790 coacutedigos correctores- Control de errores por realimentacioacuten 1048790 coacutedigos detectorespequivprobabilidad de error en la transmisioacuten de un mensajef equivfraccioacuten de errores que capta el meacutetodo de controlerror residual=pmiddot(1-f)- Si pdarr no coacutedigo corrector (ralentiza las comunicaciones)Si puarr no coacutedigo detector (las reTx tambieacuten podriacutean ser erroacuteneas)- Tambieacuten depende del coste si pdarr y coste de reTxuarr coacutedigo corrector- Sistema mixto el receptor corrige los errores maacutes frecuentes y solicita reTx de los mensajes alterados por errores menos frecuentes

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 16: Protocolos y servicios informáticos

Control de secuencia y de errores

Correccioacuten de erroresbull Los coacutedigos se eligen de forma que haya varios bits de diferencia entre dos palabras vaacutelidasbull Rxor reconstruye mensaje asociaacutendole la palabra de coacutedigo maacutes cercanabull Razoacuten de coacutedigo de sistema corrector lt razoacuten de coacutedigo de sistema detectorbull Se usa sistema corrector si hayndash un retraso de transmisioacuten altondash ausencia de canal de retornondash una tasa de errores alta

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 17: Protocolos y servicios informáticos

Control de secuencia y de errores

Coacutedigo corrector basado en paridadLRC= Longitudinal Redundancy CheckVRC= Vertical Redundancy Checkd=28 bitse=12 bitsRazoacuten de coacutedigo=28(28+12)=07LRCD = 1 0 0 0 1 0 0 0A = 1 0 0 0 0 0 1 0T = 1 0 1 0 1 0 0 1A = 1 0 0 0 0 0 1 0VRC 0 0 1 0 0 0

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 18: Protocolos y servicios informáticos

Control de secuencia y de errores

Raacutefagasbull La mayor parte de las veces los errores no se producen de forma aisladabull Mecanismos correctores tolerantes a raacutefagas- Coacutedigos de interlineado- Reed-Solomonbull Se ha demostrado que en la mayoriacutea de los casos es mejor el control por realimentacioacuten (uarraprovechamiento delcanal y darrerror residual)

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 19: Protocolos y servicios informáticos

Control de secuencia y de errores

Coacutedigo de redundancia ciacuteclica (CRC)bull Mensajes de n bits se tratan como polinomios de grado n-1 101 = x2 + 1bull El coacutedigo de comprobacioacuten se obtiene dividiendo el polinomio del mensajepor un polinomio generador G =gt se halla el resto y se le antildeade al mensajebull El mensaje recibido es correcto si el divisible por G No se detecta el error cuando es divisible por Gbull Ejemplos de polinomiosndash CRC-12 x12+x11+x3+x2+1ndash CRC-16 x16+x15+x2+1ndash CRC-CCITT x16+x12+x5+1bull CRC-CCITT detectandash Cualquier nuacutemero impar de errores simplesndash Todos los errores doblesndash Todas las raacutefagas de 16 o menos bitsndash El 99997 de las raacutefagas de 17 bitsndash El 99998 de las raacutefagas de 18 o maacutes bits

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 20: Protocolos y servicios informáticos

Control de flujo

bull Objetivosndash Asegurarse que no se transmiten los datosmaacutes raacutepido de lo que se puede procesarndash Optimizar el uso del canalndash Evitar saturar el canalndash Proteger la transmisioacuten contra borradoinsercioacuten duplicacioacuten y reordenamiento demensajes

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 21: Protocolos y servicios informáticos

Control de flujo

bull Protocolo simple sin control de flujondash OK si Rxor maacutes raacutepido que Txor se viola el principio ldquono hacer suposiciones de la velocidad relativa de procesos concurrentesrdquondash Rx es maacutes costoso que Txbull Protocolo Xon-Xoffndash No requiere negociacioacuten previandash Duacuteplexndash Si se pierde Xon bloqueo de los cuatro procesosndash No se protege contra la saturacioacuten de forma efectivandash No se protege contra la peacuterdida de mensajes

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 22: Protocolos y servicios informáticos

Control de flujo

bull Protocolo de parada y esperandash Desaparece problema de saturacioacuten en Rxorndash Si se pierde un mensaje se bloqueandash Se desaprovecha el canalndash Retraso de 2middott+a-p por cada mensaje enviadobull t tiempo de propagacioacutenbull a tiempo que tarda el receptor en aceptar el mensajebull p tiempo que tarda el emisor en prepararlobull Protocolo de parada y espera con timeoutndash Protege contra la peacuterdida de tramasndash Si tanto Txor como Rxor pueden iniciar reTx puedenperderse ambas y asociar equivocadamente cada mensajecon otro ackndash Una solucioacuten numerar mensajes y ackrsquos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 23: Protocolos y servicios informáticos

Control de flujo

bull Protocolo de bit alternantendash Timeout + nordm de secuencia de 1bitndash Puede fallar si se produce un retraso demasiado grande enel enviacuteo del ack desde el Rxorbull Protocolo de ventanandash En la fase de establecimiento de conexioacuten se negociatamantildeo de la ventana (W)ndash El Txor puede enviar W mensajes sin esperar acuse derecibo del Rxorndash Optimiza canal en los que el tiempo de traacutensito es altondash Control de error en ventana deslizantebull Los reconocimientos tienen que numerarsebull ACK1 significa que se recibioacute correctamente la 0bull Si se pierde un mensaje y llega el siguientendash se rechaza vuelta a atraacutesndash se acepta reTx selectivabull Reconocimientos globales ACK4 implica Rx OK de 13

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 24: Protocolos y servicios informáticos

Protocolo de ventana (cont)

ndash Ventana de Tx mensajes enviados pendientes de ack (de tamantildeo variable pero limitada a W)ndash Ventana de Rx nordms de secuencia que Rxor espera Rx (de tamantildeo fijo)ndash Para el rango de los nordms de secuencia debe cumplirsebull rango(nordms secuencia)lt=K+Nbull donde K es el tamantildeo de la ventana de Rx y N el tamantildeo maacuteximo de la ventana de Txbull en caso contrario podriacutean darse duplicaciones

  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
Page 25: Protocolos y servicios informáticos
  • Protocolos y Servicios Informaacuteticos
  • Introduccioacuten
  • Concepto de Protocolo
  • Los cinco elementos de un protocolo
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31