Protocolos y servicios

31
PROTOCOLOS Y SERVICIOS DICIEMBRE, 2013

Transcript of Protocolos y servicios

PROTOCOLOS Y SERVICIOS

D I C I E M B R E , 2 0 1 3

INTRODUCCIÓN La comunicación es aquel intercambio de información entre distintas medios. Los elementos que constituyen la comunicación son:

El emisor, encargado de enviar información y crear los mensajes que contienen la información a enviar.

El medio de transmisión el cual es el elemento por donde se envían los mensajes considerado básico en la comunicación.

El receptor que recibe la información.

Dentro de la comunicación existen 2 tipos de comunicación:

Un emisor y un receptor.Un emisor y varios receptores. [5]

DEFIN

ICIÓ

N

PROTOCOLO

Conjunto de acciones, métodos y reglas que siguen un procedimiento planificación y estructurado, con el fin de estandarizar. [1]

En informática y telecomunicaciones se entiende como aquel conjunto de reglas y normas que permite la existencia de transmisión de información entre dos o mas sistemas de comunicación por medio de cualquier magnitud física. [2] 

También es definido como conjunto de normas y procedimientos utilizados por la transmisión de datos que el emisor y transmisor debe conocer para dicha acción. [3]

Un protocolo considera establecer métodos de intercambio de datos, por ejemplo un método puede ser aquel establecido entre dos o mas ordenadores que acuerdan entre si para comunicarse.

Algo muy importante sobre los protocolos utilizados para la comunicación es que los dispositivos como ordenadores entre otros deben soportarse entre si, por lo que un protocolo puede ser implementado en hardware o software. [4]

FUNCIÓ

N DEL

PROTOCOLO

Segmentación y ensamblado

Es necesario dividir los bloques de datos en unidades pequeñas e iguales en tamaño, y este proceso se le llama segmentación. 

Encapsulado

Se trata del proceso de adherir información de control al segmento de datos. Esta información de control es el direccionamiento del emisor/receptor, código de detección de errores y control de protocolo.

Control de conexión 

Hay bloques de datos sólo de control y otros de datos y control. En circuitos virtuales hay bloques de control que son los encargados de establecer la conexión del circuito virtual.

Entrega ordenada

  Hay sistemas que tienen un mecanismo de numeración con módulo algún número; esto hace que el módulo sean lo suficientemente alto como para que sea imposible que haya dos segmentos en la red al mismo tiempo y con el mismo número.

Control de flujo

Hay controles de flujo de parada y espera o de ventana deslizante. El control de flujo es necesario en varios protocolos o capas, ya que el problema de saturación del receptor se puede producir en cualquier capa del protocolo.

Control de errores

Generalmente se utiliza un temporizador para retransmitir una trama una vez que no se ha recibido confirmación después de expirar el tiempo del temporizador. Cada capa de protocolo debe de tener su propio control de errores.

Multiplexación

Es posible multiplexar las conexiones de una capa hacia otra, es decir que de una única conexión de una capa superior, se pueden establecer varias conexiones en una capa inferior (y al revés).}

Servicios de transmisión

Los servicios que puede prestar un protocolo son:Prioridad: hay mensajes (los de control) que deben tener prioridad

respecto a otros.Grado de servicio: hay datos que deben de retardarse y otros

acelerarse (vídeo).Seguridad.

DISEÑ

O DE

UN

PROTOCOLO

5 ELEMENTOS DE UN PROTOCOLO

Un protocolo cuenta con especificaciones la cuales están compuestas por 5 elementos, por lo cada especificación debe contener:

1.El servicio a prestar por el protocolo2.Los supuestos sobre el entorno en el que se ejecuta el protocolo3.El vocabulario de los mensajes utilizados para implementar el

protocolo4.La codificación (formato) de cada mensaje en el vocabulario5.Las reglas de procedimiento que mantienen la coherencia de los

intercambios de mensajes.

Estos elementos se consideran indispensables para la establecer un protocolo.[5]

PRINCIPIOS GENERALES

SIMPLICIDAD

Un protocolo estructurado correctamente se puede crear a partir de piezas bien diseñadas y entendidas, las cuales realizan una función. Para comprender el funcionamiento del protocolo debe ser suficiente entender el funcionamiento de las piezas y la manera en que estas interactúan. Los protocolos que están diseñados de esta manera son mas fáciles de entender y de implementar eficientemente, por lo que permite ser verificables. Un protocolo considerado ligero es sencillo, robusto y eficiente; por lo que soportan directamente el argumento de que la eficiencia y la verificabilidad no son ortogonales, sino preocupaciones complementarias.

MODULARIDAD

Esta basada en una jerarquía de funciones. Un protocolo encargado de función o funciones complejas es considerado ser construido por piezas mas pequeñas que interactúen en forma simple y definida entre si. Por cada pieza pequeña se puede tener un protocolo ligero a desarrollar, verificar, y mantener por separado. Por lo que se consideran las funciones ortogonales que no se mezclan, pero están conscientes de la existencia de los demás. Por ejemplo el control de errores y control de control de flujo pueden ser resueltos por distintos módulos ligeros. Estas funciones no realizan suposiciones acerca de la secuencia de datos, a menos que sea parte de su proceso. La estructura resultante del protocolo es abierta, ampliable y modificable sin afectar el buen funcionamiento de los componentes individuales.

CONSTRUCCIÓN

Un protocolo debe estar completo, de lo contrario puede crear recepciones no especificadas durante su ejecución. Lo cual quiere decir la recepción de mensajes no esperados por el receptor y por lo que no responderá a tales.

Un protocolo bien construido no excede los limites conocidos del sistema, no sobrepasa la capacidad de las colas de mensajes, tiene estabilidad automática. Si un error cambia el estado del protocolo este debe regresar a un estado deseable y reanudar el funcionamiento normal, por lo que debe auto-adaptarse. Por ejemplo, adaptarse a la tasa de envió y a la tasa de recepción que el receptor puede alcanzar; por lo tanto un método de control de la tasa puede ser utilizado para modificar la velocidad de transmisión de datos o el volumen.

ROBUSTEZ

El protocolo debe tener la capacidad de hacer un mínimo de suposiciones sobre el entorno para desenvolverse de manera adecuada en cada acción o secuencia de acciones en cualquier condición. Por ejemplo, muchos protocolos de nivel de enlace que fueron diseñados en la década ’70 ya no funcionan correctamente si se utilizan en líneas de muy alta velocidad de datos. Por lo que un diseño robusto funciona automáticamente con la nueva tecnología sin necesidad de cambios importantes. Así que la robustez consiste en añadir funcionalidad para las nuevas condiciones.

CONSISTENCIA

La consistencia es el ultimo principio general del diseño de un protocolo. En donde se habla de las formas en las que un protocolo puede fallar, en la cual se tienen 3 de las mas importantes: Puntos muertos: Estados en los que no se puede ejecutar el

protocolo.Bucles: Secuencias de ejecución que se pueden repetir

indefinidamente.Finales inadecuados. La finalización de la ejecución de un protocolo

sin que se cumplan las condiciones de finalización adecuadas.

Observar estos criterios no se puede verificar manualmente por lo que herramientas potentes son necesarias para prevenir o detectar estos fallos. [5]

DIEZ REGLAS DE DISEÑO

1.Problema esta bien definido, donde los criterios, requisitos y limitaciones sean enumeradas antes de inicial.

2.Definición del servicio que se realiza en todos los niveles de abstracción antes de decidir que estructuras que deben usarse para realizarlos.

3.Diseñar la funcionalidad externa antes de la funcionalidad interna. Por ejemplo considerar la solución como un caja negra y decidir como va interactuar con el entorno, luego organizarla ya que constara de cajas negras pequeñas que serian arregladas de la misma manera.

4.Sencillo, los protocolos complejos son mas difícil de verificar su funcionamiento, implementar y menos eficientes.

5.No conectar lo que es independiente.

6.No introducir lo que no es material, no restringir lo irrelevante. Un buen diseño resuelve una clase de problemas en lugar de una sola instancia.

7.Antes de implementar construir un prototipo de alto nivel y verificar que se cumplen los criterios de diseño.

8.Implementar el diseño, medir su rendimiento, y si es necesario, optimizarlo.

9.Comprobar que la implementación final optimizada es la prevista en el diseño de alto nivel.

10.No saltarse las reglas del 1 a la 7.[5]

DETECCIÓ

N DE E

RRORES

En nivel enlace en cuanto a los modelos OSI y TCP/IP se define el formato de las tramas, que constan de 3 partes:

Una cabecera: bits se especifica la información accesoria de la trama.

Los datos.Un control de error, con el fin de que el receptor tenga la

posibilidad de recuperar la trama sin necesidad de que se reenvié.

En la detección de errores los datos están formados por P bits significativos. Si se quiere detectar errores en una transmisión es necesario recurrir a la redundancia, es decir, a añadir mas bits a los P significativos, pero disminuyendo su rendimiento.

El envió de P bits se transforma en el envió de P+Q bits, siendo Q el numero de bits redundantes empleados; llamándose así palabra código. La transformación de P en Q es conocido como código detector de errores. Por tanto la cantidad de bits enviados es P+Q y esta palabra código es la que verifica el receptor si es valida o no.

Existen dos técnicas básicas de detección de errores:La FEC (Forward Error Control) que permite la detección del error

y su corrección. La Feedback/Backward Error Control que permite la detección

pero no su corrección (paridad simple, paridad longitudinal LRC y CRC).

PARIDAD SIMPLE

Consiste en añadir 1 bit a cada carácter llamado bit de paridad. Su calculo es a partir de los bits a transmitir y por lo que hay dos métodos básicos:

Paridad par. En este caso el bit de paridad es 0, si el numero de unos es par y 1 si es impar. La suma total de unos es par.

Paridad impar. En este caso el bit de paridad es 0, si el numero de unos es impar y 1 si es par, el total de unos es impar.

Esta codificación se emplea en las transmisiones orientadas a carácter y solo permiten la detección de un único error y sin posibilidad de corrección.

CODIGO HAMMING

La utilización de paridad simple solo permite la detección de un bit erróneo, pero no su corrección; por lo que para su corrección se necesita el empleo de una mayor redundancia.

Se entiende por distancia Hamming a la mínima distancia entre dos palabras código. Así si dh es la distancia Hamming utilizada y n es el numero de bits erróneos,Cantidad máxima de bits erróneos detectables es n = dh -1 yCantidad máxima de bits erróneos corregibles n = ( dh -1) / 2

Ejemplo: Si la distancia Hamming dh es 2, y por tantoel numero máximo de bits erróneos detectables es n = dh - 1 = 1el numero máximo de bits erróneos corregibles es n = (dh - 1) / 2 = 0

Este es el caso del empleo de paridad simple. La distancia Hamming se calcula utilizando la función XOR contando los unos.

PARIDAD LONGITUDINAL

Con este tipo de detección de errores, además del empleo del bit de paridad, se introduce un nuevo carácter de paridades llamado BCC (Block Check Character). Así cada n caracteres incluido su bit de paridad, se envía otro carácter el BCC que es una combinación de los bits que componen los n caracteres.

CRC (Cyclic Redundancy Check)

Esta metodología permite la detección de mas de 1 bit erróneo. La teoría del CRC consiste en que dada una trama de k bits, el transmisor genera además una secuencia de n bits, denominada FCS (Frame Check Sequence), de tal manera que la trama resultante, de n + k bits, sea divisible por algún numero predeterminado. El receptor hará la operación inversa, es decir, dividirá la trama recibida por este numero y si el resto es cero, es indicativo de que no hay errores.[5]

CONTROL D

E FLU

JO

El objetivo del control de flujo es controlar la velocidad de transmisión de las tramas de un enlace, de tal forma que siempre haya recursos. Si la salida de tramas por unidad de tiempo del transmisor es mayor que la que puede procesar el receptor, significa que si no se regula aquella salida, se perderán tramas en recepción, lo que conlleva a nuevas retransmisiones y en consecuencia a una perdida de rendimiento. Esto implica la posibilidad de bloqueo del transmisor en el caso de que las tramas salgan a demasiada velocidad y que se puedan desbordar los buffers de recepción. Es el caso de que las prestaciones del transmisor y del receptor sean diferentes.

Las distintas posibilidades de control de flujo son:

Echo checking. En este caso además de controlar los posibles errores, este método permite controlar el flujo, ya que si los buffers se llenan, se para el envió de ecos y el transmisor se bloquea hasta que vuelva a recibir un eco.

X-OFF/X-ON o también llamado In-Bound-Flow-Control. Este método es un complemento del método anterior y consiste en que muchas veces aunque el receptor deja de enviar ecos, el transmisor sigue enviando caracteres. En este caso la forma de bloquear el transmisor, es enviando al receptor un carácter de control X-OFF, que hace cesar el envió de caracteres. Para reanudar la transmisión, el receptor envía un carácter de control X-ON al transmisor. [5]

Out-of-band-control, se utiliza en las líneas de transmisión analógicas y se le conoce como la norma V.24. Para ello se emplean los comandos RTS (request to send) y CTS (Clear to send).

Mecanismos de ventanas. permite la existencia de un número máximo de tramas de información esperando su confirmación en el transmisor. A este número se le llama ventana de transmisión kT. La información de cada trama en espera de su confirmación está contenida en esta ventana.

REFER

ENCIA

S

1. http://es.wikipedia.org/wiki/Protocolo_(gen%C3%A9rico)

2. http://es.wikipedia.org/wiki/Protocolo_de_comunicaciones

3. http://www.wordreference.com/definicion/protocolo

4. http://www.masadelante.com/faqs/protocolo

5. Redes de Ordenadores PROTOCOLOS por Antonio Salavert