Protocolos y Servicios

16
Universidad Politécnica de Durango Ingeniería en Telemática Protocolos y Servicios de Red Ricardo Alejandro Herrera Nájera

Transcript of Protocolos y Servicios

Universidad Politécnica de Durango

Ingeniería en Telemática

Protocolos y Servicios de Red

Ricardo Alejandro Herrera Nájera

Protocolo

Un protocolo de comunicación define un conjunto concreto de normas y reglas de transmisión que permiten ponerse de acuerdo a los equipos de comunicación en cómo debe realizarse la comunicación a través de un canal determinado. Cualquier producto que utilice un protocolo dado debería poder funcionar con otros productos que utilicen el mismo protocolo.

A lo largo del tiempo ha ido mejorando la tecnología de las comunicaciones, y se han podido ir usando protocolos mas útiles para las nuevas máquinas. Por ello han ido apareciendo nuevos protocolos a los que se han ido adaptando los productos de cada fabricante para asegurarse la compatibilidad con el resto de las marcas.

Función de los protocolos

Algunas de las funciones que desempeñan los protocolos de comunicaciones permiten:

Definir la asignación de pines en las interfaces físicas

Definición de la disciplina de línea a ser usada (Full dúplex - Half dúplex).

Definición del medio y de interfaces para acceso al medio.

Detección y Corrección de errores en la transmisión.

Definición de la señalización y codificación a ser usada.

Proveer una secuencia para los paquetes de datos transmitidos.

Establecer una técnica de enrutamiento dentro de la Red.

Garantía confiable de la transmisión y recepción de los datos.

Establecer una disciplina de dialogo para determinar quien transmite en un momento dado y por cuanto tiempo.

Proveer un método para establecer y terminar una conexión.

Establecer una técnica para compresión o encriptación de los datos.

Elementos de un protocolo

1. Servicio que proporciona el protocolo

2. Suposiciones sobre el entorno donde se ejecuta el protocolo

3. Vocabulario de los mensajes utilizados en el protocolo

4. Formato de los mensajes del vocabulario del protocolo

5. Reglas de procedimiento que controlan la consistencia del intercambio de mensajes

Especificación del Servicio

El propósito del protocolo es transferir ficheros de texto como secuencias de caracteres a través de una línea de datos mientras que en la protección frente a errores de transmisión, se asume que todos los errores pueden ser detectados. El protocolo se define para transferencias full-duplex, es decir, debería permitir transferir en ambas direcciones simultáneamente. Los acuses de recibo positivos y negativos para el tráfico desde A hasta B se envían por el canal desde B hasta A y viceversa.

Suposiciones del entorno

- Dos usuarios como mínimo + un canal de transmisión

- Los usuarios envían una solicitud de transferencia de fichero y esperan a que finalice

- Canal con distorsiones aleatorias, pero no se pierden, duplican, insertan o desordenan mensajes

- Se pueden producir errores aleatorios

Vocabulario del protocolo

- ack = mensaje + acuse de recibo positivo

- nack= mensaje + acuse de recibo negativo

- err = mensaje con distorsión

V={ack, nack, err}

Formato del mensaje

Mensaje={etiqueta de control, dato}

enum control {ack, nack, err};

struct message {

enum control etiqueta;

unsigned char dato;

};

Reglas de procedimiento

1. Si la recepción anterior estuvo libre de errores, el siguiente mensaje por el canal inverso debe llevar un reconocimiento positivo; en caso contrario, llevará un reconocimiento negativo.

2. Si la recepción anterior portaba un reconocimiento negativo, o si fue errónea, se retransmitirá el último mensaje; en caso contrario se transmitirá el mensaje siguiente.

Imagen que muestra las

reglas de procedimiento

en un diagrama.

Diez reglas de diseño

1. Asegurarse de definir bien todos los aspectos del protocolo

2. Definir el servicio a realizar por cada nivel antes de elegir estructuras

3. Diseñar antes funcionalidad externa que la interna

4. Mantener el diseño simple

5. No conectar lo que es independiente

6. Obviar aquello que es innecesario

7. Validar el diseño antes de implementarlo

8. Implementar diseño, medir su rendimiento y optimizarlo

9. Comprobar que la versión final cumple los criterios de diseño

10. Nunca saltarse las 7 primeras reglas

Errores

Causas principales de error:

Limitaciones en el ancho de banda del canal (distorsión lineal)

Eco, ruido blanco, impulsos electromagnéticos... (no lineal)

*El efecto de esos ruidos se puede disminuir hasta cierto punto con hardware y el resto por software (no se eliminan)

Tipos de código

Códigos de bloque: palabras de código de misma longitud y codificación estática

Códigos de convolución: palabras de código dependen del mensaje actual y de anteriores, el codificador cambia su estado con cada mensaje procesado, longitud de palabras suele ser constante

Se pueden clasificar en: Códigos lineales: combinación lineal de palabras válidas

Códigos cíclicos: rotación cíclica de código válido

Códigos sistemáticos: mensaje original + bits de comprobación

*A mejor calidad de código menor razón de código

Corrección de errores

Los códigos se eligen de forma que haya varios bits de diferencia entre dos palabras válidas

Razón de código de sistema corrector < razón de código de sistema detector

Se usa sistema corrector si hay: Un retraso de transmisión alto

Ausencia de canal de retorno

Una tasa de errores alta

Control de flujo

Algunas de las principales tareas del control de flujo son:

Asegurar que no se transmiten los datos más rápido de lo que se puede procesar.

Optimizar el uso del canal.

Evitar saturar el canal.

Proteger la transmisión contra borrado, inserción, duplicación y reordenamiento de mensajes.