Introducción ¿Cómo surgió computadoras? la necesidad de crear redes de Surgió de la necesidad de compartir recursos. Por ejemplo, a nivel local resultaba mucho más económico conectar algún periferal (e.g. un printer) a una red de computadoras permitiendo así que múltiples computadoras pudieran utilizarlo, que conectarle un printer a cada computadora. En otra escala resultaba más económico crear unos pocos centros con computadoras de alta velocidad y mediante redes permitir acceso a múltiples investigadores distribuidos a través de toda la nación que suplir computadoras de alta velocidad a cada investigador. Las agencias patrocinadoras de proyectos de investigación no podían darse el lujo de financiarle a cada investigador una computadora de alta velocidad. Hace unos 30 años las computadoras de alta velocidad eran costosas, escasas y voluminosas. Parte 1 2 Hoy en día utilizamos las computadoras para muchas aplicaciones, las cuales van desde procesamiento de palabras hasta control de procesos. Hay veces que utilizamos las computadoras en su configuración de stand-alone y en otras ocasiones necesitamos que una computadora se comunique con otra para intercambiar data. computadora A aplicación communication subsystem computadora B comunicación de usuario a usuario comunicación de computadora a computadora aplicación communication subsystem red de comunicación de data Podemos definir una red como un conjunto de computadoras y dispositivos que pueden comunicarse entre sí utilizando algún medio de transmisión. En este curso cubriremos los distintos tipos de redes de comunicación de data así como los detalles de hardware y software que se requieren en cada computadora para que éstas puedan interfasar con las redes. Parte 1 3 Independiente de cuál sea la aplicación, para la comunicación entre computadoras tiene que existir un canal o facilidades de comunicación. Para lograr la comunicación entre computadoras, además del canal, necesitamos contar con un network protocol suite o sistema de reglas comunes que defina el complejo proceso de transferir data entre computadoras. De computadora a computadora la transmisión va a ser bitserial, esto es, una serie de bits transmitidos en serie. Dentro de una computadora, la transmisión es en paralelo. Por ejemplo, en un data bus se transmite un word completo. Parte 1 4 Diagrama de Bloque Funcional para una Computadora desde el mundo exterior input(s) control bus CPU address bus data bus ROM RAM output(s) hacia el mundo exterior Por lo tanto, en el interfase de una computadora con la red es necesario convertir la data de salida de paralelo a serie, y la data que entra de serie a paralelo. El modo de transmisión y los circuitos requeridos dependerán de la separación física entre las computadoras, el tipo de canal, y la velocidad de transmisión. Parte 1 5 En la comunicación entre computadoras también hay otros factores a considerar: 1. El canal de transmisión siempre va a tener ruido. Existe una probabilidad de error, esto es, que un “0” sea interpretado como un “1”, y viceversa. Por lo tanto, en la comunicación entre computadoras se necesita contar con el mecanismo que permita detectar si ocurrió un error en la transmisión, y si ocurrió, volver a transmitir la data afectada. Este mecanismo se conoce como error control. 2. A ciertas velocidades de transmisión el BER (bit error rate) puede ser muy alto. En cambio a otras velocidades no tan rápidas el BER puede ser aceptable. Por ejemplo, un modem típico en una PC puede transmitir a una velocidad máxima de 56 K, siempre y cuando el canal se lo permita. De lo contrario, la velocidad se ajusta. Esto es, tiene que existir un mecanismo para regular la velocidad de transmisión. Dicho mecanismo se conoce como flow control. 3. Hay veces que el canal es fijo. Por ejemplo, dos computadoras en un salón conectadas por un cable. Sin embargo, no siempre es así. Por ejemplo, puede darse el caso en que la comunicación se tiene que establecer a través del Public Switched Telephone Network (PSTN). En casos como éstos entonces tiene que existir un mecanismo para establecer el paso o conección a través de la red. Parte 1 6 4. En algunas aplicaciones las computadoras a interconectar pueden ser de distintos tipos, esto es, distinto sistema operativo, distinto word size, distinta representación de números, letras y caracteres. En estos casos para lograr la comunicación de aplicación a aplicación es necesario establecer unos interfases y realizar unas conversiones. Parte 1 7 Red más Sencilla Posible: Peer to Peer o Punto a Punto computadora A computadora B aplicación aplicación communication subsystem communication subsystem Ejemplo: Peer to peer network formada por 2 PC’s conectadas vía un cross over cable UTP (unshielded twisted pair) CAT 5e con la intención de compartir archivos y que ambas puedan simultáneamente accesar Internet vía el modem de una de las PC’s utilizando una sola conección con el proveedor de servicios. Generalmente las dos computadoras se encuentran a corta distancia. Parte 1 8 Clasificación de Redes 1. LAN – local area network Un LAN consiste de todos los dispositivos conectados a una red que se circunscribe a un área limitada, como por ejemplo, un salón, un edificio, o un campus universitario. 2. WAN – wide area network Un WAN es una red de telecomunicaciones que enlaza áreas metropolitanas, regionales, nacionales o internacionales. 3. MAN – metropolitan area network Un MAN es una red es una red grande que cubre un área metropolitana. Su tamaño está entre el tamaño de un LAN y el tamaño de un WAN. Por ejemplo, un MAN provee conección de Internet a los LAN’s en un área metropolitana. Parte 1 9 ISO Reference Model Con la intención de que cualquier aplicación corriendo en una computadora pueda comunicarse libremente con otra aplicación corriendo en otra computadora, independiente de quienes sean los fabricantes de las computadoras se han definido una serie de standards. Uno de los standards más importantes es el OSI (open systems interconnect) establecido por el ISO (International Standards Organization). En el OSI el communication subsystem está dividido en una serie de layers o capas, cada una de las cuales realiza una labor bien específica. Al dividir el subsistema en capas se obtiene la ventaja que cada layer o capa puede ser redefinido, mejorado, o upgraded sin que las demás capas se afecten. Esto es, es un sistema modular. Los distintos layers o capas realizan funciones de servicio a la red, o funciones de servicio a las aplicaciones. El ISO en conjunto con otro cuerpo de estandardización, el ITU (International Telecommunications Union) especifica una serie de protocolos basados en el modelo OSI. Entre ellos se encuentra el X.25 para la transmisión de data utilizando packet switching. Parte 1 10 computadora A computadora B aplicación aplicación servicio a las aplicaciones servicio a la red servicio a las aplicaciones servicio a la red red de comunicación de data Network Environment OSI Environment Real System Environment Network Environment – tiene que ver con los protocolos y los standards relacionados con las distintas redes de comunicación de data. OSI Environment – construye sobre el network environment y suple protocolos y standards orientados a las aplicaciones permitiendo la libre comunicación entre computadoras. Real Systems Environment – construye sobre el OSI environment e incluye la implementación proprietaria (i.e. por el fabricante de la computadora) de software y servicios. Parte 1 11 Cada layer o capa realiza una función específica dentro del communication subsystem. Cada layer opera siguiendo un protocolo (o conjunto de reglas) intercambiando mensajes con su peer o layer similar en la unidad remota. Cada layer tiene un interface claramente definido con el layer que tiene encima y con el layer que tiene abajo. La implementación de un layer es independiente de las implementaciones de los restantes layers. Esa es la versatilidad de los layers o capas, esto es, su modularidad. La estructura del ISO reference model consiste de 7 protocol layers. Los 3 layers inferiores, del 1 al 3, dependen de la red y están asociados con el proceso de establecer la comunicación a través de la red. Los 3 layers superiores, del 5 al 7, sirven a la aplicación y están asociados con el proceso de permitir que dos aplicaciones de usuarios interaccionen juntas gracias a los servicios de los sistemas operativos de cada una de las computadoras. Parte 1 12 El layer 4, el transport layer, utiliza los servicios de los 3 layers inferiores asociados con la red para proveerle servicios de intercambio de información a los 3 layers superiores asociados con las aplicaciones, independiente de los aspectos de la red. computadora A computadora B aplicación aplicación application layer presentation layer session layer transport layer network layer link layer physical layer application layer presentation layer session layer transport layer network layer link layer physical layer red de comunicación de data Network Environment OSI Environment Real System Environment La función de cada layer queda especificada formalmente como un protocolo que define las reglas para poder comunicarse con su layer contraparte en un sistema remoto. Utilizando los servicios de los layers que tiene debajo, cada layer provee una serie de servicios al layer immediátamente encima. Parte 1 13 ¿Cómo es que se envía un mensaje o data desde la aplicación X a la aplicación Y? La aplicación X le quiere enviar un mensaje a la aplicación Y. El application layer encapsula la data y le añade el header AH para formar el A-PDU (Application - Protocol Data Unit). El Presentation layer le añade el header PH al A-PDU y lo encapsula para enviárselo al Session layer. De forma sucesiva, cada layer le añade un header o trailer adicional, hasta llegar al Physical layer que se encarga de transmitir los bits. En el otro extremo el proceso se invierte, y cada layer le quita el header o trailer correspondiente a dicho layer, y pasa la restante información al layer superior hasta finalmente llegar a la aplicación Y. En cada etapa del proceso, cada layer puede segmentar la data que recibe del layer superior en varias partes las cuales luego serán reensambladas por el mismo layer localizado en el otro extremo. Parte 1 14 ¿Cómo Recordar los Layers del OSI? Hay múltiples trucos para recordar los nombres de los layers del OSI. Entre ellos, contamos con el siguiente: Please Do Not Tell Secret Passwords Anytime | | | | | | | | | | | | | |_Application | | | | | | | | | | | |_Presentation | | | | | | | | | |_Session | | | | | | | |_Transport | | | | | |_Network | | | |_Data Link | |_Physical