Capa de Red

Anuncio
Comunicación de Datos − Redes de Computadores
Índice
Índice ..................................................................................................................................................................... i
Introducción......................................................................................................................................................... 1
Historia de las Redes de Computadores............................................................................................................................ 1
Evolución histórica de las telecomunicaciones .................................................................................................................. 1
Desde otro punto de vista .................................................................................................................................................. 2
Red con un servidor:..................................................................................................................................... 2
Peer to peer : ................................................................................................................................................ 2
Clasificación de las Redes de Computadores.................................................................................................................... 2
Redes Locales (LAN, Local Área Network) (hasta 1km):............................................................................. 2
Redes Metropolitanas (MAN, Metropolitan Área Network) (hasta 100km): ................................................. 2
Redes Mundiales (WAN, Wide Area Network) (hasta 10.000km):............................................................... 2
Introducción a Las Redes Locales .................................................................................................................... 3
Objetivos de Las Redes ..................................................................................................................................................... 3
Compartir Recursos:..................................................................................................................................... 3
Aumentar Confiabilidad: ............................................................................................................................... 3
Facilidad de Comunicación: ......................................................................................................................... 3
Disminuir Costos:.......................................................................................................................................... 3
Compartir Ficheros............................................................................................................................................................. 3
Tipos de Redes .................................................................................................................................................................. 3
Redes de Computadores:............................................................................................................................. 3
Sistemas Distribuidos: .................................................................................................................................. 4
Impresión En Red .............................................................................................................................................................. 4
Aplicaciones De Red.......................................................................................................................................................... 4
Aplicaciones Cliente / Servidor........................................................................................................................................... 4
Acceso A Internet............................................................................................................................................................... 4
Estructura de Red .............................................................................................................................................................. 5
Red Física..................................................................................................................................................... 5
Hosts o Sistemas Finales ............................................................................................................................. 5
Subred .......................................................................................................................................................... 6
Sintéticamente .............................................................................................................................................. 6
Cómo Funciona Una Red ............................................................................................................................. 7
Topología De Una Red ........................................................................................................................................ 8
Topología Física................................................................................................................................................................. 8
Topología Lógica................................................................................................................................................................ 8
Topología En Bus............................................................................................................................................................... 8
Topología En Anillo ............................................................................................................................................................ 9
TOPOLOGÍA EN ESTRELLA............................................................................................................................................. 9
Topología En Estrella Pasiva ....................................................................................................................... 9
Topología de estrella activa.......................................................................................................................... 9
Topologías Lógicas ............................................................................................................................................................ 9
Topología Anillo-Estrella............................................................................................................................... 9
Topología Bus-Estrella ............................................................................................................................... 10
Arquitectura de Red .......................................................................................................................................... 11
Capas.......................................................................................................................................................... 11
Servicio ....................................................................................................................................................... 11
Protocolo..................................................................................................................................................... 11
Problemas de Diseño ................................................................................................................................. 11
i
Comunicación de Datos − Redes de Computadores
Ingeniería de Protocolos de Red ................................................................................................................ 12
Especificación Formal de Protocolos ..................................................................................................... 12
Validación y Verificación ........................................................................................................................ 13
Análisis de Prestaciones ........................................................................................................................ 13
Implementación ...................................................................................................................................... 13
Prueba .................................................................................................................................................... 13
Modelo OSI de ISO .......................................................................................................................................................... 13
Las Capas de OSI ...................................................................................................................................... 13
Transmisión de Datos en OSI .................................................................................................................... 15
Capa Física......................................................................................................................................................... 16
Bases Teóricas para la Comunicación de Datos.............................................................................................................. 16
Conceptos Básicos ..................................................................................................................................... 17
Medio Físico: .......................................................................................................................................... 17
Estados del Medio:................................................................................................................................. 17
Señal: ..................................................................................................................................................... 17
Intervalo de Señalización: ...................................................................................................................... 17
Medios de Transmisión............................................................................................................................... 17
Medios Magnéticos ................................................................................................................................ 17
Cable Par Trenzado ............................................................................................................................... 17
Cable Coaxiales ..................................................................................................................................... 18
Fibras Opticas ........................................................................................................................................ 19
Trayectorias Opticas a través de la Atmósfera ...................................................................................... 19
Uso de Satélites ..................................................................................................................................... 20
Comparación de Medios ........................................................................................................................ 20
Señales Ondulatorias......................................................................................................................... 21
Análisis de Fourier ............................................................................................................................. 21
Espectro y Filtros ............................................................................................................................... 22
Distorsión, Interferencia, Atenuación y Ruido.................................................................................... 22
Velocidad de Transmisión.................................................................................................................. 23
Velocidad en Canal sin Ruido (Nyquist): ........................................................................................... 23
Velocidad en Canal con Ruido (Shanon):.......................................................................................... 23
Transmisión Analógica ............................................................................................................................... 24
Sistema Telefónico................................................................................................................................. 24
Transmisión Digital ..................................................................................................................................... 24
Modulación de Señales .......................................................................................................................... 24
Modulaciones Combinadas:............................................................................................................... 25
Teorema del Muestreo................................................................................................................................ 25
Modulación por Impulsos Codificados (MIC).............................................................................................. 26
Fundamentos teóricos de la transmisión de datos..................................................................................... 26
Capa de Enlace .................................................................................................................................................. 27
Problemas de Diseño Capa de Enlace ............................................................................................................................ 27
Tipo de Servicio Suministrado.................................................................................................................... 27
Servicio sin Conexión y sin Asentimiento .............................................................................................. 27
Servicio sin Conexión y con Asentimiento ............................................................................................. 27
Servicio Orientado a Conexión .............................................................................................................. 27
Entramado .................................................................................................................................................. 28
Trama ..................................................................................................................................................... 28
Cuenta de Caracteres ............................................................................................................................ 28
Caracteres de Inicio y Fin, con Inserción de Caracter ........................................................................... 28
Banderas de Inicio y Final, con Inserción de Bit .................................................................................... 28
Violación de Código Físico..................................................................................................................... 28
Control de Error .......................................................................................................................................... 28
Gestión de Enlace ...................................................................................................................................... 28
Control de Flujo .......................................................................................................................................... 29
Detección y Corrección de Errores .................................................................................................................................. 29
Códigos Detectores de Hamming............................................................................................................... 29
Códigos Detectores Cíclicos ...................................................................................................................... 29
ii
Comunicación de Datos − Redes de Computadores
Ampliación ejemplificada ............................................................................................................................ 30
Detección y Corrección de errores......................................................................................................... 30
Corrección de errores............................................................................................................................. 30
Gestión de Enlace............................................................................................................................................................ 33
Estrategias de Gestión de Enlace .............................................................................................................. 34
Estrategias de Repartición (Estáticas) ................................................................................................... 34
TDM (Multiplexación por División de Tiempo): .................................................................................. 34
FDM (Multiplexación por División de Frecuencia): ............................................................................ 34
CDM (Multiplexación por División de Código): .................................................................................. 34
Estrategias de Compartición (Dinámicas) .................................................................................................. 34
Hipótesis del Canal Único: ..................................................................................................................... 34
Modelo de Estaciones:....................................................................................................................... 34
Colisiones:.......................................................................................................................................... 34
Asignación de Tiempo: ...................................................................................................................... 35
Detección de Uso:.............................................................................................................................. 35
Estándares de Gestión de Enlace (IEEE 802) ........................................................................................... 35
Protocolo Aloha .......................................................................................................................................... 35
Aloha Puro.............................................................................................................................................. 35
Aloha Ranurado ..................................................................................................................................... 36
Protocolos CSMA (802.3) ........................................................................................................................... 36
CSMA 1−Persistente .............................................................................................................................. 36
CSMA No Persistente ............................................................................................................................ 36
CSMA con Detección de Colisión (CSMA/CD) ...................................................................................... 37
Rendimiento: Aloha y CSMA ...................................................................................................................... 37
Protocolo Token−Bus (Paso de Testigo en Bus) (802.4) ........................................................................... 38
Protocolo Token−Ring (Paso de Testigo en Anillo) (802.5) ....................................................................... 38
Distributed Queue Dual Bus (DQDB, 802.6) .............................................................................................. 39
Fiber Distributed Data Interface (FDDI, 802.8)........................................................................................... 40
ISDN, BISDN (ATM) ................................................................................................................................... 40
ISDN (Integrated Services Digital Network): .......................................................................................... 41
BISDN (ISDN de Banda Ancha):............................................................................................................ 41
ATM (Asyncronous Transfer Mode): ...................................................................................................... 41
Control de Flujo................................................................................................................................................................ 41
Definiciones ................................................................................................................................................ 41
Estructura de la Trama........................................................................................................................... 41
Eventos que Recibe la Capa de Enlace................................................................................................. 41
Funciones Predefinidas para la Capa de Enlace ................................................................................... 41
Protocolos sin Memoria .............................................................................................................................. 42
Protocolo Unilateral No Restringido (U-NR)........................................................................................... 42
Protocolo Unilateral de Parada y Espera (U-P/E) .................................................................................. 43
Protocolo Unilateral para Canal Ruidoso (U-CR)................................................................................... 43
Protocolos de Ventana Deslizante..................................................................................................... 44
Protocolo de Ventana Deslizante de 1 Bit ......................................................................................... 44
Protocolo de Ventana Deslizante - Repetición No Selectiva............................................................. 45
Protocolo de Ventana Deslizante - Repetición Selectiva .................................................................. 46
Rendimiento del Canal de Enlace .................................................................................................................................... 46
Capa de Red....................................................................................................................................................... 48
Problemas de Diseño de la Capa de Red ........................................................................................................................ 48
Tipo de Servicios Suministrados ................................................................................................................ 48
Encaminamiento ......................................................................................................................................... 49
¿Cómo construir un circuito virtual sobre una red de conmutación de paquetes?................................ 49
¿Cómo se establecen los circuitos virtuales? ........................................................................................ 49
Interconexión de Redes(Introducción) ............................................................................................................................. 49
Control de Congestión ..................................................................................................................................................... 49
Servicios Proporcionados por la Capa de Red................................................................................................................. 49
Servicio con Conexión ................................................................................................................................ 49
iii
Comunicación de Datos − Redes de Computadores
Servicio Sin Conexión................................................................................................................................. 49
Diferencias entre los Servicios Suministrados ........................................................................................... 49
Primitivas OSI para la Capa de Red ................................................................................................................................ 50
Organización Interna de la Capa de Red ......................................................................................................................... 50
Circuitos Virtuales....................................................................................................................................... 51
Datagramas ................................................................................................................................................ 52
Comparación: Circuitos Virtuales vs. Datagramas..................................................................................... 52
Algoritmos de Encaminamiento.............................................................................................................. 52
Encaminamiento Estático....................................................................................................................... 52
Camino más Corto ............................................................................................................................. 52
Camino Múltiple ................................................................................................................................. 52
Centralizado ........................................................................................................................................... 53
Encaminamiento Aislado........................................................................................................................ 53
Patata Caliente:.................................................................................................................................. 53
Patata Caliente Mejorado: ................................................................................................................. 53
Aprendizaje Hacia Atrás: ................................................................................................................... 53
Inundación:......................................................................................................................................... 53
Encaminamiento Adaptativo................................................................................................................... 53
Encaminamiento Distribuido .............................................................................................................. 53
Encaminamiento Óptimo.................................................................................................................... 53
Control de Congestión ..................................................................................................................................................... 53
Preasignación de Memorias ....................................................................................................................... 54
Descarte de Paquetes ................................................................................................................................ 54
Control Isarítmico de Congestión ............................................................................................................... 54
Control de Congestión por Control de Flujo ............................................................................................... 54
Paquetes Reguladores ............................................................................................................................... 55
Resolución de Bloqueos ............................................................................................................................. 55
Ejemplos de Capa de Red ............................................................................................................................................... 55
Protocolo de Red IP (Internet Protocol)...................................................................................................... 55
Protocolo ARP (Address Resolution Protocol) ........................................................................................... 59
Interconexión de Redes.................................................................................................................................... 61
Conexión de Redes.......................................................................................................................................................... 61
Capa Física: Repetidores (Hub) ................................................................................................................. 62
Hubs activos:.......................................................................................................................................... 62
Hubs pasivos: ......................................................................................................................................... 62
Subcapa de Acceso al Medio: Puentes (Bridges) ...................................................................................... 62
Arquitectura de un puente ...................................................................................................................... 63
Puentes transparentes ........................................................................................................................... 63
Control de bucles ................................................................................................................................... 64
Capa de Enlace: Switch.............................................................................................................................. 67
Capa de Red: Encaminador (Router) ......................................................................................................... 67
Firewall: .................................................................................................................................................. 68
Gateway: ................................................................................................................................................ 68
Resumen de Características ...................................................................................................................... 68
Routers ....................................................................................................................................................... 68
Diseño de Topologías de Redes ...................................................................................................................... 70
Tarjetas De Interfaz De Red............................................................................................................................................. 70
Determinación De La Velocidad De Transmisión En Una Red ........................................................................................ 71
Concepto de segmento .................................................................................................................................................... 71
Segmentación: sus necesidades...................................................................................................................................... 72
Capa de Aplicación ........................................................................................................................................... 74
Conceptos Básicos .......................................................................................................................................................... 74
Aplicaciones Estándar más Comunes.............................................................................................................................. 74
iv
Comunicación de Datos − Redes de Computadores
Transferencia y Acceso Remoto de Archivos............................................................................................. 74
Transferencia de Archivos (ftp, http): ..................................................................................................... 74
Acceso Remoto a Archivos (NFS, Novell): ............................................................................................ 74
Correo Electrónico ...................................................................................................................................... 75
Terminales Virtuales ................................................................................................................................... 75
Capa de Presentación....................................................................................................................................... 76
Teoría de la Información y Codificación de Fuentes ........................................................................................................ 76
Teoría de la información ............................................................................................................................. 76
Entropía: Información Media ...................................................................................................................... 77
Codificación de la Fuente ........................................................................................................................... 78
Códigos....................................................................................................................................................... 78
Análisis de Códigos Unívocos .................................................................................................................... 78
Codificación de Huffmann (Instantáneo y Óptimo)..................................................................................... 79
Otros Métodos ............................................................................................................................................ 80
Extensión de Código: ............................................................................................................................. 80
Series Repetidas: ................................................................................................................................... 80
Criptografía, Seguridad y Protección de los Datos........................................................................................................... 80
Criptología .................................................................................................................................................. 80
Criptografía ................................................................................................................................................. 81
Sustitución: ............................................................................................................................................. 81
Códigos: ................................................................................................................................................. 81
Transposición: ........................................................................................................................................ 81
Criptoanálisis .............................................................................................................................................. 81
Problemas Típicos de Seguridad ............................................................................................................... 81
Protección de Claves ............................................................................................................................. 81
Distribución de Claves............................................................................................................................ 82
Criptografía con Claves Públicas ........................................................................................................... 82
Autentificación y Firmas Digitales .......................................................................................................... 82
Representación en Formatos de Red .............................................................................................................................. 83
Capa de Sesión.................................................................................................................................................. 84
Servicios del Nivel de Sesión ........................................................................................................................................... 84
Interconexión de Procesos ......................................................................................................................... 84
Sincronización de Procesos ....................................................................................................................... 84
Administración de Actividades.................................................................................................................... 84
Notificación de Excepciones....................................................................................................................... 84
Llamada a Procedimiento Remoto (RPC) .................................................................................................. 84
Capa de Transporte........................................................................................................................................... 86
Calidad del Servicio ......................................................................................................................................................... 86
Retardo en Establecer la Conexión:........................................................................................................... 86
Probabilidad de Fallo de Establecimiento de Conexión: ............................................................................ 86
Retardo en la Liberación de la Conexión: .................................................................................................. 86
Probabilidad de Fallo de Liberación de Conexión:..................................................................................... 86
Caudal:........................................................................................................................................................ 86
Retardo de Tráfico: ..................................................................................................................................... 86
Tasa de Error:............................................................................................................................................. 86
Tasa de Falla de Transferencia:................................................................................................................. 86
Protección:.............................................................................................................................................. 86
Prioridad: ................................................................................................................................................ 86
Resistencia: ............................................................................................................................................ 86
Servicios de la Capa de Transporte ................................................................................................................................. 86
Primitivas de Transporte .................................................................................................................................................. 87
Inactivo: ...................................................................................................................................................... 87
Conexión Entrante: ..................................................................................................................................... 87
Conexión Saliente:...................................................................................................................................... 87
Conexión Establecida: ................................................................................................................................ 87
v
Comunicación de Datos − Redes de Computadores
Administración de Conexión............................................................................................................................................. 89
Direccionamiento ........................................................................................................................................ 89
Servidor de Procesos: ............................................................................................................................ 89
Base de Datos de Procesos:.................................................................................................................. 89
Pérdida de Mensajes .................................................................................................................................. 89
Establecimiento de la Conexión ................................................................................................................. 89
Liberación de la Conexión .......................................................................................................................... 90
Control de Flujo .......................................................................................................................................... 92
Multiplexación ............................................................................................................................................. 92
Recuperación de Caídas ............................................................................................................................ 92
Los Paquetes TCP ........................................................................................................................................................... 92
Bibliografía......................................................................................................................................................... 94
vi
Comunicación de Datos − Redes de Computadores
Introducción
Historia de las Redes de Computadores
Antes de existir las redes de Computadores, los usuario de debían viajar hacia los computadores, que eran
muy grandes (físicamente) y caros, para utilizarlos. Más adelante se crearon sistemas con terminales, los que permitían, a cierta distancia, utilizar de forma remota un computador, evitando la conglomeración de personas alrededor
de él.
Luego apareció como una forma de utilizar terminales más alejadas de los computadores, el uso de las conexiones telefónicas existentes para ello. Cuando se hacía necesario que la velocidad y/o fiabilidad del canal de
datos fuera mejor, se podían contratar caros enlaces dedicados, los cuales eran implementados por empresas privadas. Las terminales ya no sólo eran consolas tontas de despliega e ingreso de información, sino que se hacían cada
vez más inteligentes, aportando su grano de arena al problema de computación.
Esto último derivó en el modelo actual de redes de computadores, en el cual las “terminales” no son más que
otros computadores conectados a la red. Así, cada uno de ellos puede hacer de cliente y de servidor simultáneamente, proveyendo una gran capacidad de resolución de problemas de computación y de comunicaciones. En algunas
partes aún subsisten las antiguas terminales, las que se utilizan conectadas a uno de estos computadores conectados a la red (hosts).
Al masificarse esta manera de utilizar los computadores, aparecieron empresas dedicadas a satisfacer la necesidad de canales portadores más rápidos y baratos, con lo cual los costos bajaron rápidamente. Estas empresas
son las que hoy en día se conocen como portadores públicos, y son responsables de la explosión de las comunicaciones en los últimos años.
Evolución histórica de las telecomunicaciones
Un sistema de telecomunicación se puede definir como los medios necesarios para emitir o recibir datos de
cualquier naturaleza entre dos sistemas geográficamente separados.
•
•
•
•
•
•
Nos vamos a centrar en tres medios principalmente:
Intercambio de señales eléctricas a través de cables eléctricos.
Señales electromagnéticas a través del aire (o vacío).
Señales ópticas a través de conductores ópticos.
S. XVIII: Faraday introduce los principios de inducción electromagnética. Al mover un imán alrededor de un metal
se genera una corriente.
S. XIX: Samuel Morse (telégrafo), 1844 alfabeto Morse. Aquí ya puede separarse el nivel físico (cable) y lógico
(alfabeto). Las telecomunicaciones deben estar sistematizadas, emisor y receptor deben comprender el sistema
para poder entenderse. El conjunto de normas que rigen la comunicación se denomina protocolo. Poco después
se intentó tirar un cable entre América y Europa, aunque no llegó a cuajar (sólo funcionó 20 o 30 días).
Otro aspecto muy importante es la velocidad de transmisión. De las 10-12 palabras / minuto iniciales hemos
pasado a miles de palabras / segundo.
•
•
•
•
•
•
•
•
•
•
•
•
Maxwell (Teoría electromagnética de la luz). Estudio de ondas con comportamiento igual a la luz.
Marconi (radiotelegrafía) 1896. Comunicación sin necesidad de un conductor físico. Se evoluciona hacia la transmisión de radio y telefonía.
1909 → USA primeras transmisiones de radio.
1927 → Primer enlace intercontinental mediante radio de onda corta. A continuación aparece la modulación en
frecuencia o FM en 1933.
1937 → radar (teledetección).
1938 → Modulación PCM. Primera forma de modular información analógica a forma digital.
1941 → TV
1954→ TV color.
1957-58 → Satélites (Sputnik ruso), primer satélite de comunicaciones por parte de los americanos.
1960 → Láser (a través de fibra óptica).
1969 → Cobertura total de la superficie terrestre mediante satélites.
1977 → Primeros sistemas de telefonía mediante fibra óptica.
Licenciado Gustavo Rei
Pág. Nro. 1
Comunicación de Datos − Redes de Computadores
Una red informática es un conjunto de computadores autónomos interconectados capaces de intercambiar información. Computador autónomo es cualquier dispositivo capaz de procesar información. Con las redes se persigue:
• Intercambio de información.
• Compartir recursos.
• Mayor fiabilidad.
• Mayor versatilidad (más fácil ampliar el sistema).
Desde otro punto de vista
Un sistema distribuido es multiusuario y multitarea. Todos los programas que se ejecuten en un sistema distribuido lo van a hacer sobre la CPU del servidor en lo que en términos informáticos se denomina "tiempo compartido".
Un sistema distribuido comparte la CPU.
Sin embargo, en una intranet, lo que en realidad se denomina servidor, lo es, pero de ficheros o de bases de
datos. Cada usuario tendrá un ordenador autónomo con su propia CPU dónde se ejecutarán las aplicaciones que
correspondan. Además, con la aparición de la arquitectura cliente / servidor, la CPU del servidor puede ejecutar algún programa que el usuario solicite.
Una red local puede tener distintas configuraciones que se verán más adelante, pero básicamente se pueden
hablar de dos tipos:
Red con un servidor:
Existe un servidor central que es el “motor” de la red. El servidor puede ser activo o pasivo dependiendo del
uso que se le dé.
Peer to peer :
Una red de igual a igual. Todos los puestos de la red pueden hacer la función de servidor y de cliente.
EN UNA INTRANET, INTERESA TENER UN SERVIDOR WEB, QUE SERÁ LA PARTE MÁS IMPORTANTE DE LA RED.
Clasificación de las Redes de Computadores
Las redes se clasifican de manera general en tres tipos según las distancias entre los computadores que interconectan:
Redes Locales (LAN, Local Área Network) (hasta 1km):
Son redes que permiten la interconexión de computadores dentro de un cuarto, edificio o terreno.
Redes Metropolitanas (MAN, Metropolitan Área Network) (hasta 100km):
Son redes que permiten la interconexión de computadores de toda una ciudad o región. Este tipo de redes no
tienen razón de ser por su similitud con la Topología y características de las WAN 1
Redes Mundiales (WAN, Wide Area Network) (hasta 10.000km):
Son redes que permiten la interconexión de computadores de todas partes del mundo.
1
IEEE
Licenciado Gustavo Rei
Pág. Nro. 2
Comunicación de Datos − Redes de Computadores
Introducción a Las Redes Locales
Lo primero que se puede preguntar un usuario cuando se plantea la posibilidad de instalación o utilización de
una red local, es saber cómo va a mejorar su trabajo en el ordenador al utilizar dicho entorno. La respuesta va a ser
diferente según el tipo de trabajo que desempeñe. En resumen, una red local proporciona la facilidad de compartir
recursos entre sus usuarios. Esto es:
•
•
•
•
•
Supone compartir ficheros.
Supone compartir impresoras.
Se pueden utilizar aplicaciones específicas de red.
Se pueden aprovechar las prestaciones cliente / servidor.
Se puede acceder a sistemas de comunicación global.
Objetivos de Las Redes
Compartir Recursos:
El objetivo fundamental de las redes es el compartir información, dispositivos físicos (procesadores, memorias,
impresoras) y/o la carga de trabajo (programas distribuidos)
Aumentar Confiabilidad:
Al compartirse los recursos, éstos se hacen más confiables, ya que es inherente a la compartición de recursos
el duplicarlos (programas y datos). En el caso de recursos físicos, éstos deben estar duplicados para soportar la
compartición anterior.
Facilidad de Comunicación:
Proveen un medio de comunicación entre personas muy efectivo a través de correo, paneles de discusión, etc.
Disminuir Costos:
Las redes de computadores tienen mejor relación mejor relación costo/rendimiento que los grandes computadores antiguos.
Compartir Ficheros
La posibilidad de compartir ficheros es la prestación principal de las redes locales. La aplicación básica consiste en utilizar ficheros de otros usuarios, sin necesidad de utilizar el disquete.
La ventaja fundamental es la de poder disponer de directorios en la red a los que tengan acceso un grupo de
usuarios, y en los que se puede guardar la información que compartan dichos grupos.
EJEMPLO: SE CREA UNA CARPETA PARA EL DEPARTAMENTO DE CONTABILIDAD, OTRA PARA EL DEPARTAMENTO COMERCIAL Y
OTRA PARA EL DEPARTAMENTO DE DISEÑO, FACILITA QUE ESTOS USUARIOS TENGAN ACCESO A LA INFORMACIÓN QUE LES INTERESA DE FORMA INSTANTÁNEA. SI A ESTO SE AÑADEN APLICACIONES CONCRETAS, ENTONCES EL TRABAJO EN GRUPO MEJORA BASTANTE CON LA INSTALACIÓN DE LA INTRANET. ESTO SE APRECIA EN LAS APLICACIONES DE BASES DE DATOS PREPARADAS PARA EL TRABAJO EN REDES LOCALES (LA MAYORÍA DE LAS ACTUALES), LO QUE PERMITE QUE VARIOS USUARIOS PUEDAN
ACCEDER DE FORMA SIMULTÁNEA A LOS REGISTROS DE LA BASE DE DATOS, Y QUE LAS ACTUALIZACIONES QUE REALICE UN
OPERADOR QUEDEN INMEDIATAMENTE DISPONIBLES PARA EL RESTO DE LOS USUARIOS.
Tipos de Redes
Existen a grandes rasgos dos tipos de redes de computadores, no se debe confundir una red local con un sistema distribuido. Aunque parezca que son conceptos similares difieren en algunas cosas, los cuales son:
Redes de Computadores:
Se componen de una serie de computadores interconectados que proveen un medio de compartir recursos de
manera explícita, esto es, los usuarios deben especificar explícitamente dónde desea realizar una cierta tarea, con
qué máquina se comunica, dónde guarda sus archivos, etc.
Licenciado Gustavo Rei
Pág. Nro. 3
Comunicación de Datos − Redes de Computadores
Sistemas Distribuidos:
Son sistemas en los cuales la red es transparente al usuario, el cual la ve como un sólo gran computador virtual, y tiene acceso a todos los recursos como si fueran locales a su computador. La decisión de dónde realizar las
tareas es realizada automáticamente por el sistema.
Impresión En Red
Las redes locales permiten que sus usuarios puedan acceder a impresoras de calidad y alto precio sin que suponga un desembolso
prohibitivo. Por ejemplo, si tenemos una oficina en la que trabajan siete personas, y sus respectivos ordenadores no están conectados mediante
una red local, o compramos una impresora para cada usuario (en total siete), o que cada usuario grabe en un disquete su documento a imprimir y
lo lleve donde se encuentra la impresora. Si hay instalada una red local, lo que se puede hacer es comprar una o dos impresoras de calidad,
instalarlas y que los usuarios las compartan a través de la red.
Cuando se comparte una impresora en la red, se suele conectar a un ordenador que actúa como servidor de impresión, y que perfectamente puede ser el equipo de un usuario. También existen impresoras que disponen de una tarjeta de red que permite la conexión directa en
cualquier punto de la red sin necesidad de situarse cerca de un servidor.
Algo complementario a la impresión en red es la posibilidad de compartir dispositivos de fax. Si un ordenador tiene configurado un módem
para utilizarlo como fax, puede permitir que el resto de los usuarios de la red lo utilicen para enviar sus propios documentos.
Aplicaciones De Red
Existe un gran número de aplicaciones que aprovechan las redes locales para que el trabajo sea más provechoso. El tipo de aplicaciones más importante son los programas de correo electrónico. Un programa de correo electrónico permite el intercambio de mensajes entre los usuarios. Los mensajes pueden consistir en texto, sonido, imágenes, etc. y llevar asociados cualquier tipo de ficheros binarios. En cierto modo el correo electrónico llega a sustituir
a ciertas reuniones y además permite el análisis más detallado del material que el resto de usuarios nos remitan.
Aplicaciones Cliente / Servidor
Es un concepto muy importante en las redes locales para aplicaciones que manejan grandes volúmenes de información. Son programas que dividen su trabajo en dos partes, una parte cliente que se realiza en el ordenador del
usuario y otra parte servidor que se realiza en un servidor con dos fines :
•
•
Aliviar la carga de trabajo del ordenador cliente.
Reducir el tráfico de la red.
EJEMPLO: SI DISPONEMOS DE UN ORDENADOR QUE ACTÚA COMO SERVIDOR DE BASE DE DATOS, CON UN ENFOQUE TRADICIONAL, EL SERVIDOR SOLAMENTE LO ES DE FICHEROS. SI EN ALGÚN MOMENTO EL USUARIO QUIERE HACER UNA SELECCIÓN DE
PERSONAS MAYORES DE 30 AÑOS POR EJEMPLO, SE DEBEN LEER TODOS LOS REGISTROS DE LA BASE DE DATOS PARA COMPROBAR CUÁLES CUMPLÍAN LA CONDICIÓN. ESTO SUPONE UN ELEVADO TRÁFICO EN LA RED. CON LAS APLICACIONES CLIENTE/SERVIDOR UNA CONSULTA SOBRE UNA BASE DE DATOS SE ENVÍA AL SERVIDOR, QUIEN REALIZA LA SELECCIÓN DE REGISTROS
Y ENVÍA SOLO LOS CAMPOS QUE LE INTERESAN AL USUARIO. SE REDUCE ASÍ CONSIDERABLEMENTE EL TRÁFICO EN LA RED Y EL
ORDENADOR CLIENTE SE ENCUENTRA CON EL TRABAJO HECHO. EL SISTEMA EN SÍ RESULTA BASTANTE MÁS RÁPIDO, AUNQUE A
CAMBIO REQUIERE QUE LOS SERVIDORES TENGAN MEJORES PRESTACIONES.
Acceso A Internet
Es una de las prestaciones que con el tiempo está ganando peso específico. Consiste en la posibilidad de
configurar un ordenador con una conexión permanente a servicios en línea externos, de forma que los usuarios de la
intranet no necesiten utilizar un módem personal para acceder a ellos. El ejemplo más de moda es el acceso a Internet.
Mediante un servidor de comunicaciones se puede mantener una línea permanente de alta velocidad que enlace la intranet con Internet. El servidor puede estar equipado con un módem o una tarjeta de comunicación a RDSI,
que activa la conexión cuando algún usuario de la red lo necesita. Cuando la conexión está activa, cualquier otro
usuario puede compartirla, aunque en este caso las prestaciones de cada usuario serán menores que si tuvieran una
conexión individual.
Licenciado Gustavo Rei
Pág. Nro. 4
Comunicación de Datos − Redes de Computadores
Estructura de Red
Una red de computadores está organizada en una serie de redes físicas, las cuales permiten la comunicación
entre ellos. Veamos:
Red Física
ES UN CONJUNTO DE NODOS DE LA RED, INTERCONECTADOS MEDIANTE UN SOLO MEDIO FÍSICO O CANAL DE COMUNICACIÓN,
SIN TRADUCTORES INTERMEDIOS.
Un canal de comunicación es un ambiente donde es posible establecer una comunicación. Los medios físicos más comunes para establecer canales de comunicación son: el sonido en el aire, la luz viajando a través de
algún medio (aire, fibras ópticas), la electricidad por cables (par trenzado, paralelo, líneas telefónicas), ondas de
radio (radio, televisión), etc.
Los nodos son elementos que son capaces de transmitir y/o recibir información a través de uno o más canales de comunicación iguales o diferentes entre sí.
Existen dos tipos de redes físicas, las con canales punto-a-punto y las con canales de difusión:
Canal Punto a Punto:
Tiene sólo dos nodos conectados a él, y cuando uno transmite sólo el otro puede recibir la información transmitida (ej.: llamadas por teléfono).
Canal de Difusión:
Poseen muchos nodos conectados al mismo canal, y cuando uno de ellos transmite todos pueden recibir. El
mensaje enviado incluye un identificador que el receptor analiza para saber si fue enviado a él o no.
a)
b)
c)
d)
e)
Topologías de Red Física Punto-a-Punto:
a) Estrella; b) Anillo; c) Completa; d) Irregular; e) Arbol;
a)
b)
c)
Topologías de Red Física de Difusión:
a) Bus de Datos; b) Radiodifusión; c) Anillo;
Hosts o Sistemas Finales
SON LOS COMPUTADORES CONECTADO A LA RED, QUE PROVEEN Y/O UTILIZAN SERVICIOS A/DE ELLA. LOS USUARIOS DEBEN
UTILIZAR HOSTS PARA TENER ACCESO A LA RED.
ARPANET evolución de DARPANET que englobó a todas las universidades americanas. Embrión de Internet.
Las máquinas que conectadas a una red, ejecutan programas de usuario se conocen como host. Los hosts están conectados a
través de una subred que es la encargada de las comunicaciones.
Una subred contiene dos elementos distintos: líneas de comunicación y unos dispositivos denominados IMP’S (Internet Message Processor), computadores dedicados únicamente a tareas de comunicaciones. Hay dos tipos de diseño de redes: punto a punto (dos
IMP que no comparten línea se comunican a través de otro IMP) y canales de difusión (todos los IMP comparten una única línea), el IMP
tendrá que gestionar el acceso de los hosts a ese único canal de difusión
En general, los hosts son computadores mono o multiusuario que ofrecen servicios de transferencia de archivos, conexión remota, servidores de base de datos, servidores WWW, etc. Los usuarios que hacen uso de los hosts pueden a su vez pedir los mismos
servicios a otras máquinas conectadas a la red.
Licenciado Gustavo Rei
Pág. Nro. 5
Comunicación de Datos − Redes de Computadores
Subred
ES UNA RED QUE SÓLO CONTIENE ENLACES, NO CONTIENE HOSTS, Y QUE POSIBILITA LAS COMUNICACIONES ENTRE HOSTS DISTANCIA.
SUBRED
Relación entre hosts y la subred
Los hosts conectados a una subred deben hacerlo a través de uno o más nodos de ella, de manera que todo
el tráfico que va y viene desde la subred al host debe pasar por estos nodos.
Sintéticamente
Dependiendo de su arquitectura y de los procedimientos empleados para transferir la información las redes de
comunicación se clasifican en :
• Redes conmutadas
• Redes de difusión
• Redes conmutadas
Consisten en un conjunto de nodos interconectados entre sí, a través de medios de transmisión (cables), formando la mayoría de las veces una topología mallada, donde la información se transfiere encaminándola del nodo
de origen al nodo destino mediante conmutación entre nodos intermedios. Una transmisión de este tipo tiene 3 fases
:
• Establecimiento de la conexión.
• Transferencia de la información.
• Liberación de la conexión.
Se entiende por conmutación en un nodo, a la conexión física o lógica, de un camino de entrada al nodo con
un camino de salida del nodo, con el fin de transferir la información que llegue por el primer camino al segundo. Un
ejemplo de redes conmutadas son las redes de área extensa.
Las redes conmutadas se dividen en :
• Conmutación de paquetes.
• Conmutación de circuitos.
• Conmutación De Paquetes
Se trata del procedimiento mediante el cual, cuando un nodo quiere enviar información a otro, la divide en paquetes. Cada paquete es enviado por el medio con información de cabecera. En cada nodo intermedio por el que
pasa el paquete se detiene el tiempo necesario para procesarlo. Otras características importantes de su funcionamiento son :
En cada nodo intermedio se apunta una relación de la forma : “todo paquete con origen en el nodo A y destino
en el nodo B tiene que salir por la salida 5 de mi nodo”.
• Los paquetes se numeran para poder saber si se ha perdido alguno en el camino.
• Todos los paquetes de una misma transmisión viajan por el mismo camino.
• Pueden utilizar parte del camino establecido más de una comunicación de forma simultánea.
• Conmutación De Circuitos
Licenciado Gustavo Rei
Pág. Nro. 6
Comunicación de Datos − Redes de Computadores
Es el procedimiento por el que dos nodos se conectan, permitiendo la utilización de forma exclusiva del circuito físico durante la transmisión. En cada nodo intermedio de la red se cierra un circuito físico entre un cable de entrada y una salida de la red. La red telefónica es un ejemplo de conmutación de circuitos.
Redes De Difusión
En este tipo de redes no existen nodos intermedios de conmutación; todos los nodos comparten un medio de
transmisión común, por el que la información transmitida por un nodo es conocida por todos los demás. Ejemplo de
redes de difusión son :
• Comunicación por radio.
• Comunicación por satélite.
• Comunicación en una red local.
Cómo Funciona Una Red
Se puede pensar por un momento en el servicio de correos. Cuando alguien desea mandar una carta a otra
persona, la escribe, la mete en un sobre con el formato impuesto por correos, le pone un sello y la introduce en un
buzón; la carta es recogida por el cartero, clasificada por el personal de correos, según su destino y enviada a través
de medios de transporte hacia la ciudad destino; una vez allí otro cartero irá a llevarla a la dirección indicada en el
sobre; si la dirección no existe, al cabo del tiempo la carta devolverá al origen por los mismos cauces que llegó al
supuesto destino.
Más o menos, esta es la forma en que funciona una red : la carta escrita es la información que se quiere
transmitir; el sobre y sello es el paquete con el formato impuesto por el protocolo que se utiliza en la transmisión; la
dirección del destinatario es la dirección del nodo destino y la dirección del remitente, será la dirección del nodo origen, los medios de transporte que llevan la carta cerca del destino es el medio de transmisión (cable coaxial, fibra
óptica …); las normas del servicio de correos, carteros y demás personal son los protocolos de comunicaciones establecidos.
Si se supone que se está utilizando el modelo OSI de la ISO. Este modelo tiene 7 niveles, es como decir que
la carta escrita pasa por 7 filtros diferentes (trabajadores con diferentes cargos) desde que la ponemos en el buzón
hasta que llega al destino. Cada nivel de esta torre se encarga de realizar funciones diferentes en la información a
transmitir. Cada nivel por el que pasa la información a transmitir que se ha insertado en un paquete, añade información de control, que el mismo nivel en el nodo destino irá eliminando. Además se encarga de cosas muy distintas:
desde el control de errores, hasta la reorganización de la información transmitida cuando esta se ha fragmentado en
tramas.
Si la información va dirigida a una red diferente (otra ciudad en el caso de la carta), la trama debe llegar a un
dispositivo de interconexión de redes (router, gateway, bridges), que decidirá, dependiendo de su capacidad, el camino que debe seguir la trama. Por eso es imprescindible que el paquete lleve la dirección destino y que esta contenga, además de la dirección que identifica al nodo, la dirección que identifica la red a la que pertenece el nodo.
Licenciado Gustavo Rei
Pág. Nro. 7
Comunicación de Datos − Redes de Computadores
Topología De Una Red
La topología de una red define únicamente la distribución del cable que interconecta los diferentes ordenadores, es decir, es el mapa de distribución del cable que forma la intranet. Define cómo se organiza el cable de las estaciones de trabajo. A la hora de instalar una red, es importante seleccionar la topología más adecuada a las necesidades existentes. Hay una serie de factores a tener en cuenta a la hora de decidirse por una topología de red concreta y son :
•
•
•
•
•
•
La distribución de los equipos a interconectar.
El tipo de aplicaciones que se van a ejecutar.
La inversión que se quiere hacer.
El coste que se quiere dedicar al mantenimiento y actualización de la red local.
El tráfico que va a soportar la red local.
La capacidad de expansión. Se debe diseñar una intranet teniendo en cuenta la escalabilidad.
No se debe confundir el término topología con el de arquitectura. La arquitectura de una red engloba :
•
•
•
La topología.
El método de acceso al cable.
Protocolos de comunicaciones.
Actualmente la topología está directamente relacionada con el método de acceso al cable, puesto que éste
depende casi directamente de la tarjeta de red y ésta depende de la topología elegida.
Topología Física
Es lo que hasta ahora se ha venido definiendo; la forma en la que el cableado se realiza en una red. Existen
tres topologías físicas puras:
•
•
•
Topología en anillo.
Topología en bus.
Topología en estrella.
Existen mezclas de topologías físicas, dando lugar a redes que están compuestas por mas de una topología
física.
Topología Lógica
Es la forma de conseguir el funcionamiento de una topología física cableando la red de una forma más eficiente. Existen topologías lógicas definidas:
Topología anillo-estrella: implementa un anillo a través de una estrella física.
Topología bus-estrella: implementa una topología en bus a través de una estrella física.
Topología En Bus
Consta de un único cable que se extiende de un ordenador al siguiente de un modo serie. Los extremos del
cable se terminan con una resistencia denominada terminador, que además de indicar que no existen más ordenadores en el extremo, permiten cerrar el bus.
Sus principales ventajas son:
•
•
Fácil de instalar y mantener.
No existen elementos centrales del que dependa toda la red, cuyo fallo dejaría inoperativas a todas las estaciones.
Licenciado Gustavo Rei
Pág. Nro. 8
Comunicación de Datos − Redes de Computadores
Sus principales inconvenientes son:
•
•
•
Si se rompe el cable en algún punto, la red queda inoperativa por completo.
Cuando se decide instalar una red de este tipo en un edificio con varias plantas, lo que se hace es instalar una
red por planta y después unirlas todas a través de un bus troncal.
Topología En Anillo
Sus principales características son:
•
•
•
El cable forma un bucle cerrado formando un anillo.
Todos los ordenadores que forman parte de la red se conectan a ese anillo.
Habitualmente las redes en anillo utilizan como método de acceso al medio el modelo “paso de testigo”.
Los principales inconvenientes serían:
•
•
•
Si se rompe el cable que forma el anillo se paraliza toda la red.
Es difícil de instalar.
Requiere mantenimiento.
TOPOLOGÍA EN ESTRELLA
Sus principales características son:
•
•
•
•
•
•
•
•
Todas las estaciones de trabajo están conectadas a un punto central (concentrador), formando una estrella física.
Habitualmente sobre este tipo de topología se utiliza como método de acceso al medio poolling, siendo el nodo
central el que se encarga de implementarlo.
Cada vez que se quiere establecer comunicación entre dos ordenadores, la información transferida de uno hacia
el otro debe pasar por el punto central.
existen algunas redes con esta topología que utilizan como punto central una estación de trabajo que gobierna la
red.
La velocidad suele ser alta para comunicaciones entre el nodo central y los nodos extremos, pero es baja cuando se establece entre nodos extremos.
Este tipo de topología se utiliza cuando el trasiego de información se va a realizar preferentemente entre el nodo
central y el resto de los nodos, y no cuando la comunicación se hace entre nodos extremos.
Si se rompe un cable sólo se pierde la conexión del nodo que interconectaba.
Es fácil de detectar y de localizar un problema en la red.
Topología En Estrella Pasiva
Se trata de una estrella en la que el punto central al que van conectados todos los nodos es un concentrador
(hub) pasivo, es decir, se trata únicamente de un dispositivo con muchos puertos de entrada.
Topología de estrella activa
Se trata de una topología en estrella que utiliza como punto central un hub activo o bien un ordenador que
hace las veces de servidor de red. En este caso, el hub activo se encarga de repetir y regenerar la señal transferida
e incluso puede estar preparado para realizar estadísticas del rendimiento de la red. Cuando se utiliza un ordenador
como nodo central, es éste el encargado de gestionar la red, y en este caso suele ser además del servidor de red, el
servidor de ficheros.
Topologías Lógicas
Topología Anillo-Estrella
Licenciado Gustavo Rei
Pág. Nro. 9
Comunicación de Datos − Redes de Computadores
Uno de los inconvenientes de la topología en anillo era que si el cable se rompía toda la red quedaba inoperativa ; con la topología mixta anillo-estrella, éste y otros problemas quedan resueltos. Las principales características
son :
Cuando se instala una configuración en anillo, el anillo se establece de forma lógica únicamente, ya que de
forma física se utiliza una configuración en estrella.
Se utiliza un concentrador, o incluso un servidor de red (uno de los nodos de la red, aunque esto es el menor
número de ocasiones) como dispositivo central, de esta forma, si se rompe algún cable sólo queda inoperativo el
nodo que conectaba, y los demás pueden seguir funcionando.
El concentrador utilizado cuando se está utilizando esta topología se denomina MAU (Unidad de Acceso Multiestación), que consiste en un dispositivo que proporciona el punto de conexión para múltiples nodos. Contiene un
anillo interno que se extiende a un anillo externo.
A simple vista, la red parece una estrella, aunque internamente funciona como un anillo.
Cuando la MAU detecta que un nodo se ha desconectado (por haberse roto el cable, por ejemplo), puentea su
entrada y su salida para así cerrar el anillo.
Topología Bus-Estrella
Este tipo de topología es en realidad una estrella que funciona como si fuese en bus. Como punto central tiene un
concentrador pasivo (hub) que implementa internamente el bus, y al que están conectados todos los ordenadores.
La única diferencia que existe entre esta topología mixta y la topología en estrella con hub pasivo es el método de
acceso al medio utilizado.
Licenciado Gustavo Rei
Pág. Nro. 10
Comunicación de Datos − Redes de Computadores
Arquitectura de Red
CONJUNTO DE CAPAS Y PROTOCOLOS QUE DEFINEN EL COMPORTAMIENTO DE UNA RED.
Capas
Las redes se construyen en base a una serie de capas o niveles, de manera de reducir su complejidad. El número de capas, sus nombres y sus funciones varían de gran manera de una red a otra, por lo que la estandarización
se hace necesaria. Sin embargo, en toda red, el propósito de una capa es proveer una servicios a la capa siguiente,
encapsulando los detalles de cómo se llevan a cabo las tareas. Tenemos entonces que:
•
•
•
•
Arquitectura basada en capas;
Cada capa utiliza servicios de la capa inferior;
Cada capa provee servicio a la capa superior, encapsulando los detalles;
La capa n de una máquina A se comunica de forma transparente con la capa n de una máquina B
(protocolo);
• La transparencia en capas n se implementa mediante servicios en las capas n − 1 de cada máquina
(interfase);
• La implementación de un nivel en un sistema particular se llama entidad;
Capa n
Protocolo de Capa n
Capa n
Protocolo de Capa n − 1
Capa n − 1
Protocolo de Capa n − 2
Capa n − 2
Interfase Capas n/ n − 1
Capa n − 1
Interfase Capas n/ n − 2
Capa n − 2
…
…
…
Capa 2
Protocolo de Capa 2
…
Capa 2
Capa 1
Protocolo de Capa 1
Capa 1
Interfase Capas 2/1
Uso directo del Canal
Medio Físico o Canal de Comunicación
Servicio
CAPACIDAD SUMINISTRADA POR UN NIVEL N Y LOS ANTERIORES AL NIVEL SIGUIENTE N+1, A TRAVÉS DE LAS ENTIDADES DEL
NIVEL N. EL CONJUNTO DE SERVICIOS SUMINISTRADOS POR LA CAPA N CONSTITUYE LA INTERFAZ N / N+1.
• La interfaz entre dos capas, vista de arriba hacia abajo, constituye una interfaz cliente / servidor.
Protocolo
CONJUNTO DE ALGORITMOS Y FORMATOS QUE GOBIERNAN LA COMUNICACIÓN ENTRE ENTIDADES DE UN MISMO NIVEL, UTILIZANDO LOS SERVICIOS DEL NIVEL ANTERIOR.
• Un protocolo es un mecanismo de control de la relación entre entidades pares (misma capa) ubicadas
en puntos físicos distintos de la red.
Problemas de Diseño
Los problemas de diseño de redes aparecen por lo general también al diseñar cada capa, y son en general:
Establecer Conexión:
Licenciado Gustavo Rei
Pág. Nro. 11
Comunicación de Datos − Redes de Computadores
Debe existir un mecanismo para establecer una conexión, y específicamente, debe poderse especificar con
qué proceso de que host se desea establecer la conexión.
Terminar Conexión:
Debe existir un mecanismo para terminar una conexión, lo que parece ser trivial pero no lo es en absoluto.
Reglas de Transferencia:
La comunicación puede ser unilateral (simplex), bilateral alternada (semiduplex) o bilateral simultánea (duplex).
Control de Errores:
Debe existir un mecanismo de control y recuperación de errores, además de una manera de asegurar el ordenamiento de la información (no todos los canales mantienen el orden de la información).
Velocidad:
Se debe controlar tanto la velocidad de transferencia de datos en el canal como la velocidad a la cual un emisor o receptor es capas de procesarlos.
Largo de los Mensajes:
Deben haber mecanismos de segmentación de mensajes largos y de reunión de mensajes muy cortos.
Uso Concurrente de Canales:
Una capa puede utilizar la misma conexión para realizar conversaciones múltiples sin que éstas tengan relación alguna.
Encaminamiento:
Se debe poder establecer un camino entre dos máquinas. La decisión de cuál camino seguir se puede hacer
de manera automática o explícita en una o más capas de la red.
Ingeniería de Protocolos de Red
El diseño de protocolos ha ido evolucionando gradualmente desde las originales aplicaciones de comunicaciones independientes, totalmente incompatibles unas de otras (años 60 y 70). La necesidad de la unificación de las
redes implicó el implantar protocolos iguales en máquinas diferentes, lo que con el tiempo llevó a protocolos complejos (años 70 y 80).
Surge así la necesidad de utilizar lenguajes formales de descripción de protocolos no ambiguos y precisos,
que permitan establecer normas sin dobles interpretaciones y la verificación de sus propiedades.
Aparecen así diversas normas, como la ISO, la SNA de IBM, SDL de CCITT, etc., las cuales utilizan diversas
técnicas de representación formal. Tradicionalmente existen cuatro maneras de representar formalmente los protocolos:
• Autómatas;
• Grafos;
• Redes de Petri;
• Diagramas de Tiempo.
Los pasos a seguir para especificar un protocolo son los siguientes:
•
•
•
•
•
Especificación formal;
Validación y Verificación;
Análisis de Prestaciones;
Implementación;
Prueba;
Especificación Formal de Protocolos
La descripción formal consiste en una descripción abstracta del comportamiento de un sistema, sin especificar
ningún detalle de su implementación (recordar interfaz de los tipos abstractos de datos, TAD). La especificación puede ser de dos tipos:
Constructiva:
Se describe el comportamiento del sistema usando un lenguaje de muy alto nivel (LOTOS por ej.). Es un enfoque operacional, orientado a las operaciones que el sistema realiza.
Descriptiva:
Licenciado Gustavo Rei
Pág. Nro. 12
Comunicación de Datos − Redes de Computadores
Se describen las propiedades que debe cumplir el sistema, las cuales lo definen. Es un enfoque axiomático
que utiliza lógica matemática para describirlo.
Validación y Verificación
Validación: Consiste en la comprobación de las propiedades del protocolo. Dentro de ellas encontramos:
• Ausencia de Bloqueos;
• Ausencia de Lazos Improductivos (trabajo inútil);
• Capacidad de Recuperación y Sincronización;
Verificación: Consiste en la demostración de que el protocolo provee los servicios que de él se esperan. Esto
implica:
• Explorar el árbol de estados (autómatas);
• Equivalencias algebraicas (descripciones observacionales);
• Verificación lógica (descripciones axiomáticas);
Análisis de Prestaciones
Consiste en modelar estadísticamente un protocolo, con la finalidad de determinar su eficacia. Un protocolo no
debe ser sólo lógicamente correcto, sino que además debe realizar sus funciones eficientemente.
Se debe estimar el caudal eficaz, el uso de recursos y los tiempos de respuesta, bajo los supuestos de tráficos
característicos del nivel.
La complejidad de los protocolos actuales no permite hacer modelos analíticos, por lo que se recurre a la simulación.
Implementación
Se trata de la implementación final del protocolo especificado en una máquina en particular, de manera de realizar algún nivel de la arquitectura de la red.
Para ello se debe traducir la especificación a algún lenguaje de programación, lo que debe ser automatizado
dentro de lo posible para evitar errores.
Prueba
Se debe finalmente comprobar que la realización del nivel se ajusta a la norma (prueba de conformidad), para
lo cual existen centros certificadores y homologadores. Se debe recurrir a asesoramiento por problemas legales y/o
incompatibilidades.
La prueba generalmente se automatiza total o parcialmente, para hacer más fácil un trabajo tedioso que por lo
general se puede hacer sólo parcialmente debido a la complejidad de los protocolos y a la gran cantidad de posibilidades que permiten.
Modelo OSI de ISO
La ISO (International Standard Organization) ha creado un estándar de referencia para la arquitectura de redes. Este estándar se conoce como OSI (Open Systems Interconnection), y pretende establecer un estándar para
comunicaciones entre sistemas diferentes entre sí.
Las Capas de OSI
•
•
•
•
Capas se crean donde se necesite un nivel diferente de abstracción;
Cada capa debe efectuar una función bien definida;
Función de cada capa elegida orientada al establecimiento de protocolos internacionales;
Límites entre capas se establecen de acuerdo a la minimización del flujo de información entre ellas (por
interfaces);
• Número de capas debe ser suficientemente grande para que funciones diferentes no se deban poner
en la misma capa, y lo suficientemente pequeño para que la arquitectura no se torne difícil de manejar.
Licenciado Gustavo Rei
Pág. Nro. 13
Comunicación de Datos − Redes de Computadores
Unidad de
Información.
Aplicación
Protocolo de Aplicación
Presentación
Protocolo de Presentación
Sesión
Protocolo de Sesión
Transporte
Protocolo de Transporte
.
Aplicación
APDU
Presentación
PPDU
Sesión
SPDU
.
.
Transporte
TPDU
.
Red
Red
Red
Red
Paquete
.
Enlace
Enlace
Enlace
Protocolos Internos de Sub-
Enlace
Trama
Física
Física
Física
Bit
.
.
Física
Límite de Subred
HOST A
HOST B
Protocolo de Enlace del Host
Protocolo Físico del Host
Protocolo de Red del Host
Las funciones básicas de cada capa son:
Capa
Función
Aplicación
Servicios de Apoyo a las Aplicaciones
Administración de Redes.
Presentación
Sesión
Transporte
Conversión e Interpretación a Formatos Estándares.
Interconexión y Sincronización de Procesos
Conexiones Lógicas Punto-a-Punto (abstraídas del
sistema técnico)
Encaminamiento y Control de Flujo
Conexiones Lógicas con Paquetes de Datos
Detección Elemental de Errores
Utilización Directa del Medio Físico
Ayuda Comunicacional a la Transmisión Física
Red
Enlace
Física
Licenciado Gustavo Rei
Unidad
de Info.
APDU
Estándares
X.400, FTAM
PPDU
SPDU
TPDU
ASN.1
ISO 8326/27
ISO 8072/73
Paquete X.25 WAN
Trama X.25 WAN, ISO 8802 LAN
Bit
X.25 WAN, ISO 8802 LAN
Pág. Nro. 14
Comunicación de Datos − Redes de Computadores
Transmisión de Datos en OSI 2
La transmisión de datos se realiza, desde un proceso a otro a través de toda la torre de entidades hacia abajo
en el host que alberga el proceso emisor y hacia arriba en el que alberga el receptor.
En el emisor, cada capa recibe de la capa superior la información a transferir (Datos) junto con información de
control de la interfase (ICI), conjunto que se denomina Unidad de Datos (IDU). La capa inferior toma el ICI y decide
qué hacer con los Datos, luego le agrega un encabezado (xH) y/o terminador (xT) a ellos y los pasa como nuevos
Datos a la capa inferior junto con un nuevo ICI, constituyendo la IDU para la capa inferior.
En el receptor se produce el proceso inverso, y cada capa toma los datos recibidos desde la capa inferior, reconociendo el encabezado y/o terminador creados por la entidad par en el emisor, y pasando los datos restantes
hacia la capa superior.
La siguiente figura muestra el proceso de emisión de datos dentro de una entidad de una capa cualquiera:
Nivel m (n-1)
SAP (Service Access Point)
IDU (Interface Data Unit)
SDU (Service Data Unit)
PDU (Protocol Data Unit)
ICI (Interface Control
Information)
IDU
mSDU
mICI
SAP
mICI
Nivel n
nICI
nH
mSDU
SAP
nICI
Nivel n+1
nSDU
La siguiente figura muestra la composición de datos que se hace en cada nivel:
Proceso
Emisor
Da-
Proceso
Receptor
tos
Aplicación
DaH
Presentación
Aplicación
tos
Datos
Presentación
H
Sesión
Datos
Sesión
H
Transporte
Datos
Transporte
H
Red
Datos
Red
H
Enlace
Datos
Enlace
2
El análisis que sigue es válido para toda arquitectura de red que utilice capas, pero la terminología utilizada
es la OSI, por lo que este capítulo se verá con relación al estándar OSI.
Licenciado Gustavo Rei
Pág. Nro. 15
Comunicación de Datos − Redes de Computadores
H
T
Física
Bits
Física
La siguiente es una lista comparativa de los estándares de tres tipos de redes comunes:
Capa
ISO / OSI
DoD (TCP / IP)
Novell
Aplicación
X.400, FTAM
SMTP
Compilador Btrieve
HMS
Presentación
ASN.1
FTP
Telnet
Kernel Netware
DNS / NSP
Sesión
ISO 8326/27
Transporte
ISO 8072/73
TCP
UDP
ICMP
EGP
IPX
SPX
NetBios
X.25 WAN
Red
Enlace
X.25 WAN, ISO
8802 LAN
Física
X.25 WAN, ISO
8802 LAN
IP, ARP. RARP
Arpanet
Ethernet
Token Ring
ArcNet
X.25 PDN
Cualquiera
de 80 LAN
Capa Física
El propósito de la capa física es el de llevar un flujo de bits desde una máquina a otra, utilizando para ello algún medio físico. Su estructura fundamental es la que sigue:
Mensaje
Entrada
Señal de
Entrada
Transductor
Entrada
Señal
Enviada
Tx
Señal
Recibida
Canal
Interferencia Ruido Atenuación
Señal de
Salida
Rx
Mensaje
Salida
Transductor
Salida
Distorsión
Canal: Medio físico de conexión entre el transmisor y el receptor;
Transmisor (Tx):
Dispositivo que acopla el mensaje en el canal, en forma de la señal transmitida;
Receptor (Rx): Dispositivo que extrae la señal del canal, y entrega al transductor de salida;
Transductor:
Dispositivo que convierte una magnitud física a otra de naturaleza diferente;
Bases Teóricas para la Comunicación de Datos
La comunicación de información a distancia se logra haciendo llegar al receptor cambios perceptibles, generados por el emisor, a través de algún medio físico, como el aire (sonido, luz), cables (electricidad), etc.
Licenciado Gustavo Rei
Pág. Nro. 16
Comunicación de Datos − Redes de Computadores
Para modelar mejor lo anterior se hace uso de modelos matemáticos, los cuales permiten representar el fenómeno del transporte de información de manera determinista, facilitando además del entendimiento del comportamiento físico de los medios.
Conceptos Básicos
Medio Físico:
Es el material o conjunto de materiales que permiten la comunicación debido su capacidad de modificarse alguna propiedad física de él. También se le llama canal;
Estados del Medio:
Son los estados diferentes en que se puede encontrar el medio físico. Deben existir a lo menos dos estados
diferenciables.
Señal:
Secuencia de estados sucesivos del medio físico, que constituyen un mensaje;
Intervalo de Señalización:
Tiempo que debe durar cada estado del medio para que se constituya una unidad de información.
Medios de Transmisión
Los medios físicos de transmisión son los materiales y ambientes utilizados para acarrear información. Pueden
ser tan simples como el aire o tan sofisticados como una fibra óptica.
Medios Magnéticos
Son los discos magnéticos removibles, los cuales pueden ser transportados físicamente desde una máquina
hasta otra. Puede sorprender quizá que se incluya este medio en esta descripción, pero considere una camioneta
que demora 1 hora en ir de una máquina a otra, transportando 200 cintas magnéticas de 180Mb c/u. La velocidad de
transmisión es entonces de 80Mbs!! Ninguna LAN actual posee esta capacidad de transporte de datos. Además, es
un medio que no se compara en costo con los demás.
Cable Par Trenzado
Es un cable de dos hilos gruesos, enroscados el uno sobre el otro para evitar interferencias externas. Se usan
para transmisión analógica (telefónica, por ej.) y digital en distancias medias, y tienen un costo bastante bajo.
La codificación se hace utilizando la ausencia de voltaje como valor 0, y la presencia (generalmente unos 5V)
como valor 1.
Se trata de dos hilos de cobre aislados y trenzados entre sí, y en la mayoría de los casos cubiertos por una
malla protectora. Los hilos están trenzados para reducir las interferencias electromagnéticas con respecto a los pares cercanos que se encuentran a su alrededor (dos pares paralelos constituyen una antena simple, en tanto que un
par trenzado no).
Se pueden utilizar tanto para transmisión analógica como digital, y su ancho de banda depende de la sección
de cobre utilizado y de la distancia que tenga que recorrer.
Se trata del cableado más económico y la mayoría del cableado telefónico es de este tipo. Presenta una velocidad de transmisión que depende del tipo de cable de par trenzado que se esté utilizando. Está dividido en categorías por el EIA/TIA :
Categoría 1: Hilo telefónico trenzado de calidad de voz no adecuado para las transmisiones de datos. Velocidad de transmisión inferior a 1 Mbits/seg
Categoría 2 : Cable de par trenzado sin apantallar. Su velocidad de transmisión es de hasta 4 Mbits/seg.
Categoría 3 : Velocidad de transmisión de 10 Mbits/seg. Con este tipo de cables se implementa las redes Ethernet 10-Base-T
Categoría 4 : La velocidad de transmisión llega a 16 bits/seg.
Categoría 5 : Puede transmitir datos hasta 100 Mbits/seg.
Tiene una longitud máxima limitada y, a pesar de los aspectos negativos, es una opción a tener en cuenta debido a que ya se encuentra instalado en muchos edificios como cable telefónico y esto permite utilizarlo sin necesidad de obra. La mayoría de las mangueras de cable de par trenzado contiene más de un par de hilos por lo que es
Licenciado Gustavo Rei
Pág. Nro. 17
Comunicación de Datos − Redes de Computadores
posible encontrar mangueras ya instaladas con algún par de hilos sin utilizarse. Además resulta fácil de combinar
con otros tipos de cables para la extensión de redes.
Cable Coaxiales
Es un cable con un hilo grueso en el centro y una malla alrededor de él, aislados por una capa de plástico intermedio. Existen de dos tipos: banda base (60 Ohm) y banda ancha (75 Ohm). La diferencia entre ellos radica en su
configuración, ya que el primero no necesita de repetidores periódicos para distancias menores de 1km, proveyendo
de velocidades de hasta 10 Mbps. El segundo, en cambio, no puede pasar de los 100m si repetidores, pero provee
una velocidad de hasta 150 Mbps.
La codificación en el primer tipo es similar al par trenzado, pero para el segundo similar a la utilizada por el sistema de televisión, de modo que es bastante más complejo el proceso de codificación o decodificación.
Consiste en un núcleo de cobre rodeado por una capa aislante. A su vez, esta capa está rodeada por una malla metálica que ayuda a bloquear las interferencias; este conjunto de cables está envuelto en una capa protectora.
Le pueden afectar las interferencias externas, por lo que ha de estar apantallado para reducirlas. Emite señales que
pueden detectarse fuera de la red.
Es utilizado generalmente para señales de televisión y para transmisiones de datos a alta velocidad a distancias de varios kilómetros.
La velocidad de transmisión suele ser alta, de hasta 100 Mbits/seg; pero hay que tener en cuenta que a mayor
velocidad de transmisión, menor distancia podemos cubrir, ya que el periodo de la señal es menor, y por tanto se
atenúa antes.
La nomenclatura de los cables Ethernet tiene 3 partes :
La primera indica la velocidad en Mbits/seg.
La segunda indica si la transmisión es en Banda Base (BASE) o en Banda Ancha (BROAD).
La tercera los metros de segmento multiplicados por 100.
CABLE
CARACTERÍSTICAS
10-BASE-5
Cable coaxial grueso (Ethernet grueso).
Velocidad de transmisión : 10 Mb/seg.
Segmentos : máximo de 500 metros.
10-BASE-2
10-BROAD-36
100-BASE-X
Licenciado Gustavo Rei
Cable coaxial fino (Ethernet fino).
Velocidad de transmisión : 10 Mb/seg.
Segmentos : máximo de 185 metros.
Cable coaxial
Segmentos : máximo de 3600 metros.
Velocidad de transmisión : 10 Mb/seg.
Fast Ethernet.
Velocidad de transmisión : 100 Mb/seg.
Pág. Nro. 18
Comunicación de Datos − Redes de Computadores
Fibras Opticas
El medio de transmisión es una fibra muy delgada de vidrio o silicio fundido, y se necesita de un LED o diodo
láser para la transmisión, y de un detector de luz para la recepción. Debido a que la frecuencia de la luz visible es del
orden de 108 Mhz, se pueden lograr velocidades de hasta 1000 Mbps en una distancia de 1km.
La codificación se asocia a la presencia o ausencia de luz, existiendo sistemas por colores sólo en etapa experimental.
Existe un límite en la distancia que puede cubrir una fibra óptica, debido al ruido inherente al canal. Este se
produce por Dispersión Internodal (distinta distancia recorrida por distintos rayos de luz dentro de la fibra). Así, a
mayor distancia, menor velocidad se puede lograr. Para solucionar este problema se han creado repetidores electrónicos (los impulsos luminosos se transforman a eléctricos y luego nuevamente a luminosos), que eliminan el ruido, y
las llamadas Fibras de Bombeo, que son capaces de amplificar la señal luminosa sin transformarla a electrónica.
Existen tres tipos de fibras ópticas: Multinodo, Multinodo Gradual y Mononodo. Las primeras son más baratas
pero con mayor ruido, y las últimas mas caras y casi sin ruido. Las Mononodo requieren de diodos láser (note que
las curvas de la fibra no inciden en el ruido).
Multinodo
Multinodo Gradual
Mononodo
El uso de fibras ópticas es en general simplex (en una sola dirección), y se tienden de a pares bidireccionales
o en anillos cerrados para lograr comunicación mutua.
Trayectorias Opticas a través de la Atmósfera
Existe la posibilidad de utilizar la atmósfera como medio de transmisión, utilizándose luz infrarroja, microondas, ondas de radio, etc. para la transmisión de información.
Licenciado Gustavo Rei
Pág. Nro. 19
Comunicación de Datos − Redes de Computadores
Uso de Satélites
Los satélites reciben señales de microondas desde la tierra y las repiten de vuelta hacia ella, alcanzando lugares imposibles de alcanzar visualmente desde el emisor debido a la curvatura de la tierra. Sin embargo, el uso de
satélites implica un retardo de 250 a 300 ms, debido a la distancia que recorre la señal, y muchas veces una conexión por tierra es más rápida.
Aún así, cuando existe la necesidad de difusión, como la televisión, por ejemplo, el satélite es mucho más barato.
Comparación de Medios
A continuación se muestra una comparación de los diferentes medios de transmisión basados en ondas electromagnéticas (luz, electricidad, radio):
Tipo
Dist. Máx. Ancho Banda Nº Canales Atenuación Ruido
Línea Telefónica
< 60 KHz
1
Alta
>
>
Par Trenzado
3km
1 Mbps
1
Alta
>
10m
10 Mbps
>
Coaxial BB
10km
< 50 MHz
1
6-60dB/km >
Coaxial BA
50km
< 400 MHz
cientos
6-60dB/km >
Fibras Opticas
10km
> 500 MHz
miles
1-8dB/km 0
Microondas
50km
Simbología:
>:
alto
0:
cero
<:
bajo
<<
:
>>
> 100 MHz
:
cientos
>
Costo Seguridad Cant. Nodos
<
M
M
<
<
M
M
>
>
>
>
>
30KHz
3MHz
Miriamétricas
Kilométricas
MF
Hectométricas
HF
Decamétricas
VHF
Métricas
30MHz
300MHz
UHF
3GHz SHF
30GHz
EHF
300GHz Gustavo Rei
Licenciado
B
B
muy bajo
3KHz
VLF
B(100)
MB(1000)
M
muy alto
Corriente
Alterna
300KHz LF
B
B
MB
Decimétricas
Centimétricas
Milimétricas
−
Difusión
Radio Navegación
Difusión AM
Cable Coaxial
Radio Telefonía
Onda Corta
Difusión FM
Televisión
Radio Móvil
Televisión
Troposfera
Microondas Radar
Satélite
Microondas Radar
Telefonía Multicanal
Guías de Onda
Rayos
Infrarrojos
Rayos
Ultravioleta
101
102
103
104
105
106
107
108
109
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
Ondas
de
Radio
Luz Visibl
Rayos X
Rayos
Gamma
Pág. Nro. 20
Comunicación de Datos − Redes de Computadores
SEÑALES ONDULATORIAS
Las señales ondulatorias utilizan materiales como medios físicos de propagación de onda, como electricidad,
microondas, luz, sonido, etc. Veamos algunas definiciones:
Frecuencia (f): Cantidad de oscilaciones por unidad de tiempo (1/s = Hz);
Período (T):
Duración de una oscilación;
Amplitud (A):
Ancho de la onda, su tamaño.
A
T
1
f =
T
x( t ) es la señal en el tiempo.
Se tiene:
y
ANÁLISIS DE FOURIER
Supongamos que se representan los cambios perceptibles del medio mediante una onda, que representa por
ejemplo cambios en la intensidad o color de una luz, en el tono o volumen de un sonido, o en el voltaje o corriente
proveniente de una fuente eléctrica. Así, podemos considerar esta onda como función del tiempo:
f ( t) .
Jean Fourier demostró que cualquier función matemática f ( t ) razonablemente periódica, de período T, se
puede representar como una serie de la forma
f (t ) =
∞
1
⎛ 2πn ⎞ ∞
⎛ 2πn ⎞
a 0 + ∑ a n sen⎜
t ⎟ + ∑ bn cos⎜
t⎟
⎝ T ⎠ n =1
⎝ T ⎠
2
n =1
con
an =
bn =
2
T
2
T
T
⎛ 2πn ⎞
t ⎟ dt
T ⎠
∫ f (t ) sen⎜⎝
0
T
⎛ 2πn ⎞
t ⎟ dt
T ⎠
∫ f (t ) cos⎜⎝
0
que se conoce como Serie de Fourier de f ( t ) . Cada par de coeficientes, para un n dado, se llama componente armónica n.
Por ejemplo, supongamos que se desea transmitir el caracter ASCII “b”, cuyo patrón de bits es 01100010, a
través de un cable, utilizando la variación en el voltaje con corriente continua para representar ceros y unos (0V a 3V
es 0, 3V a 5V es 1), usando un intervalo de señalización dado.
Los siguientes gráficos muestran cómo se vería V vs. t con diferente cantidad de coeficientes considerados en
la Serie de Fourier asociada:
Representación de Onda
Binaria Cuadrada
Licenciado Gustavo Rei
Pág. Nro. 21
Comunicación de Datos − Redes de Computadores
Representación de Fourier
1 Armónico
Representación de Fourier
2 Armónicos
Representación de Fourier
4 Armónicos
Representación de Fourier
8 Armónicos
ESPECTRO Y FILTROS
Una señal dada puede estar compuesta de múltiples armónicos, de diferentes frecuencias. Se puede graficar
A vs. f para una señal dada, obteniéndose el llamado espectro de la señal, que muestra cuáles armónicos son los
más relevantes.
En la naturaleza las señales (sonido, luz, olas en el agua, etc.) poseen infinitas componentes, por lo cual se
han construido filtros de banda de señales, que eliminan todos los armónicos de la señal, salvo los de cierto rango o
algunos específicos.
Espectro:
Gráfico A vs. f para una señal dada;
Ancho de Banda (B):
Es el ancho del rango de frecuencias que posee una señal;
Filtro de Banda:componente que elimina armónicos de una señal, salvo los de cierto rango.
DISTORSIÓN, INTERFERENCIA, ATENUACIÓN Y RUIDO
Distorsión:
DEFORMACIÓN DE LA SEÑAL DEBIDA A IMPERFECCIONES DEL SISTEMA O DEL CANAL MISMO.
La distorsión se produce debido a las propiedades físicas del medio, como por ejemplo, el largo de un cable
eléctrico, o los cerros en el caso de la transmisión por radio.
Interferencia:
DEFORMACIÓN DE LA SEÑAL DEBIDA A OTRAS SEÑALES.
Generalmente es posible evitar la interferencia mediante arreglos especiales, dependiendo del medio físico utilizado. Por ejemplo, los cables tipo Par Trenzado evitan la interferencia enroscando los hilos conductores unos sobre
otros, anulándose así el efecto de señales externas.
Atenuación:
DEBILITAMIENTO PROGRESIVO DE LA SEÑAL DEBIDO A LA DISTANCIA RECORRIDA;
La atenuación es una baja en la intensidad de la señal debido a la pérdida de energía a través del medio físico
que recorre. Por ejemplo, las olas en el mar disminuyen en tamaño a medida que avanzan por su superficie.
Licenciado Gustavo Rei
Pág. Nro. 22
Comunicación de Datos − Redes de Computadores
Ruido:
DEFORMACIÓN DE LA SEÑAL DEBIDA A CAUSAS ALEATORIAS, EXTERNAS O INTERNAS AL MEDIO;
El ruido se produce la mayoría de los casos debido a imperfecciones del medio. En el caso de los cables conductores pueden ser pequeñas irregularidades del material, y en el caso del aire basta con cambios de temperatura,
presión o humedad a lo largo del recorrido de la señal.
El siguiente análisis matemático permite modelar el comportamiento del ruido, en os casos en que este es
predecible. Considere la representación de Fourier para las señales. Analíticamente, el canal es un filtro de armónicos, produciendo diferentes niveles de ruido y atenuación de la señal para cada armónico.
Sea x( t ) la señal transmitida, y( t ) la señal recibida, y n( t ) el ruido del canal. Se tienen entonces la relación:
y( t ) = c( t ) ⋅ x( t )
VELOCIDAD DE TRANSMISIÓN
La velocidad de transmisión depende del método de codificación (cantidad de símbolos posibles, esto es, cantidad de estados diferentes del medio) y de la velocidad de la señal (cantidad de estados por unidad de tiempo, o
baudios).
La velocidad de transmisión se define como la cantidad de bits de datos que se pueden transferir por unidad
de tiempo (generalmente bytes por segundo, bps), y su máximo depende de las posibilidades del medio y de las
velocidades de emisión o recepción en los extremos, cualquiera sea el más lento.
Por ejemplo, a través de una línea telefónica no se pueden transferir frecuencias de sonido de más de
3000Hz, que es un límite artificial impuesto para asegurar la correcta transmisión bajo él. Así, para las velocidades
de datos de mayor uso por líneas telefónicas se tiene las siguientes características:
Vel.
(bps)
300
600
1200
2400
periodo
T (ms)
26.6667
13.3333
6.6667
3.3333
1er Arm. Cant. Arm.
(Hz)
37.5
80
75
40
150
20
300
10
4800
9600
1.6667
0.8333
19200
0.4166
600
120
5
2
240
1
480
0
0
0
38400
0.2083
0
Vel.
(bps)
Periodo T 1er Arm. Cant. Arm.
(ms)
(Hz)
La velocidad máxima de transmisión está limitada además por el ancho de banda máximo permitido por el canal, límite impuesto generalmente para asegurar la compatibilidad de equipos. Se tienen entonces las siguientes
propiedades de velocidad para canales de datos:
VELOCIDAD EN CANAL SIN RUIDO (NYQUIST):
Vmax = 2 B log 2 M
[bps]
donde:
• M es la cantidad de estados diferentes del medio; y
• B es el ancho de banda máximo posible.
VELOCIDAD EN CANAL CON RUIDO (SHANON):
⎛S⎞
Vmax = B log 2 ⎜ ⎟
⎝ N⎠
[bps]
donde:
• S es la potencia de la señal;
• N es la potencia del ruido; y
• B es el ancho de banda máximo posible.
En la práctica, el valor S/N se le conoce como relación señal-ruido, y se mide indirectamente a través de la
expresión 10 log 10 ( S / N ) [ dB ] .
Licenciado Gustavo Rei
Pág. Nro. 23
Comunicación de Datos − Redes de Computadores
Transmisión Analógica
ES LA UTILIZACIÓN DE UNA MAGNITUD FÍSICA QUE VARÍA DE FORMA CONTINUA EN EL TIEMPO, Y QUE PUEDE TOMAR INFINITOS
VALORES DENTRO DE UN RANGO PREDETERMINADO, PARA TRASMITIR UNA SEÑAL.
Durante 100 años fue la transmisión analógica la dominante en el mundo, empezando por el teléfono y luego
la televisión. La excepción es el telégrafo en clave morse, aunque era muy rudimentario, ya que la codificación y
decodificación no estaba automatizada.
Sistema Telefónico
El sistema telefónico es una red de conmutadores análogos automáticos o manuales, los cuales se encargan
de unir las conexiones de manera apropiada para conectar dos teléfonos entre sí. Los conmutadores locales (oficinas, edificios, barrios, etc.) con una línea directa hacia cada teléfono. Los conmutadores locales están conectados
entre sí y con centrales interurbanas, que cubren pueblos pequeños o comunas enteras, con conexiones capaces de
llevar muchas líneas telefónicas. Estas a su vez se conectan con centrales mayores, que cubren las necesidades de
conexión entre ciudades enteras y/o países.
Así, si se llama al vecino, sólo se utilizara el conmutador local, pero si se llama a otro país, se utilizarán varios
conmutadores. Cabe destacar, que el sistema se puede saturar cuando existen muchas llamadas con mismo origen
y destino, pero esto rara vez ocurre.
Como las líneas telefónicas son baratas y cubren grandes distancias, son una alternativa atractiva a la hora de
conectar dos computadores entre sí. Para ello se debe utilizar este medio analógico como base para uno digital, que
es necesario para la conexión de computadores. Para este fin se crearon los módems, que permiten lo anterior.
Debido a que las líneas telefónicas están limitadas a frecuencias entre 300Hz y 3KHz, no se puede utilizar todo el potencial del medio físico. Además, cuando las distancias son largas, existen dispositivos de supresión de
ecos, los que evitan que ambos extremos “hablen” a la vez. Ultimamente se han mejorado estos supresores, de modo que mientras exista una frecuencia dada, se mantienen cerrados, de modo que pueda realizarse comunicación
bilateral simultánea.
Transmisión Digital
ES LA UTILIZACIÓN DE UNA MAGNITUD FÍSICA QUE VARÍA DE FORMA DISCRETA EN EL TIEMPO, Y QUE PUEDE TOMAR VALORES
DENTRO DE UN RANGO FINITO PREDETERMINADO, PARA TRASMITIR UNA SEÑAL.
La transmisión digital se basa en los principios de los sistemas digitales, y por esto tiene las mismas ventajas
que estos: la recuperación de la señal digital es exacta y se pueden multiplexar varias señales (voz, vídeo, sonido,
etc. por un mismo canal). Además se puede sacar mayor provecho de las líneas de comunicación actuales.
Modulación de Señales
Un modulador (módem) trabaja utilizando un sonido base estable y constante, que es transmitido todo el tiempo por ambos extremos, manteniendo inactivos los supresores de eco. Esta señal es modificada de alguna forma, de
manera que son las modificaciones las que indican los cambios de estado del medio. Al proceso de modificar la señal se le llama modulación. Existen diferentes tipos de modulación:
•
•
•
•
Modulación de Amplitud:
Modulación de Frecuencia:
Modulación de Fase:
Modulaciones Combinadas:
Usa dos niveles de voltaje de la señal (AM);
Se utilizan dos o mas tonos (FM);
Se usan desplazamientos de fase (QM);
Alguna combinación de las anteriores.
Señal Base
Señal Moduladora
Digital
Licenciado Gustavo Rei
Pág. Nro. 24
Comunicación de Datos − Redes de Computadores
Modulación Digital
de Amplitud
Modulación Digital
de Frecuencia
La señal moduladora puede ser análoga, pero aquí estudiamos las digitales, que son nuestro interés primordial para la comunicación de datos.
MODULACIONES COMBINADAS:
Las modulaciones combinadas poseen varios estados, que se logran mediante pares frecuencia/amplitud. Así,
se puede enviar más de un bit de información por baudio. El siguiente ejemplo corresponde a QAM (Quadrature Amplitude Modulation), donde se representan (en coordenadas polares) la amplitud y el desfase de la señal (cercanía al
origen y ángulo, respectivamente):
8 combinaciones
3 bits/ baud
16 combinaciones
4 bits/ baud
Así, según la forma de modulación, podemos calcular la velocidad de transmisión en señales moduladas (tasa
binaria), de la siguiente manera:
V=
1
log 2 M
T
[bps]
donde:
• M es la cantidad de estados diferentes del medio; y
• T es el intervalo de señalización.
Los módems son entonces dispositivos que permiten enviar señales digitales a través de canales analógicos.
Cabe destacar que casi todos los medios físicos se utilizan como medios analógicos. Quizá la única excepción sean,
por ahora, las fibras ópticas.
Teorema del Muestreo
¿Cómo recuperar la señal digital a partir de la analógica recibida?
Sean:
x a ( t ) la señal analógica recibida, con ancho de banda B;
ws la frecuencia de muestreo;
x s ( t ) la señal de muestreo de x a ( t ) .
Licenciado Gustavo Rei
Pág. Nro. 25
Comunicación de Datos − Redes de Computadores
La señal de muestreo se obtiene tomando muestras de x a ( t ) con frecuencia ws, y reconstruyendo la señal.
Si se analizan los espectros de ambas señales se tiene que el espectro de x s ( t ) es idéntixa ( t)
co al de x ( t ) , salvo que se repite periódicamena
te cada ws unidades de frecuencia.
-B
B
xs ( t )
ws
-B
B
ws
Se puede construir entonces un filtro que
aísle el rango de frecuencias central, recuperándose íntegramente la señal original, sólo si los espectros periódicos
no se entrecruzan.
Por lo anterior, debe elegirse una frecuencia de muestreo que cumpla con la siguiente característica:
SEA W ES LA FRECUENCIA DE MUESTREO PARA UNA SEÑAL DE ANCHO DE BANDA B, ENTONCES PARA PODER RECUPERAR ÍNTEGRAMENTE LA SEÑAL ORIGINAL, SE DEBE CUMPLIR:
ws ≥ 2 B
Corolario:
• A menor ancho de banda, se pueden tomar muestras más seguidas, lo que implica la posibilidad de
una mayor velocidad de transferencia;
Modulación por Impulsos Codificados (MIC)
Los MIC son dispositivos que permiten la transmisión de impulsos mediante la codificación digital de ellos.
Funcionan en base al teorema del muestreo, de manera que las muestras suficientes para poder reconstruir la señal
original de manera aceptable. Qué es aceptable depende de la aplicación particular (sonido de teléfono, sonido de
CD, vídeo, etc.).
La estructura de un MIC es la siguiente:
Muestreador
w≥2B
Señal Analógica
xa(t)
Cuantizador de
q niveles
Muestras Analógicas
de xa(t)
Codificador de
n bits
Muestras Digitales
de xa(t)
Palabras de n bits
por muestra
Muestreador:
toma muestras analógicas discretas de la señal, con frecuencia suficiente para reconstruir la señal aceptablemente (según teorema del muestreo);
Cuantizador:
Digitaliza las muestras, llevando cada muestra analógica al valor digital (valor cuántico) más cercano. Se toma
una cantidad q de niveles. El error introducido en el cuantizador es constante y conocido, y no depende del ruido de
ningún medio utilizado. A mayor q menor error;
Codificador:
Codifica las muestras digitales en palabras de n bits. Se debe tener q = 2 .
n
Fundamentos teóricos de la transmisión de datos
Los medios de transmisión se pueden clasificar en medios guiados y medios no guiados:
Licenciado Gustavo Rei
Pág. Nro. 26
Comunicación de Datos − Redes de Computadores
Guiados:
Las ondas se transmiten confinándolas dentro del medio de transmisión a lo largo de todo su camino (pares
de cobre, cables metálicos, cables fibra óptica).
No guiados:
Las ondas electromagnéticas que circulan por ellos no se encauzan sino que se propagan a través del aire,
agua e incluso el vacío (transmisiones de radio).
Todas las señales que se pueden intercambiar entre dos puntos se denominan ondas electromagnéticas, que
se pueden agrupar en función del tiempo y en función de la frecuencia.
Dentro del dominio temporal, las ondas pueden ser:
Continuas:
La intensidad de la señal varía suavemente en el tiempo sin presentar saltos ni discontinuidades.
Discretas:
La intensidad se mantiene constante durante un determinado intervalo de tiempo, transcurrido el cual la señal varía a
otro valor constante.
Capa de Enlace
Hasta ahora hemos visto cómo enviar bits individuales a través de un medio físico, pero ¿qué hay del envío de
palabras de varios bits? El objetivo de la capa de enlace es el correcto envío de palabras entre máquinas conectadas
al mismo medio físico.
Problemas de Diseño Capa de Enlace
Tipo de Servicio Suministrado
Se pueden proveer servicios sin conexión con y sin asentimiento, y servicios con conexión, a la capa superior
de la torre de protocolos (capa de red).
Servicio sin Conexión y sin Asentimiento
Consiste en enviar información de una máquina a otra, sin que el receptor envíe un asentimiento de regreso
para indicar que la información enviada llegó con éxito. Es útil cuando la tasa de error es baja y se delega esta responsabilidad a la capa superior, o cuando se tiene necesidad de transferencia en tiempo real y no importan algunos
errores (teléfonos);
Servicio sin Conexión y con Asentimiento
Consiste en enviar información de una máquina a otra, y el receptor debe enviar un asentimiento de regreso
para indicar que la información enviada llegó con éxito. Si una información no llega bien, no se envía asentimiento, y
luego de un tiempo razonable el emisor puede retransmitir. Note que puede perderse un asentimiento, y las tramas
enviadas pueden ser recibidas varias veces;
Servicio Orientado a Conexión
Se establecen conexiones entre las máquinas, y se enumeran las unidades de información individuales. Así,
se puede asegurar que las unidades son recibidas, en el mismo orden que se envían y sin repetir ninguna.
request
indication
response
confirm
Para el servicio orientado a conexión el estándar OSI define cuatro primitivas de comunicación para el paso de
mensajes con asentimiento, las cuales se muestran en el dibujo (Emisor a la izquierda, receptor a la derecha, capa
física en medio).
Licenciado Gustavo Rei
Pág. Nro. 27
Comunicación de Datos − Redes de Computadores
Entramado
Trama
ES UNA SECUENCIA DE BITS QUE CONSTITUYE LA UNIDAD DE INFORMACIÓN UTILIZADA EN LA COMUNICACIÓN ENTRE ENTIDADES
DE LA CAPA DE ENLACE.
La capa física sólo provee un flujo de bits inseguro (puede haber errores), y la capa de enlace debe detectar y,
si es necesario, corregir los errores. Para ello, se envían tramas de bits, los cuales se verifican usando algún código
de redundancia sencillo para poder detectar (e incluso corregir) errores.
Es necesario entonces que las entidades de capa de enlace en dos máquinas distintas se sincronicen, de manera que se identifiquen claramente los comienzos y finales de las tramas. Los métodos más comunes son:
Cuenta de Caracteres
Cada trama contiene al inicio un campo con el largo de la trama. El problema es que si se produce un error en
este campo, es muy difícil volver a sincronizar las entidades. Por ello casi nunca se utiliza;
Caracteres de Inicio y Fin, con Inserción de Caracter
Cada trama comienza con DLE STX y termina con DLE ETX 3. Cuando el receptor detecta un error, sólo debe buscar la secuencia DLE ETX ó DLE STX para saber dónde comienza la siguiente trama. Cuando el contenido de
una trama contiene un DLE, se inserta otro DLE adicional al transmitirla, para indicar que este DLE es un dato. Este
método está muy ligado al código ASCII;
Banderas de Inicio y Final, con Inserción de Bit
Cada trama comienza y termina con un patrón de bits especial, como 0111110 por ejemplo. Cuando el transmisor detecta que la información enviada contiene el patrón, inserta un bit 1 adicional, y transmite 01111110. El receptor detecta esta secuencia y elimina el bit adicional. El receptor sólo debe buscar el patrón dado cuando pierde la
sincronización. Este método permite cualquier largo de bits para las tramas;
Violación de Código Físico
Si no se desea utilizar inserción alguna, se puede utilizar un valor de código no válido en la capa física para
marcar el comienzo y final de las tramas;
Como se ha visto, el problema de mantener sincronizados al transmisor y receptor se maneja a través de alguno de estos algoritmos, los que permiten diferenciar claramente una trama de otra.
Control de Error
En todos los métodos de entramado vistos, cuando se detecta un error, la trama errónea se descarta. Se debe
proveer entonces un mecanismo que permite al transmisor saber que se ha perdido una trama dada para volver a
transmitirla.
En general, los protocolos de enlace identifican con un número de secuencia cada trama enviada, y esperan
que el receptor envíe de regreso un asentimiento de llegada para cada trama enviada (salvo para los asentimientos
mismos). Así, si se recibe un asentimiento positivo, se tiene la certeza que la trama se recibió correctamente. Si se
recibe un asentimiento negativo, o no se recibe asentimiento alguno, se sabe que hubo algún problema y que se
debe retransmitir la trama.
Uno de los peligros de este protocolo es que, cuando se pierde el asentimiento, una trama puede ser enviada
y recibida varias veces. Por esto, el protocolo de enlace debe ser capaz de descartar tramas que se reciben repetidas.
Gestión de Enlace
Cuando existen más de dos máquinas conectadas al mismo medio físico, debe proveerse algún mecanismo
para evitar que dos o más de ellas transmitan al mismo tiempo, ya que esto llevaría a la pérdida de toda la información transmitida.
Cuando hay manejo de conexiones, se deben proveer mecanismos para establecer y liberar conexiones, así
como para enviar y recibir datos a través de una conexión.
3
DLE, STX, ETX son caracteres ASCII (escape de enlace, inicio de trama, fin de trama)
Licenciado Gustavo Rei
Pág. Nro. 28
Comunicación de Datos − Redes de Computadores
Control de Flujo
Se trata de manejar la situación de un transmisor rápido y un receptor lento. Se debe evitar sobrecargar al receptor, haciendo que el transmisor no envíe tramas a velocidad mayor que la que puede manejar el receptor.
Normalmente el receptor es capaz de indicar al transmisor cuándo está listo a recibir una trama y cuando no.
Detección y Corrección de Errores
La detección de errores puede hacerse utilizando los siguientes mecanismos:
Códigos Detectores de Hamming
Son códigos que no utilizan todas las combinaciones posibles de caracteres, de manera que si se recibe una
combinación que está fuera del código, se detecta un error. Se puede corregir el error suponiendo que ha habido un
mínimo de errores, esto es, la palabra que se quiso enviar es la más cercana a la recibida, en los términos que siguen.
Hamming determinó las capacidades de detección y corrección de códigos binarios, de la siguiente forma:
w( r ) = cantidad de 1’s del vector
Peso Hamming de un vector:
Distancia Hamming:
d ( r , s ) = w(r XOR s ) = cantidad de discrepancias
Indica la distancia binaria entre dos palabras. Esta función se utiliza para determinar la palabra más cercana a
una incorrecta recibida.
Distancia de Código:
d ( C ) = d min (r , s )
,∀r ≠ s
Indica la distancia binaria mínima entre dos palabras del código C.
Cap. de Detección:
d ≤
1
2
d ( C)
Indica el valor máximo de errores simples (bits cambiados) que el código es capaz de detectar, esto es, antes
que la palabra se transforme en otra del código.
Cap. de Corrección:
t =
⎣ 2 (d ( C) − 1)⎦
1
Indica el valor máximo de errores simples (bits cambiados) que el código es capaz de corregir en caso de
error, esto es, antes que la corrección se haga hacia una palabra equivocada del código.
Códigos Detectores Cíclicos
Generalmente se utiliza además de lo anterior, un sistema de codificación llamado Código de Redundancia
Cíclica, el cual permite detectar muchos tipos de errores en mensajes largos. Se basan en las matemáticas de polinomios, y aquí no se analizarán en profundidad. Sus características más importantes son:
• Detecta los errores dobles (2 errores simples en el mensaje);
• Detecta los errores impares (cantidad impar de errores simples en el mensaje);
• La probabilidad de no detectar errores es ½(n-2) (mensajes de largo n) ó ½(n-1) (mensajes de mayor largo), con n la cantidad de bits del código de redundancia.
A continuación se muestra el algoritmo para calcular el código de redundancia de un mensaje de palabras de
8 bits (arreglo A), de largo n:
1.
2.
2.1.
2.2.
2.2.1.
2.2.2.
2.2.3.
2.2.4.
2.3.
3.
Licenciado Gustavo Rei
crc16 = 0xFFFF;
para j=1 hasta n
crc16 = crc16 XOR A[j]
para i=1 hasta 8
f = crc16 AND 0x0001
crc16 = crc16 >> 1
si f entonces crc16 = crc16 XOR 0xC001;
fin-para
fin-para
devuelve crc16
Pág. Nro. 29
Comunicación de Datos − Redes de Computadores
En la línea 2.2.3. se utiliza el valor 0xA001, que representa un polinomio elegido de manera tal de maximizar
la posibilidad de detección del código de redundancia. Los algoritmos para palabrea con otras cantidades de bits son
similares, sólo que el polinomio elegido es diferente para cada caso, como muestra la siguiente tabla:
6
8
8
Estándar
CRC-12
CRC-16
CRC-CCITT (16)
Polinomio
x12 + x11 + x3 + x2 + x + 1
x16 + x15 + x2 + 1
x16 + x15 + x5 + 1
Valor Usado
0xC07
0xC001
0xC010
Ampliación ejemplificada
Detección y Corrección de errores
Los errores se pueden producir por muchas causas. En transmisión de datos picos que pueden ser insignificantes en otro tipo de transmisiones, son muy perjudiciales.
Un pequeño ruido provoca que se estropeen muchos bits. Para detectar y corregir los errores se debe introducir información redundante a la que se transmite. Se puede introducir información redundante para que el receptor
detecte el error (detección) o introducir más información redundante para que el receptor pueda corregir el error (corrección).
d0 ... dm c1 ... cr d = bits de datos que proporciona el nivel de red
n=m+r
c = bits de redundancia
Palabra código es la suma de estos bits.
La distancia de Hamming entre palabras código es el número de posiciones individuales de bit, que difieren
entre las dos palabras código.
Ejemplo:
00100101
01000101
01100000
distancia Hamming = 2
Dos palabras código que difieran una distancia Hamming x, requerirán x errores individuales de bit para convertirse la una en la otra.
La detección de errores se basa en el principio de que en una transmisión no todas las combinaciones de los n
bits son válidas, aunque si son válidas cualquier combinación de los m bits de datos.
La distancia de Hamming de un código completo, es la mínima distancia de Hamming entre dos palabras código válidas.
Método de detección de errores (Paridad)
Cuenta el número de unos que hay en los datos. La paridad puede ser par (se añade el bit de paridad para
que haya un número par de unos) o impar (se añade el bit de paridad para que haya un número impar de unos).
Ejemplo: m = 4
r=1
Paridad par
0000
0000
0001
0010
0010
0
1
0
0
1
valida
X
X
X
valida
Este método solo puede detectar un error de bit.
Para detectar d errores individuales de bit, será necesario un código con una distancia de Hamming d+1
Corrección de errores
00000 00000
Licenciado Gustavo Rei
mínima distancia de Hamming = 5
Pág. Nro. 30
Comunicación de Datos − Redes de Computadores
00000 11111
11111 00000
11111 11111
Se manda 1 1 1 1 1 0 0 0 0 0 , y se recibe 1 0 1 1 1 0 1 0 0 0
La distancia de Hamming entre lo recibido y lo enviado es 2. El receptor reconstruye lo recibido acercándolo a
la palabra válida más cercana.
Para corregir d errores, es necesario un código con una distancia de Hamming 2d+1
Construcción de un código para la corrección de errores de un bit
d1 ... dm c1 ... cr n = m + r
Por cada mensaje legal → (n+1) combinaciones
Combinaciones posibles 2n ≥ 2m (n+1) ⇒ m + r +1 ≤ 2r
Regla de Hamming
La Regla de Hamming indica los bits de redundancia necesarios para corregir errores en palabras de m bits
Para palabras de 4 bits → serán necesarios 3 bits de redundancia
Para palabras de 11 bits → serán necesarios 4 bits de redundancia
El código que cumple la igualdad en la regla de Hamming, se denomina código óptimo.
Método de corrección de errores de Hamming
Se basa en dado un vector palabra código c = (c1, c2, ..., cn) y un vector de datos d = (d1, d2, ..., dm), hacer que
se cumpla la igualdad d × G = c, donde G es una matriz generadora de paridad G = [I : A]
Ejemplo:
m=4
r=3
G=
1000111
0100011
0010101
0001110
d = [1 0 1 0]
d × G = [1 0 1 0 | 0 1 0]
La operación se realiza en aritmética módulo 2 (la multiplicación como AND bit a bit y la suma como XOR).
Ejemplo:
1010
AND 1 0 0 0
XOR (1 0 0 0) = 1
En la recepción se utiliza una matriz H = [AT : I]. Se tiene un vector de comprobación de paridad s = (s1, s2,
..., sn) que se obtiene de s = H r
Si en la transmisión no se ha producido ningún error entonces r = c
Ejemplo:
S=
1011100
1101010
1110001
H
×
1
0
1
0
0
1
0
r
=
0
0
0
Cuando s da todo ceros, se interpretará como que la recepción ha sido correcta. Este es el caso en que c = r
Licenciado Gustavo Rei
Pág. Nro. 31
Comunicación de Datos − Redes de Computadores
Suponemos ahora que c ≠ r
S=
1011100
1101010
1110001
×
H
0
0
1
0
0
1
0
r
=
1
1
1
Para corregir el error se comprueba el vector s, con que columna de la matriz H coincide y esto indica el número de bit que se ha cambiado.
Como los errores no se producen salteados sino a ráfagas, la transmisión se realiza en bloques para permitir
corregir ráfagas de errores de hasta 4 bits (en este caso):
1001ccc
1010ccc
1111ccc
1001ccc
1234
Método de la comprobación de la redundancia cíclica
Está basado en asimilar las secuencias de bit con polinomios de coeficientes 0 o 1
6
5
4
3
2
5
4
2
0110110
⇒ 0x +1x +1x +0x +1x +1x+0 ⇒ x +x +x +x
Para usar este método emisor y receptor acuerdan utilizar un polinomio G(x), que es el polinomio generador.
La información redundante generada por este polinomio se denomina checksum.
El cálculo del checksum se lleva a cabo de forma que el polinomio que representa la trama de datos + checksum sea divisible por G(x)
M(x) = polinomio que representa los bits de datos
T(x) = trama de datos + checksum
Algoritmo para el cálculo del checksum:
1º) Añadir r bits 0 al final de los datos
xr M(x) r = grado (G(x))
Ejemplo:
G(x) = x5 + x4 + x2 + 1 r = 5
M(x) = x9 + x7 + x3 + x2 + 1
⇒ 101000110100000
2º) Dividir xr M(x) entre G(x) utilizando aritmética en módulo 2
Licenciado Gustavo Rei
Pág. Nro. 32
Comunicación de Datos − Redes de Computadores
101000110100000
110101
0111011
110101
00111010
110101
00111110
110101
00101100
resto R(x)
110101
0110010
110101
0001110
|110101
1101010110
cociente Q(x) y
3º) Restar xr M(x) - R(x) = T(x) que es lo que se transmite
101000110100000
1110
101000110101110
4º) Receptor:
T’(x) / G(x)
⇒ R’(x)
Si R’(x) = 0 la trama de datos recibida se da como buena
Si R’(x) ≠ 0 la trama de datos tendrá errores
Aunque si R’(x) = 0 no se puede asegurar que no tenga errores ya que pueden haberse producido muchos
errores en T(x) y que al dividirlo por G(x) de 0
Condiciones que debe cumplir G(x) para detectar errores de 1 bit:
T’(x) / G(x) = T(x) + E(x) / G(x) = T(x) / G(x) + E(x) / G(x)
Si solo se ha producido un error en la transmisión:
E(x) = xi
i = posición del error
Para detectar errores de un bit, G(x) deberá tener más de un término.
¿Qué debe cumplir G(x) para detectar un número impar de errores?
Si E(x) tiene un número impar de términos, no tiene (x+1) como factor
entonces, si G(x) tiene a (x+1) como factor, E(x) no es divisible por G(x)
Polinomios más utilizados:
CRC-12
CRC-16
CRC-CCITT
G(x) = x12 + x11 + x3 + x2 + x + 1
G(x) = x16 + x15 + x2 + 1
G(x) = x16 + x12 + x5 + 1
Los polinomios de grado 16 son capaces de detectar ráfagas de error de hasta 16 bits.
Gestión de Enlace
Generalmente esta función de la capa de enlace se conoce como subcapa de control de acceso al medio
(MAC), ya que es independiente del control de flujo.
Cuando existen más de dos máquinas conectadas al mismo medio físico, debe proveerse algún mecanismo
para evitar que dos o más de ellas transmitan al mismo tiempo, ya que esto llevaría a la pérdida de toda la información transmitida. Por lo anterior se hacen necesarios mecanismos de gestión de enlace, que permiten controlar qué
máquina puede transmitir en un momento dado.
Licenciado Gustavo Rei
Pág. Nro. 33
Comunicación de Datos − Redes de Computadores
Colisión:
OCURRE CUANDO DOS MÁQUINAS TRANSMITEN AL MISMO TIEMPO. EXISTEN DIFERENTES ESTRATEGIAS PARA LOGRAR EVITAR
LAS COLISIONES.
Estrategias de Gestión de Enlace
Estrategias de Repartición (Estáticas)
Estas estrategias reparten el canal según algún criterio utilizando multiplexores. La repartición se puede
hacer de múltiples formas, como pueden ser:
TDM (MULTIPLEXACIÓN POR DIVISIÓN DE TIEMPO):
Divide el tiempo de utilización del canal en segmentos, para que cada máquina transmita sólo en el tiempo
asignado a ella (problema: sincronización);
FDM (MULTIPLEXACIÓN POR DIVISIÓN DE FRECUENCIA):
Utiliza múltiples frecuencias base en un mismo canal, para que cada máquina utilice una de ellas;
CDM (MULTIPLEXACIÓN POR DIVISIÓN DE CÓDIGO):
Utiliza sólo una parte del código de transmisión del canal para cada máquina;
Existen versiones directas e indirectas de cada uno de ellos. En las directas las máquinas están conectadas
directamente al canal, y en las indirectas existe un concentrador intermedio que realiza el proceso de multiplexación.
Control
Centrali-
Conexión Directa
⎯
zado
Control Distribui-
TDMA, FDMA, CDMA
Conexión Indirecta
TDM, FDM, CDM (concentradores)
⎯
do
Estrategias de Compartición (Dinámicas)
Estas estrategias permiten compartir el canal, pudiendo todas las máquinas transmitir y recibir utilizando un
mismo canal, y las estrategias para evitar las colisiones son implementadas mediante algún algoritmo.
Control
Centrali-
zado
Conexión Directa
Selección (Daisy Chaining)
Reserva
Conexión Indirecta
Concentradores Estáticos
Concentradores Dinámicos
do
Control Distribui- 1. Selección (Token-Ring,
Token-Bus)
2. Reserva (DQDB)
3. Contienda (Aloha, CSMA/CD)
⎯
Estas estrategias de compartición se pueden caracterizar mediante los siguientes criterios:
Hipótesis del Canal Único:
Se tiene un solo canal disponible para transmitir y recibir, y no se puede utilizar otro medio de comunicación;
MODELO DE ESTACIONES:
Existe una cantidad finita de máquinas conectadas directamente al canal, las cuales pueden transmitir y recibir
tramas en cualquier momento. Sin embargo, cuando la capa de red en una de esas máquinas desea transmitir un
paquete, ésta se bloquea hasta que la capa de enlace lo transmite con éxito;
COLISIONES:
Licenciado Gustavo Rei
Pág. Nro. 34
Comunicación de Datos − Redes de Computadores
Cuando dos tramas colisionan la información se pierde, por lo que se debe transmitir ambas nuevamente;
ASIGNACIÓN DE TIEMPO:
Las tramas se pueden transmitir en cualquier momento (tiempo continuo) o de acuerdo a cierta sincronización
(tiempo ranurado);
DETECCIÓN DE USO:
Las máquinas pueden o no ser capaces de detectar si el canal está siendo o no utilizado.
Estándares de Gestión de Enlace (IEEE 802)
El siguiente esquema muestra la relación de los estándares de Enlace de IEEE con respecto al estándar de
capas de la ISO:
IEEE
ISO
802.1
Capas
periores
Su-
LLC 802.2
Capa de Enlace
MAC
MAC
MAC
MAC
802.3
802.4
….
802.8
Capa Física
802.1: INTERFAZ DE LA CAPA DE ENLACE CON CAPAS SUPERIORES (A), ARQUITECTURA DE LAS LAN (B), E INTERCONEXIONADO DE REDES (C);
802.2: CONTROL DE ENLACE LÓGICO (LOGIC LINK CONTROL);
802.3: CSMA/CD;
802.4: TOKEN-BUS;
802.5: TOKEN-RING;
802.6: RED DE AREA METROPOLITANA DQDB (DISTRIBUTED QUEUE DUAL BUS);
802.7: RED DE BANDA ANCHA; ????
802.8: FDDI (FIBER DISTRIBUTED DATA INTERFACE).
Protocolo Aloha
Aloha Puro
process alohaPuro
transmite;
End
transmite inmediatamente
• Estrategia: Compartición distribuida, directa y de contienda;
• Detección de Uso: No pueden detectar si el canal está o no siendo utilizado;
• Asignación de Tiempo: Continuo, las estaciones pueden transmitir en cualquier momento.
Licenciado Gustavo Rei
Pág. Nro. 35
Comunicación de Datos − Redes de Computadores
En este protocolo las estaciones pueden transmitir en cualquier momento sus tramas, y para detectar si hubo
o no colisión deben recibir simultáneamente el canal. Si lo recibido es diferente a lo enviado es porque hubo colisión,
y se debe intentar retransmitir nuevamente la trama luego de un periodo de tiempo aleatorio.
Aloha Ranurado
process alohaRanurado
[no bip] alohaRanurado;
[]
[bip] transmite;
End
espera la ranura
transmite en ranura
• Estrategia: Compartición distribuida, directa y de contienda;
• Detección de Uso: No pueden detectar si el canal está o no siendo utilizado;
• Asignación de Tiempo: Ranurado, las estaciones pueden transmitir sólo en momentos dados.
Para establecer las ranuras de tiempo es necesaria una estación especial que emita una señal al inicio de cada ranura, para que así las demás estaciones puedan saber cuándo comienza cada una. En este protocolo las estaciones pueden transmitir sólo a partir del comienzo de las ranuras, de manera que la probabilidad de colisión se reduce a la mitad.
Al igual que en Aloha Puro, para detectar si hubo o no colisión deben recibir simultáneamente el canal. Si lo
recibido es diferente a lo enviado es porque hubo colisión, y se debe intentar retransmitir nuevamente la trama en
otra ranura, siempre luego de un periodo de tiempo aleatorio.
Protocolos CSMA (802.3)
CSMA 1−Persistente
process csma1P
[ocupado] csma1P;
[]
[libre] transmite;
End
espera que este desocupado
transmite
• Estrategia: Compartición distribuida, directa y de contienda;
• Detección de Uso: pueden detectar si el canal está o no siendo utilizado;
• Asignación de Tiempo: Continuo, las estaciones pueden transmitir en cualquier momento.
Este protocolo es igual al Aloha Puro, pero puede detectar si el canal está o no siendo utilizado. Así, la estación empezará a transmitir inmediatamente después de que se termine de transmitir la trama actual.
Esto produce un problema, debido a que si dos estaciones están esperando, colisionarán cuando termine la
trama actual.
CSMA No Persistente
process csmaNP
[ocupado] delay; csmaNP;
[]
[libre] transmite;
End
espera un tiempo aleatorio
transmite
• Estrategia: Compartición distribuida, directa y de contienda;
• Detección de Uso: pueden detectar si el canal está o no siendo utilizado;
Licenciado Gustavo Rei
Pág. Nro. 36
Comunicación de Datos − Redes de Computadores
• Asignación de Tiempo: Continuo, las estaciones pueden transmitir en cualquier momento.
El CSMA No Persistente es una mejora del 1−Persistente, y consiste en no verificar continuamente si el canal
está ocupado o no, sino que se debe esperar un cierto periodo aleatorio de tiempo antes de la próxima verificación.
Así, cuando hay dos estaciones esperando por el final de la trama actual, es muy improbable que colisionen entre
ellas.
CSMA p−Persistente
Process csmaPP
[ocupado] csmaPP;
[]
[libre]
[prob = p]
transmite;
[]
[prob != p]
delay;
csmaPP;
End
espera que esté desocupado
transmite con probabilidad p
espera un tiempo aleatorio
• Estrategia: Compartición distribuida, directa y de contienda;
• Detección de Uso: pueden detectar si el canal está o no siendo utilizado;
• Asignación de Tiempo: Continuo (puedes ser ranurado, con delay = tiempo de ranura), las
estaciones pueden transmitir en cualquier momento.
El CSMA p−Persistente es otra mejora del 1−Persistente, y consiste en no transmitir siempre inmediatamente
después de la trama actual, sino que sólo transmite con una probabilidad p. Con esto se logra que sólo algunas de
las estaciones transmitan al finalizar la trama actual.
CSMA con Detección de Colisión (CSMA/CD)
El CSMA/CD es una mejora a los protocolos CSMA no ranurados, que consiste en detener la transmisión de
una trama en cuanto se detecte una colisión con otra estación. Así, no es necesario esperar por la transmisión de
toda la trama para que se desocupe el canal.
Esta variante es utilizada en muchos protocolos de LAN comerciales.
Rendimiento: Aloha y CSMA
Consideremos las estrategias Aloha y CSMA, para un canal con infinitas estaciones intentando transmitir tramas de largo fijo. Se tiene un tiempo de trama fijo (largo de trama / bps).
Sea S el rendimiento efectivo desde el punto de vista de una estación, esto es, la probabilidad de transmitir
una trama inmediatamente. Se tiene que 0 < S < 1, ya que S > 1 significa que las estaciones generan tramas a velocidad mayor que la que es capaz de llevar el canal.
Sea además G la razón de tramas que se desean transmitir (en total, todas las estaciones) en un tiempo de
trama, incluyendo los intentos de retransmisión. Podemos relacionar G con S para los protocolos considerados:
Licenciado Gustavo Rei
Pág. Nro. 37
Comunicación de Datos − Redes de Computadores
Protocolo Token−Bus (Paso de Testigo en Bus) (802.4)
Testigo: Trama especial que es enviada por una estación que terminó de transmitir a otra para que ésta comience a transmitir.
En esta estrategia existe un ordenamiento de estaciones, y se implementa un protocolo distribuido para asignar turnos de transmisión a cada estación, de forma que no existen colisiones.
• Estrategia: Compartición distribuida, directa y de selección;
• Detección de Uso: pueden detectar si el canal está o no siendo utilizado, más aún, pueden
saber cuándo están autorizados para transmitir (sin colisiones);
• Asignación de Tiempo: Continuo, pero las estaciones pueden transmitir sólo cuando les toca.
Cuando se inicializa el anillo cada estación determina a cuál estación debe pasar el testigo cuando ha terminado su turno. Esta asignación se hace generalmente basándose en los valores de las direcciones de enlace de
cada una de las estaciones, de manera que cada una de ellas pasa el testigo a la estación con dirección inmediatamente menor que la propia. Para el caso de la estación con menor dirección, ésta debe pasar el testigo a la estación
con dirección mayor. Se establece así un anillo lógico para el paso del testigo.
Cuando una estación recibe el testigo, puede transmitir cuantas tramas desee hasta que no tenga más tramas
o hasta que pase un tiempo determinado. Luego debe pasar el testigo a la siguiente estación.
Además, para asegurar un ancho de banda mínimo de transmisión, se establecen en cada estación varias colas de tramas a transmitir, de manera que para la cola de prioridad mayor se tiene seguridad de una cierta velocidad
de transmisión.
El mecanismo para agregar y sacar estaciones del anillo lógico ha de ser especificado con exactitud, y debe
considerar los casos de una estación que se salga del anillo sin previo aviso.
Protocolo Token−Ring (Paso de Testigo en Anillo) (802.5)
Esta estrategia es similar a la anterior, pero en vez de un anillo lógico (SW) se utiliza un anillo físico (HW) de
cableado. Lo anterior puede resultar muy engorroso a la hora de implementar la red, pero existen soluciones tipo
anillo−estrella.
• Estrategia: Compartición distribuida, directa y de selección;
• Detección de Uso: pueden detectar si el canal está o no siendo utilizado, más aún, pueden
saber cuándo están autorizados para transmitir (sin colisiones);
• Asignación de Tiempo: Continuo, pero las estaciones pueden transmitir sólo cuando les toca.
Retardo de
Licenciado Gustavo Rei
Pág. Nro. 38
Comunicación de Datos − Redes de Computadores
la
Configuración
Física
Modo de
Recepción
a
Esta- la
de
Esta-
Modo de
Transmisión
En el modo de recepción la estación puede recibir todas las tramas que circulen por el anillo. Hay que destacar que los nodos del anillo son activos, de forma que deben estar siempre energizados para el correcto funcionamiento del anillo. Es aquí donde son de utilidad los anillos−estrella, que son capaces de detectar nodos no energizados para dejarlos fuera del anillo.
En modo de transmisión la estación corta el anillo y transmite, recibiendo de regreso el mismo mensaje transmitido con un cierto atraso. Esto sirve para evitar el uso de asentimientos (vea la siguiente sección, Control de Flujo):
si se recibe con errores se intenta transmitir de nuevo.
El paso de testigo se hace directamente entre estaciones físicamente consecutivas, y las tramas no poseen
límite de longitud. Así, se debe imponer un tiempo máximo de utilización del canal para cada estación.
El funcionamiento es similar al caso de Testigo en Bus, pero el formato de la trama de Token−Ring es especial
(los largos son en bytes):
Testigo:
D
C
D
Trama de Datos o de Control:
2ó6
Dir.
D C C Destino
2ó6
Dir.
Origen
SD: Delimitador de Comienzo
AC: Control de Acceso
FC: Control de Trama
sin límite
Datos
4
CRC
D
S
DE: Delimitador de Fin
FS: Estado de Trama
El byte FS se envía sólo cuando se envían datos, y contiene dos bits especiales para manejar errores en la
recepción: los bits A y C. Las tramas siempre se envían con ambos bits con valor 0, pero pueden ser modificados por
el destinatario de la trama. Cuando el emisor recibe de regreso la trama enviada, verifica estos bits, y pueden darse
3 casos:
• A=0, C=0: El destinatario no está presente (no se modificaron los bits);
• A=1, C=0: El destinatario está presente, pero no ha copiado la trama (falta de memoria u otro
motivo);
• A=1, C=1: El destinatario está presente y ha copiado con éxito la trama.
Distributed Queue Dual Bus (DQDB, 802.6)
Esta estrategia se basa en una topología de doble bus, como se muestra en la figura:
• Estrategia: Compartición distribuida, directa y de reserva;
• Detección de Uso: deben reservar espacio para transmitir, por lo que pueden saber cuándo
están autorizados para transmitir (sin colisiones);
• Asignación de Tiempo: Ranurado, y las estaciones pueden transmitir sólo cuando les toca.
Licenciado Gustavo Rei
Pág. Nro. 39
Comunicación de Datos − Redes de Computadores
Las tramas en DQDB se llaman celdas, y son de 53 bytes de largo (9 de encabezado y 44 de datos). Los terminadores de bus generan celdas vacías a 125μ s , lo cual equivale a una velocidad de transmisión máxima de
22Mbps (sólo datos). Cada celda transmitida llega a todas las estaciones que están más adelante en el camino, y en
cada una existe un retraso de transmisión de una celda de largo.
El primer byte da las celdas corresponde al campo de control de acceso (Access Control Field), el cual posee
los siguientes bits (además de otros):
• Busy
(1 bit): Indica si la celda contiene o no datos;
• Reserved (1 bit): Indica si esta trama (vacía) está o no reservada;
• Req.
(4 bits): indica una cantidad de celdas que se deben dejar pasar,
además de las ya reservadas con anterioridad.
Cuando una estación desea transmitir, primero debe encontrar una celda por el bus en dirección opuesta, en
la cual se pueda aumentar el valor Req (se evita así la congestión). En todas las estaciones, por cada celda con
Req. Mayor que cero que se reciba, se deben dejar pasar las correspondientes celdas vacías en la dirección opuesta.
Luego de enviar la reserva, se puede utilizar cualquier celda vacía que viaje en la dirección opuesta para enviar los datos, siempre que ya se hayan satisfecho todas las reservas que se recibieron con anterioridad. El algoritmo
funciona de la misma forma para ambas direcciones de transmisión, y asegura una igualdad de oportunidades de
transmisión a todas las estaciones.
Las direcciones son de 6 bits, y no es necesario incluir la dirección origen en el encabezado de las celdas, debido a que se provee un servicio de red sin conexión, el cual no tiene por que asegurar que las celdas llegan a destino.
Fiber Distributed Data Interface (FDDI, 802.8)
Este protocolo MAC es similar al paso de testigo en anillo (802.), pero utiliza una topología de doble anillo y un
protocolo diferente, adaptado a las fibras ópticas. Si se corta una línea, las estaciones pueden cerrar el anillo utilizando como se muestra en las figuras:
• Estrategia: Compartición distribuida, indirecta y de selección;
• Detección de Uso: pueden detectar si el canal está o no siendo utilizado, más aún, pueden
saber cuándo están autorizados para transmitir (sin colisiones);
• Asignación de Tiempo: Continuo, pero las estaciones pueden transmitir sólo cuando les toca.
La velocidad de transmisión es de 100Mbps, y el alcance es de dos kilómetros. La única diferencia práctica
con Token-Passing Bus (además de la mayor velocidad) es que no se conectan las estaciones directamente sino
que se usan concentradores, debido al alto costo de las interfaces ópticas.
ISDN, BISDN (ATM)
Son estándares comerciales para transmisión digital de voz, video y datos, utilizados ampliamente por las empresas portadoras privadas. Proveen servicios combinados de los siguientes tipos:
Tipo B:canal de 16Kbps, se asegura este ancho de banda al cliente;
Tipo D: canal de control, compartido por todos los clientes, quienes lo utilizan sólo como el proveedor
indique;
Otros: se pueden proveer servicios con ancho de banda variable según demanda, de forma que se cobre no
por la línea dedicada, sino por la cantidad de datos transmitidos.
Licenciado Gustavo Rei
Pág. Nro. 40
Comunicación de Datos − Redes de Computadores
Existen dos estándares ISDN, y son los siguientes:
ISDN (Integrated Services Digital Network):
Provee servicios básicos, con 2B+D (16Kbps), y primarios, con 23B+D (64Kbps) en EEUU, con 30B+D
(64Kbps) en Europa;
BISDN (ISDN de Banda Ancha):
provee servicios con banda variable según demanda, con límite predefinido. Usa tecnología ATM para
implementación.
ATM (Asyncronous Transfer Mode):
Está definido por el estándar BISDN, y utiliza fibras ópticas para transmisión a larga distancia. Además, se
definen no sólo las capas físicas y de enlace, sino que también la de red, para poder conectar varias subredes ATM
entre sí.
Las tramas en ATM se llaman celdas, y son de 53 bytes de largo (5 de encabezado y 48 de datos). Los terminadores de bus generan celdas vacías, a una velocidad de transmisión máxima de 155Mbps (sólo datos).
Provee un servicio orientado a conexión, por lo que es difícil utilizar ATM para implementar una red LAN.
Control de Flujo
El protocolo de comunicaciones entre transmisor y receptor debe ser capaz de manejar la situación de un
transmisor rápido y un receptor lento, así como asegurar la correcta recepción de todos los mensajes.
A continuación analizaremos una serie de protocolos simples de enlace, para los cual son necesarias algunas
definiciones previas:
Definiciones
Estructura de la Trama
Una trama está constituida por cuatro campos, y los tres primeros constituyen la cabecera de la capa de enlace:
•
•
•
•
Tipo:
Seq:
Ack:
Info:
Indica si hay o no datos en el campo Info;
Nº de secuencia de esta trama;
Nº de secuencia de asentimiento;
Un paquete de capa de red transmitido.
El campo Info podría ser de tamaño variable, pero debería agregarse otro campo en la cabecera para indicar
su largo.
Eventos que Recibe la Capa de Enlace
Cada entidad de la torre de protocolos trabaja en base a la manipulación o reacción a eventos que recibe. Para la capa de red, los eventos básicos necesarios son los que listan a continuación:
•
•
•
•
•
LlegóTrama:
Indica que se ha recibido una trama desde la capa física;
CRCerr:
Indica que la trama recibida desde la capa física tiene errores;
CapaRedDesocupada:
Indica que la capa de red está desocupada y lista para
recibir un paquete;
CapaRedLista:
Indica que la capa de red está lista a enviar un paquete;
TimeOut: Indica que ha vencido el temporizador;
Funciones Predefinidas para la Capa de Enlace
Los protocolos que se mostrarán a continuación utilizan una serie de funciones predefinidas, que son las siguientes:
Licenciado Gustavo Rei
Pág. Nro. 41
Comunicación de Datos − Redes de Computadores
• Espera():
• Incrementa():
Espera a que suceda algún evento;
incrementa circularmente un contador.
• ACapaFísica():
Transmite una trama utilizando la capa física;
• DeCapaFísica(): Recibe una trama desde la capa física;
• ACapaRed():
• DeCapaRed():
Envía un paquete recibido a la capa de red;
Recibe paquete de la capa de red para ser transmitido;
• IniciaTimer():
• ParaTimer():
Inicia el temporizador y activa el evento TimeOut;
Detiene el temporizador y desactiva el evento TimeOut;
• IniciaTimerAck():
Inicia el temporizador auxiliar;
• ParaTimerAck(): Detiene el temporizador auxiliar y desactiva el evento
CapaRedDesocupada;
• HabilitaCapaRed():
Habilita la capa de red para generar evento
CapaRedLista;
• DeshabilitaCapaRed():Deshabilita la capa de red, prohibiéndole
generar un evento CapaRedLista;
Cuando llega una trama, el HW determina si es correcta o no. Cuando lo es, se genera el evento LlegóTrama,
y si no se genera el evento CRCerr.
Supondremos que el HW de la capa de enlace dedicado a la utilización de la capa física implementa los algoritmos de detección de error, utilizando código de redundancia, por ejemplo. Además, para simplificar, los algoritmos
que se mostrarán para la capa de enlace no implementan ningún tipo de paralelismo, el cual es necesario en la capa
de enlace.
Protocolos sin Memoria
Protocolo Unilateral No Restringido (U-NR)
Este protocolo es el más simple, y sólo puede enviar datos en una dirección. Supondremos que ambas entidades de la capa de red siempre están listas a transmitir y recibir respectivamente. Además despreciaremos el tiempo de procesamiento, y supondremos que la capa física nunca daña la información.
Emisor()
{
t : trama
p : paquete
Repetir
DeCapaRed(p)
t.Info = p
ACapaFísica(t)
hasta-siempre
}
Receptor()
{
t : trama
e : evento
Repetir
Espera(e)
DeCapaFísica(t)
ACapaRed(t.Info)
hasta-siempre
}
Licenciado Gustavo Rei
obtiene paquete a transmitir
lo copia a la trama
trasmite la trama
único evento posible es LlegóTrama
recibe la trama
pasa el paquete a la capa de red
Pág. Nro. 42
Comunicación de Datos − Redes de Computadores
Protocolo Unilateral de Parada y Espera (U-P/E)
Este protocolo maneja la situación cuando el receptor no puede recibir más tramas debido a que no ha procesado aún las que ha recibido. Esto se hace mediante un mecanismo de retroalimentación llamado asentimiento, mediante el cual el receptor puede indicar al emisor que ya puede recibir una nueva trama.
Sin embargo, este protocolo provoca una estricta alternancia, debido a que el emisor puede transmitir la siguiente trama sólo cuando ya ha recibido asentimiento de la anterior.
Emisor()
{
t : trama
p : paquete
e : evento
Repetir
DeCapaRed(p)
t.Info = p
AcapaFísica(t)
Espera(e)
hasta-siempre
}
Receptor()
{
s,t : trama
e : evento
Repetir
Espera(e)
DeCapaFísica(t)
ACapaRed(t.Info)
ACapaFísica(s)
hasta-siempre
}
obtiene paquete a transmitir
lo copia a la trama
trasmite la trama
espera único evento posible: LlegóTrama
único evento posible es LlegóTrama
recibe la trama
pasa el paquete a la capa de red
envía trama de relleno como asentimiento
Protocolo Unilateral para Canal Ruidoso (U-CR)
Este protocolo agrega la capacidad de manejar las situaciones en que una trama se recibe con errores, caso
en el cual es necesaria la retransmisión de ella. Para lo anterior es necesario utilizar números de secuencia asociados a cada trama transmitida, de manera que el receptor pueda saber si la trama que recibe es la siguiente esperada
o no.
Cabe destacar que también se pueden dañar las tramas de asentimiento, por lo que no basta con que el emisor suponga que si no se recibe asentimiento, significa la trama enviada llegó con errores al receptor.
Emisor()
{
t : trama
p : paquete
e : evento
sgte = 0 : secuencia
DeCapaRed(p)
repetir
t.Info = p
t.Seq = sgte
ACapaFisica(t)
IniciaTimer()
Espera(e)
si e = LlegóTrama entonces
DeCapaRed(p)
Incrementa(sgte)
fin-si
hasta-siempre
}
Licenciado Gustavo Rei
inicializa secuencia de transmitidos
obtiene paquete a transmitir
construye la trama a transmitir
transmite la trama
inicializa Timer
(LlegóTrama, CRCerr ó TimeOut)
obtiene paquete a transmitir
incrementa secuencia
Pág. Nro. 43
Comunicación de Datos − Redes de Computadores
Receptor()
{
s,r : trama
e : evento
sgte = 0 : secuencia
inicializa secuencia de esperados
DeCapaRed(p)
repetir
Espera(e)
si e = LlegóTrama entonces
DeCapaFísica(r)
si r.Seq = sgte entonces
ACapaRed(t.Info)
Incrementa(sgte)
fin-si
ACapaFísica(s)
fin-si
hasta-siempre
obtiene paquete a transmitir
(LlegóTrama ó CRCerr)
obtiene paquete a transmitir
se recibió trama esperada
incrementa secuencia
envía asentimiento
}
En este protocolo se pueden producir dos casos de errores de transmisión:
Error en Datos: El receptor recibe una trama errónea y no envía asentimiento, haciendo que en el emisor se
genere el evento TimeOut y se retransmite la trama;
Error en Asentimiento: El receptor recibe correctamente una trama, pero el asentimiento llega incorrecto al
emisor. Se genera en él el evento TimeOut y se retransmite la trama. El receptor recibe una trama duplicada y
la descarta.
En resumen, cualquiera sea la situación en que una trama se recibe con errores, el protocolo es capaz de solucionar el problema. Aún así, este protocolo es muy lento, debido a que, por la alternancia estricta, se debe esperar
a que se venza el temporizador para enviar la siguiente trama
PROTOCOLOS DE VENTANA DESLIZANTE
El concepto de ventana deslizante permite proveer a los protocolos de enlace una gran ventaja: permite comunicación bidireccional.
En los protocolos anteriores se utilizaban tramas en sentido contrario para enviar asentimientos, las cuales
podrían contener además datos. Para los asentimientos de estos que viajan en dirección opuesta se puede asimismo utilizar las tramas de datos originales. Esta técnica recibe el nombre de superposición, y permite aprovechar mucho mejor el ancho de banda del canal, ya que permite enviar datos y asentimientos en una misma trama. Debe tenerse claro que siempre es posible enviar una trama con sólo asentimiento o sólo datos, ya que el asentimiento debe
siempre ser recibido de vuelta antes que ocurra el evento TimeOut en el emisor, debido a que esto generaría su
retransmisión.
Además, las entidades de la capa de enlace, que ahora pueden enviar y recibir datos, poseen una cierta capacidad de memoria emisora y de memoria receptora (ventanas). La ventana emisora contiene una lista de las tramas que ya se han enviado pero todavía no se ha recibido el asentimiento (si está llena, no se pueden enviar más), y
la ventana receptora contiene las tramas recibidas que aún no han sido procesadas por la capa de red (si está llena, no se pueden recibir más).
PROTOCOLO DE VENTANA DESLIZANTE DE 1 BIT
El protocolo que sigue posee una ventana de tamaño 1, esto es, se puede almacenar sólo una trama a la vez
en el emisor o receptor. Por lo anterior, este protocolo sólo acepta la recepción de tramas en orden, lo que para tamaños más grandes no es una restricción. Además, posee el problema de no aprovechar la velocidad del canal de
datos de forma óptima.
ProtocoloVentana1()
{
r,s : trama
p : paquete
e : evento
aRecibir = 0 : sec
inicializa secuencia de recibidos (0 ó 1)
Licenciado Gustavo Rei
Pág. Nro. 44
Comunicación de Datos − Redes de Computadores
aTransmitir = 0 : sec
DeCapaRed(p)
s.info = p
s.seq = aTransmitir
s.ack = 1 – aRecibir
ACapaFísica(s)
IniciaTimer()
Repetir
Espera(e)
si e = LlegóTrama entonces
DeCapaFísica(r)
si r.seq = aRecibir entonces
ACapaRed(r.info)
Incrementa(aRecibir)
si r.ack = aTransmitir entonces
DeCapaRed(p)
Incrementa(aTransmitir)
s.info = p
s.seq = aTransmitir
s.ack = 1 – aRecibir
ACapaFísica(s)
IniciaTimer()
hasta-siempre
inicializa secuencia de enviados (0 ó 1)
arma trama a enviar
transmite trama
inicializa temporizador principal
(LlegóTrama, CRCerr ó TimeOut)
obtiene la trama
trama correcta
despacha paquete
asent. correcto
obtiene paquete sgte.
arma trama a enviar
transmite trama
inicializa temporizador principal
}
Hasta ahora se han considerado los tiempos necesarios para que una trama llegue al receptor y que un asentimiento llegue de regreso como despreciables, lo cual es una suposición absurda (considere transmisión satelital,
por ej.). Debido a lo anterior, es imposible que los protocolos anteriores utilicen el ancho de banda del canal de manera siquiera buena, debido a que están obligados a esperar a que llegue el asentimiento antes de enviar otra trama.
La solución es utilizar la técnica de envío continuo (pipelining), que consiste en aumentar el tamaño de las
ventanas de transmisión y recepción, de manera que el emisor pueda enviar w tramas sin necesidad de esperar que
lleguen los asentimientos. Se debe entonces seleccionar un w que sea capaz de contener al menos la cantidad de
tramas que se pueden enviar antes que llegue el primer asentimiento de regreso.
La utilización de esta técnica sobre una canal inseguro genera el problema del tratamiento de tramas con error
o perdidas, ya que el receptor debe pasar a la capa de Red los paquetes en orden. Para resolver el problema se
utilizan dos técnicas, que son las empleadas en los dos últimos protocolos por revisar:
PROTOCOLO DE VENTANA DESLIZANTE - REPETICIÓN NO SELECTIVA
En esta solución el receptor tiene una ventana de tamaño 1, y en consecuencia debe desechar todas las tramas que llegan después de una trama con errores o cuando se pierde una trama (se detecta un número de secuencia incorrecto). En otras palabras, la capa de enlace se rehusa a recibir tramas fuera de orden.
La siguiente figura muestra cómo trabaja la capa de enlace en este caso (el código para este protocolo se
puede encontrar en el anexo del presente texto):
0
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
9
10
E D D D D D D
1
5
0
2
3
4
6
7
8
El tamaño de la ventana de transmisión para este protocolo debe ser menor o igual a l valor máximo para números de secuencia más uno. Esta solución puede parecer buena, pero cuando los errores son comunes, se desperdicia mucho ancho de banda del canal.
Este protocolo no resuelve el problema de asentimientos que nunca se envían de regreso porque la capa de
red en el receptor no tiene nada que transmitir al emisor.
Licenciado Gustavo Rei
Pág. Nro. 45
Comunicación de Datos − Redes de Computadores
PROTOCOLO DE VENTANA DESLIZANTE - REPETICIÓN SELECTIVA
En este caso el receptor debe tener una ventana de recepción de más de una trama de capacidad, y se almacenan en memoria todas las tramas correctas que lleguen después de ocurrido el error, mientras tenga espacio disponible.
Cuando el emisor detecta que hay algún problema (se vence su temporizador), retransmite las tramas a partir
de la perdida, pero como el receptor ya posee las siguientes, envía de regreso sólo el asentimiento de la trama con
mayor número de secuencia. De esta forma, el emisor sabe que no necesita retransmitir las tramas que siguen a la
del asentimiento recibido.
La siguiente figura muestra cómo trabaja la capa de enlace en este caso (el código para este protocolo se
puede encontrar en el anexo del presente texto):
0
1
2
3
4
5
6
7
8
2
3
4
5
6
9
10
11
12
0
1
E
3
4
5
6
7
8
2
D
D
D
D
9
10
Se almacenan
2-8 se pasan a
Capa de Red
El tamaño de la ventana de transmisión para este protocolo debe ser menor o igual a
1
2
( MaxSeq + 1)
para
que no surjan ambigüedades al momento de decidir qué asentimiento se recibió.
Este protocolo sí resuelve el problema de los asentimientos cuando no hay tráfico de datos en la dirección
opuesta, utilizando para ello temporizadores auxiliares para los asentimientos pendientes a enviar. Además, este
protocolo es capaz de enviar asentimientos negativos en el caso de detectar un error, evitando así tener que esperar
que venza el temporizador correspondiente en el emisor. No es necesario el manejo de error para estos asentimientos, ya que si no llegan, expira el temporizador correspondiente. (Ver código en anexo para ver cómo se implementa
todo lo anterior).
Los últimos dos protocolos poseen una característica adicional, y es que ya no se hace la suposición que la
capa de red siempre tiene algo para enviar. La capa de red genera un evento en la capa de enlace cuando tiene algo
que transmitir, y la capa de enlace puede deshabilitar o habilitar este privilegio de la capa de red.
Otra característica de estos protocolos es que necesitan de un temporizador para cada trama en la ventana de
transmisión.
Rendimiento del Canal de Enlace
En este apartado haremos un análisis comparativo del rendimiento de los protocolos mostrados. Los tres primeros protocolos utilizan pobremente el canal y no solucionan muchos de los problemas de la capa de enlace. Los
otros tres protocolos son todos igualmente buenos en el sentido de presentar a la capa de red un canal virtualmente
libre de errores, pero su rendimiento es substancialmente distinto en términos de rendimiento (cantidad de información transmitida por unidad de tiempo), esto es, el aprovechamiento del ancho de banda del canal.
Los factores que influyen en el rendimiento de un protocolo son los siguientes:
•
•
•
•
•
Longitud de la trama: ¿cantidad de bits?, ¿largo fijo o variable?;
Superposición: ¿se utiliza superposición de asentimientos?;
Pipelining: ¿se envían varias tramas antes de recibir asentimientos?;
Canal Duplex o Semiduplex: ¿se puede transmitir en ambos sentidos a la vez?;
Proporción de Error: ¿qué fracción de las tramas se pierde o llega errónea?
Los siguientes gráficos muestran cómo se comportan algunos de los protocolos mostrados con anterioridad,
en términos de eficiencia. La longitud del canal se mide en términos de cuántas tramas puede enviar el emisor antes
que el receptor reciba la primera trama enviada. Nótese que la eficiencia nunca es 1.0 debido a los errores producidos en el canal y a la pérdida de tramas.
Licenciado Gustavo Rei
Pág. Nro. 46
Comunicación de Datos − Redes de Computadores
Ventana Deslizante
7
Parada y EspeTamaño de la Ventana
Longitud del Cable
Licenciado Gustavo Rei
Pág. Nro. 47
Comunicación de Datos − Redes de Computadores
Capa de Red
Con las capas Física y de Enlace se ha logrado construir la base para redes que utilizan un solo medio físico.
La Capa de Red es la encargada de proveer los mecanismos para interconectar redes de varios medios físicos.
El nivel de red se ocupa del manejo de bloques de datos desde la estación origen a la estación destino. La entidades de nivel 3 deben ser capaces de distinguir la topología de la red y encontrar el camino más adecuado para
comunicar el origen con el destino.
Las condiciones de encaminamiento deben tomarse teniendo en cuenta el funcionamiento de la red. Puede
darse el caso de que emisor y receptor estén en redes distintas.
Funciones del nivel de red:
funciones de encaminamiento,
comprobar que no se originen problemas de congestión,
interconectar distintas redes.
La principal misión del nivel de red es proporcionar servicios al nivel de transporte.
IMP
Host
Host
Subred
IMP: procesador dedicado a las comunicaciones.
Como la subred es un conjunto de entidades, los servicios del nivel de red son los servicios que ofrece la subred.
En un caso ideal, lo que se desea es que los servicios del nivel de red cumplan las siguientes características:
independientes de la estructura de la subred,
el nivel de transporte no tiene porque conocer el número, tipo o topología de las subredes que atraviesan sus
datos,
deben poner a disposición de sus usuarios un esquema de direccionamiento uniforme.
Estructura subred
Servicios
Conmutación circuitos
Con conexión
Sin conexión
Conmutación paquetes
Sin conexión
Con conexión
Datagrama
Circuito Virtual
Problemas de Diseño de la Capa de Red
Tipo de Servicios Suministrados
Existió gran controversia al momento de decidir cuáles servicios suministraría la Capa de Red a las capas superiores, y como resultado se decidió que la Capa de Red proveería servicios con y sin conexión. Todos los servicios
comparten las siguientes características:
• Se define como subredes a las redes definidas por la capa de red, esto es, al conjunto de entidades de
capa de red conectados por un mismo protocolo en la capa de enlace;
• Son independientes de la tecnología de las subredes;
• Las capas superiores desconocen el número, tipo y topología de las subredes;
• Las direcciones de red deben utilizar una numeración uniforme a lo largo de todos los tipos de subredes.
Licenciado Gustavo Rei
Pág. Nro. 48
Comunicación de Datos − Redes de Computadores
Como la Capa de Red es la ultima capa implementable en HW, se asegura la independencia del HW con el
SW de los computadores.
Encaminamiento
La capa de red debe proveer mecanismos para encaminar los paquetes a través de las redes físicas de una
misma subred.
¿Cómo construir un circuito virtual sobre una red de conmutación de paquetes?
Cada datagrama se puede encaminar por separado pero todos deben llevar en su cabecera la dirección de
destino.
Si se utiliza un circuito virtual cada paquete llevará una identificación del circuito virtual en lugar de la dirección
de destino. En la fase de establecimiento del circuito se toman las decisiones de encaminamiento. Normalmente se
empleará mejor el ancho de banda cuando se utilice un circuito virtual, además en este caso todos los paquetes
llegan en el mismo orden en que fueron enviados.
Ventaja de los datagramas: mejor control del encaminamiento.
¿Cómo se establecen los circuitos virtuales?
Cada IMP mantiene una serie de tablas donde se almacena la información de los circuitos virtuales que atraviesan cada uno de estos IMP.
Interconexión de Redes(Introducción)
La capa de red debe proveer mecanismos para encaminar correctamente paquetes a través de subredes diferentes, esto es, con diferente protocolo de capa de enlace. En otras palabras, si las máquinas origen y destino se
encuentran conectadas a subredes diferentes, la capa de red debe ser capaz de transportar el paquete de subred a
subred, hasta que llegue a la subred del destino, traduciéndolos de un protocolo al otro.
Control de Congestión
Cuando la capa de red es incapaz de satisfacer todos los requerimientos de las capas superiores, debido al
volumen de tráfico demandado, se llenan los espacios de memorias temporales en los IMP´s (ver capa de enlace).
Esto produce que los IMP’s sean incapaces de recibir, propagando el problema a los IMP’s que desean transmitir
hacia los congestionados.
La capa de red debe proveer algún mecanismo para controlar estas situaciones.
Servicios Proporcionados por la Capa de Red
Servicio con Conexión
El servicio con conexión debe poseer las siguientes características:
• Inicialmente, la entidad de transporte origen establece la conexión con la entidad receptora, y en ese
momento la capa de red decide qué ruta utilizará para la conexión. Esta ruta no cambia mientras dure
la conexión, la cual se termina explícitamente;
• Al comienzo, las entidades origen y destino negocian con la capa de red la calidad del servicio suministrado;
• La conexión establecida es bidireccional, sin errores y con paquetes entregados secuencialmente;
• El control de flujo se proporciona automáticamente por la capa de red;
• No es necesario que los paquetes contengan la dirección completa de destino, sino que sólo una identificación del circuito virtual a utilizar, el cual es conocido por la misma subred;
Servicio Sin Conexión
El servicio sin conexión que se provee es muy básico, sin que se provean controles de error o de flujo, y los
paquetes pueden ser entregados en cualquier orden. Así, son los mismos hosts los encargados de realizar todos los
controles. Además, para cada paquete se debe decidir nuevamente la ruta a utilizar, por lo cual es necesario que
todo paquete contenga la dirección completa de destino.
La justificación de incluir un servicio tan poco confiable es la necesidad de muchas aplicaciones (interactivas o
multimediales, por ejemplo) de realizar transmisiones individuales de poco tamaño, o que requieren gran velocidad
sin una gran exactitud.
Diferencias entre los Servicios Suministrados
La siguiente tabla muestra las diferencias entre los servicios proporcionados por la capa de red:
Licenciado Gustavo Rei
Pág. Nro. 49
Comunicación de Datos − Redes de Computadores
Asunto
Establecimiento inicial
Indicación de dirección destino
Con Conexión
Requerido
Sólo
inicialmente
Secuencialidad de paquetes
Sin Conexión
No es posible
En cada paquete
Garantizada
No garantizada
Control de error
Proporcionado
No proporcionado
Control de Flujo
Proporcionado
No proporcionado
Negociación de calidad
Complejidad realizable
en
Posible
Mucha
Imposible
Poca
Exactitud
Velocidad
HW
Criterio Preponderante
Primitivas OSI para la Capa de Red
Las primitivas proveídas por la capa de red son las siguientes:
Orientadas a Conexión
N-CONNECT.request ( callee, caller, acks, exp, qos, data )
N-CONNECT.indication ( callee, caller, acks, exp, qos, data )
N-CONNECT.response ( responder, acks, exp, qos, data )
N-CONNECT.confirm ( responder, acks, exp, qos, data )
N-DISCONNECT.request ( originator, reason, data, responder )
N-DISCONNECT.indication ( originator, reason, data, responder )
N-DATA.request ( data )
N-DATA.indication ( data )
N-DATA-ACK.request ( )
N-DATA-ACK.indication ( )
N-EXPEDITED-DATA.request ( data )
N-EXPEDITED-DATA.indication ( data )
Sin Conexión
N-UNITDATA.request ( callee, caller, qos, data )
N-UNITDATA.indication ( callee, caller, qos, data )
N-FACILITY.request ( originator, reason )
N-FACILITY.indication ( destination, qos, reason )
N-REPORT.indication( destination, qos, reason )
donde:
callee
- dirección de quien es llamado
caller
- dirección de quien llama
acks
- indicación de asentimientos deseados
exp
- indicación de datos acelerados
qos
- calidad de servicio deseada
data
- 0 o más datos transmitidos
originator - especifica quién inició N-RESET
responder
- dirección NSAP de destinatario
reason - razón por la cual sucedió
Organización Interna de la Capa de Red
No es posible diseñar la capa de red de forma de que se satisfagan simultáneamente los requerimientos con y
sin conexión deseados, sino que se debe elegir por una implementación particular que satisfaga uno de estos requerimientos, implementándose luego el otro sobre la implementación elegida.
Licenciado Gustavo Rei
Pág. Nro. 50
Comunicación de Datos − Redes de Computadores
Circuitos Virtuales
La primera posibilidad es implementar directamente el servicio con conexión, para lo cual se utiliza el concepto
de circuito virtual. La idea principal de los circuitos virtuales es evitar la toma de decisiones de encaminamiento para
cada paquete enviado, sino que éstas se toman sólo al inicio de la conexión.
Para lo anterior se define inicialmente una ruta o camino, el cual es utilizado para encaminar todos los paquetes de la conexión dada. Cada nodo en el camino elegido debe conocer hacia dónde enviar cada paquete recibido, y
como la comunicación es bidireccional, cada nodo debe conocer su antecesor y sucesor en cada circuito virtual. Los
nodos sólo pueden decidir hacia dónde redirigir los paquetes recibidos basándose en el número de circuito virtual
que contienen los paquetes.
Para implementar lo anterior, los nodos intermedios (IMP’s) poseen una tabla en la cual se ingresan los circuitos virtuales a los que pertenece el nodo, y los nodos antecesor y sucesor de cada uno de ellos. Se ve como necesario que los números de circuitos virtuales sean únicos en la subred, pero esto no es así, puesto que cada circuito
virtual no se identifica con un valor único, sino que existe un valor diferente para cada red física del circuito virtual, el
cual sólo necesita ser único en esa red física.
Veamos un ejemplo: Supongamos la siguiente topología de la subred:
Hb
Hc
B
C
A
Ha
D
E
Hd
F
Hf
He
y consideremos los caminos Ha-A-B-C-Hc, Ha-E-C-B-Hb, He-E-A-B-C-D-Hd y He-E-F-D-Hd. Las tablas de los
nodos intermedios deben contener los siguientes valores (las flechas indican el segundo circuito definido):
n
H
H
E
Nodo A
I
ut
0 B
1 E
0 B
n
C
F
Nodo D
I
O
ut
0 H 0
0 H 1
n
A
C
A
Nodo B
I
ut
0 C
0 H
1 C
n
A
H
H
Nodo E
I
ut
0 C
0
A
1
F
O
0
0
1
n
B
E
B
Nodo C
I
ut
0 H
0
B
1 D
n
E
Nodo F
I
O
ut
0 D 0
O
0
0
1
O
0
0
0
O
0
0
0
Los circuitos virtuales definidos así son unidireccionales, y para implementar circuitos bidireccionales basta definir dos circuitos unidireccionales. Note que estos circuitos inversos pueden no utilizar las mismas rutas, lo que es
una ventaja en sí.
Los paquetes enviados a través de un circuito virtual no necesitan acarrear consigo la dirección de destino, ya
que cada nodo sabe de antemano hacia dónde encaminar el paquete, ahorrando un ancho de banda considerable
para paquetes cotos.
Cuando un circuito virtual no se necesita más, éste debe ser eliminado explícitamente desde las capas superiores, para eliminar cada entrada correspondiente en las tablas de los nodos intermedios.
Licenciado Gustavo Rei
Pág. Nro. 51
Comunicación de Datos − Redes de Computadores
Datagramas
La segunda opción de implementación es sin orientación a conexión, en la cual cada paquete transmitido debe
ser encaminado individualmente. Las redes de este tipo deben hacer un mayor trabajo para cada paquete, pero son
más robustas en un contexto general, puesto que se responden con facilidad a fallos y congestión.
Para esta solución, cada nodo debe conocer hacia qué nodo adyacente debe enviar cada paquete recibido,
para lo cual es necesaria una tabla que indique lo anterior para cada destino posible. Esta tabla también es necesaria en los circuitos virtuales para el establecimiento de conexión.
Además, los paquetes deben contener la dirección completa de destino, para que los nodos puedan decidir
hacia dónde encaminarlos.
Comparación: Circuitos Virtuales vs. Datagramas
La siguiente tabla muestra las diferencias entre la implementación de la subred:
Asunto
Direccionamiento
Circuitos Virtuales
Sólo número de circuito vir-
Datagramas
Paquetes con dirección
tual
completa
Información
del
Cada nodo almacena inforLa subred no almacena al
camino
mación acerca del camino
camino
Encaminamiento
Cada paquete a través de
Cada paquete indepencircuito virtual previamente defini- dientemente
do
Efecto de fallos en
Se pierden todas las coSólo se pierden paquetes
nodos
nexiones a través del nodo que que estaban en memoria del
falla
nodo que falla
Control de congesFácil
Difícil
tión
Complejidad
En capa de red
En capas superiores
Adecuado para
Servicio orientado a coServicios orientados a conexión
nexión y sin conexión
Algoritmos de Encaminamiento
Existen diversos algoritmos que determinan el camino a seguir para llevar un paquete del origen al destino, los
cuales se clasifican en dos grandes grupos:
No Adaptativos o Estáticos:
La elección de los caminos se hace a priori, antes de poner en marcha la red. EL trabajo para redes grandes o
con caminos múltiples es enorme;
Adaptativos:
Se basan en el tráfico y topología actuales de la red para decidir cuál es el mejor camino en cada momento.
Se dividen en globales, locales y distribuidos, según la información que utilizan.
Encaminamiento Estático
La elección de caminos se hace antes de poner en marcha la red, y se programa cada uno de los nodos individualmente.
CAMINO MÁS CORTO
El camino se elige según el criterio del camino por el cual los paquetes llegan en el menor tiempo al destino.
Para ello se consideran factores diversos, como la distancia, ancho de banda, promedio de tráfico, largo de la cola
de espera, retardo, y otros.
Se elige así el mejor camino desde cada origen a cada destino, y se utiliza este camino para encaminar todos
los paquetes.
CAMINO MÚLTIPLE
Este mecanismo es aplicable cuando hay más de un camino que se considera mejor. Los nodos intermedios
pueden decidir cuál de ellos se utilizará para cada paquete, utilizando para ello alguna función de probabilidad con
pesos definidos antes de poner en marcha la red.
Licenciado Gustavo Rei
Pág. Nro. 52
Comunicación de Datos − Redes de Computadores
Así, cuando el tráfico es grande, se utilizan los diferentes caminos para distribuir la carga evitando congestionar algún camino de la subred.
Centralizado
En vez de realizar manualmente los cálculos para encontrar los mejores caminos entre todos los nodos, se
puede utilizar un programa automático que recopile información desde todos los nodos de la subred, realice los cálculos, y luego envíe una nueva configuración a cada nodo.
Este mecanismo es atractivo, puesto que puede utilizarse de forma automática cada cierto tiempo para producir resultados adaptativos, pero posee grandes inconvenientes. Primero, el tráfico desde y hacia la máquina de control centralizado de encaminamiento es bastante fuerte, y puede incluso afectar los cálculos mismos. Otro problema
grave es el orden en que se distribuyen las nuevas tablas a cada nodo de la subred, ya que pueden surgir inconsistencias que incluso pueden dejar aislado a algún nodo.
Encaminamiento Aislado
Se trata aquí que cada nodo de la subred decida hacia adónde enviar los paquetes recibidos, utilizando para
ello sólo su información interna. Existen varias formas de hacer lo anterior:
PATATA CALIENTE:
Los paquetes simplemente se ponen en la cola de salida más corta del nodo, sin importar hacia adónde se dirige la línea;
PATATA CALIENTE MEJORADO:
Se utilizan pesos estáticos asignados a cada salida, en conjunto con el largo de las colas para decidir;
APRENDIZAJE HACIA ATRÁS:
Se incluye en cada paquete un contador de saltos, el cual se incrementa en uno en cada nodo. Así, cada nodo
puede saber, luego de un tiempo razonable, cual es el mejor camino hacia cada nodo posible. El problema surge
cuando un nodo se desactiva, puesto que no hay como detectar la falla;
INUNDACIÓN:
Los paquetes se envían por todas las líneas, excepto por la cual llegó. Se incluye un contador en cada paquete, que indica el número de saltos que ha registrado, y si es mayor que cierto umbral, se desecha el paquete. Este
algoritmo es muy robusto, y deseable en aplicaciones militares, por ej.
Encaminamiento Adaptativo
ENCAMINAMIENTO DISTRIBUIDO
Se utiliza alguna medida de la longitud de los caminos, y cada nodo de la subred conoce la distancia hacia sus
vecinos. Cada cierto tiempo, los nodos piden a sus vecinos que les envíen sus propias tablas, de forma que si se
encuentra un mejor camino, se actualiza la tabla propia. El tiempo puede ser ajustado para que los caminos elegidos
permanezcan estables en o para que se adapten rápidamente, manteniendo siempre una idea del camino más corto.
ENCAMINAMIENTO ÓPTIMO
Este algoritmo sirve para realizar la búsqueda de caminos alternativos en caso de fallar algún nodo, y se basa
en que para todo destino, los caminos óptimos desde todo origen forman un árbol. Así, cuando un nodo detecta que
falló algún vecino que era parte de la mejor ruta hacia algún destino, pide a cada uno de sus otros vecinos que le
indique alguna ruta hacia los destinos perdidos. El nodo puede elegir nuevamente la mejor ruta o detectar que no
hay camino.
Si un nodo recibe un requerimiento de camino para un destino específico, y no conoce ningún camino hacia él,
entonces debe pedir lo mismo a sus propios vecinos, hasta que se encuentre algún camino posible o no queden más
nodos a quién preguntar.
Control de Congestión
La congestión en sí se produce cuando la capa de red es incapaz de satisfacer todos los requerimientos de
las capas superiores, debido al volumen de tráfico demandado, se llenan los espacios de memorias temporales en
Licenciado Gustavo Rei
Pág. Nro. 53
Comunicación de Datos − Redes de Computadores
los IMP´s (ver capa de enlace). Esto produce que los IMP’s sean incapaces de recibir, propagando el problema a los
IMP’s que desean transmitir hacia los congestionados.
El comportamiento de una subred congestionada se muestra en el siguiente gráfico:
Paquetes
Entregados
Rendimiento Perfecto
Rendimiento Deseado
Rendimiento Real
(por Congestión)
Paquetes Transmitidos
A continuación analizaremos una serie de algoritmos que permiten evitar la congestión.
Preasignación de Memorias
Si se utilizan circuitos virtuales dentro de la subred, es posible eliminar por completo el problema de la congestión, si al establecer la conexión se pide reservar un número dado de memorias de paquetes en los espacios de almacenamiento de los nodos. Así, a lo largo de todo el circuito virtual siempre habrá lugar donde almacenar los paquetes enviados, eliminándose por completo el problema de la congestión.
En el caso del protocolo de enlace de parada y espera, una memoria es suficiente, pero para otros protocolos
de ventana deslizante sofisticados pueden desearse más. De esta forma, el problema ahora no es la congestión,
sino que se hace un uso muy ineficiente del canal, puesto que las memorias reservadas que no están en uso no los
puede utilizar ningún otro circuito virtual.
Por esto, la reserva de memorias se utiliza sólo para casos críticos, como la transmisión digital de audio o vídeo, por ejemplo, en que son críticos el retardo y ancho de banda.
Descarte de Paquetes
Se trata de una técnica totalmente opuesta a la anterior: si se recibe un paquete y no hay espacio disponible,
se descarta inmediatamente. Si el servicio ofrecido es de datagrama, no es necesario nada más, pero si se ofrecen
circuitos virtuales, se debe asegurar que el paquete llegue a destino.
Lo anterior se puede hacer esperando que el emisor reenvíe el paquete por vencimiento de su temporizador, o
esperando que el nodo fuente del paquete (que espera un asentimiento) lo haga. Cabe destacar que cada nodo debe tener al menos una memoria reservada para entrada, de forma que pueda recibir asentimientos que permitan
liberar otras memorias.
Otro mecanismo es limitar el largo de las colas de salida, de forma que ninguna se acapare todas las
memorias, definiendo un máximo (Irland, 1978) o mínimo (Kamoun, 1976) para la cantidad de memorias asignadas
a cada salida. De esta forma se evita que exista congestión el nodo por culpa de una sola línea ocupada. Determinar
los tamaños máximo y/o mínimos no es fácil.
Control Isarítmico de Congestión
Consiste en limitar el número de paquetes que puede haber en la subred, evitando que sobrepase cierto límite. Esto se logra haciendo circular permisos en la subred, de forma que ningún nodo fuente puede transmitir si no
captura primero un permiso. El nodo destino debe regenerar el permiso cuando reciba el paquete. Los permisos
circulan aleatoriamente por la subred.
Este método evita la congestión, tiene varios problemas graves. Primero, cuando un nodo tiene muchos paquetes a transmitir, debe capturar muchos permisos, lo que puede demorar mucho. Otro problema que surge es que
para que todos los nodos tengan la misma probabilidad de recibir un permiso, éstos deben estar uniformemente distribuidos, lo cual no está para nada garantizado. Un problema grave es que los permisos pueden perderse, y no existe forma de saberlo.
Control de Congestión por Control de Flujo
Se puede restringir el ancho de banda que cada máquina puede transmitir o recibir de la subred, lo cual evitaría la congestión, pero esto deriva en un mal servicio, aún cuando la red esté desocupada.
Se puede aplicar restringiendo el ancho de banda entre pares de:
Licenciado Gustavo Rei
Pág. Nro. 54
Comunicación de Datos − Redes de Computadores
• Procesos de Usuario;
• Máquinas, sin considerar el número de circuitos virtuales en que intervienen;
• nodos origen y destino, sin considerar las máquinas.
Paquetes Reguladores
Se trata aquí de programar los nodos de la subred para que detecten la congestión, enviando un paquete regulador al nodo fuente de los paquetes, el cual deberá disminuir paulatinamente su velocidad de transmisión. Si durante de un periodo de tiempo no se reciben reguladores, se puede volver a aumentar paulatinamente la velocidad.
Este mecanismo controla efectivamente la congestión, pero es complicado, y el periodo de tiempo debe ajustarse estadísticamente: si es muy corto no se resuelve el problema, y si es muy largo se pierde utilización del canal.
Resolución de Bloqueos
Los bloqueos se producen cuando los nodos de una subred están tan congestionados de forma que ninguno
puede hacer algo mientras el otro no haga algo. El bloqueo más simple se da con dos nodos: supongamos que ambos tienen sus memorias de transmisión/recepción llenas con paquetes a enviar al otro nodo. Ninguno de ellos puede recibir lo que el otro está tratando de enviar, ni puede liberar una memoria porque no se pueden enviar os paquetes. Esta situación no tiene solución, y la capa de red debe evitarla a toda costa.
La solución es muy simple: todos los nodos deben tener una memoria por cada línea de entrada reservada para recepción. Además, cada vez que se crea un nuevo paquete, se incluye en él la fecha y hora en que s creó. Así,
para cada par de nodos adyacentes, y cada vez que la línea está libre, los nodos indican a su vecino cuál es el paquete más antiguo que desea enviar por ella, y el más antiguo es enviado. Así, se asegura que se liberen las memorias de transmisión de los nodos.
Ejemplos de Capa de Red
Protocolo de Red IP (Internet Protocol)
El protocolo de red IP define un servicio de red sin conexión que, como se vio anteriormente, no necesita ser
seguro ni fiable. Los datagramas IP son de hasta 64kb de largo, y su cabecera es de al menos 20 bytes. Un
datagrama puede ser dividido en dentro de la red, para pasarlo por subredes que transportan paquetes más cortos.
El formato de la cabecera es como sigue:
0
Versión
7
lar-
go
identificación
tiempo de vida
dirección fuente
dirección destino
opciones
8
tipo
protocolo
15
18
largo total
23
24
31
desplazamiento
CRC cabecera
donde:
versión - indica la versión de IP de que se trata (para compatibilidad futura)
largo
- largo de la cabecera, en palabras de 32 bits (mínimo 5)
tipo
- indica a la subred el tipo de servicio suministrado (rápido no confiable, seguro, secreto, o cualquier
combinación)
largo total
- largo total del paquete, incluyendo los datos
identificación
- todos los fragmentos de un datagrama poseen la misma identificación
D
- si es 1, no se debe fragmentar el datagrama
F - todos los fragmentos de un datagrama, excepto el último, deben contener un 1 en este bit
desplazamiento - cada fragmento de un datagrama indica aquí el desplazamiento (en bytes) dentro del
datagrama completo
tiempo de vida - indica en segundos cuánto tiempo de vida le queda al paquete
protocolo - indica a qué protocolo pertenece el datagrama. TCP es una posibilidad
opciones - parámetros particulares del protocolo que utiliza IP
CRC cabecera - código de redundancia de la cabecera
Licenciado Gustavo Rei
Pág. Nro. 55
Comunicación de Datos − Redes de Computadores
El estándar de capa de red define la utilización de direcciones únicas a nivel de red, lo cual es definido por IP
de la siguiente forma
7
Subred
24
estación
14
Subred
16
estación
21
Subred
8
estación
28
dirección multicast
Se definen además los siguientes valores especiales para los campos:
Valor
subred = 0…0
Estación
=
Significado
esta subred
esta estación (eco a primer nodo)
subred = 1…1
subred = 1…1
difusión a todas las subredes
difusión a todas las estaciones de esta subred
0…0
Las direcciones multicast se propagan (difusión) a todas las estaciones de la subred en la cual se encuentra la
estación origen, y es recibida por todas las estaciones que deseen hacerlo (analizan la dirección).
La división entre subred y estación se definió para que los nodos puedan saber si el paquete se puede enviar
directamente al destino (estación en esta subred) o se debe enviar través de un router (estación en otra subred).
Ejemplo:
Suponemos que tenemos una dirección de clase B
cionamiento en 250 redes distintas.
129.1.0.0
dir. IP
máscara por defecto
y queremos dividir el espacio de direc-
129.1.0.0
1...1 1...1
0...0
0...0
1...1 1...1
1...1
0...0
255.255.255.0
Subred 1:
129.1.1.0
Subred 2:
129.1.2.0
.....................................
Subred 254:
129.1.254.0
Ahora queremos dividir el espacio de direccionamiento en 127 redes distintas.
dir. IP
máscara por defecto
129.1.0.0
1...1
1...1
11111110. 0 . . . 0
Subred 1:
129.1.2.0
desde 129.1.2.1 a 129.1.3.254
Subred 2 129.1.4.0
desde 129.1.4.1 a 129.1.5.254
..............................................................................................
Subred 126:
129.1.252.0
desde 129.1.252.1 a 129.1.253.254
Datagrama IP
Licenciado Gustavo Rei
Pág. Nro. 56
Comunicación de Datos − Redes de Computadores
1
TOS
32
LONGITUD TOOFFCHECKSUM
IDENTIFICADOR
TTL
PRO
DIRECCION ORIGEN
DIRECCION DESTINO
OPCIONES + “PADDING”
DATOS
VER: (4 bits) versión del protocolo IP que ha originado el datagrama.
IHL: longitud del encabezamiento del datagrama medido en palabras de 32 bits. Valor entre
5 y 15 (4 bits)
TOS: Type of Service (8 bits)
Los tres primeros bits indican la prioridad o= menor y 7 = mayor
D = 1 solicitud de bajo retardo
D = 0 solicitud de alta capacidad
R = 1 solicitud de alta fiabilidad
LONG. TOTAL: indica la longitud total del datagrama IP, en octetos.
Los datagramas IP no pueden tener menos de 576 octetos. Cuando el datagrama no quepa en alguno de
los protocolos usados en alguna red, habrá que fragmentarlo.
Si se fragmenta un datagrama, todos los fragmentos llevarán el mismo identificador.
DF = 1 el datagrama no se puede fragmentar. Normalmente estará a cero.
MF (More Fragments): indica si el fragmento es el último del datagrama original, con un
cero.
OFFSET: posición relativa del fragmento dentro del datagrama original, es un valor que se
mide en unidades de 8 octetos (13 bits). Si el datagrama no está fragmentado es
igual a cero.
TTL (Time to live), sirve para que lo marcan las estaciones que generan el datagrama con un
valor y en cada salto se decrementa en una unidad. Cuando llega a cero, el datagrama
ya no se transmite más (8 bits).
PROT: indica el protocolo del nivel superior al que debe ser entregado el datagrama (8 bits)
para TCP = 6
CHECKSUM: del encabezamiento (16 bits).
OPCIONES: campo de longitud variable, no obligatorio en los datagramas pero lo que si es obligatorio es la
implementación del tratamiento de esas opciones en las entidades del protocolo.
Todas las opciones que pueden aparecer empiezan con un código de opción:
C
1OPIA
bit
C
LASE
2 bits
NUMERO
OPCION
5 bits
COPIA = 0 ⇒ la opción no debe ser copiada en los fragmentos que se originen.
COPIA = 1 ⇒ se debe copiar la opción en los fragmentos.
CLASE = 00 ⇒ datagrama control de red
⇒ medida y control de errores
Los otros dos están reservados
Opciones disponibles:
CL
ASE
N
UM.
0
LO
0
1
byte
0
1
1
byte
0
2
11
bytes
Licenciado Gustavo Rei
OPCION
DESCRIPCION
NG.
Fin lista opAparece siempre al final de las demás
ciones
opciones
No
operaPara ajustar las opciones a palabras de
ción
32 bits
Seguridad
Codifica el nivel de seguridad y restricciones de acceso aplicables al datagrama
Pág. Nro. 57
Comunicación de Datos − Redes de Computadores
0
7
Var
Permite que la identidad IP que genera
el datagrama cree una tabla vacía en la cual
se graban las direcciones IP por las que pasa
el datagrama
Var
EncaminaPermite a la estación origen establecer
miento desde ori- el camino que debe seguir el datagrama hasgen
ta llegar al destino
Var
TimeIgual que la grabación de ruta, y adestamping
más graba el tiempo en el que pasa.
.
0
9
.
2
4
.
Grabación
de ruta
Estructura de la opción “Grabación de ruta”:
C
L
1ódi
byte
1
P
1
4
4
4
El puntero siempre señalará la primera entrada de la tabla vacía
Long. Indica la longitud total de la opción.
Estructura de la opción “Time-Stamping”:
C
ódi
L
P
D
b
Dirección IP 1
F
l
Tiempo 1
Dirección IP 2
Tiempo 2
Tiempo = día y milisegundos transcurridos desde la medianoche según el horario del meridiano de Greenwich.
Desb: indica las direcciones que ha atravesado el datagrama y no le han cabido en la tabla.
Flags: indica como deben los IMPs que atraviesa el datagrama grabar los datos.
sin dirección IP
dirección IP y momento del tiempo
direcciones IP colocadas por el remitente
Protocolo ICMP (Internet Control Message Protocol) es el que detecta los errores y los reporta al nodo que ha
originado el datagrama. Para su transmisión los mensajes de este protocolo se encapsulan en datagramas IP.
El mensaje ICMP lleva información sobre la causa del error y los 64 primeros octetos del campo de datos del
datagrama que ha causado el error.
Causas de error que producen mensajes ICMP:
Tiempo de vida igual a cero, TTL = 0
Parámetro desconocido en el encabezamiento
Destino inalcanzable
Congestión del nodo (“source quench”)
Otro problema con el que nos encontramos es la transmisión de datagramas IP sobre redes de área local.
El protocolo ARP (Address Resolution Protocol), cuando no sabe que dirección física corresponde a una dirección IP, envía una trama MAC a las demás estaciones que forman la red, indicando la dirección IP que busca. La
estación que tiene esa dirección IP contesta indicando su dirección física.
La unidad de datos que intercambia el protocolo ARP indica:
Tipo Hardware
Long
Di Fí i
Licenciado Gustavo Rei
P
Tipo Protocolo
Long
l
Dir
Operación
Pág. Nro. 58
Comunicación de Datos − Redes de Computadores
Dirección Física Remitente
Dirección IP
Remitente
Dirección Física Destino
El protocolo
ARP mantiene
una tabla con las equivalencias entre direcciones IP y direcciones MAC.
Dirección
IP Destino
RARP (Reverse Addres Resolution Protocol)
Se usa en estaciones sin disco en las que no se les puede grabar su dirección IP, las cuales obtienen su dirección IP difundiendo su dirección física. Una estación mantendrá una tabla de equivalencia de direcciones y responderá con la dirección IP asociada.
DHCP (Dinamic Host Configuration Protocol)
Existe un servicio DHCP que manda las direcciones IP a las estaciones que quiere conocer su dirección.
Interconexión de redes
Cualquier dispositivo que se dedica a la interconexión de redes lo denominaremos relé.
R
elé
B
Relé: dispositivo físico y lógico que sirve para llevar a cabo la unión de dos redes a cualquier nivel.
Clasificación de los relés:
Nivel OSI
Físico
Enlace
Red
Transporte
o superiores
Relé
Repetidor
Puente (Bridge)
Encaminador (Router)
Pasarela (Gateway)
Gateway denominado también conversor de protocolo.
1º) Repetidor
Dispositivo más elemental para la conexión de dos redes. Actúa a nivel 1 y sirve para regenerar la señal que
transmite los datos. Son dispositivos hardware sin posibilidad de configuración.
N.
Fí i
Re
id
N.
Fí i
Los dos medios físicos que conecta deben ser iguales
Protocolo ARP (Address Resolution Protocol)
Es un protocolo que trabaja sobre IP, sirve para traducir direcciones IP lógicas en direcciones de enlace. Lo
utilizan los routers para conocer las direcciones de enlace de las estaciones que están conectadas a los mismos
medios físicos que él.
Funciona de la siguiente manera: se envía un requerimiento ARP por difusión a todas las estaciones de la
subred, y cada una que reconozca su propia dirección IP en el requerimiento, devuelve una respuesta ARP que conLicenciado Gustavo Rei
Pág. Nro. 59
Comunicación de Datos − Redes de Computadores
tiene su dirección física (de enlace) y lógica (de red). La implementación de ARP considera el uso de tabla, las que
disminuyen el número de mensajes ARP enviados.
Licenciado Gustavo Rei
Pág. Nro. 60
Comunicación de Datos − Redes de Computadores
Interconexión de Redes
Hace algunos años era impredecible la evolución que las comunicaciones, en el mundo de la informática, iban
a tener: no podía prever que fuese necesaria la interconexión ya no sólo de varios ordenadores sino de cientos de
ellos. No basta con tener los ordenadores en una sala conectados, es necesario conectarlos a su vez con los ordenadores del resto de las salas de una empresa, y con el resto de las sucursales de una empresa situadas en distintos puntos geográficos.
La interconexión de redes permite, si se puede decir así, ampliar el tamaño de una intranet. Sin embargo el
término interconexión se utiliza para unir redes independientes, no para ampliar el tamaño de una.
El número de ordenadores que componen una intranet es limitado, depende de la topología elegida, (recuérdese que en la topología se define el cable a utilizar) aunque si lo único que se quisiera fuera sobrepasar el número
de ordenadores conectados, podría pensarse en simplemente segmentar la intranet. Sin embargo existen otros factores a tener en cuenta.
Cuando se elige la topología que va a tener una intranet se tienen en cuenta factores, como son la densidad
de tráfico que ésta debe soportar de manera habitual, el tipo de aplicaciones que van a instalarse sobre ella, la forma
de trabajo que debe gestionar, etc.; esto debe hacer pensar en que, uno de los motivos por el que se crean diferentes topologías es por tanto el uso que se le va a dar a la intranet. De aquí se puede deducir que en una misma empresa puede hacerse necesaria no la instalación de una única intranet, aunque sea segmentada, sino la implantación
de redes independientes, con topologías diferentes e incluso arquitecturas diferentes y que estén interconectadas.
Habitualmente la selección del tipo y los elementos físicos de una intranet, se ajusta a las necesidades que se
tiene; por este motivo pueden encontrarse dentro de un mismo edificio, varias intranets con diferentes topologías, y
con el tiempo pueden surgir la necesidad de interconectarlas.
Se puede ver que por diferentes razones se hace necesaria tanto la segmentación como la interconexión de
intranets, y que ambos conceptos a pesar de llevar a un punto en común, parte de necesidades distintas.
La tabla siguiente refleja de forma escueta diferentes casos en los que se plantea la necesidad de segmentar
y/o interconectar intranets, dando la opción más idónea para cada uno de los casos planteados
NECESIDAD
SOLUCIÓN
Debido a la necesidad de manejo de
Dividir la red actual en varios segmenaplicaciones que producen un trasiego impor- tos: segmentar la red.
tante de información aumenta el tráfico en la
red; esto lleva a que baje el rendimiento de la
misma.
Se tiene que ampliar el número de puesCrear un nuevo segmento de red en el
tos que forman la intranet, pero se necesita que se pondrán los nuevos puestos e incluso
mantener el rendimiento de la red
al que se pueden mover puestos, que por disposición física pueda ser conveniente que
pertenezcan al nuevo segmento creado en la
misma.
Se tiene la necesidad de unir dos intraSe puede optar por definir una de ellas
nets exactamente iguales en la empresa
como un segmento de la otra y unirlas de esta
forma; o bien, interconectar las dos intranets
con un dispositivo de nivel bajo.
Se tiene la necesidad de unir dos o más
Es necesario la interconexión de ambas
redes con diferentes topologías pero trabajan- redes a través de dispositivos interconectantes
do con los mismos protocolos de comunica- de nivel medio
ciones.
Se tiene la necesidad de unir dos o más
Es necesario la interconexión de ambas
redes totalmente diferentes, es decir, de arqui- redes a través de dispositivos interconectantes
tecturas diferentes.
de nivel alto.
Conexión de Redes
La conexión entre diferentes redes puede realizarse de variadas maneras, dependiendo si las redes son compatibles a nivel de las capas física, de enlace o de red. En lo que sigue analizaremos los diferentes dispositivos de
interconexión existentes.
Licenciado Gustavo Rei
Pág. Nro. 61
Comunicación de Datos − Redes de Computadores
Capa Física: Repetidores (Hub)
Se utilizan para conectar redes con las mismas características físicas, generalmente para poder cubrir una distancia mayor que la permitida por el medio físico.
Los repetidores son dispositivos que se conectan a más de un medio físico, y reciben todas los bits desde
ellos, transmitiéndolas a todos los demás medios físicos. No poseen memoria, de forma que simplemente copian lo
transmitido por las estaciones desde un medio a otro. Generalmente los medios físico son iguales, y si no lo son,
deben ser por lo menos de comportamiento similar (de difusión, por ejemplo).
Cuando dos estaciones transmiten desde medios distintos simultáneamente, se produce una distorsión de la
señal, perdiéndose la información transmitida por ambas estaciones, lo cual constituye una colisión.
Dispositivo que interconecta host dentro de una red. Es el dispositivo de interconexión más simple que existe.
Sus principales características son:
Se trata de un armario de conexiones donde se centralizan todas las conexiones de una red, es decir un dispositivo con muchos puertos de entrada y salida.
No tiene ninguna función aparte de centralizar conexiones.
Se suelen utilizar para implementar topologías en estrella física, pero funcionando como un anillo o como un
bus lógico.
Hubs activos:
permiten conectar nodos a distancias de hasta 609 metros, suelen tener entre 8 y 12 puertos y realizan funciones de amplificación y repetición de la señal. Los más complejos además realizan estadísticas.
Hubs pasivos:
son simples armarios de conexiones. Permiten conectar nodos a distancias de hasta 30 metros. Generalmente
suelen tener entre 8 y 12 puertos.
En tanto las características de los repetidores son:
Conectan a nivel físico dos intranets, o dos segmentos de intranet. Hay que tener en cuenta que cuando la distancia entre dos host es grande , la señal que viaja por la línea se atenúa y hay que regenerarla.
Permiten resolver problemas de limitación de distancias en un segmento de intranet.
Se trata de un dispositivo que únicamente repite la señal transmitida evitando su atenuación; de esta forma se
puede ampliar la longitud del cable que soporta la red.
Al trabajar al nivel más bajo de la pila de protocolos obliga a que:
Los dos segmentos que interconecta tenga el mismo acceso al medio y trabajen con los mismos protocolos.
Los dos segmentos tengan la misma dirección de red.
Subcapa de Acceso al Medio: Puentes (Bridges)
Los puentes son dispositivos que repiten todas las tramas desde cada entrada a todas sus salidas. Se utilizan
cuando las redes a conectar son compatibles a nivel MAC, para conectar redes con mismo protocolo de enlace pero
que usan medios físicos diferentes.
También se producen colisiones cuando dos estaciones en redes diferentes transmiten simultáneamente.
Sus principales características son:
Son dispositivos que ayudan a resolver el problema de limitación de distancias, junto con el problema de limitación del número de nodos de una red.
Trabajan al nivel de enlace del modelo OSI, por lo que pueden interconectar redes que cumplan las normas
del modelo 802 (3, 4 y 5). Si los protocolos por encima de estos niveles son diferentes en ambas redes, el puente no
es consciente, y por tanto no puede resolver los problemas que puedan presentársele.
Se utilizan para:
Ampliar la extensión de la red, o el número de nodos que la constituyen.
Reducir la carga en una red con mucho tráfico, uniendo segmentos diferentes de una misma red.
Unir redes con la misma topología y método de acceso al medio, o diferentes.
Cuando un puente une redes exactamente iguales, su función se reduce exclusivamente a direccionar el paquete hacia la subred destino.
Cuando un puente une redes diferentes, debe realizar funciones de traducción entre las tramas de una topología a otra.
Cada segmento de red, o red interconectada con un puente, tiene una dirección de red diferente.
Los puentes no entienden de direcciones IP, ya que trabajan en otro nivel.
Los puentes realizan las siguientes funciones:
Licenciado Gustavo Rei
Pág. Nro. 62
Comunicación de Datos − Redes de Computadores
Reenvio de tramas: constituye una forma de filtrado. Un puente solo reenvía a un segmento a aquellos paquetes cuya dirección de red lo requiera, no traspasando el puente los paquetes que vayan dirigidos a nodos locales a
un segmento. Por tanto, cuando un paquete llega a un puente, éste examina la dirección física destino contenida en
él, determinado así si el paquete debe atravesar el puente o no.
Técnicas de aprendizaje: los puentes construyen tablas de dirección que describen las rutas, bien sea mediante el examen del flujo de los paquetes (puenteado transparente) o bien con la obtención de la información de los
“paquetes exploradores” (encaminamiento fuente) que han aprendido durante sus viajes la topología de la red.
Los primeros puentes requerían que los gestores de la red introdujeran a mano las tablas de dirección.
Los puentes trabajan con direcciones físicas
Arquitectura de un puente
TABLA
ENTIDAD DE PROTOCOLO DE PUENTE
DES
BUF
FERS
ME
Circuitería
MA
C
Circuitería
MAC
Puer-
Tabla de destinos ayudará a decidir a la entidad de protocolo de puente por qué puerto saldrá la trama.
TABLA DESTINOS
Puerto
1
2
Dirección
08-AA-CC ...
08-AC ...
Tiempo
Puentes transparentes
Se basan en el principio de que para hacerlo funcionar solo hace falta conectarlo a los dos segmentos que se
quiere conectar, no hace falta configurarlo.
Lo único que requiere es que las redes respeten el estándar de direccionamiento 802
En su operación se distinguen tres fases:
Retransmisión, si el puente no sabe dónde está la estación destino inunda todos los segmentos con la trama
excepto por el que le ha llegado. Si el puente ya sabe donde está la estación destino simplemente la retransmite
hacia el segmento de red donde se encuentra la estación destino.
Aprendizaje retrospectivo, el puente extrae información de las tramas que le van llegando.
Control de bucles
Ejemplo:
Licenciado Gustavo Rei
Pág. Nro. 63
Comunicación de Datos − Redes de Computadores
P4
P1
P3
P1
P2
P2 2
1
Suponemos que se transmite una trama desde la estación A a la E.
B1 leerá la dirección destino de la trama y la retransmitirá por P2 y provocará que la tabla de destinos se actualice colocando la dirección destino A por el puente P1
B2 capturará la trama por P1, como en la tabla de destinos no hay nada, la retransmitirá por todos los puertos
menos por el que le ha llegado y actualizará su tabla de destinos con la dirección de origen de esa trama.
Transmite una trama de E hasta A
Capturará B2 la trama, como la dirección de destino la tiene en su tabla la transmitirá por su puerto asociado
en la tabla P1 y pondrá en la tabla la dirección origen.
Si se cambia una estación de red, tendremos una entrada errónea en la tabla de la red hasta que esa estación
mande una trama o venza el temporizador asociado a dicha entrada de la tabla, en cuyo caso se borra la entrada.
Control de bucles
Se ponen dos puentes por razones de seguridad y fiabilidad. Para evitar los bucles debemos conseguir que
solo funcione un puente y que el otro solo entre en funcionamiento si falla el otro.
Para que esto funcione se usa el algoritmo “spanning-tree” de forma que se define un camino único para dos
segmentos de red y así se evitan los bucles.
LAN 2
1
3
4
LAN 5
Licenciado Gustavo Rei
Pág. Nro. 64
Comunicación de Datos − Redes de Computadores
LAN 1
2
LAN 3
LAN 4
¿Cómo aplicamos el algoritmo en este caso?
Cuando aplicamos el algoritmo los puentes transparentes dejan de serlo, ya que los puentes necesitan un
identificador único dentro de la red. Además será necesario definir unas direcciones multicast que permitan intercambiar información entre los puentes. También será necesario identificar dentro de cada puente sus puertos con un
identificador único.
Pasos a seguir para construir el árbol de expansión:
Definir el puente raíz, el que tiene el identificador más bajo (B1)
Costo de comunicación entre cada uno de los puentes y el puente raíz, se puede calcular de diversas maneras
o puede ser configurado por el administrador.
Cada puente debe ser capaz de determinar cual es su puerto raíz, el que le permite enlazar con el puente raíz
por el camino de menor costo.
Todos los puentes tienen unos puertos designados, para cada segmento de LAN hay un puerto designado,
que es a través del cual se envían y reciben tramas a ese segmento de red.
D
D
1
LAN 1
R
D
LAN 3
R
D 2
LAN 2
R
R
3
D
LAN 4
4
LAN 5
Si cae B3 se podrá acceder a la LAN 5 a través de B4 o B5
Los puentes transparentes se utilizan en redes del tipo 802.3, mientras que en redes 802.5 se usan puentes
con encaminamiento desde el origen (source route), estos asumen que la ruta completa fuente-destino está presente
en todas las tramas interedes, luego cada estación debe conocer la ruta completa has todos los posibles destinos.
Estación A
LAN 1
B1
LAN 2
B2
LAN 3
B4
LAN 5
Licenciado Gustavo Rei
Pág. Nro. 65
Comunicación de Datos − Redes de Computadores
Estación B
LAN 4
La ruta entre las estaciones A y B constará de:
B1-LAN2 B2-LAN3 B4-LAN5
Cada puente se identifica con 4 bits y una red con 12 bits. Luego una ruta estará formada por varios pares de
octetos (puente/red)
Esta información va en el campo de datos de la trama, lo cual se indica a través de un bit RII (routing information indicator), que es el bit más significativo del campo dirección de origen.
Direcciones MAC, primer bit indica si la dirección es única (0), o de un conjunto de estaciones (1).
RII
D
A
DAA
TOS
RIF
C
Route Information Field
D
D
RC (Route Control)
T
L
M
IPO
ONG
AYOR
TIPO = estaciones a las que va la trama
LONG = longitud del campo RIF en octetos
D = indica si la trama va o vuelve
MAYOR = indica el mayor tamaño de trama que puede atravesar el anillo
RD (Route Descriptor)
4
PU
ENTE
12
R
ED
Funcionamiento de estos puentes:
B
P
TE 2
P
TE 1
Licenciado Gustavo Rei
P
TE 3
Pág. Nro. 66
Comunicación de Datos − Redes de Computadores
P
A
TE 4
La estación A quiere enviar una trama a la estación B:
1º)
Averiguar si la estación B está en el mismo anillo, enviando una trama de exploración dentro del propio anillo.
2º)
Enviar la trama fuera del anillo
Si A sabe la ruta completa hasta B, marcará el bit RII a 1 y grabará toda la ruta en el campo de datos.
Si A no sabe la ruta hasta B, envía tramas de exploración fuera del anillo. Hay dos tipos de tramas de exploración:
SRB (Single Route Broadcast)
ARB (All Route Broadcast)
En primer lugar se envían tramas SRB y se construye un árbol de expansión. Cuando una de estas tramas llega a B, ésta contesta con tramas ARB con dos condiciones:
Contador de saltos
Que una trama no pase dos veces por el mismo anillo
A la estación A le llegarán varias tramas con la ruta marcada y elegirá una (la primera en llegar, la que le permita una mayor tamaño de trama, etc.)
Capa de Enlace: Switch
Los switch son dispositivos que son capaces de analizar las direcciones de enlace (de origen y destino) para
determinar por qué salida deben transmitir las tramas que reciben. De esta forma, sólo transmiten las tramas por el
medio en el cual está conectado directamente el destino.
Son generalmente inteligentes, de manera que no se los necesita programar de antemano. Inicialmente no
saben nada acerca de las direcciones, pero cuando comienzan a recibir, analizan las direcciones de origen y las
almacenan en una tabla, asociándoles un identificador de la entrada por la cual llegan. Así, cuando se desea transmitir una trama, basta analizar l tabla buscando la dirección de destino, para saber por qué salida se la debe transmitir. Si todavía no se conoce por dónde se debe hacer, se transmite por todas ellas, salvo por la que se recibió la trama.
Se utiliza para mejorar el rendimiento de las redes, debido a que elimina muchas colisiones al localizar el tráfico.
Capa de Red: Encaminador (Router)
Son máquinas que están conectadas a más de un tipo de subred, y que son capaces de traducir protocolos de
enlace diferentes, lo cual puede ser un problema muy complejo dependiendo de qué combinación protocolos se utilice. El SW traductor se encuentra como entidad de capa de red.
Sus principales características son:
Es como un puente incorporando características avanzadas.
Trabajan a nivel de red del modelo OSI, por tanto trabajan con direcciones IP.
Un router es dependiente del protocolo.
Permite conectar redes de área local y de área extensa.
Habitualmente se utilizan para conectar una red de área local a una red de área extensa.
Son capaces de elegir la ruta más eficiente que debe seguir un paquete en el momento de recibirlo.
La forma que tienen de funcionar es la siguiente.
Cuando llega un paquete al router, éste examina la dirección destino y lo envía hacia allí a través de una ruta
predeterminada.
Si la dirección destino pertenece a una de las redes que el router interconecta, entonces envía el paquete directamente a ella; en otro caso enviará el paquete a otro router más próximo a la dirección destino.
Para saber el camino por el que el router debe enviar un paquete recibido, examina sus propias tablas de encaminamiento.
Existen routers multiprotocolo que son capaces de interconectar redes que funcionan con distintos protocolos;
para ello incorporan un software que pasa un paquete de un protocolo a otro, aunque no son soportados todos los
protocolos.
Cada segmento de red conectado a través de un router tiene una dirección de red diferente.
Licenciado Gustavo Rei
Pág. Nro. 67
Comunicación de Datos − Redes de Computadores
A veces se los utiliza con otros fines, puesto que tienen control directo sobre todo lo que ocurre a nivel de la
capa de red:
Firewall:
Es un SW de capa de red que es capaz de discriminar el paso de paquetes desde una subred a otra. Se utiliza para evitar la entrada de intrusos, controlando el acceso por medio de filtros (de direcciones, de protocolos, etc.);
Gateway:
Es un SW de router que además es capaz de traducir protocolos de los niveles más altos, para permitir comunicación entre subredes con protocolos de red diferentes. Puede opcionalmente traducir protocolos de
aplicación de una subred que no son compatibles en la otra. Por ejemplo, se puede traducir el protocolo de
correo Microsoft (basado en NetBEUI) al protocolo de correo de e-mail (basado en TCP/IP)
Sus características principales son:
Se trata de un ordenador u otro dispositivo que interconecta redes radicalmente distintas.
Trabaja al nivel de aplicación del modelo OSI.
Cuando se habla de pasarelas a nivel de redes de área local, en realidad se está hablando de routers.
Son capaces de traducir información de una aplicación a otra, como por ejemplo las pasarelas de correo electrónico.
Resumen de Características
Asunto
Hub
Bridge
Entidad Compatible Capa Física
Supcapa MAC
Traduce
Bits de un medio a Tramas
otros
Poseen Memoria
No
Si
Selectivo
No
No
Inteligente
No
No
Objetivo
Aumentar alcance
Conectar diferentes medios físicos
Switch
Capa de Enlace
Tramas
Router
Capa de Red
Protocolo de Enlace
Si
Si
Si
Si
Si (automático)
Si (manual)
Mejorar
rendi- Conectar subredes
miento
diferentes
Routers
N3
N
N3
N
N2
N
N1
N2
3
N2
2
N1
1
N1
El hecho de operar a nivel de red da la posibilidad de intercambiar tramas entre redes muy distintas. Su funcionamiento es un poco más lento que los puentes ya que necesitan más tiempo de proceso.
Los routers se usan para constituir redes de área extensa. Muchas veces aparecen como dos equipos unidos
mediante una línea de comunicación, lo que se denomina semipuentes o semirouters.
Los Brouters utilizan el nivel 3 para determinados protocolos y otros se usan a nivel 2, es decir, algunos protocolos se puentean y otros sé enrutan.
ROUTER
193.118.12.0 i
Licenciado Gustavo Rei
193.120.12.0
Pág. Nro. 68
Comunicación de Datos − Redes de Computadores
PC
PC
El router tiene una tabla de direcciones de red que le indica si debe pasar una trama a la otra red o no.
Los routers son los encargados de la fragmentación ya que conectan las dos redes y saben el tamaño máximo
de los paquetes que pueden circular por ellas.
•
Fragmentación transparente: el router fragmenta los paquetes que le llegan si es necesario.
Ventaja: las estaciones no se preocupan del problema de la fragmentación
Problemas: se pierde la posibilidad de usar la red de forma más eficiente, no se pueden usar rutas distintas para los diversos fragmentos de un paquete.
• Fragmentación no transparente: cuando el router de entrada a una red recibe un paquete que no cabe en
esa red, lo fragmenta pero nadie lo reconstruye sino que es la estación final la encargada de sacar todos los
datos de los fragmentos.
Ventaja: los paquetes se pueden encaminar de una manera óptima.
Problema: todas las estaciones deben ser capaces de reensamblar los paquetes, además la carga de
la red aumenta. Otro problema es el de la identificación de los fragmentos.
IGRP (Internet Gateway Routing Protocol), sirve para que los routers intercambien sus tablas de encaminamiento.
DNS, sistema que produce las traducciones entre los nombres y las direcciones IP.
LOCAL 1
199.199.2.1
199.199.2.2
199.199.2.3
Para que puedan comunicarse estas dos estaciones, la estación de origen debe conocer la dirección MAC de
destino, para ello vierte una trama ARP en el medio con la dirección IP de la estación destino, la cual contestará con
su dirección MAC.
¿Qué pasa si la dirección destino es otra red?
Se seguirá el mismo mecanismo anterior
199.199.3.0
LOCAL 1
199.199.2.1
199.199.1.202
Dir. IP 199.199.2.2
Máscara 255.255.255.0
LONDRES
¿Cómo se comunican estas dos máquinas?
Licenciado Gustavo Rei
Pág. Nro. 69
Comunicación de Datos − Redes de Computadores
La estación origen comprueba si la estación destino está en su misma red, como no es así, entonces es necesario recurrir al router, para ello se debe averiguar la dirección MAC del router a partir de la dirección IP.
Una vez le llega la trama al router, éste consultará sus tablas y mandará la trama por un de sus líneas de salida.
199.199.1.202
BRIDGE
199.199.2.2
La estación origen construirá una trama ARP para conocer la dirección MAC de destino, el puente difundirá la
trama por todas sus salidas y la estación destino contestará.
Si usamos un router y no queremos que una trama no salga de un segmento se puede conseguir, en cambio
usando puentes transparentes una trama se puede transmitir por varios segmentos.
Antes de aplicar el protocolo ARP se debe asegurar que la estación destino está en la misma red, para ello se
aplica el AND bit a bit de la dirección destino con la máscara.
199.199.1.1
255.255.255.0
199.199.1.0
AND
199.199.1.252
255.255.255.0
199.199.1.0
AND
Diseño de Topologías de Redes
Cuando se diseña la topología de una red, se deben tener en cuenta los siguientes consejos básicos:
• Para conexiones entre diferentes edificios, es mejor usar fibra óptica o algún otro medio no eléctrico,
para evitar el efectos dañinos por diferencias de nivel tierra (que deteriora interfaces y hace aparecer
colisiones falsas);
• Cuando hay muchas estaciones conectadas entre sí, y el tráfico es todos con todos, es conveniente utilizar un switch a un hub, para evitar las colisiones entre estaciones que no se comunican entre sí;
• Si hay muchas estaciones tratando de comunicarse con una estación particular, no importa si es hub o
switch, pero es conveniente que la conexión desde éste hacia la estación particular debe ser más rápida que el resto, para evitar la congestión en esa línea;
• En general, cuando se tienen muchas estaciones que se comunican continuamente con alguna en particular (servidor), y raras veces entre sí, conviene una topología jerárquica con el servidor conectado a
un switch, utilizando hubs en los nodos más cercanos a las estaciones para abaratar costos (Ver figura
1);
• Cuando se usa un hub, la velocidad de transferencia se puede aumentar cambiándolo por un switch;
Los principales elementos que necesitamos para instalar una red son :
Tarjetas de interfaz de red.
Cable.
Protocolos de comunicaciones.
Sistema operativo de red.
Aplicaciones capaces de funcionar en red.
Tarjetas De Interfaz De Red
Licenciado Gustavo Rei
Pág. Nro. 70
Comunicación de Datos − Redes de Computadores
Las tarjetas de interfaz de red (NICs - Network Interface Cards) son adaptadores instalados en un dispositivo,
conectándolo de esta forma en red. Es el pilar en el que sustenta toda red local, y el único elemento imprescindible
para enlazar dos ordenadores a buena velocidad (excepción hecha del cable y el software). Existen tarjetas para
distintos tipos de redes. Las principales características de una tarjeta de red son :
Operan a nivel físico del modelo OSI : Las normas que rigen las tarjetas determinan sus características , y su
circuitería gestiona muchas de las funciones de la comunicación en red como :
Especificaciones mecánicas : Tipos de conectores para el cable, por ejemplo.
Especificaciones eléctricas : definen los métodos de transmisión de la información y las señales de control para dicha transferencia.
Método de acceso al medio : es el tipo de algoritmo que se utiliza para acceder al cable que sostiene la red.
Estos métodos están definidos por las normas 802.x del IEEE.
La circuitería de la tarjeta de red determina, antes del comienzo de la transmisión de los datos, elementos como velocidad de transmisión, tamaño del paquete, time-out, tamaño de los buffers. Una vez que estos elementos se
han establecido, empieza la verdadera transmisión, realizándose una conversión de datos a transmitir a dos niveles :
En primer lugar se pasa de paralelo a serie para transmitirlos como flujo de bits.
Seguidamente se codifican y a veces se comprimen para un mejor rendimiento en la transmisión.
la dirección física es un concepto asociado a la tarjeta de red : Cada nodo de una red tiene una dirección asignada que depende de los protocolos de comunicaciones que esté utilizando. La dirección física habitualmente viene
definida de fábrica, por lo que no se puede modificar. Sobre esta dirección física se definen otras direcciones, como
puede ser la dirección IP para redes que estén funcionando con TCP/IP.
Determinación De La Velocidad De Transmisión En Una Red
Existen varios factores que determinan la velocidad de transmisión de una red, entre ellos podemos destacar :
El cable utilizado para la conexión. Dentro del cable existen factores como :
El ancho de banda permitido.
La longitud.
Existen otros factores que determinan el rendimiento de la red, son :
Las tarjetas de red.
El tamaño del bus de datos de las máquinas.
La cantidad de retransmisiones que se pueden hacer.
Resto de la Red
Switch
Servidor
Hub
Hub
Estaciones
Estaciones
Figura 1: Topología Jerárquica para muchas estaciones y un servidor
Concepto de segmento
Un segmento es un bus lineal al que están conectadas varias estaciones y que termina en los extremos. Las
características son:
Licenciado Gustavo Rei
Pág. Nro. 71
Comunicación de Datos − Redes de Computadores
Cuando se tiene una red grande se divide en trozos, llamados segmentos a cada uno de ellos.
Para interconectar varios segmentos se utilizan bridges o routers
El rendimiento de una red aumenta al dividirla en segmentos
A cada segmento junto a las estaciones a él conectadas se las llama subred
Segmentación: sus necesidades
Segmentar una intranet consiste en dividirla en subredes para así poder aumentar el número de ordenadores
conectados a ella y/o el rendimiento de la misma.
Cuando se segmenta una intranet, lo que se esta haciendo es crear subredes pequeñas que, por decirlo de
alguna manera, se autogestionan, de forma que la comunicación entre segmentos se realiza cuando es necesario,
es decir, cuando un nodo de un segmento quiere comunicarse con un nodo del otro segmento; mientras tanto cada
segmento de la intranet está trabajando de forma independiente por lo que en una misma intranet se están produciendo varias comunicaciones de forma simultánea; evidentemente esto mejora el rendimiento de la intranet.
La tabla siguiente refleja las longitudes máximas de los segmentos dependiendo de las diferentes topologías
de red.
TOPOLOGÍAS
Ethernet gruesa
Ethernet fina
Ethernet de par trenzado
Ethernet de fibra óptica
Token-Ring de par trenza-
LONGITUD
500 metros
185 metros
100 metros
2.000 metros
100 metros
do
El dispositivo que se utiliza para segmentar una red debe ser inteligente ya que debe ser capaz de decidir
hacia qué segmento debe enviar la información llegado a él: si hacia el mismo segmento desde el que la recibió o
hacia otro segmento diferente.
Abstrayéndose de algunos detalles, es fácil pensar que segmentar una intranet, ya que se habla de subredes,
es como interconectar intranets diferentes. Sin embargo, cuando se habla de segmentar se hace referencia a una
única intranet; esto lleva asociado lo siguiente: una única topología, un único tipo de protocolo de comunicaciones,
un único entorno de trabajo; cuando se habla de interconectar intranets, en la mayoría de los casos, las intranets
tienen como mínimo topologías diferentes. No obstante, sí debe destacarse que los dispositivos que se utilizan para
segmentar redes coinciden con algunos de los dispositivos que son utilizados para interconectar redes diferentes.
Dependiendo del tipo de protocolos que se utilicen en la intranet segmentada, así como de dispositivos que se
utilicen para realizar esta segmentación puede hacerse necesario o no el atribuir a cada segmento una dirección de
red diferente. Cuando se trabaja con protocolos TCP/IP esto no es necesario, basta con que cada estación tenga su
propia dirección IP, y que no aparezcan dos estaciones con la misma dirección, independientemente de si están o no
en el mismo segmento de la intranet.
Existen diferentes motivos por los que se puede hacer necesario la segmentación de una intranet, como pueden ser:
Necesidad de sobrepasar el número de nodos que la topología permite. La limitación del numero de nodos en una intranet vienen impuesta por varios factores, como son el método de acceso al medio que se utiliza, el
tipo de cable, el ancho de banda, etc.
Mejorar el rendimiento de una intranet en la que ha aumentado el tráfico. En ocasiones, una intranet que
inicialmente funciona bien, con un tiempo de repuesta aceptable, empieza a perder prestaciones; el motivo es claro:
de forma paulatina se ha ido incrementando el número de comunicaciones que la intranet debe gestionar, por diferentes motivos como que los usuarios comienzan a conocer la red y la aprovechan más, o que se han ido instalando
más aplicaciones.
Licenciado Gustavo Rei
Pág. Nro. 72
Comunicación de Datos − Redes de Computadores
Existen diferentes formas de paliar este problema: Una de ellas, la más drástica es cambiar algún elemento físico de la intranet: por ejemplo sustituir el cable que implementa la intranet por uno que pueda soportar velocidades
mayores, cambiar las tarjetas de red por otras más rápidas, e incluso cambiar la topología empleada. Una solución
menos concluyente consiste en segmentar la intranet. Dividirla estratégicamente en dos subredes, reduciendo de
esta forma el tráfico en cada una de ellas. Por ejemplo, sobre una intranet inicial repartida por varias aulas de un
centro, se pueden crear subredes por aula, de forma que en cada aula se mejorará el rendimiento de la red.
La interconexión de intranets se puede establecer a varios niveles: desde el nivel físico, a través de un dispositivo llamado hub (concentrador) hasta niveles más altos (niveles del modelo OSI) a través de dispositivos como un
puente (Bridge) o un router (encaminador). La tabla siguiente muestra el nivel en el que trabajan los diferentes dispositivos.
DISPOSITIVO
repetidor
concentrador
puente
encaminador
pasarela
NIVEL
físico
fisico
enlace
red
aplicación
Para la segmentación de intranets, y teniendo en cuenta que uno de los motivos por el que se realiza esta
operación es mejorar el rendimiento de la red, es necesario emplear dispositivos inteligentes, como pueden ser un
encaminador o un puente.
Las redes locales tienen una serie de limitaciones inherentes a su naturaleza:
Limitaciones en el número de host.
Limitaciones en la distancia que puede cubrir.
Limitaciones en el número y tipo de nodos que se pueden conectar.
Limitaciones en el acceso a los nodos.
Limitaciones en la comunicación con los usuarios.
Para resolver estos problemas se utilizan soluciones de dos naturalezas: software y hardware:
Elementos de interconexión.
Software de servicios.
De forma genérica existen varias maneras de ampliar las intranets:
Hubs: Para unir hosts dentro de una red.
Repetidores: conexión a nivel físico, en el mismo segmento.
Bridges: Conexión a nivel de enlace entre dos segmentos (iguales o distintos).
Routers: Conexión a nivel de red.
Gateways: Conexión a nivel de presentación, entre dos redes distintas.
Licenciado Gustavo Rei
Pág. Nro. 73
Comunicación de Datos − Redes de Computadores
Capa de Aplicación
Esta capa contiene os programas de usuario o aplicaciones. Los servicios que proveen son muy variados y
casi siempre dirigidos a un problema en particular. Cuando hacen uso de la red, deben hacerlo a través de los servicios que presta la capa de presentación.
Conceptos Básicos
A continuación se revisan una serie de conceptos que deben estar claros antes de entrar en materia:
Proceso:
Es el conjunto de código de programa en ejecución y los datos asociados a él, esto es, de
cada instancia de él en ejecución.
Hebra: Es cada línea de ejecución paralela de un proceso, las cuales comparten datos y/o código del programa con otras hebras de un mismo proceso.
Tiempo de Tarea:
Tiempo durante el cual el proceso está siendo ejecutado por el procesador.
Tiempo de Interrupción: Tiempo durante el cual el proceso no está siendo ejecutado por el procesador.
Comunicación de Procesos:
Forma de intercambiar información entre procesos. Generalmente se usan dos
técnicas: Paso de Mensajes (el Sistema Operativo se encarga de la comunicación) y Memoria Compartida (El
S.O. no necesita hacer nada).
Aplicaciones Estándar más Comunes
Transferencia y Acceso Remoto de Archivos
Uno de los usos más comunes de las redes es el acceso a archivos en otras máquinas, y la transferencia de
ellos desde una máquina a otra. Lo anterior logra mediante dos tipos de aplicaciones:
Transferencia de Archivos (ftp, http):
Consiste en la copia de archivos a través de la red, y es una de las formas más simples de hacerlo. Consiste
fundamentalmente en copiar el archivo de una máquina a la otra. Si el archivo original se actualiza frecuentemente, o
es compartido por varios usuarios, no se realiza ningún tipo de control especial.
Acceso Remoto a Archivos (NFS, Novell):
Consisten en servidores virtuales de archivos, los que controlan la concurrencia de usuarios sobre ellos. Los
servidores de archivos se caracterizan por tres propiedades:
i) Estructura de los archivos:
dónde y de qué manera están almacenados;
ii)
Atributos de los archivos:
nombre, propietario, operaciones permitidas, fecha, etc.;
iii)
Operaciones sobre archivos: abrir, leer, escribir, cerrar, etc.
El problema que surge en los servidores de archivos es el de la concurrencia, el cual se solucione generalmente mediante el uso de tres soluciones:
Candado (protocolo con conexión):
existen candados compartidos (para lectura) y candados exclusivos
(para escritura). Así, a un usuario se le acepta un candado exclusivo sólo si el archivo no tiene candados. Se usa
generalmente para el control de archivos compartidos dentro de una misma máquina;
Transacciones (protocolo sin conexión): cada requerimiento al servidor es atómico, por lo cual no se necesitan candados. Se usa generalmente en servidores de archivos para varias máquinas;
Versión más Reciente: es una solución mixta que considera el crear una nueva versión de cada archivo
cuando se recibe una solicitud de escritura. Así, los requerimientos de lectura que lleguen antes de finalizar la escritura de la nueva versión son atendidos con la versión completa más reciente. Versiones anteriores son eliminadas
cuando ya exista una versión más nueva y nadie más las esté utilizando.
Otra variedad de servidor de archivos posee múltiples copias de los archivos en diferentes ubicaciones, para
los siguientes fines:
Acceso muy Remoto:
mejorar la velocidad de acceso desde lugares muy alejados;
Dividir Carga: división de la carga de trabajo a través de varias máquinas;
Acceso Inactivo: acceso a archivos cuando un servidor no está activo;
Más Fiabilidad: múltiples copias en caso de daño o pérdida.
Licenciado Gustavo Rei
Pág. Nro. 74
Comunicación de Datos − Redes de Computadores
Correo Electrónico
El correo electrónico es una de las aplicaciones que mayor adeptos ha ganado con la creación de las redes de
computadores. Originalmente se trataba como transferencia de archivos de texto, y actualmente contienen, mediante
codificación MIME, texto con formato, gráficos, sonidos, etc.
Los problemas que surgen en este tipo de aplicaciones son los siguientes:
Composición:
Transferencia:
Notificación:
Conversión:
Formato:
Disposición:
creación de la cabecera, mensaje, respuestas, etc.;
cómo llevar el mensaje hasta el receptor;
cómo saber si fue recibido;
convertir el mensaje a representación del receptor;
desplegar correctamente el mensaje;
qué hacer con los mensajes recibidos;
Terminales Virtuales
Las aplicaciones de terminales virtuales son tales que el servidor de terminal cree que son terminales físicas.
Es importante entonces que el servidor sepa qué tipo de terminal se está emulando.
Además, la aplicación de terminal virtual debe imitar todas las características físicas de las terminales, como
son los retardos de respuesta, los formatos especiales de los paquetes transferidos por la red, etc.
El programa más utilizado es telnet.
Licenciado Gustavo Rei
Pág. Nro. 75
Comunicación de Datos − Redes de Computadores
Capa de Presentación
Los objetivos fundamentales de esta capa son:
• Codificación: Transferencia Eficiente:
• Seguridad: Encriptación de la Información:
• Conversión a Formatos Estándares:
Teoría de la Información y Codificación de Fuentes
Para aprovechar mejor los canales de comunicación, es deseable que los datos transferidos contenga la mayor cantidad información útil posible. La manera de hacer esto es utilizar algoritmos de compresión de datos, que
eliminan las redundancias de ellos, optimizando la representación y por consiguiente disminuyendo la cantidad de
datos a transferir.
Las ventajas de comprimir los datos son:
•
•
•
•
Menor espacio de almacenamiento;
Menor carga de canales de transferencia;
Menor costo de comunicación;
Mayor seguridad;
Las desventajas de comprimir los datos son:
•
•
•
•
SW o HW más complicado;
Tiempo de CPU necesario;
Menor portabilidad;
menor fiabilidad;
Las técnicas utilizadas para la compresión de datos se clasifican en:
•
•
•
•
•
La sustitución de patrones frecuentes (“#A” en vez de “abdsodi”);
La sustitución de series de caracteres repetidos (“#6v7” en vez de “777777”);
Compresión de datos ordenados (“#1-6” en vez de “123456”);
Diferenciación;
Códigos de longitud variable (Huffmann, Extensión de Código, Adaptativos);
Teoría de la información
La teoría actual de la información postula que:
Información:
Datos recibidos desde una fuente que esclarecen una duda en el receptor;
Mensaje:
Manifestación física de los datos transferidos;
•
•
•
•
La información consiste de datos enviados de una fuente a un receptor a través de algún medio;
Los datos constituyen información sólo cuando esclarecen una duda en el receptor;
La duda en el receptor implica la existencia de alternativas;
Las alternativas están dadas por un conjunto de símbolos (alfabeto), el cual existe tanto en la fuente
como en el destino;
Así, la función del emisor es seleccionar un conjunto de símbolos del alfabeto y enviarlos por un canal al receptor, pero estos datos sólo son información si dicen algo nuevo al receptor.
Tenemos que:
• Un mensaje largo no tiene más información por ser largo;
• Mientras menor sea la información del mensaje, menos símbolos del alfabeto se necesitan para representarla;
• Mientras menor sea la información más rápido se puede transmitir por un canal de transferencia de datos;
• La medida de la información (intuitiva) es una medida del grado de libertad que se tiene al elegir los
símbolos del alfabeto en la fuente al enviar un mensaje;
Licenciado Gustavo Rei
Pág. Nro. 76
Comunicación de Datos − Redes de Computadores
Por lo tanto, podemos decir que la medida de la información comprende probabilidades de elección de símbolos de un alfabeto. Mientras menos probable sea que se elija un símbolo, más información contiene este símbolo.
Veamos:
Sea Σ un alfabeto.
Sean A , B ∈Σ dos símbolos del alfabeto.
Sea PA su probabilidad de que se elija para ser transmitido, con 0 ≤ PA ≤ 1 .
( ) la información mutua del símbolo A donde f es desconocido.
Sea I A = f PA
Intuitivamente sabemos que
IA ≥ 0
Además,
y
lim f ( PA ) = 0
PA →1
PA > PB ⇒ f ( PA ) < f ( PB )
Cuando se recibe A se reciben unidades de información, por lo que si además se recibe B se recibe en total,
si C = AB
IC = I A + IB
Si A y B son estadísticamente independientes, tenemos
PC = PA ⋅ PB
y luego
I C = f ( PA ⋅ PB )
Igualando ambas ecuaciones tenemos
f ( PA ) + f ( PB ) = f ( PA ⋅ PB )
De aquí deducimos que
⎛ 1⎞
I A = log b ⎜ ⎟
⎝ PA ⎠
La ecuación anterior se dice que es la definición de la información mutua (relativa al resto del alfabeto) del
símbolo A. Este valor es diferente para cada base b, y según el valor de b se tienen diversas unidades de información: si b = 2 la unidad es el bit.
Para el caso de transferencias binarias, Σ={0,1}, se tiene que en el mejor de los casos, esto es, cuando la probabilidad de recibir cualquiera de los dos binits (bits , tradicionales) es igual a ½, la cantidad de información que lleva
cada uno es 1 bit.
Entropía: Información Media
Consideremos un alfabeto de m caracteres.
Cuando se recibe el caracter j, se tiene
⎛ 1⎞
I j = log⎜⎜ ⎟⎟ [bits]
⎝ Pj ⎠
Consideremos un mensaje muy largo, con N >> 0 su longitud.
Tenemos que el símbolo j aparece N ⋅ Pj veces en el mensaje.
La información total en el mensaje es
m
I T = ∑ N ⋅ Pj ⋅ I j
[bits]
j =1
Se define la entropía del alfabeto como
m
IT
H=
=∑P ⋅I
N j =1 j j
Licenciado Gustavo Rei
Pág. Nro. 77
Comunicación de Datos − Redes de Computadores
La entropía de un alfabeto da una medida de cuán bueno es para representar información. Mientras mayor
sea la entropía de un alfabeto, menos símbolos se necesitan para representar la misma información.
La entropía máxima se da cuando la probabilidad de que aparezcan es igual, y si este es el caso se tiene:
H max = log( m)
Codificación de la Fuente
Utilizaremos la teoría mostrada para codificar los símbolos de un alfabeto fuente de manera de maximizar la
entropía del alfabeto transferido. El reto es codificar un alfabeto original en otro (usualmente el binario) de la mejor
manera posible, para minimizar el largo de los mensajes enviados al receptor.
En los mensajes a transmitir se tiene que son de largo:
m
L = ∑ Pi ⋅ I i
i
que es el largo necesario para transmitir m símbolos dados.
Luego se tiene que debemos minimizar L, sabiendo que (teorema de codificación de fuentes):
H ( p ) ≤ L ≤ H ( p) + 1
Lo que se hace es construir códigos de longitud variable adaptados a la fuente, en el sentido de saber de antemano las probabilidades de aparición de los símbolos.
Códigos
SEAN S EL ALFABETO FUENTE Y X EL ALFABETO CÓDIGO. LA CODIFICACIÓN ESTABLECE UNA CORRESPONDENCIA DE TODAS LAS
SECUENCIAS DE SÍMBOLOS POSIBLES DE S EN SECUENCIAS DE SÍMBOLOS DEL ALFABETO CÓDIGO X.
Los códigos se clasifican en :
No Bloque
Singular
Códi-
No Unívo-
gos
co
Bloque
No
Sin-
No
tantáneo
gular
Ins-
Unívoco
Instantáneo
Códigos Bloque:
Asignan a cada símbolo de S una secuencia fija de símbolos de X (pudiera no ser única);
Códigos No Singulares:
Código bloque con todas sus palabras distintas;
Códigos Unívocos:
Su extensión de orden n es no singular para todo valor de n, esto es, existe una única forma de descodificar
una secuencia de símbolos de X;
Códigos Instantáneos:
Se puede descodificar una secuencia incompleta de símbolos de X sin necesidad de ir conociendo los símbolos que faltan;
Análisis de Códigos Unívocos
Los códigos unívocos deben satisfacer la siguiente condición (Kraft-McMillan):
El siguiente algoritmo permite determinar si un código es o no unívoco:
Sea C0 el conjunto de secuencias de X asociadas a cada símbolo de A.
Sea i = 0,
Verifíquese cada elemento de C0 en búsqueda de elementos que sean prefijos de los elementos de Ci, Sea
Ci+1 el conjunto de sufijos de esos elementos (todos con todos).
Licenciado Gustavo Rei
Pág. Nro. 78
Comunicación de Datos − Redes de Computadores
Verifíquese cada elemento de Ci en búsqueda de elementos que sean prefijos de los elementos de C0, Agrégese a Ci+1 el conjunto de sufijos de esos elementos (todos con todos).
Si Ci+1 = ∅ entonces es código unívoco
Si Ci+1 = Cj , j ≤ i entonces es código unívoco
Si Ci+1 ∩ C0 ≠ ∅ entonces no es código unívoco
i = i + 1;
Volver a 3.
Ejemplo:
Sea S = { A, B, C, D, E, F, G }
Sea X = { 0, 1, 2, 3, 4 }
Sea la codificación como se muestra en la tabla:
S
C
0
C
1
A
0
C
2
3
4
1
B
2
1
1
C
3
D
11
E
03
F
41
G
1234
C
3
C
4
3
4
C
5
1
0
3
2
1
34
234
0
0
1
3
1
Como 03 está en C0, entonces no es código unívoco.
Codificación de Huffmann (Instantáneo y Óptimo)
El método de codificación de HuffMann genera códigos óptimos e instantáneos para un alfabeto de fuente con
probabilidades conocidas. Veamos:
Sea S alfabeto fuente de m símbolos
Sea X alfabeto código de n símbolos
Ordenar alfabeto de fuente según probabilidades, de mayor a menor
Hacer q = ((m-1) mod (n+1)) + 1
Sumar las menores q probabilidades, y reordenar la lista
Hacer q = n
Mientras queden más de n elementos en la tabla volver a 5.
Asignar código hacia atrás desde la última columna de la tabla
Ejemplo:
Sea S = { A, B, C, D, E, F, G, H, I }
Sea X = { 0, 1, 2, 3 }
Sean las probabilidades de los símbolos de S como se muestran en la tabla:
S
A
B
C
D
E
F
G
Pi
0.24
0.21
0.17
0.13
0.10
0.07
0.04
Licenciado Gustavo Rei
código
1
2
3
00
01
02
030
S
A
B
C
D
E
F
GHI
Pi
0.24
0.21
0.17
0.13
0.10
0.07
0.07
código
1
2
3
00
01
02
03
S
DEFGHI
A
B
C
Pi
0.38
0.24
0.21
0.17
código
0
1
2
3
Pág. Nro. 79
Comunicación de Datos − Redes de Computadores
H
I
0.03
0.01
031
032
En la tercera columna tenemos el código instantáneo asociado a cada símbolo de la fuente.
Existen algoritmos que, al momento de comprimir una secuencia de datos, la analizan, generan el código
Huffman óptimo para la secuencia (analizando la cantidad de veces que aparece cada símbolo), y luego almacenan
el código junto con los datos comprimidos. Estos son los códigos conocidos como adaptativos.
A continuación se muestran los radios de compresión para dos de los más populares métodos de codificación:
Fuente
Texto (Inglés)
Código de Pro-
HuffMann Adaptativo
1.6
1.7
LZW (Lempel / Ziv / Welch )
1.8
2.3
Código Binario
1.2
1.5
grama
Otros Métodos
Extensión de Código:
En este método se codifican sólo los caracteres más frecuentes, y para los menos (las excepciones) se utilizan secuencias de escape simples (“ddd” -> “#d#d#d”) o con retorno (“ddd” -> “#ddd\”). Ejemplos de aplicación son el
alfabeto CCITT n2 (Baudot) y el repertorio de instrucciones de los procesadores Z80 e Intel8085.
Series Repetidas:
Consiste en representar series de símbolos repetidos como un par (símbolo, cantidad). Es muy útil en la compresión de dibujos de pocos colores (ej.: transmisión de fax por vía telefónica).
Criptografía, Seguridad y Protección de los Datos
En una red, la seguridad de la información transmitida es generalmente un factor de importancia (transacciones comerciales, por ejemplo). Por ello, desde siempre ha existido la necesidad de codificar la información de alguna
manera, para hacer más difícil su utilización por parte de intrusos en la red.
Criptología
La criptología el arte dedicado al desarrollo de crear o desbaratar métodos de ocultamiento de la información,
utilizados cuando no se desea que algún intruso conozca el contenido del mensaje enviado a través de algún medio.
La criptología se divide en os ramas, la criptografía y el criptoanálisis, que son el arte de crear métodos de encriptación y el de desbaratarlos, respectivamente.
En general, como es difícil cambiar de un método de cifrado a otro, se utilizan métodos parametrizados, es
decir, los cuales se pueden modificar fácilmente mediante el uso de una clave. Así, no es necesario que el método
de cifrado sea secreto, sino que sólo es necesario que la clave lo sea. Otra ventaja es que es mucho más fácil cambiar de una clave a otra que de un método a otro, ya que la creación de métodos nuevos no es nada fácil.
Consideremos un texto plano a enviar P, un método de encriptación E (que utiliza una clave k), y denotemos
como C el texto cifrado, esto es, C = Ek ( P ). Además, consideremos un método de descifrado D, teniéndose entonces P = Dk ( C ). Entonces podemos representar el problema de la siguiente manera:
Intru-
Emisor
Método
de Cifrado
RecepMétodo
de Descifrado
P = Dk (
C = Ek (
Los intrusos se clasifican en dos tipos: los que solamente escuchan la información que es transmitida (intrusos
pasivos), y los que además modifican esta información (intrusos activos):
Licenciado Gustavo Rei
Pág. Nro. 80
Comunicación de Datos − Redes de Computadores
Intrusos Pasivos
Intrusos Activos
Criptografía
Los métodos de encriptación se clasifican en tres grandes grupos:
Sustitución:
Son aquellos en que una unidad (letra o grupo de letras) se substituye por otra unidad;
Códigos:
Utilizan la teoría vista en el subcapítulo anterior;
Transposición:
No preservan el orden de los símbolos de los mensajes. Para ello se escribe el texto en una matriz, la que
luego se transpone.
Los diferentes métodos de cifrado se pueden combinar, resultando métodos muy complejos de cifrado. Variantes de los métodos anteriores se consiguen utilizando claves muy grandes o introduciendo basura en el texto original
para hacer más difícil su descifrado.
Criptoanálisis
El criptoanálisis consiste en crear un algoritmo D para descifrar mensajes cifrados. Generalmente se trata de
encontrar primero E, ya que es más fácil y soluciona el problema. Este problema tiene tres variantes típicas, en cada
una de las cuales se conoce de antemano:
Sólo C:
Cuando sólo se tiene un texto cifrado, se debe suponer un método de cifrado y se utilizan las probabilidades
de aparición de los símbolos para encontrar la clave utilizada;
P y C = Ek ( P ):
Cuando se conocen ambos mensajes, es mucho más fácil encontrar el método de codificación, pero sigue
siendo difícil encontrar la clave;
C y posibilidad de utilizar E:
Cuando el criptoanalista tiene la posibilidad de utilizar el método de cifrado, le es aún más fácil encontrar la
clave del mensaje.
Cabe destacar que generalmente el método de cifrado es público, y sólo la clave es desconocida. Esto ha llevado a la creación de métodos muy complejos, que hacen casi imposible el encontrar la clave original, aún cuando el
criptoanalista tenga todas las facultades mencionadas
Problemas Típicos de Seguridad
Protección de Claves
Otro problema común en el tema de las claves es el de hacer que ellas no sean conocidas nunca por una sola
persona, para evitar abusos de autoridad, por ejemplo. Los polinomios de Shamir son una técnica muy utilizada para
esto:
Si se desea que de un gran conjunto de personas se necesiten k de ellas para obtener la clave, se utiliza un
polinomio de grado (k-1) de la forma:
p ( x ) = a 0 + a 1 ⋅ x + a 2 ⋅ x 2 +Κ + a k −1 ⋅ x k −1
donde a0 es la clave del sistema. A cada persona se le da a conocer un punto de la curva del polinomio, esto
es, un par único ( x , p ( x ) ). Así, reuniéndose los pares de k personas, se puede reconstruir la curva, esto es, calcular los coeficientes del polinomio, obteniéndose la clave a0.
Licenciado Gustavo Rei
Pág. Nro. 81
Comunicación de Datos − Redes de Computadores
Distribución de Claves
Un problema grave en criptografía de mensajes en redes es el de la distribución de las claves: para que dos
entidades se comunique utilizando algún método de encriptación, es necesario que ambos utilizan la misma clave.
La pregunta es ¿cómo hacer para utilizar una clave nueva, sin necesidad de ponerse de acuerdo mediante un medio
que no sea la red?
Una solución ingeniosa es la de los Puzzles de Merkle, que consiste en más o menos lo siguiente:
1)
2)
3)
4)
5)
Inicialmente se envían n acertijos −pares ( C = E ( P ) , k ) −, en los cuales todos los P poseen alguna
característica similar (indicada explícitamente). Además se indica qué método de encriptación E se utilizó en todos los casos;
El receptor selecciona uno de los acertijos y lo resuelve por fuerza bruta hasta que encuentre un texto
P que cumple con la característica indicada;
El receptor envía de regreso el texto P del acertijo seleccionado (sin cifrar);
El emisor selecciona la clave k asociada al acertijo que contiene C = E ( P );
Ambos comienzan a utilizar la clave k asociada al acertijo elegido (no la clave que lo resolvió).
Un intruso escucha toda la conversación no sabe cuál fue el acertijo elegido, y para saber qué clave será utilizada deberá resolver a fuerza bruta en promedio ½n acertijos. Si n es un número grande, digamos 20.000, la tarea
puede tomar varios años. Si este método se utiliza con una frecuencia de digamos un mes, la tarea es prácticamente
imposible.
Este método posee dos grandes desventajas: requiere de una cantidad bastante grande de cálculo para el
punto 2), y un uso de red grande en el punto 1).
Criptografía con Claves Públicas
Diffie y Hellmann publicaron un artículo que cambió la forma de pensar de los criptógrafos y criptoanalistas, ya
que anteriormente se daba por sentado que las claves debían ser secretas. Esto era así debido a que si se conoce el
algoritmo de cifrado E, la especificación del algoritmo de descifrado D era trivial de obtener.
Así, proponen tres requisitos para sistemas de criptografía seguros:
• D ( E ( P ) ) = P;
• Debe ser muy difícil deducir D a partir de E;
• E no puede descifrarse mediante un ataque basado en la aplicación de él sobre textos seleccionados.
Bajo estas condiciones no existe ninguna razón por la cual se deba utilizar una clave secreta. Veamos por
qué:
1) Quién desee recibir mensajes cifrados selecciona algoritmos E y D que cumplan las características anteriores;
2) El algoritmo E se hace público, de manera que cualquier persona que desee enviar algo pueda utilizarlo;
3) Cuando se reciba un mensaje cifrado E ( P ), se le aplica el algoritmo D, obteniéndose el mensaje original. Como nadie más conoce D, nadie más podrá descifrar el mensaje.
Así, el problema consiste en encontrar algoritmos que satisfagan los tres requisitos planteados. Algoritmos de
este tipo se basan generalmente en la teoría de números, ya que se utilizan números primos muy grandes, y claves
del orden de 200 dígitos. La seguridad del sistema se basa en que para factorizar números de tal magnitud se requieren más de 4 billones de años, aún si se utilizan los mejores algoritmos sobre los mejores computadores actuales.
Autentificación y Firmas Digitales
Este problema consiste en el problema de demostrar la identidad de un usuario en la red. El fin último de esto
es poder realizar transacciones comerciales a través de la red, por ejemplo. Los algoritmos que se implementen para
ello deben cumplir dos características:
• El receptor debe poder verificar la identidad del transmisor;
• El transmisor no debe poder negar el mensaje luego de enviarlo.
Licenciado Gustavo Rei
Pág. Nro. 82
Comunicación de Datos − Redes de Computadores
El primer problema se descompone en dos, ya que se debe poder autentificar al usuario no sólo al iniciar una
sesión, sino que debe ser posible identificarlo como el emisor de cada mensaje enviado.
Al Inicio de Sesión:
Una solución al problema es hacer uso de una clave pública b1 (conocida por el receptor) en conjunto con
una privada b2 (conocida por el usuario). Al iniciar una sesión, el receptor escoge un mensaje aleatorio, lo cifra utilizando el algoritmo Eb1 (público), y envía al usuario. El usuario debe entonces regresarlo descifrado mediante el algoritmo Db2 (privado). Note que Db2 ( Eb1 ( P ) ) = P.
En Cada Mensaje:
Para autentificar al usuario en cada mensaje enviado se hace que cada mensaje contenga lo siguiente: una
contraseña secreta, un número de secuencia, hora y fecha de transmisión, el texto en clave utilizando la clave secreta enviada y un código de redundancia de todo el mensaje. El conjunto de esta información hace prácticamente imposible que un intruso pudiera reproducir los mensajes de manera exitosa.
El segundo problema, el de evitar que se niegue el envío de algún mensaje, se resuelve utilizando dos pares
de claves públicas y secretas, y la condición que:
D ( E ( P ) ) = E ( D ( P ) ) = P.
Así, el proceso de envío del mensaje es como sigue:
Da(
Clave
Secreta
Emisor
Eb(Da
Clave
Pública
Receptor
Da(
Clave
Secreta
Receptor
Clave
Pública
Emisor
Emisor
RecepEl receptor puede demostrar que fue el usuario quién envió el mensaje enseñando a un tercero los mensajes
Da(P) y P. Sólo el emisor pudo enviar el mensaje, ya que sólo él conoce su clave secreta.
El problema potencial es que el emisor puede reclamar que su clave le fue robada de alguna manera.
Representación en Formatos de Red
La capa de presentación también de be solucionar el problema de la representación de datos en formatos estándares, ya que las diferentes arquitecturas de computadores utilizan diferentes formatos de representación de datos.
El estándar OSI propone un formato estándar de red (ASN.1), que permite especificar tipos de datos abstractos. ASN.1 posee tipos primitivos muy simples (enteros, booleanos, cadena de bits y cadena de bytes), y permite
construir cualquier tipo de dato independientemente de su representación.
Cuando se envía información a través de la red con ASN-1, se debe traducir la información a ASN.1 y enviarla
junto a la descripción de su estructura, de manera que el receptor pueda reconstruir la información.
Licenciado Gustavo Rei
Pág. Nro. 83
Comunicación de Datos − Redes de Computadores
Capa de Sesión
Esta capa se encuentra fuertemente mezclada con la capa de aplicación, y considera en general las siguientes
funciones:
•
•
•
•
•
•
Intercambio de Datos
Administración del Diálogo
Sincronización de Procesos
Control de Actividades
Reporte de Excepciones
Control de Conexión
Servicios del Nivel de Sesión
Básicamente, esta capa provee servicios comunes de red a los programadores de aplicaciones que la utilizan,
de manera que ellos no deban volver a programar cada vez los mismos algoritmos.
Interconexión de Procesos
La capa de sesión provee de conexiones entre procesos, comúnmente llamadas sesiones. Estas sesiones
permiten establecer, utilizar y luego terminar una conexión, lo cual resulta muy útil para una variedad de aplicaciones. El énfasis está en que se proveen algoritmos de conexión comunes, orientados a la aplicación más que al uso
de la red (que es el caso de la capa de transporte).
Como es de esperar, esta capa provee de primitivas para el intercambio de datos entre la aplicaciones conectadas.
Sincronización de Procesos
Uno de los usos más comunes de la capa de sesión es la sincronización de procesos, ya que ésta provee los
mecanismos para llevarla a cabo de manera transparente al programador. Así, éste no debe preocuparse por problemas de bloqueo de procesos sincronizados, por ejemplo.
Administración de Actividades
Este servicio consiste en la capacidad de administrar transacciones independientes a través de la red. Depende del programador determinar qué es una actividad, pero sí deben ser independientes una de la otra.
Así, la capa de sesión puede optimizar el uso de la red, pudiendo controlar el flujo de datos de cada actividad
de manera independiente.
Notificación de Excepciones
Este servicio consiste en que los procesos pueden notificar a su entidad par de excepciones ocurridas en
cualquier momento de la sesión (generalmente errores del protocolo entre los procesos).
Llamada a Procedimiento Remoto (RPC)
Las llamadas a procedimientos remotos son una implementación particular de un servicio de sesión, que resuelven problemas de transferencia de datos y de sincronización de procesos. El paradigma en que se basan en el
modelo cliente/servidor, y lo que se pretende es hacer transparente al programador una llamada a un procedimiento
o función de un proceso en otro host de la red.
La idea es que existen dos procesos, presumiblemente en hosts diferentes, uno de los cuales hace de cliente
que solicita algún servicio al otro, que hace de servidor. Esto se implementa de manera tal que el programador sólo
debe declarar un procedimiento como remoto, especificar el host en que se encuentra, y luego puede simplemente
llamar al procedimiento. La implementación del servidor es similar.
A continuación se muestra cómo funciona una llamada a procedimiento remoto:
Licenciado Gustavo Rei
Pág. Nro. 84
Comunicación de Datos − Redes de Computadores
Máquina del Cliente
Clie
nte
Stub
Cliente
Entidad de
Transporte
Máquina del Servidor
Stub
Servidor
Servidor
Entidad de
Transporte
Los algoritmos de stub de cliente y servidor tiene como función el recolectar toda la información a enviar de un
proceso al otro y utilizar los servicios de la capa de transporte para llevar a cabo la comunicación. Esta recolección
debe ser muy cuidadosa (cuando se trata de un puntero, por ejemplo), por lo que el hecho que la capa de sesión
provea este servicio facilita mucho el trabajo al programador.
A pesar de todo, los algoritmos del servidor deben ser construidos con mucho cuidado, ya que no se puede
hacer una llamada pasando parámetros por referencia con punteros, por ejemplo.
Una característica notable de las RPC es que aseguran la exclusión mutua de los procesos, ya que nunca estarán simultáneamente ejecutándose el cliente y el servidor (salvo si se programa de manera explícita).
El problema más común que puede surgir debido al uso de RPC es que el servidor deje de responder, produciendo que el cliente no siga nunca su ejecución.
Licenciado Gustavo Rei
Pág. Nro. 85
Comunicación de Datos − Redes de Computadores
Capa de Transporte
Esta capa se considera el corazón de la jerarquía de protocolos, ya que tiene como objetivos los siguientes:
• Eficiencia en Transporte de Datos;
• Asegurar Confiabilidad;
• Uso Económico del Recurso de Red;
Calidad del Servicio
Un objetivo secundario de la capa de transporte es la mejora de la calidad del servicio proveído a los usuarios
de ella, la se puede medir a través de los siguientes parámetros:
Retardo en Establecer la Conexión:
Tiempo entre solicitud de conexión y confirmación de conexión;
Probabilidad de Fallo de Establecimiento de Conexión:
Probabilidad que una conexión no pueda efectuarse (por congestión, falta de capacidad de las IMP’s, etc.);
Retardo en la Liberación de la Conexión:
Tiempo entre solicitud de desconexión y confirmación de desconexión;
Probabilidad de Fallo de Liberación de Conexión:
Probabilidad que una desconexión no se lleve a cabo en un tiempo aceptable;
Caudal:
Cantidad de información por segundo, que puede transferir la red. Se diferencia entre caudal nominal (que es
capaz de llevar la red) y caudal efectivo (que es posible de utilizar efectivamente, por capacidad de IMP’s y hosts,
por ej.);
Retardo de Tráfico:
Tiempo desde que se envía un mensaje hasta que se recibe este mensaje;
Tasa de Error:
Fracción de mensajes perdidos o dañados. Debiera ser cero, ya que la capa de transporte debiera corregir estos errores que se producen en la capa de red);
Tasa de Falla de Transferencia:
Fracción de veces en que los tres puntos anteriores no fueron aceptables (estuvieron bajo un rango mínimo
aceptable);
Protección:
Manera en que la capa de transporte evita que intrusos intercepten (lean y/o alteren) mensajes;
Prioridad:
Manera en que la capa de transporte maneja prioridades de conexiones;
Resistencia:
Probabilidad que la misma capa de transporte sea la que termine una conexión (debido a problemas internos,
congestión o prioridades, por ej.).
Servicios de la Capa de Transporte
Los servicios que provee la capa de transporte son fundamentalmente los siguientes:
• Primitivas de Transporte;
• Administración de Conexiones:
Direccionamiento;
Establecimiento de la Conexión;
Liberación de la Conexión;
• Control de Flujo;
• Multiplexación;
• Recuperación de Caídas;
Licenciado Gustavo Rei
Pág. Nro. 86
Comunicación de Datos − Redes de Computadores
Primitivas de Transporte
Las primitivas proveídas por la capa de transporte son las siguientes:
Orientadas a Conexión
T-CONNECT.request ( callee, caller, exp, qos, data )
T-CONNECT.indication ( callee, caller, exp, qos, data )
T-CONNECT.response ( qos, respond, exp, data )
T-CONNECT.confirm ( qos, respond, exp, data )
T-DISCONNECT.request ( data )
T-DISCONNECT.indication ( reason, data )
T-DATA.request ( data )
T-DATA.indication ( data )
T-EXPEDITED-DATA.request ( data )
T-EXPEDITED-DATA.indication ( data )
Sin Conexión
T-UNITDATA.request ( callee, caller, qos, data )
T-UNITDATA.indication ( callee, caller, qos, data )
donde:
callee
caller
exp
qos
data
reason
- dirección de quien es llamado
- dirección de quien llama
- indicación de datos acelerados
- calidad de servicio deseada
- 0 o más datos transmitidos
- razón por la cual sucedió
Las primitivas se relacionan mediante el siguiente autómata finito, el cual muestra cuáles primitivas producen
cuáles transiciones de estados. Los estados son los siguientes:
Inactivo:
No hay conexión establecida, ni en proceso de establecerse o liberarse;
Conexión Entrante:
Se ha recibido un T-CONNECT.indication, pero aún no se ha aceptado ni rechazado la conexión;
Conexión Saliente:
Se ha hecho un T-CONNECT.request, pero aún no se ha recibido respuesta alguna;
Conexión Establecida:
Existe una conexión establecida.
Inactivo
T-DISCONNECT.request
T-DISCONNECT.indication
Licenciado Gustavo Rei
T-DISCONNECT.request
T-DISCONNECT.indication
T-CONNECT.request
T-CONNECT.indication
Pág. Nro. 87
Comunicación de Datos − Redes de Computadores
Conexión
Saliente
T-DISCONNECT.request
T-DISCONNECT.indication
T-CONNECT.confirm
Conexión
Entrante
T-CONNECT.response
Conexión
Establecida
T-DATA.request
T-DATA.indication
T-EXPEDITED-DATA.request
T-EXPEDITED-DATA indication
Las relaciones posibles entre las primitivas se pueden ver en los siguientes diagramas. En ellos aparece representada la capa de transporte como un espacio entre dos hosts, uno a la izquierda y otro a la derecha. El tiempo
se representa hacia abajo.
T-CONNECT.
request
T-CONNECT.
request
T-CONNECT.
indication
T-CONNECT.
indication
T-CONNECT.
response
T-DISCONNECT.
request
T-CONNECT.
confirm
T-DISCONNECT.
indication
Conexión Normal
Conexión Rechazada por
el Proceso Llamado
T-CONNECT.
request
T-DISCONNECT.
request
T-DISCONNECT.
indication
T-DISCONNECT.
indication
Conexión Rechazada Desconexión Normal
por Capa de Transporte
T-DISCONNECT.
request
T-DISCONNECT.
request
T-DISCONNECT.
indication
T-DISCONNECT.
indication
Desconexión Simultánea
Desconexión iniciada
por Capa de Transporte
T-DATA.
request
T-EXPEDITED-DATA.
request
T-DATA.
indication
T-EXPEDITED-DATA.
indication
Transferencia de Datos Transferencia De Datos
Licenciado Gustavo Rei
Pág. Nro. 88
Comunicación de Datos − Redes de Computadores
Normal Acelerados Normal
Administración de Conexión
Cuando se desea construir la capa de transporte, se debe poner atención a diversos problemas que aparecen
debido a la naturaleza de las redes de computadores y a los problemas que no maneja la capa de red.
A continuación se presentan los más importantes de ellos.
Direccionamiento
• Cuando un proceso desea establecer una conexión, ¿cómo se determina con cuál proceso desea establecer esta conexión?
La respuesta es la utilización de direccionamiento de procesos. La capa de red provee direccionamiento de
hosts, pero es necesario además direccionar los procesos dentro de cada host. Para ello se define una dirección
(TSAP) de la forma:
<galaxia><estrella><planeta><país><ciudad><host><proceso>
Así, cada proceso se une a una TSAP fija, la cual puede utilizar para requerir conexiones o recibir requerimientos de conexión.
Debido a que la mayoría de los procesos tienen vida corta, y a que la cantidad de TSAP’s es limitada, no es
posible asociar cada proceso a una TSAP fija realmente, asociando una TSAP a un proceso sólo cuando éste lo
requiera, y liberándola cuando ya no la utilice.
• ¿Cómo encontrar un proceso si no se conoce su TSAP?
Se pueden utilizar dos soluciones:
Servidor de Procesos:
Se trata de un proceso con TSAP fija y bien conocida, el cual es capaz de crear procesos a medida que éstos
sean requeridos desde la red. Así, éste servidor de procesos puede indicar al que requiere la conexión cuál es la
TSAP del proceso requerido ;
Base de Datos de Procesos:
Se trata de un proceso con TSAO fija y bien conocida, el cual lleva un registro de los procesos del sistema y
sus TSAP asociadas. Es responsabilidad de cada proceso el inscribirse y desincribirse de esta base de datos.
Pérdida de Mensajes
• La Capa de Red puede perder mensajes: ¿Cómo manejar esta situación?
La solución es enviar nuevamente un mensaje si no se ha recibido confirmación de la llegada de él al destino,
luego de cierto tiempo preestablecido. Esto produce la duplicación de mensajes en la red, ya que ambos pueden
llegar íntegros al destino.
Por esto, se deben usar números de secuencia asociados a los mensajes, los que pueden ser utilizados para
verificar si un mensaje entrante es un duplicado o no. Esta solución sólo funciona para las primitivas de transferencia
de datos, pero no para las de establecimiento o liberación de conexión, ya que si se recibe duplicada una solicitud de
conexión, por ej., el que los números de secuencia sean los mismos no significa que sean duplicados (pueden ser
solicitudes de procesos diferentes en la misma máquina y que utilizan el mismo TSAP, uno después de otro, por ej.).
Establecimiento de la Conexión
Problema: duplicación de T-CONNECT.indication:
T-CONNECT.request
T-CONNECT.indication
T-CONNECT.indication
(duplicado)
Licenciado Gustavo Rei
Pág. Nro. 89
Comunicación de Datos − Redes de Computadores
El duplicado se interpretaría como otra solicitud de conexión, por lo cual debe existir un mecanismo de control
adicional. La solución es utilizar comunicación ida-vuelta-ida para validar la información recibida. Esto se hace enviando confirmaciones de recepción de confirmaciones de vuelta al receptor. Veamos:
T-CONNECT.request
(seq=A0)
T-CONNECT.indication
(seq=A0)
T-CONNECT.response
(seq=B0, ack=A0)
(Se recibe A0, se deduce que
receptos recibió C.request)
T-CONNECT.confirm
(seq=B0, ack=A0)
T-DATA.request
(seq=A1, ack=B0)
T-DATA.indication
(seq=A1, ack=B0)
(Se recibe B0, se deduce que
receptos recibió C.confirm)
Veamos cómo se manejan los casos de duplicados de requerimientos de conexión o de datos. Note que se
puede deducir qué ocurre realmente a partir de los ack recibidos:
T-CONNECT.request
(seq=A0)
T-CONNECT.indication
(seq=A0)
T-CONNECT.response
(seq=B0, ack=A0)
(Se recibe A0, se deduce que
receptos recibió C.request)
T-CONNECT.confirm
(seq=B0, ack=A0)
T-DATA.request
(seq=A1, ack=B0)
(Se recibe A0 otra vez, se
deduce que es duplicado)
T-CONNECT.confirm
(seq=C0, ack=A0)
T-REJ.request
(ack=A0)
T-CONNECT.indication
(seq=A0)
(Se recibe A0 otra vez, no se
sabe que es duplicado)
T-CONNECT.response
(seq=C0, ack=A0)
T-DATA.indication
(seq=A1, ack=B0)
(Se recibe B0, se deduce que
receptos recibió C.confirm)
T-DATA.indication
(seq=A1, ack=B0)
(Se recibe B0 otra vez, se
deduce que es duplicado)
T-REJ.indication
(ack=A0)
(Se recibe REJ A0, se deduce que
se termina conexión duplicada)
Liberación de la Conexión
Problema: pérdida de T-DISCONNECT.confirm:
T-CONNECT.request
T-CONNECT.indication
T-CONNECT.confirm
Si se pierde T-DISCONNECT.confirm, el emisor nunca sabe que el receptor terminó la conexión, por lo que intentará nuevamente terminar la conexión. Pero el receptor ya no existe, y pueden surgir graves complicaciones (un
nuevo proceso puede estar esperando mensajes en el mismo puerto, por ej.).
El problema anterior se puede evitar con la utilización de temporizadores, esto es, relojes de cuenta regresiva,
que se reinicializa cada vez que se envía un paquete. Los tiempos deben ser suficientemente grandes para permitir
que el paquete enviado llegue al destino, y que se reciba el reconocimiento de la recepción (acknowledge).
A continuación se muestran situaciones de desconexión con temporizador:
Licenciado Gustavo Rei
Pág. Nro. 90
Comunicación de Datos − Redes de Computadores
T-DISCONNECT.request
(seq=A0)
T-DISCONNECT.indication
(seq=A0)
T-DISCONNECT.response
(seq=B0, ack=A0)
(Se recibe A0, se deduce que T-DISCONNECT.confirm
(seq=B0, ack=A0)
receptos recibió D.request)
T-DATA.request
(seq=A1, ack=B0)
(Se elimina Conexión)
T-DATA.indication
(seq=A1, ack=B0)
(Se recibe B0, se deduce que
receptos recibió D.response)
(Se elimina Conexión)
Situación Normal
T-DISCONNECT.request
(seq=A0)
T-DISCONNECT.indication
(seq=A0)
T-DISCONNECT.response
(seq=B0, ack=A0)
(Se inicia temp.)
(Se recibe A0, se deduce que T-DISCONNECT.confirm
receptos recibió D.request)
(seq=B0, ack=A0)
(Se elimina Conexión)
T-DATA.request
(seq=A1, ack=B0)
(fin temp.)
(Se elimina Conexión)
Perdida de Confirmación
(Se inicia temp.) T-DISCONNECT.request
(seq=A0)
T-DISCONNECT.indication
(seq=A0)
T-DISCONNECT.response
(seq=B0, ack=A0)
(fin temp.) T-DISCONNECT.request
(seq=A1)
T-DISCONNECT.indication
(seq=A1)
T-DISCONNECT.response
(seq=B1, ack=A1)
(Se recibe A0, se deduce que T-DISCONNECT.confirm
(seq=B1, ack=A1)
receptos recibió D.request)
(Se elimina Conexión)
T-DATA.request
(seq=A2, ack=B1)
T-DATA.indication
(seq=A2, ack=B1)
(Se recibe B0, se deduce que
receptos recibió D.response)
(Se elimina Conexión)
Licenciado Gustavo Rei
Pág. Nro. 91
Comunicación de Datos − Redes de Computadores
Pérdida de T-DISCONNECT-confirm
(Se inicia temp.) T-DISCONNECT.request
(seq=A0)
T-DISCONNECT.indication
(seq=A0)
(Se inicia temp.)
T-DISCONNECT.response
(seq=B0, ack=A0)
(fin temp.) T-DISCONNECT.request
(Se inicia temp.)
(seq=A0)
(fin temp.)
(Se elimina Conexión)
(n intentos)
(Se elimina Conexión)
Pérdida de Todo
Control de Flujo
• ¿Qué hacer cuando el emisor es más rápido que el receptor?
Se implementan variados sistemas de retroalimentación para manejar esta situación, de modo que el emisor
sólo puede enviar paquetes cuando el receptor le indique, explícita o implícitamente, que puede hacerlo.
Multiplexación
La multiplexación ascendente permite que varios usuarios utilicen la misma conexión de nivel de red para usar
la red, aprovechándose así con mayor eficiencia el ancho de banda de las conexiones de red.
La multiplexación descendente en la capa de transporte permite que cuando un usuario desea utilizar una conexión con ancho de banda mayor que lo que es capaz una conexión de nivel de red, se utilicen varias de ellas paralelamente.
Recuperación de Caídas
La capa de transporte es responsable de la recuperación ante caídas de la capa de red. Así, cuando esta última emite un N-RESET, la capa de transporte deberá comenzar algún mecanismo para establecer qué paquetes
fueron recibidos y cuales no. Por ejemplo, el emisor puede preguntar al receptor por los paquetes enviados de los
que aún no se recibe asentimiento, pudiendo entonces el receptor indicar cuáles faltan por llegar.
La recuperación ante caídas de las máquinas es más delicada, debido a que el asentimiento sólo significa que
se ha recibido el paquete, y no que se ha procesado con éxito la información contenida. Por lo tanto, serán las capa
superiores las encargadas de enviar asentimientos de proceso, es decir, de indicar al emisor que se ha procesado
con éxito la información contenida en el paquete.
Los Paquetes TCP
El Encabezado de los paquetes (TPDU) en TCP tienen la siguiente estructura:
0
15
Puerto Fuente
(16 bits)
Número de Secuencia TPDU Enviada
(32 bits)
Número de Secuencia Asentimiento Recibido
(32 bits)
Largo
URG,
ACK,
Enc.
EOM, RST, SYN, FIN
16
Puerto Destino
(16 bits)
31
Ventana
(16 bits)
(6 bits)
Licenciado Gustavo Rei
Pág. Nro. 92
Comunicación de Datos − Redes de Computadores
(6
bits)
Código Redundancia
(16 bits)
Opciones
(0 o mas palabras de 32 bits)
Puntero Acelerado
(16 bits)
• Puerto Fuente: Identificación del puerto TSAP de origen del paquete;
• Puerto Destino: Identificación del puerto TSAP de destino del paquete;
• Número de Secuencia: Número de secuencia del paquete que se envía con el
encabezado actual;
• Número Sec. Asentimiento:
Número de secuencia para asentimiento del
último paquete recibido;
• Largo Encabezado:
Largo del encabezado completo. Es necesario debido al
largo variable de las opciones;
• URG: Activo si se utiliza el Puntero Acelerado;
• ACK:
Activo si se utiliza el Número de Sec. Asentimiento;
• EOM: Indica fin del mensaje (??);
• RST:
Indica que se desea retomar una conexión confusa debido a
T-CONNECT.request o T-CONNECT.confirm duplicados;
• SYN:
Indica que se desea establecer una nueva conexión, esto es, para
T-CONNECT.request (ACK=0) y T-CONNECT.confirm (ACK=1);
• FIN:
Indica que se desea terminar la conexión;
• Ventana: Cantidad de ventanas disponibles;
• Código CRC:
Código de redundancia de los datos del paquete para detección
de errores. Se suman todos los datos como palabras de 16 bits y se
complementen a 1;
• Puntero Acelerado:
??;
• Opciones:
Indican otros datos dependientes del contexto, como tamaño
de buffers, etc.
Licenciado Gustavo Rei
Pág. Nro. 93
Comunicación de Datos − Redes de Computadores
Bibliografía
[Tann1]
Andrew S. Tannenbaum
“Redes de Computadores”
Prentice Hall, 1991
[Tann2]
Andrew S. Tannenbaum
“Sistemas Operativos Distribuidos”
Prentice Hall
[Cou1]
George Coulouris
“Distributed Systems”
Addison Wesley
[Com1]
Douglas E. Comer
“Internetworking with TCP/IP vol.3; BCD socket Version”
Prentice Hall
Licenciado Gustavo Rei
Pág. Nro. 94
Descargar