68
Enlace de datos José M. Barceló Ordinas Llorenç Cerdà Alabern P03/75098/02118

José M. Barceló Ordinas Llorenç Cerdà Alabern

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Enlace de datosJosé M. Barceló OrdinasLlorenç Cerdà Alabern

P03/75098/02118

Enlace de datosJosé M. Barceló OrdinasLlorenç Cerdà Alabern

P03/75098/02118

FUOC • P03/75098/02118 Enlace de datos FUOC • P03/75098/02118 Enlace de datos

FUOC • P03/75098/02118 Enlace de datos

Índice

Introducción .............................................................................................. 5

Objetivos ..................................................................................................... 6

1. Descripción del nivel de enlace ....................................................... 71.1. Montaje de las tramas ....................................................................... 8

1.2. Sincronismo de trama ....................................................................... 8

1.2.1. Mecanismo de transparencia ................................................ 10

2. Detección de errores ........................................................................... 122.1. Distancia de Hamming ..................................................................... 13

2.2. Capacidad de detección de una ráfaga de error ............................... 14

2.3. Probabilidad de que una combinación arbitraria

de bits sea aceptada como palabra válida ......................................... 14

2.4. Control de paridad ........................................................................... 15

2.5. Códigos de paridad longitudinal y transversal ................................ 16

2.6. Códigos detectores de errores CRC ................................................... 18

2.7. Códigos correctores de errores .......................................................... 19

3. Control de errores ............................................................................... 213.1. Diagramas de tiempo ........................................................................ 22

3.2. Evaluación de los protocolos: eficiencia .......................................... 24

3.3. Protocolo Stop & Wait ....................................................................... 25

3.3.1. Protocolo Stop & Wait con retransmisiones implícitas ......... 26

3.3.2. Protocolo Stop & Wait con retransmisiones explícitas ......... 27

3.3.3. Necesidad de numerar las tramas y las confirmaciones ....... 28

3.3.4. Cálculo de la eficiencia del protocolo Stop & Wait ............... 29

3.4. Protocolos de transmisión continua ................................................ 31

3.4.1. Retransmisión selectiva ......................................................... 32

3.4.2. Protocolo Go back N .............................................................. 35

4. Control de flujo ................................................................................... 374.1. Protocolos de ventana ...................................................................... 37

4.2. Dimensionado de la lista de transmisión ......................................... 38

4.3. Ventana de recepción ....................................................................... 38

4.4. Ventana óptima ................................................................................ 39

4.5. Dimensionamiento del campo de los identificadores de trama ...... 40

5. Otras consideraciones sobre el nivel de enlace ............................ 435.1. Piggybacking ....................................................................................... 43

FUOC • P03/75098/02118 Enlace de datos

Índice

Introducción .............................................................................................. 5

Objetivos ..................................................................................................... 6

1. Descripción del nivel de enlace ....................................................... 71.1. Montaje de las tramas ....................................................................... 8

1.2. Sincronismo de trama ....................................................................... 8

1.2.1. Mecanismo de transparencia ................................................ 10

2. Detección de errores ........................................................................... 122.1. Distancia de Hamming ..................................................................... 13

2.2. Capacidad de detección de una ráfaga de error ............................... 14

2.3. Probabilidad de que una combinación arbitraria

de bits sea aceptada como palabra válida ......................................... 14

2.4. Control de paridad ........................................................................... 15

2.5. Códigos de paridad longitudinal y transversal ................................ 16

2.6. Códigos detectores de errores CRC ................................................... 18

2.7. Códigos correctores de errores .......................................................... 19

3. Control de errores ............................................................................... 213.1. Diagramas de tiempo ........................................................................ 22

3.2. Evaluación de los protocolos: eficiencia .......................................... 24

3.3. Protocolo Stop & Wait ....................................................................... 25

3.3.1. Protocolo Stop & Wait con retransmisiones implícitas ......... 26

3.3.2. Protocolo Stop & Wait con retransmisiones explícitas ......... 27

3.3.3. Necesidad de numerar las tramas y las confirmaciones ....... 28

3.3.4. Cálculo de la eficiencia del protocolo Stop & Wait ............... 29

3.4. Protocolos de transmisión continua ................................................ 31

3.4.1. Retransmisión selectiva ......................................................... 32

3.4.2. Protocolo Go back N .............................................................. 35

4. Control de flujo ................................................................................... 374.1. Protocolos de ventana ...................................................................... 37

4.2. Dimensionado de la lista de transmisión ......................................... 38

4.3. Ventana de recepción ....................................................................... 38

4.4. Ventana óptima ................................................................................ 39

4.5. Dimensionamiento del campo de los identificadores de trama ...... 40

5. Otras consideraciones sobre el nivel de enlace ............................ 435.1. Piggybacking ....................................................................................... 43

FUOC • P03/75098/02118 Enlace de datos

5.2. Sincronismo de protocolo ................................................................. 44

5.3. Importancia del nivel de enlace según el contexto ......................... 45

5.4. Multiplexación en el nivel de enlace ............................................... 47

6. Ejemplo: el protocolo HDLC ............................................................. 49

Resumen ...................................................................................................... 52

Ejercicios de autoevaluación ................................................................. 53

Solucionario ............................................................................................... 55

Glosario ....................................................................................................... 59

Bibliografía ................................................................................................ 60

Anexos ......................................................................................................... 61

FUOC • P03/75098/02118 Enlace de datos

5.2. Sincronismo de protocolo ................................................................. 44

5.3. Importancia del nivel de enlace según el contexto ......................... 45

5.4. Multiplexación en el nivel de enlace ............................................... 47

6. Ejemplo: el protocolo HDLC ............................................................. 49

Resumen ...................................................................................................... 52

Ejercicios de autoevaluación ................................................................. 53

Solucionario ............................................................................................... 55

Glosario ....................................................................................................... 59

Bibliografía ................................................................................................ 60

Anexos ......................................................................................................... 61

FUOC • P03/75098/02118 5 Enlace de datos

Introducción

Tanto en las redes de gran alcance com en las de área local hemos hablado de

conexiones punto a punto. Se trata del enlace que une directamente entre sí

dos entidades sobre el cual se transmiten datis. También tienen sentido los en-

laces punto a punto por sí mismos y no como elementos de una red, por ejem-

plo cuando se pretende conectar un ordenador y una impresora.

La conexión punto a punto se hace con medios de transmisión que, como ve-

remos en el módulo siguiente, en general no son perfectos y están sometidos a

diferentes fenómenos físicos que acaban produciendo errores de transmisión.

En otras palabras, los bits que se reciben al otro extremo de una conexión no

son exactamente los mismos que se han transmitido desde el otro.

El nivel de enlce es el encargado de detectar estos errores e intentar, de alguna

manera, solucionarlos, corrigiéndolos o solicitando la retransmisión de las tra-

mas erróneas recibidas. Veremos los diferentes mecanismos de retransmisión

y a qué casos se adecuan.

El control de errores comporta un cierto procesamiento en la transmisión y la

recepción. Por ello, se debe añadir un control de flujo, para poder abortar el

proceso si la velocidad de llegada de trams a un terminal es superior a la velo-

cidad de procesamiento de dicho terminal.

FUOC • P03/75098/02118 5 Enlace de datos

Introducción

Tanto en las redes de gran alcance com en las de área local hemos hablado de

conexiones punto a punto. Se trata del enlace que une directamente entre sí

dos entidades sobre el cual se transmiten datis. También tienen sentido los en-

laces punto a punto por sí mismos y no como elementos de una red, por ejem-

plo cuando se pretende conectar un ordenador y una impresora.

La conexión punto a punto se hace con medios de transmisión que, como ve-

remos en el módulo siguiente, en general no son perfectos y están sometidos a

diferentes fenómenos físicos que acaban produciendo errores de transmisión.

En otras palabras, los bits que se reciben al otro extremo de una conexión no

son exactamente los mismos que se han transmitido desde el otro.

El nivel de enlce es el encargado de detectar estos errores e intentar, de alguna

manera, solucionarlos, corrigiéndolos o solicitando la retransmisión de las tra-

mas erróneas recibidas. Veremos los diferentes mecanismos de retransmisión

y a qué casos se adecuan.

El control de errores comporta un cierto procesamiento en la transmisión y la

recepción. Por ello, se debe añadir un control de flujo, para poder abortar el

proceso si la velocidad de llegada de trams a un terminal es superior a la velo-

cidad de procesamiento de dicho terminal.

FUOC • P03/75098/02118 6 Enlace de datos

Objetivos

El estudio de los materials didácticos de este módulo ha de permitir que el es-

tudiante alcance los objetivos siguientes:

1. Asimilar los conceptos de trama y sincronización de trama.

2. Aprender los principios básicos de la detección de errores y conocer las téc-

nicas más habituales de hacerlo.

3. Conocer los protocolos que se usan para la recuperación de errores: Stop &

Wait, Go Back N y retransmisión selectiva.

4. Evaluar la eficiencia de los protocolos que se usan para la recuperación

de errores a un nivel básico, asumiendo que no se producen errores de

transmisión.

5. Conocer los mecanismos de control de flujo, estudiar los conceptos de

ventana de transmisión y ventana de recepción y saber calcular la venta-

na óptima.

FUOC • P03/75098/02118 6 Enlace de datos

Objetivos

El estudio de los materials didácticos de este módulo ha de permitir que el es-

tudiante alcance los objetivos siguientes:

1. Asimilar los conceptos de trama y sincronización de trama.

2. Aprender los principios básicos de la detección de errores y conocer las téc-

nicas más habituales de hacerlo.

3. Conocer los protocolos que se usan para la recuperación de errores: Stop &

Wait, Go Back N y retransmisión selectiva.

4. Evaluar la eficiencia de los protocolos que se usan para la recuperación

de errores a un nivel básico, asumiendo que no se producen errores de

transmisión.

5. Conocer los mecanismos de control de flujo, estudiar los conceptos de

ventana de transmisión y ventana de recepción y saber calcular la venta-

na óptima.

FUOC • P03/75098/02118 7 Enlace de datos

1. Descripción del nivel de enlace

El nivel de enlace o DLC* es el software que controla la transmisión de infor-

mación sobre el flujo no fiable de bits del nivel físico. En este apartado profun-

dizaremos en este concepto y en la unidad de transmisión de información del

nivel de enlace: la trama.

Igual que en los otros niveles de la arquitectura de comunicaciones (excepto

el nivel físico), el nivel de enlace consiste en dos programas o procesos que se

ejecutan en computadores diferentes y que se comunican entre sí. Para que es-

tos dos procesos se puedan comunicar es necesario establecer:

• un formato para la información que se intercambian;

• un conjunto de reglas de comportamiento.

El DLC está formado por el conjunto de protocolos necesarios para la transmi-

sión de datos sobre un enlace de comunicación punto a punto. En este módu-

lo nos referiremos a cada uno de estos procesos como DLC, entidad de nivel de

enlace o simplemente nivel de enlace.

Una de las funciones básicas del nivel de enlace es el control de errores, por-

que asumimos que el medio de transmisión que hay “por debajo” no es per-

fecto e introduce errores de transmisión. Para hacer el control de errores es

necesario destinar una parte de los bits que se intercambian los DLC a la de-

tección y la posterior gestión de los errores. Esto implica que el DLC debe ser

capaz de distinguir los bits que forman parte de los datos de información de

los que forman parte de los datos de control. Para conseguirlo, el DLC organiza

los datos en unas estructuras denominadas tramas (frames, en inglés).

Las tramas son estructuras ordenadas de bits organizados en campos. Según la po-

sición de los bits en la trama, el DLC puede reconocer el campo al que pertenecen.

Hay campos con bits de información y campos con bits de control.

Se puede dar el caso de que el nivel de enlace reciba las tramas más rápidamen-

te de lo que es capaz de procesarlas. En este caso se tiene que “frenar” el nivel

de enlace remoto para evitar que la memoria temporal en la que están alma-

cenadas las tramas pendientes de procesar se agote. Esta función se conoce

como control de flujo.

Las tareas básicas del nivel de enlace son las siguientes:

• La gestión de las tramas.

• El control de errores.

• El control de flujo.

* DLC es la sigla de la expresión inglesa Data Link Control.

Proceso

En el contexto informático se denomina proceso a un progra-ma en ejecución.Este concepto se utiliza nor-malmente en entornos multi-tarea, es decir, en los que puede haber muchos progra-mas ejecutándose simultánea-mente en el computador.

FUOC • P03/75098/02118 7 Enlace de datos

1. Descripción del nivel de enlace

El nivel de enlace o DLC* es el software que controla la transmisión de infor-

mación sobre el flujo no fiable de bits del nivel físico. En este apartado profun-

dizaremos en este concepto y en la unidad de transmisión de información del

nivel de enlace: la trama.

Igual que en los otros niveles de la arquitectura de comunicaciones (excepto

el nivel físico), el nivel de enlace consiste en dos programas o procesos que se

ejecutan en computadores diferentes y que se comunican entre sí. Para que es-

tos dos procesos se puedan comunicar es necesario establecer:

• un formato para la información que se intercambian;

• un conjunto de reglas de comportamiento.

El DLC está formado por el conjunto de protocolos necesarios para la transmi-

sión de datos sobre un enlace de comunicación punto a punto. En este módu-

lo nos referiremos a cada uno de estos procesos como DLC, entidad de nivel de

enlace o simplemente nivel de enlace.

Una de las funciones básicas del nivel de enlace es el control de errores, por-

que asumimos que el medio de transmisión que hay “por debajo” no es per-

fecto e introduce errores de transmisión. Para hacer el control de errores es

necesario destinar una parte de los bits que se intercambian los DLC a la de-

tección y la posterior gestión de los errores. Esto implica que el DLC debe ser

capaz de distinguir los bits que forman parte de los datos de información de

los que forman parte de los datos de control. Para conseguirlo, el DLC organiza

los datos en unas estructuras denominadas tramas (frames, en inglés).

Las tramas son estructuras ordenadas de bits organizados en campos. Según la po-

sición de los bits en la trama, el DLC puede reconocer el campo al que pertenecen.

Hay campos con bits de información y campos con bits de control.

Se puede dar el caso de que el nivel de enlace reciba las tramas más rápidamen-

te de lo que es capaz de procesarlas. En este caso se tiene que “frenar” el nivel

de enlace remoto para evitar que la memoria temporal en la que están alma-

cenadas las tramas pendientes de procesar se agote. Esta función se conoce

como control de flujo.

Las tareas básicas del nivel de enlace son las siguientes:

• La gestión de las tramas.

• El control de errores.

• El control de flujo.

* DLC es la sigla de la expresión inglesa Data Link Control.

Proceso

En el contexto informático se denomina proceso a un progra-ma en ejecución.Este concepto se utiliza nor-malmente en entornos multi-tarea, es decir, en los que puede haber muchos progra-mas ejecutándose simultánea-mente en el computador.

FUOC • P03/75098/02118 8 Enlace de datos

1.1. Montaje de las tramas

Las tramas contienen bits de datos y bits de control. Esta información de con-

trol se estructura en campos, algunos de los cuales están antes de los datos, la

cabecera, y otros detrás: la cola.

Qué campos hay, de qué tamaño son y su significado depende de las imple-

mentaciones del nivel de enlace. En general, habrá un campo donde esté la

longitud de la trama, un campo con el tipo de datos que transporta y, como

decíamos antes, la información adicional necesaria para hacer el control de

errores.

En el contexto de las arquitecturas de protocolos como OSI, el nivel de enlace

está por debajo del nivel de red. Esto quiere decir que los datos que van inser-

tados en las tramas son paquetes de red.

1.2. Sincronismo de trama

Hasta ahora hemos hablado siempre del nivel físico como un medio capaz de

transportar un flujo de bits. En muchos casos, ésta es una descripción correcta

de la visión que tiene el nivel de enlace del nivel físico. Hay, sin embargo, al-

gunos medios físicos que tienen como unidad de transmisión el carácter, que

se define como un bloque fijo de bits*. Este caso se conoce con el nombre de

transmisión orientada a carácter.

De hecho, se habla de dos tipos de protocolos, uno para cada uno de los tipos

de transmisión mencionados:

• Un protocolo orientado a carácter es un protocolo de nivel de enlace di-

señado para ir sobre una transmisión orientada a carácter.

• Un protocolo orientado a bit es un protocolo de nivel de enlace diseñado

para ir sobre una transmisión orientada a bit.

Podéis ver un ejemplo concreto de DLC, el HDLC en el apartado 6 de este módulo didáctico.

* Normalmente cada carácter es de 8 bits.

FUOC • P03/75098/02118 8 Enlace de datos

1.1. Montaje de las tramas

Las tramas contienen bits de datos y bits de control. Esta información de con-

trol se estructura en campos, algunos de los cuales están antes de los datos, la

cabecera, y otros detrás: la cola.

Qué campos hay, de qué tamaño son y su significado depende de las imple-

mentaciones del nivel de enlace. En general, habrá un campo donde esté la

longitud de la trama, un campo con el tipo de datos que transporta y, como

decíamos antes, la información adicional necesaria para hacer el control de

errores.

En el contexto de las arquitecturas de protocolos como OSI, el nivel de enlace

está por debajo del nivel de red. Esto quiere decir que los datos que van inser-

tados en las tramas son paquetes de red.

1.2. Sincronismo de trama

Hasta ahora hemos hablado siempre del nivel físico como un medio capaz de

transportar un flujo de bits. En muchos casos, ésta es una descripción correcta

de la visión que tiene el nivel de enlace del nivel físico. Hay, sin embargo, al-

gunos medios físicos que tienen como unidad de transmisión el carácter, que

se define como un bloque fijo de bits*. Este caso se conoce con el nombre de

transmisión orientada a carácter.

De hecho, se habla de dos tipos de protocolos, uno para cada uno de los tipos

de transmisión mencionados:

• Un protocolo orientado a carácter es un protocolo de nivel de enlace di-

señado para ir sobre una transmisión orientada a carácter.

• Un protocolo orientado a bit es un protocolo de nivel de enlace diseñado

para ir sobre una transmisión orientada a bit.

Podéis ver un ejemplo concreto de DLC, el HDLC en el apartado 6 de este módulo didáctico.

* Normalmente cada carácter es de 8 bits.

FUOC • P03/75098/02118 9 Enlace de datos

Para poder determinar el inicio y el final de trama es necesario marcarlos de

alguna manera. La solución adoptada depende del tipo de transmisión:

1) Para indicar el inicio de trama:

• Si la transmisión es orientada a carácter, el inicio de trama se indica con un

carácter especial denominado carácter de inicio de trama.

• Si la transmisión es orientada a bit, se indica con una combinación especial

de bits denominada indicador (flag) de inicio de trama.

2) Para indicar el final de trama hay dos técnicas:

a) Utilizar un carácter especial denominado carácter de final de trama o una

combinación especial de bits llamada indicador (flag) de final de trama, se-

gún si la transmisión es orientada a bit o a carácter.

b) Utilizar un campo de longitud que indica la medida de la trama.

Algunos protocolos utilizan las dos técnicas conjuntamente para llevar a

cabo el control de errores. De este modo, si el carácter de final de trama o

el indicador, según el caso, no llega al final de la trama indicado por el cam-

po de longitud, se detecta un error de delimitación de trama, o error de

framing.

Ejemplos de sincronización de trama

Presentamos un par de casos en los que se utiliza la sincronización de trama, según el tipode transmisión del que se disponga:

1) Sincronización de trama en una transmisión orientada a carácter

Tanto el código ASCII como el código EBCDIC tienen los caracteres de control STX (del inglésStart of TeXt) y ETX (del inglés End of TeXt). Algunos de los protocolos orientados a caráctermás extendidos utilizan estos caracteres en el sincronismo de trama. La figura siguientemuestra cómo sería el sincronismo de trama con estos dos caracteres:

El sincronismo de trama (en inglés, framing) es el mecanismo que uti-

liza el nivel de enlace para determinar el inicio y el final de una trama

dentro del flujo de bits o caracteres que llega del nivel físico.

Protocolo BSC

Uno de los protocolos orienta-dos a carácter más conocidos lo desarrolló IBM. El nombre de este protocolo es binary sinchronous control (bysinc o BSC). Este protocolo utiliza los caracteres STX y ETX en la sin-cronización de las tramas.

FUOC • P03/75098/02118 9 Enlace de datos

Para poder determinar el inicio y el final de trama es necesario marcarlos de

alguna manera. La solución adoptada depende del tipo de transmisión:

1) Para indicar el inicio de trama:

• Si la transmisión es orientada a carácter, el inicio de trama se indica con un

carácter especial denominado carácter de inicio de trama.

• Si la transmisión es orientada a bit, se indica con una combinación especial

de bits denominada indicador (flag) de inicio de trama.

2) Para indicar el final de trama hay dos técnicas:

a) Utilizar un carácter especial denominado carácter de final de trama o una

combinación especial de bits llamada indicador (flag) de final de trama, se-

gún si la transmisión es orientada a bit o a carácter.

b) Utilizar un campo de longitud que indica la medida de la trama.

Algunos protocolos utilizan las dos técnicas conjuntamente para llevar a

cabo el control de errores. De este modo, si el carácter de final de trama o

el indicador, según el caso, no llega al final de la trama indicado por el cam-

po de longitud, se detecta un error de delimitación de trama, o error de

framing.

Ejemplos de sincronización de trama

Presentamos un par de casos en los que se utiliza la sincronización de trama, según el tipode transmisión del que se disponga:

1) Sincronización de trama en una transmisión orientada a carácter

Tanto el código ASCII como el código EBCDIC tienen los caracteres de control STX (del inglésStart of TeXt) y ETX (del inglés End of TeXt). Algunos de los protocolos orientados a caráctermás extendidos utilizan estos caracteres en el sincronismo de trama. La figura siguientemuestra cómo sería el sincronismo de trama con estos dos caracteres:

El sincronismo de trama (en inglés, framing) es el mecanismo que uti-

liza el nivel de enlace para determinar el inicio y el final de una trama

dentro del flujo de bits o caracteres que llega del nivel físico.

Protocolo BSC

Uno de los protocolos orienta-dos a carácter más conocidos lo desarrolló IBM. El nombre de este protocolo es binary sinchronous control (bysinc o BSC). Este protocolo utiliza los caracteres STX y ETX en la sin-cronización de las tramas.

FUOC • P03/75098/02118 10 Enlace de datos

2) Sincronización de trama en una transmisión orientada a bit

Como ejemplo de sincronización de trama, consideraremos la figura siguiente, que mues-tra los indicadores que utiliza el protocolo HDLC:

En el protocolo HDLC se define el indicador de final de trama con el mismo conjunto debits que el de inicio de trama. El protocolo permite que, si hay dos tramas consecutivas,el indicador de final de trama sea también el de inicio de trama de la siguiente, y así seahorra la transmisión de este indicador.

1.2.1. Mecanismo de transparencia

Dado que los datos de información que transporta la trama son arbitrarios, si

no se utiliza el campo de longitud se puede dar el caso de que, en una trans-

misión orientada a carácter, uno de los caracteres de datos coincida con el ca-

rácter de final de trama. De la misma manera, en una transmisión orientada a

bit puede darse el caso de que un conjunto de bits de datos coincida con el

indicador de final de trama.

Cualquiera de las dos situaciones mencionadas en el párrafo anterior se inter-

pretaría erróneamente como el final de trama. Para evitarlo se utiliza un me-

canismo de transparencia.

Ejemplos de mecanismos de transparencia

Según los dos casos que acabamos de plantear, podemos encontrar mecanismos de trans-parencia como los que presentamos a continuación:

1) Mecanismo de transparencia en una transmisión orientada a carácter

El ejemplo de la figura siguiente muestra el mecanismo de transparencia del protocoloBSC. Para conseguir la transparencia se utiliza un tercer carácter, el DLE (del inglés, DataLink Escape).

Tal y como muestra la figura, los caracteres STX y ETX van precedidos de un DLE. Ade-más, cada vez que el transmisor encuentra un DLE entre los datos de información, inde-pendientemente del carácter siguiente, lo envía insertando previamente otro DLE. Esta

Podéis ver una descripción del protocolo HDLC en el apartado 6 de este módulo didáctico.

FUOC • P03/75098/02118 10 Enlace de datos

2) Sincronización de trama en una transmisión orientada a bit

Como ejemplo de sincronización de trama, consideraremos la figura siguiente, que mues-tra los indicadores que utiliza el protocolo HDLC:

En el protocolo HDLC se define el indicador de final de trama con el mismo conjunto debits que el de inicio de trama. El protocolo permite que, si hay dos tramas consecutivas,el indicador de final de trama sea también el de inicio de trama de la siguiente, y así seahorra la transmisión de este indicador.

1.2.1. Mecanismo de transparencia

Dado que los datos de información que transporta la trama son arbitrarios, si

no se utiliza el campo de longitud se puede dar el caso de que, en una trans-

misión orientada a carácter, uno de los caracteres de datos coincida con el ca-

rácter de final de trama. De la misma manera, en una transmisión orientada a

bit puede darse el caso de que un conjunto de bits de datos coincida con el

indicador de final de trama.

Cualquiera de las dos situaciones mencionadas en el párrafo anterior se inter-

pretaría erróneamente como el final de trama. Para evitarlo se utiliza un me-

canismo de transparencia.

Ejemplos de mecanismos de transparencia

Según los dos casos que acabamos de plantear, podemos encontrar mecanismos de trans-parencia como los que presentamos a continuación:

1) Mecanismo de transparencia en una transmisión orientada a carácter

El ejemplo de la figura siguiente muestra el mecanismo de transparencia del protocoloBSC. Para conseguir la transparencia se utiliza un tercer carácter, el DLE (del inglés, DataLink Escape).

Tal y como muestra la figura, los caracteres STX y ETX van precedidos de un DLE. Ade-más, cada vez que el transmisor encuentra un DLE entre los datos de información, inde-pendientemente del carácter siguiente, lo envía insertando previamente otro DLE. Esta

Podéis ver una descripción del protocolo HDLC en el apartado 6 de este módulo didáctico.

FUOC • P03/75098/02118 11 Enlace de datos

técnica para conseguir la transparencia se conoce con el nombre de inserción de carac-teres (en inglés, character stuffing).

Con respecto a la recepción, después de haber recibido los caracteres DLE-STX, se inves-tiga cada uno de los caracteres de información recibidos. Si es un carácter DLE seguidode otro carácter DLE, se descarta uno de los caracteres DLE y se procesa el carácter siguien-te (sin interpretar que iba precedido de un carácter DLE). Si es un carácter DLE seguidode un carácter ETX, se interpreta como final de trama. De esta manera:

a) El receptor elimina todos los caracteres de final de trama (DLE) sobrantes insertadospor el transmisor.

b) Si resultara que dentro de los datos de información hubiese una secuencia DLE-ETX,la inserción del carácter DLE haría que el receptor no interpretara el carácter ETX comofinal de trama.

2) Mecanismo de transparencia en una transmisión orientada a bit

La figura siguiente muestra el mecanismo de transparencia del protocolo HDLC. En estecaso el indicador de delimitación de trama es 01111110:

La técnica consiste en añadir un 0 (los marcados en la figura) cuando hay cinco 1 segui-dos, independientemente del bit que haya a continuación. La inserción de bits “extras”para conseguir la transparencia se conoce con el nombre de inserción de ceros o, en in-glés, con el nombre de bit stuffing.

En recepción, si llegan cinco 1 seguidos de un 0, el 0 se elimina y se procesa el bit siguien-te sin tener en cuenta los cinco 1 anteriores. De esta manera:

a) El receptor elimina todos los 0 “extras” insertados por el transmisor.

b) Si se produjese la coincidencia de que dentro de los bits de información hubiera el in-dicador 01111110, la inserción del bit 0 haría que el receptor no lo interpretara como elfinal de trama.

FUOC • P03/75098/02118 11 Enlace de datos

técnica para conseguir la transparencia se conoce con el nombre de inserción de carac-teres (en inglés, character stuffing).

Con respecto a la recepción, después de haber recibido los caracteres DLE-STX, se inves-tiga cada uno de los caracteres de información recibidos. Si es un carácter DLE seguidode otro carácter DLE, se descarta uno de los caracteres DLE y se procesa el carácter siguien-te (sin interpretar que iba precedido de un carácter DLE). Si es un carácter DLE seguidode un carácter ETX, se interpreta como final de trama. De esta manera:

a) El receptor elimina todos los caracteres de final de trama (DLE) sobrantes insertadospor el transmisor.

b) Si resultara que dentro de los datos de información hubiese una secuencia DLE-ETX,la inserción del carácter DLE haría que el receptor no interpretara el carácter ETX comofinal de trama.

2) Mecanismo de transparencia en una transmisión orientada a bit

La figura siguiente muestra el mecanismo de transparencia del protocolo HDLC. En estecaso el indicador de delimitación de trama es 01111110:

La técnica consiste en añadir un 0 (los marcados en la figura) cuando hay cinco 1 segui-dos, independientemente del bit que haya a continuación. La inserción de bits “extras”para conseguir la transparencia se conoce con el nombre de inserción de ceros o, en in-glés, con el nombre de bit stuffing.

En recepción, si llegan cinco 1 seguidos de un 0, el 0 se elimina y se procesa el bit siguien-te sin tener en cuenta los cinco 1 anteriores. De esta manera:

a) El receptor elimina todos los 0 “extras” insertados por el transmisor.

b) Si se produjese la coincidencia de que dentro de los bits de información hubiera el in-dicador 01111110, la inserción del bit 0 haría que el receptor no lo interpretara como elfinal de trama.

FUOC • P03/75098/02118 12 Enlace de datos

2. Detección de errores

Supongamos que el nivel de enlace es capaz de delimitar perfectamente las tra-

mas del flujo de bits que recibe del nivel físico. Ahora nos queda el problema

de detectar cuáles de estas tramas tienen uno o más bits erróneos. En este apar-

tado veremos algunos conceptos básicos de la detección de errores.

Las tramas pueden tener una combinación de bits arbitraria. Por lo tanto, si hay

error en un bit de la trama o más, la nueva combinación es otra posible trama. Así

pues, sólo mirando los bits de la trama no es posible averiguar si hay alguno erró-

neo. Es necesario añadir bits extras que nos permitan la detección de errores.

Los bits extras se calculan a partir de los bits que hay que proteger, tal y como

se explica a continuación. Observad, sin embargo, que al añadir estos bits es-

tamos utilizando más bits de los estrictamente necesarios para transmitir el pa-

quete. Por este motivo se dice que los códigos detectores de errores se basan

en añadir redundancia a los bits de datos que se quieren proteger.

Esta transformación es biunívoca; es decir, a cada combinación determinada

de los P bits que hay que proteger le corresponde una sola combinación de

P + Q bits, y viceversa.

En este apartado nos referiremos a las tramas como palabras código, que es el

término que se utiliza en el contexto de la detección de errores.

Observad que el número de palabras código válidas es igual al número de

combinaciones posibles de los bits de los datos que queremos proteger (2P). En

cambio, el número posible de palabras código es de 2P+Q. Las 2P+Q − 2Q com-

binaciones restantes son palabras código no válidas y no se utilizarán nunca

en transmisión (porque no pueden resultar nunca de la transformación que

aplica el código a los P bits que deben protegerse).

Supongamos que el tamaño de los datos que queremos proteger es de P

bits, y que añadimos Q para poder hacer la detección de errores.

En este contexto se denomina código detector de errores, o simple-

mente código, a la transformación que se aplica a los P bits que quere-

mos proteger para convertirlos en la nueva combinación de P + Q bits.

Nos referiremos a esta nueva combinación como palabra código.

Detectamos que hay un error cuando los bits erróneos transforman una pa-

labra código válida en una no válida. Si como consecuencia de los bits erró-

neos resulta otra palabra código válida, no detectaremos el error.

Lectura complementaria

Para obtener más información sobre la detección de errores, podéis consultar la obra siguiente:D. Bertsekas; R. Gallager (1992). Data Networks. Upper Saddle River, Nueva Jersey: Prentice Hall.

FUOC • P03/75098/02118 12 Enlace de datos

2. Detección de errores

Supongamos que el nivel de enlace es capaz de delimitar perfectamente las tra-

mas del flujo de bits que recibe del nivel físico. Ahora nos queda el problema

de detectar cuáles de estas tramas tienen uno o más bits erróneos. En este apar-

tado veremos algunos conceptos básicos de la detección de errores.

Las tramas pueden tener una combinación de bits arbitraria. Por lo tanto, si hay

error en un bit de la trama o más, la nueva combinación es otra posible trama. Así

pues, sólo mirando los bits de la trama no es posible averiguar si hay alguno erró-

neo. Es necesario añadir bits extras que nos permitan la detección de errores.

Los bits extras se calculan a partir de los bits que hay que proteger, tal y como

se explica a continuación. Observad, sin embargo, que al añadir estos bits es-

tamos utilizando más bits de los estrictamente necesarios para transmitir el pa-

quete. Por este motivo se dice que los códigos detectores de errores se basan

en añadir redundancia a los bits de datos que se quieren proteger.

Esta transformación es biunívoca; es decir, a cada combinación determinada

de los P bits que hay que proteger le corresponde una sola combinación de

P + Q bits, y viceversa.

En este apartado nos referiremos a las tramas como palabras código, que es el

término que se utiliza en el contexto de la detección de errores.

Observad que el número de palabras código válidas es igual al número de

combinaciones posibles de los bits de los datos que queremos proteger (2P). En

cambio, el número posible de palabras código es de 2P+Q. Las 2P+Q − 2Q com-

binaciones restantes son palabras código no válidas y no se utilizarán nunca

en transmisión (porque no pueden resultar nunca de la transformación que

aplica el código a los P bits que deben protegerse).

Supongamos que el tamaño de los datos que queremos proteger es de P

bits, y que añadimos Q para poder hacer la detección de errores.

En este contexto se denomina código detector de errores, o simple-

mente código, a la transformación que se aplica a los P bits que quere-

mos proteger para convertirlos en la nueva combinación de P + Q bits.

Nos referiremos a esta nueva combinación como palabra código.

Detectamos que hay un error cuando los bits erróneos transforman una pa-

labra código válida en una no válida. Si como consecuencia de los bits erró-

neos resulta otra palabra código válida, no detectaremos el error.

Lectura complementaria

Para obtener más información sobre la detección de errores, podéis consultar la obra siguiente:D. Bertsekas; R. Gallager (1992). Data Networks. Upper Saddle River, Nueva Jersey: Prentice Hall.

FUOC • P03/75098/02118 13 Enlace de datos

Hay numerosos códigos detectores de error (los más utilizados se explicarán a

continuación). Para compararlos, la medida ideal sería determinar la probabi-

lidad de que se produjera un error no detectado en la transmisión de una tra-

ma. Desafortunadamente, esta probabilidad depende de las características del

medio de transmisión y del código detector de errores, por todo lo cual resulta

difícil de determinar.

Para medir empíricamente la probabilidad de una trama errónea no detectada

tendríamos que contabilizar todas las tramas erróneas no detectadas y todas

las tramas erróneas que se producen en el enlace. La relación entre estos dos

valores sería la probabilidad buscada.

A causa de las dificultades que comporta determinar la probabilidad de una trama

errónea no detectada, consideraremos los tres parámetros para medir la robustez

de un código detector de errores que se explican a continuación:

• La distancia mínima del código (distancia de Hamming del código).

• La capacidad de detección de ráfagas de error (burst detecting capability).

• La probabilidad de que una combinación arbitraria de bits sea aceptada

como palabra válida.

Como veremos a continuación, para tomar estas medidas no debemos tener

en cuenta el tipo de errores que introduce el medio de transmisión. Es decir,

estas medidas dan idea de la facilidad que tiene un código para determinar

ciertos tipos de errores. A la hora de elegir un código u otro habrá que tener

en cuenta qué tipo de error introduce el medio de transmisión para elegir el

código más adecuado, es decir, el que minimice la probabilidad de tener una

trama errónea no detectada.

2.1. Distancia de Hamming

Para definir la distancia de Hamming de un código, primero es necesario in-

troducir el concepto de distancia de Hamming entre dos palabras código.

La distancia de Hamming entre dos palabras código se define como

el número de bits diferentes que hay entre estas palabras.

La distancia mínima de un código, o distancia de Hamming de un có-

digo, se define como la menor distancia que hay entre dos palabras vá-

lidas del código.

De esta definición se deduce que si la distancia de Hamming de un

código vale DH, cualquier combinación de n bits erróneos que cum-

pla n < DH se detectará con probabilidad 1.

No confundáis...

... la probabilidad de error en una trama con la probabilidad de una trama errónea no de-tectada. La probabilidad de error en una trama depende exclusivamente del medio.La probabilidad de una trama errónea no detectada esmucho más difícil de calcular porque depende, además, delcódigo detector de errores. El código detector ideal detecta-ría todas las tramas erróneas.

Distancia de Hamming entre dos palabras código

Entre las palabras código si-guientes, hay 2 bits de diferen-cia; por lo tanto, su distancia vale 2:• 100100101• 000100001

FUOC • P03/75098/02118 13 Enlace de datos

Hay numerosos códigos detectores de error (los más utilizados se explicarán a

continuación). Para compararlos, la medida ideal sería determinar la probabi-

lidad de que se produjera un error no detectado en la transmisión de una tra-

ma. Desafortunadamente, esta probabilidad depende de las características del

medio de transmisión y del código detector de errores, por todo lo cual resulta

difícil de determinar.

Para medir empíricamente la probabilidad de una trama errónea no detectada

tendríamos que contabilizar todas las tramas erróneas no detectadas y todas

las tramas erróneas que se producen en el enlace. La relación entre estos dos

valores sería la probabilidad buscada.

A causa de las dificultades que comporta determinar la probabilidad de una trama

errónea no detectada, consideraremos los tres parámetros para medir la robustez

de un código detector de errores que se explican a continuación:

• La distancia mínima del código (distancia de Hamming del código).

• La capacidad de detección de ráfagas de error (burst detecting capability).

• La probabilidad de que una combinación arbitraria de bits sea aceptada

como palabra válida.

Como veremos a continuación, para tomar estas medidas no debemos tener

en cuenta el tipo de errores que introduce el medio de transmisión. Es decir,

estas medidas dan idea de la facilidad que tiene un código para determinar

ciertos tipos de errores. A la hora de elegir un código u otro habrá que tener

en cuenta qué tipo de error introduce el medio de transmisión para elegir el

código más adecuado, es decir, el que minimice la probabilidad de tener una

trama errónea no detectada.

2.1. Distancia de Hamming

Para definir la distancia de Hamming de un código, primero es necesario in-

troducir el concepto de distancia de Hamming entre dos palabras código.

La distancia de Hamming entre dos palabras código se define como

el número de bits diferentes que hay entre estas palabras.

La distancia mínima de un código, o distancia de Hamming de un có-

digo, se define como la menor distancia que hay entre dos palabras vá-

lidas del código.

De esta definición se deduce que si la distancia de Hamming de un

código vale DH, cualquier combinación de n bits erróneos que cum-

pla n < DH se detectará con probabilidad 1.

No confundáis...

... la probabilidad de error en una trama con la probabilidad de una trama errónea no de-tectada. La probabilidad de error en una trama depende exclusivamente del medio.La probabilidad de una trama errónea no detectada esmucho más difícil de calcular porque depende, además, delcódigo detector de errores. El código detector ideal detecta-ría todas las tramas erróneas.

Distancia de Hamming entre dos palabras código

Entre las palabras código si-guientes, hay 2 bits de diferen-cia; por lo tanto, su distancia vale 2:• 100100101• 000100001

FUOC • P03/75098/02118 14 Enlace de datos

De la definición de la distancia de Hamming de un código deducimos también

que un método exhaustivo para calcularla sería considerar todas las parejas

posibles de palabras válidas, observar cuántos bits diferentes hay y tomar el

mínimo. En la práctica, generalmente no se aplica este método, sino que el

cálculo se hace a partir de las propiedades del código.

Cuanto mayor es la distancia de Hamming, más bits erróneos debe haber para

que se produzca un error no detectado y, por lo tanto, el código detector de

errores será mejor.

2.2. Capacidad de detección de una ráfaga de error

Muchas veces los errores no se producen en bits aislados, sino que son ori-

ginados por chispas que afectan a distintos bits consecutivos. Normalmen-

te, sin embargo, una chispa no introduce errores en todos los bits que

coinciden con su duración. Según las variaciones eléctricas de la intensidad

de la chispa, algunos bits cambian, con lo cual se produce un error, y otros

no cambian.

Evidentemente, cuanto mayor sea la capacidad de detección de ráfagas de

error, mejor será el código detector de errores.

La capacidad de detección de ráfagas de error es especialmente importante

cuando el medio de transmisión tiene tendencia a introducir los errores en for-

ma de ráfagas. En este caso, cuanto mayor sea la capacidad de detección de rá-

fagas, menor será la probabilidad de tener una trama errónea no detectada.

2.3. Probabilidad de que una combinación arbitraria de bits

sea aceptada como palabra válida

Hemos visto que si el número de bits erróneos de una trama no excede la dis-

tancia de Hamming ni la capacidad de detección de ráfagas, la trama errónea

se detectará con probabilidad 1. En caso contrario, hay dos posibilidades:

a) La palabra código correspondiente a la trama errónea coincide con otra pa-

labra código válida y, por lo tanto, no se detecta el error.

En una trama se define la ráfaga de error como el número de bits que

hay entre el primer bit erróneo y el último, ambos incluidos.

La capacidad de detección de una ráfaga de error se define como el

entero mayor, llamémosle B, tal que el código es capaz de detectar todas

las ráfagas de error menores o iguales que B.

Ejemplo de ráfaga de error

En la trama:101000000000000los bits erróneos son los que es-tán marcados. Puesto que en-tre el primer bit erróneo y el último (ambos incluidos) hay 7 bits, decimos que la ráfaga de error vale 7.

FUOC • P03/75098/02118 14 Enlace de datos

De la definición de la distancia de Hamming de un código deducimos también

que un método exhaustivo para calcularla sería considerar todas las parejas

posibles de palabras válidas, observar cuántos bits diferentes hay y tomar el

mínimo. En la práctica, generalmente no se aplica este método, sino que el

cálculo se hace a partir de las propiedades del código.

Cuanto mayor es la distancia de Hamming, más bits erróneos debe haber para

que se produzca un error no detectado y, por lo tanto, el código detector de

errores será mejor.

2.2. Capacidad de detección de una ráfaga de error

Muchas veces los errores no se producen en bits aislados, sino que son ori-

ginados por chispas que afectan a distintos bits consecutivos. Normalmen-

te, sin embargo, una chispa no introduce errores en todos los bits que

coinciden con su duración. Según las variaciones eléctricas de la intensidad

de la chispa, algunos bits cambian, con lo cual se produce un error, y otros

no cambian.

Evidentemente, cuanto mayor sea la capacidad de detección de ráfagas de

error, mejor será el código detector de errores.

La capacidad de detección de ráfagas de error es especialmente importante

cuando el medio de transmisión tiene tendencia a introducir los errores en for-

ma de ráfagas. En este caso, cuanto mayor sea la capacidad de detección de rá-

fagas, menor será la probabilidad de tener una trama errónea no detectada.

2.3. Probabilidad de que una combinación arbitraria de bits

sea aceptada como palabra válida

Hemos visto que si el número de bits erróneos de una trama no excede la dis-

tancia de Hamming ni la capacidad de detección de ráfagas, la trama errónea

se detectará con probabilidad 1. En caso contrario, hay dos posibilidades:

a) La palabra código correspondiente a la trama errónea coincide con otra pa-

labra código válida y, por lo tanto, no se detecta el error.

En una trama se define la ráfaga de error como el número de bits que

hay entre el primer bit erróneo y el último, ambos incluidos.

La capacidad de detección de una ráfaga de error se define como el

entero mayor, llamémosle B, tal que el código es capaz de detectar todas

las ráfagas de error menores o iguales que B.

Ejemplo de ráfaga de error

En la trama:101000000000000los bits erróneos son los que es-tán marcados. Puesto que en-tre el primer bit erróneo y el último (ambos incluidos) hay 7 bits, decimos que la ráfaga de error vale 7.

FUOC • P03/75098/02118 15 Enlace de datos

b) La palabra código resultante es una palabra no válida y se detecta el error.

El cálculo exacto de la probabilidad de que la trama errónea no sea detectada

no es obvio. No obstante, podemos deducir de manera intuitiva un valor

aproximado, haciendo la siguiente suposición: que la palabra código corres-

pondiente a la trama errónea pasa a ser, con la misma probabilidad, cualquier

otra palabra código. Esto equivale a suponer que se elige una combinación ar-

bitraria de bits. Si esta combinación es una palabra código válida, no se detec-

tará el error; si no lo es, el error se detectará.

Dado que una palabra código tiene una medida de P + Q bits, cada una de

las combinaciones arbitrarias posibles se puede recibir con una probabili-

dad de 1/2P+Q. Dado que hay 2P palabras código válidas, la probabilidad de

que una combinación arbitraria de bits sea aceptada como una palabra vá-

lida será 2P/2P+Q = 2Q.

Cuanto mayor sea Q,, menor será esta probabilidad y mejor será el código. Esto

demuestra que, cuantos más bits añade el código detector de errores, más di-

fícil es que se produzca un error no detectado.

2.4. Control de paridad

El código detector de errores más sencillo que hay es el denominado control

de paridad. El control de paridad consiste en añadir un solo bit –denominado

bit de paridad– al bloque de bits que se quiere proteger.

El valor del bit de paridad se elige de manera que la suma de los 1 de la palabra

código sea un número par (paridad par). Si el criterio es que la suma sea un

número impar, se habla de paridad impar.

El gráfico siguiente muestra un ejemplo de paridad par (la suma de todos los

1 tiene que ser un número par):

La probabilidad de que una combinación arbitraria de bits sea aceptada

como una palabra válida es 2-Q, donde Q es el número de bits que añade

el código detector de errores.

a b a XOR b

0 0 0

0 1 1

1 0 1

1 1 0

Cálculo de la paridad par

La paridad par se suele calcular haciendo la operación OR ex-clusiva (XOR) de los bitsque se quieren proteger.

FUOC • P03/75098/02118 15 Enlace de datos

b) La palabra código resultante es una palabra no válida y se detecta el error.

El cálculo exacto de la probabilidad de que la trama errónea no sea detectada

no es obvio. No obstante, podemos deducir de manera intuitiva un valor

aproximado, haciendo la siguiente suposición: que la palabra código corres-

pondiente a la trama errónea pasa a ser, con la misma probabilidad, cualquier

otra palabra código. Esto equivale a suponer que se elige una combinación ar-

bitraria de bits. Si esta combinación es una palabra código válida, no se detec-

tará el error; si no lo es, el error se detectará.

Dado que una palabra código tiene una medida de P + Q bits, cada una de

las combinaciones arbitrarias posibles se puede recibir con una probabili-

dad de 1/2P+Q. Dado que hay 2P palabras código válidas, la probabilidad de

que una combinación arbitraria de bits sea aceptada como una palabra vá-

lida será 2P/2P+Q = 2Q.

Cuanto mayor sea Q,, menor será esta probabilidad y mejor será el código. Esto

demuestra que, cuantos más bits añade el código detector de errores, más di-

fícil es que se produzca un error no detectado.

2.4. Control de paridad

El código detector de errores más sencillo que hay es el denominado control

de paridad. El control de paridad consiste en añadir un solo bit –denominado

bit de paridad– al bloque de bits que se quiere proteger.

El valor del bit de paridad se elige de manera que la suma de los 1 de la palabra

código sea un número par (paridad par). Si el criterio es que la suma sea un

número impar, se habla de paridad impar.

El gráfico siguiente muestra un ejemplo de paridad par (la suma de todos los

1 tiene que ser un número par):

La probabilidad de que una combinación arbitraria de bits sea aceptada

como una palabra válida es 2-Q, donde Q es el número de bits que añade

el código detector de errores.

a b a XOR b

0 0 0

0 1 1

1 0 1

1 1 0

Cálculo de la paridad par

La paridad par se suele calcular haciendo la operación OR ex-clusiva (XOR) de los bitsque se quieren proteger.

FUOC • P03/75098/02118 16 Enlace de datos

El código detector de errores más habitual

La paridad es el código detector de errores que más se utiliza en transmisiones orien-tadas a carácter. Por ejemplo, la transmisión por el puerto serie de un PC es orientadaa carácter. El dispositivo que controla el puerto serie (denominado UART, UniversalAsynchronous Receiver Transmitter) añade automáticamente un bit de paridad a cadacarácter transmitido. Con respecto a la recepción, el UART también controla automá-ticamente que el bit de paridad sea correcto; en caso contrario, se produce una con-dición de error.

Si en la transmisión de la palabra código se produce un solo error (un 1 pasa a

valer 0 o un 0 pasa a valer 1), la paridad de la palabra código cambiará y no

coincidirá con la del bit de paridad. Por lo tanto, se detectará el error. Sin em-

bargo, si hay dos errores, la paridad será la misma y el error no se detectará.

Deducimos, pues, que con el bit de paridad el código permite detectar un nú-

mero impar de bits erróneos.

Ahora deduciremos cuánto valen los tres parámetros que hemos introducido

para medir la robustez de un código:

a) Para cualquier palabra válida, si se cambia un bit se obtiene una palabra no

válida, y si se cambian dos se obtiene otra palabra válida. Deducimos, pues,

que la diferencia mínima entre dos palabras código válidas es de dos bits y, por

lo tanto, que la distancia de Hamming vale 2. En consecuencia, el código es

capaz de detectar con probabilidad 1 todas las combinaciones de bits erróneos

inferiores a 2 (es decir, el código detecta un bit erróneo, como habíamos visto

anteriormente).

b) Dado que el código no detecta una ráfaga de error igual a 2 (dos bits con-

secutivos erróneos), la capacidad de detección de ráfagas vale 1.

c) Finalmente, la probabilidad de que una combinación arbitraria de bits sea

aceptada como palabra válida es: 2−Q = 2−1 = 0,5, es decir, de los caracteres que

tengan muchos bits erróneos, sólo se detectarán la mitad.

2.5. Códigos de paridad longitudinal y transversal

Una manera de mejorar la robustez del código detector de errores por medio

de bit de paridad consiste en organizar los bits que hay que proteger en una

matriz, y calcular la paridad de las filas y de las columnas.

La paridad de las filas se denomina paridad transversal (u horizontal), y la de

las columnas, paridad longitudinal (o vertical).

Así pues, la información se transmite organizada en bloques con su respectiva

paridad longitudinal y transversal. La transmisión del bloque se hace por filas,

Paridad

Cuando se utiliza la paridad como código detector de erro-res, no debemos imaginar que toda la trama es protegida con un solo bit de paridad. La pari-dad normalmente se usa en transmisiones orientadas a ca-rácter, y las tramas de estas transmisiones están formadas por más de un carácter, cada uno con su bit de paridad.

FUOC • P03/75098/02118 16 Enlace de datos

El código detector de errores más habitual

La paridad es el código detector de errores que más se utiliza en transmisiones orien-tadas a carácter. Por ejemplo, la transmisión por el puerto serie de un PC es orientadaa carácter. El dispositivo que controla el puerto serie (denominado UART, UniversalAsynchronous Receiver Transmitter) añade automáticamente un bit de paridad a cadacarácter transmitido. Con respecto a la recepción, el UART también controla automá-ticamente que el bit de paridad sea correcto; en caso contrario, se produce una con-dición de error.

Si en la transmisión de la palabra código se produce un solo error (un 1 pasa a

valer 0 o un 0 pasa a valer 1), la paridad de la palabra código cambiará y no

coincidirá con la del bit de paridad. Por lo tanto, se detectará el error. Sin em-

bargo, si hay dos errores, la paridad será la misma y el error no se detectará.

Deducimos, pues, que con el bit de paridad el código permite detectar un nú-

mero impar de bits erróneos.

Ahora deduciremos cuánto valen los tres parámetros que hemos introducido

para medir la robustez de un código:

a) Para cualquier palabra válida, si se cambia un bit se obtiene una palabra no

válida, y si se cambian dos se obtiene otra palabra válida. Deducimos, pues,

que la diferencia mínima entre dos palabras código válidas es de dos bits y, por

lo tanto, que la distancia de Hamming vale 2. En consecuencia, el código es

capaz de detectar con probabilidad 1 todas las combinaciones de bits erróneos

inferiores a 2 (es decir, el código detecta un bit erróneo, como habíamos visto

anteriormente).

b) Dado que el código no detecta una ráfaga de error igual a 2 (dos bits con-

secutivos erróneos), la capacidad de detección de ráfagas vale 1.

c) Finalmente, la probabilidad de que una combinación arbitraria de bits sea

aceptada como palabra válida es: 2−Q = 2−1 = 0,5, es decir, de los caracteres que

tengan muchos bits erróneos, sólo se detectarán la mitad.

2.5. Códigos de paridad longitudinal y transversal

Una manera de mejorar la robustez del código detector de errores por medio

de bit de paridad consiste en organizar los bits que hay que proteger en una

matriz, y calcular la paridad de las filas y de las columnas.

La paridad de las filas se denomina paridad transversal (u horizontal), y la de

las columnas, paridad longitudinal (o vertical).

Así pues, la información se transmite organizada en bloques con su respectiva

paridad longitudinal y transversal. La transmisión del bloque se hace por filas,

Paridad

Cuando se utiliza la paridad como código detector de erro-res, no debemos imaginar que toda la trama es protegida con un solo bit de paridad. La pari-dad normalmente se usa en transmisiones orientadas a ca-rácter, y las tramas de estas transmisiones están formadas por más de un carácter, cada uno con su bit de paridad.

FUOC • P03/75098/02118 17 Enlace de datos

de manera que los últimos bits transmitidos son los bits de la paridad longitu-

dinal. La figura siguiente muestra uno de estos bloques:

El código de paridad longitudinal y transversal se acostumbra a utilizar en

transmisiones orientadas a carácter. El dispositivo transmisor añade automá-

ticamente un bit de paridad a cada carácter, y de esta manera la trama queda

formada por un conjunto de caracteres a los cuales se añade un carácter con

la paridad longitudinal.

La figura siguiente nos muestra la disposición que acabamos de explicar de los

bits de paridad dentro de la trama. A causa de este carácter extra, este código

detector de errores se conoce también como LRC* o BCC**.

Para analizar este código investigaremos primero los casos en los que una com-

binación de errores no sería detectada. De la definición de paridad deducimos

que este código detectará todas las combinaciones de bits erróneos que tengan

un número impar de errores en alguna fila o columna. Es decir, no se detecta-

rán las combinaciones de bits erróneos que tengan un número par de errores

en todas las filas y columnas simultáneamente. El caso más sencillo es el que

muestra la figura siguiente:

* LRC es la sigla del término inglés Longitudinal Redundancy Check.

** BCC es la sigla del término inglés Block Check Character.

Cálculo del carácter LRC

El carácter LRC se suele calcular haciendo la operación XOR (paridad par) de los caracteres que se quieren proteger.

FUOC • P03/75098/02118 17 Enlace de datos

de manera que los últimos bits transmitidos son los bits de la paridad longitu-

dinal. La figura siguiente muestra uno de estos bloques:

El código de paridad longitudinal y transversal se acostumbra a utilizar en

transmisiones orientadas a carácter. El dispositivo transmisor añade automá-

ticamente un bit de paridad a cada carácter, y de esta manera la trama queda

formada por un conjunto de caracteres a los cuales se añade un carácter con

la paridad longitudinal.

La figura siguiente nos muestra la disposición que acabamos de explicar de los

bits de paridad dentro de la trama. A causa de este carácter extra, este código

detector de errores se conoce también como LRC* o BCC**.

Para analizar este código investigaremos primero los casos en los que una com-

binación de errores no sería detectada. De la definición de paridad deducimos

que este código detectará todas las combinaciones de bits erróneos que tengan

un número impar de errores en alguna fila o columna. Es decir, no se detecta-

rán las combinaciones de bits erróneos que tengan un número par de errores

en todas las filas y columnas simultáneamente. El caso más sencillo es el que

muestra la figura siguiente:

* LRC es la sigla del término inglés Longitudinal Redundancy Check.

** BCC es la sigla del término inglés Block Check Character.

Cálculo del carácter LRC

El carácter LRC se suele calcular haciendo la operación XOR (paridad par) de los caracteres que se quieren proteger.

FUOC • P03/75098/02118 18 Enlace de datos

Deducimos el valor de los parámetros introducidos para medir la robustez de

un código:

a) Si en un bloque cambia uno de los bits que hay que proteger, cambiarán,

además, las paridades transversal, longitudinal y la paridad de las longitudina-

les: cambian 4 bits, y por lo tanto DH = 4.

b) Para determinar la capacidad de detección de ráfagas tenemos que encon-

trar la ráfaga mínima no detectada. A partir de la figura “Combinación de erro-

res que no sería detectada” es fácil deducir que la ráfaga mínima no detectada

se produce cuando los cuatro bits erróneos son adyacentes, y su tamaño es

igual a la longitud de una fila más dos. Así pues, la capacidad de detección de

ráfagas es la longitud de una fila más uno.

c)La probabilidad de que una combinación arbitraria de bits sea aceptada

como palabra válida es 1/2longitud fila+longitud columna−1.

2.6. Códigos detectores de errores CRC

Como hemos comentado, los códigos detectores con bit de paridad están in-

dicados para transmisiones orientadas a carácter. Para transmisiones orienta-

das a bit no son útiles, porque las tiras de bits donde se podría aplicar la

paridad son mucho más largas y perderían efectividad. En lugar del bit de pa-

ridad se utilizan los denominados códigos CRC* o polinomiales.

Los códigos detectores de errores polinomiales se basan en el cálculo de un nú-

mero binario, lo que realmente es el CRC, resultado de una cierta operación

matemática efectuada con los bits que se tienen que proteger. Este número se

pone en el campo de control de errores de la trama. En recepción se repite el

cálculo y se interpreta que hay o no hay error, en función de si coincide o no

con el CRC recibido.

Las propiedades de los códigos polinomiales dependen del mecanismo de ge-

neración del CRC. En general, sin embargo, se puede demostrar que con un

mecanismo adecuado y con un CRC de Q bits:

a) La distancia de Hamming del código es mayor o igual a 4.

* CRC es la sigla de la expresión inglesa Cyclic Redundancy Check.

Podéis conocer los detalles matemáticos de construcción del CRC y detección de errores si consultáis el anexo 1 de este módulo didáctico.

FUOC • P03/75098/02118 18 Enlace de datos

Deducimos el valor de los parámetros introducidos para medir la robustez de

un código:

a) Si en un bloque cambia uno de los bits que hay que proteger, cambiarán,

además, las paridades transversal, longitudinal y la paridad de las longitudina-

les: cambian 4 bits, y por lo tanto DH = 4.

b) Para determinar la capacidad de detección de ráfagas tenemos que encon-

trar la ráfaga mínima no detectada. A partir de la figura “Combinación de erro-

res que no sería detectada” es fácil deducir que la ráfaga mínima no detectada

se produce cuando los cuatro bits erróneos son adyacentes, y su tamaño es

igual a la longitud de una fila más dos. Así pues, la capacidad de detección de

ráfagas es la longitud de una fila más uno.

c)La probabilidad de que una combinación arbitraria de bits sea aceptada

como palabra válida es 1/2longitud fila+longitud columna−1.

2.6. Códigos detectores de errores CRC

Como hemos comentado, los códigos detectores con bit de paridad están in-

dicados para transmisiones orientadas a carácter. Para transmisiones orienta-

das a bit no son útiles, porque las tiras de bits donde se podría aplicar la

paridad son mucho más largas y perderían efectividad. En lugar del bit de pa-

ridad se utilizan los denominados códigos CRC* o polinomiales.

Los códigos detectores de errores polinomiales se basan en el cálculo de un nú-

mero binario, lo que realmente es el CRC, resultado de una cierta operación

matemática efectuada con los bits que se tienen que proteger. Este número se

pone en el campo de control de errores de la trama. En recepción se repite el

cálculo y se interpreta que hay o no hay error, en función de si coincide o no

con el CRC recibido.

Las propiedades de los códigos polinomiales dependen del mecanismo de ge-

neración del CRC. En general, sin embargo, se puede demostrar que con un

mecanismo adecuado y con un CRC de Q bits:

a) La distancia de Hamming del código es mayor o igual a 4.

* CRC es la sigla de la expresión inglesa Cyclic Redundancy Check.

Podéis conocer los detalles matemáticos de construcción del CRC y detección de errores si consultáis el anexo 1 de este módulo didáctico.

FUOC • P03/75098/02118 19 Enlace de datos

b) La capacidad de detección de ráfagas de error es mayor o igual a Q.

c) La probabilidad de que una combinación arbitraria de bits sea aceptada

como palabra válida vale 2−Q.

2.7. Códigos correctores de errores

Hay códigos que, además de detectar errores, permiten corregir algunos bits

erróneos. Por ejemplo, en un código de paridad longitudinal y transversal,

cualquier error de un solo bit se puede corregir buscando la fila y la columna

con la paridad cambiada (tal y como muestra el esquema a) de la figura si-

guiente). Sin embargo, si el error se produce en dos bits, el código ya no es ca-

paz de corregir el error. Esto puede verse en el esquema b). En esta figura los

bits erróneos están marcados en negro. Si el error se produjera en los bits mar-

cados en blanco, se tendría el mismo error longitudinal y transversal. Así pues,

el código de paridad longitudinal y transversal no es capaz de averiguar cuál

de las dos posibilidades debería corregirse.

Con la finalidad de hacer un análisis más formal de los códigos correctores se

utiliza el concepto de distancia de Hamming, que ya hemos introducido. En

caso de error, la corrección consiste en suponer que la palabra código transmi-

tida es la palabra código válida más próxima a la palabra recibida, según el

concepto de distancia (criterio de la distancia mínima). Por lo tanto, será la que

tenga menos bits de diferencia.

La técnica FEC

La técnica de utilizar un códi-go corrector de errores para recuperar errores (en lugar de solicitar la retransmisión de la trama) se conoce eninglés como Forward Error Correction (FEC).

Corrección de un bit

Un código con paridadtransversal y longitudinal es capaz de corregir el error en un bit (a), pero no en dos (b).

Podéis ver el concepto de distancia de Hamming en el subapartado 2.1 de este módulo didáctico.

FUOC • P03/75098/02118 19 Enlace de datos

b) La capacidad de detección de ráfagas de error es mayor o igual a Q.

c) La probabilidad de que una combinación arbitraria de bits sea aceptada

como palabra válida vale 2−Q.

2.7. Códigos correctores de errores

Hay códigos que, además de detectar errores, permiten corregir algunos bits

erróneos. Por ejemplo, en un código de paridad longitudinal y transversal,

cualquier error de un solo bit se puede corregir buscando la fila y la columna

con la paridad cambiada (tal y como muestra el esquema a) de la figura si-

guiente). Sin embargo, si el error se produce en dos bits, el código ya no es ca-

paz de corregir el error. Esto puede verse en el esquema b). En esta figura los

bits erróneos están marcados en negro. Si el error se produjera en los bits mar-

cados en blanco, se tendría el mismo error longitudinal y transversal. Así pues,

el código de paridad longitudinal y transversal no es capaz de averiguar cuál

de las dos posibilidades debería corregirse.

Con la finalidad de hacer un análisis más formal de los códigos correctores se

utiliza el concepto de distancia de Hamming, que ya hemos introducido. En

caso de error, la corrección consiste en suponer que la palabra código transmi-

tida es la palabra código válida más próxima a la palabra recibida, según el

concepto de distancia (criterio de la distancia mínima). Por lo tanto, será la que

tenga menos bits de diferencia.

La técnica FEC

La técnica de utilizar un códi-go corrector de errores para recuperar errores (en lugar de solicitar la retransmisión de la trama) se conoce eninglés como Forward Error Correction (FEC).

Corrección de un bit

Un código con paridadtransversal y longitudinal es capaz de corregir el error en un bit (a), pero no en dos (b).

Podéis ver el concepto de distancia de Hamming en el subapartado 2.1 de este módulo didáctico.

FUOC • P03/75098/02118 20 Enlace de datos

La figura anterior es una representación gráfica de la idea que justo acabamos

de exponer. En esta figura podemos ver una posible palabra código transmiti-

da, y después encontramos agrupadas todas las palabras con el número de bits

de diferencia (o sea, que distan): 1, 2… hasta las palabras válidas más próximas

a DH bits de distancia. Si se recibe una de las tramas que se encuentra a una

distancia 1, 2, …, Emáx, es decir, una de las palabras que no tienen otra palabra

válida más próxima que la transmitida, el código corregirá el error.

Para saber cuántos bits es capaz de corregir el código con probabilidad 1, su-

pogamos que, en la figura, DH es la distancia mínima entre dos palabras váli-

das (la distancia de Hamming del código).

Sea Emáx el número de bits erróneos; de la figura deducimos que el criterio de

distancia mínima corregirá el error si Emáx < D, donde D = DH − Emáx.

Código con paridad transversal y longitudinal

Si se utiliza un código con paridad transversal y longitudinal, la distancia de Hamming valeDH = 4. Por lo tanto, se pueden corregir Emáx < 2, es decir, 1 bit, tal y como habíamos de-ducido al principio de este subapartado. Un código con DH = 5 puede corregir Emáx < 2,5;es decir, 2 bits.

En definitiva, si la distancia de Hamming de un código es DH, utilizan-

do el criterio de la distancia mínima se puede corregir cualquier com-

binación de Emáx bits erróneos que cumpla Emáx < DH/2.

FUOC • P03/75098/02118 20 Enlace de datos

La figura anterior es una representación gráfica de la idea que justo acabamos

de exponer. En esta figura podemos ver una posible palabra código transmiti-

da, y después encontramos agrupadas todas las palabras con el número de bits

de diferencia (o sea, que distan): 1, 2… hasta las palabras válidas más próximas

a DH bits de distancia. Si se recibe una de las tramas que se encuentra a una

distancia 1, 2, …, Emáx, es decir, una de las palabras que no tienen otra palabra

válida más próxima que la transmitida, el código corregirá el error.

Para saber cuántos bits es capaz de corregir el código con probabilidad 1, su-

pogamos que, en la figura, DH es la distancia mínima entre dos palabras váli-

das (la distancia de Hamming del código).

Sea Emáx el número de bits erróneos; de la figura deducimos que el criterio de

distancia mínima corregirá el error si Emáx < D, donde D = DH − Emáx.

Código con paridad transversal y longitudinal

Si se utiliza un código con paridad transversal y longitudinal, la distancia de Hamming valeDH = 4. Por lo tanto, se pueden corregir Emáx < 2, es decir, 1 bit, tal y como habíamos de-ducido al principio de este subapartado. Un código con DH = 5 puede corregir Emáx < 2,5;es decir, 2 bits.

En definitiva, si la distancia de Hamming de un código es DH, utilizan-

do el criterio de la distancia mínima se puede corregir cualquier com-

binación de Emáx bits erróneos que cumpla Emáx < DH/2.

FUOC • P03/75098/02118 21 Enlace de datos

3. Control de errores

En caso de que se reciba una trama con errores, el nivel de enlace puede adop-

tar una de las soluciones siguientes:

1) Descartar la trama.

2) Intentar corregir los errores (si se utiliza un código corrector adecuado).

3) Solicitar la retransmisión.

La solución que se adopte depende de factores virtuales al uso del enlace o al

tipo de aplicación. Más adelante se discuten estos factores. Aquí sólo apuntare-

mos que para aplicar la tercera solución es necesario que la comunicación sea

bidireccional (half duplex o full duplex).

La primera solución sólo es factible en aplicaciones que toleren un cierto

grado de error en la información recibida. La ventaja de la segunda solu-

ción respecto de la tercera es que se evita el retardo que implica solicitar la

retransmisión de las tramas. Por el contrario, los códigos correctores de

errores necesitan añadir mucha redundancia (bits extras) y, por lo tanto, la

transmisión es más ineficiente (la relación entre los bits de información y

control disminuye). Más adelante se profundizará en el concepto de efi-

ciencia.

Un caso típico donde es preferible un código corrector de errores antes que un código de-tector acompañado de retransmisiones es en comunicaciones vía satélite. Conviene máspagar en ineficiencia por el incremento de bits redundantes que en tiempo de retransmi-siones, porque la distancia que hay que recorrer es muy grande.

Los motivos anteriores explican por qué, cuando se necesita hacer una recu-

peración de errores, se adopta la tercera solución siempre que se puede. Los

protocolos que usan esta técnica se conocen como protocolos ARQ, del inglés

Automatic Repeat Request. En concreto, los protocolos que veremos son los si-

guientes:

• Stop & Wait

• Retransmisión selectiva

• Go back N

Para estudiar estos protocolos supondremos:

1) Un nivel físico genérico en el cual:

• Las tramas pueden llegar con error o se pueden perder. Diremos que la tra-

ma se pierde cuando los errores se producen de manera tal que impiden

que el receptor pueda delimitar e interpretar la recepción de la trama.

Podéis ver los motivos que conducen a una solución determinada en los subapartados 5.2 y 5.3 de este módulo didáctico. Podéis ver también los conceptos half duplex y full duplex en el subapartado 3.1 del módulo “Transmisión de datos” de esta asignatura.

Podéis ver el concepto de eficiencia en el subapartado 3.3.4 de este módulo didáctico.

FUOC • P03/75098/02118 21 Enlace de datos

3. Control de errores

En caso de que se reciba una trama con errores, el nivel de enlace puede adop-

tar una de las soluciones siguientes:

1) Descartar la trama.

2) Intentar corregir los errores (si se utiliza un código corrector adecuado).

3) Solicitar la retransmisión.

La solución que se adopte depende de factores virtuales al uso del enlace o al

tipo de aplicación. Más adelante se discuten estos factores. Aquí sólo apuntare-

mos que para aplicar la tercera solución es necesario que la comunicación sea

bidireccional (half duplex o full duplex).

La primera solución sólo es factible en aplicaciones que toleren un cierto

grado de error en la información recibida. La ventaja de la segunda solu-

ción respecto de la tercera es que se evita el retardo que implica solicitar la

retransmisión de las tramas. Por el contrario, los códigos correctores de

errores necesitan añadir mucha redundancia (bits extras) y, por lo tanto, la

transmisión es más ineficiente (la relación entre los bits de información y

control disminuye). Más adelante se profundizará en el concepto de efi-

ciencia.

Un caso típico donde es preferible un código corrector de errores antes que un código de-tector acompañado de retransmisiones es en comunicaciones vía satélite. Conviene máspagar en ineficiencia por el incremento de bits redundantes que en tiempo de retransmi-siones, porque la distancia que hay que recorrer es muy grande.

Los motivos anteriores explican por qué, cuando se necesita hacer una recu-

peración de errores, se adopta la tercera solución siempre que se puede. Los

protocolos que usan esta técnica se conocen como protocolos ARQ, del inglés

Automatic Repeat Request. En concreto, los protocolos que veremos son los si-

guientes:

• Stop & Wait

• Retransmisión selectiva

• Go back N

Para estudiar estos protocolos supondremos:

1) Un nivel físico genérico en el cual:

• Las tramas pueden llegar con error o se pueden perder. Diremos que la tra-

ma se pierde cuando los errores se producen de manera tal que impiden

que el receptor pueda delimitar e interpretar la recepción de la trama.

Podéis ver los motivos que conducen a una solución determinada en los subapartados 5.2 y 5.3 de este módulo didáctico. Podéis ver también los conceptos half duplex y full duplex en el subapartado 3.1 del módulo “Transmisión de datos” de esta asignatura.

Podéis ver el concepto de eficiencia en el subapartado 3.3.4 de este módulo didáctico.

FUOC • P03/75098/02118 22 Enlace de datos

• Las tramas llegan en el mismo orden en el que se han transmitido.

2) Un nivel por encima del nivel de enlace, en el cual:

• El transmisor siempre tiene datos de información a punto para transmitir.

El nivel de enlace, sin embargo, tiene la libertad de aceptarlos en instantes

arbitrarios.

• El receptor siempre está dispuesto a aceptar datos del nivel de enlace.

Además de describir los protocolos, los evaluaremos. La evaluación de los

protocolos consiste en el cálculo de los parámetros de más interés, como la

eficiencia. Para la descripción y evaluación de estos protocolos es muy útil el

uso de un diagrama de tiempo. Así pues, antes de empezar con la descripción

de los protocolos, explicaremos esta herramienta.

3.1. Diagramas de tiempo

Los diagramas de tiempo que utilizaremos en esta asignatura son una repre-

sentación espaciotemporal de la transmisión de tramas entre las dos entidades

de nivel de enlace. Este tipo de diagramas también se utiliza para el estudio de

la comunicación entre entidades en muchos otros contextos.

Como ejemplo de este tipo de diagramas, la figura siguiente muestra la trans-

misión de una trama denominada IK. La interpretación del índice K es la si-

guiente: si enumeramos la secuencia de tramas transmitidas con los números

{1, 2, 3, …}, IK representa la trama K de la secuencia transmitida.

En la figura anterior hay dos ejes temporales; sobre cada uno se representan

los acontecimientos que tienen lugar en cada una de las estaciones: en el eje

FUOC • P03/75098/02118 22 Enlace de datos

• Las tramas llegan en el mismo orden en el que se han transmitido.

2) Un nivel por encima del nivel de enlace, en el cual:

• El transmisor siempre tiene datos de información a punto para transmitir.

El nivel de enlace, sin embargo, tiene la libertad de aceptarlos en instantes

arbitrarios.

• El receptor siempre está dispuesto a aceptar datos del nivel de enlace.

Además de describir los protocolos, los evaluaremos. La evaluación de los

protocolos consiste en el cálculo de los parámetros de más interés, como la

eficiencia. Para la descripción y evaluación de estos protocolos es muy útil el

uso de un diagrama de tiempo. Así pues, antes de empezar con la descripción

de los protocolos, explicaremos esta herramienta.

3.1. Diagramas de tiempo

Los diagramas de tiempo que utilizaremos en esta asignatura son una repre-

sentación espaciotemporal de la transmisión de tramas entre las dos entidades

de nivel de enlace. Este tipo de diagramas también se utiliza para el estudio de

la comunicación entre entidades en muchos otros contextos.

Como ejemplo de este tipo de diagramas, la figura siguiente muestra la trans-

misión de una trama denominada IK. La interpretación del índice K es la si-

guiente: si enumeramos la secuencia de tramas transmitidas con los números

{1, 2, 3, …}, IK representa la trama K de la secuencia transmitida.

En la figura anterior hay dos ejes temporales; sobre cada uno se representan

los acontecimientos que tienen lugar en cada una de las estaciones: en el eje

FUOC • P03/75098/02118 23 Enlace de datos

superior, los que se llevan a cabo en la estación que transmite la trama, y en

el inferior, los que se realizan en la estación que la recibe.

En los diagramas de tiempo que representaremos haremos estas suposicio-

nes:

• Asumiremos que el tiempo de procesamiento es cero. Es decir, que cuan-

do una entidad de nivel de enlace tiene una trama lista para transmitir, el

nivel físico la empieza a transmitir inmediatamente.

• Supondremos que la velocidad de transmisión de la línea es fija y la de-

signaremos por vt (medido en bits por segundo o bps).

• Supondremos (si no se indica lo contrario) que el tamaño de las tramas,

L, es fijo y se mide en bits.

• Supondremos que la distancia entre las estaciones, D, y la velocidad de pro-

pagación en el medio, vp, son fijas.

En función de vt y L, el tiempo de transmisión de una trama (tt) viene dado por:

En función de D y vp, el tiempo de propagación (tp) se puede obtener a partir de:

De ahora en adelante utilizaremos una versión simplificada como el diagrama de

tiempo de la figura anterior, en la que indicaremos sólo el tiempo de transmisión

de la trama transmitida, el tiempo de propagación y el instante de llegada del úl-

timo bit de la trama, tal y como se muestra en la figura siguiente:

Ecuación 1

Ecuación 2

Velocidad de propagación

En el vacío, una señal electro-magnética se propaga a una velocidad de vp ≈ 3 · 108 m/s. En cualquier otro medio la velocidad de propagación es inferior.

tt s( ) L bit( )vt bps( )-------------------=

tp s( ) D m( )vp m s⁄( )----------------------=

FUOC • P03/75098/02118 23 Enlace de datos

superior, los que se llevan a cabo en la estación que transmite la trama, y en

el inferior, los que se realizan en la estación que la recibe.

En los diagramas de tiempo que representaremos haremos estas suposicio-

nes:

• Asumiremos que el tiempo de procesamiento es cero. Es decir, que cuan-

do una entidad de nivel de enlace tiene una trama lista para transmitir, el

nivel físico la empieza a transmitir inmediatamente.

• Supondremos que la velocidad de transmisión de la línea es fija y la de-

signaremos por vt (medido en bits por segundo o bps).

• Supondremos (si no se indica lo contrario) que el tamaño de las tramas,

L, es fijo y se mide en bits.

• Supondremos que la distancia entre las estaciones, D, y la velocidad de pro-

pagación en el medio, vp, son fijas.

En función de vt y L, el tiempo de transmisión de una trama (tt) viene dado por:

En función de D y vp, el tiempo de propagación (tp) se puede obtener a partir de:

De ahora en adelante utilizaremos una versión simplificada como el diagrama de

tiempo de la figura anterior, en la que indicaremos sólo el tiempo de transmisión

de la trama transmitida, el tiempo de propagación y el instante de llegada del úl-

timo bit de la trama, tal y como se muestra en la figura siguiente:

Ecuación 1

Ecuación 2

Velocidad de propagación

En el vacío, una señal electro-magnética se propaga a una velocidad de vp ≈ 3 · 108 m/s. En cualquier otro medio la velocidad de propagación es inferior.

tt s( ) L bit( )vt bps( )-------------------=

tp s( ) D m( )vp m s⁄( )----------------------=

FUOC • P03/75098/02118 24 Enlace de datos

Observad que el receptor sólo puede empezar a procesar la trama recibida

(comprobar si hay errores) después de haber recibido el último bit.

3.2. Evaluación de los protocolos: eficiencia

El principal criterio de evaluación de los protocolos ARQ es la eficiencia:

La velocidad de transmisión máxima (vt) es la velocidad de transmisión

de la línea; es decir, la velocidad a la cual el nivel físico es capaz de trans-

mitir los bits:

La velocidad que nos interesa, sin embargo, es la velocidad media a la que se pue-

de transmitir la información, teniendo en cuenta todos los factores que reduzcan

la velocidad de transmisión máxima. Esta velocidad la denominaremos veloci-

dad de transmisión eficaz o velocidad de transmisión efectiva (vef):

La eficiencia se define como la relación entre la velocidad efectiva y la veloci-

dad de transmisión; es decir:

Dado que:

bits de información × tiempo de transmisión de un bit =

= tiempo que se han transmitido los bits de información,

la ecuación 5 para la eficiencia se puede expresar también como se muestra a

continuación:

La eficiencia cuantifica la pérdida de capacidad de transmisión de infor-

mación. Es decir, se trata de la relación entre la velocidad media a la que

se transmiten los bits de información y la velocidad máxima a la que se

podrían transmitir.

Ecuación 3

Ecuación 4

Ecuación 5

Ecuación 6

vt1

tiempo de transmisión de un bit------------------------------------------------------------------------------------------=

vefbits de información

tiempo de transmisión---------------------------------------------------------------=

Evef

vt------ bits de información

tiempo de transmisión--------------------------------------------------------------- 1

tiempo de transmisión de un bit------------------------------------------------------------------------------------------⁄= =

E tiempo transmitiendo informacióntiempo de transmisión

-------------------------------------------------------------------------------------------------=

FUOC • P03/75098/02118 24 Enlace de datos

Observad que el receptor sólo puede empezar a procesar la trama recibida

(comprobar si hay errores) después de haber recibido el último bit.

3.2. Evaluación de los protocolos: eficiencia

El principal criterio de evaluación de los protocolos ARQ es la eficiencia:

La velocidad de transmisión máxima (vt) es la velocidad de transmisión

de la línea; es decir, la velocidad a la cual el nivel físico es capaz de trans-

mitir los bits:

La velocidad que nos interesa, sin embargo, es la velocidad media a la que se pue-

de transmitir la información, teniendo en cuenta todos los factores que reduzcan

la velocidad de transmisión máxima. Esta velocidad la denominaremos veloci-

dad de transmisión eficaz o velocidad de transmisión efectiva (vef):

La eficiencia se define como la relación entre la velocidad efectiva y la veloci-

dad de transmisión; es decir:

Dado que:

bits de información × tiempo de transmisión de un bit =

= tiempo que se han transmitido los bits de información,

la ecuación 5 para la eficiencia se puede expresar también como se muestra a

continuación:

La eficiencia cuantifica la pérdida de capacidad de transmisión de infor-

mación. Es decir, se trata de la relación entre la velocidad media a la que

se transmiten los bits de información y la velocidad máxima a la que se

podrían transmitir.

Ecuación 3

Ecuación 4

Ecuación 5

Ecuación 6

vt1

tiempo de transmisión de un bit------------------------------------------------------------------------------------------=

vefbits de información

tiempo de transmisión---------------------------------------------------------------=

Evef

vt------ bits de información

tiempo de transmisión--------------------------------------------------------------- 1

tiempo de transmisión de un bit------------------------------------------------------------------------------------------⁄= =

E tiempo transmitiendo informacióntiempo de transmisión

-------------------------------------------------------------------------------------------------=

FUOC • P03/75098/02118 25 Enlace de datos

A veces es interesante tener la eficiencia en función de los bits transmitidos,

en lugar del tiempo invertido en la transmisión de éstos. Teniendo en cuenta

la igualdad siguiente:

la ecuación 5 también se puede expresar de esta manera:

3.3. Protocolo Stop & Wait

El protocolo Stop & Wait, que podemos traducir por ‘para y espera’, es el pro-

tocolo ARQ más sencillo.

Para conseguirlo se definen dos tipos de tramas:

a) Las tramas de información o tramas, que llevan la información que se

intercambian las entidades del nivel superior.

b) Las tramas de confirmación o confirmaciones, que forman parte del proto-

colo del nivel de enlace y que no llevan información de los niveles superiores.

La figura siguiente muestra el funcionamiento de este protocolo. En esta figura

la estación 1 envía tramas de información a la estación 2, y la estación 2 las

confirma. Para distinguir la estación transmisora de tramas de información de

la estación transmisora de las confirmaciones, nos referiremos a las mismas

como primario y secundario, respectivamente.

Ecuación 7

El principio de funcionamiento del protocolo Stop & Wait es “no trans-

mitir una trama nueva hasta que no se tiene la certeza de la recepción

correcta de la trama anterior”.

tiempo de transmisióntiempo de transmisión de un bit------------------------------------------------------------------------------------------

Número de bits que se podrían haber transmitido en el tiempo de transmisión,

=

E bits de informaciónbits que caben en el tiempo de transmisión------------------------------------------------------------------------------------------------------------------------=

Notación

En los diagramas de tiempoindicaremos las tramas de información con una I y las confirmaciones con una Α(de la palabra inglesa Acknowledgement).

FUOC • P03/75098/02118 25 Enlace de datos

A veces es interesante tener la eficiencia en función de los bits transmitidos,

en lugar del tiempo invertido en la transmisión de éstos. Teniendo en cuenta

la igualdad siguiente:

la ecuación 5 también se puede expresar de esta manera:

3.3. Protocolo Stop & Wait

El protocolo Stop & Wait, que podemos traducir por ‘para y espera’, es el pro-

tocolo ARQ más sencillo.

Para conseguirlo se definen dos tipos de tramas:

a) Las tramas de información o tramas, que llevan la información que se

intercambian las entidades del nivel superior.

b) Las tramas de confirmación o confirmaciones, que forman parte del proto-

colo del nivel de enlace y que no llevan información de los niveles superiores.

La figura siguiente muestra el funcionamiento de este protocolo. En esta figura

la estación 1 envía tramas de información a la estación 2, y la estación 2 las

confirma. Para distinguir la estación transmisora de tramas de información de

la estación transmisora de las confirmaciones, nos referiremos a las mismas

como primario y secundario, respectivamente.

Ecuación 7

El principio de funcionamiento del protocolo Stop & Wait es “no trans-

mitir una trama nueva hasta que no se tiene la certeza de la recepción

correcta de la trama anterior”.

tiempo de transmisióntiempo de transmisión de un bit------------------------------------------------------------------------------------------

Número de bits que se podrían haber transmitido en el tiempo de transmisión,

=

E bits de informaciónbits que caben en el tiempo de transmisión------------------------------------------------------------------------------------------------------------------------=

Notación

En los diagramas de tiempoindicaremos las tramas de información con una I y las confirmaciones con una Α(de la palabra inglesa Acknowledgement).

FUOC • P03/75098/02118 26 Enlace de datos

El diagrama de la figura debe interpretarse de la manera siguiente: cuando el

secundario recibe completamente la trama IK, comprueba si la ha recibido co-

rrectamente y, en caso afirmativo, envía la confirmación AK.

Observad que tanto el secundario como el primario invierten un cierto tiempo en

el procesamiento de las tramas recibidas. Esto implica que, aunque el tiempo de

propagación es constante, a causa del tiempo de procesamiento de las tramas en

el secundario, el tiempo de espera de las confirmaciones es variable.

Para simplificarlo, supondremos generalmente que el tiempo de procesamien-

to de las tramas es cero, excepto cuando sea necesario tenerlo en cuenta.

El tamaño de las tramas de confirmación es normalmente mucho menor que

el de las tramas de información, dado que no llevan datos del nivel superior. Ade-

más, hay que tener en cuenta que el código detector de errores también tiene que

aplicarse a las confirmaciones para asegurar la recepción correcta.

En este subapartado supondremos que el código detector de errores es lo bas-

tante robusto como para poder detectar cualquier error que pueda haber en la

transmisión de una trama.

En caso de que haya error, el secundario solicita la retransmisión de la trama

de información. Esto se puede hacer mediante las retransmisiones implícitas

y las explícitas.

3.3.1. Protocolo Stop & Wait con retransmisiones implícitas

En este caso las reglas que siguen el primario y el secundario son las si-

guientes:

1) El secundario envía confirmaciones positivas, A, de las tramas que recibe

sin errores.

2) El primario, después de enviar una trama IK, espera un tiempo T0 (activa

un temporizador o time-out) para recibir la confirmación positiva, AK.

a) Si agotado el tiempo T0 la confirmación no ha llegado, retransmite la tra-

ma IK y vuelve a activar el time-out.

b) Si recibe la confirmación positiva, AK, desactiva el time-out, acepta nuevos

datos del nivel superior, monta una nueva trama IK+1 y repite este proceso.

La figura siguiente muestra la recepción de una trama errónea y su retransmi-

sión implícita. Evidentemente, el valor T0 del time-out debe fijarse de manera

que el primario tenga tiempo de recibir la confirmación (es decir, T0 > ta + 2tp,

donde ta es el tiempo de transmisión de las confirmaciones y tp es el tiempo

de propagación). Si el valor del time-out fuera demasiado pequeño, se produci-

ría la retransmisión innecesaria de las tramas.

FUOC • P03/75098/02118 26 Enlace de datos

El diagrama de la figura debe interpretarse de la manera siguiente: cuando el

secundario recibe completamente la trama IK, comprueba si la ha recibido co-

rrectamente y, en caso afirmativo, envía la confirmación AK.

Observad que tanto el secundario como el primario invierten un cierto tiempo en

el procesamiento de las tramas recibidas. Esto implica que, aunque el tiempo de

propagación es constante, a causa del tiempo de procesamiento de las tramas en

el secundario, el tiempo de espera de las confirmaciones es variable.

Para simplificarlo, supondremos generalmente que el tiempo de procesamien-

to de las tramas es cero, excepto cuando sea necesario tenerlo en cuenta.

El tamaño de las tramas de confirmación es normalmente mucho menor que

el de las tramas de información, dado que no llevan datos del nivel superior. Ade-

más, hay que tener en cuenta que el código detector de errores también tiene que

aplicarse a las confirmaciones para asegurar la recepción correcta.

En este subapartado supondremos que el código detector de errores es lo bas-

tante robusto como para poder detectar cualquier error que pueda haber en la

transmisión de una trama.

En caso de que haya error, el secundario solicita la retransmisión de la trama

de información. Esto se puede hacer mediante las retransmisiones implícitas

y las explícitas.

3.3.1. Protocolo Stop & Wait con retransmisiones implícitas

En este caso las reglas que siguen el primario y el secundario son las si-

guientes:

1) El secundario envía confirmaciones positivas, A, de las tramas que recibe

sin errores.

2) El primario, después de enviar una trama IK, espera un tiempo T0 (activa

un temporizador o time-out) para recibir la confirmación positiva, AK.

a) Si agotado el tiempo T0 la confirmación no ha llegado, retransmite la tra-

ma IK y vuelve a activar el time-out.

b) Si recibe la confirmación positiva, AK, desactiva el time-out, acepta nuevos

datos del nivel superior, monta una nueva trama IK+1 y repite este proceso.

La figura siguiente muestra la recepción de una trama errónea y su retransmi-

sión implícita. Evidentemente, el valor T0 del time-out debe fijarse de manera

que el primario tenga tiempo de recibir la confirmación (es decir, T0 > ta + 2tp,

donde ta es el tiempo de transmisión de las confirmaciones y tp es el tiempo

de propagación). Si el valor del time-out fuera demasiado pequeño, se produci-

ría la retransmisión innecesaria de las tramas.

FUOC • P03/75098/02118 27 Enlace de datos

3.3.2. Protocolo Stop & Wait con retransmisiones explícitas

Las reglas en este caso son las mismas que en la retransmisión implícita, con

la diferencia de que el secundario también envía confirmaciones negativas

(NAK) en el caso de que reciba una trama con errores:

En general, la confirmación negativa permite una retransmisión más rápida de

la trama errónea porque no hay que esperar a que se agote el time-out. Sin em-

bargo, en la transmisión también es necesario utilizar un time-out, ya que las

confirmaciones pueden llegar con errores o se pueden perder*. Esta condición

se refleja en la figura siguiente:

Notación

En los diagramas de tiempo in-dicaremos la recepción de una trama errónea con una cruz.

Notación

En los diagramas de tiempo in-dicaremos las confirmaciones negativas con la sigla NA(No Acknowledgement).

* Las confirmaciones pueden perderse en caso de que los errores no permitan reconocer la recepción

de la trama.

Notación

Indicaremos que una tramase pierde (es decir, que los errores impiden reconocersu recepción) con una flechaque no llega al eje contrarioy una cruz.

FUOC • P03/75098/02118 27 Enlace de datos

3.3.2. Protocolo Stop & Wait con retransmisiones explícitas

Las reglas en este caso son las mismas que en la retransmisión implícita, con

la diferencia de que el secundario también envía confirmaciones negativas

(NAK) en el caso de que reciba una trama con errores:

En general, la confirmación negativa permite una retransmisión más rápida de

la trama errónea porque no hay que esperar a que se agote el time-out. Sin em-

bargo, en la transmisión también es necesario utilizar un time-out, ya que las

confirmaciones pueden llegar con errores o se pueden perder*. Esta condición

se refleja en la figura siguiente:

Notación

En los diagramas de tiempo in-dicaremos la recepción de una trama errónea con una cruz.

Notación

En los diagramas de tiempo in-dicaremos las confirmaciones negativas con la sigla NA(No Acknowledgement).

* Las confirmaciones pueden perderse en caso de que los errores no permitan reconocer la recepción

de la trama.

Notación

Indicaremos que una tramase pierde (es decir, que los errores impiden reconocersu recepción) con una flechaque no llega al eje contrarioy una cruz.

FUOC • P03/75098/02118 28 Enlace de datos

3.3.3. Necesidad de numerar las tramas y las confirmaciones

Sabemos que las tramas llevan un campo de control que sirve para detectar po-

sibles errores. En este subapartado veremos que, para el funcionamiento co-

rrecto del protocolo, es necesario numerar las tramas de información y las

confirmaciones (positivas o negativas). Así pues, otro campo de control de las

tramas es un número de secuencia que permite identificarlas.

Necesidad de numerar las tramas de información

La figura siguiente evidencia la necesidad de numerar las tramas de información:

En este caso, se pierde la confirmación de una trama. Dado que el primario no recibe laconfirmación, salta el time-out y retransmite la misma trama IK. Si la trama no estuvieranumerada, el secundario podría detectar la recepción duplicada de la trama. Gracias alnúmero de secuencia el secundario detecta esta condición, descarta la trama duplicada yvuelve a enviar la confirmación para que el primario continúe la transmisión de la tramade información siguiente (la trama IK+1).

Hasta ahora, en los diagramas de tiempo hemos considerado que el tiempo

de procesamiento de las tramas era igual a cero. Ahora tendremos en cuen-

ta que, en una situación real, este tiempo puede ser variable. Incluso puede

tener valores anormalmente grandes. Este hecho puede responder a múlti-

ples causas.

Necesidad de numerar las confirmaciones

La figura siguiente es un ejemplo que evidencia la necesidad de numerar las confirmaciones:

En el caso que presentamos, la confirmación AK llega al cabo de un tiempo anormalmen-te largo (a causa de un tiempo de procesamiento excesivo en el secundario), y provoca

Ejemplo

Si el software que ejecuta el DLC reside en un computador multitarea puede pasar que el computador esté muy cargado y el tiempo que dedique al DLC sea muy variable.

FUOC • P03/75098/02118 28 Enlace de datos

3.3.3. Necesidad de numerar las tramas y las confirmaciones

Sabemos que las tramas llevan un campo de control que sirve para detectar po-

sibles errores. En este subapartado veremos que, para el funcionamiento co-

rrecto del protocolo, es necesario numerar las tramas de información y las

confirmaciones (positivas o negativas). Así pues, otro campo de control de las

tramas es un número de secuencia que permite identificarlas.

Necesidad de numerar las tramas de información

La figura siguiente evidencia la necesidad de numerar las tramas de información:

En este caso, se pierde la confirmación de una trama. Dado que el primario no recibe laconfirmación, salta el time-out y retransmite la misma trama IK. Si la trama no estuvieranumerada, el secundario podría detectar la recepción duplicada de la trama. Gracias alnúmero de secuencia el secundario detecta esta condición, descarta la trama duplicada yvuelve a enviar la confirmación para que el primario continúe la transmisión de la tramade información siguiente (la trama IK+1).

Hasta ahora, en los diagramas de tiempo hemos considerado que el tiempo

de procesamiento de las tramas era igual a cero. Ahora tendremos en cuen-

ta que, en una situación real, este tiempo puede ser variable. Incluso puede

tener valores anormalmente grandes. Este hecho puede responder a múlti-

ples causas.

Necesidad de numerar las confirmaciones

La figura siguiente es un ejemplo que evidencia la necesidad de numerar las confirmaciones:

En el caso que presentamos, la confirmación AK llega al cabo de un tiempo anormalmen-te largo (a causa de un tiempo de procesamiento excesivo en el secundario), y provoca

Ejemplo

Si el software que ejecuta el DLC reside en un computador multitarea puede pasar que el computador esté muy cargado y el tiempo que dedique al DLC sea muy variable.

FUOC • P03/75098/02118 29 Enlace de datos

que antes de que llegue la confirmación salte el time-out y la trama IK se retransmita. Poreste motivo, llegan dos confirmaciones de la trama IK. Si éstas no se numeraran, la segun-da confirmación se interpretaría como la confirmación de la trama IK+1. En caso de quela trama IK+1 se perdiera (como indica la figura), el primario no la retransmitiría.

3.3.4. Cálculo de la eficiencia del protocolo Stop & Wait

En el caso del protocolo Stop & Wait la pérdida de capacidad de transmisión

se debe al tiempo que se pierde en la espera de confirmaciones y retransmisiones

de tramas. Hay también otros factores que afectan a la eficiencia, como los cam-

pos de control en las tramas de información. A la hora de calcular la eficiencia

de un protocolo siempre debemos considerar todos los datos que tengamos

al alcance y que resulten de una reducción de la capacidad de transmisión.

Con el objetivo de calcular la eficiencia consideraremos el diagrama de tiempo

siguiente:

Recordemos que tp es el tiempo de propagación. Supondremos que todas las

tramas tienen el mismo tamaño, igual a L bits (si el tamaño fuera variable, to-

maríamos como L su valor medio). El tiempo necesario para la transmisión de

la trama lo da la ecuación 1. De la misma manera, si las confirmaciones son

de M bits, el tiempo de transmisión de una confirmación (ta) es:

Según esto, el ciclo indicado como Tc en la figura se repetirá en la transmisión

de cada trama. Si se aplica la ecuación 6, la eficiencia del protocolo vendrá

dada por la relación entre el tiempo de transmisión de la trama (tt) y el tiempo

invertido para la transmisión de la trama (Tc). De la figura anterior deducimos

que Tc es Tc = tt + tp + ta + tp; así:

Ecuación 8

Ecuación 9

Podéis ver la ecuación 1 en el subapartado 3.1 de este módulo didáctico.

ta s( ) M bit( )vt bps( )-------------------=

Ett

Tc----- tt

tt ta 2tp+ +----------------------------= =

FUOC • P03/75098/02118 29 Enlace de datos

que antes de que llegue la confirmación salte el time-out y la trama IK se retransmita. Poreste motivo, llegan dos confirmaciones de la trama IK. Si éstas no se numeraran, la segun-da confirmación se interpretaría como la confirmación de la trama IK+1. En caso de quela trama IK+1 se perdiera (como indica la figura), el primario no la retransmitiría.

3.3.4. Cálculo de la eficiencia del protocolo Stop & Wait

En el caso del protocolo Stop & Wait la pérdida de capacidad de transmisión

se debe al tiempo que se pierde en la espera de confirmaciones y retransmisiones

de tramas. Hay también otros factores que afectan a la eficiencia, como los cam-

pos de control en las tramas de información. A la hora de calcular la eficiencia

de un protocolo siempre debemos considerar todos los datos que tengamos

al alcance y que resulten de una reducción de la capacidad de transmisión.

Con el objetivo de calcular la eficiencia consideraremos el diagrama de tiempo

siguiente:

Recordemos que tp es el tiempo de propagación. Supondremos que todas las

tramas tienen el mismo tamaño, igual a L bits (si el tamaño fuera variable, to-

maríamos como L su valor medio). El tiempo necesario para la transmisión de

la trama lo da la ecuación 1. De la misma manera, si las confirmaciones son

de M bits, el tiempo de transmisión de una confirmación (ta) es:

Según esto, el ciclo indicado como Tc en la figura se repetirá en la transmisión

de cada trama. Si se aplica la ecuación 6, la eficiencia del protocolo vendrá

dada por la relación entre el tiempo de transmisión de la trama (tt) y el tiempo

invertido para la transmisión de la trama (Tc). De la figura anterior deducimos

que Tc es Tc = tt + tp + ta + tp; así:

Ecuación 8

Ecuación 9

Podéis ver la ecuación 1 en el subapartado 3.1 de este módulo didáctico.

ta s( ) M bit( )vt bps( )-------------------=

Ett

Tc----- tt

tt ta 2tp+ +----------------------------= =

FUOC • P03/75098/02118 30 Enlace de datos

A menudo, el tamaño de las tramas de información es mucho mayor que el de

las confirmaciones. Entonces tt >> ta y, por lo tanto, la ecuación 9 se puede

reescribir de la manera siguiente:

En función de la eficiencia podemos calcular la velocidad efectiva (veƒ):

El parámetro a, según la medida de la trama, tiene la interpretación física si-

guiente:

Es decir, podemos interpretar a como el número de tramas que caben en el

enlace. Por lo tanto, se da uno de estos casos:

• Si a > 1, cuando el primer bit de la trama llega al secundario, el primario ya

ha acabado de transmitir la trama.

• Si a < 1, cuando el primer bit de la trama llega al secundario, el primario

todavía no ha acabado de transmitir la trama.

Hay que tener en cuenta las observaciones siguientes:

a) La eficiencia normalmente se da en tanto por ciento, es decir, multiplican-

do el resultado de la ecuación 9 por 100.

b) En el caso de que haya errores, la eficiencia es inferior porque hay que con-

siderar las retransmisiones. Para evitar confusiones hablaremos de la eficien-

cia máxima para referirnos a la eficiencia que podemos conseguir en el mejor

de los casos, es decir, sin errores.

Ecuación 10

Ecuación 11

a = tp/tt Ett

tt 2tp+----------------- 1

1 2tp tt⁄+------------------------- 1

1 2a+----------------= =≈

vef vt E⋅vt

1 2a+----------------≈=

atp

tt----

tp

L vt⁄-----------

tp vt⋅L

------------- número de bits que caben en el enlace tamaño de la trama

-----------------------------------------------------------------------------------------------------------= = = =

FUOC • P03/75098/02118 30 Enlace de datos

A menudo, el tamaño de las tramas de información es mucho mayor que el de

las confirmaciones. Entonces tt >> ta y, por lo tanto, la ecuación 9 se puede

reescribir de la manera siguiente:

En función de la eficiencia podemos calcular la velocidad efectiva (veƒ):

El parámetro a, según la medida de la trama, tiene la interpretación física si-

guiente:

Es decir, podemos interpretar a como el número de tramas que caben en el

enlace. Por lo tanto, se da uno de estos casos:

• Si a > 1, cuando el primer bit de la trama llega al secundario, el primario ya

ha acabado de transmitir la trama.

• Si a < 1, cuando el primer bit de la trama llega al secundario, el primario

todavía no ha acabado de transmitir la trama.

Hay que tener en cuenta las observaciones siguientes:

a) La eficiencia normalmente se da en tanto por ciento, es decir, multiplican-

do el resultado de la ecuación 9 por 100.

b) En el caso de que haya errores, la eficiencia es inferior porque hay que con-

siderar las retransmisiones. Para evitar confusiones hablaremos de la eficien-

cia máxima para referirnos a la eficiencia que podemos conseguir en el mejor

de los casos, es decir, sin errores.

Ecuación 10

Ecuación 11

a = tp/tt Ett

tt 2tp+----------------- 1

1 2tp tt⁄+------------------------- 1

1 2a+----------------= =≈

vef vt E⋅vt

1 2a+----------------≈=

atp

tt----

tp

L vt⁄-----------

tp vt⋅L

------------- número de bits que caben en el enlace tamaño de la trama

-----------------------------------------------------------------------------------------------------------= = = =

FUOC • P03/75098/02118 31 Enlace de datos

c) Tal y como se ha comentado antes, deben tenerse en cuenta todos los datos

que afecten a la eficiencia y que tengamos al alcance, por ejemplo los campos

de control de las tramas de información. Supongamos que sabemos que de los

L bits de las tramas de información hay Ld de información y Lc de control.

Aplicando la ecuación 7, la eficiencia debida a los bits de control de la trama

(llamémosla Et) se obtendría a partir de la ecuación siguiente:

Evidentemente, la eficiencia total (Etot) es el producto de la eficiencia parcial:

Actividad

Calculad la eficiencia máxima que se puede conseguir en un enlace punto a punto queutiliza un protocolo Stop & Wait en los casos siguientes:

a) Enlace entre dos estaciones de una red de dimensiones reducidas con estos datos:

• Distancia entre las estaciones = 1 km• Velocidad de transmisión del enlace = 10 Mbps• Velocidad de propagación en el enlace = 2 · 108 m/s• Tamaño medio de las tramas de información = 5 kbits• Tamaño de las confirmaciones negligible

b) Enlace vía satélite con los datos siguientes:

• Tiempo de propagación entre estaciones = 270 ms• Velocidad de transmisión del enlace = 56 kbps• Tamaño medio de las tramas de información = 4 kbits• Tamaño de las confirmaciones negligible

Solución

a) tp = D/vp = 103 / 2 · 108 = 0,5 · 10-5 s.tt = L/vt = 5 · 103 / 10 · 106 = 5 · 10-4 s.E(%) = tt / (tt + 2tp) · 100 = 98%.b) tt = 4 · 103 / 56 · 103 = 71,5 ms, de donde E = 12%.

Una vez hayáis hecho esta actividad, veréis que para conseguir eficiencia ele-

vada con el protocolo Stop & Wait se tiene que cumplir que a << 1; es decir,

que el tiempo de propagación sea pequeño en comparación con el tiempo de

transmisión de una trama de información.

3.4. Protocolos de transmisión continua

Acabamos de ver que el Stop & Wait puede llegar a ser muy ineficiente, a causa

de que el primario no puede transmitir durante el tiempo de espera de las con-

firmaciones.

Ecuación 12

Ecuación 13

En los protocolos de transmisión continua se deja que el primario trans-

mita continuamente tramas de información mientras se esperan las

confirmaciones.

Notación

En el cálculo de la eficiencia utilizaremos la notaciónsiguiente:• Si tenemos que considerar

la eficiencia debida a distin-tos factores, nos referiremos a cada uno con una E con un subíndice, y con Etot al producto de todas.

• Si sólo consideramos una eficiencia, nos referiremos a la misma con la letra E sin ningún subíndice.

EtLd

L-----=

EP es la eficiencia del protocolo, dada por las ecuaciones 9 y 10.

Etot Ep Et⋅=

FUOC • P03/75098/02118 31 Enlace de datos

c) Tal y como se ha comentado antes, deben tenerse en cuenta todos los datos

que afecten a la eficiencia y que tengamos al alcance, por ejemplo los campos

de control de las tramas de información. Supongamos que sabemos que de los

L bits de las tramas de información hay Ld de información y Lc de control.

Aplicando la ecuación 7, la eficiencia debida a los bits de control de la trama

(llamémosla Et) se obtendría a partir de la ecuación siguiente:

Evidentemente, la eficiencia total (Etot) es el producto de la eficiencia parcial:

Actividad

Calculad la eficiencia máxima que se puede conseguir en un enlace punto a punto queutiliza un protocolo Stop & Wait en los casos siguientes:

a) Enlace entre dos estaciones de una red de dimensiones reducidas con estos datos:

• Distancia entre las estaciones = 1 km• Velocidad de transmisión del enlace = 10 Mbps• Velocidad de propagación en el enlace = 2 · 108 m/s• Tamaño medio de las tramas de información = 5 kbits• Tamaño de las confirmaciones negligible

b) Enlace vía satélite con los datos siguientes:

• Tiempo de propagación entre estaciones = 270 ms• Velocidad de transmisión del enlace = 56 kbps• Tamaño medio de las tramas de información = 4 kbits• Tamaño de las confirmaciones negligible

Solución

a) tp = D/vp = 103 / 2 · 108 = 0,5 · 10-5 s.tt = L/vt = 5 · 103 / 10 · 106 = 5 · 10-4 s.E(%) = tt / (tt + 2tp) · 100 = 98%.b) tt = 4 · 103 / 56 · 103 = 71,5 ms, de donde E = 12%.

Una vez hayáis hecho esta actividad, veréis que para conseguir eficiencia ele-

vada con el protocolo Stop & Wait se tiene que cumplir que a << 1; es decir,

que el tiempo de propagación sea pequeño en comparación con el tiempo de

transmisión de una trama de información.

3.4. Protocolos de transmisión continua

Acabamos de ver que el Stop & Wait puede llegar a ser muy ineficiente, a causa

de que el primario no puede transmitir durante el tiempo de espera de las con-

firmaciones.

Ecuación 12

Ecuación 13

En los protocolos de transmisión continua se deja que el primario trans-

mita continuamente tramas de información mientras se esperan las

confirmaciones.

Notación

En el cálculo de la eficiencia utilizaremos la notaciónsiguiente:• Si tenemos que considerar

la eficiencia debida a distin-tos factores, nos referiremos a cada uno con una E con un subíndice, y con Etot al producto de todas.

• Si sólo consideramos una eficiencia, nos referiremos a la misma con la letra E sin ningún subíndice.

EtLd

L-----=

EP es la eficiencia del protocolo, dada por las ecuaciones 9 y 10.

Etot Ep Et⋅=

FUOC • P03/75098/02118 32 Enlace de datos

Evidentemente, esto sólo es posible si el enlace es full duplex, porque el prima-

rio y el secundario tienen que poder ocupar simultáneamente el canal. En el

caso del protocolo Stop & Wait esto no es necesario porque el primario y el se-

cundario ocupan el canal alternativamente.

En caso de error, el primario se puede ver obligado a retransmitir una trama

anterior a la última transmitida.

Así pues, en un protocolo de transmisión continua es necesario que el prima-

rio guarde en una lista las tramas que se han enviado y que están pendientes

de confirmar, para poder retransmitirlas en caso de error. Esta lista se denomi-

na lista de transmisión.

La figura siguiente muestra el principio de funcionamiento de un protocolo

de transmisión continua. Cada trama transmitida se guarda en una lista y se

extrae cuando llega su confirmación. Se puede observar que el primario no se

queda nunca parado; es decir, en ausencia de errores la eficiencia de un proto-

colo de transmisión continua es del 100%.

En caso de error se utiliza una de las dos estrategias que se explican a conti-

nuación: la retransmisión selectiva y el protocolo Go back N.

3.4.1. Retransmisión selectiva

En la estrategia de retransmisión selectiva el secundario sólo solicita la retrans-

misión de las tramas erróneas. En función del convenio que se utiliza para so-

licitar la retransmisión, hay dos versiones de este protocolo: la implícita y la

explícita (análogas a las que hay en el protocolo Stop & Wait).

Podéis ver el enlace full duplex en el subapartado 3.1 del módulo “Transmisión de datos” de esta asignatura.

Podéis consultar el cálculo de la eficiencia en presencia de errores en el anexo 2 de este módulo didáctico.

Podéis ver las versiones implícitas y explícitas del protocolo Stop & Wait en los subapartados 3.3.1 y 3.3.2, respectivamente, de este módulo didáctico.

FUOC • P03/75098/02118 32 Enlace de datos

Evidentemente, esto sólo es posible si el enlace es full duplex, porque el prima-

rio y el secundario tienen que poder ocupar simultáneamente el canal. En el

caso del protocolo Stop & Wait esto no es necesario porque el primario y el se-

cundario ocupan el canal alternativamente.

En caso de error, el primario se puede ver obligado a retransmitir una trama

anterior a la última transmitida.

Así pues, en un protocolo de transmisión continua es necesario que el prima-

rio guarde en una lista las tramas que se han enviado y que están pendientes

de confirmar, para poder retransmitirlas en caso de error. Esta lista se denomi-

na lista de transmisión.

La figura siguiente muestra el principio de funcionamiento de un protocolo

de transmisión continua. Cada trama transmitida se guarda en una lista y se

extrae cuando llega su confirmación. Se puede observar que el primario no se

queda nunca parado; es decir, en ausencia de errores la eficiencia de un proto-

colo de transmisión continua es del 100%.

En caso de error se utiliza una de las dos estrategias que se explican a conti-

nuación: la retransmisión selectiva y el protocolo Go back N.

3.4.1. Retransmisión selectiva

En la estrategia de retransmisión selectiva el secundario sólo solicita la retrans-

misión de las tramas erróneas. En función del convenio que se utiliza para so-

licitar la retransmisión, hay dos versiones de este protocolo: la implícita y la

explícita (análogas a las que hay en el protocolo Stop & Wait).

Podéis ver el enlace full duplex en el subapartado 3.1 del módulo “Transmisión de datos” de esta asignatura.

Podéis consultar el cálculo de la eficiencia en presencia de errores en el anexo 2 de este módulo didáctico.

Podéis ver las versiones implícitas y explícitas del protocolo Stop & Wait en los subapartados 3.3.1 y 3.3.2, respectivamente, de este módulo didáctico.

FUOC • P03/75098/02118 33 Enlace de datos

Retransmisión selectiva implícita

Las reglas que debe cumplir una retransmisión selectiva implícita son las si-

guientes:

a) El secundario sólo envía confirmaciones positivas.

b) El secundario envía una confirmación por cada trama de información

recibida.

c) Si el primario recibe dos confirmaciones no consecutivas, deduce que la

confirmación que falta corresponde a una trama errónea y la retransmite.

d) Como en el protocolo Stop & Wait, el primario tiene que activar un time-out

para la retransmisión de las tramas pendientes de confirmar. Esto es así porque

una trama puede llegar con errores en sucesivas retransmisiones, pero el primario,

con la no secuencia de las confirmaciones, sólo detectará el primer error.

Tal y como ya se ha comentado, el nivel de enlace debe entregar los datos de in-

formación que llevan las tramas no tan sólo sin errores, sino también en orden.

En la figura siguiente se muestra una condición de error en una retransmisión

selectiva implícita y la lista de recepción que es necesario que el secundario

elabore para poder reordenar las tramas:

Si en una retransmisión selectiva se produce un error, el secundario tie-

ne que memorizar las tramas que llegan después de la trama con errores

en una lista para poder entregarlas en orden. Ésta se conoce como la lis-

ta de recepción.

En la lista de recepción también podríamos considerar la posición

ocupada por la trama en fase de recepción.

FUOC • P03/75098/02118 33 Enlace de datos

Retransmisión selectiva implícita

Las reglas que debe cumplir una retransmisión selectiva implícita son las si-

guientes:

a) El secundario sólo envía confirmaciones positivas.

b) El secundario envía una confirmación por cada trama de información

recibida.

c) Si el primario recibe dos confirmaciones no consecutivas, deduce que la

confirmación que falta corresponde a una trama errónea y la retransmite.

d) Como en el protocolo Stop & Wait, el primario tiene que activar un time-out

para la retransmisión de las tramas pendientes de confirmar. Esto es así porque

una trama puede llegar con errores en sucesivas retransmisiones, pero el primario,

con la no secuencia de las confirmaciones, sólo detectará el primer error.

Tal y como ya se ha comentado, el nivel de enlace debe entregar los datos de in-

formación que llevan las tramas no tan sólo sin errores, sino también en orden.

En la figura siguiente se muestra una condición de error en una retransmisión

selectiva implícita y la lista de recepción que es necesario que el secundario

elabore para poder reordenar las tramas:

Si en una retransmisión selectiva se produce un error, el secundario tie-

ne que memorizar las tramas que llegan después de la trama con errores

en una lista para poder entregarlas en orden. Ésta se conoce como la lis-

ta de recepción.

En la lista de recepción también podríamos considerar la posición

ocupada por la trama en fase de recepción.

FUOC • P03/75098/02118 34 Enlace de datos

• La trama IK+1 llega con errores y, por lo tanto, el secundario no envía la

confirmación correspondiente.

• Cuando la confirmación AK+2 llega al primario, éste se da cuenta del error

en la trama IK+1 porque no ha recibido la confirmación, y retransmite la

copia que guarda en la lista de tramas no confirmadas.

Retransmisión selectiva explícita

Las reglas que debe cumplir una retransmisión selectiva explícita son las si-

guientes:

a) El secundario envía confirmaciones positivas cuando la trama es correcta y

negativas cuando recibe una trama con errores o fuera de secuencia.

b) Si el primario recibe una confirmación negativa NAK, debe retransmitir la

trama IK e interpreta que todas las tramas anteriores a IK se han recibido co-

rrectamente: una confirmación AK confirma la trama IK y todas las anteriores.

Una consecuencia de esta regla es que, mientras el secundario espera la retransmisión de unatrama K, deja de enviar confirmaciones positivas o negativas de tramas posteriores a la K.

c) El secundario tiene que activar un time-out para la retransmisión de las con-

firmaciones negativas de las tramas no recibidas, ya que una confirmación ne-

gativa NAK podría perderse o llegar con errores, y el primario no retransmitiría

la trama IK.

La figura siguiente muestra el funcionamiento de la retransmisión selectiva

explícita:

FUOC • P03/75098/02118 34 Enlace de datos

• La trama IK+1 llega con errores y, por lo tanto, el secundario no envía la

confirmación correspondiente.

• Cuando la confirmación AK+2 llega al primario, éste se da cuenta del error

en la trama IK+1 porque no ha recibido la confirmación, y retransmite la

copia que guarda en la lista de tramas no confirmadas.

Retransmisión selectiva explícita

Las reglas que debe cumplir una retransmisión selectiva explícita son las si-

guientes:

a) El secundario envía confirmaciones positivas cuando la trama es correcta y

negativas cuando recibe una trama con errores o fuera de secuencia.

b) Si el primario recibe una confirmación negativa NAK, debe retransmitir la

trama IK e interpreta que todas las tramas anteriores a IK se han recibido co-

rrectamente: una confirmación AK confirma la trama IK y todas las anteriores.

Una consecuencia de esta regla es que, mientras el secundario espera la retransmisión de unatrama K, deja de enviar confirmaciones positivas o negativas de tramas posteriores a la K.

c) El secundario tiene que activar un time-out para la retransmisión de las con-

firmaciones negativas de las tramas no recibidas, ya que una confirmación ne-

gativa NAK podría perderse o llegar con errores, y el primario no retransmitiría

la trama IK.

La figura siguiente muestra el funcionamiento de la retransmisión selectiva

explícita:

FUOC • P03/75098/02118 35 Enlace de datos

• La trama IK+1 llega con errores y, por lo tanto, el secundario envía la co-

rrespondiente confirmación negativa NAK+1 y deja de transmitir confir-

maciones.

• Cuando NAK+1 llega al primario, éste retransmite la trama IK+1.

• Cuando IK+1 llega al secundario, éste envía AK+3 y confirma todas las tra-

mas recibidas correctamente hasta entonces.

3.4.2. Protocolo Go back N

En muchos enlaces la probabilidad de error en una trama es relativamente

baja, de manera que la retransmisión de tramas es un acontecimiento poco

frecuente. Aprovechando esto, el protocolo Go back N simplifica el meca-

nismo de recepción de las tramas y elimina así el problema de la reordena-

ción.

Para eliminar el problema de la reordenación, en caso de error el primario re-

transmite todas las tramas a partir de la trama errónea. De este modo, cuando

el secundario detecta un error, lo comunica al primario y descarta todas las tra-

mas que le llegan hasta la nueva recepción de la trama errónea, que irá seguida

de las tramas descartadas.

El protocolo Go back N, en la práctica, sólo existe en la versión explícita. De

esta forma, en caso de error el secundario descarta las tramas hasta que el pri-

mario retransmite la trama errónea y, por lo tanto, no tendría sentido enviar

confirmaciones de las tramas descartadas. Así pues, las reglas del protocolo Go

back N son las siguientes:

a) Cuando el secundario recibe una trama con errores (o fuera de secuencia),

solicita la retransmisión de trama errónea (o de la trama que falta) enviando

una confirmación negativa.

b) El primario siempre transmite las tramas en secuencia, de manera que si re-

cibe una confirmación negativa NAK, retransmite la trama IK y todas las pos-

teriores, aunque ya las hubiera transmitido.

c) Una confirmación positiva AK confirma la trama IK y todas las anteriores.

Así pues, la pérdida de una confirmación no tiene ningún efecto porque la

confirmación siguiente ratifica la perdida. Una confirmación negativa de la

trama K también ratifica todas las tramas anteriores a K.

d) El secundario activa un time-out para la retransmisión de las confirmacio-

nes negativas de las tramas no recibidas.

FUOC • P03/75098/02118 35 Enlace de datos

• La trama IK+1 llega con errores y, por lo tanto, el secundario envía la co-

rrespondiente confirmación negativa NAK+1 y deja de transmitir confir-

maciones.

• Cuando NAK+1 llega al primario, éste retransmite la trama IK+1.

• Cuando IK+1 llega al secundario, éste envía AK+3 y confirma todas las tra-

mas recibidas correctamente hasta entonces.

3.4.2. Protocolo Go back N

En muchos enlaces la probabilidad de error en una trama es relativamente

baja, de manera que la retransmisión de tramas es un acontecimiento poco

frecuente. Aprovechando esto, el protocolo Go back N simplifica el meca-

nismo de recepción de las tramas y elimina así el problema de la reordena-

ción.

Para eliminar el problema de la reordenación, en caso de error el primario re-

transmite todas las tramas a partir de la trama errónea. De este modo, cuando

el secundario detecta un error, lo comunica al primario y descarta todas las tra-

mas que le llegan hasta la nueva recepción de la trama errónea, que irá seguida

de las tramas descartadas.

El protocolo Go back N, en la práctica, sólo existe en la versión explícita. De

esta forma, en caso de error el secundario descarta las tramas hasta que el pri-

mario retransmite la trama errónea y, por lo tanto, no tendría sentido enviar

confirmaciones de las tramas descartadas. Así pues, las reglas del protocolo Go

back N son las siguientes:

a) Cuando el secundario recibe una trama con errores (o fuera de secuencia),

solicita la retransmisión de trama errónea (o de la trama que falta) enviando

una confirmación negativa.

b) El primario siempre transmite las tramas en secuencia, de manera que si re-

cibe una confirmación negativa NAK, retransmite la trama IK y todas las pos-

teriores, aunque ya las hubiera transmitido.

c) Una confirmación positiva AK confirma la trama IK y todas las anteriores.

Así pues, la pérdida de una confirmación no tiene ningún efecto porque la

confirmación siguiente ratifica la perdida. Una confirmación negativa de la

trama K también ratifica todas las tramas anteriores a K.

d) El secundario activa un time-out para la retransmisión de las confirmacio-

nes negativas de las tramas no recibidas.

FUOC • P03/75098/02118 36 Enlace de datos

La figura siguiente muestra el funcionamiento del protocolo Go back N:

a) La trama IK+1 llega con errores y, por lo tanto, el secundario envía la corres-

pondiente confirmación negativa NAK+1.

b) Cuando NAK+1. llega al primario, éste aborta la transmisión en curso de la

trama IK+3 y empieza a retransmitir inmediatamente la trama IK+1.

Dado que el secundario no tiene que reordenar las tramas, no necesita una lis-

ta para la reordenación.

FUOC • P03/75098/02118 36 Enlace de datos

La figura siguiente muestra el funcionamiento del protocolo Go back N:

a) La trama IK+1 llega con errores y, por lo tanto, el secundario envía la corres-

pondiente confirmación negativa NAK+1.

b) Cuando NAK+1. llega al primario, éste aborta la transmisión en curso de la

trama IK+3 y empieza a retransmitir inmediatamente la trama IK+1.

Dado que el secundario no tiene que reordenar las tramas, no necesita una lis-

ta para la reordenación.

FUOC • P03/75098/02118 37 Enlace de datos

4. Control de flujo

El control de flujo consiste en regular la velocidad de transmisión de las tra-

mas. La necesidad del control de flujo se explica por los motivos siguientes:

1) Puede ocurrir que el mismo nivel de enlace no sea capaz de procesar las tra-

mas a la velocidad con la que llegan.

2) En los protocolos de transmisión continua, el primario necesita una me-

moria donde almacenar la lista de tramas pendientes de confirmar. Si no im-

ponemos ninguna limitación a la velocidad de transmisión de las tramas, no

seremos capaces de dimensionar la memoria necesaria.

3) Hasta ahora hemos supuesto que el nivel superior siempre está dispuesto a

aceptar las tramas del nivel de enlace. En la práctica, sin embargo, es posible

que esto no sea así. En este caso se podría agotar la memoria en la que el se-

cundario almacena las tramas recibidas.

Típicamente, en el nivel de enlace el algoritmo de control de flujo está vincu-

lado al algoritmo de control de errores. Por ejemplo, el protocolo Stop & Wait

sirve sin modificaciones para hacer un control de flujo. Simplemente, el se-

cundario tiene que retrasar las confirmaciones para conseguir disminuir la ve-

locidad de transmisión del primario.

4.1. Protocolos de ventana

Los algoritmos de transmisión continua no tienen que esperar las confirma-

ciones para la transmisión de nuevas tramas. De esta forma, dejar de enviar

confirmaciones no permite hacer un control de flujo. Para hacerlo, se limita

el número de tramas que se pueden transmitir sin confirmar. Los protocolos

resultantes se conocen como protocolos de ventana, porque esta limitación se

puede interpretar como una ventana que se desplaza sobre el flujo de tramas

del primario a medida que llegan las confirmaciones.

El transmisor mantiene un puntero P en la primera trama no confirmada (to-

das las tramas con identificador menor que P están confirmadas). Este puntero

se actualiza a medida que llegan las confirmaciones.

Los protocolos de ventana son protocolos de transmisión continua en

los que el primario puede transmitir hasta W tramas después de la trama

K, una vez están confirmadas la trama K y todas las anteriores. El pará-

metro W se denomina tamaño de la ventana.

Control de flujo X-ON/X-OFF

En algunas transmisiones orientadas a carácter (donde la unidad de transmisión de nivel físico es el carácter), se utiliza el mecanismo de control de flujo denominado X-ON/X-OFF. En este mecanismo hay un carác-ter especial (X-OFF) que se envía para detener el equipo remoto. Cuando uno de los equipos recibe un carácter X-OFF, se para hasta recibir el carácter de activación X-ON.

FUOC • P03/75098/02118 37 Enlace de datos

4. Control de flujo

El control de flujo consiste en regular la velocidad de transmisión de las tra-

mas. La necesidad del control de flujo se explica por los motivos siguientes:

1) Puede ocurrir que el mismo nivel de enlace no sea capaz de procesar las tra-

mas a la velocidad con la que llegan.

2) En los protocolos de transmisión continua, el primario necesita una me-

moria donde almacenar la lista de tramas pendientes de confirmar. Si no im-

ponemos ninguna limitación a la velocidad de transmisión de las tramas, no

seremos capaces de dimensionar la memoria necesaria.

3) Hasta ahora hemos supuesto que el nivel superior siempre está dispuesto a

aceptar las tramas del nivel de enlace. En la práctica, sin embargo, es posible

que esto no sea así. En este caso se podría agotar la memoria en la que el se-

cundario almacena las tramas recibidas.

Típicamente, en el nivel de enlace el algoritmo de control de flujo está vincu-

lado al algoritmo de control de errores. Por ejemplo, el protocolo Stop & Wait

sirve sin modificaciones para hacer un control de flujo. Simplemente, el se-

cundario tiene que retrasar las confirmaciones para conseguir disminuir la ve-

locidad de transmisión del primario.

4.1. Protocolos de ventana

Los algoritmos de transmisión continua no tienen que esperar las confirma-

ciones para la transmisión de nuevas tramas. De esta forma, dejar de enviar

confirmaciones no permite hacer un control de flujo. Para hacerlo, se limita

el número de tramas que se pueden transmitir sin confirmar. Los protocolos

resultantes se conocen como protocolos de ventana, porque esta limitación se

puede interpretar como una ventana que se desplaza sobre el flujo de tramas

del primario a medida que llegan las confirmaciones.

El transmisor mantiene un puntero P en la primera trama no confirmada (to-

das las tramas con identificador menor que P están confirmadas). Este puntero

se actualiza a medida que llegan las confirmaciones.

Los protocolos de ventana son protocolos de transmisión continua en

los que el primario puede transmitir hasta W tramas después de la trama

K, una vez están confirmadas la trama K y todas las anteriores. El pará-

metro W se denomina tamaño de la ventana.

Control de flujo X-ON/X-OFF

En algunas transmisiones orientadas a carácter (donde la unidad de transmisión de nivel físico es el carácter), se utiliza el mecanismo de control de flujo denominado X-ON/X-OFF. En este mecanismo hay un carác-ter especial (X-OFF) que se envía para detener el equipo remoto. Cuando uno de los equipos recibe un carácter X-OFF, se para hasta recibir el carácter de activación X-ON.

FUOC • P03/75098/02118 38 Enlace de datos

El primario está autorizado a transmitir tramas con identificadores < P + W. Las

tramas P, P + 1, ..., P + W − 1 se conocen como ventana de transmisión. Por ejem-

plo, si en las condiciones de la figura siguiente no llegan más confirmaciones, des-

pués de la transmisión de la trama IK+7 el primario se quedará parado:

Para hacer el control de flujo en un protocolo de ventana, el secundario sim-

plemente deja de enviar confirmaciones. En este caso, el primario agotará la

ventana y se parará.

La ventana mínima que se puede definir es W = 1. En este caso, el primario no

puede transmitir una nueva trama hasta que se confirme la anterior; es decir,

un protocolo de ventana con una ventana de tamaño W = 1 es equivalente

a un protocolo Stop & Wait.

4.2. Dimensionado de la lista de transmisión

Una propiedad importante de la ventana de transmisión es que permite di-

mensionar la memoria necesaria para almacenar la lista de tramas pendientes

de confirmar del primario.

El razonamiento que seguiremos para llegar a esta conclusión es el siguiente:

si todas las tramas con identificador menor que P (donde P es el puntero a la

primera trama no confirmada) han sido confirmadas, podemos asegurar que

el secundario no solicitará la retransmisión de ninguna de éstas y, en conse-

cuencia, no hay que guardarlas en la lista. Dado que el primario no puede ha-

ber transmitido ninguna trama con identificador mayor o igual que P + W, y

que en la lista sólo ha guardado las tramas transmitidas, deducimos que en la

lista de tramas no confirmadas del primario de un protocolo de ventana puede

haber como máximo W tramas.

4.3. Ventana de recepción

Por analogía con la ventana de transmisión, la ventana de recep-

ción se define como el número máximo de tramas que debe almace-

nar el secundario.

FUOC • P03/75098/02118 38 Enlace de datos

El primario está autorizado a transmitir tramas con identificadores < P + W. Las

tramas P, P + 1, ..., P + W − 1 se conocen como ventana de transmisión. Por ejem-

plo, si en las condiciones de la figura siguiente no llegan más confirmaciones, des-

pués de la transmisión de la trama IK+7 el primario se quedará parado:

Para hacer el control de flujo en un protocolo de ventana, el secundario sim-

plemente deja de enviar confirmaciones. En este caso, el primario agotará la

ventana y se parará.

La ventana mínima que se puede definir es W = 1. En este caso, el primario no

puede transmitir una nueva trama hasta que se confirme la anterior; es decir,

un protocolo de ventana con una ventana de tamaño W = 1 es equivalente

a un protocolo Stop & Wait.

4.2. Dimensionado de la lista de transmisión

Una propiedad importante de la ventana de transmisión es que permite di-

mensionar la memoria necesaria para almacenar la lista de tramas pendientes

de confirmar del primario.

El razonamiento que seguiremos para llegar a esta conclusión es el siguiente:

si todas las tramas con identificador menor que P (donde P es el puntero a la

primera trama no confirmada) han sido confirmadas, podemos asegurar que

el secundario no solicitará la retransmisión de ninguna de éstas y, en conse-

cuencia, no hay que guardarlas en la lista. Dado que el primario no puede ha-

ber transmitido ninguna trama con identificador mayor o igual que P + W, y

que en la lista sólo ha guardado las tramas transmitidas, deducimos que en la

lista de tramas no confirmadas del primario de un protocolo de ventana puede

haber como máximo W tramas.

4.3. Ventana de recepción

Por analogía con la ventana de transmisión, la ventana de recep-

ción se define como el número máximo de tramas que debe almace-

nar el secundario.

FUOC • P03/75098/02118 39 Enlace de datos

Cuando se define la ventana de recepción se asume que el nivel de enlace

saca de la lista de recepción todas las tramas que no están pendientes de ser

recibidas con un identificador anterior. De esta manera, se garantiza que

los datos que llevan estas tramas se pasan sin errores y de manera secuen-

ciada al nivel superior. Además, en la ventana de recepción se incluye la

trama que está en fase de recepción.

Así pues, la ventana mínima en recepción es igual a 1 (para almacenar la

trama en fase de recepción).

También deben almacenarse las tramas que se pueden tener que reordenar.

Puesto que en los protocolos Stop & Wait y Go back N no existe el problema de

la reordenación de las tramas, tienen una ventana de recepción que vale 1.

El problema de la reordenación sólo surge en el caso de la retransmisión

selectiva. Para conocer cuál es el número máximo de tramas que se pueden

tener que reordenar en el secundario, basaremos el razonamiento en la fi-

gura anterior. Dado que todas las tramas con identificadores menores o

iguales que K han sido confirmadas, tienen que haber sido recibidas sin

errores por el secundario y, por lo tanto, éste las debe haber sacado de la

lista de recepción. Así pues, resulta que las únicas tramas que puede tener

que ordenar el secundario son las K + 1 … K + W tramas que el primario ha

sido autorizado a transmitir (en total W tramas).

Por lo tanto, en una retransmisión selectiva el tamaño de la ventana de re-

cepción es igual que el tamaño de la ventana de transmisión.

La tabla siguiente resume el tamaño de las ventanas en los tres protocolos:

4.4. Ventana óptima

Hemos visto que la eficiencia de los protocolos de transmisión continua es del

100%, gracias al hecho de que el primario no permanece nunca parado espe-

rando confirmaciones. En un protocolo de ventana, esta condición puede no

darse; es decir, el transmisor se puede quedar parado si el tamaño de la venta-

na no es lo bastante grande.

Tamaño de las ventanas de transmisión y recepción

Protocolo Ventana de transmisión Ventana de recepción

Stop & Wait 1 1

Go back N W 1

Retransmisión selectiva W W

Podéis ver la figura mencionada en el subapartado 4.1. de este módulo didáctico.

FUOC • P03/75098/02118 39 Enlace de datos

Cuando se define la ventana de recepción se asume que el nivel de enlace

saca de la lista de recepción todas las tramas que no están pendientes de ser

recibidas con un identificador anterior. De esta manera, se garantiza que

los datos que llevan estas tramas se pasan sin errores y de manera secuen-

ciada al nivel superior. Además, en la ventana de recepción se incluye la

trama que está en fase de recepción.

Así pues, la ventana mínima en recepción es igual a 1 (para almacenar la

trama en fase de recepción).

También deben almacenarse las tramas que se pueden tener que reordenar.

Puesto que en los protocolos Stop & Wait y Go back N no existe el problema de

la reordenación de las tramas, tienen una ventana de recepción que vale 1.

El problema de la reordenación sólo surge en el caso de la retransmisión

selectiva. Para conocer cuál es el número máximo de tramas que se pueden

tener que reordenar en el secundario, basaremos el razonamiento en la fi-

gura anterior. Dado que todas las tramas con identificadores menores o

iguales que K han sido confirmadas, tienen que haber sido recibidas sin

errores por el secundario y, por lo tanto, éste las debe haber sacado de la

lista de recepción. Así pues, resulta que las únicas tramas que puede tener

que ordenar el secundario son las K + 1 … K + W tramas que el primario ha

sido autorizado a transmitir (en total W tramas).

Por lo tanto, en una retransmisión selectiva el tamaño de la ventana de re-

cepción es igual que el tamaño de la ventana de transmisión.

La tabla siguiente resume el tamaño de las ventanas en los tres protocolos:

4.4. Ventana óptima

Hemos visto que la eficiencia de los protocolos de transmisión continua es del

100%, gracias al hecho de que el primario no permanece nunca parado espe-

rando confirmaciones. En un protocolo de ventana, esta condición puede no

darse; es decir, el transmisor se puede quedar parado si el tamaño de la venta-

na no es lo bastante grande.

Tamaño de las ventanas de transmisión y recepción

Protocolo Ventana de transmisión Ventana de recepción

Stop & Wait 1 1

Go back N W 1

Retransmisión selectiva W W

Podéis ver la figura mencionada en el subapartado 4.1. de este módulo didáctico.

FUOC • P03/75098/02118 40 Enlace de datos

Actividad

Dad el valor de la eficiencia obtenida en la figura anterior en función de los parámetrostt, ta y tp definidos igual que en la figura “Evaluación del protocolo Stop & Wait”.

Solución

En cada intervalo de tiempo igual a tt + Te (donde Te = 2tp + ta) se transmiten tres tramasde información. Así pues: E = 3tt / (tt + Te) = 3 tt / (tt + 2tp + ta) ≈ 3 / (1 + 2a), donde recor-damos que a = tp/tt y se ha supuesto que ta << tt.

En la actividad anterior podríamos conseguir una eficiencia del 100% con una

ventana de transmisión mayor.

En el ejemplo de la figura anterior hemos calculado que la ventana óptima

(Wopt) vale lo siguiente:

Wopt = 1 + Te/tt = 1 + (2tp + ta) / tt,

donde x es el entero mayor o igual que x.

4.5. Dimensionamiento del campo de los identificadores de trama

Hasta ahora hemos supuesto que las tramas van numeradas para que se pue-

dan identificar, sin preocuparnos de las limitaciones de esta secuencia de nú-

meros. En la trama habrá un campo, supongamos que de n bits, destinado al

número de secuencia. Dado que con n bits podemos generar 2n identificadores

distintos, si numeramos de forma secuencial las tramas se repetirán cíclica-

mente los mismos identificadores cada 2n tramas.

De esta forma, existe el peligro de que, al solicitar una retransmisión AK, haya am-

bigüedad: se puede tratar de la trama IK actual o de la del ciclo anterior. Igualmen-

La ventana óptima (Wopt) es la ventana mínima que permite conseguir

una eficiencia del protocolo del 100%.

Ventana de transmisión pequeña

En la figura, la medida de la ven-tana es W = 3 (se pueden trans-mitir tres tramas sin confirmar). Es decir, después de transmitir una trama, el primario está auto-rizado a transmitir dos más antes de recibir la primera confirma-ción. En la figura se ve, sin em-bargo, que el tiempo de espera de la confirmación (Te) es mayor que el tiempo de transmisión de las dos tramas y el primario se queda parado.

Podéis ver la figura mencionada en el subapartado 3.3.4 de este módulo didáctico.

Con n cifras binarias...

... se puede representar el con-junto de enteros que hay entre 0 y 2n − 1. Por lo tanto, si el campo de los identificadores de trama es de n bits, dispone-mos de 2n identificadores dis-tintos.

FUOC • P03/75098/02118 40 Enlace de datos

Actividad

Dad el valor de la eficiencia obtenida en la figura anterior en función de los parámetrostt, ta y tp definidos igual que en la figura “Evaluación del protocolo Stop & Wait”.

Solución

En cada intervalo de tiempo igual a tt + Te (donde Te = 2tp + ta) se transmiten tres tramasde información. Así pues: E = 3tt / (tt + Te) = 3 tt / (tt + 2tp + ta) ≈ 3 / (1 + 2a), donde recor-damos que a = tp/tt y se ha supuesto que ta << tt.

En la actividad anterior podríamos conseguir una eficiencia del 100% con una

ventana de transmisión mayor.

En el ejemplo de la figura anterior hemos calculado que la ventana óptima

(Wopt) vale lo siguiente:

Wopt = 1 + Te/tt = 1 + (2tp + ta) / tt,

donde x es el entero mayor o igual que x.

4.5. Dimensionamiento del campo de los identificadores de trama

Hasta ahora hemos supuesto que las tramas van numeradas para que se pue-

dan identificar, sin preocuparnos de las limitaciones de esta secuencia de nú-

meros. En la trama habrá un campo, supongamos que de n bits, destinado al

número de secuencia. Dado que con n bits podemos generar 2n identificadores

distintos, si numeramos de forma secuencial las tramas se repetirán cíclica-

mente los mismos identificadores cada 2n tramas.

De esta forma, existe el peligro de que, al solicitar una retransmisión AK, haya am-

bigüedad: se puede tratar de la trama IK actual o de la del ciclo anterior. Igualmen-

La ventana óptima (Wopt) es la ventana mínima que permite conseguir

una eficiencia del protocolo del 100%.

Ventana de transmisión pequeña

En la figura, la medida de la ven-tana es W = 3 (se pueden trans-mitir tres tramas sin confirmar). Es decir, después de transmitir una trama, el primario está auto-rizado a transmitir dos más antes de recibir la primera confirma-ción. En la figura se ve, sin em-bargo, que el tiempo de espera de la confirmación (Te) es mayor que el tiempo de transmisión de las dos tramas y el primario se queda parado.

Podéis ver la figura mencionada en el subapartado 3.3.4 de este módulo didáctico.

Con n cifras binarias...

... se puede representar el con-junto de enteros que hay entre 0 y 2n − 1. Por lo tanto, si el campo de los identificadores de trama es de n bits, dispone-mos de 2n identificadores dis-tintos.

FUOC • P03/75098/02118 41 Enlace de datos

te, es necesario evitar que el secundario interprete como tramas duplicadas las que

llegan con el mismo identificador, pero que son de ciclos distintos.

Para saber cuántos identificadores necesitamos como mínimo para evitar am-

bigüedades haremos una deducción informal para el caso del protocolo Stop &

Wait. Supondremos las mismas condiciones que las que ya hemos enumerado

antes: las tramas pueden llegar con retardos arbitrarios, pero llegan en el orden

en el que se han transmitido.

Dado que en este protocolo no se rompe nunca la secuencia de los identifica-

dores en la transmisión de las tramas de información, éstas siempre llegarán

en orden. De este hecho se deduce que las confirmaciones también llegarán

siempre en orden.

Supongamos que el primario ha recibido la confirmación de la trama K, pero

no la de la K + 1. Puesto que la ventana vale 1 y las tramas de información lle-

gan en orden, al secundario sólo pueden llegar tramas IK e IK+1. Y dado que las

confirmaciones llegan en orden, al primario no le puede llegar ninguna con-

firmación anterior a la K. Por consiguiente, sólo le pueden llegar las confirma-

ciones AK y AK+1. Deducimos, pues, que en el caso del protocolo Stop & Wait

únicamente puede haber ambigüedad entre dos tramas y, por lo tanto, sólo

son necesarios dos identificadores distintos.

En la figura siguiente hay un ejemplo del funcionamiento del protocolo Stop

& Wait con dos identificadores (entre paréntesis en la figura). En este caso, la

confirmación de la trama IK tarda un tiempo anormalmente largo y se retrans-

mite (salta el time-out T0). Eso provoca que la trama IK y la confirmación AK

lleguen duplicadas con el identificador* (0). Tanto el primario cono el secun-

dario detectan la duplicación porque la trama siguiente tiene el identificador

(1). Cuando llega la confirmación de la trama IK+1, el primario aborta la segun-

da transmisión de esta trama y empieza la transmisión de la siguiente (IK+2).

La deducción del número de identificadores necesarios en el caso de los proto-

colos Go back N y retransmisión selectiva es más compleja y no la haremos. El

Podéis ver las condiciones que suponemos con respecto a la recepción de las tramas en el apartado 3 de este módulo didáctico.

* El identificador que se pondría en cada trama aparece entre

paréntesis en la figura.

Lectura complementaria

Para más detalles sobre la deducción del número de identificadores necesarios en cada protocolo se puede consultar la obra siguiente:D. Bertsekas; R. Gallager (1992). Data Networks (cap. 2). Upper Saddle River: Prentice Hall.

FUOC • P03/75098/02118 41 Enlace de datos

te, es necesario evitar que el secundario interprete como tramas duplicadas las que

llegan con el mismo identificador, pero que son de ciclos distintos.

Para saber cuántos identificadores necesitamos como mínimo para evitar am-

bigüedades haremos una deducción informal para el caso del protocolo Stop &

Wait. Supondremos las mismas condiciones que las que ya hemos enumerado

antes: las tramas pueden llegar con retardos arbitrarios, pero llegan en el orden

en el que se han transmitido.

Dado que en este protocolo no se rompe nunca la secuencia de los identifica-

dores en la transmisión de las tramas de información, éstas siempre llegarán

en orden. De este hecho se deduce que las confirmaciones también llegarán

siempre en orden.

Supongamos que el primario ha recibido la confirmación de la trama K, pero

no la de la K + 1. Puesto que la ventana vale 1 y las tramas de información lle-

gan en orden, al secundario sólo pueden llegar tramas IK e IK+1. Y dado que las

confirmaciones llegan en orden, al primario no le puede llegar ninguna con-

firmación anterior a la K. Por consiguiente, sólo le pueden llegar las confirma-

ciones AK y AK+1. Deducimos, pues, que en el caso del protocolo Stop & Wait

únicamente puede haber ambigüedad entre dos tramas y, por lo tanto, sólo

son necesarios dos identificadores distintos.

En la figura siguiente hay un ejemplo del funcionamiento del protocolo Stop

& Wait con dos identificadores (entre paréntesis en la figura). En este caso, la

confirmación de la trama IK tarda un tiempo anormalmente largo y se retrans-

mite (salta el time-out T0). Eso provoca que la trama IK y la confirmación AK

lleguen duplicadas con el identificador* (0). Tanto el primario cono el secun-

dario detectan la duplicación porque la trama siguiente tiene el identificador

(1). Cuando llega la confirmación de la trama IK+1, el primario aborta la segun-

da transmisión de esta trama y empieza la transmisión de la siguiente (IK+2).

La deducción del número de identificadores necesarios en el caso de los proto-

colos Go back N y retransmisión selectiva es más compleja y no la haremos. El

Podéis ver las condiciones que suponemos con respecto a la recepción de las tramas en el apartado 3 de este módulo didáctico.

* El identificador que se pondría en cada trama aparece entre

paréntesis en la figura.

Lectura complementaria

Para más detalles sobre la deducción del número de identificadores necesarios en cada protocolo se puede consultar la obra siguiente:D. Bertsekas; R. Gallager (1992). Data Networks (cap. 2). Upper Saddle River: Prentice Hall.

FUOC • P03/75098/02118 42 Enlace de datos

resultado es que si el tamaño de la ventana es W, se necesitan W + 1 identifica-

dores distintos en el protocolo Go back N y 2W en el de retransmisión se-

lectiva.

El número de identificadores necesario, como se puede ver en la tabla si-

guiente, coincide con la suma del tamaño de las ventanas de transmisión

y de recepción:

Finalmente, el tamaño de la ventana máximo Wmáx, según el número de

bits (n) que se utilicen en el campo del identificador de trama, será de Wmáx + 1 = 2n

en el protocolo Stop & Wait y 2Wmáx = 2n en el de retransmisión selectiva.

Identificadores necesarios y ventana máxima en un protocolo de ventana

Protocolo Número de identificadores necesarios

Tamaño de la ventana máximo si se utilizan n bits

para los identificadores

Stop & Wait 2

Go back N W + 1 2n − 1

Retransmisión selectiva 2W 2n−1

FUOC • P03/75098/02118 42 Enlace de datos

resultado es que si el tamaño de la ventana es W, se necesitan W + 1 identifica-

dores distintos en el protocolo Go back N y 2W en el de retransmisión se-

lectiva.

El número de identificadores necesario, como se puede ver en la tabla si-

guiente, coincide con la suma del tamaño de las ventanas de transmisión

y de recepción:

Finalmente, el tamaño de la ventana máximo Wmáx, según el número de

bits (n) que se utilicen en el campo del identificador de trama, será de Wmáx + 1 = 2n

en el protocolo Stop & Wait y 2Wmáx = 2n en el de retransmisión selectiva.

Identificadores necesarios y ventana máxima en un protocolo de ventana

Protocolo Número de identificadores necesarios

Tamaño de la ventana máximo si se utilizan n bits

para los identificadores

Stop & Wait 2

Go back N W + 1 2n − 1

Retransmisión selectiva 2W 2n−1

FUOC • P03/75098/02118 43 Enlace de datos

5. Otras consideraciones sobre el nivel de enlace

Hasta ahora, hemos visto las funciones más importantes asociadas al nivel

de enlace, que son la sincronización de las tramas, la detección y el control de

errores y el control de flujo. En este apartado se explican algunos detalles

que también podemos encontrar en un protocolo de nivel de enlace.

El objetivo de este apartado es, además, dar ejemplos de los contextos donde

se puede encontrar el nivel de enlace.

5.1. Piggybacking

Hasta este momento siempre hemos considerado que había una estación que

transmitía tramas de información (el primario) y otra que las confirmaba (el

secundario). Ahora bien, hay casos en los cuales las dos estaciones se intercam-

bian tramas de información recíprocamente y, por lo tanto, actuarían como

primario y secundario al mismo tiempo y tendrían que alternar las tramas de

información con las confirmaciones.

Las tramas de confirmación suelen tener un tamaño pequeño porque la única

información relevante es la del identificador de la trama que confirman. La

mayor parte de los bits de estas tramas la ocupan los campos de control (indi-

cadores de sincronización, CRC, etc.).

No nos hemos preocupado de esto hasta ahora porque la eficiencia que hemos

medido es la obtenida en el sentido primario-secundario. Sin embargo, si las

dos estaciones envían información, nos interesará conseguir que la eficiencia

en los dos sentidos sea tan alta como se pueda.

Una manera de aumentar la eficiencia en esta situación es incorporar

las confirmaciones a las tramas de información (de este modo nos

ahorramos la transmisión de los otros campos de control de las con-

firmaciones).

La manera de hacerlo consiste en destinar un campo de la trama de in-

formación al identificador de la trama que se quiere confirmar del pri-

mario contrario. Esta técnica se conoce como piggybacking.

FUOC • P03/75098/02118 43 Enlace de datos

5. Otras consideraciones sobre el nivel de enlace

Hasta ahora, hemos visto las funciones más importantes asociadas al nivel

de enlace, que son la sincronización de las tramas, la detección y el control de

errores y el control de flujo. En este apartado se explican algunos detalles

que también podemos encontrar en un protocolo de nivel de enlace.

El objetivo de este apartado es, además, dar ejemplos de los contextos donde

se puede encontrar el nivel de enlace.

5.1. Piggybacking

Hasta este momento siempre hemos considerado que había una estación que

transmitía tramas de información (el primario) y otra que las confirmaba (el

secundario). Ahora bien, hay casos en los cuales las dos estaciones se intercam-

bian tramas de información recíprocamente y, por lo tanto, actuarían como

primario y secundario al mismo tiempo y tendrían que alternar las tramas de

información con las confirmaciones.

Las tramas de confirmación suelen tener un tamaño pequeño porque la única

información relevante es la del identificador de la trama que confirman. La

mayor parte de los bits de estas tramas la ocupan los campos de control (indi-

cadores de sincronización, CRC, etc.).

No nos hemos preocupado de esto hasta ahora porque la eficiencia que hemos

medido es la obtenida en el sentido primario-secundario. Sin embargo, si las

dos estaciones envían información, nos interesará conseguir que la eficiencia

en los dos sentidos sea tan alta como se pueda.

Una manera de aumentar la eficiencia en esta situación es incorporar

las confirmaciones a las tramas de información (de este modo nos

ahorramos la transmisión de los otros campos de control de las con-

firmaciones).

La manera de hacerlo consiste en destinar un campo de la trama de in-

formación al identificador de la trama que se quiere confirmar del pri-

mario contrario. Esta técnica se conoce como piggybacking.

FUOC • P03/75098/02118 44 Enlace de datos

La figura siguiente muestra el diagrama de tiempo que se obtendría utilizando

el piggybacking:

5.2. Sincronismo de protocolo

En la descripción que hemos hecho hasta ahora de los protocolos de recu-

peración de errores y control de flujo, hemos supuesto implícitamente que

los protocolos estaban correctamente inicializados. Es decir, hemos supues-

to que en los diagramas de tiempo que hemos utilizado no hay tramas de

información ni confirmaciones anteriores a las mostradas que no puedan

introducir ningún tipo de ambigüedad en los identificadores. En la práctica

esto no es así. Antes de que las dos entidades de nivel de enlace puedan em-

pezar a intercambiarse tramas de información, es necesaria una fase de ini-

cialización.

Se podría pensar que sólo hay que hacer la inicialización cuando las dos enti-

dades se ponen físicamente en marcha por primera vez. Esto no es posible por-

que, en un caso real, puede pasar que la ejecución de una de las entidades de

nivel de enlace se quede temporalmente fuera de servicio, lo cual haría que se

perdieran las tramas almacenadas en la memoria de transmisión y recepción,

y se perdería la sincronización; es decir, se tendría que ejecutar de nuevo la

fase de inicialización.

Además de la fase de inicialización también hay una fase de desconexión, en

la que se acuerda la finalización del enlace. Esta fase permite liberar los recur-

sos que se le dedican, como las memorias intermedias para almacenar las listas

de transmisión y recepción.

Un protocolo que tiene una fase de inicialización y una fase de desconexión se conocecomo protocolo orientado a la conexión (connection oriented). De otro modo, hablaría-mos de protocolo no orientado a la conexión (connectionless).

FUOC • P03/75098/02118 44 Enlace de datos

La figura siguiente muestra el diagrama de tiempo que se obtendría utilizando

el piggybacking:

5.2. Sincronismo de protocolo

En la descripción que hemos hecho hasta ahora de los protocolos de recu-

peración de errores y control de flujo, hemos supuesto implícitamente que

los protocolos estaban correctamente inicializados. Es decir, hemos supues-

to que en los diagramas de tiempo que hemos utilizado no hay tramas de

información ni confirmaciones anteriores a las mostradas que no puedan

introducir ningún tipo de ambigüedad en los identificadores. En la práctica

esto no es así. Antes de que las dos entidades de nivel de enlace puedan em-

pezar a intercambiarse tramas de información, es necesaria una fase de ini-

cialización.

Se podría pensar que sólo hay que hacer la inicialización cuando las dos enti-

dades se ponen físicamente en marcha por primera vez. Esto no es posible por-

que, en un caso real, puede pasar que la ejecución de una de las entidades de

nivel de enlace se quede temporalmente fuera de servicio, lo cual haría que se

perdieran las tramas almacenadas en la memoria de transmisión y recepción,

y se perdería la sincronización; es decir, se tendría que ejecutar de nuevo la

fase de inicialización.

Además de la fase de inicialización también hay una fase de desconexión, en

la que se acuerda la finalización del enlace. Esta fase permite liberar los recur-

sos que se le dedican, como las memorias intermedias para almacenar las listas

de transmisión y recepción.

Un protocolo que tiene una fase de inicialización y una fase de desconexión se conocecomo protocolo orientado a la conexión (connection oriented). De otro modo, hablaría-mos de protocolo no orientado a la conexión (connectionless).

FUOC • P03/75098/02118 45 Enlace de datos

La figura siguiente muestra la fase de inicialización y la de descomposición. La

trama INIT solicita la inicialización, que es confirmada por la trama AINIT.

Las tramas DISC y ADISC funcionan de manera análoga para la desconexión.

Estas tramas no están numeradas (por este motivo son conocidas como tra-

mas no numeradas o unnumbered frames). En las tramas hay un campo de

control que indica el tipo de trama, y que permite diferenciarlas:

Dado que para poder hacer una recuperación automática de errores necesita-

mos numerar las tramas, estos protocolos deberán ser protocolos orientados a

la conexión.

Sin embargo, no todos los protocolos de nivel de enlace son orientados a la

conexión. Según el tipo de red o aplicación, es posible que no se utilice un pro-

tocolo de recuperación de errores en el nivel de enlace y que, por lo tanto, las

tramas no deban numerarse. En este caso tendríamos un nivel de enlace no

orientado a la conexión que haría la detección de errores, pero descartaría las

tramas erróneas en lugar de intentar recuperarlas.

Hay motivos que pueden justificar un nivel de enlace no orientado a la co-

nexión: en aplicaciones en tiempo real en las que se transmite voz o vídeo, por

ejemplo, es posible que el retardo que se necesite para poder hacer la recupe-

ración de errores no sea aceptable.

5.3. Importancia del nivel de enlace según el contexto

Hasta este momento hemos explicado las funciones que podemos encontrar

en el nivel de enlace. Es importante entender, sin embargo, que el nivel de en-

lace no siempre efectúa todas las funciones explicadas. Esto depende mucho

del contexto donde se encuentre el nivel de enlace.

Recuperación de erroresen el nivel de transporte

Hay redes en las que el nivel de enlace no lleva a cabo una recuperación de errores, sino que simplemente descarta las tramas erróneas. En este caso, si es necesario, la recuperación de errores la hacen los niveles superiores, normalmente el ni-vel de transporte.

FUOC • P03/75098/02118 45 Enlace de datos

La figura siguiente muestra la fase de inicialización y la de descomposición. La

trama INIT solicita la inicialización, que es confirmada por la trama AINIT.

Las tramas DISC y ADISC funcionan de manera análoga para la desconexión.

Estas tramas no están numeradas (por este motivo son conocidas como tra-

mas no numeradas o unnumbered frames). En las tramas hay un campo de

control que indica el tipo de trama, y que permite diferenciarlas:

Dado que para poder hacer una recuperación automática de errores necesita-

mos numerar las tramas, estos protocolos deberán ser protocolos orientados a

la conexión.

Sin embargo, no todos los protocolos de nivel de enlace son orientados a la

conexión. Según el tipo de red o aplicación, es posible que no se utilice un pro-

tocolo de recuperación de errores en el nivel de enlace y que, por lo tanto, las

tramas no deban numerarse. En este caso tendríamos un nivel de enlace no

orientado a la conexión que haría la detección de errores, pero descartaría las

tramas erróneas en lugar de intentar recuperarlas.

Hay motivos que pueden justificar un nivel de enlace no orientado a la co-

nexión: en aplicaciones en tiempo real en las que se transmite voz o vídeo, por

ejemplo, es posible que el retardo que se necesite para poder hacer la recupe-

ración de errores no sea aceptable.

5.3. Importancia del nivel de enlace según el contexto

Hasta este momento hemos explicado las funciones que podemos encontrar

en el nivel de enlace. Es importante entender, sin embargo, que el nivel de en-

lace no siempre efectúa todas las funciones explicadas. Esto depende mucho

del contexto donde se encuentre el nivel de enlace.

Recuperación de erroresen el nivel de transporte

Hay redes en las que el nivel de enlace no lleva a cabo una recuperación de errores, sino que simplemente descarta las tramas erróneas. En este caso, si es necesario, la recuperación de errores la hacen los niveles superiores, normalmente el ni-vel de transporte.

FUOC • P03/75098/02118 46 Enlace de datos

A continuación, describiremos las diferentes situaciones representadas en la fi-

gura:

a) Comunicación punto a punto entre dos computadores; por ejemplo, la

comunicación por el puerto serie entre dos PC para poder hacer una transfe-

rencia de ficheros. A causa del reducido número de elementos que intervienen

en este caso, normalmente toda la arquitectura de comunicaciones estará in-

tegrada en el mismo programa. Evidentemente, aquí no habrá nivel de red y

el nivel de enlace será responsable de la recuperación de errores.

b) Enlace multipunto. Esta situación es semejante al caso anterior, pero lo

que entra en comunicación es una comunidad de computadores y lo hace a

partir de un medio compartido. Para poder comunicarse sin interferirse entre

sí, uno de éstos (el maestro en la figura) se encarga de arbitrar las comunica-

ciones. Todas las comunicaciones son entre el maestro y otro de los computa-

dores (los esclavos), o viceversa.

Esta condición es representada por las flechas que hay entre el maestro y cada

uno de los esclavos (en los dos sentidos). En este entorno podemos interpretar

Notación

En esta figura, las líneas discon-tinuas conectan los dispositi-vos entre los que se establece el protocolo de nivel de enlace.

Ejemplos de entorno con enlace multipunto

Una comunidad de terminales de un departamento universi-tario, o un conjunto de instru-mentos inteligentes de una planta industrial controlados por un computador central.

FUOC • P03/75098/02118 46 Enlace de datos

A continuación, describiremos las diferentes situaciones representadas en la fi-

gura:

a) Comunicación punto a punto entre dos computadores; por ejemplo, la

comunicación por el puerto serie entre dos PC para poder hacer una transfe-

rencia de ficheros. A causa del reducido número de elementos que intervienen

en este caso, normalmente toda la arquitectura de comunicaciones estará in-

tegrada en el mismo programa. Evidentemente, aquí no habrá nivel de red y

el nivel de enlace será responsable de la recuperación de errores.

b) Enlace multipunto. Esta situación es semejante al caso anterior, pero lo

que entra en comunicación es una comunidad de computadores y lo hace a

partir de un medio compartido. Para poder comunicarse sin interferirse entre

sí, uno de éstos (el maestro en la figura) se encarga de arbitrar las comunica-

ciones. Todas las comunicaciones son entre el maestro y otro de los computa-

dores (los esclavos), o viceversa.

Esta condición es representada por las flechas que hay entre el maestro y cada

uno de los esclavos (en los dos sentidos). En este entorno podemos interpretar

Notación

En esta figura, las líneas discon-tinuas conectan los dispositi-vos entre los que se establece el protocolo de nivel de enlace.

Ejemplos de entorno con enlace multipunto

Una comunidad de terminales de un departamento universi-tario, o un conjunto de instru-mentos inteligentes de una planta industrial controlados por un computador central.

FUOC • P03/75098/02118 47 Enlace de datos

que hay un enlace punto a punto entre el maestro y cada uno de los esclavos,

y que el maestro selecciona alternativamente uno de los enlaces posibles se-

gún algún algoritmo de arbitraje.

c) El entorno de acceso a Internet es, actualmente, uno de los más habitua-

les. Millones de usuarios lo utilizan para acceder a Internet. En este entorno el

protocolo de nivel de enlace se establece entre el computador del usuario y el

computador del proveedor de Internet. Aquí el usuario se conecta al proveedor

mediante un módem. El proveedor dispone de una batería de módems para

que múltiples usuarios puedan conectarse simultáneamente.

d) Red de área local (LAN). Una característica de estos tipos de redes es que

la comunidad de computadores comparte el medio de transmisión, igual que

en el caso b). La diferencia fundamental, sin embargo, es que ahora no hay un

árbitro que selecciona uno de los enlaces posibles, sino que el algoritmo de ac-

ceso está distribuido entre los computadores que acceden al medio.

5.4. Multiplexación en el nivel de enlace

El concepto de multiplexación ya se ha introducido anteriormente. La idea de

la multiplexación es utilizar un único medio para la transmisión de diferentes

flujos de información. Obviamente, hay que definir un mecanismo que per-

mita separar los distintos flujos con respecto a la recepción.

Ahora veremos que la multiplexación también se puede encontrar en un pro-

tocolo de nivel de enlace. De hecho, es habitual que esta técnica se utilice en

cualquier nivel de la arquitectura de comunicaciones.

En primer lugar, veamos por qué puede ser útil tener multiplexación en el ni-

vel de enlace. El primer ejemplo es el enlace multipunto, que ya hemos intro-

ducido (ved el esquema b) de la figura anterior). El hecho de tener el medio

compartido podemos interpretarlo como si hubiera un único enlace donde se

multiplexan las tramas de las distintas estaciones. En este caso, podríamos in-

terpretar el algoritmo de arbitraje que utiliza el maestro como el mecanismo

de multiplexación.

Dentro de este enlace compartido necesitaremos distinguir cada una de las esta-

ciones. Esto se consigue con una dirección de nivel de enlace. Es decir, uno de

los campos de control de las tramas es una dirección que identifica cada estación.

Otro ejemplo de multiplexación en el nivel de enlace es el que muestra la fi-

gura siguiente. En este ejemplo hay un nivel físico y de enlace común y, por

encima, dos arquitecturas de comunicaciones (conjunto de protocolos) dife-

rentes. En este caso el nivel de enlace lleva las unidades de información de la

arquitectura 1 o 2 a su arquitectura par 1 o 2, respectivamente.

Protocolo PPP

El protocolo de nivel de enlace que se ha convertido en el es-tándar de Internet se conoce como PPP (del inglés Point-to-Point Protocol). Este protocolo tiene numerosas opciones, en-tre las cuales está la recupera-ción de errores.Por defecto, sin embargo, el protocolo PPP no hace la recu-peración de errores. Esto se debe a que en la arquitectura de protocolos que se utiliza en In-ternet (conocida como TCP/IP) la recuperación de errores se hace en el nivel de transporte.

En el apartado 6 del módulo “TCP/IP: los protocolos de la red Internet” de la asigna-tura de Redes. Aplicaciones y protocolos de Internet se vio el concepto de multiplexación en el nivel de transporte. En el apartado 4 del módulo “Transmisión de datos” de esta asignatura se verá la multiplexación en el nivel físico.

FUOC • P03/75098/02118 47 Enlace de datos

que hay un enlace punto a punto entre el maestro y cada uno de los esclavos,

y que el maestro selecciona alternativamente uno de los enlaces posibles se-

gún algún algoritmo de arbitraje.

c) El entorno de acceso a Internet es, actualmente, uno de los más habitua-

les. Millones de usuarios lo utilizan para acceder a Internet. En este entorno el

protocolo de nivel de enlace se establece entre el computador del usuario y el

computador del proveedor de Internet. Aquí el usuario se conecta al proveedor

mediante un módem. El proveedor dispone de una batería de módems para

que múltiples usuarios puedan conectarse simultáneamente.

d) Red de área local (LAN). Una característica de estos tipos de redes es que

la comunidad de computadores comparte el medio de transmisión, igual que

en el caso b). La diferencia fundamental, sin embargo, es que ahora no hay un

árbitro que selecciona uno de los enlaces posibles, sino que el algoritmo de ac-

ceso está distribuido entre los computadores que acceden al medio.

5.4. Multiplexación en el nivel de enlace

El concepto de multiplexación ya se ha introducido anteriormente. La idea de

la multiplexación es utilizar un único medio para la transmisión de diferentes

flujos de información. Obviamente, hay que definir un mecanismo que per-

mita separar los distintos flujos con respecto a la recepción.

Ahora veremos que la multiplexación también se puede encontrar en un pro-

tocolo de nivel de enlace. De hecho, es habitual que esta técnica se utilice en

cualquier nivel de la arquitectura de comunicaciones.

En primer lugar, veamos por qué puede ser útil tener multiplexación en el ni-

vel de enlace. El primer ejemplo es el enlace multipunto, que ya hemos intro-

ducido (ved el esquema b) de la figura anterior). El hecho de tener el medio

compartido podemos interpretarlo como si hubiera un único enlace donde se

multiplexan las tramas de las distintas estaciones. En este caso, podríamos in-

terpretar el algoritmo de arbitraje que utiliza el maestro como el mecanismo

de multiplexación.

Dentro de este enlace compartido necesitaremos distinguir cada una de las esta-

ciones. Esto se consigue con una dirección de nivel de enlace. Es decir, uno de

los campos de control de las tramas es una dirección que identifica cada estación.

Otro ejemplo de multiplexación en el nivel de enlace es el que muestra la fi-

gura siguiente. En este ejemplo hay un nivel físico y de enlace común y, por

encima, dos arquitecturas de comunicaciones (conjunto de protocolos) dife-

rentes. En este caso el nivel de enlace lleva las unidades de información de la

arquitectura 1 o 2 a su arquitectura par 1 o 2, respectivamente.

Protocolo PPP

El protocolo de nivel de enlace que se ha convertido en el es-tándar de Internet se conoce como PPP (del inglés Point-to-Point Protocol). Este protocolo tiene numerosas opciones, en-tre las cuales está la recupera-ción de errores.Por defecto, sin embargo, el protocolo PPP no hace la recu-peración de errores. Esto se debe a que en la arquitectura de protocolos que se utiliza en In-ternet (conocida como TCP/IP) la recuperación de errores se hace en el nivel de transporte.

En el apartado 6 del módulo “TCP/IP: los protocolos de la red Internet” de la asigna-tura de Redes. Aplicaciones y protocolos de Internet se vio el concepto de multiplexación en el nivel de transporte. En el apartado 4 del módulo “Transmisión de datos” de esta asignatura se verá la multiplexación en el nivel físico.

FUOC • P03/75098/02118 48 Enlace de datos

Este caso no es extraño en la práctica, ya que hay numerosos protocolos de co-

municaciones que puede interesar que convivan dentro de un mismo entorno

y que compartan el mismo enlace; por ejemplo, en una red de área local.

Para poder distinguir la arquitectura que transmite las tramas y, por lo tanto,

la arquitectura a la cual hay que entregarlas, también se utilizan direcciones

de nivel de enlace.

FUOC • P03/75098/02118 48 Enlace de datos

Este caso no es extraño en la práctica, ya que hay numerosos protocolos de co-

municaciones que puede interesar que convivan dentro de un mismo entorno

y que compartan el mismo enlace; por ejemplo, en una red de área local.

Para poder distinguir la arquitectura que transmite las tramas y, por lo tanto,

la arquitectura a la cual hay que entregarlas, también se utilizan direcciones

de nivel de enlace.

FUOC • P03/75098/02118 49 Enlace de datos

6. Ejemplo: el protocolo HDLC

Como ejemplo de un estándar de nivel de enlace, en este apartado describire-

mos algunas de las características del HDLC*. Este protocolo ha sido estanda-

rizado por el organismo ISO y muchos otros protocolos de nivel de enlace son

derivados del mismo.

El HDLC ha sido diseñado como un protocolo de nivel de enlace de propósito

general que se puede utilizar en numerosas situaciones. Por este motivo se han

definido las tres configuraciones de la figura siguiente. En esta figura los nom-

bres primario y secundario no hacen referencia a la estación que envía las tra-

mas de información y las confirmaciones, como hasta ahora, sino que esta

terminología se utiliza para distinguir ciertos privilegios que tiene el primario.

El privilegio principal del HDLC es que puede hacer de árbitro en un enlace

multipunto (lo que hemos denominado maestro).

Ejemplos de protocolos derivados del HDLC

Algunos protocolos que se han derivado del protocolo HDLC son los que mencionamosa continuación.

• LLC: se utiliza en las redes de área local (LAN).

• PPP: se utiliza en Internet.

• LAPM: es utilizado en el campo de la comunicación entre módems.

* HDLC es la sigla del término inglés High-level Data Link Control.

Podéis ver el concepto de maestro en el subapartado 5.3 de este módulo didáctico.

FUOC • P03/75098/02118 49 Enlace de datos

6. Ejemplo: el protocolo HDLC

Como ejemplo de un estándar de nivel de enlace, en este apartado describire-

mos algunas de las características del HDLC*. Este protocolo ha sido estanda-

rizado por el organismo ISO y muchos otros protocolos de nivel de enlace son

derivados del mismo.

El HDLC ha sido diseñado como un protocolo de nivel de enlace de propósito

general que se puede utilizar en numerosas situaciones. Por este motivo se han

definido las tres configuraciones de la figura siguiente. En esta figura los nom-

bres primario y secundario no hacen referencia a la estación que envía las tra-

mas de información y las confirmaciones, como hasta ahora, sino que esta

terminología se utiliza para distinguir ciertos privilegios que tiene el primario.

El privilegio principal del HDLC es que puede hacer de árbitro en un enlace

multipunto (lo que hemos denominado maestro).

Ejemplos de protocolos derivados del HDLC

Algunos protocolos que se han derivado del protocolo HDLC son los que mencionamosa continuación.

• LLC: se utiliza en las redes de área local (LAN).

• PPP: se utiliza en Internet.

• LAPM: es utilizado en el campo de la comunicación entre módems.

* HDLC es la sigla del término inglés High-level Data Link Control.

Podéis ver el concepto de maestro en el subapartado 5.3 de este módulo didáctico.

FUOC • P03/75098/02118 50 Enlace de datos

• LAPD: se utiliza como canal de señalización (canal D) en el acceso a la red telefónicadigital ISDN.

• LAPB: se utiliza para conectar una estación a una red de gran alcance X.25.

En el HDLC las tramas que envía el primario se conocen como comandos, y

las que envía el secundario, como respuestas. Si en la configuración todas las

estaciones son primarios y secundarios al mismo tiempo, se dice que es una

configuración balanceada; de lo contrario, se trata de una configuración no

balanceada. Evidentemente, una configuración multipunto debe ser no ba-

lanceada, porque sólo puede haber una estación que sea primario (que haga

de árbitro).

El HDLC permite tres modos de operación distintos:

a) Normal Response Mode (NRM). Este modo se utiliza en configuraciones

no balanceadas (casos a) y c) de la figura anterior). En este modo de operación

los secundarios (o esclavos) sólo pueden transmitir tramas en respuesta a los

comandos enviados por el primario (o maestro). Este modo se utiliza típica-

mente en el enlace entre un computador y uno o más periféricos.

b) Asynchronous Response Mode (ARM). Este modo se utiliza en configura-

ciones punto a punto no balanceadas (caso a) de la figura). A diferencia del

modo NRM, el secundario puede transmitir sin que el primario lo solicite. Este

modo es el menos usado en la actualidad.

c) Asynchronous Balanced Mode (ABM). Este modo se utiliza para configu-

raciones punto a punto balanceadas (caso b) de la figura). Los protocolos más

usados derivados del HDLC, como el LAPM, el LAPD y el LAPB, son derivados

de este modo.

Independientemente del modo, en el HDLC se definen tres tipos de tramas:

a) Tramas de información. Equivalen a las tramas de información a las que

nos hemos referido hasta ahora. Para la recuperación de errores y control de

flujo se utiliza Go back N o retransmisión selectiva (en el cual muchos de los

derivados implementan sólo Go back N). Para las confirmaciones se utiliza la

técnica de piggybacking.

b) Tramas de supervisión. Equivalen a las tramas de confirmación a las que

nos hemos referido hasta ahora. Se utilizan para las confirmaciones cuando no

se envían tramas de información.

c) Tramas no numeradas. Se usan en las fases de inicialización y desconexión

y para enviar información de control suplementaria.

El HDLC es un protocolo con una estructura de las tramas como la que se

muestra en la figura siguiente. Los indicadores de inicio y final de trama valen

Hemos visto la técnica de la inserción de ceros en el ejemplo de mecanismo de transparencia, en el subapartado 1.2.1. El control CRC se explica en el anexo 2 de estemódulo didáctico.

FUOC • P03/75098/02118 50 Enlace de datos

• LAPD: se utiliza como canal de señalización (canal D) en el acceso a la red telefónicadigital ISDN.

• LAPB: se utiliza para conectar una estación a una red de gran alcance X.25.

En el HDLC las tramas que envía el primario se conocen como comandos, y

las que envía el secundario, como respuestas. Si en la configuración todas las

estaciones son primarios y secundarios al mismo tiempo, se dice que es una

configuración balanceada; de lo contrario, se trata de una configuración no

balanceada. Evidentemente, una configuración multipunto debe ser no ba-

lanceada, porque sólo puede haber una estación que sea primario (que haga

de árbitro).

El HDLC permite tres modos de operación distintos:

a) Normal Response Mode (NRM). Este modo se utiliza en configuraciones

no balanceadas (casos a) y c) de la figura anterior). En este modo de operación

los secundarios (o esclavos) sólo pueden transmitir tramas en respuesta a los

comandos enviados por el primario (o maestro). Este modo se utiliza típica-

mente en el enlace entre un computador y uno o más periféricos.

b) Asynchronous Response Mode (ARM). Este modo se utiliza en configura-

ciones punto a punto no balanceadas (caso a) de la figura). A diferencia del

modo NRM, el secundario puede transmitir sin que el primario lo solicite. Este

modo es el menos usado en la actualidad.

c) Asynchronous Balanced Mode (ABM). Este modo se utiliza para configu-

raciones punto a punto balanceadas (caso b) de la figura). Los protocolos más

usados derivados del HDLC, como el LAPM, el LAPD y el LAPB, son derivados

de este modo.

Independientemente del modo, en el HDLC se definen tres tipos de tramas:

a) Tramas de información. Equivalen a las tramas de información a las que

nos hemos referido hasta ahora. Para la recuperación de errores y control de

flujo se utiliza Go back N o retransmisión selectiva (en el cual muchos de los

derivados implementan sólo Go back N). Para las confirmaciones se utiliza la

técnica de piggybacking.

b) Tramas de supervisión. Equivalen a las tramas de confirmación a las que

nos hemos referido hasta ahora. Se utilizan para las confirmaciones cuando no

se envían tramas de información.

c) Tramas no numeradas. Se usan en las fases de inicialización y desconexión

y para enviar información de control suplementaria.

El HDLC es un protocolo con una estructura de las tramas como la que se

muestra en la figura siguiente. Los indicadores de inicio y final de trama valen

Hemos visto la técnica de la inserción de ceros en el ejemplo de mecanismo de transparencia, en el subapartado 1.2.1. El control CRC se explica en el anexo 2 de estemódulo didáctico.

FUOC • P03/75098/02118 51 Enlace de datos

01111110, y se utiliza la técnica de la inserción de ceros para la transparencia.

La comprobación de errores se realiza con códigos CRC, concretamente con el

polinomio generador CRC-CCITT.

El contenido del campo de dirección depende del modo de operación. Por

ejemplo, en un enlace multipunto, si trabajamos con el modo NRM, sólo hay

un primario y cada secundario tiene una dirección única. En este caso, en el

campo de dirección se pone siempre la dirección del secundario. En el modo

ABM, en cambio, se pone la dirección propia cuando se quiere enviar un pe-

dido (la estación actúa como primario) y la dirección contraria cuando se en-

vía una respuesta (la estación actúa como secundario).

Los bits de control son los siguientes:

• SN. Lleva el número de secuencia de una trama de información.

• RN. Lleva el número de secuencia de la trama confirmada.

• P/F (Poll/Final bit). Este bit tiene muchos usos, algunos de los cuales son

los siguientes:

– El primario pone este bit a 1 para solicitar una respuesta urgente de un se-

cundario.

– El secundario pone el bit a 1 para indicar el final de una respuesta.

• Tipo. El tercer y cuarto bits codifican el tipo de trama de supervisión, y el

sexto, séptimo y octavo, el tipo de trama no numerada.

El estándar describe el tipo de trama y el comportamiento que se debe seguir

en todas las situaciones posibles.

En este apartado sólo se han presentado los ingredientes básicos del estándar

para que el estudiante se haga una idea de todos los puntos que involucra la

estandarización de un protocolo de nivel de enlace.

Lectura complementaria

Para obtener más detalles sobre el protocolo HDLC, podéis consultar la obra siguiente, que encontraréis referenciada en la bibliografía:F. Halsall (1998).Comunicación de datos, redes de computadores y sistemas abiertos.

FUOC • P03/75098/02118 51 Enlace de datos

01111110, y se utiliza la técnica de la inserción de ceros para la transparencia.

La comprobación de errores se realiza con códigos CRC, concretamente con el

polinomio generador CRC-CCITT.

El contenido del campo de dirección depende del modo de operación. Por

ejemplo, en un enlace multipunto, si trabajamos con el modo NRM, sólo hay

un primario y cada secundario tiene una dirección única. En este caso, en el

campo de dirección se pone siempre la dirección del secundario. En el modo

ABM, en cambio, se pone la dirección propia cuando se quiere enviar un pe-

dido (la estación actúa como primario) y la dirección contraria cuando se en-

vía una respuesta (la estación actúa como secundario).

Los bits de control son los siguientes:

• SN. Lleva el número de secuencia de una trama de información.

• RN. Lleva el número de secuencia de la trama confirmada.

• P/F (Poll/Final bit). Este bit tiene muchos usos, algunos de los cuales son

los siguientes:

– El primario pone este bit a 1 para solicitar una respuesta urgente de un se-

cundario.

– El secundario pone el bit a 1 para indicar el final de una respuesta.

• Tipo. El tercer y cuarto bits codifican el tipo de trama de supervisión, y el

sexto, séptimo y octavo, el tipo de trama no numerada.

El estándar describe el tipo de trama y el comportamiento que se debe seguir

en todas las situaciones posibles.

En este apartado sólo se han presentado los ingredientes básicos del estándar

para que el estudiante se haga una idea de todos los puntos que involucra la

estandarización de un protocolo de nivel de enlace.

Lectura complementaria

Para obtener más detalles sobre el protocolo HDLC, podéis consultar la obra siguiente, que encontraréis referenciada en la bibliografía:F. Halsall (1998).Comunicación de datos, redes de computadores y sistemas abiertos.

FUOC • P03/75098/02118 52 Enlace de datos

Resumen

En este módulo didàctico hemos presentado los conceptos básicos de la trans-

misión de datos.

Hemos presentado el modelo sencillo de comunicaciones, que incluye los

procesos de codificación de fuente y codificación de canal.

Cada uno de estos procesos tiene asociada una velocidad, la velocidad de mo-

dulación y la velocidad de transmisión, cuyos límites hemos analizado, tan-

to en teoría como en la práctica. A partir de estos análisis hemos definido la

capacidad del canal como la velocidad máxima de transmisión con que se

puede atravesar un canal.

Hemos visto las codificaciones y las modulacione digitales com los mecanis-

mos que, en el proceso de codificación de canal, permiten generar señales sus-

ceptibles de atravesar medios.

Hemos mostrado los mecanismos de multiplexación que permiten que dife-

rentes comunicaciones compartan el mismo medio de transmisión. La multi-

plexación puede ser en frecuencia o en tiempo. La primera es la adecuada

para señales analógicas y la segunda, para señales digitales.

Hemos analizado las perturbaciones que afectan las señales transportadas por me-

dios: la atenuación, la distorsión y el ruido. Hemos visto como cada una de estas

perturbaciones tiene efectos diferentes y como existen diferentes mecanismos

para combatirlas.

Finalmente, hemos presentado los medios de transmisión más utilizados en

la actualidad, sus características más relevantes y hemos estudiado cómo se ve

afectado, cada uno de ellos, las perturbaciones descritas anteriormente.

FUOC • P03/75098/02118 52 Enlace de datos

Resumen

En este módulo didàctico hemos presentado los conceptos básicos de la trans-

misión de datos.

Hemos presentado el modelo sencillo de comunicaciones, que incluye los

procesos de codificación de fuente y codificación de canal.

Cada uno de estos procesos tiene asociada una velocidad, la velocidad de mo-

dulación y la velocidad de transmisión, cuyos límites hemos analizado, tan-

to en teoría como en la práctica. A partir de estos análisis hemos definido la

capacidad del canal como la velocidad máxima de transmisión con que se

puede atravesar un canal.

Hemos visto las codificaciones y las modulacione digitales com los mecanis-

mos que, en el proceso de codificación de canal, permiten generar señales sus-

ceptibles de atravesar medios.

Hemos mostrado los mecanismos de multiplexación que permiten que dife-

rentes comunicaciones compartan el mismo medio de transmisión. La multi-

plexación puede ser en frecuencia o en tiempo. La primera es la adecuada

para señales analógicas y la segunda, para señales digitales.

Hemos analizado las perturbaciones que afectan las señales transportadas por me-

dios: la atenuación, la distorsión y el ruido. Hemos visto como cada una de estas

perturbaciones tiene efectos diferentes y como existen diferentes mecanismos

para combatirlas.

Finalmente, hemos presentado los medios de transmisión más utilizados en

la actualidad, sus características más relevantes y hemos estudiado cómo se ve

afectado, cada uno de ellos, las perturbaciones descritas anteriormente.

FUOC • P03/75098/02118 53 Enlace de datos

Ejercicios de autoevaluación

1. En un enlace se transmite la palabra código 011001 y se recibe 111101.a) ¿Qué distancia de Hamming debe tener el código para asegurar la detección del error?b) ¿Qué capacidad de detección de ráfagas de error de bits necesitamos?c) ¿Qué distancia de Hamming debe tener el código para asegurar la corrección del error?

2. En un código detector de errores que sólo tiene las tres palabras código válidas que semuestran a continuación: 110000, 001100 y 000011,...a) ¿cuál es la distancia de Hamming del código?b) si se recibe la palabra código 001000 y se aplica el criterio de corrección de la distancia mí-nima, ¿qué bits corregiríais?

3. En un nivel de enlace que utiliza un código de paridad longitudinal y transversal se recibela palabra código siguiente:

a) ¿Es una palabra código válida?b) Si se aplica el criterio de corrección de la distancia mínima, ¿qué bits corregiríais?

4. Queremos comparar la capacidad de detección de ráfagas de error de un código de paridadlongitudinal y transversal con un código CRC. Considerad un ejemplo de cada caso con elmismo número de bits de información y bits de control de errores. ¿Cuál es la capacidad dedetección de ráfagas de error en cada uno de los casos? ¿Cuál es, pues, el código más robustopara la detección de ráfagas de error?

5. Calculad la velocidad efectiva a la que se transfieren los datos en un enlace con una velo-cidad de transmisión de 9.600 bps si las tramas son de 800 bytes con el 85% de bytes de in-formación y el 15% de control. Suponed que a causa del protocolo de nivel de enlace hay unintervalo de reposo de 10 ms entre dos tramas consecutivas.

6. El tiempo de propagación entre dos entidades de nivel de enlace es de 10 ms. La velocidadde transmisión es de 28 kbps. El tamaño de las tramas es de 800 B.a) ¿Cuál es la eficiencia máxima que puede conseguirse si se utiliza un protocolo Stop &Wait?b) ¿Cuál puede ser el tamaño máximo de las confirmaciones para que la eficiencia no sea in-ferior al 90%?

7. En un enlace donde el tamaño de las tramas de información es mucho mayor que las tra-mas de confirmación, razonad en qué condiciones elegiríais un protocolo de nivel de enlacede los tipos que mencionamos a continuación:a) Stop & Wait.b) Go back N.c) Retransmisión selectiva.

8. En un enlace se utiliza un protocolo Stop & Wait. El tamaño de las tramas de informaciónes variable, pero la cabecera es fija y de 50 bits. Las confirmaciones son todas de 100 bits. Ladistancia del enlace es de 1 km y la velocidad de propagación de medio es de 2 · 108 m/s. Lavelocidad de transmisión es de 10 Mbps.a) Dibujad el diagrama de tiempo e indicad los aspectos más relevantes del mismo en los ca-sos siguientes: • Transmisión de una trama con éxito. • Transmisión de una trama que se pierde con la correspondiente retransmisión. Suponed

que la retransmisión es debida a un time-out. Haced una breve explicación del mecanismodel time-out.

b) Calculad el número de bits de datos que debería llevar cada trama de información paraque la eficiencia fuese como mínimo del 90%.

FUOC • P03/75098/02118 53 Enlace de datos

Ejercicios de autoevaluación

1. En un enlace se transmite la palabra código 011001 y se recibe 111101.a) ¿Qué distancia de Hamming debe tener el código para asegurar la detección del error?b) ¿Qué capacidad de detección de ráfagas de error de bits necesitamos?c) ¿Qué distancia de Hamming debe tener el código para asegurar la corrección del error?

2. En un código detector de errores que sólo tiene las tres palabras código válidas que semuestran a continuación: 110000, 001100 y 000011,...a) ¿cuál es la distancia de Hamming del código?b) si se recibe la palabra código 001000 y se aplica el criterio de corrección de la distancia mí-nima, ¿qué bits corregiríais?

3. En un nivel de enlace que utiliza un código de paridad longitudinal y transversal se recibela palabra código siguiente:

a) ¿Es una palabra código válida?b) Si se aplica el criterio de corrección de la distancia mínima, ¿qué bits corregiríais?

4. Queremos comparar la capacidad de detección de ráfagas de error de un código de paridadlongitudinal y transversal con un código CRC. Considerad un ejemplo de cada caso con elmismo número de bits de información y bits de control de errores. ¿Cuál es la capacidad dedetección de ráfagas de error en cada uno de los casos? ¿Cuál es, pues, el código más robustopara la detección de ráfagas de error?

5. Calculad la velocidad efectiva a la que se transfieren los datos en un enlace con una velo-cidad de transmisión de 9.600 bps si las tramas son de 800 bytes con el 85% de bytes de in-formación y el 15% de control. Suponed que a causa del protocolo de nivel de enlace hay unintervalo de reposo de 10 ms entre dos tramas consecutivas.

6. El tiempo de propagación entre dos entidades de nivel de enlace es de 10 ms. La velocidadde transmisión es de 28 kbps. El tamaño de las tramas es de 800 B.a) ¿Cuál es la eficiencia máxima que puede conseguirse si se utiliza un protocolo Stop &Wait?b) ¿Cuál puede ser el tamaño máximo de las confirmaciones para que la eficiencia no sea in-ferior al 90%?

7. En un enlace donde el tamaño de las tramas de información es mucho mayor que las tra-mas de confirmación, razonad en qué condiciones elegiríais un protocolo de nivel de enlacede los tipos que mencionamos a continuación:a) Stop & Wait.b) Go back N.c) Retransmisión selectiva.

8. En un enlace se utiliza un protocolo Stop & Wait. El tamaño de las tramas de informaciónes variable, pero la cabecera es fija y de 50 bits. Las confirmaciones son todas de 100 bits. Ladistancia del enlace es de 1 km y la velocidad de propagación de medio es de 2 · 108 m/s. Lavelocidad de transmisión es de 10 Mbps.a) Dibujad el diagrama de tiempo e indicad los aspectos más relevantes del mismo en los ca-sos siguientes: • Transmisión de una trama con éxito. • Transmisión de una trama que se pierde con la correspondiente retransmisión. Suponed

que la retransmisión es debida a un time-out. Haced una breve explicación del mecanismodel time-out.

b) Calculad el número de bits de datos que debería llevar cada trama de información paraque la eficiencia fuese como mínimo del 90%.

FUOC • P03/75098/02118 54 Enlace de datos

9. En una fábrica hay un enlace a 10 Mbps de 600 m de distancia y velocidad de propagaciónde 2 · 108 m/s. Se utiliza un protocolo Stop & Wait explícito con tramas de 1.500 bits de lon-gitud y confirmaciones de 40 bits. Una máquina cercana produce chispas a una frecuenciade 50 Hz que impiden la recepción correcta de la trama que se estaba transmitiendo en elinstante de la chispa.a) Dibujad el diagrama de tiempo con los aspectos más relevantes cuando se produce la chis-pa. Suponed que la chispa coincide siempre con la transmisión de una trama de información.b) Calculad la eficiencia máxima cuando no hay errores.c) Calculad la eficiencia máxima teniendo en cuenta las retransmisiones debidas a la inter-ferencia.

10. Indicad cuánto vale la ventana óptima en un enlace con retransmisión selectiva si eltiempo de propagación es negligible, en cada uno de los casos siguientes:a) Si el tamaño de las confirmaciones es menor que el de las tramas de información.b) Si se utiliza el piggybacking con tramas del mismo tamaño.

11. Dos estaciones de características iguales se comunican con un enlace full duplex de 100kbps. Las estaciones generan tramas de información de tamaño variable entre 1 y 5 kbits. Enel enlace se utiliza un mecanismo de ventana Go back N. Para las confirmaciones se usa latécnica del piggybacking siempre que sea posible, pero si hay alguna confirmación pendientepor un tiempo igual a 100 ms y la estación continúa inactiva, se envía una trama de confir-mación de 200 bits. El tiempo de propagación entre las estaciones se considera negligible.a) Calculad la ventana óptima dibujando el diagrama de tiempo que utilizáis en el cálculo.b) ¿Cuántos bits de la cabecera se tendrían que dedicar a los identificadores de las tramas?

12. Se quiere transmitir un fichero de 1 Mbit entre dos PC que distan 10 Km. El nivel de apli-cación segmenta el fichero en segmentos de 1 kB y los pasa al nivel de enlace. El nivel de enlaceenvía un segmento a cada trama de información y utiliza un protocolo Stop & Wait para hacerla recuperación de los errores. El enlace tiene, además, las características siguientes:• Transmisión orientada al carácter, asíncrona con 8 bits por carácter, 1 bit de arranque, 1

bit de parada y 1 bit de paridad.• La velocidad de transmisión es de 115.200 bps.• La velocidad de propagación es de 2· 108 m/s.• La probabilidad de error en 1 bit es pb = 10-5.• La figura siguiente muestra el formato de las tramas y de las confirmaciones:

a) Dibujad el diagrama de tiempo de la transmisión de una trama.b) Enumerad los factores que influyen en la eficiencia. Contabilizad la pérdida de eficienciadebida a cada uno de estos factores.c) Dad la velocidad de transmisión eficaz.d) Calculad el tiempo medio de transmisión del fichero.

FUOC • P03/75098/02118 54 Enlace de datos

9. En una fábrica hay un enlace a 10 Mbps de 600 m de distancia y velocidad de propagaciónde 2 · 108 m/s. Se utiliza un protocolo Stop & Wait explícito con tramas de 1.500 bits de lon-gitud y confirmaciones de 40 bits. Una máquina cercana produce chispas a una frecuenciade 50 Hz que impiden la recepción correcta de la trama que se estaba transmitiendo en elinstante de la chispa.a) Dibujad el diagrama de tiempo con los aspectos más relevantes cuando se produce la chis-pa. Suponed que la chispa coincide siempre con la transmisión de una trama de información.b) Calculad la eficiencia máxima cuando no hay errores.c) Calculad la eficiencia máxima teniendo en cuenta las retransmisiones debidas a la inter-ferencia.

10. Indicad cuánto vale la ventana óptima en un enlace con retransmisión selectiva si eltiempo de propagación es negligible, en cada uno de los casos siguientes:a) Si el tamaño de las confirmaciones es menor que el de las tramas de información.b) Si se utiliza el piggybacking con tramas del mismo tamaño.

11. Dos estaciones de características iguales se comunican con un enlace full duplex de 100kbps. Las estaciones generan tramas de información de tamaño variable entre 1 y 5 kbits. Enel enlace se utiliza un mecanismo de ventana Go back N. Para las confirmaciones se usa latécnica del piggybacking siempre que sea posible, pero si hay alguna confirmación pendientepor un tiempo igual a 100 ms y la estación continúa inactiva, se envía una trama de confir-mación de 200 bits. El tiempo de propagación entre las estaciones se considera negligible.a) Calculad la ventana óptima dibujando el diagrama de tiempo que utilizáis en el cálculo.b) ¿Cuántos bits de la cabecera se tendrían que dedicar a los identificadores de las tramas?

12. Se quiere transmitir un fichero de 1 Mbit entre dos PC que distan 10 Km. El nivel de apli-cación segmenta el fichero en segmentos de 1 kB y los pasa al nivel de enlace. El nivel de enlaceenvía un segmento a cada trama de información y utiliza un protocolo Stop & Wait para hacerla recuperación de los errores. El enlace tiene, además, las características siguientes:• Transmisión orientada al carácter, asíncrona con 8 bits por carácter, 1 bit de arranque, 1

bit de parada y 1 bit de paridad.• La velocidad de transmisión es de 115.200 bps.• La velocidad de propagación es de 2· 108 m/s.• La probabilidad de error en 1 bit es pb = 10-5.• La figura siguiente muestra el formato de las tramas y de las confirmaciones:

a) Dibujad el diagrama de tiempo de la transmisión de una trama.b) Enumerad los factores que influyen en la eficiencia. Contabilizad la pérdida de eficienciadebida a cada uno de estos factores.c) Dad la velocidad de transmisión eficaz.d) Calculad el tiempo medio de transmisión del fichero.

FUOC • P03/75098/02118 55 Enlace de datos

Solucionario

Ejercicios de autoevaluación

1.a) En la palabra código recibida hay 2 bits erróneos; esto implica que el error se detectará conprobabilidad 1 si la distancia de Hamming es mayor que 2.b) La ráfaga de error es de 4 bits; esto implica que el error se detectará con probabilidad 1 sila capacidad de detección de ráfagas de error es mayor o igual que 4.c) Para corregir n bits erróneos con probabilidad 1 se tiene que cumplir que DH/2 > n, dondeDH es la distancia de Hamming del código. Así pues, DH > 4.

2.a) Entre cualquiera de las palabras código hay 4 bits de diferencia. De este modo, la distanciade Hamming vale 4.b) El criterio de la distancia mínima consiste en tomar la palabra código válida con menosbits de diferencia. Es la palabra código 001100.

3.a) No es una palabra código válida porque la paridad longitudinal y la transversal indicadasno son correctas.b) El bit que es necesario corregir aplicando el criterio de distancia mínima es el que hay enel cruce de las paridades longitudinal y transversal incorrectas.

4. Supongamos que tenemos un código de paridad longitudinal y transversal con un bloquede n × m bits de información como el de la figura:

La capacidad de detección de ráfagas de error (o CDR) de este código es la medida de una filamás 1, es decir, m + 2. El número de bits dedicados al control de paridad es ν + m + 1. Por lotanto, un código CRC con el mismo número de bits dedicados al control de errores tendríaun CDR de ν + m + 1 bits. Así pues, sólo en el caso de ν = 1 el código de paridad longitudinaly transversal y el código CRC tendrían un mismo CDR. Con ν = 1, sin embargo, la redundan-cia es muy elevada (¡hay más bits dedicados al control de errores que bits de información!).De este modo, hay que suponer que n es mayor que 1 y que el código CRC tiene más capaci-dad de detección de ráfagas de error.

5. La eficiencia de las tramas es del 85%. Para calcular la eficiencia del protocolo debe tenerse encuenta el intervalo de reposo. La figura que veis a continuación muestra el diagrama de tiempo:

Podéis ver la figura “Evaluación del protocolo Stop & Wait” enel subapartado 3.3.4 de estemódulo didáctico.

FUOC • P03/75098/02118 55 Enlace de datos

Solucionario

Ejercicios de autoevaluación

1.a) En la palabra código recibida hay 2 bits erróneos; esto implica que el error se detectará conprobabilidad 1 si la distancia de Hamming es mayor que 2.b) La ráfaga de error es de 4 bits; esto implica que el error se detectará con probabilidad 1 sila capacidad de detección de ráfagas de error es mayor o igual que 4.c) Para corregir n bits erróneos con probabilidad 1 se tiene que cumplir que DH/2 > n, dondeDH es la distancia de Hamming del código. Así pues, DH > 4.

2.a) Entre cualquiera de las palabras código hay 4 bits de diferencia. De este modo, la distanciade Hamming vale 4.b) El criterio de la distancia mínima consiste en tomar la palabra código válida con menosbits de diferencia. Es la palabra código 001100.

3.a) No es una palabra código válida porque la paridad longitudinal y la transversal indicadasno son correctas.b) El bit que es necesario corregir aplicando el criterio de distancia mínima es el que hay enel cruce de las paridades longitudinal y transversal incorrectas.

4. Supongamos que tenemos un código de paridad longitudinal y transversal con un bloquede n × m bits de información como el de la figura:

La capacidad de detección de ráfagas de error (o CDR) de este código es la medida de una filamás 1, es decir, m + 2. El número de bits dedicados al control de paridad es ν + m + 1. Por lotanto, un código CRC con el mismo número de bits dedicados al control de errores tendríaun CDR de ν + m + 1 bits. Así pues, sólo en el caso de ν = 1 el código de paridad longitudinaly transversal y el código CRC tendrían un mismo CDR. Con ν = 1, sin embargo, la redundan-cia es muy elevada (¡hay más bits dedicados al control de errores que bits de información!).De este modo, hay que suponer que n es mayor que 1 y que el código CRC tiene más capaci-dad de detección de ráfagas de error.

5. La eficiencia de las tramas es del 85%. Para calcular la eficiencia del protocolo debe tenerse encuenta el intervalo de reposo. La figura que veis a continuación muestra el diagrama de tiempo:

Podéis ver la figura “Evaluación del protocolo Stop & Wait” enel subapartado 3.3.4 de estemódulo didáctico.

FUOC • P03/75098/02118 56 Enlace de datos

donde tenemos lo siguiente*:

6.a) La figura siguiente muestra el diagrama de tiempo que se corresponde con el caso que es-tamos considerando en el enunciado:

Se supone que ta ≈ 0, tt = L/vt = 800 · 8 / 28 · 103 ≡ 228,6 ms; así pues, obtenemos:

b) Tenemos:

,

donde: ta < tt (1/0,9 − 1) − 2 tp ≡ 5,4 ms. Por lo tanto, si denotamos con K el tamaño de lasconfirmaciones, entonces K/vt < 5,4 · 10-3, K < vt · 5,4 · 10-3 = 151,2 y finalmente obtenemosel resultado K < 152 bits.

7.a) Stop & Wait: si el enlace es half duplex, o si tt >> tp. En este caso el parámetro a = tp / tt ≈ 0y el Stop & Wait tiene un comportamiento parecido al Go back N y a la retransmisión selec-tiva; podéis ver la figura “Evaluación del protocolo Stop & Wait”.

b) Go back N: si el enlace es full fuplex, no se cumple tt >> tp, y hay pocos errores. Eneste caso el Go back N y la retransmisión selectiva tienen un comportamiento parecido.

c) Retransmisión selectiva: si el enlace es full duplex, no se cumple tt >> tp y hay muchos erro-res. En este caso la retransmisión selectiva tiene un comportamiento notablemente mejorque los otros protocolos.

8.a) Transmisión de una trama con éxito: igual que la figura del apartado a) del ejercicio 5.

b) tp = D/vp = 103/2 · 108 ≡ 5 µs, ta = La/vt = 100/10 · 106 ≡ 10 µs.

,

donde tt = (L + 50) / vt. Sustituyendo, se obtiene L > 2.250 bits.

* Se usará el signo ≡ para indicar que hay una conversión

de unidades.ttLvt

---- 800 8⋅9.600------------------ 666,7 ms≡= =

EPtt

TC

------ tt

tt 10 ms+--------------------------- 98,5%≡= =

Etot EP Et⋅ 0,985 0,85⋅ 83,7%≡= =

vef vt Etot⋅ 9.600 0,837⋅ 8.035 bps≡= =

EPtt

TC------

tt

tt 2tp+----------------- 228,6

228,6 2 10⋅+------------------------------------- 92%≡= = =

EPtt

tt 2tp ta+ +---------------------------- 0,9>=

Podéis ver la figura mencionada en el subapartado 3.3.4 de este módulo didáctico.

Podemos encontrar una explicación del time-out con la figura correspondiente al subapartado 3.3.1 de este módulo didáctico.

E EP Et⋅tt

tt 2tp ta+ +---------------------------- L

L 50+----------------⋅ 0,9>= =

FUOC • P03/75098/02118 56 Enlace de datos

donde tenemos lo siguiente*:

6.a) La figura siguiente muestra el diagrama de tiempo que se corresponde con el caso que es-tamos considerando en el enunciado:

Se supone que ta ≈ 0, tt = L/vt = 800 · 8 / 28 · 103 ≡ 228,6 ms; así pues, obtenemos:

b) Tenemos:

,

donde: ta < tt (1/0,9 − 1) − 2 tp ≡ 5,4 ms. Por lo tanto, si denotamos con K el tamaño de lasconfirmaciones, entonces K/vt < 5,4 · 10-3, K < vt · 5,4 · 10-3 = 151,2 y finalmente obtenemosel resultado K < 152 bits.

7.a) Stop & Wait: si el enlace es half duplex, o si tt >> tp. En este caso el parámetro a = tp / tt ≈ 0y el Stop & Wait tiene un comportamiento parecido al Go back N y a la retransmisión selec-tiva; podéis ver la figura “Evaluación del protocolo Stop & Wait”.

b) Go back N: si el enlace es full fuplex, no se cumple tt >> tp, y hay pocos errores. Eneste caso el Go back N y la retransmisión selectiva tienen un comportamiento parecido.

c) Retransmisión selectiva: si el enlace es full duplex, no se cumple tt >> tp y hay muchos erro-res. En este caso la retransmisión selectiva tiene un comportamiento notablemente mejorque los otros protocolos.

8.a) Transmisión de una trama con éxito: igual que la figura del apartado a) del ejercicio 5.

b) tp = D/vp = 103/2 · 108 ≡ 5 µs, ta = La/vt = 100/10 · 106 ≡ 10 µs.

,

donde tt = (L + 50) / vt. Sustituyendo, se obtiene L > 2.250 bits.

* Se usará el signo ≡ para indicar que hay una conversión

de unidades.ttLvt

---- 800 8⋅9.600------------------ 666,7 ms≡= =

EPtt

TC

------ tt

tt 10 ms+--------------------------- 98,5%≡= =

Etot EP Et⋅ 0,985 0,85⋅ 83,7%≡= =

vef vt Etot⋅ 9.600 0,837⋅ 8.035 bps≡= =

EPtt

TC------

tt

tt 2tp+----------------- 228,6

228,6 2 10⋅+------------------------------------- 92%≡= = =

EPtt

tt 2tp ta+ +---------------------------- 0,9>=

Podéis ver la figura mencionada en el subapartado 3.3.4 de este módulo didáctico.

Podemos encontrar una explicación del time-out con la figura correspondiente al subapartado 3.3.1 de este módulo didáctico.

E EP Et⋅tt

tt 2tp ta+ +---------------------------- L

L 50+----------------⋅ 0,9>= =

FUOC • P03/75098/02118 57 Enlace de datos

9.a)

b) tp = D/vp = 600/2 · 108 ≡ 3 µs, tt = L/vt = 1.500/10 · 106 ≡ 150 µs, ta = La/vt = 40/10 · 106 ≡ ≡ 4 µs.

c) Aplicando la ecuación (14):

Para calcular Nt debemos tener en cuenta que cada Te (20 ms) hay una trama que se transmitedos veces. En Te se pueden transmitir Te/TC tramas, donde Tc = tt + 2 tp + ta ≡ 160 µs. Así pues:

Te/TC = 20 · 103 / 160 ≡ 125 transmisiones,

De las cuales hay una repetida. Se transmiten, pues, 124 tramas de cada 125 transmisiones y,por lo tanto: Nt = 125/124.

También puede obtenerse el mismo resultado con el razonamiento siguiente: dado quede cada 125 transmisiones hay una errónea, la probabilidad de error en una trama es dept = 1/125. De la ecuación 18 tenemos que:

Nt = 1 / (1 − pt) = 1 / (1 − 1 / 125) = 125 / 124.

Sustituyendo en la fórmula de la eficiencia anterior, se obtiene:

10.a) El diagrama de tiempo es el que se ve al margen, de donde Wopt = 2.b) Supondremos que las dos estaciones transmiten continuamente. El caso más desfavorabletiene lugar cuando la trama de información IK acabe de llegar a la estación remota justo cuan-do ésta ha empezado a transmitir una trama de información. La confirmación de IK irá den-tro de la trama siguiente, como muestra el diagrama de tiempo que se ve a continuación. Deeste modo, Wopt = 3.

EPtt

TC

------ tt

tt 2tp ta+ +---------------------------- 150

150 2 3⋅ 4+ +------------------------------------- 93,75%≡= = =

Ett

Nt tt 2tp ta+ +( )---------------------------------------

Ep

Nt

------= =

EEp

Nt

------ 0,9375125 124⁄------------------------ 93%≡= =

FUOC • P03/75098/02118 57 Enlace de datos

9.a)

b) tp = D/vp = 600/2 · 108 ≡ 3 µs, tt = L/vt = 1.500/10 · 106 ≡ 150 µs, ta = La/vt = 40/10 · 106 ≡ ≡ 4 µs.

c) Aplicando la ecuación (14):

Para calcular Nt debemos tener en cuenta que cada Te (20 ms) hay una trama que se transmitedos veces. En Te se pueden transmitir Te/TC tramas, donde Tc = tt + 2 tp + ta ≡ 160 µs. Así pues:

Te/TC = 20 · 103 / 160 ≡ 125 transmisiones,

De las cuales hay una repetida. Se transmiten, pues, 124 tramas de cada 125 transmisiones y,por lo tanto: Nt = 125/124.

También puede obtenerse el mismo resultado con el razonamiento siguiente: dado quede cada 125 transmisiones hay una errónea, la probabilidad de error en una trama es dept = 1/125. De la ecuación 18 tenemos que:

Nt = 1 / (1 − pt) = 1 / (1 − 1 / 125) = 125 / 124.

Sustituyendo en la fórmula de la eficiencia anterior, se obtiene:

10.a) El diagrama de tiempo es el que se ve al margen, de donde Wopt = 2.b) Supondremos que las dos estaciones transmiten continuamente. El caso más desfavorabletiene lugar cuando la trama de información IK acabe de llegar a la estación remota justo cuan-do ésta ha empezado a transmitir una trama de información. La confirmación de IK irá den-tro de la trama siguiente, como muestra el diagrama de tiempo que se ve a continuación. Deeste modo, Wopt = 3.

EPtt

TC

------ tt

tt 2tp ta+ +---------------------------- 150

150 2 3⋅ 4+ +------------------------------------- 93,75%≡= = =

Ett

Nt tt 2tp ta+ +( )---------------------------------------

Ep

Nt

------= =

EEp

Nt

------ 0,9375125 124⁄------------------------ 93%≡= =

FUOC • P03/75098/02118 58 Enlace de datos

11.a) El caso más desfavorable es el que muestra el diagrama de tiempo siguiente. Aquí las tra-mas IK+1, Ik+2, … son tramas de 1 kbit y justo cuando se agotan los 100 ms de inactividad, laestación remota decide enviar una trama de 5 kbits.

El tiempo de transmisión de una trama de 1 kbit es de 103/100 · 103 ≡ 10 ms. El de una tramade 5 kbits es de 5 · 103/100 · 103 ≡ 50 ms. Así pues:

Wopt = 1 + (100 + 50) / 10 = 16 tramas.

b) Para un protocolo Go back N con una ventana W y n bits para los identificadores se tieneque cumplir W + 1 ≤ 2n. Sustituyendo W = 16 se obtiene:

n ≥ log217 = log1017/log102 = 4,08, de donde n ≥ 5 bit.

12.a) El diagrama de tiempo es el mismo que el del apartado a) del ejercicio 7.b) Influyen en la eficiencia:• Los bits de arranque, parada y paridad (ETx).

• Los caracteres de control de las tramas (Et).

• El tiempo de espera de las confirmaciones (Ep).

• Las retransmisiones debidas a los errores (Ee).

Para calcular Ep se ha utilizado lo siguiente:

tt = bits por trama / vt = 1.006 · 8 / 115.200 ≡ 69,86 ms.ta = bits por confirmación / vt = 5 · 8 / 115.200 ≡ 0,35 ms.tp = distancia / vp = 10 · 103 / 2 · 108 ≡ 0,5 ms.

Para calcular Ee se ha tenido en cuenta lo siguiente:

pt = 1 − (1 − pb)L,

donde L es el número de bits de una trama. Dado que pb · L ≈ 0,08 << 1, se puede aproximar por:

(1 − pb)L ≈ 1 − pb · L = 1 − 10−5 · 1.006 · 8 = 0,92.

La eficiencia total es el producto de toda la eficiencia anterior:

Etot = ETx · Et · Ep · Ee = 0,667 · 0,994 · 0,98 · 0,92 ≡ 59,77%.

c) vef = Etot · vt = 0,5977 · 115.200 ≡ 68,8 kbps.

d) Tiempo de transmisión = tamaño del fichero / vef = 106 / 68.800 ≡ 14,5 s.

ETxbits de información por carácter

bits transmitidos por carácter------------------------------------------------------------------------------------------ 8

8 1 1 1+ + +-------------------------------- 66,7%≡= =

Etcaracteres de información por trama

caracteres transmitidos por trama----------------------------------------------------------------------------------------------------- 1.000

1,006--------------- 99,4%≡= =

Eptt

tt 2tp ta+ +---------------------------- 98%≡=

Ee1Nt------ 1 pt– 1 L pb⋅–≈ 1 1.006 8 10 5–⋅ ⋅– 92%≡= = =

FUOC • P03/75098/02118 58 Enlace de datos

11.a) El caso más desfavorable es el que muestra el diagrama de tiempo siguiente. Aquí las tra-mas IK+1, Ik+2, … son tramas de 1 kbit y justo cuando se agotan los 100 ms de inactividad, laestación remota decide enviar una trama de 5 kbits.

El tiempo de transmisión de una trama de 1 kbit es de 103/100 · 103 ≡ 10 ms. El de una tramade 5 kbits es de 5 · 103/100 · 103 ≡ 50 ms. Así pues:

Wopt = 1 + (100 + 50) / 10 = 16 tramas.

b) Para un protocolo Go back N con una ventana W y n bits para los identificadores se tieneque cumplir W + 1 ≤ 2n. Sustituyendo W = 16 se obtiene:

n ≥ log217 = log1017/log102 = 4,08, de donde n ≥ 5 bit.

12.a) El diagrama de tiempo es el mismo que el del apartado a) del ejercicio 7.b) Influyen en la eficiencia:• Los bits de arranque, parada y paridad (ETx).

• Los caracteres de control de las tramas (Et).

• El tiempo de espera de las confirmaciones (Ep).

• Las retransmisiones debidas a los errores (Ee).

Para calcular Ep se ha utilizado lo siguiente:

tt = bits por trama / vt = 1.006 · 8 / 115.200 ≡ 69,86 ms.ta = bits por confirmación / vt = 5 · 8 / 115.200 ≡ 0,35 ms.tp = distancia / vp = 10 · 103 / 2 · 108 ≡ 0,5 ms.

Para calcular Ee se ha tenido en cuenta lo siguiente:

pt = 1 − (1 − pb)L,

donde L es el número de bits de una trama. Dado que pb · L ≈ 0,08 << 1, se puede aproximar por:

(1 − pb)L ≈ 1 − pb · L = 1 − 10−5 · 1.006 · 8 = 0,92.

La eficiencia total es el producto de toda la eficiencia anterior:

Etot = ETx · Et · Ep · Ee = 0,667 · 0,994 · 0,98 · 0,92 ≡ 59,77%.

c) vef = Etot · vt = 0,5977 · 115.200 ≡ 68,8 kbps.

d) Tiempo de transmisión = tamaño del fichero / vef = 106 / 68.800 ≡ 14,5 s.

ETxbits de información por carácter

bits transmitidos por carácter------------------------------------------------------------------------------------------ 8

8 1 1 1+ + +-------------------------------- 66,7%≡= =

Etcaracteres de información por trama

caracteres transmitidos por trama----------------------------------------------------------------------------------------------------- 1.000

1,006--------------- 99,4%≡= =

Eptt

tt 2tp ta+ +---------------------------- 98%≡=

Ee1Nt------ 1 pt– 1 L pb⋅–≈ 1 1.006 8 10 5–⋅ ⋅– 92%≡= = =

FUOC • P03/75098/02118 59 Enlace de datos

Glosario

código detector de errores m Transformación que se aplica a la trama para obtener el va-lor de los bits que se han añadido y detectar de esta forma si una trama llega con errores. Loscódigos más utilizados son la paridad, la paridad longitudinal y transversal y los códigosCRC.

control de flujo m Mecanismo que utiliza el nivel de enlace para evitar que las tramas lle-guen antes de lo que es capaz de procesar. Normalmente se utiliza un mecanismo de ventana.

diagrama de tiempo m Representación espaciotemporal de la comunicación entre dos en-tidades. Permite representar gráficamente un protocolo y el tiempo invertido en cada una delas acciones.

distancia de Hamming f Número de bits de diferencia que hay entre dos palabras código.

enlace multipunto m Situación en la que una comunidad de computadores se comunicanmediante un enlace compartido. Para poder comunicarse sin interferirse entre sí uno de losmismos se encarga de arbitrar las comunicaciones.

framing f Véase sincronización de trama.

inserción de caracteres f Mecanismo de transparencia que se utiliza en las transmisionesorientadas a carácter.

inserción de ceros f Mecanismo de transparencia que se utiliza en las transmisiones orien-tadas a bit.

lista de recepción f Lista en la cual el secundario guarda las tramas para poder entregarlasen orden.

lista de transmisión f Lista donde el primario guarda las tramas que se han enviado y queestán pendientes de confirmar, para poder retransmitirlas en caso de error.

mecanismo de transparencia m Mecanismo que se utiliza para no confundir los datosde la trama con el identificador de final de trama.

nivel de enlace m Nivel que hay inmediatamente por encima del nivel físico. Su funciónmás importante es transmitir información de manera fiable utilizando el flujo no fiable debits del nivel físico.

palabra código f En el contexto de los códigos detectores de errores, conjunto de P + Q bitsque resultan de la transformación que aplica el código a los P bits que se deben proteger.

piggybacking m Técnica que consiste en enviar las confirmaciones dentro de un campo delas tramas de información.

primario m Estación que envía las tramas de información. En el protocolo HDLC, es la es-tación que puede enviar comandos.

protocolo m Formato y conjunto de reglas que se definen para la comunicación entre dosentidades del mismo nivel, en la arquitectura de comunicaciones.

protocolo no orientado a la conexión m Protocolo que no tiene fase de inicializaciónni de desconexión.

protocolo orientado a la conexión m Protocolo que tiene una fase de inicialización yuna fase de desconexión.

ráfaga de error f Número de bits que hay entre el primer bit erróneo de una trama y elúltimo, los dos incluidos.

recuperación automática de errores f Técnica que consiste en solicitar la retransmisiónde una trama cuando se detecta un error. Los protocolos más conocidos que utilizan esta téc-nica son el Stop & Wait, el Go back N y la retransmisión selectiva.

redundancia f Bits adicionales que añade el código detector de errores.

secundario m Estación –en el contexto del módulo– que envía las tramas de confirmación.En el protocolo HDLC, se trata de la estación que envía las respuestas.

FUOC • P03/75098/02118 59 Enlace de datos

Glosario

código detector de errores m Transformación que se aplica a la trama para obtener el va-lor de los bits que se han añadido y detectar de esta forma si una trama llega con errores. Loscódigos más utilizados son la paridad, la paridad longitudinal y transversal y los códigosCRC.

control de flujo m Mecanismo que utiliza el nivel de enlace para evitar que las tramas lle-guen antes de lo que es capaz de procesar. Normalmente se utiliza un mecanismo de ventana.

diagrama de tiempo m Representación espaciotemporal de la comunicación entre dos en-tidades. Permite representar gráficamente un protocolo y el tiempo invertido en cada una delas acciones.

distancia de Hamming f Número de bits de diferencia que hay entre dos palabras código.

enlace multipunto m Situación en la que una comunidad de computadores se comunicanmediante un enlace compartido. Para poder comunicarse sin interferirse entre sí uno de losmismos se encarga de arbitrar las comunicaciones.

framing f Véase sincronización de trama.

inserción de caracteres f Mecanismo de transparencia que se utiliza en las transmisionesorientadas a carácter.

inserción de ceros f Mecanismo de transparencia que se utiliza en las transmisiones orien-tadas a bit.

lista de recepción f Lista en la cual el secundario guarda las tramas para poder entregarlasen orden.

lista de transmisión f Lista donde el primario guarda las tramas que se han enviado y queestán pendientes de confirmar, para poder retransmitirlas en caso de error.

mecanismo de transparencia m Mecanismo que se utiliza para no confundir los datosde la trama con el identificador de final de trama.

nivel de enlace m Nivel que hay inmediatamente por encima del nivel físico. Su funciónmás importante es transmitir información de manera fiable utilizando el flujo no fiable debits del nivel físico.

palabra código f En el contexto de los códigos detectores de errores, conjunto de P + Q bitsque resultan de la transformación que aplica el código a los P bits que se deben proteger.

piggybacking m Técnica que consiste en enviar las confirmaciones dentro de un campo delas tramas de información.

primario m Estación que envía las tramas de información. En el protocolo HDLC, es la es-tación que puede enviar comandos.

protocolo m Formato y conjunto de reglas que se definen para la comunicación entre dosentidades del mismo nivel, en la arquitectura de comunicaciones.

protocolo no orientado a la conexión m Protocolo que no tiene fase de inicializaciónni de desconexión.

protocolo orientado a la conexión m Protocolo que tiene una fase de inicialización yuna fase de desconexión.

ráfaga de error f Número de bits que hay entre el primer bit erróneo de una trama y elúltimo, los dos incluidos.

recuperación automática de errores f Técnica que consiste en solicitar la retransmisiónde una trama cuando se detecta un error. Los protocolos más conocidos que utilizan esta téc-nica son el Stop & Wait, el Go back N y la retransmisión selectiva.

redundancia f Bits adicionales que añade el código detector de errores.

secundario m Estación –en el contexto del módulo– que envía las tramas de confirmación.En el protocolo HDLC, se trata de la estación que envía las respuestas.

FUOC • P03/75098/02118 60 Enlace de datos

sincronización de trama f Mecanismo que utiliza el nivel de enlace para determinar elinicio y el final de una trama dentro del flujo de bits o caracteres que llega del nivel físico.en framing

trama f Estructura en la cual el nivel de enlace organiza los campos de control y de infor-mación para que puedan ser identificados dentro del flujo de bits del nivel físico.

vef Véase velocidad de transmisión efectiva o eficaz.

velocidad de transmisión efectiva o eficaz f Velocidad media a la que se transmitenlos bits de información. Se define como: vef = E · vt, donde E es la eficiencia del enlace, y vt,la velocidad de transmisión máxima.sigla: vef

ventana de recepción f Número máximo de tramas que tiene que almacenar el secundario.

ventana de transmisión f Número de tramas que el primario está autorizado a transmitirsin confirmar, dado que todas las anteriores están confirmadas.

ventana óptima f Ventana mínima que permite alcanzar una eficiencia del protocolodel 100%.

Bibliografía

Benedetto, S.; Biglier, E.; Castellani, V. (1987). Digital Transmission Theory. EnglewoodCliffs: Prentice Hall.

Bertsekas, D.; Gallager, R. (1992). Data Networks (2.ª ed.) Englewood Cliffs: Prentice Hall.

Stallings, W. (2000). Comunicación de datos y redes de computadores. (6.ª ed.) Madrid: PrenticeHall.

FUOC • P03/75098/02118 60 Enlace de datos

sincronización de trama f Mecanismo que utiliza el nivel de enlace para determinar elinicio y el final de una trama dentro del flujo de bits o caracteres que llega del nivel físico.en framing

trama f Estructura en la cual el nivel de enlace organiza los campos de control y de infor-mación para que puedan ser identificados dentro del flujo de bits del nivel físico.

vef Véase velocidad de transmisión efectiva o eficaz.

velocidad de transmisión efectiva o eficaz f Velocidad media a la que se transmitenlos bits de información. Se define como: vef = E · vt, donde E es la eficiencia del enlace, y vt,la velocidad de transmisión máxima.sigla: vef

ventana de recepción f Número máximo de tramas que tiene que almacenar el secundario.

ventana de transmisión f Número de tramas que el primario está autorizado a transmitirsin confirmar, dado que todas las anteriores están confirmadas.

ventana óptima f Ventana mínima que permite alcanzar una eficiencia del protocolodel 100%.

Bibliografía

Benedetto, S.; Biglier, E.; Castellani, V. (1987). Digital Transmission Theory. EnglewoodCliffs: Prentice Hall.

Bertsekas, D.; Gallager, R. (1992). Data Networks (2.ª ed.) Englewood Cliffs: Prentice Hall.

Stallings, W. (2000). Comunicación de datos y redes de computadores. (6.ª ed.) Madrid: PrenticeHall.

FUOC • P03/75098/02118 61 Enlace de datos

Anexos

Anexo 1

Códigos detectores de errores polinomiales

Unos códigos detectores de errores muy utilizados son los conocidos como

CRC*. Estos códigos se suelen utilizar en transmisiones orientadas a bit.

Los códigos detectores de errores CRC se basan en el cálculo de un número

binario, conocido como CRC, resultado de una cierta operación con los bits

que se deben proteger. Este número se pone en el campo de control de errores

de la trama. En recepción se repite el cálculo y se interpreta que hay o no error

según si coincide con el CRC o no.

Para explicar el cálculo del CRC es conveniente representar las secuencias de

bits como polinomios, tal y como se explica a continuación. Nos referiremos

a los bits de una secuencia s de K bits como sK−1, sK−2, …, s0. Definimos la re-

presentación polinomial s(x) de la secuencia s de la manera siguiente:

El objetivo de las potencias xj es distinguir el peso del bit sj dentro de la secuen-

cia. Supongamos que la secuencia s es la formada por los bits de la trama que

queremos proteger. A los bits s de la trama se añade una secuencia de Q bits,

llamémosla c, para la detección de errores. Estos bits se conocen como el CRC

de la trama. La representación polinomial de la trama, llamémosla t, formada

por los bits s y el CRC será, pues:

t(x) = s(x) · xQ + c(x).

El cálculo del CRC se especifica en función de un polinomio generador g(x), de

manera que el polinomio c(x) se define como el residuo de la división en módulo

2 entre los polinomios s(x) · xQ y g(x), es decir: c(x) = Residuo[(s(x) · xQ) / g(x)]. En

módulo 2, el resto es igual a la suma, que a la vez es la operación XOR binaria.

Ejemplo de cálculo del CRC

Supongamos que la secuencia de bits que hay que proteger es “11001”, con un CRC detres bits, y que el polinomio generador es g(x) = x3 + 1. Tenemos que s(x) = x4 + x3 + 1,s(x) · x3= x7 + x6 + x3, y la división en módulo 2 de (s(x) · xQ) / g(x) es:

Se obtiene, pues, c(x) = x, y, por lo tanto, el CRC que habría que añadir sería “010”.

* CRC es la sigla de la expresión inglesa Cyclic Redundancy Check.

Ejemplo de...

... representación polinomial de una secuenciaLa representación polinomial de la secuencia “1001001” es:

x6 + x3 + 1.s x( ) sk 1– xk 1– sk 2– xk 2– … s1x s0+ + + +=

FUOC • P03/75098/02118 61 Enlace de datos

Anexos

Anexo 1

Códigos detectores de errores polinomiales

Unos códigos detectores de errores muy utilizados son los conocidos como

CRC*. Estos códigos se suelen utilizar en transmisiones orientadas a bit.

Los códigos detectores de errores CRC se basan en el cálculo de un número

binario, conocido como CRC, resultado de una cierta operación con los bits

que se deben proteger. Este número se pone en el campo de control de errores

de la trama. En recepción se repite el cálculo y se interpreta que hay o no error

según si coincide con el CRC o no.

Para explicar el cálculo del CRC es conveniente representar las secuencias de

bits como polinomios, tal y como se explica a continuación. Nos referiremos

a los bits de una secuencia s de K bits como sK−1, sK−2, …, s0. Definimos la re-

presentación polinomial s(x) de la secuencia s de la manera siguiente:

El objetivo de las potencias xj es distinguir el peso del bit sj dentro de la secuen-

cia. Supongamos que la secuencia s es la formada por los bits de la trama que

queremos proteger. A los bits s de la trama se añade una secuencia de Q bits,

llamémosla c, para la detección de errores. Estos bits se conocen como el CRC

de la trama. La representación polinomial de la trama, llamémosla t, formada

por los bits s y el CRC será, pues:

t(x) = s(x) · xQ + c(x).

El cálculo del CRC se especifica en función de un polinomio generador g(x), de

manera que el polinomio c(x) se define como el residuo de la división en módulo

2 entre los polinomios s(x) · xQ y g(x), es decir: c(x) = Residuo[(s(x) · xQ) / g(x)]. En

módulo 2, el resto es igual a la suma, que a la vez es la operación XOR binaria.

Ejemplo de cálculo del CRC

Supongamos que la secuencia de bits que hay que proteger es “11001”, con un CRC detres bits, y que el polinomio generador es g(x) = x3 + 1. Tenemos que s(x) = x4 + x3 + 1,s(x) · x3= x7 + x6 + x3, y la división en módulo 2 de (s(x) · xQ) / g(x) es:

Se obtiene, pues, c(x) = x, y, por lo tanto, el CRC que habría que añadir sería “010”.

* CRC es la sigla de la expresión inglesa Cyclic Redundancy Check.

Ejemplo de...

... representación polinomial de una secuenciaLa representación polinomial de la secuencia “1001001” es:

x6 + x3 + 1.s x( ) sk 1– xk 1– sk 2– xk 2– … s1x s0+ + + +=

FUOC • P03/75098/02118 62 Enlace de datos

Para saber si ha habido errores, con respecto a la recepción se repite la división:

si el residuo coincide con el CRC, se entiende que la trama se ha recibido co-

rrectamente.

El grado del polinomio generador g(x) no es arbitrario, sino que es determinado

por el número de bits que se desea que tenga el CRC. El residuo de la división por

un polinomio de grado p es un polinomio de grado menor o igual a p − 1.

Las propiedades del código CRC dependen del polinomio generador. En gene-

ral, sin embargo, se puede demostrar que si elegimos un polinomio generador

adecuado de grado Q (es decir, con un CRC de Q bits):

a) La distancia de Hamming del código es mayor o igual a 4.

b) La capacidad de detección de ráfagas de error es mayor o igual a Q.

c) La probabilidad de que una combinación arbitraria de bits sea aceptada

como palabra válida vale 2−Q.

Polinomios generadores estandarizados

Hay polinomios generadores muy utilizados que han sido estandarizados. Algunos de és-tos, para CRC de 16 y 32 bits, son los siguientes:

a) CRC-16: g(x) = x16 + x15 + x2 + 1.

b) CRC-CCITT: g(x) = x16 + x12 + x5 + 1.

c) CRC-32: g(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x1 + 1.

Anexo 2

Cálculo de la eficiencia de los protocolos ARQ en presencia de errores

Hemos visto que en ausencia de errores la eficiencia del protocolo Stop & Wait

es determinada por la ecuación 9, mientras que para los protocolos de trans-

misión continua es del 100%. Vamos a ver cómo podemos llegar a expresiones

cerradas para expresar esta eficiencia, si suponemos que se producen errores

de transmisión.

Empezaremos suponiendo que conocemos el número medio de transmisiones

necesarias para la transmisión con éxito de una trama (Nt).

Si queremos que el CRC tenga Q bits, es decir, que su representación po-

linomial tenga un grado menor o igual a Q − 1, tendremos que elegir un

polinomio generador de grado Q. En otras palabras, el grado del gene-

rador debe ser igual al número de bits del CRC.

Podéis ver la ecuación 9 en el subapartado 3.3.4 de este módulo didáctico.

FUOC • P03/75098/02118 62 Enlace de datos

Para saber si ha habido errores, con respecto a la recepción se repite la división:

si el residuo coincide con el CRC, se entiende que la trama se ha recibido co-

rrectamente.

El grado del polinomio generador g(x) no es arbitrario, sino que es determinado

por el número de bits que se desea que tenga el CRC. El residuo de la división por

un polinomio de grado p es un polinomio de grado menor o igual a p − 1.

Las propiedades del código CRC dependen del polinomio generador. En gene-

ral, sin embargo, se puede demostrar que si elegimos un polinomio generador

adecuado de grado Q (es decir, con un CRC de Q bits):

a) La distancia de Hamming del código es mayor o igual a 4.

b) La capacidad de detección de ráfagas de error es mayor o igual a Q.

c) La probabilidad de que una combinación arbitraria de bits sea aceptada

como palabra válida vale 2−Q.

Polinomios generadores estandarizados

Hay polinomios generadores muy utilizados que han sido estandarizados. Algunos de és-tos, para CRC de 16 y 32 bits, son los siguientes:

a) CRC-16: g(x) = x16 + x15 + x2 + 1.

b) CRC-CCITT: g(x) = x16 + x12 + x5 + 1.

c) CRC-32: g(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x1 + 1.

Anexo 2

Cálculo de la eficiencia de los protocolos ARQ en presencia de errores

Hemos visto que en ausencia de errores la eficiencia del protocolo Stop & Wait

es determinada por la ecuación 9, mientras que para los protocolos de trans-

misión continua es del 100%. Vamos a ver cómo podemos llegar a expresiones

cerradas para expresar esta eficiencia, si suponemos que se producen errores

de transmisión.

Empezaremos suponiendo que conocemos el número medio de transmisiones

necesarias para la transmisión con éxito de una trama (Nt).

Si queremos que el CRC tenga Q bits, es decir, que su representación po-

linomial tenga un grado menor o igual a Q − 1, tendremos que elegir un

polinomio generador de grado Q. En otras palabras, el grado del gene-

rador debe ser igual al número de bits del CRC.

Podéis ver la ecuación 9 en el subapartado 3.3.4 de este módulo didáctico.

FUOC • P03/75098/02118 63 Enlace de datos

1) Eficiencia del protocolo Stop & Wait

Consideremos el caso de un protocolo Stop & Wait explícito. El diagrama de

tiempo que utilizaremos para calcular la eficiencia es el siguiente:

La trama IK se transmite Nt veces, Nt − 1 con error y la última con éxito. En la

figura se ve que hemos empleado un tiempo igual a Nt · Tc para poder trans-

mitirla.

Así pues, si aplicamos la ecuación (6), llegamos a esta expresión:

donde a = tp/tt, y hemos supuesto que tt >> ta.

2) Eficiencia en una retransmisión selectiva

Consideremos una retransmisión selectiva explícita. El diagrama de tiempo para

calcular la eficiencia es el de la figura, con las mismas suposiciones que antes:

Ecuación 14 ,Ett

Nt Tc⋅---------------- tt

Nt tt ta 2tp+ +( )--------------------------------------- 1

Nt 1 2a+( )----------------------------≈= =

FUOC • P03/75098/02118 63 Enlace de datos

1) Eficiencia del protocolo Stop & Wait

Consideremos el caso de un protocolo Stop & Wait explícito. El diagrama de

tiempo que utilizaremos para calcular la eficiencia es el siguiente:

La trama IK se transmite Nt veces, Nt − 1 con error y la última con éxito. En la

figura se ve que hemos empleado un tiempo igual a Nt · Tc para poder trans-

mitirla.

Así pues, si aplicamos la ecuación (6), llegamos a esta expresión:

donde a = tp/tt, y hemos supuesto que tt >> ta.

2) Eficiencia en una retransmisión selectiva

Consideremos una retransmisión selectiva explícita. El diagrama de tiempo para

calcular la eficiencia es el de la figura, con las mismas suposiciones que antes:

Ecuación 14 ,Ett

Nt Tc⋅---------------- tt

Nt tt ta 2tp+ +( )--------------------------------------- 1

Nt 1 2a+( )----------------------------≈= =

FUOC • P03/75098/02118 64 Enlace de datos

Aquí, el tiempo invertido en la transmisión es de Nt · tt, dado que el primario

transmite otras tramas mientras espera las confirmaciones. Por lo tanto:

3) Eficiencia en un protocolo Go back N

Ahora consideraremos el diagrama de tiempo de la figura siguiente:

Tal y como se ve en la figura, suponemos que cuando llega una confirma-

ción negativa se aborta la transmisión de la trama en curso y se vuelve a

empezar a partir de la trama errónea. Cada vez que hay un error se pierden

las tramas transmitidas, salvo en el caso de la última transmisión (que se

hace con éxito). De este modo, el tiempo invertido en la transmisión es de

(Nt · Tc − 1) + tt, donde Tc = tt + tp + ta + tp y, por lo tanto, la eficiencia se

calcula de esta manera:

donde se ha hecho la suposición habitual de considerar la hipótesis tt >> ta. Si

la probabilidad de error en una trama es pequeña, entonces Nt 1, y la ecua-

ción (16) se aproxima a E ≈ 1/Nt, igual que en el caso de la retransmisión se-

lectiva (ecuación 15). Este hecho explica que en la práctica, donde la

retransmisión de las tramas suele ser poco frecuente, el protocolo Go back N

(GBN) es el mecanismo más utilizado.

La figura siguiente muestra un gráfico comparativo de la eficiencia obte-

nida con los protocolos Stop & Wait (SW), Go back N (GBN) y con la retrans-

Ecuación 15

Ecuación 16 ,

Ett

Nt tt⋅-------------- 1

Nt------= =

Ett

Nt 1–( ) Tc tt+⋅----------------------------------------

tt

N 1–( ) tt ta 2tp+ +( ) tt+-------------------------------------------------------------- 1

2a N 1–( ) Nt+--------------------------------------≈= =

≈>

FUOC • P03/75098/02118 64 Enlace de datos

Aquí, el tiempo invertido en la transmisión es de Nt · tt, dado que el primario

transmite otras tramas mientras espera las confirmaciones. Por lo tanto:

3) Eficiencia en un protocolo Go back N

Ahora consideraremos el diagrama de tiempo de la figura siguiente:

Tal y como se ve en la figura, suponemos que cuando llega una confirma-

ción negativa se aborta la transmisión de la trama en curso y se vuelve a

empezar a partir de la trama errónea. Cada vez que hay un error se pierden

las tramas transmitidas, salvo en el caso de la última transmisión (que se

hace con éxito). De este modo, el tiempo invertido en la transmisión es de

(Nt · Tc − 1) + tt, donde Tc = tt + tp + ta + tp y, por lo tanto, la eficiencia se

calcula de esta manera:

donde se ha hecho la suposición habitual de considerar la hipótesis tt >> ta. Si

la probabilidad de error en una trama es pequeña, entonces Nt 1, y la ecua-

ción (16) se aproxima a E ≈ 1/Nt, igual que en el caso de la retransmisión se-

lectiva (ecuación 15). Este hecho explica que en la práctica, donde la

retransmisión de las tramas suele ser poco frecuente, el protocolo Go back N

(GBN) es el mecanismo más utilizado.

La figura siguiente muestra un gráfico comparativo de la eficiencia obte-

nida con los protocolos Stop & Wait (SW), Go back N (GBN) y con la retrans-

Ecuación 15

Ecuación 16 ,

Ett

Nt tt⋅-------------- 1

Nt------= =

Ett

Nt 1–( ) Tc tt+⋅----------------------------------------

tt

N 1–( ) tt ta 2tp+ +( ) tt+-------------------------------------------------------------- 1

2a N 1–( ) Nt+--------------------------------------≈= =

≈>

FUOC • P03/75098/02118 65 Enlace de datos

misión selectiva (RS, ecuaciones 14, 16 y 15, respectivamente). Las curvas

se han dibujado para dos valores del parámetro a = tp/tt (a = 0,1 y a = 1,0):

De la figura anterior podemos deducir las características más importantes de

los tres protocolos de niveles de enlace explicados hasta ahora:

• La eficiencia con retransmisión selectiva es independiente de a.

• La eficiencia con retransmisión selectiva y Go back N es del 100% si la pro-

babilidad de error en una trama es 0 (Nt = 1). En cambio, en el protocolo

Stop & Wait decrece rápidamente al aumentar a.

• Si la probabilidad de error en una trama es pequeña (Nt 1), la retransmi-

sión selectiva y el Go back N tienen una eficiencia parecida.

• Si la probabilidad de error es alta (Nt >> 1), la eficiencia obtenida con los

tres protocolos es parecida.

Cálculo del número medio de retransmisiones en función de la probabilidad

de error en el bit

En las ecuaciones 14, 15 y 16 hemos dado el valor de la eficiencia en función

del número medio de retransmisiones de una trama (Nt). En la práctica, es ha-

bitual disponer de la probabilidad de error en un bit (pb). Ahora deduciremos

≈>

FUOC • P03/75098/02118 65 Enlace de datos

misión selectiva (RS, ecuaciones 14, 16 y 15, respectivamente). Las curvas

se han dibujado para dos valores del parámetro a = tp/tt (a = 0,1 y a = 1,0):

De la figura anterior podemos deducir las características más importantes de

los tres protocolos de niveles de enlace explicados hasta ahora:

• La eficiencia con retransmisión selectiva es independiente de a.

• La eficiencia con retransmisión selectiva y Go back N es del 100% si la pro-

babilidad de error en una trama es 0 (Nt = 1). En cambio, en el protocolo

Stop & Wait decrece rápidamente al aumentar a.

• Si la probabilidad de error en una trama es pequeña (Nt 1), la retransmi-

sión selectiva y el Go back N tienen una eficiencia parecida.

• Si la probabilidad de error es alta (Nt >> 1), la eficiencia obtenida con los

tres protocolos es parecida.

Cálculo del número medio de retransmisiones en función de la probabilidad

de error en el bit

En las ecuaciones 14, 15 y 16 hemos dado el valor de la eficiencia en función

del número medio de retransmisiones de una trama (Nt). En la práctica, es ha-

bitual disponer de la probabilidad de error en un bit (pb). Ahora deduciremos

≈>

FUOC • P03/75098/02118 66 Enlace de datos

cuál es la relación que hay entre pb y Nt. Primero calcularemos la probabilidad

de error en la trama (pt) en función de pb. El número de bits de la trama lo de-

nominaremos L. Si suponemos que la probabilidad de error en los bits de la tra-

ma es independiente, la probabilidad de error en la trama es la que vemos a

continuación:

pt = 1 − P{no error en la trama} = 1 − P{no error en un bit}L,

de donde:

Dado que, si n · x << 1, podemos hacer el desarrollo (1 − x)n ≈ 1 − n · x, y la

ecuación 17 se puede aproximar por:

pt ≈ L · pb , si L · pb << 1.

Supongamos a continuación que la probabilidad de error en las tramas es in-

dependiente para cada trama. Entonces, si el número de retransmisiones de

una trama es K, quiere decir que ha habido K − 1 tramas con error y una trama

sin error. De este hecho se deduce que la probabilidad de que haya K retrans-

misiones es ésta:

P{K retransmissions} = ptK−1 (1 − pt).

El número medio de retransmisiones es dado por la expresión siguiente:

;

de aquí:

,

donde se ha utilizado la relación: . Finalmente, se llega a:

Si sustituimos la ecuación 17 en la ecuación 18, nos queda el número medio

de retransmisiones de cada trama en función de la probabilidad de error en el

Ecuación 17 pt = 1 − (1 − pb)L

Ecuación 18 Nt = 1 / (1 − pt)

Nt K P K retransmisiones{ }⋅K 1≥∑=

Nt K ptK 1– 1 pt–( )⋅

K 1≥∑ 1 pt–( ) 1 pt–( )⁄ 2= =

nn 1≥∑ xn 1–⋅ 1 1 x–( )2⁄=

FUOC • P03/75098/02118 66 Enlace de datos

cuál es la relación que hay entre pb y Nt. Primero calcularemos la probabilidad

de error en la trama (pt) en función de pb. El número de bits de la trama lo de-

nominaremos L. Si suponemos que la probabilidad de error en los bits de la tra-

ma es independiente, la probabilidad de error en la trama es la que vemos a

continuación:

pt = 1 − P{no error en la trama} = 1 − P{no error en un bit}L,

de donde:

Dado que, si n · x << 1, podemos hacer el desarrollo (1 − x)n ≈ 1 − n · x, y la

ecuación 17 se puede aproximar por:

pt ≈ L · pb , si L · pb << 1.

Supongamos a continuación que la probabilidad de error en las tramas es in-

dependiente para cada trama. Entonces, si el número de retransmisiones de

una trama es K, quiere decir que ha habido K − 1 tramas con error y una trama

sin error. De este hecho se deduce que la probabilidad de que haya K retrans-

misiones es ésta:

P{K retransmissions} = ptK−1 (1 − pt).

El número medio de retransmisiones es dado por la expresión siguiente:

;

de aquí:

,

donde se ha utilizado la relación: . Finalmente, se llega a:

Si sustituimos la ecuación 17 en la ecuación 18, nos queda el número medio

de retransmisiones de cada trama en función de la probabilidad de error en el

Ecuación 17 pt = 1 − (1 − pb)L

Ecuación 18 Nt = 1 / (1 − pt)

Nt K P K retransmisiones{ }⋅K 1≥∑=

Nt K ptK 1– 1 pt–( )⋅

K 1≥∑ 1 pt–( ) 1 pt–( )⁄ 2= =

nn 1≥∑ xn 1–⋅ 1 1 x–( )2⁄=

FUOC • P03/75098/02118 67 Enlace de datos

bit. La figura siguiente muestra un gráfico de la ecuación resultante para un

tamaño de la trama L = 1 kbit, 10 kbits, 100 kbits y 1 Mbit:

Del gráfico deducimos la relación orientativa siguiente: para tener un número

medio de retransmisiones Nt ≈ 1 utilizando tramas de tamaño 10x, la probabi-

lidad de error en el bit tiene que ser pb < 10−(x+1).

Cuanto mayor sea el tamaño de la trama, mayor será el número medio de

retransmisiones necesario para transmitirla y, por lo tanto, menor será la

eficiencia del algoritmo de recuperación de errores. La probabilidad de

error en el bit limita el tamaño máximo de trama que podemos utilizar

para que el número medio de retransmisiones sea aproximadamente 1.

FUOC • P03/75098/02118 67 Enlace de datos

bit. La figura siguiente muestra un gráfico de la ecuación resultante para un

tamaño de la trama L = 1 kbit, 10 kbits, 100 kbits y 1 Mbit:

Del gráfico deducimos la relación orientativa siguiente: para tener un número

medio de retransmisiones Nt ≈ 1 utilizando tramas de tamaño 10x, la probabi-

lidad de error en el bit tiene que ser pb < 10−(x+1).

Cuanto mayor sea el tamaño de la trama, mayor será el número medio de

retransmisiones necesario para transmitirla y, por lo tanto, menor será la

eficiencia del algoritmo de recuperación de errores. La probabilidad de

error en el bit limita el tamaño máximo de trama que podemos utilizar

para que el número medio de retransmisiones sea aproximadamente 1.

FUOC • P03/75098/02118 Enlace de datos FUOC • P03/75098/02118 Enlace de datos