PROTOCOLOS DE COMUNICACIÓN DE DATOS 3.1 Concepto de Protocolo Los protocolos de comunicaciones son las reglas y procedimiento utilizados en una red para establecer la comunicación entre los nodos que disponen de acceso a la red. Los protocolos gestionan dos niveles de comunicación distintos. Las reglas de alto nivel definen como se comunican las aplicaciones, mientras que las de bajo nivel definen como se transmiten las señales por el cable. • Funciones Principales de los Protocolos • Definición de la asignación de pines en el interfaces físico • Definición de la disciplina de línea a ser usada (Full dúplex − Half dúplex). • Definición del medio y el 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. 3.3 Protocolos más Usados 3.3.1 Control de Enlace de Datos Digital (SDLC) SDLC es un protocolo IBM orientado a bit, usado en la arquitectura de Red SNA, el cual permite modos de operación Full Dúplex y Half Dúplex bajo cualquier código de información. Permite de transmisión de un máximo de siete tramas o bloques de datos antes de requerir un reconocimiento de los mismos. Consecuentemente la transmisión de datos en SDLC es mucho mas rápido que en el protocolo bisincrono. Trama SDLC La trama es la unidad básica de transmisión en un enlace SDLC. En la misma están incluido todos lo datos de información y de control. Contiene diferentes campos, siendo el primer y ultimo byte los campos bandera (flag) que indican el inicio y final de la transmisión de una trama. Este campo consiste de ocho bits con la combinación 01111110. Para evitar que esta combinación binaria sea repetida en algún punto de la trama se usa una técnica de inserción de ceros. De manera que antes de realizar una transmisión el equipo terminal de datos revisa primero la información contenida entre los bytes bandera. Sin cinco bits 1 son encontrados en forma consecutiva el equipo inserta un bit 0 después del quinto bit 1. Cuando el receptor recibe la trama también la revisa, y si detecta el patrón de cinco bits 1 consecutivos seguido de un bit cero, extrae el cero restaurando de esta manera la información a su estado original. Estaciones SDLC 1 Las estaciones SDLC son los equipos terminales o computadoras localizados en los extremos de un enlace de comunicación. En SDLC solo una estación de la línea de comunicación puede ser la primera; todas las demás son estaciones secundarias. Puesto que la estación primaria controla el enlace, todas las transmisiones desde la secundaria son iniciales en respuesta a comandos desde la primaria. Campo de Dirección SDLC Este campo sigue inmediatamente después del campo de bandera inicial y el mismo especifica o señala la estación hacia donde se destina una trama transmitida o desde donde procede una trama recibida. Este campo consiste en ocho bits y normalmente pueden haber un máximo de 254 estaciones SDLC sobre un enlace, aunque en la practica real es muy difícil tener tantos dispositivos sobre una misma línea de comunicación. Campo de control SDLC Define la función de la trama transmitida en un momento dado. Este campo puede tener uno de los tres formatos siguientes: formato sin numeración, formato de supervisión, y formato de transferencia de información. Las tramas de formato no numerado son usadas para funciones como las siguientes: • Inicializar estaciones secundarias • Controlar el modo de respuesta de las estaciones secundarias • Reportar ciertos errores de procedimiento • Transferencia de datos Las tramas del formato de supervisión no llevan información en si mismas. Estas tramas se usan para confirmar tramas recibida, indicar condiciones de ocupado o desocupado (listo para recibir), y reportar errores de numeración de trama. Las tramas con campo de control en formato de transferencia de información son usadas para la transferencia de la información. El campo de control además de indicar el formato, contiene las cuentas de envío y recepción (Ns, Nr), las cuales son usadas para asegurar que las tramas son recibidas en el orden o secuencia apropiada (Ns) y para confirmar las tramas de información recibidas (Nr). Campo de Información Siguiendo al campo de control, podría o no haber un campo de información conteniendo los datos de usuario a ser transferido sobre el enlace. El formato de supervisión no contiene un campo de información. El campo de información no tiene una longitud especifica, por lo que puede ser un múltiplo de 8 bits. En cada octeto o grupo de 8 bits, el bit de menor orden o peso es enviado primero y el de menor orden o peso es enviado y el de mayor peso de ultimo. Campo de verificación de Secuencia de Trama (FCS) Este campo sigue el campo de información o campo de control, cuando no hay transferencia de información. El propósito de este campo es verificar los errores que pudieran haber sido introducido por el canal de comunicación. Este campo contiene una secuencia de verificación de 16 bits, la cual es el resultado de un calculo o computación del contenido de los campos de dirección, control, e información en el equipo de transmisor. El método de computación usado es el Cyclic Redundancy Check (CRC). El receptor realiza una computación similar y verifica su resultado con el recibido. Si algún error es 2 encontrado en la trama recibida, la misma es rechazada. Siguiendo al campo FCS sigue el campo bandera terminal, el cual termina la trama. Bit Poll/Final Cada formato del campo de control contiene un bit poll/final (P/F). El bit de poll (p) es enviado a una estación secundaria para requerirle que inicie una transmisión . El bit final (f) es enviado por la estación secundaria a la primaria, en la ultima trama de una transmisión. Tramas de Supervisión Los comandos y respuestas de supervisión son usados para realizar funciones básicas de supervisión del enlace de control como reconocimiento de trama de información, sondeo, interrupción temporal de la transferencia de información en situaciones de sobrecarga, y requerimiento de retransmisión de recuperación de error. Las tramas con el formato de campo de control de supervisión no contienen campo de información. Por lo tanto, el campo de control no tiene una secuencia de envío (Ns) y una estación no incrementara su secuencia de recepción después de aceptar una trama de supervisión. Receive Ready La función principal de este comando/respuesta es indicar que la estación esta lista para recibir una trama de información (Y) y reconocer las tramas de información recibida por la estación con el numero de secuencia de recepción (Nr). Receive Not Ready Este tipo de trama es usada por una estación para indicar una condición de ocupado o no habilidad para aceptar tramas adicionales de información. También las tramas de información pueden ser reconocidas usando el numero de secuencia de recepción (Nr) en el campo de control RNR. Modos de Operación del SDLC SDLC permite deferentes modos de operación con el propósito de tener control lógico de las estaciones sobre el enlace de dato. Las estaciones primarias podemos decir que están en un modo de comando permanente y siempre tiene el control del enlace de dato. Las estaciones SDLC secundarias están en uno de dos modos: Modo de Respuesta Normal (NRM) o Modo Desconectado Normal (NDM). Cuando una estación secundaria es inicialmente encendida, asume el modo desconectado. Si la estación primaria pone la secuencia en el modo NRM, la estación secundaria estará en condición de intercambiar tramas al momento de ser direccionada o sondeada por la estación primaria. Para que esto ocurra la estación primaria envía primero el comando Set Normal Response Mode (SNRM) con el bit de poll activado, indicando a la secundaria que asuma este modo de operación. La secundaria debe responder con una trama de control de formato no numerado (Unnumbered acknowledgement) reconociendo el comando, y con el bit final activado, indicando que puede proceder a la comunicación. Si la estación primaria envía un comando de Desconexión (Disconnect) a la estación secundaria, entonces esta ultima debe desconectarse lógicamente de la línea, pero antes de desconectar envía una trama de control de formato no numerado (unnumbered acknowlwdgement) reconociendo el comando, y con el bit final activado. En caso de que se trate de una línea conmutada, adicionalmente la estación secundaria abortara el enlace 3 físico. 3.3.2 Control de Enlace de Datos Digital de Alto Nivel (HDLC) HDLC (High −level Data Link Control) consiste en un protocolo orientado a bit del nivel de enlace para la transmisión de datos sobre redes sincronas, definido por la Organización Internacional de \normalización (ISO, International Organization for Standardization). HDLC es un super conjunto del protocolo SDLC (Synchronous Data Link Control) de IBM. Este ultimo representa una evolución con éxito del protocolo BISYNC, y se introdujo primeramente en los productos SNA de IBM. Otra denominación asignada por el Instituto americano de normalización (ANSI, American National Standard Institute) al protocolo es la de procedimiento avanzado de control de comunicaciones de datos (ADCCP, Advanced Data Communications Control Procedure) aunque HDLC es el nombre mas aceptado de este protocolo. Existen algunas incompatibilidades entre SDLC y HDLC que dependen del fabricante. HDLC es un protocolo orientado a bit, lo que significa que se realiza una supervisión de los datos bit a bit. La transmisión descansa sobre datos binarios sin ningún tipo de códigos especiales de control. Sin embargo, la información de la trama contiene ordenes de control y de respuesta. HDLC da soporte a transmisión full − duplex donde los datos se transmiten simultáneamente en dos direcciones, lo que redunda en la obtención de un mayor rendimiento. HDLC es deseable para conexiones punto a punto o multipunto. Los sub conjuntos de HDLC se utilizan para proporcionar señalización y enlaces de control de datos para redes X.25, ISDN (Integrated Services Digital Network) y Frame Relay. Cuando se establece una sesión HDLC, una estación denominada estación primaria queda designada para gestionar el flujo de datos. La otra estación ( o estaciones) quedan designadas como estaciones secundarias. La estación primaria utiliza ordenes y las secundarias respuestas. Existen tres posibles métodos de conexión. • El modo normal es no equilibrado, debido a que la estación secundaria puede transmitir únicamente cuando se lo permita la estación primaria. • El modo asincrono también es no equilibrado, pero la estación secundaria puede iniciar una transmisión por si misma. • El modo asíncrono no equilibrado esta diseñado para conexiones punto a punto entre dos computadoras sobre una línea dúplex. Cada estación puede enviar ordenes y respuestas sobre su propia línea y recibir ordenes y respuestas sobre la línea dúplex. Este modo utilizado para conectar estaciones a redes de conmutación de paquetes X.25. High Level Data Link Control es el protocolo de OSI utilizado para el envío de mensajes a través del canal D. Este protocolo define los procedimientos de control del flujo de mensajes a través del canal D de una forma ordenada y eficiente libre de envíos. El mecanismo usado para estos procedimientos es llamado Frame, este esta compuesto de los siguientes campos: • Flag (comienzo y fin) • Dirección • Control • Información • Secuencia de chequeo del frame 4 Flag de comienzo y fin El primer y último campo de frame es llamado campo de flag. Esto dos campos son usados para indicar el comienzo y el final de un frame. Dirección El campo dirección es el siguiente al beginning flag y contiene dos partes, cada cual ocupa 8 bits. El identificador del punto de servicio de acceso (SAPI) y el identificador del punto final de la terminal (TEI). Control El campo de control define la filmación del HDLC frame siguiente al campo de dirección. El HDLC puede tener uno de los tres formatos que siguen: • Formato innumerado: Usado principalmente para controlar la corrección de la data, es también usado para transferir el control de la información. • Formato de supervisoría: Usado principalmente para el flujo de la data. Este formato jamas tiene un campo de información. • Formato de Información: Usado para conducir la data. Información El campo de información es usado para llevar otro control o mensaje de información. Este le sigue al campo de control. El campo de información esta siempre en el formato de información del frame y contiene otra señalización o información de paquete. Si el campo de información es un frame de formato innumerado estará normalmente en el control de información. Chequeo de la Secuencia del Frame Este campo contiene los resultados de un mecanismo en el transmisor que computa una secuencia especifica de 16bits desde la data en la dirección , control y campo de información y es usado como la secuencia. El receptor hace igual computación a la data recibida en la dirección, el control y el campo de información y los resultados son comparados con la secuencia del bit en el campo de chequeo de la secuencia. Si el entonces no hay bit de error en el frame recibido. 3.3.3 Protocolo de Empaquetamiento de Datos X.25 El protocolo de transmisión de paquete X.25 es una norma para el transporte de datos que se acepta por las partes del mundo. Es compatible con tales normas como OSI e ISDN y es el protocolo preferido para la red publica europea. X.25 habilita a los usuarios para conectar LANs y computadoras huésped a usuarios remotos. Como uno de los métodos universalmente reconocidos de las comunicaciones de datos disponible para gestión de redes de área ancha, X.25 ofrece un método único de empaquetamiento de datos y asignación de ruta anterior en paquetes hacia una red X.25 A pesar de su popularidad, X.25 le dará eventualmente paso a tecnologías mas nuevas tales como frame relay, ATM y SMDS. 5 Arquitectura X.25 El X.25 normal define tres protocolos que se usan para unir DTEs con DCEs: • Capa Física. Nivel 1 • Unión de Datos Capa de Control. Nivel 2 • Capa de Red de Switch de Paquetes. Nivel 3 Capa física nivel 1. El nivel 1 define lo físico, eléctrico, funcional y características de procedimiento requeridos para establecer una unión de comunicaciones entre dos DTEs o entre un DTE y DCE. X.25 especifica el uso de varias normas para la conexión física de equipo a una red X.25. Estas normas incluyen X.21, X.21bis y V.24. La capa física opera como circuito sincrono full − dúplex y punto a punto. Unión de datos capa de control nivel 2. Corresponde a la capa del segundo plan OSI. El Acceso Del Eslabón Procedimiento Balanceado (LAPB) se usa para proveer datos eficaces y transferencias, sincroniza la unión de los datos entre el transmisor y receptor (control de flujo), ejecuta verificación de error y recuperación de error. Capa de red de switch de paquetes nivel 3. La capa de paquete (o Red) es el protocolo de alto nivel estipulado en X.25. Esta capa provee acceso a servicios disponibles en una red publica de switch de paquetes. Cuando los usuarios se suscriben a un servicio X.25, la Red de Datos Públicos (RDP) provee parámetros de configuración. Estos parámetros incluyen: • Tamaño del Gateway • Tamaño del Marco • Tamaño de la Ventana • Numero Lógico de Canal. Tipos de conexiones X.25 especifica tres métodos para la estructuración de la información del control de una marco y los datos del usuario, en unidades de red de los datos protocolares o paquetes. Los paquetes son multiplexados hacia un canal lógico para su transmisión hacia una red y a sus destinos. Los tres métodos son los siguientes: • Switch de Circuitos Virtuales • Circuitos Permanentes Virtuales • Datagramas. Un datagrama es un simple servicio de rescate, que opera basado en el mejor esfuerzo, depende la disponibilidad del ancho de banda. Cada mensaje o paquete contiene bastante información. Dos mensajes enviados en el mismo día llegarían a su destino en el mismo días, días diferentes o nada. Perspectiva para gestión de redes X.25 Aunque la tecnología de switch de paquetes X.25 encaja bien como un método de transporte de datos de área ancha, muchos analistas de la industria y vendedores creen que el uso de la tecnología se trata de una cima. Dentro de los próximos años muchos usuarios de redes emigraran a un servicio de transporte de datos de alta velocidad (ej. Frame Relay, SMDS, y ATM) cuando lleguen a ser mas extensamente disponibles. Frame Relay, que es esencialmente una versión aerodinámica de X.25, es el camino lógico de la migración para redes basadas en el protocolo X.25, y que corren sobre medios de comunicaciones digitales en lugar de análogos. A pesar del servicio de alta velocidad, la demanda para productos y servicios X.25 esta todavía en crecimiento. X.25 ofrece varias ventajas especificas sobre la base de redes de hoy día, que se pueden resumir como sigue: 6 • X.25 ofrece comunicaciones libres de errores y garantía de rescate, fabricando la mejor opción para las compañías que deben establecer redes internacionales en países que todavía tienen estructuras de base de comunicaciones analógicas. • X.25 provee 100% de conectividad con los mainframes analógicos, minicomputadoras y LANs. En general la metodología para mover los datos de una lugar a otro deber ser fluido y flexible para mantener el paso con las necesidades de redes dinámicas. Las aplicaciones nacientes, tal como imagen y multimedia (que mezcla texto, gráficos, imágenes y vídeo de fuentes múltiples en una simple estación de trabajo), requieren tremendas cantidades ancho de banda. Estas aplicaciones necesitadas de mucho ancho de banda hacen la transmisión encima de X.25 imprácticas. Como resultado, las tecnologías mas nuevas y mas rápidas, tales como frame relay, ATM y SMDS usurparan eventualmente el lugar de X.25 como el mas usado extensamente como método de transporte de comunicación de datos. A pesar de toda esta competencia, X.25 todavía tiene muchas ventajas, las que mas compite es su aceptación universal. Esta capacidad permanece, especialmente porque el mundo emigra a una económica mas global. 3.3.4 Protocolo TCP/IP TCP/IP puede funcionar conjuntamente con una amplia variedad de protocolos. Los protocolos que se apoyan en TCP son ejemplos de protocolos de nivel de aplicación, que suministran servicios como transferencia de archivos, correo electrónico, servicios de terminales, etc. Las dos terminales inferiores representan los niveles físico y de enlace de datos. Puertos y Socket Todos los procesos de nivel de aplicación que utilicen protocolos TCP/IP se deben identificar mediante un número de puerto. Este numero se utiliza por los dos computadores para identificar que programa de aplicación va a recibir el trafico entrante. El uso de numero de puerto proporciona capacidades de multiplexación, ya que varios programas de usuarios se pueden comunicar de forma concurrente con un programa de aplicación como TCP. Los números de puerto sirven para identificar a cada aplicación. Este concepto es muy semejante al del punto de aplicación de servicio (SAP) en el modelo ISA En TCP/IP, un socket consiste en la concatenación de un numero de puerto y la dirección de red del computador que da soporte al servicio de puertos La Estructura de la Dirección IP Las redes TCP/IP identifican los computadores y las redes a las que están conectados utilizando direcciones de 32 bits. Su forma es DIRECCION IP = DIRECCION DE RED + DIRECCION DE COMPUTADOR. La dirección IP no identifica por si misma un computador, sino mas bien la conexión de un computador con su red. En consecuencia, si una maquina se traslada a otra red, su espacio de direcciones deberá ser modificado. Principales Características de IP IP es muy similar a la especificación ISO 8473 (el Protocolo de Redes no Orientadas a Conexión, o CLNP. Muchas ideas de ISO 8473 proceden de IP. IP oculta la subred que hay debajo a los usuarios finales. Crea para ellos una red virtual. Este aspecto de IP es muy atractivo, ya que permite que diferentes redes se conecten a una pasarela IP. 7 Dado que IP es un protocolo de tipo datagrama, no dispone de mecanismos para proporcionar fiabilidad. No proporciona procedimientos de recuperación de errores en las redes subyacentes ni mecanismo de control de flujo. IP soporta operaciones de fragmentación. La fragmentación es una operación por la que una unidad de datos de protocolo (PDU) se divide y segmenta en unidades mas pequeñas. El protocolo IP utiliza tres campos de datos en la cabecera que sirven para controlar la fragmentación y ensamblado del datagrama. Son el identificador, los indicadores y el desplazamiento de fragmentación. El campo de identificador se utiliza junto con la dirección de fuente del computador receptor para identificar el fragmento. El campo de identificadores contiene bits que indican si el datagrama se puede fragmentar y , si se puede fragmentar uno de los bits se puede pone a 1 para indicar el ultimo fragmento del datagrama original. El campo de desplazamiento de fragmentación contiene un valor que especifica la posición relativa del fragmento en el datagrama original. TCP Es TCP quien se debe encargar de las tareas de la fiabilidad, control de flujo, secuenciamiento, aperturas y cierres. Principales características del TCP TCP es un protocolo orientado a conexión. Esto quiere decir que TCP mantiene información del estado de cada cadena de datos de usuario que circula por él. Como TCP es un protocolo orientado a conexión, es responsable de la transferencia fiable de cada uno de los caracteres (bytes o octetos) que recibe del nivel superior correspondiente. En consecuencia, utiliza números de secuencia y aceptaciones / rechazados. El termino asociado con estos aspectos de los protocolos orientados a conexión es el de circuito virtual. Cada octeto transmitido lleva asignado un numero de secuencia. TCP recibe datos de un protocolo de nivel superior de forma orientadas a cadenas. TCP admite el uso de segmentos de longitud a variable, debido a su diseño orientado a cadenas. TCP comprueba la duplicidad de los datos. Además de utilizar los números de secuencia para las aceptaciones, TCP los utiliza para la reordenación de los segmentos que llegan a su destino fuera de orden. El Segmento TCP El segmento se divide en dos partes, la parte de cabecera y la parte de datos. La parte de datos sigue a la parte de cabecera. Los primeros dos campos del segmento se denominan puerto de fuente y puerto de destino. Esos campos de 16 bits identifican a los programas de aplicación de nivel superior que utilizan la conexión TCP. El siguiente campo se denomina numero de secuencia. Este campo contiene el numero de secuencia del primer octeto del campo de datos. El numero de secuencia se utiliza también durante la operación de gestión de la conexión. El valor del numero de aceptación permite aceptar los datos previamente recibidos. Este campo contiene el valor del número de secuencia del siguiente octeto que se espera recibir del transmisor. 8 El campo de desplazamiento de datos especifica el numero de palabras alineadas de 32 bits de que consta la cabecera de TCP. Ese campo se utiliza para determinar donde comienza el campo de datos. Como puede esperarse, el campo reservado está reservado. Consta de 6 bits que deben valer cero. Estos bits están reservados para usos futuros. Los seis bits siguientes se denominan indicadores (flags). Son bits de control de TCP y se utilizan para especificar ciertos servicios o utilidades que se pueden emplear durante la sesión. Protocolo de Datagramas de Usuario (UDP) UDP es protocolo no orientado a conexión. Se utiliza a veces como sustituto de TCP cuando no hay que utilizar los servicios de este. Por ejemplo, varios protocolos del nivel de aplicación, como el Protocolo de Transferencia de Archivos Trivial (TFTP) y la Llamada de Procedimiento Remoto (RPC) utilizan UDP. UDP sirve como interfaz de aplicación simple para IP. Como incluye mecanismos de fiabilidad, control de flujo ni medidas de recuperación de errores, sirve únicamente como multiplexor / demultiplexor del envío y recepción del trafico de IP. 35 Protocolos de Comunicación de Datos 1 9