ARQUITECTURA DE REDES SISTEMAS Y SERVICIOS.
2º Ing. Telecomunicación. Curso 2007/08
REDES DE DATOS
1.
TÉCNICAS DE CONMUTACIÓN ....................................................................................2
1.1 1.2 1.3 1.4 1.4.1 1.4.2 1.5
INTRODUCCIÓN ...................................................................................................................2 CONMUTACIÓN DE CIRCUITOS ...........................................................................................3 CONMUTACIÓN DE MENSAJES ............................................................................................4 CONMUTACIÓN DE PAQUETES ............................................................................................6 ORIENTADO A CONEXIÓN O DE CIRCUITO VIRTUAL ..............................................................6 NO ORIENTADO A CONEXIÓN O DATAGRAMA ........................................................................7 COMPARACIÓN DE LAS TÉCNICAS DE CONMUTACIÓN ......................................................8
2.
MODELOS DE CAPAS.....................................................................................................10
2.1 2.2
INTRODUCCIÓN .................................................................................................................10 DE LOS SISTEMAS CERRADOS A LOS ABIERTOS ...............................................................11
3.
EL MODELO OSI DE LA ISO.........................................................................................12
3.1 3.2 3.3 3.4 3.5
INTRODUCCIÓN .................................................................................................................12 COMUNICACIÓN ENTRE CAPAS ........................................................................................13 LAS FUNCIONES DE LAS CAPAS EN OSI............................................................................14 COMUNICACIÓN ENTRE SISTEMAS ...................................................................................15 EVOLUCIÓN DEL MODELO OSI ........................................................................................16
4.
EL MODELO DE INTERNET .........................................................................................17
4.1 4.2
INTRODUCCIÓN .................................................................................................................17 JERARQUÍA TCP/IP ..........................................................................................................17
2 Redes de Datos
1. TÉCNICAS DE CONMUTACIÓN 1.1 Introducción Para hacer llegar la información transmitida desde su origen al destino se deberán utilizar los distintos recursos de la red (nodos y enlaces). Estos recursos deberán compartirse con las demás comunicaciones que se vayan a realizar en la red. Para compartir los enlaces se utilizarán técnicas de multiplexión que se vieron en el tema anterior. Cuando la información llega a un nodo, del que salen distintos enlaces, se debe elegir el enlace de salida adecuado. Por supuesto la elección dependerá del origen y el destino de la información, y existen numerosas técnicas para realizarla. La tarea de pasar la información de un enlace a otro se conoce como conmutación. Existen tres técnicas básicas de conmutación: •
Conmutación de circuitos
•
Conmutación de mensajes
•
Conmutación de paquetes. Dentro de esta técnica se distinguen • Orientada a conexión • No orientada a conexión
Según la técnica de conmutación elegida el tratamiento del tráfico que se cursa en la red será distinto. Para medir cómo trata la red al tráfico cursado se utiliza el concepto de calidad de servicio (QoS, Quality of Service). Hay muchos parámetros que se utilizan para cuantificar la calidad de servicio ofrecida por la red. En redes de conmutación de circuitos, por ejemplo, se suele hablar de la probabilidad de bloqueo en llamada, es decir, la probabilidad de que se rechace una llamada que está intentando establecerse. En redes de conmutación de paquetes se utiliza el retardo de los paquetes en la red, la latencia o el jitter. Cada tipo de tráfico en concreto necesitará un grado de calidad de servicio determinado y tradicionalmente se ha venido eligiendo la técnica de conmutación que se mejor se adaptaba a sus necesidades. Para la transmisión de voz, tráfico en tiempo real, la conmutación de circuitos resultaba la más adecuada, de manera que, como se ya hemos visto en el tema anterior, las redes de telefonía utilizaban la conmutación de circuitos como técnica de conmutación. Sin embargo para redes de datos las características de tiempo real no son siempre un requisito imprescindible y sin embargo sí que resulta especialmente interesante aprovechar mejor el ancho de banda disponible para transmisión, de ahí que tradicionalmente se han venido utilizando técnicas de conmutación de paquetes, que vamos a introducir en este tema. Actualmente, y apoyándose en las técnicas básicas de conmutación, se han desarrollado otras nuevas que introducen mejoras sustanciales. Podría denominárselas como técnicas de conmutación integrada, ya que su principal finalidad es la de conseguir ofrecer un grado de calidad de servicio aceptable para tráficos con distintas necesidades, utilizando una misma técnica de conmutación.
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
Redes de Datos 3 1.2 Conmutación de circuitos Es la conmutación utilizada en la RTC. Como ya hemos visto en este caso, a cada comunicación, es decir, al tráfico generado entre cada par origen destino, se le asignan recursos de red de forma fija. De esta manera se reserva capacidad en los enlaces o medios de transmisión y en los nodos de conmutación, que se utilizarán única y exclusivamente para esta comunicación. Así, cuando dos terminales necesitan comunicarse deben, en primer lugar, establecer un camino o circuito reservado extremo a extremo. Para compartir la capacidad de los medios se utilizan técnicas de multiplexión por división de frecuencia o, más usualmente, de multiplexión por división de tiempo, de este modo se reserva, para cada comunicación, una región del espectro o un intervalo de tiempo determinado en las tramas de cada enlace, como indica la figura 1 que representa un ejemplo de conmutación de circuitos.
C
E
A 1
1 4 65
4
3 2
Sumidero
32
Fuente
65
654321 B
D
Figura 1. Conmutación de circuitos
Para realizar esta reserva de recursos de extremo a extremo se necesita señalización, es decir, es necesario intercambiar información entre los terminales y la red y entre nodos de la red. Así una conexión constará de tres fases: Establecimiento de la conexión: En el momento en que se vaya a comenzar la comunicación, por ejemplo una conversación telefónica, se recorrerán todos los recursos (nodos y enlaces) que formen parte del trayecto entre el origen y el destino y se reservará la capacidad necesaria en los mismos, estableciéndose así el circuito reservado entre origen y destino. En caso de que los recursos estén ocupados y no sea posible esta reserva, la conexión será rechazada. Transferencia de información: En esta fase se realiza la transmisión de datos, voz... a través del camino o circuito reservado en la fase anterior. Liberación de la conexión: Una vez terminada la fase de transferencia se liberan todos los recursos reservados, de forma que puedan ser utilizados para cualquier otra conexión que se quiera establecer. Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
4 Redes de Datos Con esta técnica de conmutación se logra tener una calidad de servicio garantizada en la fase de transferencia de información, ya que los recursos permanecen reservados (en exclusiva) para esa conexión. El retardo de la transmisión extremo a extremo y la cantidad de información perdida serán mínimos. Sin embargo también presenta algunas desventajas como son: •
Uso ineficaz de los recursos durante los periodos de inactividad: Si en una conexión existen periodos de silencio los recursos siguen estando reservados pero no se utilizan, con lo que se está desperdiciando capacidad en el canal de comunicación. Un ejemplo claro es una conversación telefónica, en la que los periodos de silencio pueden ser bastante significativos.
•
Si todos los circuitos están ocupados la comunicación es imposible: Como ya se ha dicho, la conexión puede ser rechazada en caso de que no exista capacidad suficiente en alguno de los recursos que se deben atravesar a lo largo de la red.
•
Nunca se utiliza la capacidad máxima del canal para un solo circuito, aunque en realidad sea éste el que lo está utilizando de forma exclusiva. Un subcanal sólo utiliza la capacidad reservada para esa conexión.
•
Se necesita señalización para establecer la conexión, lo que conlleva un tiempo de establecimiento de conexión y que los datos no se empiecen a enviar hasta que no esté establecida la conexión.
1.3 Conmutación de mensajes Esta es, en realidad, la técnica de conmutación más antigua que existe, ya que era la utilizada con el sistema telegráfico. En este caso se transmite a la red la información completa, formando lo que se conoce como mensaje. Al llegar a cada nodo el mensaje espera en una cola de entrada hasta que le llegue su turno para ser procesado y le sea asignado un enlace de salida para continuar su camino. Se realiza por tanto almacenamiento y reenvío del mensaje en cada nodo de red, como se representa en la figura 2.
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
Redes de Datos 5
C
E
A
Sumidero
Fuente 11
B 1
D 2
Mens.
Figura 2. Conmutación de mensajes
De este modo el retardo en cada nodo, es decir el intervalo de tiempo desde que llega el mensaje hasta que sale por el enlace adecuado, dependerá de la cantidad de mensajes que hayan llegado antes que él, del tamaño de los mismos y de su propio tamaño. Este retardo puede aumentar considerablemente, de tal forma que puede resultar imposible utilizar esta técnica para tráfico en el que los retardos deban mantenerse muy acotados, por ejemplo para tráfico que necesite respuesta en tiempo real, como sería el caso de las conversaciones telefónicas. Además, que existan colas en los nodos implica que sea necesario almacenar los paquetes que llegan y aún no han sido procesados. Si en un nodo toda la memoria destinada a este fin está ocupada y llega un nuevo mensaje, este se perderá sin remisión. Existe el inconveniente añadido de que si un terminal genera un mensaje de un tamaño pequeño y llega a la cola antes un mensaje muy grande, el primero se ve retrasado de forma innecesaria, cuando puede que incluso el emisor esté esperando una respuesta (por ejemplo cuando el tráfico es interactivo). Existen algunos mecanismos para aliviar este problema, dando prioridad a los mensajes más cortos de la cola, aunque es la conmutación de paquetes la que soluciona más eficientemente este inconveniente. Por supuesto la conmutación de mensajes también tiene ventajas. Al no reservar capacidad en enlaces y nodos y ser la asignación de la capacidad dinámica, se aprovecha la capacidad total del canal, no existiendo nunca periodos de silencio mientras alguna comunicación necesite el enlace. Por tanto la multiplexión que se realiza aquí es estadística por división de tiempo. Cada mensaje utilizará toda la capacidad del enlace cuando le toque el turno de ser transmitido, instante que dependerá de las características de las demás comunicaciones que pretendan utilizar el enlace.
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
6 Redes de Datos 1.4 Conmutación de paquetes La conmutación de paquetes está especialmente diseñada para cursar tráfico de datos. Se consigue utilizar los recursos de la red sólo cuando hay tráfico que transmitir, por lo que no se desperdicia capacidad en los periodos de inactividad. Los datos a transmitir entre origen y destino se dividirán en paquetes. El tamaño de estos paquetes puede ser variable y dependerá de diversos factores, pero se suele establecer una longitud máxima que nunca se deberá superar. De esta forma se asegura que ninguna comunicación se vea perjudicada frente a otra por el tamaño de los paquetes que utilizan. También existen colas en los nodos, de forma que cada paquete espera hasta que pueda ser transmitido a un enlace de salida. Como en la conmutación de mensajes los retardos vendrán dados por el tamaño de las colas y el tiempo de tratamiento de los paquetes, que será función del tamaño de los mismos, ya que también se usa la técnica de almacenamiento y reenvío. Estos retardos por lo tanto son variables y dependerán de la carga de tráfico en la red. Como el tamaño de las colas es limitado, la memoria en los nodos de conmutación no es infinita: cuando se llenen habrá que descartar paquetes si llegan nuevos, de manera que se da también el problema de pérdidas de paquetes, es decir de información, lo que degrada la QoS ofrecida. En este caso la multiplexión realizada es también estadística por división de tiempo, se utiliza la capacidad del enlace según se va necesitando y de forma exclusiva para cada paquete. • •
•
•
Cada paquete deberá llevar una cabecera en la que aparecerán datos como: La dirección del destino, para poder realizar el correcto encaminamiento de los paquetes hasta el mismo. La longitud del paquete, en caso de que los paquetes puedan tener distinta longitud, para poder saber dónde termina un paquete y empieza el siguiente. También hay veces que se utilizan secuencias de bits determinadas (FLAGS) que identifican el fin del paquete. El número de secuencia del paquete, es decir, la posición que ocupa dentro del total de la información. Permitirá reensamblar en el destino los paquetes en el orden correcto para obtener la información transmitida, en el caso de que los paquetes puedan llegar desordenados. Información de control, por ejemplo para indicar el tipo de paquete que es, si es de datos entre fuente y sumidero, o para mantenimiento y gestión de la red.
Al paquete se suele añadir una serie de bits que se utilizan para detección y corrección de errores. La técnica más utilizada para esto es el código de redundancia cíclico (CRC). Existen dos modalidades de conmutación de paquetes. 1.4.1 Orientado a conexión o de circuito virtual Sólo el primer paquete de cada mensaje tiene que llevar la dirección destino. Con este paquete se establece la ruta que deberán seguir todos los paquetes pertenecientes a esta conexión. Cuando llega un paquete que no es el primero se identifica a que conexión pertenece y se envía por el enlace de salida adecuado, según la información que se generó con el primer paquete y que permanece almacenada en cada conmutador o nodo. Como todos los paquetes siguen la misma ruta llegarán en secuencia al destino, aunque, por supuesto el retardo de cada uno puede ser variable. De esta forma en la Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
Redes de Datos 7 cabecera no será necesario que aparezca la secuencia del paquete, pero sí un identificador de conexión para poder realizar la conmutación en cada nodo. El protocolo X.25, definido por la ITU_T, sigue este modelo de conmutación que se representa en la figura 3.
C 4
3
2
1
4
3
2
1
E
A
Sumidero
Fuente 1
4 3
B 3
1
D 2
2
2
1
Figura 3. Conmutación de paquetes orientada a conexión (circuitos virtuales).
1.4.2 No orientado a conexión o datagrama En este caso cada paquete debe llevar la dirección destino y con cada uno los nodos de la red deciden el camino que se debe seguir. Existen muchas técnicas para realizar esta decisión, como por ejemplo comparar el retardo que sufriría en ese momento el paquete que se pretende transmitir según el enlace que se escoja. Las técnicas de encaminamiento suelen basarse en el estado de la red, que es dinámico, por lo que las decisiones tomadas respecto a los paquetes de la misma conexión pueden variar según el instante de manera que éstos pueden seguir distintas rutas. En el caso de que esto ocurra los retardos pueden variar en las distintas rutas elegidas, y por tanto los paquetes se pueden recibir en el destino en orden distinto a como fueron transmitidos. De manera que la información deberá incluir un número de secuencia del para poder ordenarla en el destino e interpretarla correctamente. La figura 4 representa este tipo de conmutación. El protocolo IP está basado en esta técnica de conmutación en modo datagrama.
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
8 Redes de Datos
C 4
3
2
1
2
1
2
2
4
3
E
A
1
Sumidero
Fuente 1
4
B
1
D 3
3
2
1
Figura 4. Conmutación de paquetes no orientada a conexión (datagrama)
1.5 Comparación de las técnicas de conmutación Vamos a comparar las distintas técnicas de conmutación en cuanto a los retardos de tránsito sufridos por la información a transmitir, es decir, el tiempo transcurrido desde que el origen decide que va a enviar una información hasta el instante en que el receptor la recoge. En cada enlace utilizado habrá que considerar siempre dos tiempos, el de transmisión y el de propagación. El primero dependerá de la cantidad de información a transmitir y de la capacidad del enlace utilizada para ello y será el número de bits transmitidos dividido por la capacidad, en bits por segundo, utilizada para la transmisión. Evidentemente si se está utilizando conmutación de circuitos esta capacidad será la reservada para esa comunicación, aunque el resto no se esté utilizando. Si se está utilizando conmutación de mensajes o paquetes la capacidad utilizada es la totalidad de la ofrecida por el enlace. De esta manera, ante una red poco cargada la conmutación de circuitos será menos eficiente en cuanto al retardo de transmisión en cada enlace, ya que se está desaprovechando la capacidad del mismo. El retardo de propagación dependerá de la velocidad de propagación de la señal en el medio y de la longitud del enlace. Como estos parámetros no dependen de la técnica de conmutación utilizada no existen diferencias entre las distintas técnicas. Si se utiliza conmutación de circuitos existe un retardo al establecer la conexión, consecuencia del intercambio de información de señalización que se lleva a cabo entre los terminales y la red y entre los nodos de conmutación, para establecer el circuito. A partir del momento en que está establecido el circuito los únicos retardos sufridos son los inevitables de transmisión y propagación por los enlaces. En redes de conmutación de mensajes y paquetes no existe este retardo de establecimiento del circuito, ya que no hay que establecerlo. Si se está utilizando conmutación de paquetes o de mensajes en cada nodo de red la información se almacena en una cola, dónde ésta espera su turno para ser procesada y Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
Redes de Datos 9 transmitida al enlace. Esto provoca retardos en cada nodo que dependerán de la longitud de los mensajes o paquetes que están delante en la cola y de la longitud del propio mensaje o paquete. Estos retardos tienen la característica de depender de la carga del sistema y por tanto son variables y difíciles de predecir y acotar. Si se utiliza conmutación de circuitos no existen colas en los nodos, por lo que no se da este problema. Por último señalar que, como ya se ha explicado, al utilizar conmutación de mensajes o paquetes se introduce información de control para el encaminamiento de los datos. Esta información debe, por supuesto, transmitirse junto a los datos, por lo que consume capacidad en los enlaces aumentando el retardo en cada enlace. Será necesario establecer la relación entre el tamaño de la información de control y el de los datos útiles para que el rendimiento de la comunicación sea óptimo y los retardos provocados no sean excesivos. La figura 5 representa los retardos sufridos por la información cuando se utilizan redes con distintas técnicas de conmutación. T1 y T2 son los terminales fuente y sumidero, A y B los nodos de conmutación que es necesario recorrer entre el origen y el destino. El eje vertical representa el tiempo. La información dibujada en color más oscuro representa información de señalización o control y la presentada en color más claro los datos útiles. Tp: Retardo de propagación en el enlace
Señalización para establecimiento de conexión
P1 Tiempo de encolado y procesado del paquete
P2
Mensaje
Tp
P1
P3
P2
P1
P3
P2
Tiempo de encolado y procesado del mensaje
Mensaje
Tiempo de asignación de enlace de salida
Tp
P3
Mensaje
DATOS
Tiempo
Tp
Circuitos
Mensajes
Paquetes
T1 A B T2
T1 A B T2
T1 A B T2
Figura 5. Retardos en la red según el tipo de conmutación
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
10 Redes de Datos 2. MODELOS DE CAPAS 2.1 Introducción La descripción del conjunto de reglas (también denominado protocolo) que gobiernan la comunicación entre dos equipos telemáticos puede ser tarea extraordinariamente compleja. Existen multitud de equipos diferentes, en cuanto al fabricante y en cuanto a la funcionalidad, y algunos de los problemas a resolver en cada escenario concreto suelen repetirse. Este hecho favoreció la aparición, hacia mediados de los 70, de distintas arquitecturas de comunicaciones. Las arquitecturas de comunicaciones son abstracciones que pretenden establecer un marco de referencia en el que desarrollar soluciones generales para problemas elementales, sin que este desarrollo tuviera que referirse a un escenario concreto. Al igual que un manual de construcción, estas arquitecturas recogen una serie de principios generales de diseño, a modo de verdades universales (“el tejado debe ser impermeable, la cimentación debe ser resistente...”). Además, especifican un modelo abstracto de un sistema que se ajuste a la arquitectura (“..además, la cimentación se hará de acuerdo con la norma...”). Al igual que el manual de construcción no se refiere a un edificio particular, el modelo de referencia no describe un sistema concreto. Como era de esperar, cada fabricante de equipos poseía su propia visión de los principios generales de diseño que podían considerarse “correctos”. Distintos fabricantes originaron diferentes arquitecturas, conocidas habitualmente por sus siglas: SNA (System Network Architecture) de IBM, DECNET (DNA, DIGITAL Network Architecture) de DEC, DSN (Distributed System Network) de Hewlett-Packard, BNA (Burroughs Network Architecture) de Burroughs, ahora Unisys, etc. Estas arquitecturas eran casi siempre incompatibles entre ellas, pero a menudo se estructuraban en niveles o capas. La división en capas no es más que una aplicación, originaria de IBM, del principio “divide y vencerás”. En efecto, son muchos los problemas a resolver para comunicar de forma efectiva equipos telemáticos: típicamente la información debe llegar ordenadamente, sin errores, sin pérdidas ni duplicados, atravesando equipos o redes intermedias por la ruta o rutas adecuadas, tratando con las distintas características de los distintos medios físicos, adaptando las velocidades a que se transfiere dicha información, y preservando además la semántica de la misma. Especificar de una sola vez un conjunto de reglas y procedimientos capaz de realizar todas esas funciones parece fuera del alcance de cualquier metodología, y el resultado sería como mínimo inflexible, ineficiente y muy complejo. La división en capas (idea mostrada en la figura 6) resuelve este problema, agrupando las tareas a realizar en conjuntos relacionados y manejables, cada uno en una capa diferente. Así, funciones relacionadas con el transporte fiable de datos pertenecen a uno de los conjuntos, mientras que funciones relativas a aspectos de conservación de la semántica pertenecen a un segundo. Cada capa resuelve una parte del problema global, liberando a las demás del conocimiento detallado de la resolución adoptada. Este enfoque es menos complejo (el problema se descompone en partes) y más flexible y eficiente (implementaciones de las capas pueden evolucionar por separado, adaptándose a la evolución de la tecnología). Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
Redes de Datos 11
Sistema Subsistema Informático
Sistema
Procesos de Aplicación (programas)
Procesos de Aplicación (programas) Capas
Soporte de Comunicaciones Red de
medio físico Comunicaciones Información
Figura 6. Comunicación de sistemas basada en modelo de capas
El número de capas varía según la arquitectura de que se trate. Su número no debe ser demasiado pequeño, de forma que cada nivel diferente de abstracción pueda corresponderse con una capa distinta, y que no haya que agrupar funciones en la misma capa sin necesidad. Tampoco debe ser demasiado grande, ya que esto complicaría innecesariamente la arquitectura. La división entre las capas se realizará teniendo en cuenta que cada una debe tener una misión bien definida, y que es conveniente minimizar el flujo de información entre distintas capas. Con estos condicionantes, el número de capas de las distintas arquitecturas oscilaba entre 5 y 8. 2.2 De los sistemas cerrados a los abiertos Todas las arquitecturas citadas hasta el momento son arquitecturas patentadas, propietarias de un fabricante de equipos concreto. Un efecto lateral que los fabricantes obtenían con la definición de una arquitectura propietaria era la aparición de un mercado cautivo, sujeto a un monopolio, o al menos oligopolio, de oferta. Una vez el usuario optaba por una arquitectura concreta, se determinaban también los proveedores para los próximos años... Como era de esperar, la situación no satisfacía por igual a usuarios, administraciones públicas y fabricantes, y de las presiones de los dos primeros surge, entre finales de los 70 y principios de los 80, una fuerte demanda de normalización de una arquitectura abierta (por oposición a las anteriores, “cerradas”). Por un lado, el Departamento de Defensa de EE.UU. financia entre 1977 y 1979 el desarrollo de un conjunto de protocolos, orientados a construir una red de datos basada en conmutación de paquetes muy robusta. Este conjunto de protocolos, que después se hacen públicos, se conoce por el nombre de los dos más populares: TPC/IP. Por otro lado, la Organización Internacional de Normalización (ISO) desarrolla entre 1979 y 1984 un modelo de referencia para la interconexión de sistemas abiertos (OSI) con el objetivo de servir de norma para el intercambio de datos, exclusivamente, entre sistemas telemáticos de distintos fabricantes. Este modelo sería adoptado más tarde por Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
12 Redes de Datos la Unión Internacional de Telecomunicaciones (ITU, antiguo CCITT). La misma ITU se inspiraría en él para definir otros modelos de referencia, no orientados exclusivamente a la comunicación de datos, como por ejemplo el de la Red Digital de Servicios Integrados (RDSI) y el de la RDSI de Banda Ancha. El éxito de los sistemas abiertos no elimina totalmente a las arquitecturas propietarias originales, y fabricantes con una decidida política orientada a sus propios productos, como en el caso de IBM, buscan simplemente proporcionar los mecanismos necesarios para que su arquitectura completa (SNA), de amplia implantación, coexista con las recién llegadas. 3. EL MODELO OSI DE LA ISO 3.1 Introducción El modelo de referencia desarrollado por ISO (ISO/IEC 7498 / ITU-X.200), cuyo nombre completo es “Modelo Arquitectural de Referencia para la Interconexión de Sistemas Abiertos” (abreviado como OSI, Open Systems Interconnection), pretende servir de marco a la interconexión de equipos de comunicación de datos, exclusivamente, de distintos fabricantes. La arquitectura adoptada se articula sobre el concepto de capa o nivel. Si bien este concepto no es original de OSI, sí lo es la definición rigurosa que de él hace. Al ser el modelo más general y más rico en conceptos, su comprensión facilita el estudio de cualquier otro modelo. Los conceptos más relevantes se representan en la figura 7.
Sistema A
Sistema B
Capa N+1
Capa N+1
usuario del servicio N
usuario del servicio N
puntos de acceso al servicio
Primitivas
Capa N
Capa N N-PDU
Entidad 1 Entidad 2
Entidad 1 Entidad 2
Figura 7. Nomenclatura y conceptos del modelo OSI
Las características globales pueden resumirse como sigue: 1. Cada sistema de comunicaciones se estructura en niveles o capas sucesivas. 2. Cada capa utiliza los servicios de comunicaciones de la capa inmediatamente inferior y ofrece servicios a la capa inmediatamente superior. Los servicios se Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
Redes de Datos 13 prestan a través de unos puntos de acceso al servicio (SAP, Service Access Point). 3. La frontera o interfaz entre cada dos niveles, que contiene a los puntos de acceso anteriores, está perfectamente delimitada en términos de primitivas, que definen totalmente el servicio utilizado. 4. Una capa se descompone en módulos especializados o entidades. 5. Para ofrecer un servicio, las entidades residentes en una capa colaboran con las entidades “pares” residentes en otros sistemas (también denominadas paritarias o gemelas). El conjunto de reglas que rigen la colaboración se denomina protocolo, que se lleva a cabo mediante el intercambio de mensajes o unidades de datos del protocolo (PDUs, Protocol Data Units). 3.2 Comunicación entre capas Como se ha citado, las entidades residentes en una capa proporcionan un determinado servicio a la capa inmediatamente superior, y ese servicio se define mediante unas primitivas. Por tanto, la comunicación entre dos capas contiguas y residentes en el mismo sistema se lleva a cabo utilizando esas primitivas. Esta comunicación suele representarse en las gráficas en vertical, existiendo sólo cuatro tipos básicos de primitivas: 1. Primitiva de Petición (Request), mediante la cual la capa usuaria solicita o invoca una función de la capa proveedora. 2. Primitiva de Indicación (Indication), utilizada por la capa proveedora para invocar a una función o notificar que una función ha sido invocada. 3. Primitiva de Respuesta (Response), utilizada por la capa usuaria para completar la función invocada mediante una primitiva de indicación previa. 4. Primitiva de Confirmación (Confirmation), mediante la cual la capa proveedora indica que una función invocada previamente ha sido completada. Cualquier tipo de servicio puede definirse combinando primitivas de esos cuatro tipos básicos, aunque no siempre es necesario utilizar las cuatro. Para poder abarcar todas las particularidades que pueden presentar distintos servicios, estas primitivas contienen, además, un conjunto de parámetros que dependerán del servicio concreto. La relación entre servicio y protocolo es inmediata, pero no siempre fácil de distinguir. Un servicio es un conjunto de primitivas que una capa ofrece a su capa superior, y por lo tanto, el servicio se ofrece en la interfaz entre dos capas adyacentes del mismo sistema. Para cada invocación de una primitiva en la interfaz entre la capa N y la N+1, se producirá un intercambio de una o varias PDUs de la capa N. Es el protocolo el que gobierna el formato y significado de esas PDUs que se intercambian entre entidades pares, es decir, del mismo nivel o capa, pero en sistemas distintos. Esto permite que los conceptos de servicio y protocolo sean ortogonales, es decir, estén “desacoplados”.
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
14 Redes de Datos 3.3 Las funciones de las capas en OSI El modelo OSI fija el número de capas en siete. Los sistemas que implementan las siete capas se consideran sistemas finales, y, en principio, tienen todos el mismo nivel jerárquico. Las funciones básicas de las capas son las que siguen: 1. Física: Permitir la transmisión y recepción de unidades básicas de información sobre canales de transmisión, liberando a la capa superior de las funciones que imponga la naturaleza particular del medio de transmisión que se utilice. 2. Enlace: Transferir información de forma fiable y sin errores sobre canales ruidosos y/o compartidos entre sistemas, incompletos o no, conectados entre sí directamente. Proporciona un enlace fiable punto a punto a las entidades de la capa de superior. 3. Red: Hacer llegar la información suministrada por la capa superior desde un origen a su destino, atravesando tanto sistemas intermedios como subredes, y escogiendo la ruta apropiada a través de ellos si fuera necesario. El servicio ofrecido puede ser orientado o no a conexión. Estas tres primeras capas ofrecen el servicio de red. Los protocolos que la implantan deberán aparecer en los nodos de la red de comunicaciones. 4. Transporte: Proporcionar una transferencia fiable y ordenada de datos entre sistemas finales, independientemente de la calidad proporcionada por la red, optimizando costes de comunicación. Junto con las tres primeras capas, forma el denominado bloque de transporte, que, a la luz de lo expuesto, se ocupa exclusivamente de aspectos relacionados con las comunicaciones. 5. Sesión: Ofrecer mecanismos para organizar y sincronizar diálogos entre entidades de aplicación. La capa de sesión permite a las aplicaciones marcar el progreso del diálogo, controlar qué sistema está en posesión del turno, informar de la ocurrencia de errores y superarlos retomando el diálogo en el punto en el que se interrumpió. 6. Presentación. Representar la información a transferir entre los dos sistemas, asegurando la compatibilidad sintáctica y permitiendo a la capa siguiente que se ocupe sólo del significado de la información (semántica). Para ello define una forma común o canónica en la que representar y manipular la información. Esta forma canónica es independiente de la implementación de los sistemas a comunicar. La información así representada constituye datos estructurados, y no una secuencia de bits que podrían ser interpretados de distinta forma en cada extremo. 7. Aplicación: Proporcionar a los usuarios (personas o programas) un conjunto de servicios de información distribuidos, asegurando la compatibilidad semántica.
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
Redes de Datos 15
APLICACION
APLICACION
PRESENTACION
PRESENTACION
SESION
SESION
TRANSPORTE
TRANSPORTE
RED
ENLACE
FISICO
sistema final
FIS.
FIS.
repetidor
RED
RED
RED
ENL.
ENL.
ENL.
ENL.
ENLACE
FIS.
FIS.
FIS.
FIS.
FISICO
puente OSI
encaminador
sistema final
sistemas intermedios
Figura 8. Modelo OSI y sistemas intermedios
No todos los sistemas abiertos deben implementar las siete capas, ya que pueden existir sistemas incompletos que actúen de intermediarios cuando no exista un mismo medio físico que una a los sistemas finales. Dependiendo de la capa en la que realizan su función estos sistemas intermedios se denominan repetidores (capa 1), puentes (bridges, capa 2) o encaminadores (routers, capa 3). Todo esto queda reflejado en la figura 8. 3.4 Comunicación entre sistemas Las entidades residentes en cada una de las capas necesitan comunicarse con las entidades pares residentes en otros sistemas. La comunicación se realiza mediante el paso de mensajes, denominados PDUs (Unidades de datos del protocolo). Tanto la información a compartir (procedente de los usuarios y programas a los que la capa de aplicación ofrece sus servicios de comunicaciones) como la información de control (que se intercambia entre las entidades pares) necesitan utilizar el mismo medio físico. Para ello, y según la información va atravesando, en sentido descendente, las distintas capas del modelo, se van añadiendo encabezamientos sucesivos que contienen esta información de control. El conjunto resultante se transmite por el canal, que en el sistema receptor seguirá el camino inverso, como se muestra en la figura 9. Cada encabezamiento será utilizado sólo por la capa receptora del mismo nivel de la arquitectura, y será eliminado después. Los encabezamientos destinados a las capas superiores son completamente ignorados, permitiendo que el funcionamiento de las distintas capas sea independiente. El utilizar la información de control de capas superiores constituye una violación del modelo, porque compromete la evolución separada de las distintas capas.
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
16 Redes de Datos
Figura 9. Comunicación entre dos sistemas basada en el modelo de capas
3.5 Evolución del modelo OSI El modelo expuesto hasta ahora sólo representa un marco en el que desarrollar unos servicios concretos soportados por unos protocolos determinados. Si bien esta definición no pertenece en rigor al modelo tras la publicación de éste ISO ha ido normalizando servicios y protocolos como normas internacionales independientes. El conjunto formado por el modelo de referencia y los protocolos y servicios que en él tienen cabida constituyen la arquitectura propiamente dicha. La evolución tecnológica ha ido obligando al modelo OSI a soportar diversos refinamientos y adaptaciones. Esta evolución no sólo afecta a protocolos y servicios, sino que a veces obliga a dividir alguna de las capas en subniveles, para dar acomodo a nuevos conceptos dentro del modelo. En un caso concreto los problemas ha resolver han sido tan importantes que han necesitado la definición de una torre paralela: es el caso de la gestión de red. Por último, con el paso del tiempo han ido proliferando protocolos y servicios (sobre todo en las capas inferiores del modelo), algunos con gran cantidad de parámetros y elementos opcionales (sobre todo los correspondientes a las capas superiores). La existencia de distintas opciones podría comprometer la interoperabilidad de distintas implementaciones, que era el objetivo inicial. Para atajar este problema se han ido estableciendo perfiles funcionales. Estos perfiles no son más que combinaciones de servicios y protocolos con todas las posibles opciones predeterminadas.
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
Redes de Datos 17 4. EL MODELO DE INTERNET 4.1 Introducción Poco antes de la aparición del modelo OSI, el departamento de defensa de EEUU inicia un proyecto encaminado a proporcionar una red de datos extraordinariamente robusta, capaz de comunicar dos puntos incluso aunque alguna de las partes de la red hubiera sido severamente dañada, siguiendo una arquitectura distribuida. Dicha red fue llamada ARPAnet, y creada en 1977-79. En 1983 se dividió en dos subredes: MILNET (fines militares) y ARPAnet (investigación). Actualmente dicha red se extiende por todo el mundo, con un crecimiento exponencial y se la conoce como Internet. Se basa en la jerarquía o pila de protocolos TCP/IP. Estos protocolos son abiertos, en el sentido de que no pertenecen a ningún fabricante en concreto. Sus especificaciones son públicas y gratuitas. El conjunto resultante no constituye un modelo de referencia propiamente dicho, ya que no existe ninguna especificación de éste, por lo que resulta más adecuado el nombre de jerarquía o familia. Como los protocolos de nivel de transporte TCP (Transport Control Protocol) y de nivel de red IP (Internet Protocol) son los más conocidos, se suele utilizar el nombre de jerarquía de protocolos TCP/IP para denominar la familia completa. 4.2 Jerarquía TCP/IP En la jerarquía TCP/IP las funciones correspondientes a las capas de sesión, presentación y aplicación de OSI se integran en una única capa, llamada de aplicación, como se aprecia en la figura 10. Esta jerarquía tiene menos niveles que el modelo OSI (5 frente a 7), con lo que se gana en sencillez aunque se obtiene un modelo menos completo.
Figura 10. Modelo de capas de Internet frente a OSI
En la jerarquía TCP/IP se pueden distinguir los siguientes niveles, mostrados en la figura 10: •
Físico o Hardware: equivalente al del modelo OSI visto anteriormente.
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
18 Redes de Datos • Subred, o de interfaz de red: nivel específico de la subred empleada (ethernet, X.25, ATM, FDDI). Acepta los datagramas IP y los transmite hacia el nivel físico desacoplando los niveles superiores del tipo de subred usada. • Interred: servicio de transferencia de datagramas entre sistemas finales. Acepta datos de la capa de transporte, los encapsula en paquetes IP, determina mediante un algoritmo de encaminamiento el equipo al que enviarlo y pasa el paquete a la interfaz de red. •
Transporte: servicios de comunicación extremo a extremo entre aplicaciones.
• Aplicación: es el nivel más alto. Los usuarios utilizan esta capa para acceder a programas o servicios de aplicación, como •
Transferencia de ficheros: FTP (File Transfer Protocol).
•
Correo electrónico: SMTP (Simple Message Transfer Protocolo).
•
Login o acceso remoto: Telnet.
•
Acceso a información mediante web: HTTP (Hiper Text Transfer Protocol)
Además es frecuente agrupar estos cinco niveles en dos grandes bloques: servicios de aplicación y servicios de red, como muestra la figura 11.
Figura 11. Bloques del modelo TCP/IP
Podemos enumerar algunas características de esta jerarquía: • Independencia de la tecnología de red subyacente (local, extensa, punto a punto...), gracias al uso de un protocolo de interred común: IP. •
Conexión universal entre dos nodos (no importa el lugar).
•
Estándares de protocolos de aplicación creados a partir de: •
Abundante software preexistente.
•
Numerosas herramientas de uso.
Dentro de los elementos conectados a una red TCP/IP distinguiremos: Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez
Redes de Datos 19 •
Sistemas finales (host), normalmente conectados a una única subred.
• Sistemas Intermedios (SI) o encaminadores (routers): interconectan dos o más redes. En la figura 12 se muestran los niveles TCP/IP, y algunos de los protocolos que se definen para esos niveles.
Figura 12. Pila de protocolos de Internet
Arquitectura de Redes Sistemas y Servicios Curso 2007/08 Isabel Román Martínez