Redes de Datos y sus Protocolos - Libro de Texto PDF

Document Details

GratefulRocket

Uploaded by GratefulRocket

2018

Mónica Cristina Liberatori

Tags

redes de datos protocolos de red ingeniería informática comunicaciones de datos

Summary

Este libro proporciona una introducción a las redes de datos y sus protocolos. Cubre temas como el modelo OSI, la arquitectura TCP/IP, y diferentes tipos de redes, incluyendo LAN y WAN. Incluye ejemplos y problemas para la mejor comprensión de los conceptos tratados.

Full Transcript

Redes de Datos y sus Protocolos Mónica Cristina Liberatori Liberatori, Mónica Cristina Redes de datos y sus protocolos / Mónica Cristina Liberatori. - 1a ed. - Mar del Plata : EUDEM, 2018. Libro digital, PDF Archivo Digital: descarga ISBN 978-987-4440-11-2 1. Ingeniería Informática. I. T...

Redes de Datos y sus Protocolos Mónica Cristina Liberatori Liberatori, Mónica Cristina Redes de datos y sus protocolos / Mónica Cristina Liberatori. - 1a ed. - Mar del Plata : EUDEM, 2018. Libro digital, PDF Archivo Digital: descarga ISBN 978-987-4440-11-2 1. Ingeniería Informática. I. Título. CDD 629.89 Queda hecho el depósito que marca la Ley 11.723 de Propiedad Intelectual. Prohibida su reproducción total o parcial por cualquier medio o método, sin autorización previa de los autores. ISBN 978-987-4440-11-2 Este libro fue evaluado por el Dr. Jorge M. Finochietto Fecha de edición: mayo 2018 © 2018 EUDEM Editorial de la Universidad Nacional de Mar del Plata EUDEM / 3 de Febrero 2538 / Mar del Plata / Argentina © 2018 Mónica Cristina Liberatori Dedico este libro a: Mi esposo Marcelo, Mis hijos Agustín, Matías y Santiago, Mi madre Elvia, Mis alumnos, Mis profesores y compañeros de trabajo, y a la memoria de mi Padre. M. C. L. 5 INDICE Prefacio 13 Agradecimientos 17 PARTE I Introducción 19 CAPÍTULO I Introducción 21 1.1 Breve Historia de Internet 22 1.2 Clasificación de las Redes 26 1.2.1 Redes de Área Amplia WAN 26 1.2.2 Redes de Área Local LAN 31 1.2.3 Topologías de Red 33 1.3 Redes y Protocolos 34 1.4 Funcionalidad Asociada a Protocolos 36 1.5 Estándares y su Organización 39 1.5.1 Organismos específicos para Estandarización de Internet 41 Bibliografía 43 CAPÍTULO II – Modelo OSI y Arquitectura TCP/IP 45 2.1 Arquitectura de Protocolos 45 2.2 Modelo OSI 47 2.3 Arquitectura TCP/IP 57 2.4 Operación Peer to Peer y Operación Cliente/Servidor 61 Bibliografía 63 Problemas 64 CAPÍTULO III – Técnicas de Conmutación en Redes WAN 65 3.1 Multiplexado de Señales 66 3.1.1 Multiplexado por División en el Espacio, SDM 66 3.1.2 Multiplexado por División en Frecuencia, FDM 67 3.1.3 Multiplexado por División en el Tiempo, TDM 68 3.1.4 Jerarquías TDM sincrónicas: PDH y SDH 71 3.1.5 Multiplexado por División en el Tiempo Estadístico. TDM Asincrónico 78 3.2 Redes de Conmutación de Circuitos 82 3.3 Redes de Conmutación de Paquetes 89 3.3.1 Redes de Datagramas 90 3.3.2 Redes de Circuitos Virtuales 91 3.4 Conmutación de Circuitos vs Conmutación de Paquetes 92 3.5 Redes de Conmutación de Paquetes – Enrutamiento 94 3.6 Redes de Conmutación de Paquetes – Routers 97 7 Redes de datos y sus protocolos / Mónica C. Liberatori Bibliografía 100 Problemas 101 CAPÍTULO IV – Medios de Transmisión 103 4.1 Introducción 103 4.2 Medios de Transmisión Guiados 105 4.2.1 Par Trenzado 105 4.2.2 Cable Coaxial 107 4.2.3 Fibra Óptica 108 4.3 Medios de Transmisión No Guiados 109 4.3.1 Microondas Terrestres 110 4.3.2 Microondas Satelitales 110 4.3.3 Radio 111 4.4 Problemas en Medios de Transmisión Guiados 112 4.4.1 Cables – Especificaciones Técnicas 116 4.5 Problemas en Medios de Transmisión No Guiados 120 4.5.1 Propagación en canales de radio móvil – Fading 122 4.5.2 Escalas de Fading 124 4.5.3 Fading de Gran Escala 126 4.5.4 Fading de Pequeña Escala - Modelo de Canal Variante en el Tiempo 127 Bibliografía 131 Problemas 132 PARTE II – Redes LAN 133 CAPÍTULO V – Métodos de Acceso al Medio. LAN Cableadas 135 5.1 Métodos de Acceso al Medio 135 5.1.1 Aloha Puro 136 5.1.2 Aloha con Ranuras 141 5.1.3 CSMA, Acceso Múltiple por Detección de Portadora 143 5.2 IEEE 802.3 149 5.2.1 Capa Física IEEE 802.3 149 5.2.2 Subcapa MAC IEEE 802.3 – Tramas 153 5.2.3 Subcapa MAC IEEE 802.3 – Direcciones MAC 156 5.2.4 Subcapa MAC IEEE 802.3 – Algoritmo de Retroceso Exponencial Binario 158 5.2.5 Subcapa MAC IEEE 802.3 – Algoritmos de Transmisión y Recepción 158 5.2.6 Subcapa MAC IEEE 802.3 – Eficiencia 160 5.2.7 Subcapa MAC IEEE 802.3 – Reglas de Instalación 163 5.3 Administración de una LAN tipo Ethernet 164 5.4 Cableado Estructurado 166 Bibliografía 170 Problemas 171 8 Índice CAPÍTULO VI – Redes LAN Cableadas de Alta Velocidad 173 6.1 100 BASE T4 174 6.2 100 BASE T2 179 6.3 100 BASE TX 180 6.4 Puente 184 6.5 Switch 186 6.6 Mecanismo de Auto Negociación 188 6.7 Mecanismo de Control de Flujo 192 6.8 Gigabit Ethernet 193 6.9 V-LAN 200 Bibliografía 204 Problemas 205 CAPÍTULO VII – Redes LAN Inalámbricas 207 7.1 Estándares IEEE 802.11 208 7.2 Arquitectura WLAN 211 7.3 MAC IEEE 802.11 214 7.3.1 Método de Acceso CSMA/CA 217 7.3.2 Detección Virtual de la Portadora 217 7.3.3 Espaciamiento entre tramas – IFS 218 7.3.4 DCF 219 7.4 Formato de la Trama IEEE 802.11 225 7.4.1 Campo de Control 226 7.4.2 Campo de Duración/ID 231 7.4.3 Campos de Direcciones 232 7.4.4 Campo de Control de Secuencia 235 7.4.5 Campo de Datos y Campo de Redundancia Cíclica 236 7.5 Tramas de Control IEEE 802.11 237 7.6 Tramas de Administración IEEE 802.11 241 7.6.1 Trama Beacon 242 7.6.2 Elementos Fijos de las Tramas de Administración 250 7.6.3 Elementos de Información de las Tramas de Administración 253 7.6.4 Trama de Requerimiento de Sondeo (Probe Request) 254 7.6.5 Trama de Respuesta de Sondeo (Probe Response) 259 7.6.6 Tramas de Autenticación y Asociación 260 7.7 Administración IEEE 802.11 262 7.7.1 Exploración – Scanning 263 7.7.2 Reporte de Exploración 265 7.7.3 Incorporación a la WLAN 265 7.7.4 Autenticación 266 7.7.5 Asociación 267 7.7.6 Conservación de Potencia 268 7.7.7 Sincronismo 272 Bibliografía 273 Problemas 274 9 Redes de datos y sus protocolos / Mónica C. Liberatori CAPÍTULO VIII – Capa Física WLAN 277 8.1 Fading de Pequeña Escala – Degradación y Efectos 278 8.1.1 Desparramo en el Tiempo y Selectividad en Frecuencia 278 8.1.2 Variación en el Tiempo y Velocidad del Desvanecimiento 280 8.2 Mitigación del Fading 283 8.2.1 Mitigación Para Combatir la Distorsión por Fading Selectivo en Frecuencia 284 8.2.2 Mitigación Para Combatir la Distorsión por Fast Fading 285 8.2.3 Mitigación Para Combatir la pérdida de SNR 286 8.3 Capa Física IEEE 802.11 287 8.3.1 IEEE 802.11 - Espectro Esparcido por Salto en Frecuencia 289 8.3.2 IEEE 802.11 - Espectro Esparcido por Secuencia Directa 290 8.4 Capa Física IEEE 802.11b – Secuencia Directa de Alta Velocidad 292 8.5 Capa Física IEEE 802.11a – OFDM 5 GHz 299 8.6 Capa Física IEEE 802.11 g – OFDM 2.4 GHz 309 8.7 Capa Física IEEE 802.11n – MIMO/OFDM 2.4GHz/5GHz 315 8.8 Comparación de Estándares 324 Bibliografía 324 Problemas 326 PARTE III – TCP/IP 327 CAPÍTULO IX – Protocolo IPv4 329 9.1 Funcionalidad Asociada al Protocolo de Red de Internet 330 9.2 Protocolo IP 331 9.2.1 Direcciones IP 336 9.2.2 Formato y Clases de Direcciones IP 337 9.2.3 Direcciones IP especiales y reservadas 342 9.2.4 Multicast IP 344 9.2.5 Opciones IP 345 9.3 Protocolo ARP (Address Resolution Protocol) 347 9.4 Protocolo ICMP (Internet Control Message Protocol) 353 9.4.1 Mensajes de Error ICMP 356 9.4.2 Mensajes de Requerimiento/Respuesta ICMP – ping 357 9.4.3 Herramienta Traceroute 362 9.5 Enrutamiento IP 363 9.5.1 Procedimiento 363 9.5.2 Ejemplo de Configuración de Tabla de Ruteo 364 9.5.3 Enrutamiento Dinámico 369 9.6 Subnetting 371 9.6.1 Ejemplo de Configuración de Subnetting 373 9.7 Máscara de Subred de Longitud Variable, VLSM 376 9.8 Ruteo Interdominio Sin Clases, CIDR 379 9.9 Traducción de Direcciones, NAT 383 9.10 Configuración Automática de Direcciones IP 389 10 Índice Bibliografía 398 Problemas 399 CAPÍTULO X – Protocolo IPv6 401 10.1 Motivaciones 402 10.2 Despliegue IPv6 403 10.3 Direcciones IPv6 404 10.3.1 Direcciones Unicast IPv6 406 10.3.2 Direcciones Multicast IPv6 410 10.3.3 Direcciones Anycast IPv6 412 10.4 Encabezado IPv6 413 10.5 Cabeceras de Extensión IPv6 416 10.6 Configuración de Direcciones IPv6 421 10.7 ICMPv6 423 10.8 Protocolo de Descubrimiento de Vecinos ND 432 10.9 Transición IPv4 a IPv6 434 10.9.1 Configuración de doble pila 434 10.9.2 Configuración de Túnel 436 10.9.3 Traducción 441 Bibliografía 442 Problemas 444 CAPÍTULO XI – Protocolo TCP – Aspectos Generales 445 11.1 Establecimiento de una comunicación – Sockets 446 11.2 Protocolo UDP 453 11.3 Aspectos más significativos del protocolo TCP 454 11.4 Mecanismo de Control de Flujo por Ventana Deslizante 457 11.5 Encabezado TCP 461 11.6 Inicio y Terminación de una Conexión TCP 466 11.6.1 Inicio de una Conexión TCP 466 11.6.2 Número de Secuencia Inicial ISN 470 11.6.3 Tiempo de Expiración en el Inicio de una Conexión TCP 470 11.6.4 Fin de la Conexión TCP 471 11.6.5 Estado Half Close 473 11.6.6 Apertura y Terminación Simultáneas 474 11.7 Diagrama de Estados TCP 477 11.7.1 Espera 2MSL - Segmentos retrasados - Tiempo de Silencio (Quiet Time) 480 11.7.2 Estado Fin_Wait_2 480 11.8 Problemas en las conexiones TCP 481 11.8.1 Conexión a un Puerto Inexistente 481 11.8.2 Terminación Abortiva 482 101.8.3 Asesinato TIME_WAIT 482 11.8.4 Situación de Conexión Mitad Abierta - Half Open 483 11.9 Servidores TCP - Ataques y Mecanismos de Defensa 483 11 Redes de datos y sus protocolos / Mónica C. Liberatori Bibliografía 486 Problemas 487 CAPÍTULO XII – Transferencia de datos TCP 489 12.1 Estrategia de expiración y retransmisión 489 12.1.1 Cálculo del Estimador Suavizado en el Método Clásico 490 12.1.2 Cálculo del Estimador Estándar de Jacobson 491 121.1.3 Problema de la medición ambigua en las retransmisiones – Algoritmo de Karn 492 12.1.4 Opción Sello de Tiempo para medición de RTT 493 12.1.5 Algoritmo de Manejo del RTO 493 12.1.6 Retransmisiones y re-empaquetado 494 12.2 Aplicaciones interactivas 494 12.2.1 Algoritmo de Nagle 496 12.3 Tratamiento de datos - Bandera PSH 497 12.4 Tratamiento de datos - Bandera URG 497 12.5 Flujo de grandes volúmenes de datos 498 12.5.1 Intercambio de segmentos – Situación de timeout 498 12.5.2 Intercambio de segmentos – Recepción de ACK duplicado 502 12.5.3 Control de Flujo - Manejo de las ventanas de transmisión y recepción 504 12.6 Aviso de ventana nula - Síndrome de la ventana tonta 505 12.7 Conexiones ociosas – Mecanismo Keepalive 507 Bibliografía 509 Problemas 511 CAPÍTULO XIII – Control de Congestión y Nuevas Opciones TCP 513 13.1 Percepción de la congestión 513 13.2 Algoritmos Clásicos para el Control de Congestión 514 13.2.1 Arranque Lento - Slow Start 515 13.2.2 Algoritmo para Evitar la Congestión - Congestion Avoidance 518 13.2.3 Retransmisión Rápida-Fast Retransmit y Recuperación Rápida-Fast Recovery 520 13.3 Modificación New Reno al Algoritmo Fast Recovery 525 13.4 Control de Congestión con ACK Selectivo – SACK 526 13.5 Extensiones TCP para redes de alta velocidad 531 13.5.1 Opción Escalamiento de Ventana 532 13.5.2 Medición de RTT con opción Sello de Tiempo 534 13.5.3 Protección contra la repetición del Número de Secuencia. PAWS 538 Bibliografía 540 Problemas 542 12 Prefacio La comunicación de datos en redes y la interrelación entre las mismas es una de las tecnologías de mayor crecimiento en los últimos años. Una de las consecuencias de este crecimiento es la incorporación, en múltiples profesiones, de diversos cursos relacionados con este tema. Esta obra pretende facilitar a los estudiantes afines a las carreras de ingeniería (electrónica, computación, comunicaciones e informática) la comprensión de diversos temas relacionados con la comunicación de datos en redes. Por este motivo, no sólo aborda principios básicos, de fundamental importancia para entender el diseño de la tecnología relacionada con el área, sino además provee una discusión detallada sobre los desarrollos más modernos, presentando ejemplos prácticos relacionados con estos temas y considerando los importantes desafíos subyacentes detrás de cada solución propuesta. En este sentido, el libro integra conceptos de comunicaciones y protocolos, haciendo hincapié en el análisis de diversas problemáticas y sus soluciones tecnológicas asociadas. Para una mejor integración del conjunto de temas abordados, se dividió el texto en tres partes. La primera parte, de carácter general, presenta aspectos básicos conceptuales referidos a la transmisión de datos en redes, ya sea de área local como de área amplia. La segunda parte se orienta al estudio profundo de las redes de área local cableadas e inalámbricas, considerando pormenores tanto de su despliegue a nivel físico como de los protocolos que rigen la comunicación de estas redes de acceso. Por último, la tercera parte del texto aborda el tema de la Arquitectura TCP/IP, considerada en detalle a partir de su aspecto tradicional hasta las migraciones y modificaciones más recientemente conocidas de ambos protocolos. La primera parte del libro consta de cuatro capítulos. El Capítulo I tiene carácter introductorio, ofreciendo una mirada a la historia de Internet, para luego desarrollar aspectos generales referidos a las redes de área amplia (WAN) y las redes de área local (LAN). En este capítulo se destaca la importancia de la estandarización de protocolos y los organismos reconocidos para ello, deteniéndose particularmente en la estructura de aquellos específicos para la estandarización de Internet. El Capítulo II aborda la temática de los modelos definidos para una comunicación de red y las arquitecturas desarrolladas en este mismo sentido. El Capítulo III pretende dejar una visión conceptual de la 13 Redes de datos y sus protocolos / Mónica C. Liberatori tecnología que subyace detrás de las redes de área amplia, ya sean de conmutación de circuitos o de conmutación de paquetes. En este sentido, el capítulo presenta varias técnicas de multiplexado, cada una con sus propias características y entorno de aplicación, con ejemplos prácticos de cada tipo. También ofrece una descripción de los componentes principales de la estructura subyacente de ambos tipos de redes. Por último, el Capítulo IV introduce conceptos referidos a la transmisión de datos sobre medios guiados y no guiados. Se presentan los problemas más relevantes referidos a la transmisión de señales en un cable y la forma de compensarlos, definiéndose los parámetros que más frecuentemente aparecen en las especificaciones técnicas, junto con sus unidades y valores típicos. También se presentan las particularidades más relevantes del propio canal inalámbrico, para que se comprendan conceptualmente los desafíos enfrentados por estas redes. El capítulo describe los dos tipos de desvanecimiento presentes en entornos no guiados, desarrollando el modelo de canal de fading que domina la transmisión de datos en redes tipo WiFi. Finalmente, se mencionan los métodos apropiados para mitigar la degradación resultante del problema de desvanecimiento. La segunda parte de la obra se desarrolla en cinco capítulos y comprende todos los aspectos más significativos de las redes LAN. El Capítulo V presenta el detalle de los protocolos que manejan la comunicación en redes LAN cableadas. Con este propósito, comienza explicando el estándar IEEE 802.3, tanto a nivel MAC como a nivel de capa física, sus alcances y limitaciones. El Capítulo VI desarrolla en orden cronológico de aparición las nuevas tecnologías que permitieron alcanzar velocidades muy superiores a las del estándar original IEEE 802.3. El Capítulo VII detalla las herramientas incorporadas a nivel de protocolo de acceso al medio para ayudar a superar los problemas de la comunicación, propios del canal inalámbrico. También se resaltan todos los aspectos administrativos que permiten que los elementos móviles funcionen en modo ahorro de potencia para no desgastar el tiempo de vida útil de sus baterías, uno de los principales desafíos de la movilidad. El Capítulo VIII desarrolla las técnicas ideadas para solucionar los problemas de transmisión en la capa física no guiada, desplegando una descripción detallada de cada una de las capas físicas IEEE 802.11 estandarizadas conocidas hasta hoy. La tercera parte del libro desarrolla detalladamente los protocolos de la Arquitectura TCP/IP relacionados con el encaminamiento de datos a través de diferentes redes y el transporte confiable de la información. El Capítulo IX introduce los aspectos más importantes del Protocolo de Internet, conocido como IPv4. También se desarrollan los protocolos complementarios ARP, para comunicación en una red de difusión, e ICMP, para reporte de situaciones de error y provisión de mecanismos de testeo. El Capítulo X presenta la nueva versión del protocolo, IPv6, de incipiente despliegue actual, desarrollando con considerable detalle el nuevo esquema de direcciones propuesto, presentando a continuación los campos relevantes del encabezado. También se explica la configuración de dispositivos con este nuevo protocolo, detallando los mensajes relativos al protocolo ICMPv6, y el de Descubrimiento de Vecinos. El capítulo finaliza con una explicación sencilla de cada uno de los mecanismos más conocidos ideados para la transición de IPv4 a IPv6, por tratarse esta migración de uno de los 14 Prefacio mayores desafíos con los que se enfrenta la Internet de nuestros días. El Capítulo XI comienza desarrollando el concepto de sockets y todas las llamadas al sistema necesarias para el establecimiento de una comunicación sobre la red. A continuación se presenta el protocolo UDP y, comparativamente, los aspectos más significativos del protocolo TCP. Dada su importancia conceptual, se presenta detalladamente toda la secuencia de sucesos relacionados con la apertura y cierre de una conexión TCP, finalizando el capítulo con un resumen sobre los mecanismos de ataque referidos a ciertas vulnerabilidades presentes en las fases mencionadas. El Capítulo XII presenta el protocolo TCP en acción, una vez que la conexión se ha establecido. Se desarrolla en detalle la estrategia de expiración (timeout) y retransmisión y el ajuste de los parámetros que la manejan. Se explica cómo afronta TCP situaciones de pérdida de segmentos, aparición de segmentos duplicados y casos de desorden en los segmentos recibidos, debiendo asegurar, en cualquier caso, una comunicación confiable. El Capítulo XIII explica ciertas reacciones que el protocolo TCP presenta frente a situaciones de congestión. En este capítulo, además se desarrollan los conceptos relacionados con las nuevas opciones del protocolo, incorporadas posteriormente para mejorar su comportamiento, adaptándolo a las tecnologías más modernas. De este modo, a lo largo del texto se analizan los desafíos de la comunicación de datos en redes, incluyendo al mismo tiempo aspectos tecnológicos de implementación, detalles de estandarización por medio de protocolos y ejemplos prácticos para su mejor comprensión. 15 Agradecimientos Me siento muy agradecida por todo el apoyo recibido durante la escritura de estas páginas. En particular, deseo expresar mi especial reconocimiento a mis colegas profesores, formadores de espíritus críticos, y a tantas generaciones de estudiantes, abiertos al desafío del conocimiento y siempre dispuestos a dar sugerencias para mejorar la calidad de las clases y los materiales de estudio. Agradezco las indicaciones sobre los errores, los consejos sobre diferentes visiones superadoras y las dudas, principales disparadoras de nuevas búsquedas del saber. 17 Parte I Introducción 19 CAPÍTULO I Introducción La expansión continua de la comunicación de datos mediante redes en los últimos quince años, posiciona al tema en sí mismo como uno de los más importantes y de mayor generación de nuevas técnicas dentro del área de las comunicaciones. No sólo este tipo de transmisión de datos ha tenido una expansión geográfica a nivel mundial, sino que también, creciendo casi a una velocidad comparable, se tradujo en la aparición de un enorme rango de aplicaciones para su utilización por un número cada vez mayor de usuarios. Esta evolución ha derivado en la aparición de nuevos desafíos tecnológicos, con respuestas de desarrollo ingeniosas, tanto en el terreno del hardware como del software. Cabe mencionar, como uno de los motivos interesantes respecto de la explicación de este fenómeno, el uso cada vez más extendido de computadores personales y teléfonos celulares, con su propia variedad de métodos de acceso al medio sobre el que se establece la comunicación. Existen diferentes formas de acceso a la red mundial conocida con el nombre de Internet. Algunas de ellas las reconocemos fácilmente desde el punto de vista de usuarios. Desde nuestros hogares en Argentina, lo más común es el acceso a través de la red de telefonía fija, cuando se contrata un servicio del tipo ADSL a alguna empresa de telefonía. Otra forma muy común es el acceso a través de la red de televisión por cable si el servicio se contrata a una compañía de cable. Últimamente, asistimos a la integración de la telefonía celular con este tipo masivo de accesos, en este caso ya sea por WiFi o por la red celular propiamente dicha. Cada una de las formas mencionadas tiene como sostén su propia tecnología, siendo las mismas bastante diferentes entre sí. Sólo pensar en los diferentes medios por medio de los cuales se accede a Internet en cada caso, puede brindar una idea de las particularidades. Por ejemplo, el servicio ADSL es un acceso a través del par telefónico, en tanto que el servicio a través de la compañía de cable se realiza sobre un cable coaxial. En el caso de la telefonía celular, el acceso es por aire a través de las antenas de gran cobertura de las 21 Redes de datos y sus protocolos / Mónica C. Liberatori distintas compañías, o a través de antenas WiFi, de baja cobertura e instalación privada. Más allá de las diferencias, lo importante es que todas las formas proporcionan una conexión física a la red del proveedor de servicios de Internet. Los usuarios contratan una forma de acceso a Internet, mientras que el transporte de los datos intercambiados queda a cargo de los proveedores. Estos últimos conforman un escalón superior a ese servicio contratado, que se sostienen con su propia tecnología, muy diferente a la de acceso. Tanto las redes, como los datos transportados por ellas, presentan su propia variedad. Una clasificación general nos permitiría distinguir datos entre texto, imágenes, audio y video, cada uno con sus características particulares. Los dos primeros son de naturaleza digital en su origen, en tanto que los últimos requieren de una conversión analógico-digital para una transmisión más eficiente. Se podrían destacar otras diferencias si consideramos la transmisión en tiempo real, con sus exigencias más estrictas. Por ejemplo, no es lo mismo enviar un mensaje de texto que mantener una comunicación por Skype. En este sentido también observamos diferentes modos de transferencia. A lo largo de este texto se podrán encontrar ejemplos de modos de transmisión half duplex, donde la comunicación es de doble vía pero de a uno por vez, como es el caso de las redes de área local. En el modo full duplex en cambio, la transmisión y la recepción pueden realizarse de manera simultánea, como es el caso de la comunicación telefónica o de las redes locales conmutadas de alta velocidad. Aparte de los modos mencionados, existen dos modos de transferencia muy usados en las redes de datos: broadcast y multicast. El primer caso es comúnmente usado en las redes locales como modo de aviso de algún mensaje desde uno de los equipos al resto de los que conforman la red. El segundo caso, se presenta para soporte de algunas aplicaciones particulares. Un ejemplo de este último tipo es el de los juegos en red, donde se debe conformar un grupo primero y la comunicación queda establecida entre los miembros de ese grupo solamente. A lo largo de este capítulo se ofrecerá una mirada a la historia de Internet. Luego se abordarán los aspectos más generales referidos a los dos tipos de redes más importantes: las redes de área amplia y las de área local. Luego se definirá más formalmente el concepto de red y de protocolo de red, enumerando las funcionalidades comunes que poseen estos últimos. Por último, interesa destacar la importancia de la estandarización de protocolos y los organismos reconocidos mundialmente para ello. 1.1Breve Historia de Internet El desarrollo de Internet ha significado una revolución en informática y comunicaciones. Se trata de una red para acceso a la información, que ofrece un mecanismo para la colaboración e interacción entre usuarios y máquinas, sin importar su ubicación geográfica. 22 Capítulo I: Introducción Históricamente, surgió como resultado de una evolución tecnológica que comenzó con las primeras investigaciones sobre conmutación de paquetes. El concepto de conmutación devino de las redes de telefonía ya instaladas. Simplificando, se lo puede relacionar con la necesidad de conectar dos puntos a través de una red, ayudándose mediante elementos intermedios, denominados conmutadores, que reciben datos por un canal de entrada y los re- envían por el canal de salida correspondiente, hacia otro elemento intermedio, y así sucesivamente hasta alcanzar el extremo final de la comunicación. Por su parte, el concepto de paquete, surgió de la evolución de los elementos transportados en una red de telefonía. En principio, una red de telefonía es una red para transporte de señales de voz. Comúnmente, la señal analógica de voz para su transporte en la red de telefonía, se muestrea a razón de 8 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 por muestra, a una frecuencia de muestreo de 8 𝐾𝐾𝐾𝐾𝐾𝐾. De este modo, cada usuario de la red representa un canal de voz, que se puede interpretar como una señal digital de 64 𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘. Los conmutadores telefónicos son capaces de tomar varios canales de entrada de voz, y generar con ellos una señal de salida multiplexada, de mayor velocidad, para su transporte apropiado hacia otro elemento conmutador. Inicialmente, sobre la red de telefonía fija, sólo se transportaban muestras de voz. Una muestra es información pura que es posible trasladar a través de la red si se acompaña de un mecanismo de sincronización adecuado. Se trata de las redes de conmutación de circuitos. El concepto de paquete se aparta de este tipo de transporte, generando así otro tipo de redes. En este caso, a las muestras de información pura se agrega información adicional, llamada información de control, para mejorar la eficiencia de la comunicación. Por ejemplo, se podrían agregar bits para el control de errores, para identificación del destino final, para contemplar cuestiones de seguridad o para mejorar la calidad de la transmisión. En este sentido, los conmutadores de paquetes, a diferencia de los conmutadores originales para telefonía, deben ser capaces de revisar y comprender parte de esta información adicional, para poder tomar una decisión correcta referida al traslado de los datos. Se trata de las redes de conmutación de paquetes. Leonard Kleinrock, profesor del Instituto de Tecnología de Massachusetts (MIT, Massachusetts Institute of Technology), fue quien publicó el primer documento sobre la teoría de conmutación de paquetes en julio de 1961, y el primer libro sobre el tema en 1964, explicando la factibilidad teórica de la comunicación por medio de redes de conmutación de paquetes. Durante esos años, J.C.R. Licklider, director de la Agencia de Investigación de Proyectos Avanzados de Defensa (DARPA, Defense Advanced Research Projects Agency), también profesor del MIT, publicó el concepto de “Red galáctica”, una red pensada como un conjunto de ordenadores interconectados globalmente, a través de los cuales todo el mundo podría acceder rápidamente a datos y programas desde cualquier sitio. En su esencia, el concepto de esta red era muy similar a la red de Internet de hoy en día. El sucesor de Licklider en la dirección de DARPA, Lawrence G. Roberts, creó el plan para ARPANET en el año 1967, un nuevo proyecto que se basaba en el concepto de redes de paquetes. Debido al temprano desarrollo de Kleinrock sobre la teoría de conmutación de paquetes y a su trabajo en el análisis, diseño y 23 Redes de datos y sus protocolos / Mónica C. Liberatori medición de este tipo de redes, su Centro de Investigaciones de la Universidad de California (UCLA, University of California, Los Angeles) fue seleccionado como el primer nodo de ARPANET. El proyecto de Doug Engelbart, del Instituto de Investigaciones de Standford (SRI, Standford Research Institute), fue elegido como segundo nodo, por su investigación sobre un sistema con características similares a lo que hoy conocemos como hipertexto. Para 1969, ya se habían añadido dos nodos más al proyecto original, uno en la Universidad de California en Santa Bárbara y otro en la Universidad de Utah. Para poder conectar estos nodos, se debieron establecer normas comunes para la comunicación, que tuvieran el significado de un lenguaje universal, surgiendo así el concepto de protocolo. El protocolo utilizado por aquel entonces por las máquinas conectadas a ARPANET fue el Protocolo de Control de Red (NCP, Network Control Protocol). Con el paso del tiempo, NCP dio paso a un conjunto de protocolos más sofisticados, una arquitectura conocida como Protocolo de Control de Transmisión/Protocolo de Internet (TCP/IP, Transmission Control Protocol/Internet Protocol). Conviene destacar que la investigación sobre redes por aquel entonces, no sólo incorporaba trabajo sobre la red subyacente en cuanto a los protocolos de comunicación, sino también abarcaba aspectos relacionados con el uso de la red por parte de aplicaciones de usuarios, tradición que continúa hoy en día. En octubre de 1972, se organizó una gran demostración pública del uso de ARPANET y también se introdujo la aplicación de mayor impacto inicial, motivado en la necesidad de los desarrolladores de ARPANET de contar con algún mecanismo sencillo de coordinación: el correo electrónico. En ese mismo año, Robert Kahn, quien había desempeñando un importante papel en el diseño arquitectónico general de ARPANET, empezó a trabajar con la idea de redes de arquitectura abierta. Este concepto surgió debido a fallas registradas en el protocolo original de comunicación NCP de ARPANET. La principal desventaja del mismo era que no tenía capacidad de comunicación con otros componentes que no pertenecieran a la propia red ARPANET, ni podía ofrecer mayor fiabilidad entre extremos de la comunicación que la que ofrecía la red subyacente. Kahn relacionó que, para lograr la integración, sería necesario trabajar con los detalles de implementación de los sistemas operativos de los componentes. Por este motivo, comenzó a trabajar en conjunto con Vint Cerf, un profesor de Stanford, quien había estado involucrado de lleno en el diseño y desarrollo original de NCP y tenía conocimiento sobre las interfaces de los sistemas operativos existentes. De este modo, armados con el enfoque arquitectónico de Kahn para la parte de comunicaciones, y con la experiencia de Cerf en NCP y sistemas operativos, crearon lo que se convertiría luego en la arquitectura TCP/IP. A partir de 1977, la naturaleza descentralizada de ARPANET y la disponibilidad gratuita de los programas basados en TCP/IP fue lo que permitió que otro tipo de redes no vinculadas a ARPANET, comenzaran a conectarse, mezclándose una comunidad militar operativa con una comunidad científica. Aparecieron por entonces las primeras referencias a Internet como "una serie de redes conectadas entre sí, específicamente aquellas que utilizan el protocolo 24 Capítulo I: Introducción TCP/IP". Internet es la abreviatura de Interconnected Networks, en español Redes Interconectadas o red de redes. En 1983, el segmento militar de ARPANET se separó, conformando su propia red, denominada MILNET. Así, ya sin fines militares, ARPANET abrió sus puertas a universidades, empresas y todo tipo de instituciones. Desde ese momento, ARPANET y todas sus redes asociadas comenzaron a ser conocidas como Internet. En 1984, la Fundación Nacional para la Ciencia (NSF, National Science Foundation) inició NSFNET, que adoptó también como arquitectura de comunicación a TCP/IP, sirviendo para conectar varias redes aisladas entre sí a la red ARPANET. También aparecieron nuevas redes, tales como USENET y BitNet. El crecimiento exponencial que experimentó NSFNET, así como el incremento continuo de su capacidad de transmisión de datos, determinó que la mayoría de los miembros de ARPANET terminaran conectándose a esta nueva red y, para 1989, ARPANET se declaró disuelta. Por otra parte, desde 1973, Bob Metcalfe trabajaba en el proyecto Ethernet que se estaba desarrollando en el Centro de Investigación de Palo Alto (PARC, Palo Alto Research Center) de la empresa Xerox. Esta nueva forma de comunicación en redes pequeñas, sumado al objetivo de interconexión a la gran red, significó un verdadero desafío en cuanto al número creciente de máquinas a conectar. Entre los problemas a resolver, se encontraba la adaptación de un esquema de identificación de dispositivos que ya estaba presente en el protocolo IP y que consistía en un número de 32 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 denominado dirección IP. A su vez, como para el ser humano es más fácil recordar nombres en lugar de números tan extensos, se puso en evidencia la necesidad de asociar una estructura de nombres a estas direcciones. Así surgió uno de los servicios más conocidos de Internet, el Sistema de Nombres de Dominio (DNS, Domain Name System). Por otra parte, como NSFNET no sólo conectaba ordenadores en Estados Unidos, sino también en otros países, se empezó a trabajar sobre el concepto de dominio geográfico para las redes fuera de los Estados Unidos y en el concepto de una separación por nombre según la finalidad de la red anexada. Así aparecieron diversos dominios que hoy resultan muy familiares, tales como gov, por gobierno, mil por instituciones militares, edu por instituciones educativas, com para emprendimientos comerciales, org para instituciones sin fines de lucro y net para los ordenadores que servían de enlace entre las diferentes subredes. También surgieron los dominios identificadores de países, tales como ar para Argentina y es para dominios de España. En 1989, Tim Berners Lee, investigador del Centro Europeo de Investigación Nuclear (CERN, Centre Européen de Recherche Nucléaire), inventó un sistema que facilitaba la interacción con Internet, para compartir y hallar datos con posibilidades de hipertexto y multimedia. Había nacido la World Wide Web, sobre la base del Protocolo de Transferencia de Hipertexto (HTTP, HyperText Transfer Protocol), el Lenguaje de Marcado de Hipertexto (HTML, Hyper Text Markup Language) y el concepto de Localizador Uniforme de Recursos (URL, Uniform Resource Locator). 25 Redes de datos y sus protocolos / Mónica C. Liberatori En 1998, Internet contaba con alrededor de 50 millones de usuarios y 25 millones de servidores. Para ese año, compañías como Yahoo, eBay o Amazon tenían apenas 3 o 4 años de existencia, mientras Google recién estaba naciendo. Hacia el año 2000, el acceso a la gran red empezó a abandonar el viejo sistema de discado telefónico, con tecnología de modem telefónico para pocas decenas de 𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘, comenzando a ser reemplazado por accesos de banda ancha, posibles gracias a la aparición de nuevas tecnologías. Esta evolución se tradujo en velocidades en el orden de decenas de 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀. Para fines de la primera década del siglo XXI, ya se contaba con una base instalada de alrededor de 542 millones de servidores y 1.3 billones de usuarios. La telefonía móvil contabilizaba por entonces un número estimado de 3 billones de aparatos en uso. Alrededor del 15 por ciento de los mismos podía acceder a Internet. También para esa época, se estimaba alrededor de 1 billón el número de computadores personales en uso, la mayoría de ellos con acceso a Internet. La progresión sigue en aumento y la variedad de dispositivos conectados es cada vez mayor. Sólo el tiempo nos dirá la manera en que la gran red se irá acomodando a las distintas expectativas. 1.2 Clasificación de las Redes Según su extensión geográfica, los dispositivos que las conforman y las tecnologías específicas, se podría clasificar las redes de datos en dos grandes grupos: las Redes de Área Local (LAN, Local Area Networks) y las Redes de Área Amplia (WAN, Wide Area Networks). 1.2.1 Redes de Área Amplia WAN Las redes WAN se caracterizan por su gran extensión geográfica. Son redes compuestas por dispositivos especiales, denominados nodos conmutadores o dispositivos de encaminamiento, en inglés routers. La finalidad principal de estas redes es el transporte de los datos, por lo que su funcionalidad primordial se relaciona con el área específica de enrutamiento, que se ofrece como servicio de conmutación. También ofrecen servicios de conexión o acceso. Se trata de redes manejadas por los Proveedores de Servicio de Internet (ISP, Internet Service Providers). Un ISP es una compañía que ofrece acceso a Internet. Generalmente, la conexión del usuario con el ISP tiene lugar a través de un acceso telefónico, una conexión de banda ancha por ADSL, cable o algún servicio inalámbrico. Muchos ISP ofrecen servicios adicionales al propio acceso, tales como cuentas de correo electrónico o espacio para crear un sitio web propio. En Argentina encontramos empresas como Speedy (Telefónica de Argentina), Fibertel (Grupo Clarín) y Arnet (Telecom), entre otras. El servicio de conexión ofrecido por el ISP, puede presentarse de dos maneras diferentes: orientado a la conexión o sin conexión. El servicio orientado a la conexión se caracteriza por brindarse de manera explícita, mediante una fase de intercambio inicial en la que se establece 26 Capítulo I: Introducción una sesión, antes de que comience la trasferencia de datos. Este tipo de servicio garantiza la reserva de recursos y la llegada de la información en orden. Se trata de un servicio confiable. Un ejemplo similar al de este tipo de servicio es el ofrecido por una empresa de telefonía para poder mantener una comunicación telefónica. Por su parte, los servicios sin conexión no pasan por una fase inicial de conexión. Simplemente, una vez contratado el servicio, se puede comenzar a transmitir y recibir datos. Se trata de un servicio más rápido y simple, pero sin garantías ni confiabilidad. Un ejemplo de este servicio es el de la conexión a Internet desde nuestros hogares. En redes WAN, el encaminamiento o servicio de conmutación, consiste en el proceso de seleccionar caminos o rutas en una red, a través de los cuales se transporta el tráfico para llegar al destino final. Varias clases de redes son capaces de llevar adelante este transporte. Entre las más conocidas, se pueden mencionar las redes de conmutación de circuitos y las redes de conmutación de paquetes. Las redes de conmutación de circuitos se conforman mediante un sistema interconectado de centrales de conmutación telefónicas. Se trata de redes ideadas originalmente para la transmisión de voz. Tal como se presenta en la Fig. 1.1, su utilización por parte de cada usuario se traduce en el cumplimiento de tres fases:  Establecimiento: en esta fase inicial se debe encontrar un camino hacia el destino final y reservar recursos para la comunicación. Este camino, también denominado circuito, garantiza recursos de ancho de banda y permanece establecido durante toda la comunicación. Se denomina circuito porque la red se comporta como si los nodos estuvieran conectados físicamente. El retardo de las señales es constante durante toda la comunicación, permaneciendo el canal reservado, aunque permanezca ocioso, hasta el momento de su liberación. De esta manera se asegura el servicio frente a potenciales usuarios competidores.  Intercambio de datos: es en modo full duplex, sobre el camino dedicado a la comunicación.  Cierre: es la fase final, cuyo objetivo es la liberación de los recursos para que queden disponibles a otros posibles usuarios. La utilización de este tipo de redes adolece de un retardo inicial, debido al establecimiento de la conexión. Esta filosofía de reserva a priori de los recursos se puede interpretar como una manera de manejar las situaciones de congestión de la red: si no se aseguran los recursos para la comunicación, la red rechaza el intento. Además, en esta fase de establecimiento, para poder encontrar el camino hacia el destino, debe existir alguna manera de identificarlo, en este caso el número de teléfono que corresponda. Para poder transmitir las muestras de voz, la red de conmutación de circuitos utiliza un sistema de multiplexado sincrónico, que impone cierta velocidad de transferencia y un retardo constante. La ventaja de una transferencia 27 Redes de datos y sus protocolos / Mónica C. Liberatori continua se debe a la ausencia de información de control, asociada específicamente a la transmisión de paquetes. La desventaja es que la conexión no puede ser compartida por otros, pudiendo hasta denegarse la comunicación a los demás usuarios en situaciones de sobrecarga. Hasta hace pocos años atrás la red se usaba únicamente para ofrecer un servicio de telefonía. Cuando comenzó a usarse para transportar datos, el valor máximo de la velocidad de transferencia era bastante limitado, debido a los filtros que originalmente se encontraban en la central de conmutación local, para limitar el ancho de banda de la señal analógica de voz. Más tarde, para mejorar la transmisión de datos, dichos filtros fueron retirados, quedando la velocidad limitada al propio par de telefonía y a la distancia desde el domicilio del abonado a la central local. Esto explica las diferencias de velocidades alcanzadas por tecnologías tipo ADSL frente a las de modem tradicional. Por otra parte, la velocidad de transferencia constante, característica de este tipo de redes, no permite una transmisión eficiente en el caso de tráfico con naturaleza de ráfagas, distintivo de la transmisión de datos. Señalización de una llamada de voz Figura 1.1 - Fases de una llamada. Red de Conmutación de Circuitos. En contraste con las redes de conmutación de circuitos, surgieron las redes de conmutación de paquetes, mucho mejor adaptadas a la transmisión de ráfagas de datos. Este tipo de redes fueron diseñadas especialmente para el transporte de paquetes, permitiendo compartir el ancho de banda disponible entre múltiples sesiones de comunicación. El método de transmisión por conmutación de paquetes se conoce en inglés como packet switching. Se trata de la tecnología 28 Capítulo I: Introducción de red fundamental que existe en Internet y en la mayoría de las redes de área local. Un paquete se caracteriza por el agregado de información adicional: a la información propiamente dicha, representada por los datos, se agregan bits de control que conforman un encabezado, en inglés header. El conjunto de datos y encabezado se conoce como paquete. Una secuencia de paquetes transportada sobre este tipo de redes, tiene velocidad variable, siendo esta característica la más apropiada para la naturaleza de ráfagas de la transmisión de datos. Tal como se aprecia en la Fig. 1.2, las redes de conmutación de paquetes están conformadas por nodos, denominados dispositivos de encaminamiento o routers. Se trata de elementos especiales, con funcionalidad específica, que se encuentran conectados entre sí por medio de enlaces, realizando tareas de cooperación para el traslado de los paquetes. En cada nodo de la red, cada paquete ingresa por algún enlace de entrada, colocándose en una memoria temporal, a la espera de ser revisado. Se dice que el paquete se encuentra en una cola de entrada del dispositivo conmutador. Figura 1.2 - Red de Conmutación de Paquetes. Cuando el nodo revisa las colas de entrada, interpreta cierta información del encabezado de cada paquete, sirviéndole esta consulta para determinar sobre cuál enlace de salida debe re-enviar el paquete. La decisión de re-envío se realiza consultando una tabla almacenada en memoria, que se conoce como Tabla de Enrutamiento. Esta estrategia de almacenamiento y re-envío, conocida en inglés como de store&forward, genera un retardo variable por paquete, resultando su eficiencia dependiente de la carga de tráfico en la red. A su vez, entre las redes de conmutación de paquetes, existen dos modos de ofrecer el servicio de transporte: el modo sin conexión, también conocido como conmutación de datagramas, y el modo orientado a la conexión, o conmutación de circuitos virtuales. En el modo sin conexión, cada paquete es encaminado de manera independiente, según la información de direccionamiento de destino que se cargue en su propio encabezado. Esta independencia de decisión de enrutamiento por paquete puede resultar en la elección de diferentes rutas para cada paquete 29 Redes de datos y sus protocolos / Mónica C. Liberatori perteneciente a una misma comunicación, llegando la información fuera de orden al destino. Se presenta un ejemplo en la Fig. 1.3, donde se puede apreciar que los paquetes que se transmiten desde el dispositivo A hacia el dispositivo B podrían encaminarse de manera independiente, por diferente camino. Lo mismo ocurre con las respuestas desde B hacia A. Un ejemplo de este modo de transferencia de paquetes es propia de la red de Internet, donde se transportan datos utilizando el protocolo IP. Su principal ventaja es la capacidad de adaptación a situaciones de congestión: cuando un nodo se satura se generan pérdidas de paquetes en sus colas, pero la red puede adaptarse para modificar las rutas, de tal manera que los paquetes se dirijan a otros nodos, no saturados. Figura 1.3 - Conmutación de paquetes en modo sin conexión. En contraposición, en la Fig. 1.4 se presenta el modo orientado a la conexión. En este modo, la red inicia una conexión y pre-asigna recursos en cada nodo involucrado en el camino entre transmisor y receptor. Este camino, asignado en el inicio, se conoce como circuito virtual, por su semejanza a los circuitos de la red de conmutación de circuitos. Todos los paquetes de una misma comunicación incluyen una identificación de circuito virtual en su encabezado. La identificación será revisada en cada nodo del camino, con el propósito de que todos los paquetes de una misma conexión sigan la misma ruta. De este modo se conserva el orden de llegada a destino. Se trata de redes confiables, pero presenta una desventaja, ya que si un nodo se satura y cae, quedando fuera de servicio, todas las conexiones que pasan por éste también caen y deberán restablecerse. Un ejemplo de estas redes es la vieja red de cajeros automáticos, que funcionaba bajo el estándar X.25, antes de su migración a TCP/IP. 30 Capítulo I: Introducción Figura 1.4 - Conmutación de paquetes en modo orientado a la conexión. 1.2.2 Redes de Área Local LAN En contraste con las redes WAN, las redes LAN ocupan áreas geográficas pequeñas, por ejemplo un edificio o conjunto de edificios. Generalmente se trata de redes cuyo tendido obedece a la necesidad de compartir recursos, tales como impresoras, scanners y dispositivos de almacenamiento. Su mantenimiento queda a cargo de administradores, ya sean propietarios de las mismas o contratados para tal efecto. Las redes LAN de mayor despliegue comercial son las conocidas con el nombre genérico de Ethernet. Su tendido se realiza sobre un cable del tipo par trenzado. Se trata de redes de alta velocidad, pudiendo llegar en la actualidad al orden de los 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺. Se caracterizan por interconectar dispositivos tales como computadores personales, repetidores o hubs, puentes y conmutadores o switches, tal como se presenta en la Fig. 1.5. Generalmente un router es el dispositivo de salida de una red LAN a una red WAN. Un hub es un elemento repetidor que ocasiona que la red se comporte como un bus, conociéndose con este nombre el caso de las redes LAN cuyos dispositivos comparten un medio, debiéndose establecer algún método de control para el acceso. El hub emula este comportamiento, repitiendo sobre todas sus bocas de salida, la señal que recibe por una boca de entrada. Un switch es un dispositivo de mayor inteligencia que el hub, repitiendo mensajes entre sus puertos de acuerdo a cierto esquema de direccionamiento especial, propio de las redes LAN. 31 Redes de datos y sus protocolos / Mónica C. Liberatori Figura 1.5 - Red LAN cableada. La Fig. 1.6 presenta un ejemplo de red inalámbrica que cumple con el certificado de Fidelidad Inalámbrica (WiFi, Wireless Fidelity). Es un tipo de red LAN cuyo despliegue ha aumentado de manera sorprendente en los últimos años. Se trata de redes que conectan dispositivos inalámbricos y, en su modo más popular de instalación, poseen un nodo muy especial, conocido como Punto de Acceso (AP, Access Point), a través del cual pasan todas las comunicaciones. Figura 1.6 - Dos redes LAN WiFi conectadas a través de una LAN cableada. 32 Capítulo I: Introducción En el caso de la figura, se puede observar un switch conectando ambos AP a través de un soporte cableado, disposición típica de muchas redes de este tipo. Es interesante observar en este ejemplo la disposición del AP como dispositivo de intermediación entre dos tipos de redes LAN. En este caso se dice que el AP realiza la función de un puente, también conocido como bridge. 1.2.3 Topologías de Red La topología de red define su estructura física, o sea la manera en que se disponen los cables o enlaces que interconectan sus diversos elementos. En general, encontramos las topologías presentadas en la Fig. 1.7, que también pueden servir para otro tipo de clasificación de las redes de datos:  Bus: una de las topologías más sencillas que utiliza un único cable al que se conectan todos los componentes directamente. El cable debe terminarse apropiadamente en ambos extremos para evitar desadaptaciones. Todos los dispositivos comparten el mismo canal, por lo que debe existir una forma apropiada de ingreso al medio, quedando limitada tanto la cantidad de dispositivos como la longitud física de la red. La rotura del cable deja fuera de servicio el sistema.  Ejemplo: LAN de cable coaxial.  Anillo: conecta un elemento con el siguiente y el último con el primero. En este tipo de red la comunicación depende del paso de un paquete especial, denominado testigo o token, que se utiliza para ordenar la comunicación y permitir un acceso equitativo a todos los componentes. Si uno de los componentes falla o uno de los enlaces cae, la red queda fuera de servicio.  Ejemplo: redes de fibra óptica como columna vertebral o backbone de red WAN.  Estrella: conecta todos los cables con un punto central de concentración, por el que pasan todas las comunicaciones. Tiene como ventaja que, si un componente se desconecta o se rompe el cable que lo comunica, sólo ese equipo quedará fuera de la red. Su desventaja es que, si falla el nodo central, cae la red completa.  Ejemplo: redes LAN tipo Ethernet con un conmutador tipo switch o un concentrador hub como elemento central.  Malla: cada nodo se conecta con todos los demás, de tal manera que es posible llevar los mensajes de un nodo a otro por diferentes caminos. Al estar completamente conectada, se convierte en una red muy confiable en cuanto a una posible interrupción en las comunicaciones. Si la red tipo malla fuera cableada, una desventaja sería el costo, dada la cantidad de cable necesario para su instalación. 33 Redes de datos y sus protocolos / Mónica C. Liberatori  Ejemplo: una red para control de una planta nuclear.  Árbol: se trata de una topología centralizada, desarrollada a partir de un nodo raíz, a partir del cual se van desplegando los demás componentes como ramas. Los elementos de la red se ordenan en una estructura jerárquica, en donde se destaca un elemento predominante o raíz. El resto de los elementos comparte una relación tipo padre-hijo. El encaminamiento de los mensajes de este tipo de redes debe realizarse de tal manera de evitar lazos en la comunicación. Si falla un elemento podrían presentarse complicaciones, quedando parte de la estructura aislada, pero si falla la raíz, la propia red quedaría dividida en dos partes que no podrían comunicarse entre sí.  Ejemplo: redes de sensores inalámbricos. Figura 1.7 - Topologías de red. 1.3 Redes y Protocolos Habiendo realizado una recorrida por diferentes clases de redes y topologías, conviene realizar una definición formal de red de datos y considerar algunos aspectos relacionados con su correcto funcionamiento. Se define como red de datos a un grupo de dos o más elementos inteligentes que son capaces de comunicarse entre sí a través de algún medio e intercambiar datos de manera cooperativa. Las redes conectan computadoras y los usuarios que las utilizan. Por ejemplo, en entornos de trabajo, los usuarios comparten recursos de redes LAN y pueden conectarse con otros usuarios, por ejemplo en otra red LAN, a través del acceso a una red WAN. Aparte de compartir datos fácil y rápidamente, pueden compartir dispositivos, tales como impresoras, y aprovechar más mecanismos de comunicación. Al instalarse una red, primero debe ser planificada desde el punto de vista físico, atendiendo a las necesidades presentes y futuras que deba satisfacer. Una vez instalada físicamente, deberá configurarse para que funcione correctamente. Ya configurada correctamente, interesará que sea monitoreada para poder 34 Capítulo I: Introducción anticiparse a posibles problemas de funcionamiento. Todo este trabajo se relaciona con la gestión de la red y es tarea de su administrador. El uso eficiente de los recursos es una meta importante en cualquier clase de red y, en términos generales, se relaciona con las técnicas seleccionadas para compartir los mismos y los mecanismos utilizados para afrontar situaciones de congestión. De existir fallas, es importante considerar mecanismos de recuperación, sobre todo para evitar posibles pérdidas irreparables. También, dependiendo del tipo de información almacenada o transportada sobre la red, puede ser importante considerar herramientas de seguridad para la protección de los datos. Por su parte, todo elemento conectado a la red debe contar con una interfaz de acceso apropiada, por ejemplo placas de red, con una antena o conector de red, en el caso de redes LAN. A su vez, para que los distintos componentes de una red puedan dialogar entre sí de manera eficiente, debe existir una manera de identificarlos, es decir un esquema de direccionamiento apropiado al alcance de la comunicación. Si se pretende una comunicación fiable, se deberán utilizar técnicas para control de errores. Si los componentes son de diferente capacidad operativa, probablemente utilicen técnicas de control de flujo para acomodar las diferencias en velocidad y/o capacidad de memoria. Toda esta gestión del intercambio exige reglas de comunicación que deben ser respetadas por todas las partes. Un protocolo define un conjunto de reglas, algoritmos, mensajes y otros mecanismos que habilitan a los elementos de una red a comunicarse de manera eficiente. Detrás de la definición de protocolo, yace la definición de un lenguaje común de entendimiento y la aceptación de un mismo conjunto de parámetros como convención. Por lo tanto, la definición de un protocolo exige el establecimiento de un formato para intercambio de mensajes y la precisión de las reglas que regirán ese intercambio. La elección del mismo debe ser previa a la comunicación y conocida por todas las partes involucradas en la misma. Se pueden mencionar tres aspectos en la definición de un protocolo: sintáctico, semántico y de sincronismo de la comunicación. La especificación formal de estos tres aspectos es independiente de la implementación, que puede ser en hardware o software. El aspecto sintáctico se refiere a la especificación de formatos para los mensajes. La semántica se relaciona con la funcionalidad de control para la cual se ha diseñado el protocolo. Por su parte, el sincronismo define la sintonía de velocidades y secuencias particularmente utilizadas en la comunicación. Para alcanzar un consenso general, un protocolo debe tener una especificación técnica con calidad de estándar. Los estándares son de conocimiento público, se los denomina protocolos abiertos para diferenciarlos de aquellos que no son públicos, conocidos como protocolos propietarios. Un ejemplo de los primeros es el protocolo de red IP. Los protocolos propietarios, en cambio, son protocolos con restricciones de uso, reglamentadas por patentes, y reforzadas por el mantenimiento de cláusulas secretas en cuanto a su implementación. Por ejemplo, un protocolo propietario es el que rige la comunicación por Skype. 35 Redes de datos y sus protocolos / Mónica C. Liberatori Un protocolo de red es aquel específicamente diseñado para este tipo de comunicaciones. Su implementación consiste en un módulo de software con interfaces apropiadas para poder comunicarse con un entorno especial implementado en el sistema operativo de la máquina. Es decir que el sistema operativo debe poseer capacidad para comunicación sobre redes. En general, los sistemas no utilizan un único protocolo, ya que se suele dividir el problema de la comunicación en módulos, para facilitar las tareas. Cada módulo puede tener asociado uno o más protocolos en un entorno de cooperación. Se suele denominar a este conjunto familia de protocolos o conjunto de protocolos. Una de las arquitecturas más conocido es la de TCP/IP. 1.4 Funcionalidad Asociada a Protocolos Dado que un protocolo debe especificar las reglas que regulan la transmisión, deberá desarrollar varias de las siguientes funcionalidades, aunque no necesariamente todas:  Definición del formato de mensajes para el intercambio: la existencia de un protocolo implica que los mensajes se trasladan de manera encapsulada, concepto que se asocia con la definición de paquete. El protocolo debe definir información adicional a los datos, denominada Información de Control de Protocolo (PCI, Protocol Control Information) o encabezado. El encabezado se asocia unívocamente a un protocolo, consistiendo en una serie de bits divididos en campos, cada uno con un significado particular asignado en su definición. Por otra parte, se denomina Unidad de Datos de Servicio (SDU, Service Data Unit) a la porción de información del mensaje. La SDU más el encabezado definido por el protocolo se denomina Unidad de Datos de Protocolo (PDU, Protocol Data Unit). El hecho de agregar un encabezado a la porción de datos se denomina encapsulado. En la Fig. 1.8 se presenta este concepto. Figura 1.8 - Encapsulado.  Direccionamiento: para poder realizar una comunicación en red se precisan identificadores, también llamados direcciones, tanto para la fuente de la información como para el destino de la misma. El examen de un campo de direcciones en el encabezado de un paquete permite al 36 Capítulo I: Introducción elemento que lo procesa, determinar si va dirigido a éste o a otro dispositivo. Si el protocolo posee esta funcionalidad, muy probablemente defina además direcciones especiales. En este sentido, muchos protocolos precisan la dirección correspondiente a todos los bits en “1ˮ como la dirección destino que pertenece a todas las estaciones de una red o dirección de broadcast. Esta dirección es de gran utilidad en las redes LAN para avisos de índole operativa, dirigidos a todos los integrantes de la red. También existen direcciones en distintos niveles y con diferente alcance o significado. A nivel de de comunicación en una red local, se usan las direcciones de fábrica de las placas de red o direcciones del nivel de Control de Acceso al Medio (MAC, Medium Access Control). Por ejemplo 00: 13: 49: 00: 01: 02 es una dirección MAC de 48 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏. En cambio, a nivel de red, para que sea posible identificar cada máquina en Internet, se usan direcciones IP del tipo 170.210.36.4, de 32 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏, con significado global. A su vez, dentro de un mismo dispositivo, para poder identificar las diferentes aplicaciones que simultáneamente se están comunicando, se utilizan números de puertos. Por ejemplo los servidores web se identifican con los puertos 80 y 8080, de 16 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏.  Control de errores: muchos protocolos suelen agregar campos que resultan de la aplicación de algún código para detectar o corregir errores. Uno de los más utilizados es el código que resulta en la generación de bits de Chequeo de Redundancia Cíclica (CRC, Cyclic Redundancy Check). Con este campo adicional se puede trabajar en la detección de errores de transmisión, generando retransmisiones en caso de error. Algunos protocolos trabajan en la modalidad confiable, donde cada mensaje recibido sin errores es reconocido mediante el envío de otro mensaje especial a la fuente, conocido como de mensaje de Reconocimiento (ACK, Acknowledgment), distinguible por los valores de los bits de ciertos campos del encabezado. Bajo esta forma de transmisión, al enviar un mensaje y no recibir un ACK dentro de un tiempo determinado, conocido como tiempo de expiración o timeout, el transmisor supone que el mensaje no se recibió bien y procede a la retransmisión. Esta estrategia se conoce como de timeout y retransmisión.  Control de Acceso al Medio: algunos protocolos se definen para generar un mecanismo de equilibrio de acceso en redes donde el medio es compartido. Algunas topologías que implican la existencia de un medio compartido son las de las redes tipo bus, estrella con elemento central tipo hub, redes inalámbricas o enlaces punto a punto de comunicación half duplex. En estos casos, el control de acceso puede ayudar a detectar o evitar las colisiones entre paquetes transmitidos en simultáneo por más de un dispositivo. Otras formas de ordenar el acceso podrían generarse a 37 Redes de datos y sus protocolos / Mónica C. Liberatori través de un esquema de prioridades o por asignación de canales a cada usuario.  Control de Flujo: es un mecanismo necesario para acomodar interlocutores con diferentes capacidades de procesamiento en cuanto a velocidad y memoria. Para ofrecer este control, muchos protocolos utilizan los propios mensajes de ACK para regular el flujo de la comunicación. Uno de los mecanismos más utilizados es el de Parada & Espera (Stop & Wait), que se usa en redes WiFi, condicionando la transmisión del cada mensaje a la llegada de un ACK para el mensaje previo. Por su parte, TCP usa un control de flujo más complejo, conocido como mecanismo de ventana deslizante, que permite transmitir y mantener en espera más de un mensaje por vez.  Control de Orden: es aplicable en aquellas redes de tipo datagrama, donde los mensajes pueden llegar desordenados, debido a los retardos propios de la red o las diferencias de rutas tomadas por los paquetes en su camino hacia el destino. En respuesta a este problema, muchos protocolos agregan un campo en el encabezado, donde se coloca un número de secuencia que identifica al mensaje. Se debe tener en cuenta que se tratará de un campo con un número de bits limitado, por ejemplo 𝑛𝑛 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 , razón por la cual sólo permitirá distinguir hasta 2𝑛𝑛 mensajes diferentes que se encuentren en tránsito simultáneamente. El control de orden también permite distinguir copias de un mismo mensaje, ya que en los casos en los que se usan mecanismos de retransmisión, la pérdida de un ACK podría provocar un retransmisión innecesaria, generando la llegada de un mensaje duplicado, distinguible por la repetición de un número de secuencia.  Fragmentación: en Internet existen redes capaces de transportar mensajes de distintos tamaños. Por ejemplo, una red LAN cableada tipo Ethernet puede transportar mensajes de hasta 1500 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 de datos, en tanto que una red de Modo de Transferencia Asincrónico (ATM, Asynchronous Transfer Mode) transporta mensajes, llamados celdas, de hasta 53 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏. Se denomina Unidad de Transferencia Máxima (MTU, Maximum Transfer Unit) al tamaño máximo de mensaje que una red puede manejar. Teniendo en cuenta que la información debe atravesar una gran variedad de redes, con distintos valores de MTU, algunos protocolos incorporan mecanismos de fragmentación que deben ser complementados con mecanismos de re-ensamble para la recuperación de los datos fragmentados. Con este propósito, se deben adicionar campos especiales en los encabezados. Es de destacar que el mecanismo de fragmentación genera una disminución en el tamaño de la carga de datos, empeorando la relación de incidencia de la longitud del encabezado respecto de la del propio campo de datos. 38 Capítulo I: Introducción  Control de Conexión: este tipo de control suele encontrarse presente en esquemas del tipo orientado a la conexión, donde se precisan mensajes específicos para el inicio y el cierre de la conexión. Con el propósito de distinguir estos mensajes de control, se incorporan bits especiales en el encabezado.  Multiplexado: en comunicaciones se denomina multiplexor al dispositivo capaz de combinar varios canales en uno solo. Un de- multiplexor realiza la acción contraria, separando a partir un único mensaje, la información correspondiente a cada canal. En temas relacionados con protocolos, el concepto se refiere a la capacidad que posee un protocolo de marcar en su encabezado a cuál otro protocolo debe entregarse el mensaje cuando por encima de éste exista más de una posibilidad.  Encaminamiento: en el caso de la comunicación entre sistemas que no se encuentren directamente conectados, se precisarán dispositivos intermedios a lo largo de la ruta al destino, cuya función es la generación de las acciones apropiadas para el re-envío de los paquetes hacia la dirección apropiada. Para poder cumplir la funcionalidad de encaminar correctamente, estos elementos deben conocer algo de la topología circundante, representada por otros nodos que los puedan ayudar a cumplir con la entrega. Las Tablas de Enrutamiento almacenan esta clase de información, construyéndose a partir del intercambio de mensajes entre nodos. Estos mensajes son generados por protocolos especiales, denominados protocolos de enrutamiento. 1.5 Estándares y su Organización Toda vez que se enfrente el estudio de redes de datos, se deberán analizar estándares que regulan su funcionalidad y organizaciones que son las responsables de la generación de esos estándares. La necesidad de interconectar equipos con diferentes especificaciones de hardware o software pone en evidencia la importancia de estos estándares, pues ellos describen protocolos y tecnologías. Se definen como sistemas abiertos, aquellos que son capaces de interactuar con otros de diferente tecnología. Estos sistemas se desarrollan en base a estándares universales, a diferencia de los sistemas propietarios que sólo pueden interactuar con otros sistemas similares. La definición de un estándar universal permite, por ejemplo, que equipos de diferentes fabricantes puedan compartir un entorno. Para poder desarrollar estándares universales, se precisan organizaciones que coordinen las discusiones y la publicación de la documentación. A lo largo del texto, se tratarán estándares desarrollados por algunas de las organizaciones mencionadas a continuación: 39 Redes de datos y sus protocolos / Mónica C. Liberatori  Organización Internacional para Estandarización (ISO,International Organization for Standardization): Esta organización no gubernamental fue creada en 1946. Sus miembros son organismos nacionales de máxima representatividad en el tema de estandarización, aceptándose sólo un miembro por país. Por ejemplo, IRAM de Argentina es miembro de la ISO. En este libro se desarrollará un modelo de comunicación en redes ideado por la ISO y conocido como Modelo de Referencia para Interconexión de Sistemas Abiertos (OSI, Open Sistem Interconnection). http://www.iso.org/  Instituto Nacional Americano de Estándares (ANSI, American National Standards Institute): Responsable de coordinar y publicar los estándares de tecnología de la información y computación en Estados Unidos. Es miembro de la ISO. Por ejemplo, ANSI C es un estándar para el lenguaje de programación C. http://www.ansi.org/  Instituto de Ingenieros Electricistas y Electrónicos (IEEE, Institute of Electrical and Electronics Engineers): Organización de profesionales de ingeniería eléctrica y electrónica. Uno de los estándares más conocidos de la IEEE es el proyecto IEEE 802, que permitió el desarrollo de tecnologías LAN tipo Ethernet y WiFi. http://www.ieee.org/index.html/  Alianza de Industrias Electrónicas (EIA, Electronic Industries Alliance): Asociación internacional de industrias cuyos estándares más conocidos se refieren al cableado de redes. http://www.eciaonline.org/eiastandards/  Unión Internacional de Telecomunicaciones – Sector de Estandarización para Telecomunicaciones (ITU-T, International Telecommunication Union – Telecommunication Standardization Sector): Organización internacional para desarrollo de estándares para la industria de las telecomunicaciones. http://www.itu.int/en/Pages/default.aspx 1.5.1 Organismos Específicos para Estandarización de Internet Junto con el crecimiento de Internet, se hizo evidente la necesidad de una estructura formal de organismos para fortalecer cuestiones relacionadas con su arquitectura, estándares, políticas y muchas otras actividades. 40 Capítulo I: Introducción En 1992 se creó la Sociedad de Internet (ISOC, Internet Society) para promover la evolución y crecimiento de Internet como estructura global de comunicaciones, y proveer coordinación global de actividades relacionadas con Internet. Se trata de una sociedad de profesionales con más de cien organizaciones y veinte mil miembros en ciento ochenta países. Provee liderazgo en el direccionamiento de cuestiones relativas al presente y futuro de Internet. También es la organización madre para los grupos responsables de los estándares de infraestructura de Internet y se ubica en la intersección del trabajo de grupos de desarrollo, políticas públicas y actividades de educación, tal como se representa en la Fig. 1.9. La ISOC fiscaliza a la Junta de Arquitectura de Internet (IAB, Internet Architecture Board), que a su vez dirige la Fuerza de Tareas de Ingeniería de Internet (IETF, Internet Engineering Task Force) y la Fuerza de Tareas de Investigación de Internet (IRTF, Internet Research Task Force). La IETF cumple su trabajo a través de varios grupos, cada uno responsable de desarrollar estándares y tecnologías en áreas tales como Internet, gerenciamiento y operaciones, enrutamiento, seguridad, transporte y aplicaciones en tiempo real. Cada área es manejada por un director, conformando en su conjunto el IESG que, a su vez, reporta ante la IAB. La IRTF se dedica a las cuestiones relacionadas con el largo plazo para las tecnologías de TCP/IP e Internet. Es una organización más pequeña que la IETF aunque, al igual que ésta, se encuentra conformada por grupos de investigación. La IRTF es supervisada por el IRSG y la IAB. Por otro lado, la necesidad de estandarizar determinados parámetros, por ejemplo identificadores de protocolos, o recursos globales tales como las direcciones IP, significó el surgimiento de una Autoridad de Asignación de Números de Internet (IANA, Internet Assigned Number Authority), que en 1998 fue sustituido por la Corporación de Internet para Asignación de Nombre y Números (ICANN, Internet Corporation for Assigned Names and Numbers). IANA opera actualmente bajo ICANN, siendo aún responsable de la asignación de direcciones IP, a través de la entrega de grandes bloques de direcciones a los Registros Regionales de Internet (RIR, Regional Internet Registry) que realizan actividades de asignación a distintos ISP en una región particular del mundo. Existen cuatro de estos registros. APNIC atiende sólo Asia y el Pacífico, en tanto que ARIN se encarga de América del Norte, parte del Caribe y África sub-ecuatorial. Para América Latina y el resto del Caribe, el registro responsable es LACNIC, y para Europa, Medio Oriente, Asia Central, y África al norte del Ecuador, es RIPE NCC. La asignación de nombres ya no es responsabilidad del IANA, sino que ICANN ha abierto el registro de nombres a muchas organizaciones en el nivel más alto de la jerarquía DNS. En cuanto a la estandarización de protocolos, al principio se basó en un esquema de consensos: cualquier nueva propuesta se debía plasmar por escrito para ponerla a disposición del resto para su discusión. El objetivo era generar un Requerimiento de Comentarios, por eso estas presentaciones escritas se conocen con las siglas RFC (Requests for Comments). No siempre un RFC describe un 41 Redes de datos y sus protocolos / Mónica C. Liberatori estándar, ya que muchos de estos requerimientos son meramente descriptivos, con el objetivo de clarificar conceptos. Con la estructura inmensa de Internet actual, este esquema tan informal no daría resultados, aunque los estándares todavía se conocen con sus siglas originales RFC. Actualmente, la responsabilidad principal de la creación de estándares es de la IETF, cuyos desarrollos se formalizan como un RFC, escritos que son publicados por el Editor de los RFC para su consideración por parte de la comunidad de Internet. Su descarga es gratuita y esta posibilidad se considera uno de los principales motivos de la explosión en el crecimiento de Internet. No todos los RFC se convierten en estándares, sino que tienen diferentes categorías. Existen RFC con categoría de estándar propuesto o de borrador, estos últimos conocidos como draft, que pueden haberse ya aprobados formalmente como estándares o encontrarse en vías de serlo. Otros son simples recomendaciones o documentos de información general. También existen propuestas en estado experimental. Antes de que un RFC se pueda considerar estándar, debe publicarse como borrador, bajo ciertos lineamientos de creación que establece la IETF. Generalmente los escriben miembros de los grupos de trabajo de la IETF, aunque cualquier persona podría hacerlo. La revisión queda a consideración de quienes trabajan en otros grupos de trabajo de la IETF. Si la revisión arroja resultados favorables, el documento puede ser candidato a estándar y así pasar a la categoría de estándar propuesto, si el IESG lo dispone. Aunque sea considerado como tal, estas propuestas deben revisarse mediante pruebas experimentales, probando su aptitud y aceptabilidad para la tecnología vigente. Si se sortean con éxito estas pruebas, el RFC se puede elevar de categoría estándar propuesto a estándar draft. Para llegar a alcanzar el estado de Estándar de Internet, la especificación debe ser tecnológicamente madura y ampliamente implementada. 42 Capítulo I: Introducción Figura 1.9 - Estructura organizacional de la ISOC. Bibliografía 1. Tanenbaum, Andrew S., “Redes de Computadoras”, Tercera Edición. Prentice Hall Inc., 1996. 2. Stallings, William, “Comunicaciones y Redes de Computadores”. Sexta Edición. Prentice Hall Inc., 2000. 3. Commer, Douglas E., “Internetworking with TCP/IP”, Vol I Principles, Protocols, and Architecture. Prentice Hall Inc., 1995. 4. Cohen, Danny, “Computer History Museum Exhibits Internet History” http://www.computerhistory.org/internet_history/ 5. Leiner, Barry M., Cerf, Vinton G., Clark, David D., Kahn, Robert E., Kleinrock, Leonard, Lynch, Daniel C., Postel, Jon, Roberts, Larry G., Wolff, Stephen, “Brief History of the Internet”. http://www.internetsociety.org/sites/default/files/Brief_History_of_the_Interne t.pdf 6. Índice de RFC, http://www.ietf.org/rfc/ 7. The Internet Engineering Task Force (IETF): http://www.ietf.org/ 43 CAPÍTULO II Modelo OSI y Arquitectura TCP/IP En la década de los 80 se produjo un crecimiento caótico de las redes originado principalmente por la aparición de nuevas tecnologías y su desarrollo comercial. Como consecuencia, se presentó un problema debido a que no existía un lenguaje común para la comunicación y esto dificultaba enormemente la posibilidad de interconexión. Para salvar tantos inconvenientes, la ISO conformó un comité para que generara un modelo estándar que rigiera este tipo de comunicaciones. Producto de estas investigaciones, casi a mitad de la década de los 80, surgió el modelo OSI, de casi nula implementación comercial. Por su parte, durante la década de los 70, un grupo de ingenieros e investigadores, había desarrollado una arquitectura basada en protocolos de aplicación en la red ARPANET. Se trataba de la arquitectura que hoy se conoce como TCP/IP, siendo actualmente la más difundida para la comunicación en redes de datos. Casi al mismo tiempo que surgía el modelo OSI, TCP/IP se integró en la versión 4.2 de la distribución del sistema operativo UNIX de la Universidad de Berkeley. Enseguida se sumaron las integraciones en versiones comerciales de UNIX, y TCP/IP se convirtió en el estándar de Internet. 2.1 Arquitectura de Protocolos En un entorno de comunicación en red, los sistemas no utilizan un único protocolo, sino un conjunto denominado familia, pila o arquitectura de protocolos, que actúan de manera cooperativa, debiendo ser capaces de comunicarse entre sí. Uno de los objetivos de diseño sería crear un entorno de división del trabajo, de tal manera que los protocolos se pudieran integrar de manera independiente, aunque constituyendo un conjunto en cooperación. Dividir un problema complejo, como es el de la comunicación de datos en redes, en módulos simples, cada uno con una funcionalidad bien definida, ayuda a entender más fácilmente las dificultades existentes. Las consecuencias de lograr una división óptima, se traduce en una serie de ventajas: 45 Redes de datos y sus protocolos / Mónica C. Liberatori  Documentación más sencilla de entender: como consecuencia de dividir un problema complejo en partes más pequeñas y específicas, se facilita la descripción y el entendimiento, sobre todo para quienes trabajan en implementaciones.  Especialización: la división puede generar más fácilmente expertos en aspectos particulares.  Facilidad de modificación: una división óptima permite realizar modificaciones en las partes sin afectar al todo, ya sea en los casos en que se detecten dificultades, como en los que se propongan mejoras. Cada módulo aportará lo suyo, ya sea en términos de hardware o de software, y será capaz de interactuar con otros módulos, de sus mismas características, ubicados en otros dispositivos en la red. Inclusive, bajo estas premisas, es posible lograr la comunicación entre dispositivos de diferentes características técnicas. Uno de los interrogantes más difíciles de resolver se relaciona con decidir cuántas capas o módulos se deben definir y cuáles funcionalidades se asignarán a cada uno, para que el diseño de los correspondientes protocolos se convirtiera en una tarea de complejidad manejable. De ese modo se diseñó la comunicación TCP/IP que, aunque estrictamente hablando, es una pila de protocolos, se puede asimilar a un modelo de comunicación conformado por capas. A modo de ejemplo, imagínese dos sistemas A y B en distintos puntos de una red, cada uno con el mismo conjunto de capas, intentando comunicarse bajo las premisas descriptas. Se propone un modelo de 3 capas, separadas entre sí por las líneas punteadas que se presentan en la Fig. 2.1. Dentro de cada capa, un cubo indica la implementación en software de los protocolos. En cada sistema existe un flujo vertical de comunicación entre capas adyacentes. Entre ambos sistemas, el flujo de mensajes es horizontal entre capas del mismo nivel, también conocidas como capas o niveles pares. Figura 2.1 - Un modelo de comunicación por capas. La comunicación entre sistemas funciona correctamente utilizando una técnica conocida como encapsulado. Este concepto implica agregar a un mensaje, 46 Capítulo II: Modelo OSI y Arquitectura TCP/IP o conjunto de datos, un encabezado con información de control. La regla dentro de cada sistema, es que cada protocolo genera un mensaje que se encapsula dentro de un encabezado del protocolo de la capa inferior. En el caso del ejemplo, un mensaje generado en A, denominado Datos, llegará al final inferior de la pila de protocolos del sistema A encapsulado de la siguiente manera: (𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸1/ 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸2/𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸3/𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷. Una vez transportado sobre el medio subyacente, arribará al sistema B, y subirá por la pila pasando por un proceso de des-encapsulado, donde cada protocolo de un nivel observará en el encabezado del protocolo del nivel par la información que se considera relevante a ese nivel. Luego entregará a la capa superior el mensaje con el encabezado que le corresponda. En el último nivel del sistema B, se entregará finalmente el mensaje (𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸3/𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷), generado por A. En este ejemplo, se ha dividido el trabajo relacionado con la comunicación de datos en tres capas, como una forma de aproximación al problema real. La capa más baja es la que más se relaciona con los detalles de la transmisión física de los datos. Funcionalidades más cercanas al hardware se relacionarían con este nivel, tales como codificación, velocidad de transmisión, conector de acceso a la red, niveles de tensión o sistema de señalización. En contrapartida, el nivel superior es el más cercano a la interacción con el usuario. Se trata de las aplicaciones de software desarrolladas para la comunicación en red. En el medio, se ha incluido un nivel que oficia de soporte para las aplicaciones, acomodando la comunicación a los diferentes tipos posibles de medios o métodos de acceso presentes en el nivel inferior, pero ocultando ese detalle al nivel superior. Se podría decir que existe una comunicación real, asociada al flujo vertical de mensajes en cada sistema, y una comunicación virtual, indicada en el dibujo por las flechas punteadas horizontales. Esta última se denomina comunicación entre protocolos pares. 2.2 Modelo OSI Considerando que estandarizar sistemas o protocolos permite desarrollar entornos inter-operativos, aún cuando provengan de diferentes fabricantes, en 1977 se formó un subcomité de la ISO con la misión de desarrollar una arquitectura para modelar la comunicación entre sistemas en una red. El modelo de referencia se llamó Modelo de Interconexión de Sistemas Abiertos (OSI, Open System Interconection) y fue publicado en el año 1984. Como convenía a un problema complejo, era necesario dividir las tareas y asignar estándares por funcionalidad, es decir definir una arquitectura. En el modelo OSI las funciones se distribuyen entre un conjunto jerárquico de capas, necesarias para la comunicación entre entidades de distintos sistemas. Cada capa debía apoyar su funcionalidad en la de la capa inferior. Las capas inferiores realizarían las funciones más primitivas, ocultando sus detalles 47 Redes de datos y sus protocolos / Mónica C. Liberatori de implementación a las capas superiores. Este concepto de ocultamiento es el que permitiría que el reemplazo de una capa no afectara a las demás. El gran desafío para el comité de la ISO fue encontrar el número de capas adecuado para que un gran problema se viese subdividido en problemas más sencillos, por sobre todo fáciles de describir e implementar. Para enfrentar el dilema, el comité definió un conjunto básico de servicios que cada capa debería ser capaz de cumplir. Como premisa, se trabajó sobre la idea de que la división en capas debía ser tal que en una misma capa se agrupasen funcionalidades similares, siempre que el número total no resultase muy grande, para que la descripción del modelo, de la cual dependería finalmente cualquier implementación, fuese más sencilla. También razonaron que el número total de capas establecería una relación de compromiso con respecto a la cantidad de bits de cualquier mensaje transportado. Como cada capa supondría con el agregado de un encabezado, con campos relacionados con la funcionalidad de la misma, si la cantidad de capas era muy grande, la relación entre los bits agregados como información de control con respecto a la cantidad de bits propios del mensaje, resultaría ineficiente. Es decir que debían encontrar una relación de overhead apropiada. Se denomina overhead a la relación en bits entre la longitud del mensaje propiamente dicho y la longitud total del paquete generado por el agregado de encabezados, procesamiento conocido con el nombre de encapsulado. El modelo de referencia OSI se desarrolló sobre un conjunto

Use Quizgecko on...
Browser
Browser