REDES Y COMUNICACIONES CAPÍTULO 4: CAPA DE RED



Documentos relacionados
EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET


REDES INFORMATICAS: Protocolo IP

TELECOMUNICACIONES Y REDES

Unidad I: La capa de Red

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 8: El nivel de transporte en Internet

PROTOCOLOS DE ENRUTAMIENTO

Problemas sobre Dispositivos de Interconexión Sistemas Telemáticos I

(decimal) (hexadecimal) 80.0A.02.1E (binario)

Universidad de Antioquia Juan D. Mendoza V.

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

WAN y Enrutamiento WAN

El Protocolo IP. Tema 3. Servicio y Protocolo IP. Aplicaciones en Redes Locales 05/06

Roles y Características

Conmutación. Conmutación telefónica. Justificación y definición.

DIRECCIONAMIENTO IPv4

Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS

INTRODUCCION. Ing. Camilo Zapata Universidad de Antioquia

cambiar la dirección IP) con independencia de la localización, movimiento e infraestructura de red utilizada.

Dispositivos de Red Hub Switch

Capas del Modelo ISO/OSI

Aspectos Básicos de Networking

Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma

Examen Febrero 2002 Test Resuelto Temas 9-13

7. VLSM. IST La Recoleta

Direcciones IP IMPLANTACIÓN DE SISTEMAS OPERATIVOS 1º ASIR. En redes IPv4.

Informàtica i Comunicacions Plaça Prnt. Tarradellas, FIGUERES (Girona) Tel Fax

Concentradores de cableado

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo ICMP

Introducción a la Administración de una Red bajo IP

El Modelo de Referencia OSI

Sistemas Operativos. Sesión 5: Protocolos de enrutamiento vector distancia

Jhon Jairo Padilla Aguilar, PhD.

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Capa de TRANSPORTE. Ing. José Martín Calixto Cely Original: Galo Valencia P.

CFGM. Servicios en red. Unidad 2. El servicio DHCP. 2º SMR Servicios en Red

Redes (4º Ing. Informática Univ. Cantabria)

IPv6. Autores: Belén Aldecoa Sánchez del Río Luis Alberto Ramon Surutusa

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

La vida en un mundo centrado en la red

Direcciones IP y máscaras de red

Una ACL es una lista secuencial de sentencias de permiso o denegación que se aplican a direcciones IP o protocolos de capa superior.

INTERNET 4º ESO INFORMATICA / DEP. TECNOLOGIA

Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking

Fundación Universitaria San. Direccionamiento IP

Efectos de los dispositivos de Capa 2 sobre el flujo de datos Segmentación de la LAN Ethernet

4.1 Introducción a los protocolos por vector distancia.

ARP. Conceptos básicos de IP

Redes I Soluciones de la Práctica 1: /etc/network/interfaces, tcpdump y wireshark

CONVERSIÓN DE UN NÚMERO EN BINARIO A DECIMAL Y VICEVERSA

INSTITUTO TECNOLÓGICO DE SALINA CRUZ. Fundamentos De Redes. Semestre Agosto-Diciembre Reporte De Lectura

Redes de Computadoras Junio de Teoría y problemas

Bloque IV: El nivel de red. Tema 10: Enrutamiento IP básico

Unidad IV: TCP/IP. 4.1 Modelo Cliente-Servidor

Ing. Ma. Eugenia Macías Ríos. Administración de Redes

IP multicast. Introducción

Qué son los protocolos de enrutamiento Dinámico?

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

TEMA: PROTOCOLOS TCP/IP

UNIVERSIDAD DE ALCALÁ - DEPARTAMENTO DE AUTOMÁTICA Área de Ingeniería Telemática LABORATORIO DE COMUNICACIÓN DE DATOS (CURSO 2011/2012)

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

DHCP. Dynamic Host Configuration Protocol. Protocolo de Configuración Dinámica de Host. Administración de Redes de Computadores


Redes de área local: Aplicaciones y servicios WINDOWS

Enrutamiento. Emilio Hernández. Carlos Figueira

IP v6. :: Redes :: Redes : : IP v6. transporte. red. enlace. física. aplicación. Versión 28/02/11

UNLaM REDES Y SUBREDES DIRECCIONES IP Y CLASES DE REDES:

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

Capa de red de OSI. Semestre 1 Capítulo 5 Universidad Cesar Vallejo Edwin Mendoza emendozatorres@gmail.com

Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores.

CONTENIDO. 10. Protocolo RIPng 11. Direcciones IPv6

Redes de Comunicaciones. José Manuel Vázquez Naya

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Arquitectura de Redes y Comunicaciones

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

1.- FUNCION DE UNA RED INFORMATICA

Modelo TCP/IP. Página 1. Modelo TCP/IP

Tecnología IP para videovigilancia... Los últimos avances han hecho posible conectar cámaras directamente a una red de ordenadores basada en el

Práctica 4 - Network Address Translation (NAT)

Introducción a las Redes

Capítulo 12: Indexación y asociación

CSIR2121. Administración de Redes I

Redes Locales: El protocolo TCP/IP

En caso de que el cliente nunca haya obtenido una concesión de licencia de un servidor DHCP:

Qué es el enrutamiento estático?

01/10/ Conjunto de protocolos TCP/IP. Contenido. a. TCP/IP Internet OSI. a. TCP/IP Internet OSI. b. Nivel de red Protocolo IP

ARQUITECTURAS CLIENTE/SERVIDOR

Práctica 7 Network Address Translation en routers Cisco

Ejercicio corto de diseño

Título del contenido: Windows Server 2012 Detalles técnicos de redes. Módulo 1: Administración de la infraestructura de red

El gráfico siguiente muestra un uso básico de DNS, consistente en la búsqueda de la dirección IP de un equipo basada en su nombre.

CAPAS DEL MODELO OSI (dispositivos de interconexión)

Direccionamiento IP (2ª parte) Esquemas de direccionamiento IP

Examen Cisco Online CCNA4 V4.0 - Capitulo 7. By Alen.-

CCNA 2 Conceptos y Protocolos de Enrutamiento

Capítulo 11: Capa 3 - Protocolos

Protocolo PPP PPP Protocolo de Internet de línea serie (SLIP)

1.Introducción. 2.Direcciones ip

TELECOMUNICACIONES Y REDES

Transcripción:

REDES Y COMUNICACIONES CAPÍTULO 4: CAPA DE RED DAVID RODRÍGUEZ HERNÁNDEZ FECHA DE REVISIÓN: 19 Marzo 2008 ZAMORA (CURSO 2007/2008) david.rgh@gmail.com

Nota importante: Este documento no pretende reemplazar al material propuesto por la UNED para la asignatura Redes y Comunicaciones. Su finalidad es presentar de una forma esquematizada los contenidos de la asignatura, para facilitar el estudio de la misma. Es conveniente disponer de la bibliografía propuesta por la Universidad para su estudio completo. Cualquier sugerencia, comentario o corrección sobre este documento, envíelo a david.rgh@gmail.com para poder realizar los cambios necesarios. David Rguez. Hdez. Alumno de 2º ciclo Ingeniería Informática (UNED)

INTRODUCCIÓN Y MODELOS DE SERVICIO DE RED La capa de red tiene principalmente las 3 siguientes funciones: Determinación del camino: Mediante los algoritmos de rutado, que determinan el camino a seguir para enviar los paquetes. Según aumenta el número de nodos, la complejidad crece considerablemente. Encaminamiento: Los routers de la red deben saber redirigir por las salidas adecuadas los paquetes que les llegan. Establecimiento de llamada: Algunas arquitecturas de red (como ATM) requieren que los routers se pongan de acuerdo entre ellos antes de iniciar el envío (algo similar a lo que ocurría en el TCP). Denominaremos rutado al proceso que determina punto por punto toda la ruta que ha de seguir el paquete y encaminamiento a la acción que realiza un router para redirigir el paquete cuando lo recibe. Modelo de servicio de red Define las características del transporte punto a punto de los datos entre los sistemas finales emisor y receptor. Datagrama o circuito virtual? La abstracción más importante es la que en la capa de red utiliza circuitos virtuales (CV). Tiene 3 fases: Establecimiento del CV: La capa de red establece el camino a seguir y reserva los recursos necesarios para el envío. Transferencia de datos: Los datos comienzan a ser enviados. Descarte del CV: Cuando uno de los dos hosts anuncia que desea terminar, la capa de red informa al otro y actualiza las tablas de los conmutadores del camino para indicar que ya no hay circuito. La diferencia de este proceso con el establecimiento de la capa de transporte (capítulo 3) es que dicho establecimiento sólo implicaba a los hosts emisor y receptor, mientras que la capa de red involucra a todos los conmutadores que formen el camino (cada conmutador sabe qué CV lo atraviesan). Los mensajes de establecimiento o terminación se llaman mensajes de señalización, que usan los protocolos de señalización para su intercaambio. Puede verse un diagrama de un establecimiento de CV en la figura 4.2. Por otra parte, en las capas de red de datagramas no hay CV. Los conmutadores poseen unas tablas de encaminamiento, que usan para redirigir un paquete hacia su destino cuando lo reciben, pero no guardan información sobre circuitos (ya que no los hay). Estas tablas pueden modificarse, por lo que varios paquetes de un mismo mensaje pueden seguir rutas distintas. Estas dos abstracciones también se llaman respectivamente servicio de capa de red orientado a conexión y servicio de capa de red sin conexión (evidentemente, el CV necesita una conexión y los

datagramas no). En este resumen, para referirnos a la capa de red, vamos a usar servicio de CV y servicio de datagrama. Las arqutecturas de Internet usan el servicio de datagrama (conocido como servicio mejor posible). No garantiza la entrega de los paquetes ni su orden o tiempos. Hay otras arquitecturas de red que proporciona varios modelos de servicio, como la ATM. Veamos dos de los modelos de servicio más importantes de ATM: Servicio de red ATM de tasa de bit constante (CBR): El primer modelo de ARM estandarizado. La conexión es dedicada de par de cobre o fibra óptica entre los dos hosts. Las células (paquetes ATM) se envían de modo que el retardo punto a punto, la variabilidad en el retardo para una célula y la proporción de células perdidas o entregadas tarde están por debajo de unas cotas garantizadas. Estos valores se acuerdan entre el emisor y la red ATM al establecer la conexión CBR. Servicio de red ATM de tasa de bit disponible (ABR): Es algo mejor que el mejor posible. Puede perder células, al igual que el CBR, pero no se desordenan (al contrario que en Internet). Se garantiza una tasa mínima de transmisión (MCR). Si en un momento dado hay más recursos disponibles, la tasa aumenta. Recordemos que este servicio proporciona información de la congestión, por lo que se puede regular la tasa. Orígenes de los servicios de datagrama y de circuito virtual Los CV tienen su origen en la telefonía, donde había que establecer una conexión física. Es más compleja esta red que las de datagramas. El modelo de datagramas surgió por la necesidad de conectar computadores entre sí. Aquí la complejidad estaba en los dispositivos, se optó por tener la red lo más simple posible. Otras funcionalidades adicionales (reparto ordenado, control de congestión...) las tienen que implementar otra capa más externa. Este modelo de servicio de red de Internet facilita la interconexión de redes con tecnologías de capa de enlace distintas (satélite, fibra, radio, Ethernet...) y tasas de transmisión y características de pérdidas distintas. Agregando un host a la red y definiendo un nuevo protocolo de nivel de aplicación es posible añadir nuevos servicios (ej: la Web con HTTP).

PRINCIPIOS DE RUTADO La capa de red tiene que determinar el camino de cada paquete (ya sea para enviarlo como datagrama o para integrarlo en un CV). Este trabajo se llama protocolo de rutado. Cuando un host envía un paquete, lo envía al router por defecto del host (router directo o router fuente). El problema consiste en enviarlo al router destino. El algoritmo que determina ese camino se llama algoritmo de rutado y está en el núcleo de cualquier protocolo de rutado. En principio debería buscar el camino de coste mínimo, pero esto no es siempre posible (por ejemplo, porque un router del mejor camino pertenezca a la empresa X y no admita paquetes originados por la empresa Z). En la figura 4.4 se puede ver el modelo abstracto de una red, junto con el coste de cada enlace. Para hallar el camino, se debe identificar enlaces tales que: el primero y el último estén conectados a la fuente y al destino respectivamente. Además, para cualquier i, el i ésimo y el i 1 ésimo enlaces del camino deben estar conectados. Si se busca el camino de coste mínimo, la suma de costes de los enlaces ha de ser la mínima de entre todas las combinaciones posibles. Podemos clasificar los algoritmos de rutado así: Algoritmo de rutado global: Usa un conocimiento global de la red. Obtiene la información antes de realizar el cálculo. Se conocen como algoritmos de estado de enlaces. Algoritmo de rutado descentralizado: Ningún nodo tiene toda la información sobre cada enlace. Cada nodo comienza conociendo los costes de los enlaces conectados a él. Mediante un proceso iterativo de cálculo y de intercambio de información con los nodos vecinos, cada nodo va calculando gradualmente un camino de coste mínimo a uno o varios destinos. También podrían clasificarse en: Estáticos: Las rutas cambian muy lentamente a lo largo del tiempo (normalmente por intervención humana). Dinámicos: Las rutas cambian según cambian el tráfico o la topología de la red (o periódicamente). Otra forma es: Sensibles a la carga: El coste de los enlaces varía dinámicamente para reflejar el nivel actual de congestión en el enlace subsiguiente. Originalmente, ARPAnet tenía estos algoritmos. Insensibles a la carga: Los algoritmos de Internet de hoy en día son así. En Internet suelen usarse estos dos tipos de algoritmos de rutado: un algoritmo de estado de enlaces global dinámico y un algoritmo de vector de distancias descentralizado dinámico.

Un algoritmo de rutado de estado de enlaces Recuérdese que se conocen la topología de la red y el coste de cada enlace. Para ello se hace una difusión desde todos los nodos con su información sobre sus enlaces. Este algoritmo de a continuación se conoce como algoritmo de Dijkstra. Es iterativo y en la k ésima iteración se conocen los caminos de coste mínimo a k nodos distintos. En el cuadro 4.2 y el del libro se puede encontrar el algoritmo y un ejemplo. Este algoritmo requiere explorar n nodos en la primera iteración, n 1 en la segunda, n 2 en la tercera... (no tenemos en cuenta al nodo inicial en N). Por tanto, el número de nodos total a explorar es n(n+1)/2. El peor caso tiene una complejidad de n al cuadrado. En la figura 4.5 se puede observar un caso concreto que puede producir oscilaciones en una red con enlaces no simétricos cuyo coste es dependiente de la carga. Podría solucionarse impidiendo que dependan del tráfico, pero sería absurdo (ya que el rutado pretende precisamente evitar la congestión). Una solución razonable sería hacer que los routers no comprueben las rutas simultáneamente. Se ha observado que los routers pueden autosincronizarse mutuamente, propiedad que se evita por ejemplo incluyendo una cierta aleatoriedad en el periodo de arranque del algoritmo. El algoritmo de rutado por vector de distancias Es iterativo (se repite hasta que no se intercambia más información entre los vecinos), asíncrono (no requiere que los nodos operen al unísono) y distribuido (cada nodo recibe información de uno o más de sus vecinos directamente enlazados). Cada nodo tiene una tabla de distancias, que almacena (para cada destino y para cada nodo directamente accesible) el coste de llegar a ese nodo directo más el coste mínimo desde dicho nodo directo hasta el destino. Esto es, cada nodo debe conocer el coste mínimo desde cada uno de sus nodos vecinos hasta el nodo de destino. En la figura 4.6 se muestra un ejemplo de cómo se componen las tablas de encaminamiento para mostrar a continuación el algoritmo. En dicho ejemplo, se ha asumido un conocimiento global de los costes de los enlaces. En el algoritmo descentralizado (algoritmo de Bellman Ford) cada nodo sólo conoce los costes a sus nodos vecinos. Este algoritmo es muy usado. Cuando el nodo recibe un cambio en el coste de un enlace o uno de sus vecinos se actualiza, dicho nodo también actualiza sus tablas. En la figura 4.7, se puede ver este intercambio de mensajes de actualización junto a su explicación. El proceso se repite mientras se sigan enviando estos mensajes de actualización. Cuando dejan de enviarse (porque no haya más actualizaciones), el proceso se detiene automáticamente; hasta que se vuelva a recibir un nuevo mensaje. Algoritmo de vector de distancias: cambio de coste de enlace y fallo de enlace Si un nodo detecta el cambio de coste de uno de sus enlaces, actualiza sus tablas. Si alguno de sus costes mínimos cambia respecto al anterior, avisa a sus vecinos para que también actualicen sus tablas. Esto se puede ver en la figura 4.8.

En ocasiones, puede producirse el llamado bucle de rutado, como en el caso mostrado en la figura 4.9; que puede dar lugar a demoras significativas en el proceso de actualización de las tablas. Algoritmo de vector de distancias: adición de una inversa envenenada Cuando se da la situación anterior en un bucle que implique dos nodos, puede usarse la inversa envenenada para evitarla. Consiste en engañar a un nodo haciéndole creer que un enlace tiene un coste infinito (es decir, que no existe) para forzar el rutado. Sin embargo, si el bucle implica 3 o más nodos no se pueden detectar por esta técnica. Véase el ejemplo de la figura 4.10. Una computación entre los algoritmos de estado de enlaces y los de rutado por vector de distancias Comparemos algunos de los aspectos entre los algoritmos de estado de enlaces y de vector de distancias: Complejidad de mensajes: El EE requiere el envío de O(nE) mensajes para que los nodos tengan el conocimiento global (n es el nº de nodos de la red y E el número de enlaces) y cuando cambia un coste, debe propagarse de nuevo a todos los enlaces. Sin embargo, el VD solo requiere el intercambio de mensajes entre los vecinos de cada iteración (el tiempo que tarde dependerá de muchos factores). Además, si cambian costes de enlaces, sólo se necesita propagar los resultados si el nuevo coste del enlace resulta en un menor coste en el camino para uno de los nodos conectados a ese enlace. Velocidad de convergencia: Ya hemos visto antes el nº de mensajes necesarios en el EE. En el VD la convergencia puede ser lenta (según sean los costes de los caminos relativos) y pueden aparecer bucles de rutado, además de sufrir los problemas de la cuenta de nunca acabar (figura 4.9). Robustez: En EE, los cálculos son independientes para cada nodo, lo que significa que si un nodo se corrompe y da costes erróneos para un enlace, el alcance del efecto es limitado. En VD, cada información transmitida se va difundiendo a cada iteración, con lo que el fallo se propagaría a toda la red. Ninguno de los dos algoritmos resulta ganador; ambos se usan en Internet. Otros algoritmos de rutado Aunque EE y VD son prácticamente los únicos hoy en día, se han propuesto otros algoritmos. Por ejemplo, el rutado de la patata caliente, en el que cada router intenta enviar los paquetes lo antes posible (lo encamina hacia cualquier enlace sin congesión, sin importar su destino). También están los algoritmos de rutado de circuitos conmutados (derivados de la telefonía), interesantes para las redes conmutadas de paquetes en el caso de que sea preciso reservar recursos por enlace (buffers, fracción del ancho de banda...) en cada conexión que deba ser rutada por ese enlace.

RUTADO JERÁRQUICO Hasta ahora hemos visto la red como un conjunto de routers independientes que ejecutan todos el mismo algoritmo de rutado. Pero esto es muy simplista por estas razones: Escala: La red va creciendo. Eso supone un mayor almacenamiento de datos que llega a volverse intratable. Actualmente, Internet consta de miles de millones de máquinas. Todo esto supondría una sobrecarga enorme en los cálculos de rutado. Autonomía administrativa: Una organización debería poder operar y administrar su red como quiera, mientras siga siendo capaz de conectar su red al resto de redes. Esto se resuelve usando sistemas autónomos (SA). Dentro de cada SA, se realiza el modelo ideal ya mencionado, en que cada router ejecuta el algoritmo y cada router tiene información del otro. Evidentamente, los SA deben estar interconectados. Los routers que se encargan de encaminar paquetes fuera de su SA, se llaman gateways. Estas pasarelas deben saber cómo determinar los caminos de rutado entre ellas. El algoritmo usado para ello es el protocolo de rutado de sistema interautonómico. Con este algoritmo, los problemas de escala y de autonomía administrativa quedan resueltos. Las figuras 4.12, junto a los textos que las acompañan, muestran un ejemplo de esto.

EL PROTOCOLO INTERNET (IP) El IP es sólo una parte de la capa de red de Internet, pero muy importante. La capa de red de internet consta de tres componentes: IP: Define el direccionamiento de la capa de red, los campos del datagrama y las acciones tomadas por los routers y los sistemas finales sobre el datagrama basándose en los valores de dichos campos. Existen dos versiones de IP: la versión 4 y la versión 6. Componente de determinación de ruta: Determina el camino que ha de seguir un datagrama desde la fuente hasta el destino. ICMP: Es un mecanismo de información de errores mediante datagramas. Direccionamiento Ipv4 Un host suele tener sólo un punto de enlace con la red. La frontera entre el host y el enlace físico se llama interfaz. Un router tiene más de un enlace (ya que su trabajo es recibir un datagrama entrante y redirigirlo a la salida adecuada). La frontera entre un router y sus enlaces también se llaman interfaces. La dirección IP es una característica asociada a la interfaz de cada host o router. Tiene un tamaño de 4 bytes, normalmente en notación decimal punteada (cada bytes se traduce a decimal y se separan por puntos). Cada interfaz tiene una IP única, pero éstas no pueden cogerse al azar, como veremos más adelante. La figura 4.14 muestra un ejemplo de direccionamiento e interfaces IP. En ella pueden verse 3 redes IP, que comparten el mismo enlace y los tres primeros bytes de las direcciones IP. La dirección de una de las redes, por ejemplo, sería 223.1.1.0/24. El 24 indica que los 24 primeros bits (3 bytes) indican la red (prefijo de red), que en este caso es la 223.1.1. El 4º byte determinará la interfaz dentro de esa red. El /24 se llama máscara de red. La red IP no es sólo segmentos que unan interfaces de host con interfaces de router. También pueden (como muestra la figura 4.16) ser segmentos entre interfaces de routers. Existen 4 clases de redes (figura 4.17), aunque hay una 5ª clase reservada para usos futuros (empieza por 11110). En la figura mencionada puede verse, para cada clase, la parte destinada a la red y la parte destinada al host. Esta división de clases se conoce como direccionamiento de clases. Sin embargo, no es útil para la arquitectura actual de Internet; ya que el requisito es que la dirección de red debe ser bytes enteros (para una empresa, una clase puede ser demasiado pequeña pero pasar a la siguiente clase sería demasiado grande y desaprovechar direcciones). Por ello, en 1993, el IETF estandarizó el CIDR (rutado interdominio sin clases). Esto permite que el número de bits que componen la dirección de red no deba coincidir con bytes enteros. Incluso los bits dejados para la dirección del host pueden usarse para crear subredes Obtención de una dirección de red Para obtener la dirección, el host contacta con su ISP, que tiene reservado un bloque mayor de direcciones IP. Dicho ISP puede incluso dividir ese bloque en sub bloques más pequeños para distintas organizaciones. Las figuras 4.18 y 4.19 muestran un ejemplo.

Estos ISP también tienen que obtener las direcciones IP de algún sitio. Esta asignación la controla la Corporación de Internet para la Asignación de Nombres y Números (ICANN). Esta corporación no solo asigna direcciones IP, sino que también gestiona los servidores raiz DNS. Obtención de direcciones de host Una vez que el ISP asigna el bloque de direcciones, pueden asignarse las direcciones IP del host manual o automáticamente (mediante DHCP). DHCP puede asignar una dirección IP concreta siempre al mismo host o puede asignar IP s temporales. Esto es importante sobre todo con la aparición de dispositivos móviles (ej, un ordenador portátil), que puede conectarse cada vez a una red distinta. O en una red pública, cada vez se conectan distintos dispositivos. Desplazamiento de un datagrama desde su fuente al destino: direccionamiento, rutado y encaminamiento Los datagramas tienen un campo de dirección de origen y otro de dirección de destino. Si el origen y el destino tienen la misma red, el host encuentra en su tabla de encaminamiento la dirección de destino con un número de saltos de 1. Se pasa el datagrama a la capa de enlace, que lo conduce hasta su destino. Si el destino está en una red distinta, el host de origen sabe a qué otro router hay que enviarlo para que se lleve a cabo la transferencia a partir de él. Cuando el datagrama llega al router intermedio, éste consulta en su tabla de encaminamiento para averiguar por qué interfaz de salida debe remitirlo. Además, y de manera análoga al host, averigua si hay que enviarlo a otro router más o si puede llevarse directamente al host de destino. Véanse los ejemplos de las figuras 4.21 y 4.22. Así pues, las tablas de encaminamiento juegan un papel fundamental. Estas tablas deben estar bien configuradas para que las rutas que indiquen sean las más adecuadas. Formato de datagrama Los campos clave de Ipv4 son los siguientes: Número de versión: Son 4 bits que indican la versión del protocolo IP del programa. Longitud de la cabecera: El datagrama puede tener un número variable de opciones, por lo que se tiene que especificar su longitud. Si no tiene opciones, la cabecera es de 20 bytes. Tipo de servicio: Así se pueden diferenciar distintos tipos de datagrama IP (FTP, telefonía IP...). Longitud del datagrama: Longitud total del datagrama IP. Este campo tiene una longitud de 16 bytes (máximo 65.353 bytes en el datagrama, aunque no suele superar los 1500 y suelen estar limitados a 576 bytes). Identificador, indicadores, índice de desplazamiento: Están relacionados con la fragmentación IP. La Ipv6 no permite esta fragmentación IP.

Tiempo de vida: Permite que un datagrama no circule indefinidamente. Cada vez que un router procesa el datagrama, este valor se decrementa hasta que llegue a 0. Protocolo: Se usa cuando el datagrama IP alcanza su destino. Indica el protocolo de la capa de transporte que debe usar el destino. Por ejemplo, el valor 6 indica TCP y el 17 UDP. Suma de comprobación de la cabecera: Ayuda al router a detectar errores de bit en los datagramas. Se almacena el complemento a 1 de la suma de cada par de bits. Si la suma no coincide con el valor, se detecta un error y se deshecha el paquete. Aunque TCP/IP comprueba errores en la capa de red, es necesario hacerla; ya que TCP/UDP e IP no tienen por qué aparecer en la misma pila de protocolos002e Direcciones IP fuente y destino: 32 bits en cada una. De especial mención es la dirección de difusión (255.255.255.255 (se entrega a todos los hosts de la misma red)). Opciones: Se usan en raras ocasiones. No siempre aparecen, lo que complica el procesamiento y sus tiempos. Estas opciones se eliminaron en IPv6. Datos: Los datos propios del datagrama. Pueden ser segmentos TCP, UDP, mensajes ICMP... Fragmentación del datagrama IP Cada protocolo puede llevar paquetes de distintos tamaños. No todos pueden llevar paquetes de un determinado tamaño. La MTU (unidad de transferencia máxima) determina el tamaño máximo de cada paquete. El problema está en que, en un router, los enlaces de entrada y salida tengan distintos MTU. Si el paquete que llega es demasiado grande, hay que fragmentarlo (y reensamblarlo al llegar al destino). Para que el host destino pueda determinar si el paquete está fragmentado y cómo debe reensamblarlo, tenemos los campos de identificador, indicador e índice de desplazamiento. Cada datagrama tiene un número de identificación asignado por el emisor. El bit indicador se pone a 0 sólo en el último fragmento de un datagrama, para que el destino pueda detectar cuándo debe comenzar a reensamblar. Asimismo, para detectar pérdidas de fragmentos tenemos el campo de desplazamiento dentro del datagrama, que indica en qué posición va. Véase el ejemplo de la figura 4.24. Debido a la sobrecarga que implica, la fragmentación debe estar bajo control. Esto puede hacerse limitando el tamaño de los segmentos (para evitar posibles fragmentaciones). Si el tamaño es menor de 536 bytes, no habrá fragmentación (teóricamente), ya que cada enlace puede llevar al menos 576 bytes (536 de datos, 20 de cabecera de segmento TCP y 20 de cabecera IP). ICMP: protocolo de mensajes de control de Internet Este protocolo sirve para comunicar información de la capa de red de un host, router o pasarela a otro. Suele servir para informar de errores (ej: si un router no puede alcanzar el destino). Aunque ICMP suela considerarse como parte de IP, en realidad (arquitectónicamente) se encuentra sobre IP (los mensajes van dentro de paquetes IP).

Los mensajes ICMP tienen un campo de tipo y código y los 8 primeros bytes del datagrama IP que envió el mensaje. Por ejemplo, el mensaje ping es de tipo 8 y código 0. El host de destino de ese ping devuelve como respuesta otro mensaje ICMP de tipo 0 y código 0. Otro ejemplo de ICMP es el apaciguamiento de fuente (source quench), aunque es infrecuente su uso. Sirve para efectuar un control de la congestión. Otro ejemplo es el programa Traceroute, que utiliza mensajes ICMP para hallar la ruta. En la figura 4.25 puede verse una tabla con los distintos tipos de mensajes ICMP. Protocolo de configuración dinámica de host Ya habíamos hablado antes de DHCP. Es un protocolo cliente servidor. Cada red tiene un servidor DHCP. Cuando llega un nuevo host a la red, se producen los siguientes pasos: Descubrimiento del servidor DHCP: El host envía un mensaje de descubrimiento DHCP, que se usa para localizar el servidor. Este mensaje se envía hacia el puerto 67. Como no hay un destino a priori, el mensaje se envía por difusión (255.255.255.255). Ofrecimiento de servicio DHCP: Los servidores que reciben el mensaje anterior responden con un mensaje de ofrecimiento DHCP. Este mensaje contiene el ID de transación que estaba en el mensaje de descubrimiento, y el tiempo de concesión de la dirección IP ofrecida. Este mensaje está en un segmento UDP que a su vez está en un paquete IP, que a su vez está en la trama de la capa de enlace que se envía al cliente de llegada. Petición DHCP: El cliente elige una de las ofertas recibidas y responde con un mensaje de petición DHCP, que repite los parámetros de configuración. ACK DHCP: El servidor responde con un ACK confirmando los parámetros solicitados. Una vez que el cliente recibe el ACK, ya puede usar la IP asignada. El servidor DHCP también permite renovar la dirección IP asignada a un cliente. Véase el ejemplo de la figura 4.27. El servicio que proporciona DHCP es útil sobre todo en redes públicas donde cada vez se conectan personas distintas (de otra forma, el administrador tendría que asignar manualmente IP s a todos y cada uno de los usuarios cada día). Sin embargo, si cambia la IP de un host, no puede mantener una conexión con una aplicación remota (más adelante veremos el IP móvil que evita este problema). Traductores de direcciones de red (NAT) Si una red se amplía pero el ISP ya había asignado un rango de direcciones (insuficiente para la nueva red), tenemos un problema. Para ello tenemos la traducción de direcciones de red. Es un mecanismo utilizado por routers IP para intercambiar paquetes entre dos redes que se asignan mutuamente direcciones incompatibles. Consiste en convertir en tiempo real las direcciones utilizadas en los paquetes transportados. Esto se realiza mediante las tablas de traducción NAT, como se puede ver en el ejemplo de la figura 4.28.

Los detractores de NAT indican que los números de puerto habían sido ideados como mecanismos de procesos y no de máquinas. Además argumentan que los routers se supone que sólo procesan paquetes hasta nivel 3. Por otra parte, dicen que NAT viola el argumento de extremo a extremo (los hosts deberían poder hablar directamente uno con otro sin que otros nodos cambien las direcciones IP o puertos). Indican además que, en lugar de parchear para solucionar el problema, se debería usar IPv6. Sin embargo, hoy en día el protocolo NAT es importante en Internet.

RUTADO EN INTERNET Rutado intrasistema autónomo en Internet: RIP y OSPF Se usan para determinar cómo rutar dentro de un SA. Se conocen también como protocolos de pasarela interna. RIP: Protocolo de información de rutado Fue uno de los primeros protocolos intra SA y hoy se suige usando ampliamente. Es un protocolo de vector distancia. Es parecido al ideal que vimos anteriormente. Usa el recuento de saltos como métrica para el coste (cada enlace tiene un coste 1). Cada 30 segundos, se intercambian las actualizaciones de rutado (recuérdese el funcionamiento del vector distancia), mediante un mensaje de respuesta RIP. Este mensaje contiene una lista de hasta 25 redes destinos dentro del SA, así como la distancia del emisor a cada una de esas redes. Véase el ejemplo de las figuras 4.29 y 4.30 (junto a sus respectivas explicaciones). Si un router no recibe información de su vecino en 180 segundos, considera que ya no hay enlace con él, por lo que actualiza su tabla de encaminamiento y avisa a sus vecinos. También pueden enviar sobre UDP y el puerto 520 un mensaje de petición RIP para preguntar a un vecino por el coste a cierto destino. Puede parecer rebuscado implementar una función de capa de red utilizando un protocolo de capa de transporte (UDP) sobre un protocolo de capa de red (IP), pero puede aclararse con la figura 4.33. Se recomienda ver también la figura 4.34 para comprender la tabla de rutado RIP. OSPF: Primero el camino abierto más corto Fue pensado para suceder a RIP. Usa un flujo de información de estado de enlaces y un algoritmo de Dijkstra de camino de coste mínimo. Cada router construye un grafo dirigido del SA completo. A partir de este árbol de caminos de coste mínimo, se crea la tabla de encaminamiento del router. OSPF no establece los costes de los enlaces, sino que eso lo hace el administrador de la red. Lo que hace OSPF es proporcionar un mecanismo para determinar el rutado de coste mínimo. La información sobre el estado de los enlaces que un router transmite no la envía sólo a sus vecinos, sino que la difunde. Esto lo hace cada vez que quiere que haya un cambio en el estado de un enlace y también periódicamente (para añadir robustez). Los mensajes OSPF se envían directamente por IP con un protocolo de capa superior de 89 para OSPF. Este protocolo debe implementar por sí mismos funcionalidades como la transferencia fiable de mensajes y la difusión del estado de enlaces. Veamos algunos de los avances de OSPF: Seguridad: Todos los intercambios entre los routers OSPF van autenticados. Múltiples caminos con el mismo coste: OSPF permite usar la multiplicidad de caminos. Soporte integrado para rutado por unidifusión o multidifusión: Es el multicast OSPF (MOSPF). Emplea la base de datos de enlaces existente en OSPF y añade un nuevo tipo de anuncio de estado de enlaces al mecanismo existente de difusión de estado de enlaces OSPF.

Soporte de jerarquía en un único dominio de rutado: Puede estructurar jerárquicamente un SA. Cada SA puede configurarse en áreas, que ejecutan su propio algoritmo de rutado de estado de enlaces OSPF. La difusión se realiza dentro de esa área. En una red OSPF se pueden encontrar los siguientes tipos de router: Routers internos: Realizan rutado intra SA. Están fuera de áreas troncales (áreas que rutan el tráfico entre el resto de las áreas). Routers de frontera de área: Pertenecen tanto a la frontera como al área troncal. Routers troncales: Efectúan rutado en la troncal, aunque no son routers de frontera de área. Routers de frontera: Intercambia información de rutado con los routers de otros SA. Rutado Intra SA: BGP El actual estándar es la versión 4: BGP4 o simplemente BGP. Es un protocolo para el rutado Intra SA. Tiene el mismo aspecto general que el protocolo de vector distancias, pero la información que se intercambia entre nodos vecinos es información detallada sobre las rutas en lugar de los costes. El intercambio de información es similar al protocolo de vector distancias, pero no se orienta hacia máquinas destino, sino hacia redes destino. Una vez que el datagrama llega a esa red destino, el SA de dicha red se encarga de redirigirlo hacia la máquina. Cada SA en BGP tiene un número de sistema autónomo (NSA) (asignado por los registros nacionales del ICANN). En el núcleo de BGP están los anuncios de ruta, que constan de una dirección de red CIDRizada y un conjunto de atributos relacionados con el camino para la red destino. Entre estos atributos se encuentran el atributo de camino (lista de todos los SA en el camino) y la identidad del router del próximo salto a lo largo del camino; ambos muy importantes. El procedimiento por BGP gira entorno a las siguientes actividades: Recepción y filtrado de anuncios de ruta desde los vecinos directamente conectados: Cada router BGP recibe anuncios de ruta desde un par BGP, que indican que dichos pares serán capaces de redirigir el datagrama hacia la red indicada si les llega. Si un anuncio contiene el NSA del receptor en el atributo del camino, lo desecha, ya que podría formar un bucle. Selección de ruta: Un router puede recibir varios anuncios para la misma red de destino. Debe poder elegir uno. BGP no indica cómo debe hacer dicha selección, ya que queda a cargo del adminsitrador de la red. Si el administrador de red no indica ninguna preferencia local, se elegirá la ruta con el camino SA más corto. Envío de anuncios de ruta al vecindario: Los routers, al igual que reciben anuncios, pueden enviarlos. Pero, una vez más, BGP no establece políticas: es el administrador de red quien decide qué rutados se envían... puede evitar que un nodo concreto envíe anuncios a un vecino concreto; aunque esto resta eficacia; pues eso no implica que pueda enviarse a través de intermediarios.

Véase un ejemplo sobre la figura 4.37. En él se puede ver cómo evitar que pase información de una red a otra a través de intermediarios. Los pares BGP se comunican mediante el protocolo TCP y el puerto 179 (recordemos que RIP lo hacía por UDP y OSPF usaba su propio protocolo). BGP tiene los siguientes mensajes: OPEN: Sirve para que un router se idenifique a sí mismo cuando quiere realizar una comunicación con otro router. UPDATE: Sirve para que un router envíe un anuncio a un par BGP, o bien para eliminar un anuncio enviado anteriormente. Un camino es válido mientras no se elimine explícitamente. KEEPALIVE: Indica que el emisor sigue activo (aunque no vaya a recibir nada). También es un mensaje de confirmación al OPEN. NOTIFICATION: Se usa para indicar a un par que se ha producido un error o que el emisor va a cerrar la sesión BGP. Hasta ahora hemos visto el BGP externo (entre SA s), pero también hay el BGP interno, que distribuye entre los routers de un SA información acerca de los SA destino exteriores al SA. BGP es el estándar de facto en Internet hoy en día.

QUÉ HAY DENTRO DE UN ROUTER? Podemos identificar 4 componentes principales de un router (figura 4.38): Puertos de entrada: Implementan la funcionalidad de la capa física de terminar un enlace físico entrante a un router. También realizan la funcionalidad de la capa de enlace de datos precisa para interoperar con la funcionalidad en la otra parte del enlace entrante. También hacen una función de búsqueda y encaminamiento hacia el puerto de salida correcto. Entramado de conmutación: Conecta los puertos de entrada a los de salida. Puertos de salida: Almacena los paquetes que se encaminan hacia él para encaminarlos al enlace saliente. Si el enlace es bidireccional, el puerto de salida y de entrada de dicho enlace se emparejan sobre la misma tarjeta de línea. Procesador de rutado: Ejecuta los protocolos de rutado, mantiene la información de rutado y las tablas de encaminamiento y lleva a cabo las funciones de gestión de red. Puertos de entrada Muchos routers determinan aquí el puerto de salida que corresponde, mediante la información contenida en la tabla de encaminamiento. Esto es posible porque se guarda una copia de la misma en cada puerto de entrada (se actualiza cuando sea necesario). Esto evita cuellos de botella. Si el router tiene una capacidad limitada en el puerto de entrada, puede simplemente encaminar el paquete hacia el procesador central de rutado. Para buscar en la tabla, simplemente se busca la entrada que mejor se ajuste a la red de destino (si no se encuentra, una ruta por defecto). Pero en la práctica, se requiere operar a la velocidad del enlace. Así pues, se puede organizar la tabla en forma de árbol. Cada nivel del árbol se correspondería a un bit de dirección de destino. Si un bit es un 0, se continúa por la rama izquierda; si no, por la derecha. Pero aún así, las velocidades alcanzadas no son suficientes. También puede mantenerse una caché de las direcciones más recientemente buscadas en la tabla. La cuestión aquí es determinar el tamaño que debe tener. Una vez determinado el puerto, pasa a la cola de entrada y, cuando el entramado está libre, continuar el proceso. Entramado de comunicación Desplaza el paquete desde el puerto de entrada hasta el de salida. Puede obtenerse de varias formas: Conmutación mediante memoria: Mediante una interrupción, el paquete se copia en la memoria del procesador de rutado. Se extrae la dirección de destino de la cabecera y se busca el puerto de salida correspondiente. Acto seguido, se copia el paquete en los buffers de salida. Se utilizaba en los routers más simples, aunque algunos modernos también lo usan; aunque en los últimos, la búsqueda del puerto de salida y la dirección se realiza en el puerto de entrada.

Conmutación mediante bus: El procesador de rutado no interviene. Un bus compartido dirige el paquete desde el puerto de entrada hasta el puerto de salida. Si el bus está ocupado, el paquete pasa a estar en espera (bloqueado) hasta que esté libre. Con las velocidades de bus actuales, es un buen sistema para routers que operan en redes de acceso y redes de negocio. Conmutación mediante una red de interconexión: El paquete se transfiere por el bus horizontal hasta cruzarse con el vertical, que conduce a los puertos de salida. Si éste está ocupado, el paquete se bloquea en los puertos de entrada. La figura 4.40 muestra los 3 métodos mencionados. Puertos de salida Véase la figura 4.41. Toma los datagramas de la cola de salida y los transmite por el enlace de salida. Dónde ocurre la puesta en cola? La pérdida de los paquetes en la red se produce en estas colas, cuando se desborda el buffer. Supongamos un router con n puertos de entrada y salida. Si el procesador es n veces más rápido que los puertos de entrada, no habrá desbordamiento ahí, ya que aunque lleguen todos simultáneamente, puede procesarlos a tiempo. Pero si el procesador es n veces más rápido que los enlaces de salida, el espacio reservado para sus colas puede agotarse si llegan demasiados paquetes a un mismo puerto. Esto puede verse en la figura 4.42. Otra cuestión es cómo planificar qué paquete de los que están a la espera se enviará. Puede usarse un algoritmo FCFS (First Come, First Served) o siguiendo algo más sofisticado, como el WFQ (Weighted Fair Quering). Esta planificación es algo crucial para la calidad del servicio. Asimismo, debe decidirse cómo desechar paquetes entrantes. Puede eliminarse el recién llegado, o uno de los que ya estaban dentro. Incluso podría ser útil desechar paquetes antes de que la cola se llene. Hay propuestas políticas de marcado de paquetes para desechar (Gestión Activa de Colas, AQM). Una de las más usadas es el algoritmo de detección temprana aleatoria (RED), que establece un umbral mínimo de longitud de la cola bajo el cuál el paquete es admitido, un umbral máximo sobre el cuál el paquete es desechad, y un intervalo medio en el cuál el paquete puede ser marcado en función de la longitud media de la cola, mínima y máxima. También puede haber esperas en las colas de entrada si el procesador no es lo suficientemente rápido. En la figura 4.43 se puede ver la situación en que dos entradas tienen como destino la misma salida. Si el paquete no elegido tiene otros paquetes detrás, éstos deben esperar también (aunque no haya conflicto de salida): esto se conoce como bloqueo de la cabeza de línea (HOL). Esto puede provocar que una cola crezca indefinidamente.

IPv6 El espacio de direcciones IP de 32 bits estaban comenzando a agotarse, por lo que se desarrolló un nuevo protocolo de IP: IPv6. Formato del datagrama de IPv6 Su formato se puede ver en la figura 4.44. Capacidad de direccionamiento extendida: Se incrementa el espacio de 32 bits a 128. Esto asegura que no se acabarán las direcciones (debido a que ese espacio es enorme). Además, se introduce un nuevo tipo de dirección: dirección anycast, que permite entregar el datagrama a cualquier host del grupo que denote la dirección (ej, para un HTTP GET). Cabecera de 40 bytes estilizada: Algunos campos de IPv4 se han eliminado o marcado como opcionales. Ahora la longitud es fija y de 40 bytes, lo que agiliza el procesamiento del datagrama IP. Etiquetado de flujo y prioridad: Se podría tratar los datagramas de un servicio como un flujo para mejorar el servicio y otorgar más prioridad. En IPv6 tenemos los siguientes campos: Versión: Tiene un valor de 6. Clase de tráfico: Similar al campo TOS de IPv4. Etiqueta de flujo: 20 bits. Se usa para identificar un flujo de datagramas. Longitud de datos: 16 bits. Indica el número de bytes que acompañan a los 40 de cabecera. Siguiente cabecera: Indica hacia qué protocolo se dirigen los contenidos. Límite de saltos: Si el contador llega a 0, el paquete se deshecha. Cada vez que realice un salto, se decrementa en 1. Direcciones fuente y destino: De 128 bits de longitud. Datos: Tiene el contenido del datagrama. Podemos observar que los siguientes campos que estaban en IPv4, han desaparecido: Fragmentación/reensamblado: IPv6 no permite la fragmentación. Si un paquete es demasiado grande, el router lo deshecha y devuelve un mensaje ICMP para indicar el problema. Suma de comprobación: Los protocolos de la capa de transporte y de enlace ya realizan esta suma, por lo que incluirla en la capa de red es redundante. Opciones: No ha desaparecido definitivamente, sino que puede ser una de las posibles siguientes cabeceras apuntadas desde la cabecera IPv6.

Un nuevo ICMP para IPv6 Además de los tipos de mensajes incluidos en el ICMP original, ICMPv6 incluye otros mensajes: el de Paquete demasiado grande, y Opciones IPv6 no reconocidas. Además, implementa IGMP (protocolo de gestión de grupos de Internet), que veremos más adelante. Transición de IPv4 a IPv6 IPv6 está desarrollado, pero no implementado aún. Los sistemas con IPv4 no pueden enviar datagramas IPv6 (aunque lo contrario sí se podría). Se podía pensar en un día concreto en que todos los ordenadores y dispositivos se apagasen y se actualizasen de IPv4 a IPv6. Como es evidente... esto es totalmente inviable. Una posible solución sería la pila dual: routers que puedan manejar tanto IPv4 como IPv6, por lo que podrían comunicarse con todos los demás. Si dos nodos usan IPv4, la comunicación será por IPv4. Si dos nodos usan IPv6, la comunicación entre ellos no tiene por qué ser IPv6, como se puede ver en la figura 4.45. La necesidad de convertir a IPv4 en algún momento de la ruta provoca la pérdida de campos (por ejemplo, el identificador de flujo). Para paliar ese problema, se puede usar la tunelización, que consiste en encapsular el datagrama entero para introducirlo en el campo de datos de un datagrama IPv4 y así poder enviarlo a través de ese túnel de nodos IPv4 sin perder la información. El destino vuelve a extraer la información (véase la figura 4.46). Se plantea usar los terminales de telefonía móvil con IP para dar un empujón a la implantación de IPv6. Está claro que cambiar los protocolos de la capa de red es un proceso largo y complicado.

RUTADO DE MULTIDIFUSIÓN Puede requerirse la difusión desde un emisor a varios receptores (ej: difusión de una actualización de software a todos los clientes que lo usan, texto de una conferencia en vivo...). Esto se conoce como multidifusión. Introducción: la abstracción de multidifusión de Internet y los grupos de multidifusión La abstracción de multidifusión puede implementarse de varias formas: Unidifusión de uno a todos: Cada receptor recibe los datos de forma separada al resto. Es decir, se realizan tantas unidifusiones como receptores haya. Multidifusión de nivel de aplicación: El emisor envía una copia a un receptor, el cuál hace dos copias: una para su propia LAN y otra para enviar a otro receptor... y así sucesivamente. Multidifusión explícita: El emisor envía el datagrama al router de red, que hace copias para todos sus enlaces de salida. La multidifusión implica dos problemas: identificar a los receptores y direccionar un datagrama enviado a dichos receptores. Como el datagrama no puede llevar todas las direcciones de destino, se usa un esquema de direcciones indirecto; es decir, que se usa un único identificador para el grupo de receptores, mediante una dirección de multidifusión de clase D. Pero... cómo se gestionan esos grupos? Pues es posible gracias al IGMP. IGMP Opera entre el host y su router directo. Proporciona los mecanismos por los que un host informa a su router de que una aplicación del host quiere unirse a un grupo de multidifusión. IGMP puede inducir a error: sólo opera a nivel local, no entre los hosts de un grupo. Tiene 4 tipos de mensajes, que pueden verse en el cuadro 4.4 junto con su correspondiente explicación. El emisor no controla quién se une al grupo, los mensajes de multidifusión pueden intercalarse entre los receptores. Rutado de multidifusión: el caso general Cómo hacer que un router multidifusión envíe los mensajes sólo a aquellos routers destinatarios de la multidifusión? Véase la figura 4.52: tan solo los routers A, B, E y F deben recibir los mensajes de multidifusión. Se trata de buscar un árbol que permita enviar los mensajes sin pasar por el resto de nodos (en el caso de esta figura, es imposible). Tenemos dos aproximaciones:

Rutado de multidifusión usabdo un árbol de grupo compartido Supongamos que sólo habrá un árbol por el que se envíe, independientemente del emisor. Teóricamente, sólo hay que encontrar un árbol que conecte los nodos de multidifusión sin implicar al resto (si es el de coste mínimos, es un árbol de multidifusión óptimo). Esto se conoce como el problema del árbol de Steiner. Sin embargo, no se utiliza, ya que requiere información de todos los nodos y habría que recalcularlo cada vez que cambien los costes. Se puede identificar un nodo central para el grupo. Para unirse al grupo, los hosts tienen que enviar un mensaje a dicho nodo central. El camino que sigue ese mensaje define una rama del árbol entre el host y el nodo central. Véase como ejemplo la figura 4.55. Rutado de multidifusión usando un algoritmo basado en la fuente Construye un árbol de rutado de multidifusión para cada fuente del grupo. El algoritmo de Dijkstra calcula los caminos de unidifusión. La unión de estos caminos puede verse como formando el árbol de caminos de menor coste de multidifusión. Podemos ver otro algoritmo más simple (encaminamiento de camino inverso (ECI)), que necesita menos información del estado de los enlaces. Si un router recibe un mensaje multidifusión y no está en su propio camino de vuelta más corto al emisor, reenvía el mensaje por todos sus enlaces (salvo por el que lo recibió). En caso contrario, deshecha el paquete. La figura 4.56 muestra un ejemplo explicado. Si un router no tiene hosts del grupo, envía un mensaje de poda al router anterior a él (en el camino de multidifusión) para impedir que le envíe en vano más mensajes multidifusión. Rutado de multidifusión en Internet DVMRP: protocolo de rutado de multidifusión de vector de distancias Implementa árboles basados en la fuente con encaminamiento de camino inverso y poda. Cada router calcula el enlace saliente en su camino de vuelta más corto a cada fuente posible gracias al algoritmo de VD. Aunque son pocos los routers en internet que admiten multidifusión, éstos pueden unirse en una red virtual gracias a la tunelización que ya vimos con IPv6 (figura 4.57). PIM: multidifusión independiente del protocolo Tiene 2 escenarios de multidifusión: el modo denso, en que la mayoría de los routers de un área están implicados en el rutado de los datagramas de multidifusión; y el modo disperso, en que ocurre lo contrario. Para el primer escenario, sería adecuado el ECI. Pero no vale para el modo disperso, ya que forzaría a los routers a podarse constantemente para no recibir los mensajes. En este modo, el router no debería hacer nada a menos que quiera unirse al grupo de multidifusión. Esto apoyaría la idea de basarse en un centro.

En el modo disperso, la aproximación puede estar conducida por el receptor (el datagrama se recibe a petición del receptor); mientras que en el modo denso, conducida por datos (los datagramas se difunden siempre a no ser que el router se pode). El modo denso se asemeja al DVMPR. El modo disperso se basa en el centro (CBT). Los routers PIM envían mensajes de adhesión (JOIN) al centro (o punto de encuentro). A diferencia que en CBT no hay acuse de recibo generado en respuesta a JOIN. Estos mensajes se envían río arriba periódicamente para mantener el árbol de rutado PIM. PIM puede conmutar desde un árbol compartido por el grupo a un árbol específico para la fuente tras unirse al punto de encuentro. Podría preferirse un árbol específico si disminuye la concentración de tráfico que ocurre cuando se emplean varios árboles específicos para la fuente. En el modo disperso, el emisor envía el datagrama al centro (o punto de encuentro (RP)) y éste lo multidifunde a través del árbol del grupo compartido. Al emisor le será notificado por el RP que debe parar de enviar al RP cuando no haya más routers unidos al árbol (no quede nadie escuchando). Otro protocolo de rutado de multidifusión es el MOSPF, que usa el protocolo OSPF para el rutado de unidifusión. Rutado de multidifusión en sistemas interautónomos Diferentes SA pueden optar por usar distintos protocolos de rutado de multidifusión. Existen reglas para la interoperación de estos SA. DVMRP ha sido el protocolo de rutado de multidifusión Inter SA de facto. Pero como es un protocolo de modo denso, no es apropiado para el conjunto de routers que participa hoy en día en el MBone de Internet (muy disperso).

MOVILIDAD Y CAPA DE RED Es evidente que cada vez es más común el uso de dispositivos móviles. Consideraciones sobre la movilidad en el diseño de la capa de red Qué consideramos cuando hablamos de movilidad? Desde el punto de vista de la capa de red: Si un usuario se mueve con un dispositivo inalámbrico dentro del mismo edificio (mantiendo el punto de conexión) no se considera móvil. Pero si ese usuario se mueve de un edificio a otro cambiando el punto de conexión o va pasando por distintos puntos ininterrumpidamente, SÍ es móvil. Esto queda representado en la figura 4.58. Importancia de la dirección del nodo móvil: Se mantiene la IP al cambiar de punto de conexión? Si tenemos en cuenta un conductor que debe mantener una conexión TCP ininterrumpida, no puede cambiar (veremos más adelante la IP móvil). Pero una persona que apague su equipo, se traslade y lo vuelva a encender, sí se le asignará una nueva IP. Infraestructura de soporte de cableado: Hasta ahora hemos supuesto una estructura fija para la conexión (ISP, red de acceso inalámbrica...). Pero si no tenemos esa infraestructura, tenemos una conexión a red ad hoc. Gestión de la movilidad En la figura 4.59 se muestra los elementos básicos de una arquitectura de red móvil. Direccionamiento Cuando un nodo móvil está en una red foránea y necesita mantener la dirección, todo el tráfico que tenga como destinatario ese nodo debería ser rutado hacia dicha red. Para ello, la red foránea podría anunciar al resto de redes que el nodo está en ella. Esto no cambiaría demasiado la infraestructura de la capa de red. El problema es la escalabilidad: los routers de red tendrían que mantener entradas de encaminamiento para millones de posibles nodos móviles. Otra opción es que la red hogar del nodo móvil siga su pista para redirigir la información. Los agentes foráneos crean una dirección de escucha o de envío (DDE) para el nodo móvil. Entonces, éste tiene dos direcciones: su dirección permanente y su DDE (o dirección foránea). El agente foráneo informa a la red hogar que el nodo móvil está en su red. El DDE servirá para rerutar la información. Hay que tener en cuenta el nodo móvil puede asumir también las funcionalidades del agente foráneo. Ahora veremos cómo se ruta la información. Rutado indirecto a un nodo móvil Un emisor envía un paquete a la dirección permanente del nodo móvil (al emisor no le importa dónde esté el nodo móvil). El agente hogar detecta este envío especial (ya que el nodo no está en la red hogar) y lo reenvía mediante el DDE. Pero tiene que dejar intacta la dirección del emisor; por ejemplo