Modelo TCP/IP y OSI 2015-2016 (PDF)
Document Details
Uploaded by JesusDR89
null
2015
Pablo Arellano
Tags
Summary
This document is a study guide about TCP/IP and OSI models, likely part of a training program for technical assistants. It covers the basics, transmission processes, and layers of network models. It might be a previous year's material or practice exams, but it's not a past exam paper in the true sense of the word as there are no actual exam paper format questions.
Full Transcript
2015-2016 Bloque 4 - Tema 7 EL MODELO TCP/IP Y EL MODELO DE REFERENCIA DE INTERCONEXIÓN DE SISTEMAS ABIERTOS (OSI) DE ISO. PROTOCOLOS TCP/IP PREPARACIÓN OPOSICIONES TÉCNICOS AUXILIARES DE INFORMÁTICA B4T7 MODELO TCP/IP Y OSI...
2015-2016 Bloque 4 - Tema 7 EL MODELO TCP/IP Y EL MODELO DE REFERENCIA DE INTERCONEXIÓN DE SISTEMAS ABIERTOS (OSI) DE ISO. PROTOCOLOS TCP/IP PREPARACIÓN OPOSICIONES TÉCNICOS AUXILIARES DE INFORMÁTICA B4T7 MODELO TCP/IP Y OSI TAI ÍNDICE ÍNDICE............................................................................................................................................................ 2 1. INTRODUCCIÓN......................................................................................................................................... 3 2. EL MODELO OSI......................................................................................................................................... 4 1. Conceptos básicos................................................................................................................................ 4 2. Transmisión de datos........................................................................................................................... 5 3. Capas del modelo................................................................................................................................. 9 3. EL MODELO TCP/IP.................................................................................................................................. 18 4. PROTOCOLO PRINCIPAL DEL NIVEL DE RED: PROTOCOLO IP................................................................... 21 1. Cabecera IPv4..................................................................................................................................... 22 2. Direccionamiento IP........................................................................................................................... 24 3. Enrutamiento..................................................................................................................................... 39 4. Protocolo IPv6.................................................................................................................................... 39 5. OTROS PROTOCOLOS DEL NIVEL DE RED................................................................................................. 48 1. Protocolo ICMP................................................................................................................................... 48 2. Protocolo IGMP.................................................................................................................................. 51 3. Protocolo ARP..................................................................................................................................... 51 4. Protocolo RARP.................................................................................................................................. 52 5. Protocolo BOOTP................................................................................................................................ 52 6. Protocolo DHCP.................................................................................................................................. 53 6. PROTOCOLOS DEL NIVEL DE TRANSPORTE.............................................................................................. 55 1. Protocolo TCP..................................................................................................................................... 55 2. Protocolo UDP.................................................................................................................................... 62 3. Números de puerto............................................................................................................................ 63 PABLO ARELLANO www.theglobeformacion.com Página 2 B4T7 MODELO TCP/IP Y OSI TAI 1. INTRODUCCIÓN En los inicios de la informática y de las telecomunicaciones el diseño de un ordenador o de una red era algo tan complejo que no se tomaba en consideración la compatibilidad con otros modelos de ordenadores o de redes. Las redes y los protocolos se diseñaban pensando en el hardware a utilizar en cada momento, sin tener en cuenta la evolución previsible, ni por supuesto la interconexión y compatibilidad con equipos de otros fabricantes. A medida que la tecnología avanzaba y se mejoraba la red, los programas de comunicaciones tenían que ser reescritos para utilizarlos con el nuevo hardware. Para resolver este problema cada fabricante elaboró su propia arquitectura de red, que permitía independizar las funciones y el software del hardware concreto utilizado. Sin embargo, no es posible la interconexión de sistemas heterogéneos (máquinas de distintos fabricantes), restringiéndose en gran medida las posibilidades de las redes de computadores. Es por tanto necesario conseguir sistemas abiertos (aquellos diseñados y desarrollados siguiendo normas comunes e independientes de los fabricantes) para garantizar la interoperabilidad entre sistemas. Tanto el modelo OSI como el modelo TCP/IP permiten la interconexión de sistemas abiertos y además se basan en el concepto de agrupación de protocolos en capas. Así los protocolos de las capas inferiores realizan tareas que proporcionan servicios a las capas superiores. La siguiente figura muestra las 7 capas de la pila de protocolos OSI, así como varios protocolos y elementos que operan en cada capa: PABLO ARELLANO www.theglobeformacion.com Página 3 B4T7 MODELO TCP/IP Y OSI TAI 2. EL MODELO OSI En 1977, la Organización Internacional de Estándares (ISO), integrada por industrias representativas del sector, creó un subcomité para desarrollar estándares de comunicación de datos que promovieran la interoperabilidad entre productos de diferentes fabricantes. El resultado de estos esfuerzos es el Modelo de Referencia Interconexión de Sistemas Abiertos (OSI). El modelo de interconexión de sistemas abiertos (OSI) es un modelo conceptual (abstracto) desarrollado y estandarizado por la ISO mediante la norma ISO/IEC 7498-1. Buscaba una referencia independiente de los fabricantes de productos para que estos pudieran interoperar. Las características de este modelo son: - Establece un modelo de referencia para la interconexión de sistemas informáticos abiertos, es decir, sistemas que están abiertos a la comunicación con otros sistemas. - Representa el primer paso hacia la estandarización internacional de los protocolos que se usan en las diversas capas. - Presenta los sistemas de información como una pila de siete capas o niveles jerárquicos. - No es una arquitectura de red en sí, ya que no especifica los servicios y protocolos exactos que se han de usar en cada capa, sino que sólo dice lo que debe hacer cada capa. - Es un protocolo orientado a la conexión. 1. Conceptos básicos - Protocolo: conjunto de reglas perfectamente organizadas y convenidas de mutuo acuerdo entre los participantes en una comunicación. - Capa: abstracción mediante la cual se reparten e independizan las diferentes funciones relativas a la comunicación realizadas por un sistema en niveles. - Servicio: capacidad de comportamiento de una capa. Las capas, para facilitar la comunicación, prestan servicios a las entidades que se encuentran en el nivel superior (N+1) y utilizan los servicios de la capa que se encuentra debajo (N-1). - Interfaz: conjunto de reglas e información requerida para invocar un determinado servicio, es decir, son las normas de intercomunicación entre capas adyacentes. - Primitiva de servicio: cada una de las funciones realizadas por los servicios en la interacción entre capas, que sirven para solicitar servicios, devolver resultados, confirmar las peticiones, etc. PABLO ARELLANO www.theglobeformacion.com Página 4 B4T7 MODELO TCP/IP Y OSI TAI 2. Transmisión de datos Cada nivel del modelo OSI implementa un conjunto de funciones, denominados entidades y así ofrecer ciertos servicios a los niveles superiores. A las entidades de un mismo nivel, pero en diferentes sistemas, se les denomina entidades pares. Las entidades pares de un determinado nivel N interactúan y conversan entre sí. A las reglas y convenciones utilizadas en esta conversación se les conoce como protocolo de nivel N. La transferencia de datos entre entidades pares no se realiza de forma directa, sino que necesita los servicios de todas las capas que se encuentran por debajo de ella en la jerarquía de capas, pasándose la información hacia abajo hasta llegar al nivel físico, donde se transmiten a la máquina receptora. En este esquema distinguimos dos comunicaciones: - Comunicación VERTICAL: se produce entre las capas de un mismo equipo. Es una comunicación física (real) dentro de un único equipo. Un punto de acceso al servicio o SAP (Service Access Point) de nivel N define los servicios y operaciones primitivas ofrecidas a las entidades del nivel N+1. - Comunicación HORIZONTAL: se da entre entidades pares de equipos diferentes de un mismo nivel (nivel N de A con nivel N de B). Es una comunicación lógica entre equipos distintos. Al conjunto de datos intercambiados más la cabecera del protocolo de esta capa se denomina PDU (Protocol Data Unit). PABLO ARELLANO www.theglobeformacion.com Página 5 B4T7 MODELO TCP/IP Y OSI TAI Cuando un proceso de un sistema A desea enviar información a un proceso de un sistema B, el emisor entrega los datos al nivel superior (nivel de aplicación). Ésta es la información que se pasará a través del medio físico a la entidad par del sistema B para que lo entregue al proceso destinatario. A esta unidad de información se le denomina SDU (Service Data Unidad) o unidad de datos del servicio de nivel N (en este ejemplo, nivel 7 o nivel de aplicación). El nivel de aplicación añade a la SDU una cabecera de información de control, que será interpretada por la entidad par en el sistema B. A la SDU más la cabecera se le conoce como PDU. Una vez construida la PDU del nivel 7, ésta se pasará al nivel 6 a través de la interfaz habilitada mediante le SAP. De esta manera el nivel superior añade a la SDU una cabecera con información de control de la interfaz llamada ICI (Interface Control Information). A la SDU con la cabecera ICI se le denomina IDU (Interface Data Unit). PDU(n) = cabecera + datos (protocolo de nivel n) SDU(n) = datos + cabecera del nivel n+1 que recibe el servicio del nivel n para su procesamiento. Lógicamente: SDU (n-1) = PDU (n) ICI (n) = información adicional al SDU (n) que la capa n+1 añade al invocar el servicio IDU (n) = ICI (n-1) + SDU (n-1) Cada capa utiliza el encapsulamiento para colocar la PDU de la capa superior en su campo de datos y agregar cualquier encabezado e información final que la capa necesite para realizar su función. De esta forma, a medida que los datos se desplazan hacia abajo a través de las capas del modelo OSI, el tamaño del mensaje va creciendo. A nivel 3, la PDU se llama paquete e incluye las direcciones lógicas origen y destino. A nivel 2, la trama incluye las direcciones físicas. Y, finalmente, la capa física codifica los datos de la trama de enlace de datos en un patrón de unos y ceros para su transmisión a través del medio. En la máquina receptora se realiza el proceso inverso, retirando los distintos encabezados, uno por uno, conforme el mensaje se propaga hacia arriba por las capas. PABLO ARELLANO www.theglobeformacion.com Página 6 B4T7 MODELO TCP/IP Y OSI TAI Las entidades pares residentes en el nivel N+1 se comunican entre sí a través del nivel N, mediante el uso de primitivas de servicio. Sin embargo, existe una comunicación lógica horizontal entre entidades pares. Las reglas que regulan esta comunicación vienen reflejadas en el protocolo de pares. Por lo tanto, en la especificación de cada capa existen dos documentos: PABLO ARELLANO www.theglobeformacion.com Página 7 B4T7 MODELO TCP/IP Y OSI TAI - Especificación del servicio, que informa sobre las primitivas existentes. En la descripción de las primitivas se dice cuántos parámetros puede o debe haber y qué información contienen. Existen cuatro tipos de primitivas: o De petición (REQUEST). Empleada para invocar un servicio y pasarle los parámetros necesarios para su ejecución. o De indicación (INDICATION). Usada para indicar que un procedimiento ha sido invocado por el usuario par del servicio en la conexión y pasar los parámetros asociados o para indicar al usuario del servicio el inicio de una acción por parte del proveedor. o De respuesta (RESPONSE). Empleada por el usuario del servicio para reconocer o completar algún procedimiento previamente iniciado por una indicación del proveedor. o De confirmación (CONFIRM). Usada por el proveedor del servicio para reconocer o completar algún procedimiento previamente iniciado por una petición del usuario. Los servicios pueden ser confirmados o no: o Un servicio confirmado utiliza estas 4 primitivas. o Un servicio no confirmado utiliza las primitivas Request e Indication. El establecimiento de una conexión siempre es un servicio confirmado, mientras que la transferencia de datos puede ser sin confirmar o no. - Especificación del protocolo, que describe las PDUs (Protocol Data Units) y las reglas que determinan su intercambio entre unidades pares. Existen dos clases de PDUs. o De datos, que contiene los datos del usuario final (en el caso de la capa de aplicación) o la PDU del nivel inmediatamente superior. o De control, que sirven para gobernar el comportamiento completo del protocolo en sus funciones de establecimiento y ruptura de la conexión, control de flujo, control de errores, etc. No contienen información alguna proveniente del nivel N+1. PABLO ARELLANO www.theglobeformacion.com Página 8 B4T7 MODELO TCP/IP Y OSI TAI 3. Capas del modelo Como se ha comentado anteriormente, el modelo de referencia OSI se dividió en siete niveles o capas, para poder simplificar la implementación de la arquitectura necesaria. Las características generales de las capas son las siguientes: - Las capas poseen una estructura jerárquica. - Cada capa desempeña funciones bien definidas. - A cada nivel se le asigna un nombre que trata de describir las funciones que realiza. - Los cambios en una capa son transparentes al resto de niveles. - Los servicios proporcionados por cada nivel son utilizados por el nivel superior. - Existe una comunicación virtual entre dos mismas capas, de manera horizontal. - Existe una comunicación vertical entre una capa de nivel N y las capas de nivel N-1 y N+1. - La comunicación física se lleva a cabo entre las capas de nivel 1. El modelo OSI tiene 7 capas o niveles: 7 Aplicación 6 Presentación 5 Sesión 4 Transporte 3 Red 2 Enlace de datos 1 Física Las capas definidas están divididas en dos grupos principales: - Capas superiores: definen como deben comunicarse las aplicaciones entre sí y con los usuarios. Involucra a las capas 5, 6 y 7. - Capas inferiores: definen como deben ser transmitidos los datos extremo a extremo. Se corresponde con las capas 1, 2, 3 y 4. PABLO ARELLANO www.theglobeformacion.com Página 9 B4T7 MODELO TCP/IP Y OSI TAI Capa FÍSICA (nivel 1) La capa física está relacionada con la TRANSMISIÓN DE BITS por un canal de comunicación, de forma que sólo reconoce bits individuales, sin estructura alguna. Es decir, la PDU de nivel físico se corresponde con un bit o, dicho de otro modo, cada bit se considera una unidad de datos. Las consideraciones de diseño tienen que ver con las interfaces mecánica, eléctrica y de procedimiento, así como con el medio de transmisión que está bajo la capa física, asegurando que cuando un lado envíe un bit "1", se reciba en el otro extremo como bit "1", no como bit "0". La capa física proporciona sus servicios a la capa de enlace de datos. Sus principales funciones son: - Definición de características materiales (componentes y conectores mecánicos) y eléctricas (niveles de tensión, tipo de señal) que se van a utilizar en la transmisión de los datos por el medio físico. - Definición de las características funcionales de la interfaz en cuanto a establecimiento, mantenimiento y liberación del enlace físico. - Definición de reglas de procedimiento, es decir, la secuencia de eventos para transmitir. PABLO ARELLANO www.theglobeformacion.com Página 10 B4T7 MODELO TCP/IP Y OSI TAI - Transmisión de flujos de bits a través del medio. - Manejo de voltajes y pulsos eléctricos para representar 1 (unos) o 0 (ceros). - Especificación de cables, polos en un enchufe, componentes de interfaz con el medio, etc. - Especificación del medio físico de transmisión (coaxial, fibra óptica, par trenzado, etc.) - Garantía de conexión física, pero no fiabilidad de la misma. Es decir, no se realiza ningún control de errores en este nivel. Eso corresponde al nivel superior. Capa de ENLACE DE DATOS (nivel 2) Puesto que la capa física sólo acepta y transmite una corriente de bits sin preocuparse por su significado o estructura, corresponde al nivel de enlace tomar el medio de transmisión en bruto y transformarlo en una línea que parezca LIBRE DE ERRORES a los ojos de la capa de red. La capa de enlace de datos puede ofrecer a la capa de red varias clases de servicio con diferentes calidades. Algunas de las funciones más importantes de la capa de enlace son: - Establecimiento de medios necesarios para la comunicación fiable y eficiente entre dos máquinas en red. - Estructuración de los datos en un formato predefinido, denominado trama, que suele ser de unos cientos de bytes, añadiendo una secuencia especial de bits al principio y al final de la misma. - Sincronización en el envío de tramas. - Detección y control de errores provenientes del medio físico mediante el uso de bits de paridad, CRC (Códigos Cíclicos Redundantes) y envío de acuses de recibo por parte del receptor que debe procesar el emisor. - Utilización de número de secuencia en las tramas para evitar pérdidas y duplicidades. - Utilización de la técnica de "piggybacking", envío de acuses de recibo dentro de tramas de datos. - Resolución de los problemas provocados por las tramas dañadas, perdidas o duplicadas. - Control de la congestión de la red. - Mecanismos de regulación de tráfico o control de flujo, para evitar que un transmisor veloz sature de datos a un receptor lento. - Control del acceso al canal compartido en las redes de difusión. Capa de RED (nivel 3) La capa de red es una capa compleja que ofrece sus servicios a la capa de transporte. Responsable de la conmutación y enrutamiento de la información, sus funciones se pueden resumir de la siguiente forma: PABLO ARELLANO www.theglobeformacion.com Página 11 B4T7 MODELO TCP/IP Y OSI TAI - Conocimiento de la topología de la red, es decir, de la forma en que están interconectados los nodos, con objeto de determinar la mejor ruta para la comunicación entre máquinas que pueden estar ubicadas en redes geográficamente distintas. - División de los mensajes de la capa de transporte en unidades más complejas, llamadas paquetes (NPDUs), y asignación de direcciones lógicas a los mismos. - Ensamblado de paquetes en el host destino. - Establecimiento, mantenimiento y liberación de las conexiones de red entre sistemas. - Determinación del ENCAMINAMIENTO de los paquetes de la fuente al destino a través de dispositivos intermedios (routers). o Las rutas se pueden basar en tablas estáticas. o Las rutas se pueden determinar al inicio de cada conversación. o Las rutas pueden ser dinámicas, determinándose con cada paquete en función de la carga de la red. - Envío de paquetes de nodo a nodo usando un circuito virtual (orientado a la conexión) o datagramas (no orientado a la conexión). - Control de la congestión. - Control de flujo. - Control de errores. - Reencaminamiento de paquetes en caso de caída de un enlace. - Con frecuencia, funciones de contabilidad, para determinar cuántos paquetes, caracteres o bits envía cada cliente y producir información de facturación. Esta capa sólo es necesaria en las redes de conmutación o redes interconectadas. En redes punto a punto o de difusión existe un canal directo entre los dos equipos, por lo que el nivel 2 proporciona directamente conexión fiable entre los dos equipos. Capa de TRANSPORTE (nivel 4) Se trata de una verdadera capa EXTREMO A EXTREMO, del origen al destino. La comunicación en los niveles inferiores es entre máquinas adyacentes. La capa de transporte proporciona sus servicios a la capa de sesión, efectuando la transferencia de datos transparente entre dos entidades de sesión. El nivel 4 tiene la interfaz más sencilla de todo el modelo OSI, es el que tiene menos primitivas. No tiene primitivas de confirmación, pues se considera a todos los efectos que es un nivel fiable. Su función más importante es la aceptación de datos de la capa de sesión, división en unidades más pequeñas, si es preciso, denominadas segmentos, y envío de esta información a la capa de red, asegurando que todos los pedazos lleguen correctamente al otro extremo de forma eficiente, donde son reensamblados. PABLO ARELLANO www.theglobeformacion.com Página 12 B4T7 MODELO TCP/IP Y OSI TAI Otras funcionalidades son: - Establecimiento, mantenimiento y terminación adecuados de los circuitos virtuales (conexiones que se establecen dentro de una red). Cuando se inicia la conexión se determina una ruta de la fuente al destino, ruta que es usada para todo el tráfico de datos posterior. - Determinación, en el momento del establecimiento de la sesión, del tipo de clase de servicio de transporte que se proporcionará a la capa de sesión: o Canal punto a punto libre de errores, que entrega los mensajes o bytes en el orden en que se envían. o Mensajes aislados sin garantía respecto al orden de entrega. o Difusión de mensajes a múltiples destinos. - Control de flujo, que desempeña un papel clave en esta capa. El control de flujo entre nodos es distinto del control de flujo entre enrutadores, que tiene lugar en la capa de red. Los datos pueden ser normales o urgentes. Estos últimos se saltan los mecanismos de control de flujo. - Detección y recuperación de errores de transporte. - Control de la congestión. - Numeración de los segmentos para prevenir pérdidas y doble procesamiento de transmisiones. - Garantía de recepción de todos los datos y en el orden adecuado, sin pérdidas ni duplicados. - Asignación de una dirección única de transporte a cada usuario. - Aislamiento a las capas superiores de los cambios inevitables de la tecnología del hardware. - Contabilidad a través de la red. Lo normal es que la capa de nivel 4 cree una conexión de red distinta para cada conexión de transporte que requiera la capa de sesión. Sin embargo, es posible crear múltiples conexiones de red, dividiendo los datos entre ellas para aumentar el volumen, si se requiere un volumen de transmisión alto. De igual forma, si resulta costoso mantener una conexión de red, el nivel 4 puede multiplexar varias conexiones de transporte en la misma conexión de red para reducir el coste. En la cabecera que añade este nivel se envía la información que identifica a qué conexión pertenece cada mensaje. En cualquier caso, la capa de transporte debe hacer esto de forma transparente a la capa de sesión. Capa de SESIÓN (nivel 5) Esta capa proporciona sus servicios a la capa de presentación, facilitando el medio necesario para que las entidades de presentación de dos máquinas diferentes organicen y sincronicen su diálogo y procedan al intercambio de datos, mediante el establecimiento de sesiones. PABLO ARELLANO www.theglobeformacion.com Página 13 B4T7 MODELO TCP/IP Y OSI TAI Por tanto, la función principal de la capa de sesión es el establecimiento, administración y finalización ordenada de sesiones entre dos máquinas. Una sesión permite el transporte ordinario de datos, como efectuar un login a un sistema remoto o transferir un archivo entre dos nodos, pero también proporciona servicios mejorados, útiles en algunas aplicaciones, como los que se detallan a continuación: - Manejo del CONTROL DEL DIÁLOGO (quién habla, cuándo, cuánto tiempo, half duplex o full duplex). Las sesiones pueden permitir que el tráfico vaya en una única dirección, comunicaciones bidireccionales alternadas (half duplex), o en ambas direcciones al mismo tiempo, comunicaciones bidireccionales simultáneas (full duplex). En las comunicaciones half duplex, la capa de sesión ayuda a llevar el control de los turnos, mediante el manejo de fichas, también llamadas testigos o token. Sólo el lado que posea la ficha puede efectuar la operación. - SINCRONIZACIÓN del diálogo, mediante la inserción de puntos de verificación en la corriente de datos (APDU), de modo que si se produce una interrupción sólo es necesario repetir la transferencia de los datos después del último punto de verificación. La decisión de dónde colocar los puntos de sincronización es competencia directa del nivel de aplicación. Los puntos de sincronización pueden ser de dos tipos: o Mayor. Necesita confirmación del otro extremo para seguir con la transferencia del siguiente bloque. o Menor. Se intercalan entre dos puntos de sincronización mayores. No necesitan confirmación. Al confirmarse un punto de sincronización mayor, se dan por confirmados los puntos menores intermedios. El bloque entre el primero y el último punto de sincronización mayor se llama actividad. Cuando se establece una conexión de sesión, automáticamente se abre una actividad, para poder trabajar. Sólo un tipo de datos concreto puede enviarse fuera de una actividad, los datos de capacidades (CD), que son datos de control. Las actividades se dividen en unidades de diálogo, que es el contenido entre dos puntos de sincronización mayor consecutivos. En la siguiente figura pueden verse gráficamente estos conceptos. En esta capa la referencia a los dispositivos es por nombre y no por dirección. Además, es aquí donde se definen las APIs. El protocolo del nivel de sesión es orientado a la aplicación, ya que sus funcionalidades se adaptan a las necesidades de la aplicación. Las unidades de datos del nivel de sesión, SPDUs, que regulan el diálogo, fluyen horizontalmente a través del nivel 5, pero son puestas en circulación por iniciativa de los correspondientes procesos de aplicación que residen a nivel 7. Es decir, la capa de sesión no es un nivel autónomo que tenga capacidad para tomar decisiones sobre quién habla y quién escucha. Estas decisiones se reservan para las entidades de la capa de aplicación. El nivel 5 sólo proporciona los mecanismos para que las entidades de aplicación puedan regular el diálogo entre sí. PABLO ARELLANO www.theglobeformacion.com Página 14 B4T7 MODELO TCP/IP Y OSI TAI En el párrafo anterior se habla como si la capa de aplicación residiera directamente encima de la de sesión. Esto no es así. Como ya se ha indicado antes, la capa de sesión ofrece sus servicios a la capa de presentación. Lo que ocurre es que el protocolo de nivel 6 no es un protocolo "normal". De hecho, la mayor parte de las primitivas que comunican la capa de presentación con el nivel 7 son traslación exacta de las correspondientes primitivas entre el nivel 6 y la capa de sesión. Capa de PRESENTACIÓN (nivel 6) A diferencia de las capas inferiores, las explicadas hasta ahora, que se ocupan sólo del movimiento fiable de bits de un lado a otro, la capa de presentación se encarga de la sintaxis y la semántica de la información que se transmite. Además, aísla a dichas capas inferiores del formato de los datos de las aplicaciones específicas. Las estructuras de datos a intercambiar se deben definir de forma abstracta, mediante la codificación de estos datos de una manera estándar acordada, haciendo posible así la comunicación entre computadoras con representaciones locales diferentes. La capa de presentación maneja estas estructuras de datos abstractas y las convierte de la representación de la computadora a la representación estándar de la red y viceversa. Además de esta funcionalidad, la capa de presentación ofrece a la de aplicación los servicios de: - Garantía de que la información que envía la capa de aplicación de un sistema pueda ser entendida y utilizada por la capa de aplicación de otro sistema. - Acuerdo y negociación de la sintaxis de transferencia en la fase de establecimiento de la conexión. La sintaxis elegida puede ser cambiada durante el tiempo que dure la conexión. o Definición del código a utilizar para representar una cadena de caracteres (ASCII, EBCDIC, etc.) o Interpretación de formatos de números... - COMPRESIÓN de los datos, si es necesario. - Aplicación de procesos CRIPTOGRÁFICOS, si así se requiere. Es el nivel clave para el sistema de seguridad del modelo OSI. - Formateo de la información para su visualización o impresión. Capa de APLICACIÓN (nivel 7) Es la capa del modelo OSI más cercana al usuario. Difiere de las demás capas en que no proporciona servicios a ninguna otra capa OSI, sino a aplicaciones que se encuentran fuera del modelo. Todas las capas anteriores sirven de mera infraestructura de telecomunicaciones, es decir, mantienen en buen estado el camino para que fluyan los datos. Las aplicaciones más importantes que hacen uso de esta capa, para que los procesos de las aplicaciones accedan al entorno OSI son, entre otras: - Correo electrónico. Primera aplicación que se normalizó en OSI. PABLO ARELLANO www.theglobeformacion.com Página 15 B4T7 MODELO TCP/IP Y OSI TAI - Terminal virtual de red abstracta, que diferentes editores y programas puedan manejar. - Transferencia de archivos. - Servicios de directorio. - Acceso a bases de datos. - Sistemas operativos de red. - Aplicaciones cliente/servidor. Por supuesto, en el nivel 7 también hay cabida para aplicaciones "particulares". Las PDUs de la capa de aplicación, APDUs, son de formato muy flexible y variable. Entre dos APDUs pueden encontrarse diferencias sustanciales en cuanto a su tamaño, número de campos presentes, etc., que dependen de las necesidades de cada momento. A cada una de las partes de una aplicación que se encarga de una tarea específica se denomina Elemento de Servicio de Aplicación (ASE). El conjunto de todos los ASEs que forman una aplicación concreta y la relación entre ellos forman el contexto de aplicación. Hay ASEs válidos para varias aplicaciones: - ACSE (Association Control Service Element). Establecimiento, manejo y liberación ordenada o abrupta de conexiones. Lo utilizan todas las aplicaciones. - RTSE (ReliableTransfer Service Element). Garantiza fiabilidad en la transferencia de datos, solucionando los problemas que se hayan producido de nivel 4 hacia arriba. Se encarga de manejar todas las funciones de nivel 5. Lo utilizan algunas aplicaciones, no todas. - ROSE (Remote Operation Service Element). Facilita el trabajo de petición de operaciones remotas y devolución de los resultados. PABLO ARELLANO www.theglobeformacion.com Página 16 B4T7 MODELO TCP/IP Y OSI TAI Resumen de las capas del modelo OSI CAPA DESCRIPCIÓN Características físicas de la transmisión y los interfaces. Señal eléctrica, Física codificación y modulación, cables, conectores, etc. Comunicación fiable entre dos nodos conectados a la misma capa física. Se encarga de dos tareas diferentes, por lo que típicamente tiene 2 Enlace de datos subniveles: A. Construir tramas a partir de bits → LLC (Logical Link Control) B. Compartir el acceso al medio → MAC (Media Access Control) Gestión y envío de paquetes a lo largo de una red estructurada formada Red por múltiples nodos. Proporciona direccionamiento, encaminamiento (routing) y control de tráfico. Ejemplo: IP Transmisión fiable extremo a extremo, incluyendo segmentación, confirmación y multiplexación. OSI define 5 tipos de protocolos de transporte (TP0...TP4), siendo 4 el más completo, soportando detección y Transporte corrección de errores y control de flujo, por ejemplo. Es el tipo más cercano a TCP, si bien presenta algunas diferencias, como que un tipo TP4 puede ser sin conexión. Gestión de sesiones de comunicación. Proporciona, entre otras funciones, Sesión control del diálogo (full-duplex o half duplex), recuperación en caso de errores, etc. Presentación Conversión de códigos entre nodos, cifrado, compresión de datos, etc. Aplicación Interfaz directa con los procesos de usuario PABLO ARELLANO www.theglobeformacion.com Página 17 B4T7 MODELO TCP/IP Y OSI TAI 3. EL MODELO TCP/IP El 1968 la Agencia de investigación de Proyectos Avanzados del Departamento de Defensa de EE.UU. (DARPA) comienza un programa de desarrollo que permitiese la transmisión de información entre redes de distintos tipos y características. Se implemento una red punto a punto de líneas telefónicas denominada ARPANET, usando un conjunto de protocolos que posteriormente se denominarían TCP/IP. Esta red formada por organizaciones educativas, militares y de investigación se convirtió en el núcleo de Internet hacia 1980, y en 1983, todos los hosts de ARPANET utilizaban dicho conjunto de protocolos. Como hemos visto, las funciones de una red de ordenadores pueden basarse en los siete niveles del modelo OSI, aunque la implantación real de una red puede diferir a nivel práctico de dicho modelo. No existe un acuerdo general en como presentar el conjunto de protocolos TCP/IP con un modelo de capas. Generalmente se presentan como válidos entre tres y cinco niveles (o capas) funcionales en la arquitectura del protocolo. 4 Aplicación 3 Transporte 2 Internet 1 Acceso a la red (1) Capa de acceso a la red Este este es el nivel inferior de la jerarquía de protocolos de TCP/IP. Los protocolos de esta capa proporcionan los medios para que el sistema entregue los datos a otros dispositivos directamente conectados a la red. Define cómo utilizar la red para transmitir un datagrama IP. En este nivel se encapsulan los datagramas IP formando tramas que se transmiten a la red, y transforman las direcciones IP a las direcciones físicas usadas en la red. Un ejemplo de protocolo de este nivel es Ethernet. Equivale a las capas física y de enlace de datos del modelo OSI. Unidad de datos: trama (enlace de datos) y bit (física). (2) Capa Internet (o de red) Este nivel interconecta redes, necesario cuando los hosts se encuentran en distintas redes. Se encarga de elegir la ruta más adecuada que deben seguir los paquetes/datagramas de datos para llegar a su destino y encaminándolos (enrutándolos). Crea el servicio básico de entrega de paquetes sobre el que se construye una red TCP/IP. PABLO ARELLANO www.theglobeformacion.com Página 18 B4T7 MODELO TCP/IP Y OSI TAI El protocolo más importante de este nivel es IP (Internet Protocol) que es un protocolo no orientado a conexión. Además, podemos citar los protocolos ICMP, ARP, RARP, BOOTP. Equivale a la capa de red del modelo OSI. Unidad de datos: paquete o datagrama. (3) Capa de transporte Facilita comunicación punto a punto (entre hosts o sistemas finales), asegurándose de que los datos llegan sin errores, sin pérdidas, sin duplicados y en la secuencia correcta. La unidad de datos es el segmento. TCP (Transmission Control Protocol) y UDP (User Datagram Protocol) son los protocolos de ente nivel. Equivale a la capa de transporte del modelo OSI. Unidad de datos: segmento. (4) Capa de aplicación Encontramos en este nivel todos los procesos que hacen uso de los protocolos del nivel de transporte. Equivale a las 3 capas superiores del modelo OSI. Entre todos los protocolos existentes en este nivel podemos indicar FTP, HTTP, SMTP, DNS, NFS, telnet... Finalmente se muestra una figura con los niveles del modelo y los protocolos ubicados en cada uno de ellos: PABLO ARELLANO www.theglobeformacion.com Página 19 B4T7 MODELO TCP/IP Y OSI TAI PABLO ARELLANO www.theglobeformacion.com Página 20 B4T7 MODELO TCP/IP Y OSI TAI 4. PROTOCOLO PRINCIPAL DEL NIVEL DE RED: PROTOCOLO IP Internet Protocol (IP) es un protocolo de nivel de red del modelo OSI especificado por el RFC 791. Ofrece servicio de datagramas, no orientado a conexión: cada datagrama1 o paquete se maneja independientemente de los demás. Características del protocolo IP: - El paquete es la unidad de datos de protocolo (PDU) de la capa de red. - Desorden (distintas rutas para cada datagrama). - Servicio de datagramas no fiable o de mejor esfuerzo (best effort). Los datagramas se pueden corromper, pueden llegar duplicados o pueden no llegar. IPv4 soporta 3 formas de transmisión o comunicación: - Unicast: (UNO A UNO) envío de un paquete de un host a otro host. - Broadcast: (UNO A TODOS) envío de un paquete de un host a todos los hosts en la red. - Multicast: (UNO A MUCHOS) envío de un paquete de un host a un grupo de hosts establecido. Actualmente cohabitan dos versiones de IP: - IPv4, usada desde los años 70. - IPv6, en fase de implantación. IP provee un conjunto de funcionalidades básicas: - Direccionamiento lógico: permite identificar unívocamente un sistema a través de su dirección IP. - Encaminamiento: provee conectividad extremo a extremo. Dispositivo de interconexión: router. - Fragmentación y reensamblado: permite atravesar cualquier red independientemente de su MTU (Maximum Transmission Unit). Además, ofrece la posibilidad de QoS (Quality of Service) mediante la priorización del tráfico. No usado en Internet pero si dentro de redes corporativas o por los ISP. 1 Datagrama y paquete hacen referencia al mismo concepto. PABLO ARELLANO www.theglobeformacion.com Página 21 B4T7 MODELO TCP/IP Y OSI TAI 1. Cabecera IPv4 La cabecera IPv4 tiene un tamaño mínimo obligatorio de 20 bytes. Además, opcionalmente, se pueden incluir campos opcionales, que pueden incrementar hasta los 60 bytes el tamaño de la cabecera. Analizamos el formato de la cabecera IPv4: - Versión (VER): 4 bits. Versión del protocolo, en este caso 4. - Tamaño cabecera (HLEN): 4 bits. Longitud de la cabecera IP (Header LENgth) en palabras de 32 bits (4 bytes). Su valor mínimo es de 5 (20 bytes) para una cabecera correcta, y el máximo de 15 (60 bytes). No se incluye el tamaño del campo datos. - Tipo de Servicio (TOS): 8 bits. Indica una serie de parámetros sobre la calidad de servicio deseada durante el tránsito por una red. Algunas redes ofrecen prioridades de servicios, considerando determinado tipo de paquetes "más importantes" que otros (en particular, algunas redes pueden admitir sólo los paquetes con una prioridad alta en momentos de sobrecarga). Estos 8 bits se agrupan de la siguiente manera: o Bits 0-2: prioridad (valores altos para prioridades superiores). o Bit 3: 0 = Retraso Normal 1 = Bajo Retraso o Bit 4: 0 = Tránsito Normal 1 = Tránsito Rápido o Bit 5: 0 = Fiabilidad Normal 1 = Alta Fiabilidad o Bits 6-7: reservados para futuros usos. PABLO ARELLANO www.theglobeformacion.com Página 22 B4T7 MODELO TCP/IP Y OSI TAI - Longitud Total: 16 bits. Número de octetos que tiene el paquete (cabecera + datos). Como tiene un tamaño de 16 bits, el tamaño máximo del paquete es 64 KB (216 * 23 bits = 216 bytes). El tamaño máximo de los datagramas usados normalmente es de 576 octetos. Una máquina no debería enviar datagramas mayores a no ser que tenga la certeza de que van a ser aceptados por la máquina destino. En caso de fragmentación este campo contendrá el tamaño del fragmento, no el del datagrama original. - Identificador: 16 bits. Identificador único del datagrama (común a todos los fragmentos). Se utilizará si el datagrama es fragmentado para poder distinguir los fragmentos de un datagrama de los de otro. El host origen del datagrama debe asegurar un valor único para la pareja origen- destino y el tipo de protocolo durante el tiempo que el datagrama pueda estar activo en la red. - Flags: 3 bits. Usado en la fragmentación de paquetes: o Bit 0: Reservado (debe ser 0). o Bit 1: DF (Don't Fragment). 0 = puede fragmentarse 1 = No fragmentar o Bit 2: MF (More Fragment). 0 = Último fragmento 1 = Más fragmentos - Posición de Fragmento: 13 bits. En paquetes fragmentados indica la posición del fragmento (en unidades de 64 bits) que ocupa dentro del paquete original. El primer fragmento toma el valor 0. - Time To Live (TTL): 8 bits. Número de saltos (enlaces entre routers) que un datagrama IP puede realizar. El nodo origen coloca un valor de aproximadamente el doble del número de saltos con cualquier destino. Cada router que lo procesa decrementa el TTL en una unidad, y si tras ello el valor es 0 el paquete se descarta (deja de ser enrutado). En su concepción original este campo medía en segundos en lugar de saltos, restando cada router 1 segundo al menos cada router, por lo que en la práctica es "equivalente" a la cuenta de saltos. - Protocolo: 8 bits. Protocolo del siguiente nivel usado en la parte de datos del datagrama internet. Los valores de varios protocolos son los siguientes: Número Protocolo 1 ICMP 4 IP 6 TCP 17 UDP 58 ICMPv6 PABLO ARELLANO www.theglobeformacion.com Página 23 B4T7 MODELO TCP/IP Y OSI TAI - Suma de Control de Cabecera: 16 bits. Checksum de la cabecera solamente. Dado que algunos campos de la cabecera cambian (como el tiempo de vida), esta suma es recalculada y verificada en cada punto donde la cabecera internet es procesada. - Dirección IP de origen: 32 bits. - Dirección IP de destino: 32 bits. - Opciones: 0-40 bytes. - Relleno (padding): se rellena el campo a múltiplos de 32 bits para que pueda representarse su tamaño en palabras de 4 bytes que necesita el campo HLEN. 2. Direccionamiento IP Esquema: - Direccionamiento classful - Subnetting o FLSM o VLSM - Supernetting - Direccionamiento classless o CIDR Los equipos o dispositivos que utilizan el protocolo IP tienen asignado un identificador único llamado dirección IP para encaminar el mensaje entre los distintos nodos de la red de comunicaciones, desde el origen al destino. Una dirección IP sirve para identificar y localizar a un dispositivo inequívocamente en una red interna o externa. Por ello, supone la base de la transmisión de información desde el emisor hasta el destinatario correcto. Si un dispositivo quiere enviar un paquete de datos, el router correspondiente se guía por la cabecera IP y comprueba la IP de origen con la IP de destino. a) Si los identificadores de red coinciden, es que el emisor y el destinatario se encuentran en la misma red, así que el paquete se entrega directamente. b) De no ser así, el router transmite el paquete de datos mediante varios routers, hasta el router del destinatario, que lo entregará al host destino. La autoridad suprema en la asignación de direcciones IP es la Autoridad de Números Asignados en Internet (IANA) que, a su vez, es un departamento de la Corporación de Internet para la Asignación de Nombres y Números (ICANN). Esta autoridad tiene el control total sobre las PABLO ARELLANO www.theglobeformacion.com Página 24 B4T7 MODELO TCP/IP Y OSI TAI potenciales direcciones IP y las reparte en bloques a los cinco Registros Regionales de Internet (RIR), cuyos nombres son AFRINIC, APNIC, ARIN, LACNIC y RIPE-NCC. RIP-NCC, que es el responsable de Asia Central, Oriente Próximo y Europa, reparte las direcciones IP que se le asignan a entidades adjudicadoras locales (Registros Locales de Internet o LIR) y nacionales (Registros Nacionales de Internet o NIR). Estas entidades transmiten a su vez las direcciones a los proveedores, subproveedores o directamente al cliente final. Las direcciones IPv4 tienen una longitud de 32 bits separados en grupos de cuatro bytes (u octetos) que se escriben en base decimal. octeto1. octeto2. octeto3. octeto4 = dec1. dec2. dec3. dec4 En la siguiente imagen se muestra un ejemplo de dirección IP. En la parte superior se muestra la dirección en binario, mientras que en la parte inferior se muestra la misma dirección en formato decimal. Cada interfaz de red deberá tener asignada una dirección IP para poder operar correctamente y la misma dirección no podrá asignarse a más de un host. Podemos clasificar las direcciones IP dependiendo de diferentes criterios: desde el punto de vista de la accesibilidad, desde el punto de vista de la perdurabilidad y dependiendo de la clase (esta última clasificación se explicará más adelante). Desde el punto de vista de la accesibilidad: PABLO ARELLANO www.theglobeformacion.com Página 25 B4T7 MODELO TCP/IP Y OSI TAI - Direcciones IP públicas: aquellas que son visibles por todos los hosts conectados a Internet. Para que una máquina sea visible desde Internet debe tener asignada obligatoriamente una dirección IP pública, y no puede haber dos hosts con la misma dirección IP pública. - Direcciones IP privadas: aquellas que son visibles únicamente por los hosts de su propia red o de otra red privada interconectada por medio de routers. Los hosts con direcciones IP privadas no son visibles desde Internet, por lo que si quieren salir a ésta deben hacerlo a través de un router o un proxy que tenga asignada una IP pública. Las direcciones IP privadas se utilizan en redes privadas para interconectar los puestos de trabajo. Desde el punto de vista de la perdurabilidad: - Direcciones IP estáticas: aquellas asignadas de forma fija o permanente a un host determinado, por lo que cuando una máquina con este tipo de IP se conecte a la red lo hará siempre con la misma dirección IP. Normalmente son usados por servidores web, routers o máquinas que deban estar conectadas a la red de forma permanente. - Direcciones IP dinámicas: aquellas que son asignadas de forma dinámica a los hosts que desean conectarse a Internet y no tienen una IP fija. Un ejemplo típico de este tipo de direcciones IP es el de una conexión a Internet en el ámbito doméstico. El ISP dispone de un conjunto de direcciones IP para asignar a sus clientes, de forma que cuando uno de ellos se conecta a Internet se le asigna una de estas IP al router del cliente, que es válida durante el tiempo que dura la conexión. Esta dirección IP asignada tiene una vigencia, por lo que expirado su uso el ISP asignará una nueva. De esta forma, el usuario se conecta a Internet con una dirección IP distinta. Dentro de la dirección IP se distinguen dos partes: - La parte de red o prefijo de red identifica a la red. Corresponde a los N primeros bits. - La parte de host identifica a un host concreto dentro de una red. La parte host corresponde a los 32 − N bits restantes. Para distinguir la parte de red de la parte de host se necesita lo que se conoce como máscara de red, que no es más que un entero de 32 (igual que las direcciones IP) en el que se fijan a 1 los bits de la parte de red y a 0 los bits de la parte de host. Al igual que las direcciones IP las máscaras de red se pueden expresar en notación decimal. Ejemplos: máscaras de red 255.255.255. 0 à 11111111.11111111.11111111.00000000 255.255.192.0 à 11111111.11111111.11000000.00000000 255.224.0.0 à 11111111.11100000.00000000.00000000 PABLO ARELLANO www.theglobeformacion.com Página 26 B4T7 MODELO TCP/IP Y OSI TAI Es importante recalcar que las direcciones de los hosts pertenecientes a la misma red deben compartir del mismo prefijo de red. Además, dentro de cada red se contemplan dos direcciones especiales: - Dirección de RED: la dirección de red consiste en el prefijo de red fijando a '0' todos los bits de la parte de host. Esta dirección no se puede asignar a ningún host, pues su misión es identificar a la red. No se pueden enviar paquetes a esta dirección. - Dirección de BROADCAST: la dirección de broadcast consiste en el prefijo de red fijando '1' todos los bits de la parte de host. Esta dirección no es asignable a ningún host. Cuando se envía un paquete a esta dirección, éste está destinado a todos los hosts de la red. Direccionamiento con clases (direccionamiento Classful) En las primeras redes IP se utilizaba lo que se denomina direccionamiento con clases, que se introdujo en 1981 como parte de la definición del protocolo IP en el RFC 791, distinguiéndose distintas clases de direcciones. Las clases se establecen en base a los primeros bits de la dirección, como se muestra a continuación: Las direcciones de clases A, B y C están dedicadas al direccionamiento de hosts. Las direcciones de la clase D son de multidifusión o multicast, mientras que las direcciones de la clase E están reservadas para investigación. PABLO ARELLANO www.theglobeformacion.com Página 27 B4T7 MODELO TCP/IP Y OSI TAI En la siguiente imagen, se muestran los tamaños de los prefijos de red para las clases A, B y C: Por tanto, tenemos: Clase A 0 Red Hosts Clase B 1 0 Red Hosts Clase C 1 1 0 Red Hosts Clase A: permite definir 27-2 = 126 redes diferentes (0 y 127 están reservados por lo que no pueden ser usados). En cada red pueden existir 224-2 hosts = 16.777.214 (0 y 16.777.215 están reservados, el primero para identificar la red, el segundo para la dirección de broadcast). Esta clase se utiliza para redes de gran tamaño, capaces de conectar un gran número de máquinas. Clase B: permite identificar 214-2 = 16.384 redes y 216-2 = 65.534 hosts en cada una de las redes (0 y 65.535 están reservados para identificar la red y la dirección de broadcast respectivamente). Se utiliza para redes de tamaño medio. Clase C: permite identificar 221 = 2.097.152 redes y 28-2 = 254 hosts en cada una de las redes (0 y 255 están reservados). Utilizado para redes pequeñas. Nº máximo REDES Nº máximo HOSTS Clase A 0 < red < 127 126 16.777.214 Clase B 128 £ red < 192 16.384 65.534 Clase C 192 £ red < 224 2.097.152 254 Clase D: direcciones reservadas para comunicaciones en grupo o multicast. El objetivo es enviar la misma información a un grupo de hosts que comparten una dirección de esta clase. Clase E: reservadas para uso experimental. Clase D 1 1 1 0 Dirección multicast Clase E 1 1 1 1 Uso experimental PABLO ARELLANO www.theglobeformacion.com Página 28 B4T7 MODELO TCP/IP Y OSI TAI Redes y direcciones reservadas - Clase A: se reservan las siguientes redes: o 0.0.0.0/8: ruta por omisión en tabla de encaminamiento. o 127.0.0.0: designa a la propia máquina (loopback). - Clase A: se reservan las siguientes direcciones: o 0.0.0.0: dirección no válida. Se puede utilizar como dirección origen antes de obtenerla por DHCP. o 127.0.0.1: dirección de bucle o loopback. - Clase B: se reserva la siguiente red: o 169.254.0.0/16: para direccionamiento de enlace local. Se asigna una IP automáticamente cuando no existe otro modo de asignación disponible. Es lo que se conoce como auto-IP o APIPA (Automatic Private IP Addressing). - Clases A, B y C: se reservan las siguientes direcciones en cada red: o Direcciones de red: todo '0' en la parte host. o Direcciones de broadcast dirigido: todo '1' en la parte host. El paquete se dirige a todos los hosts de la red destino (el paquete sí puede atravesar routers). - Clases D y E: se reservan las siguientes redes: o 224.0.0.0/4: direcciones multicast. o 240.0.0.0/4: uso experimental. - 255.255.255.255: dirección de broadcast limitado. El paquete se dirige a todos los hosts de la misma red (el paquete no puede atravesar un router). DIRECCIÓN DESCRIPCIÓN RESTRICCIÓN 0.0.0.0 No se pueden utilizar para identificar Redes reservadas una RED de clase A 127.0.0.0 X.0.0.0 Red de clase A X.X.0.0 Red de clase B X.X.X.0 Red de clase C No se pueden utilizar para identificar un X.255.255.255 Dirección utilizada para host enviar un mensaje a todos X.X.255.255 los hosts de una red X.X.X.255 (broadcast dirigido) 255.255.255.255 Broadcast limitado PABLO ARELLANO www.theglobeformacion.com Página 29 B4T7 MODELO TCP/IP Y OSI TAI Ejemplo: dada la dirección IP 34.254.0.17, la dirección de broadcast es 34.255.255.255 (parte de hosts todos los bits a "1"). Direcciones privadas La IANA definió unos rangos de direcciones privados, de libre disposición que pueden ser utilizados sin solicitarlo previamente a ningún registro de direcciones. Estos rangos se definieron en el RFC 1918 y son: Clase A 10.0.0.0/8 10.x.y.z Clase B 172.16.0.0/12 172.16.0.0 - 172.31.255.255 Clase C 192.168.0.0/16 192.168.x.y Estos rangos de direcciones privadas no son enrutables en Internet, es decir, que ningún router de Internet reenviará paquetes destinados a direcciones dentro de estos rangos. Estos rangos están reservados para las redes internas de las organizaciones que se encuentran, por ejemplo, tras un sistema NAT (RFC 2663), que ha permitido frenar durante un tiempo la escasez de direcciones IPv4 y su posterior agotamiento. Estas IP no vuelven a ser reasignadas por la IANA y tampoco dirigen a Internet. Si, a pesar de ello, se quiere acceder a Internet, el router transforma la dirección IP privada, mediante la llamada traducción de direcciones de red (NAT), en una IPv4 o una Ipv6 válida que sirva en todos los dispositivos de la red local. Con los paquetes de datos que llegan ocurre justo el proceso contrario. Los administradores pueden asignar direcciones IP privadas, o bien manualmente, o bien mediante un servidor DHCP automáticamente. NAT o Network Address Translation (traducción de direcciones de red), es un mecanismo que se utilizó para retrasar el agotamiento de direcciones IPv4. Consiste en que una red con múltiples direcciones privadas utiliza únicamente una o varias direcciones públicas, realizando una traducción entre ellas con lo que se consigue el efecto de "multiplicar" las direcciones. Sin embargo, tiene el inconveniente de que se transforman las direcciones y, por tanto, se pierde uno de los principios básicos de Internet que es la posibilidad de conexiones directas extremo a extremo. El enmascaramiento IP (IP Masquerade) es una técnica (forma de NAT) consistente en dar acceso a Internet a todos los equipos de una red interna (direccionamiento privado) a través de una única IP externa (pública). Utilizada cuando la dirección IP pública que sustituye a la IP origen es dinámica. Hablamos de SNAT (Source NAT) cuando la dirección IP pública que sustituye a la IP origen es estática. PABLO ARELLANO www.theglobeformacion.com Página 30 B4T7 MODELO TCP/IP Y OSI TAI Subredes (subnetting) Una vez que se asigna un prefijo principal a una organización, esta por necesidades de la topología física, tendrá que subdividir la red principal en redes de menor tamaño (subredes). Esta subdivisión inicialmente se hacía alargando el prefijo de modo que la dirección IP se dividía en tres partes en vez de en dos como hemos visto hasta ahora. Subnetting permite dividir un espacio de direcciones en subredes. FLSM (Fixed-Length Subnet Mask) Especifica que todas las máscaras de subredes procedentes de la misma red han de tener igual máscara. Como se muestra en la imagen siguiente, los N primeros bits corresponden a la red, luego este prefijo de N bits se aumenta hasta N+M bits que dan lugar a los prefijos de subred y finalmente quedan 32-N-M bits para la parte de host. Al final se le “roban” algunos bits a la parte de host de la red original para crear subredes. Inicialmente, en el RFC 950 se consideró que las subredes debían ser todas del mismo tamaño, es decir, que la forma de hacer subredes era “robando” el número de bits suficiente de la parte de host original para indexar todas las subredes. IMPORTANTE Según el RFC 950 los valores de todos a cero y todos a uno en el campo de la subred no deben ser asignado a subredes reales. Problemas del Subnetting: - La restricción es que todas las subredes deben emplear la misma máscara. - Si las subredes no son de tamaño (número de hosts) homogéneo esto pueda dar lugar a un desaprovechamiento de direcciones Ejemplo: red que deberá dividirse en 5 subredes, puesto que existen 5 segmentos de red. PABLO ARELLANO www.theglobeformacion.com Página 31 B4T7 MODELO TCP/IP Y OSI TAI Para saber cuántos segmentos de red hay en un esquema de red eliminamos mentalmente los routers, puesto que estos dispositivos interconectan a las redes. Todas las partes que queden aisladas, aunque sólo sean un cable, son una red. Cada segmento de red físico dará lugar a una subred dentro de la red principal. De esta manera, el procedimiento para crear las subredes que se consideró inicialmente, fue muy sencillo. Se reservan suficientes bits en la parte de subred para que se puedan alojar las subredes necesarias. En este ejemplo concreto, al tener cinco subredes, se necesitarán 3 bits que permiten hasta 8 subredes. Supongamos que el prefijo inicial obtenido del ISP es el 8.0.0.0/8. Entonces se reservan tres bits adicionales detrás del prefijo inicial y se identifican cada una de las subredes, dando lugar a las siguientes direcciones de red: 8.0.0.0, 8.32.0.0, 8.64.0.0, 8.128.0.0, 8.160.0.0. La máscara de subred es 255.224.0.0. Este procedimiento es extremadamente ineficiente en cuanto al uso de direcciones, ya que todas las subredes tienen que ajustarse al tamaño de la mayor. Así, por ejemplo, para los dos enlaces punto a punto, que sólo necesitan 4 direcciones, se reservarían 221 direcciones para cada uno. Ejemplo: reconocimiento de subredes. Partimos del siguiente esquema de red: PABLO ARELLANO www.theglobeformacion.com Página 32 B4T7 MODELO TCP/IP Y OSI TAI Esta red está formada por 3 subredes (fondo azul): Ejemplo: reconocimiento de subredes. Dado el siguiente esquema de red podemos reconocer 6 subredes (fondo azul): Para saber si una dirección IP pertenece a una red realizamos la operación AND entre la dirección IP y la máscara de subred. Ejemplo: comprobar si 200.23.17.42 pertenece a la red 200.23.16.0/23. Operación dirIP AND Máscara Dirección IP 11001000 00010111 00010001 00101010 Máscara de red 11111111 11111111 11111110 00000000 255.255.254.0 RESULTADO 11001000 00010111 00010000 00000000 200.23.16.0 PABLO ARELLANO www.theglobeformacion.com Página 33 B4T7 MODELO TCP/IP Y OSI TAI Ejemplo: dada la dirección de red 213.114.93.0 con máscara de red 255.255.255.192, calculamos su dirección de broadcast. Dirección red 11010101 01110010 01011101 00000000 213.114.93.0 Máscara de red 11111111 11111111 11111111 11000000 255.255.255.192 Broadcast 11010101 01110010 01011101 00111111 213.114.93.63 Reparto de direcciones Vamos a analizar el espacio de direcciones de IPv4, para comprender por qué se abandona el direccionamiento con clases. Ya se ha mostrado en una tabla anterior el reparto de direcciones entre las distintas clases. Se puede observar que la mitad de las direcciones IPv4 estaban destinadas a 128 redes de un tamaño considerable. Una cuarta parte va destinada a redes de clase B, que seguramente siguen siendo demasiado grandes para la mayoría de las organizaciones. Finalmente, una octava parte de las direcciones está destinada a redes de tamaño pequeño, que probablemente son demasiado pequeñas. Debido a este reparto de direcciones se tuvo que cambiar el sistema de reparto de bloques de direcciones a las organizaciones, pasando del direccionamiento con clases al direccionamiento sin clases. De este modo, se comenzaron a admitir prefijos de tamaños distintos a los establecidos inicialmente para cada una de las clases. Debido a la escasez de direcciones IPv4 se comenzó a aplicar VLSM/CIDR para el reparto de direcciones. Además, se desarrolla la nueva versión del protocolo IPv6, cuya principal característica es la ampliación del espacio de direcciones a 128 bits. VLSM (Variable Length Subnet Mask) Las máscaras de subred de longitud variable permiten ajustar el tamaño en bits de la parte host al número de hosts que se desean alojar en cada red. Esto, consecuentemente, lleva también a un ajuste del tamaño en bits del prefijo de la subred, de ahí el nombre Máscara de subred de longitud variable (RFC 1519 y RFC 1878). Lo que se persigue es paliar el desperdicio de direcciones IP que se produce debido al método de generar las subredes que se ha explicado en anteriormente y para paliar los efectos del reparto ineficiente inicialmente propuesto. Por tanto, VLSM es flexible ya que permite crear subredes de distintos tamaños. En cambio se necesita la máscara en las tablas encaminamiento. PABLO ARELLANO www.theglobeformacion.com Página 34 B4T7 MODELO TCP/IP Y OSI TAI Cuando se aplica VLSM, la dirección de red necesariamente deberá ir acompañada de una máscara de red que indique qué parte es prefijo y qué parte corresponde al host. Por ello, se introduce una nueva notación para las máscaras de red, que facilita su manejo: la notación CIDR (Classless Interdomain Routing). Esta notación simplemente consiste en acompañar a las direcciones de red mediante un número separado por un / que indica la longitud de prefijo o lo que es lo mismo la cantidad de bits a '1' que hay en la máscara de red. Ejemplos: 192.168.0.0/24 10.0.0.4/30 172.16.4.0/22 Una máscara de red se puede expresar tanto en notación decimal como en notación CIDR. Para pasar de una notación a otra conviene considerar que, al ser una secuencia de '1' seguidos de '0' en binario, en una máscara de red no puede aparecer cualquier número en notación decimal. Considerando el número de 1s que pueden aparecer en cada byte sólo se pueden utilizar los valores que se indican: Nº de '1' Valor binario Valor decimal 0 0000 0000 0 1 1000 0000 128 2 1100 0000 192 3 1110 0000 224 4 1111 0000 240 5 1111 1000 248 6 1111 1100 252 7 1111 1110 254 8 1111 1111 255 PABLO ARELLANO www.theglobeformacion.com Página 35 B4T7 MODELO TCP/IP Y OSI TAI Para convertir una máscara de red de notación decimal a notación CIDR sólo hay que buscar los cuatro bytes de la máscara expresados en decimal en la tercera columna de la tabla y sumarlos. Ejemplo: notación CIDR Máscara de red 255.255.224.0, tenemos 8+8+3+0=19 y en notación CIDR sería /19. Máscara de red 255.255.255.240, sería 8+8+8+4= 28 y en notación CIDR sería /28. Para hacer la conversión inversa, es decir, de notación CIDR a notación decimal se utiliza la primera columna de la tabla. Ejemplo: supongamos que deseamos convertir la máscara de red /25 en notación CIDR a notación decimal. Para ello debemos buscar cuatro números de la primera columna de la tabla que sumen 25, utilizando primero los mayores. Así tendríamos 8+8+8+1 = 25. Para construir la máscara tendremos que concatenar los cuatro números correspondientes de la tercera columna: 255.255.255.128. Otro ejemplo: /23 es la suma de 8+8+7+0 = 23 y la máscara en notación decimal es 255.255.254.0. Debe quedar claro que a la hora de sumar debemos elegir en primer lugar los números mayores. Volviendo a VLSM, cada una de las redes tendrá un tamaño determinado que dependerá del número de hosts que se pretenden alojar en ella, en base a lo cual se asignan bloques de direcciones cada una de ellas, siempre pertenecientes a un bloque definido por un prefijo global asignado por el ISP u otro administrador de red. Dichos bloques de direcciones se definen mediante una dirección base, que es la dirección de red, y un tamaño de prefijo, que no es otra cosa que la máscara de subred. Los bloques de direcciones asignados a una red deben cumplir las siguientes premisas: - El tamaño del bloque debe ser una potencia de dos. - El bloque deberá comenzar en una dirección múltiplo de su tamaño. - El bloque no debe solaparse con otros bloques asignados a otras redes. Ejemplo: en la red mostrada en la figura siguiente los tamaños de bloque se obtienen sumando a las direcciones que se desean asignar a hosts, la dirección de red y broadcast y redondeando a la potencia de dos más cercana por arriba. Así los tamaños de bloque serían los que se indican en la tabla. Las máscaras de subred dependen directamente del tamaño de bloque. Para obtenerlas, simplemente hay que restar al número total de bits de la dirección (32) el número de bits que se van a asignar a la parte de host (nº de bits necesario para direccionar el número de direcciones correspondiente al tamaño de bloque). Así cada subred tiene un tamaño ajustado al número de hosts y, por tanto, una máscara de tamaño variable. PABLO ARELLANO www.theglobeformacion.com Página 36 B4T7 MODELO TCP/IP Y OSI TAI Red Hosts Tamaño Máscara de subred A 128 256 /24 B 300 512 /23 C 35 64 /26 D 2 4 /30 E 2 4 /30 Teniendo en cuenta la segunda premisa y suponiendo un prefijo global 172.16.0.0/16, se podrían considerar múltiples esquemas para el reparto de direcciones tras el prefijo global. Para generar un esquema de direccionamiento válido lo único que debe hacerse es situar los bloques de direcciones en el espacio de direcciones de forma que se cumplan las tres premisas. Ejemplo: como se puede observar las máscaras de subred son de longitud variable. Subred 1: Dirección de red 193.65.67.64 máscara 255.255.255.192 Subred 2: Dirección de red 193.65.67.128 máscara 255.255.255.224 Subred 3: Dirección de red 193.65.67.160 máscara 255.255.255.224 Supernetting Las clases A y B son escasas y casi agotadas, y sobre las que tiene sentido el subnetting. Sin embargo, existen muchas clases C disponibles pero que se quedan pequeñas para muchas organizaciones. El supernetting consiste en combinar varios bloques de direcciones clase C consecutivas como si fueran una única subred. PABLO ARELLANO www.theglobeformacion.com Página 37 B4T7 MODELO TCP/IP Y OSI TAI El supernetting elimina 1s de la máscara original tomando prestados bits del NetworkID para aumentar el tamaño del HostID. Ejemplo: Las redes de clase C 200.1.0.0/24, 200.1.1.0/24, 200.1.2.0/24 y 200.1.3.0/24 Las subredes se pueden agrupar en la superred 200.1.0.0/22 Direccionamiento classless Con la fuerte expansión de Internet y la aparición de ISPs quedó en evidencia la necesidad de un sistema de direccionamiento más flexible que permitiese cualquier tamaño de red. El direccionamiento classless permite subnetting y supernetting dividiendo los 32 bits de direcciones en bloques de distintos tamaños: - Las redes se definen con la primera dirección de la red (HostID=0) y una máscara. - Se emplea una nueva terminología: o prefijo: antiguo NetID, determina la red. o sufijo: antiguo HostID, identifica a las máquinas dentro de la red. - Típicamente se utiliza la notación de la máscara CIDR, que coincide con el tamaño en bits del prefijo. - Subredes de todo 0s o todo 1s son ahora perfectamente validas. CIDR (Classless Inter-Domain Routing) A medida que la Internet primitiva se convirtió en Internet, la necesidad de nuevas formas de repartir direcciones se volvió cada vez más aparente. De este modo, se eliminaron las clases de direccionamiento, apareciendo el direccionamiento sin clases. En los RFC 1518 y RFC 1519 la IETF publicó un nuevo procedimiento para la reserva de bloques de direcciones, así como un nuevo método para enrutar paquetes IPv4. CIDR se convirtió en el sustituto del direccionamiento con clases permitiendo el reparto de bloques de direcciones con un tamaño ajustado al número de hosts de las redes locales, utilizando para ello los conceptos de VLSM y supernetting. PABLO ARELLANO www.theglobeformacion.com Página 38 B4T7 MODELO TCP/IP Y OSI TAI 3. Enrutamiento Esta tarea corresponde principalmente a los routers. En el tema B4T10 se describe cómo se encaminan los paquetes hacia el destino según algoritmo de encaminamiento definido. 4. Protocolo IPv6 Dado que la dirección IPv4 es de 32 bits, se pueden tener unos 4.300 millones de direcciones distintas. Pero, debido principalmente al gran número de dispositivos o equipos que utilizan el protocolo IP, y que por tanto necesitan una dirección IP, el número de direcciones disponibles se está agotando. Aunque se ha tratado de mitigar con soluciones como NAT o CIDR, éstas no resuelven el problema de base y, además, introducen limitaciones como la pérdida de conectividad extremo a extremo. El IETF casi en paralelo con el desarrollo de IPv6, diseñó el primer protocolo de difusión de audio y video (streaming), al que se le asignó el código de versión 5. No tiene nada que ver con IPv6 y no se llegó a desplegar comercialmente. Limitaciones IPv4: - Direccionamiento muy limitado por disponer de un espacio de direccionamiento de 232. Se intentaron soluciones como el uso de direcciones sin clases (CIDR), uso de intranets con direcciones privadas (NAT) o uso de direcciones dinámicas (DHCP). - Formato complejo de la cabecera del paquete: la longitud es variable por el campo opciones y contiene información de fragmentación que no siempre es necesaria. - Seguridad limitada: no incluye soporte para seguridad o autenticación. - Soporte limitado para prioridad de tráfico o clase de servicio al no ser implementada esta funcionalidad en la mayoría de los routers. - Multicast limitado: no se ha llegado a implementar de forma completa y eficaz. IPv6 se encuentra estandarizado por el RFC 2460. Las características de este protocolo son: - Direcciones de 128 bits. El espacio de direcciones se amplía a 340 sextillones direcciones. - Formato de cabecera más simple: supone una mayor velocidad de procesamiento en los routers y mejora en el rendimiento de los protocolos de routing (enrutado más eficiente). - Las direcciones identifican a una interfaz o conjunto de interfaces, no a un nodo. - Posibilidad de autoconfiguración de direcciones. - Mejor soporte para opciones adicionales: o Las opciones de IPv6 no se codifican en la cabecera, sino en el cuerpo del paquete IP mediante cabeceras de extensión. o Dispone de mayor espacio para su codificación. o Permite introducir nuevas opciones en el futuro. - Opciones de seguridad tanto para autenticación como para encriptación. PABLO ARELLANO www.theglobeformacion.com Página 39 B4T7 MODELO TCP/IP Y OSI TAI - Soporte para QoS mediante etiquetas. - Soporte para tráfico en tiempo real (por ejemplo, VoIP). - Encaminamiento jerárquico basado en prefijos (dirección/prefijo). - Implementación de Jumbogramas (paquetes de gran tamaño). - Soporte nativo y mejorado del direccionamiento multicast y creación del direccionamiento anycast. - IPv6 no implementa broadcast. - Soporte optimizado de movilidad IP (sin reasignación de direcciones). - Mecanismos de transición desde la versión 4. IPv4 vs IPv6 CARACTERÍSTICA IPv4 IPv6 Longitud de direcciones 32 bits 128 bits Clases de direcciones Clase A, Clase B, Clase C Direcciones sin clase (Classless) Tipo de direcciones Unicast, Multicast, Broadcast Unicast, Multicast, Anycast Estática (a través de ficheros de Autoconfiguración (plug and Configuración de dirección configuración) o por DHCP play) o por DHCP Formato cabecera Complejo. Longitud variable Simple. Longitud fija Sí, aunque no soportado totalmente Calidad de servicio Sí por routers Soporte tráfico en tiempo real No Sí Seguridad No Sí Tipos de direcciones IPv6 - UNICAST: (UNO A UNO) identifican a una única interfaz en la red. Un paquete dirigido a una dirección unicast se entregará únicamente a la interfaz identificada con dicha dirección IP. - MULTICAST: (UNO A MUCHOS) identifican a un grupo de interfaces en la red. Un paquete dirigido a una dirección multicast se entrega a todos los interfaces identificados con esa dirección. Implementan también el tráfico broadcast de IPv4, ya que cada LAN se considera un grupo de multidifusión. - ANYCAST: (UNO AL MÁS CERCANO DE MUCHOS) identifican a un grupo de interfaces en la red. Un paquete dirigido a una dirección anycast se entrega a uno solo de los interfaces con esa dirección. Transmisión reservada solo para routers (envío al más cercano). PABLO ARELLANO www.theglobeformacion.com Página 40 B4T7 MODELO TCP/IP Y OSI TAI Notación direcciones IPv6 Las direcciones tienen una longitud de 128 bits, empleándose la notación hexadecimal: - La dirección se divide en 8 bloques de 16 bits cada uno. - Cada bloque se escribe en hexadecimal con 4 dígitos (entre 0000 y FFFF). - Los bloques se separan por :. Ejemplo: dirección IPv6 1080:0000:0000:0000:0008:0800:200C:741A 2001:0DB8:0000:0000:0002:0000:5555:4777 IPv6 permite la notación abreviada: - En cada bloque los ceros a la izquierda se pueden omitir (0000 à 0, 0074 à 74) - Los grupos formados por cuatro ceros (0000) se pueden sustituir por 0. - Las cadenas de ceros (por ejemplo, 0:0:0) se pueden comprimir con el símbolo :: (esto solo se puede hacer una única vez). Ejemplo: eliminación de ceros iniciales y sustitución de grupos de 0000 por un 0. 2001:0DB8:0000:0000:0002:0000:5555:4777 2001:DB8:0:0:2:0:5555:4777 Ejemplo: compactación con :: 2001:DB8:0:0:2:0:5555:4777 2001:DB8::2:0:5555:4777 Ejemplo: compactación con :: 21AB::A::1234:5678 (incorrecto) 21AB:0:0:A:0:0:1234:5678 → 21AB::A:0:0:1234:5678 (correcto) La compactación con :: solo se puede hacer una única vez, pues para recuperar la dirección habrá que rellenar el espacio entre los : con ceros hasta llegar a la longitud total de la dirección. Si lo hiciéramos varias veces no sabríamos cuántos ceros debemos insertar en cada uno de esos puntos. Por último, las direcciones son sin clase para soportar el direccionamiento jerárquico dividiéndose en prefijo (se denota en CIDR) y sufijo. PABLO ARELLANO www.theglobeformacion.com Página 41 B4T7 MODELO TCP/IP Y OSI TAI Ejemplo: FEDC:BA98:7654:3210:0123:4567:89AB:CDEF/64 1080:0:0:0:8:800:200C:741A/64 Formato de las direcciones La dirección IPv6 se comporta como dos partes de 64 bits cada una. Los 64 bits de mayor peso los constituyen los 48 bits que entrega el proveedor de acceso o administrador de la red, y a continuación los 16 bits que indican la subred concreta. Los 64 bits de menor peso se configuran automáticamente por medio del identificador de interfaz, aunque también pueden ser configurados de forma manual, o con otros mecanismos si así se prefiere. Los primeros 48 bits están reservados para el enrutamiento en internet y los fija el ISP, los siguientes 16 son para subredes y los 64 restantes son para asignar direcciones a los dispositivos. sólo vamos a manejar los bits del 48 al 63 (16 bits) para crear el esquema de direccionamiento de la organización. En estas condiciones se pueden crear hasta 216 = 65536 subredes, detrás del prefijo principal de la organización. En los dispositivos siempre se manejarán máscaras del tipo /64. Mientras que en las tablas de enrutamiento de los routers internos de la organización deberían manejarse prefijos entre 48 y 64 bits. La disponibilidad de 16 bits para la creación de subredes, sin que esto suponga un desperdicio de direcciones, permite crear esquemas de direccionamiento jerarquizados. Ámbito de las direcciones UNICAST Determinan la zona de validez de la dirección. Tenemos: - UNICAST Privada de enlace local (link-local): válida dentro del enlace en el que está conectado la interfaz de red (por ejemplo, una LAN). Características: definen direcciones privadas unicast que se usan en intranets; es un espacio de direcciones plano; nunca se encamina fuera de la zona de ámbito del enlace y permite la autoconfiguración. Formato: o El prefijo de formato ocupa 10 bits: 1111 1110 10 (FE80::/10). o El resto de los primeros 64 bits son 0. o Identificador de interfaz (64 bits). Ejemplo: fe80::2e81:58ff:fee9:64bb/64 PABLO ARELLANO www.theglobeformacion.com Página 42 B4T7 MODELO TCP/IP Y OSI TAI - UNICAST Privada única local (unique-local): válida dentro de un sitio, que puede estar formado por una o varias redes interconectadas mediante routers (por ejemplo, un campus universitario). Sustituye a las direcciones site-local (en desuso). Características: direcciones unicast privadas que pueden usarse en intranets jerárquicas; nunca se encaminan fuera del sitio y sustituyen a las antiguas direcciones de sitio local (fec0::/10). Formato: o Prefijo de formato FC00::/7, más un bit que indica si la gestión es global (0) o local (1). o Identificador de sitio (40 bits). Debe seleccionarse aleatoriamente para evitar colisiones. o Identificador de subred (16 bits). o Identificador de interfaz (64 bits). Ejemplo: fd12:A128:e8e1:1:FEDC:BA98:7865:4321/64 - UNICAST Global: (PÚBLICA U OFICIAL) válida en todo Internet. Formato: o Prefijo global encaminamiento (48 bits). Los primeros tres bits son 001 y permiten 245 organizaciones (ISP) diferentes. Es la única parte relevante en el encaminamiento global. Prefijo actual 2001. o Identificador de subred (16 bits), 65536 subredes por organización. o Identificador de host (64 bits). Ejemplo: 2001:A128::32:FEDC:BA98:7865:4321/64 Ejemplo: La dirección IPv6 pública según RFC 3986 debe ir contenida entre corchetes (no sensible a mayúsculas y minúsculas). http://[2001:720::212:6bff:fe11:1111]:8080/index.html PÚBLICAS LOCALES ÚNICAS ENLACE LOCAL (internet) (intranet) (red) PABLO ARELLANO www.theglobeformacion.com Página 43 B4T7 MODELO TCP/IP Y OSI TAI Direcciones MULTICAST Formato: - El prefijo de formato es FF00::/8. - Flags(4bits) indican si es una dirección permanente o temporal para una comunicación. - Ámbito (4bits). - Grupo Multicast (112bits). Direcciones ANYCAST Características: - Solo pueden asignarse a un router IPv6. - No tiene un espacio propio de direccionamiento, por lo que es sintácticamente igual a una dirección unicast, pero con el ID de interfaz a cero. - Solo pueden usarse como direcciones de destino, nunca como direcciones de origen. Resumen de direcciones DIRECCIÓN DESCRIPCIÓN ::/0 Ruta por omisión (equivale a 0:0:0:0 de IPv4) ::/128 Todo ceros. Ausencia de dirección ::1/128 Dirección de loopback (análoga a 127.0.0.1 de IPv4) fe80::/10 Dirección unicast de enlace local fc00::/7 Dirección unicast de sitio local ff00::/8 Direcciones multicast fec0:: Dirección unicast de sitio local (en desuso) ::ffff:/96 Dirección IPv4 codificada (::ffff:1.2.3.4/96) PABLO ARELLANO www.theglobeformacion.com Página 44 B4T7 MODELO TCP/IP Y OSI TAI Datagrama IPv6 El formato del datagrama IPv6 es: - cabecera fija (40 bytes) + - cabeceras de extensión (opcionales y en número ilimitado) + - PDU del protocolo superior. Cabecera IPv6 - Versión: 4 bits. Versión del protocolo, en este caso 6. - Prioridad/Clase de tráfico: 8 bits. Distingue diferentes requisitos de entrega del datagrama (equivalente al campo ToS de IPv4). - Etiqueta de flujo: 20 bits Etiqueta el paquete como perteneciente a un flujo para mejorar el procesamiento realizado por los routers. Un flujo comparte las mismas características (origen/destino, requisitos...). Es usado por protocolos de tiempo real. - Longitud de carga útil: 16 bits. Longitud del paquete sin contar la cabecera de 40 bytes, es decir, la suma de las cabeceras de extensión y datos. Por tanto, máximo tamaño de carga 64KB. - Siguiente cabecera: 8 bits. Identifica el tipo de cabecera que sigue a la cabecera IPv6. PABLO ARELLANO www.theglobeformacion.com Página 45 B4T7 MODELO TCP/IP Y OSI TAI Código Siguiente Cabecera 0 Salto a salto 6 TCP (protocolo nivel superior) 17 UDP (protocolo nivel superior) 43 Encaminamiento 44 Fragmentación 50 Encriptación 51 Autenticación 60 Opciones para el destino - Límite de saltos: 8 bits. Número restante de saltos permitidos. Equivalente a TTL de IPv4. - Dirección origen: 128 bits. - Dirección destino: 128 bits. Las cabeceras de extensión incluyen el campo cabecera siguiente que nos llevará al tipo de cabecera de extensión que viene a continuación o identificará el protocolo de nivel superior, según corresponda. En la tabla anterior se muestran los tipos de cabecera de extensión y los dos protocolos de nivel superior (no son cabeceras de extensión). Por último, mostramos gráficamente un datagrama con varias cabeceras de extensión: PABLO ARELLANO www.theglobeformacion.com Página 46 B4T7 MODELO TCP/IP Y OSI TAI Comparativa de la cabecera IPv4 e IPv6: PABLO ARELLANO www.theglobeformacion.com Página 47 B4T7 MODELO TCP/IP Y OSI TAI 5. OTROS PROTOCOLOS DEL NIVEL DE RED 1. Protocolo ICMP El protocolo IP no tiene ningún mecanismo para enviar mensajes de errores en las transmisiones de datos. De ello se encarga ICMP (Internet Control Message Protocol) especificado en el RFC 792. ICMP proporciona un mecanismo que puede informar de posibles errores, ofreciendo también información de control, de congestión de red, cambios en rutas… Es utilizado como herramienta básica de diagnóstico. Características: - ICMP es un usuario de IP. Los paquetes ICMP van encapsulados en datagramas de IP y a su vez IP debe usar ICMP. - ICMP informa de errores en los datagramas de IP pero no de errores en los paquetes ICMP. - Si IP usa datagramas fragmentados, ICMP informa solo de errores en el primer trozo recibido. - ICMP permite enviar información de control sobre la red. - Los mensajes de error son enviados al nodo emisor del datagrama y no indican que router causó el problema. Formato de un paquete ICMP: Esta estructura está incluida dentro de la parte de datos de un datagrama IP cuyo campo Protocolo de la cabecera tiene el valor 1. Los tres primeros campos de la estructura son obligatorios para todos los mensajes ICMP. PABLO ARELLANO www.theglobeformacion.com Página 48 B4T7 MODELO TCP/IP Y OSI TAI Tipos y códigos de los mensajes: Tipo Código Descripción Objetivo 0 0 echo reply (ping) PING 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable Informar de errores 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 congestion control (no usado) 8 0 echo request (ping) PING 9 0 route advertisement Control de routers 10 0 router discovery 11 0 TTL expired Informar de errores 12 0 bad IP header Mediante ICMP se ofrece el servicio de ping: - El emisor envía un paquete ECHO REQUEST - El receptor Responde con un paquete ECHO REPLAY al emisor. También, mediante ICMP se ofrece el servicio de tracert: - El origen envía mensaje ICMP ECHO REQUEST con TTL incrementable hasta alcanzar el host destino. El 1º datagrama expira en el router 1 (respondiendo con un mensaje tipo 11, tiempo excedido), el 2º datagrama en el router 2 (respondiendo con un mensaje tipo 11), y así, hasta alcanzar el destino. PABLO ARELLANO www.theglobeformacion.com Página 49 B4T7 MODELO TCP/IP Y OSI TAI ICMPv6 Nueva versión de ICMP para IPv6 definido en RFC 4443. Los mensajes ICMPv6 se encapsulan en paquetes IPv6. Algunos protocolos como ARP e IGMP en IPv4 son ahora parte de los mensajes ICMPv6. Los tipos de mensajes se clasifican en mensajes de error (destino inalcanzable, tiempo excedido, paquete demasiado grande o problemas con los parámetros) o en mensajes de información (solicitud y respuesta echo…). El formato de la cabecera mantiene los campos de ICMPv4: - Tipo: 8 bits. Indica el tipo de mensaje. Si primer bit "0" mensaje de error, si primer bit "1" mensaje de información. - Código: 8 bits. Depende del tipo de mensaje al igual que ICMPv4. - Suma de verificación. 16 bits. Los tipos de mensajes ICMP son: Tipo Descripción 1 Destino inalcanzable 2 Paquete IPv6 demasiado grande 3 Tiempo excedido 4 Problemas con los parámetros 128 Solicitud de echo 129 Respuesta de echo 130 Sondeo de pertenencia a grupo 131 Informe de pertenencia a grupo 132 Terminación de pertenencia a grupo 133 Solicitud de router PABLO ARELLANO www.theglobeformacion.com Página 50 B4T7 MODELO TCP/IP Y OSI TAI 134 Anuncio de router 135 Solicitud de vecino 136 Anuncio de vecino 137 Redirección La combinación de los mensajes 130, 131 y 132 es el equivalente al protocolo IGMP. La combinación de los mensajes 135 y 136 es el equivalente al protocolo ARP. 2. Protocolo IGMP El protocolo IGMP (Internet Group Management Protocol) definido en RFC 1112 es un protocolo del nivel de red es utilizado por los routers para intercambiar información sobre la pertenencia a un grupo. Actualmente, la versión actual es IGMPv3 especificado en RFC 3376. 3. Protocolo ARP El protocolo ARP definido en el RFC 826 es un protocolo de apoyo al nivel de red que efectúa la resolución de la dirección IP a la dirección física (dirección MAC en LAN) para los datagramas IP salientes. Cuando un nodo está conectado a una red tiene una dirección física a la que deben dirigirse todas las tramas de red que deba recibir este nodo. Por tanto, cuando un datagrama debe ser enviado a una dirección IP, debe ser encapsulado en tramas de red con la dirección física de destino. ARP es quien realiza esta traducción de direcciones y, para ello, tiene unas tablas donde se guardan asociadas las direcciones IP y físicas. Cuando es preciso enviar un datagrama a una dirección IP, primero se busca en la tabla anterior del nodo origen (tabla ARP o caché ARP). Si no está, se envía un mensaje ARP de difusión (petición ARP), cuya estructura depende del tipo de red, a toda la red (FF:FF:FF:FF:FF:FF), con la dirección IP a la que enviar el datagrama. Si una de las máquinas reconoce la dirección IP en el paquete como suya devuelve una respuesta ARP con su dirección física al nodo emisor, que anotará esta dirección en la tabla ARP y seguidamente enviará los datagramas. El protocolo ND (Neighbor Discovery Protocol, protocolo de descubrimiento de vecinos) se utiliza junto con el protocolo IPv6. Su principal objetivo es resolver las direcciones IPv6 en direcciones MAC válidas. Por tanto, es el equivalente al protocolo ARP en IPv4. También incorpora funcionalidades de ICMPv6. PABLO ARELLANO www.theglobeformacion.com Página 51 B4T7 MODELO TCP/IP Y OSI TAI 4. Protocolo RARP El protocolo RARP (Reverse Address Resolution Protocol) estandarizado en el RFC 903 trabaja como su nombre indica de forma inversa al protocolo ARP y es utilizado por los hosts que no conocen su propia dirección IP para solicitarla al servidor RARP, es decir, se conoce la dirección física de un host y se necesita conoc