FRC - Tema 2 Primera Parte.pdf
Document Details
Uploaded by TriumphantAsteroid
Tags
Full Transcript
Tema 2 – Modelos de redes Introducción La complejidad de las comunicaciones aconseja el empleo de modelos jerárquicos: Las tareas se dividen en diferentes capas o niveles Cada nivel resuelve un objetivo concreto Para cada nivel se emplea uno o varios p...
Tema 2 – Modelos de redes Introducción La complejidad de las comunicaciones aconseja el empleo de modelos jerárquicos: Las tareas se dividen en diferentes capas o niveles Cada nivel resuelve un objetivo concreto Para cada nivel se emplea uno o varios protocolos específicos Este modelo jerárquico se denomina arquitectura de comunicación. Para el desarrollo de redes compatibles ITU-T desarrolló la norma X.200 (Modelo OSI). En una conexión remota necesitamos 2 principios: 1. Primer principio: Cada nivel capaz de realizar dos tareas opuestas, una en cada sentido. 2. Segundo principio: Los objetos de cada nivel deben ser idénticos. Debe existir una conexión lógica. Servicios de un protocolo (X.200) Funciones: o Conjunto de tareas desempeñadas en un nivel o capa. o Por ejemplo, una función de traducción. Servicios: o Conjunto de prestaciones ofrecidas por un nivel (proveedor) a su nivel inmediatamente superior (usuario del servicio). o Se especifican formalmente por un conjunto de primitivas u operaciones. o Por ejemplos, un servicio de traducción. Primitivas: o Conjunto de estructuras de información que implementan los servicios de un nivel. Tipo de conexión: o Orientados a conexión: Establece una conexión con el nivel de destino antes de enviar ningún paquete. o No orientado a conexión: Trata cada segmento como un paquete independiente y lo envía al nivel de la máquina destino. Calidad de servicio: o Confiable: El servicio nunca pierde datos. o No confiable: No se conoce si se han perdido datos. Tipo de confirmación: o Confirmado: El que inicia la transferencia recibe una confirmación de que todo ha ido como lo esperado. o No confirmado: El que inicia la transferencia no recibe ninguna señal de que la acción solicitada haya tenido lugar. Cada nivel proporciona un servicio al nivel superior, solo hay comunicación entre niveles adyacentes, cada capa se descompone en entidades. Cada capa ofrece los servicios a la superior a través de los puntos de acceso al servicio (SAP). Las órdenes que se envían por los SAP a la capa contigua son las primitivas. Existen tres elementos claves para definir un nivel: 1. Especificación del protocolo: Dos entidades en la misma capa en sistemas diferentes cooperan e interactúan por medio del protocolo. El protocolo debe ser el mismo para ambos sistemas. 2. Definición del servicio: Además del protocolo o protocolos que operan en una capa dada, se necesitan normalizaciones para los servicios que cada capa ofrece (al nivel superior) 3. Direccionamiento: Cada capa suministra servicios a las entidades de la capa inmediatamente superior. Las entidades se identifican mediante un punto de acceso al servicio (SAP). Por ejemplo, un punto de acceso al servicio de red (NSAP, Network SAP) identifica a una entidad de transporte usuario del servicio de red. PDU (Protocol Data Unit): Es la unidad de datos intercambiada entre entidades pares en la misma capa. Contiene información de control (como números de secuencia) y datos. SDU (Service Data Unit): Es la unidad de datos que una capa inferior recibe de la capa superior. Puede necesitar fragmentarse en varias PDU para su transmisión. Para que se transfiera la SDU, la entidad de la capa n puede tener que fragmentarse en varios pedazos, a cada uno de los cuales se le da un encabezado y se envía como una PDU independiente. Los encabezados indican cuáles PDU contienen datos y cuáles contienen información de control entre otras cosas. Primitivas Petición: Emitida por el usuario del servicio de origen para invocar un servicio, especificando todo por parámetros. Indicación: Emitida por el proveedor del servicio. Respuesta: Emitida por el usuario del servicio para confirmar o completar algún procedimiento invocado previamente mediante una indicación. Confirmación: Emitida por el suministrador del servicio, para completar o confirmar algún procedimiento invocado previamente mediante una solicitud. 1. La entidad origen (N+1) invoca a su entidad (N) con una primitiva de solicitud. Asociados a esta primitiva están los parámetros necesarios, como por ejemplo, los datos que se van a transmitir y la dirección destino. Seguidamente, la entidad origen (N) prepara una PDU (N) para enviársela a su entidad par (N). 2. La entidad destino (N) entrega los datos al destino apropiado (N+1) a través de la primitiva de indicaciones, que incluye como parámetros los datos y la dirección origen. 3. Si se requiere una confirmación, la entidad destino (N+1) emite una primitiva de respuesta a su entidad (N). La entidad (N) convierte la confirmación en una PDU (N). 4. La confirmación se entrega a la entidad (N+1) a través de una primitiva de confirmación. Esta secuencia se trata de un servicio confirmado, si solo se invocasen los pasos 1 y 2, entonces sería un servicio no confirmado. Servicios orientados a conexión y sin conexión. Servicio orientado a conexión: Similar a una llamada telefónica, primero se establece un camino exclusivamente para ambos dispositivos, y una vez se cuelga la llamada el camino se libera. El canal actúa como un tubo, los bits llegan en orden al receptor. Servicio sin conexión: Se van enviando paquetes de datos, y puede que uno llegue antes que otro, por lo que, en su llegada, habría que reordenarlos si se requiere. Comunicación entre iguales en X.200 Comparándola con una llamada telefónica, sigue estas 8 primitivas de servicio: 1. CONNECT.request: Petición para establecer una conexión. Marcar el número. 2. CONNECT.indication: Envía una señal a la otra parte. El teléfono suena. 3. CONNECT.response: La usa el receptor para aceptar o rechazar llamadas. Descuelga el teléfono para aceptar. 4. CONNECT.confirm: Indica al emisor si se aceptó o no la llamada. Deja de sonar el pitido al llamar y escuchas que hay alguien en la otra línea. 5. DATA.request: Petición de envío de datos. Le invitas a tu casa 6. DATA.indication: Señal de llegada de los datos. Tu amigo escucha la invitación. 5. DATA.request: (Si requiere) Tu amigo dice que irá a tu casa. 6. DATA.indication: (En caso de repetir el paso 5). Tú escuchas que acepta. 7. DISCONNECT.request: Petición para liberar una conexión. Cuelgas el teléfono. 8. DISCONNECT.indication. Indica al par la petición. Tu amigo escucha que has colgado y cuelga él también. Diagrama de tiempo Modelo OSI Los niveles 1, 2 y 3 (físico, enlace y red) son los niveles de soporte de red, tienen que ver con los aspectos físicos de la transmisión de los datos de un dispositivo a otro. Los niveles 5, 6 y 7 (sesión, presentación y aplicación) proporcionan servicios de soporte de usuario. Permiten la interoperabilidad entre sistemas software no relacionados. El nivel 4, nivel de transporte, asegura la transmisión fiable de datos de extremo a extremo, mientras que el nivel 2 asegura la transmisión fiable de datos en un único enlace. Los niveles superiores de OSI se implementan casi siempre en software, los niveles inferiores una mezcla y el nivel físico es principalmente hardware. En la siguiente figura L7 data, representa a las unidades de datos del nivel L6 data a los datos del nivel 6 y así sucesivamente. El proceso empieza en el nivel 7, y se va moviendo hacia los niveles inferiores, en cada nivel exceptuando los niveles 7 y 1, se añade una cabecera (header) a la unidad de datos. En el nivel 2, se añade también una cola. Cuando las unidades de datos formateadas pasan a través del nivel físico (nivel 1) se transforman en señales electromagnéticas y se transporta por el enlace físico. Cuando la señal llega al receptor, pasa a su nivel 1 y se transforma de nuevo en bits. Estos datos van ascendiendo a través de los niveles OSI. A medida que cada bloque de dato alcanza el nivel superior siguiente, las cabeceras y las colas asociadas al mismo en los correspondientes niveles emisores se eliminan y se efectúan las acciones apropiadas de ese nivel. Para cuando los datos alcanzan el nivel 7, el mensaje está otra vez en un formato apropiado para la aplicación y se puede poner a disposición del receptor. Los criterios de ISO para definir la OSI fueron: Se debe crear una capa siempre que se necesite un nivel diferente de abstracción. Cada capa debe realizar una función bien definida. La función de cada capa se debe elegir pensando en la definición de protocolos estandarizados internacionalmente. Los límites de las capas deben elegirse a modo de minimizar el flujo de información a través de las interfaces. La cantidad de capas debe ser suficiente para no tener que agrupar funciones distintas en la misma capa, y lo bastante pequeña para que la arquitectura no se vuelva inmanejable. Nivel físico Define las características de la interfaz entre los dispositivos y el medio de transmisión. Tasa de datos: Define la tasa de transmisión (bits por segundo), es decir define la duración de un bit (el tiempo que dura). Sincronización de los bits: El emisor y el receptor deben estar sincronizados a nivel de bit. En otras palabras, los relojes del emisor y el receptor deben estar sincronizados. Topología física y configuración del enlace: La topología define cómo están conectados los dispositivos para formar una red (malla, anillo, bus, etc.) y la configuración de enlace define el tipo de conexión de dispositivos al medio (punto-punto, multipunto). Modo de transmisión: define la dirección de la transmisión entre dos dispositivos (simplex, half-dúplex o full-dúplex). Nivel de enlace El nivel de enlace transforma el nivel físico, un simple medio de transmisión, en un enlace fiable, entre otras cosas. Sus responsabilidades son: Segmentación de tramas: Divide el flujo de bits recibidos del nivel de red en unidades de datos manejables denominadas tramas. Control de errores: Añade fiabilidad al nivel físico al incluir mecanismos para detectar y retransmitir las tramas defectuosas o perdidas. También sirve para prevenir la duplicación de tramas. Este control normalmente viene en una cola que se añade al final de la trama. Control de flujo: En caso de que el receptor reciba los datos a menor velocidad que la velocidad de transmisión del emisor, se impone un mecanismo de control de flujo para prevenir el desbordamiento del receptor. Control de acceso: Permite determinar qué dispositivo tiene el control del enlace. Direccionamiento físico: Si es necesario distribuir las tramas por distintos sistemas de la red, el nivel de enlace de datos añade una cabecera a la trama para definir la dirección física del emisor y/o receptor de la trama. Nivel de red Es responsable de la entrega de un paquete desde el origen al destino y, posiblemente, a través de múltiples redes. Mientras que el nivel de enlace de datos supervisa la entrega del paquete entre dos sistemas de la misma red, el nivel de red asegura que cada paquete va del origen al destino, sean estos cuales sean. Enrutamiento: Encamina paquetes entre diferentes redes asegurando que cada paquete va del origen al destino. Direccionamiento lógico: Si un paquete cruza la frontera de la red, es necesario tener otro tipo de direcciones para distinguir los sistemas origen de los del destino. Se añade una cabecera al paquete que viene del nivel superior que, entre otras cosas, incluye las direcciones lógicas del emisor y el receptor. La siguiente imagen representa una red en anillo conectada con 2 redes tipo bus, en el anillo hay 2 estaciones conectados directamente en él, G y H, con dirección 45 y 71 respectivamente, del anillo salen 2 routers o switch y cada uno de ellos conecta el anillo con una red tipo bus, en ambos buses hay conectados dos estaciones más, A (10) y E (87) por un lado, P (95) y M (77) por otro. Cada router tiene asociado dos puertos de entrada, equivale a dos direcciones, en uno de ellos tenemos las estaciones T y F, con las direcciones 20 y 99 respectivamente, y en el otro tenemos las estaciones N y Z, con las direcciones 33 y 66 respectivamente. En la imagen se representa el establecimiento de una conexión entre la estación A y la P. Las estaciones se conectan con la siguiente estación hasta llegar a su destino, los campos son: T2| Datos | Estación origen | Estación destino| Dirección de origen | Dirección destino Nivel de transporte El nivel de transporte es responsable de la entrega origen a destino (extremo a extremo) de todo el mensaje. Mientras que el nivel de red supervisa la entrega extremo a extremo de paquetes individuales, no reconoce ninguna relación entre estos paquetes. Además, el nivel de transporte asegura que el mensaje llega intacto, y en orden, supervisando tanto el control de errores como el control de flujo a nivel origen a destino. Segmentación de paquetes: Un mensaje se divide en segmentos transmisibles, cada uno de los cuales contiene un número de secuencia. Así en su llegada el mensaje se puede reensamblar (en este mismo nivel del otro sistema). Control de conexión: Puede ser orientado a conexión o no orientado a conexión. o Orientado a conexión: Se establece una conexión con el nivel de transporte antes de enviar ningún paquete. La conexión se corta tras haber transferido todos los paquetes. o No orientado a conexión: Trata cada segmento como un paquete independiente y lo pasa al nivel de transporte de la máquina destino. Dirección de puerto: Permite la ejecución de varios programas al mismo tiempo. Control de flujo extremo-a-extremo: Es responsable del control de flujo extremo a extremo y no sólo en un único enlace como pasa en el nivel de enlace. Control de errores: Se realiza un control de errores extremo a extremo y no en un único enlace (como pasa en el nivel de enlace) y se piden retransmisiones en caso de errores (daños, pérdidas o duplicaciones). Nivel de sesión Establece, mantiene y sincroniza la interacción entre sistemas de comunicación, este nivel es el controlador de diálogo de la red. Algunas responsabilidades específicas de sesión son las siguientes: Control de diálogo: Permite definir la comunicación en modo full-dúplex o half-dúplex (Niveles superiores no dependiente del nivel físico). Puntos de sincronización: Añade checkpoints para recuperar la comunicación en caso de desconexión o fallo, por ejemplo, si se quiere trasmitir 500 páginas de un libro, lo que se puede hacer es añadir un checkpoint cada 50 páginas, de esta forma si hay un error de transmisión en la página 476, entonces se vuelven a transmitir la información desde la página 450, de esta forma no hay que enviar las páginas 1 a 450 nuevamente. Nivel de presentación Esta relacionado con la sintaxis y la semántica de la información intercambiada entre dos sistemas. Traducción: Permite la traducción de los sistemas de codificación para mantenerla interoperabilidad. Es decir, los sistemas intercambian información en forma de cadenas de caracteres, número, etc. Esta información debe pasar a bit antes de transmitirse. En el emisor, el nivel de presentación convierte la información del formato específico del emisor a un formato común. En la máquina receptora, el nivel de presentación convierte el formato común al formato específico del receptor. Cifrado: Permite transportar información sensible asegurando la privacidad. El cifrado implica que el emisor transforma la información original a otro formato y envía este mensaje cifrado por la red. En el otro lado el receptor lo descifra y lo convierte a su formato original. Compresión: Reduce el número de bits a transmitir. Nivel de aplicación Permite a los usuarios, tanto humanos como software, acceder a la red y proporciona interfaces y soporte para servicios como correo electrónico, transferencia de archivos, y gestión de datos compartidos. La figura anterior muestra 3 aplicaciones de servicios de las muchas disponibles. 1. X.400: Servicio de gestión de mensajes. 2. X.500: Servicio de directorios. 3. FTAM: Transferencia, acceso y gestión de archivos. Algunos de los servicios específicos provistos por el nivel de aplicación incluyen: Interfaz de usuario. Aplicaciones de usuario. WWW, FTP, Telnet, SSH, etc. Encapsulación OSI Cabeceras OSI