• No se han encontrado resultados

REDES Y COMUNICACIONES CAPÍTULO 4: CAPA DE RED

N/A
N/A
Protected

Academic year: 2021

Share "REDES Y COMUNICACIONES CAPÍTULO 4: CAPA DE RED"

Copied!
26
0
0

Texto completo

(1)

 

 

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)  [email protected]

(2)

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 [email protected]  para poder realizar los cambios necesarios. 

 

David Rguez. Hdez.  Alumno de 2º ciclo Ingeniería Informática (UNED) 

(3)

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 

(4)

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). 

(5)

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. 

 

   

(6)

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. 

(7)

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. 

(8)

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. 

(9)

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. 

(10)

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 

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. 

(11)

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). 

(12)

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. 

(13)

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. 

(14)

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. 

(15)

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. 

(16)

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. 

(17)

¿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. 

(18)

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 ColasAQM). 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. 

(19)

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. 

(20)

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. 

(21)

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:   

(22)

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

(23)

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). 

(24)

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 

(25)

encapsulando el datagrama original en un nuevo datagrama (el agente foráneo lo desencapsula y lo  entrega al nodo móvil). Todo eso se puede ver en la figura 4.60. El nodo móvil puede entonces  responder de forma directa con el emisor original. 

Así pues, se necesita: 

Un protocolo desde el nodo móvil hacia el agente foráneo:   para registrarse en la red foránea  cuando entre y desregistrarse cuando salga. 

Un protocolo de registro del agente foráneo hacia el agente hogar:     para que el agente  foráneo registre ante el agente hogar el DDE del nodo móvil. No hace falta desregistrarlo  porque el nuevo agente foráneo enviará un nuevo DDE. 

Un protocolo de encapsulación del datagrama del agente hogar.  • Un protocolo de desencapsulación del datagrama del agente foráneo. 

Véase el ejemplo en el libro en la sección “Rutado indirecto a un nodo móvil”.  Rutado directo a un nodo móvil 

El anterior rutado tiene el problema de que se debe pasar por la red hogar aunque exista otro rutado  más eficiente.  

Por ejemplo, dos amigos conectados desde la misma red, pero uno de ellos es foráneo... pues bien, el  dispositivo que está en su red enviará primero a la red hogar para luego ser retransmitido de vuelta a la  foránea... aún pudiéndolo hacer directamente. 

El rutado directo resuelve este problema a costa de aumentar la complejidad. Consiste en que un  agente interlocutor (corresponsal) en la red del interlocutor aprende el DDE del nodo móvil. A partir de  entonces, el interlocutor puede tunelizar los datagramas directamente hacia la red foránea. 

Pero tenemos problemas si el nodo móvil se mueve de una red a otra. Podría diseñarse un nuevo  protocolo que notifique al interlocutor del cambio de DDE o que el nuevo agente foráneo proporcione al  interlocutor el nuevo DDE. Si el agente foráneo que ya no tiene el nodo móvil recibe un datagrama  encapsulado, lo reencapsula y lo reenvía a la nueva red. Pero esto puede provocar una cadena de  encapsulamientos. 

Esto requiere una buena coordinación entre los agentes foráneos, ya que un usuario móvil puede ir  cambiando contínuamente de red.    IP móvil  Es un estándar flexible que soporta muchos modos de operación distintos (ej: con o sin agente foráneo).  Es un estándar complejo.  Tiene tres partes principales: 

Descubrimiento de agente:     define los protocolos empleados por un agente hogar y por un  agente foráneo para anunciar sus servicios a los nodos móviles y los protocolos para los que los  nodos móviles soliciten los servicios. 

(26)

Registro frente a agente hogar:   Define los protocolos empleados para registrar y desregistrar  un DDE frente al agente hogar. 

Registro indirecto de datagramas:   Define la forma en que los datagramas van hacia los nodos  móviles desde un agente hogar. 

Algo importante en IP móvil son las cuestiones de seguridad. El nodo móvil debe ser autentificado para  evitar un registro falso ante una red hogar. 

Descubrimiento de agente 

Un nodo que llega a una red debe aprender la identidad del agente foráneo u hogar correspondiente.  Esto se llama descubrimiento de agente. Puede realizarse anunciando o solicitando un agente: 

Anuncio de agente:   El agente difunde periódicamente un mensaje ICMP con un 9 en el campo  de tipo hacia todos sus enlaces. Este mensaje tiene la IP del agente. Tiene otros campos como  el bit de agente hogar (H), que indica si es un agente hogar; el bit de agente foráneo (F), si es  foráneo; el bit de requisito de registro (R), que indica que el nodo móvil debe registrarse frente  al agente foráneo; los bits de encapsulación (M y G), que indican si se usa un encapsulado  distinto de IP dentro de IP; y los campos de direcciones de envío (DDE), que es una lista de  direcciones de envío proporcionadas por el agente foráneo. Esto puede verse en la figura 4.63. 

Solicitud de agente:    Un nodo puede difundir un mensaje ICMP con el campo de tipo 10 en  busca de un agente. Si un agente recibe este mensaje, unidifunde un anuncio de agente  directamente a ese nodo. 

Registro frente al agente hogar 

Cuando el nodo IP móvil recibe el DDE debe registrar la dirección frente al agente hogar. Hay 4 etapas:  1. Cuando recibe el anuncio, envía al agente foráneo un mensaje de registro de IP móvil (UDP 

puerto 434). Este mensaje lleva un DDE anunciado, la dirección del agente hogar (AH), la  dirección permanente del nodo móvil (DM), el periodo de vida del registro solicitado (si no se  renueva tras esos segundos, expira) y una identificación de registro de 64 bits (sirve como  número de secuencia para la respuesta). 

2. El agente foráneo almacena la DM del nodo móvil. A partir de ahora, el agente estará alerta  esperando datagramas. El agente envía un mensaje de registro IP móvil (UDP puerto 434) al  agente hogar. Contiene el DDE, la AH, la DM, el formato de encapsulación solicitado, el periodo  de vida de registro solicitado y la identificación de registro. 

3. El agente hogar recibe la solicitud de registro y comprueba la autenticidad y corrección del  mensaje; y empareja la DM con el DDE. También envía un mensaje de respuesta con la AH, la  DM, el periodo de vida real y la identificación del registro de la solicitud aceptada. 

4. El agente foráneo recibe la respuesta y se la reenvía al nodo móvil.  Estos pasos se pueden ver en la figura 4.64 

Referencias

Documento similar

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

Esto tambien se puede ver si consideramos la red como la triangular a la que se han quitado la tercera parte de sus enlaces, pero para la red triangular p,., = 213, con

En este caso con los clips con condiciones desfavorables como se puede observar en las figuras 4-13 4-14 y 4-15 los 3 algoritmos tienen problemas para procesar el fondo pues al

La Dirección General de Ordenación Pesquera, a través de la Subdirección General de Economía Pesquera, del MAPA (Ministerio de Agricultura, Pesca y Alimentación) ha elaborado

Respecto a las enfermedades profesionales, en virtud del RD 1299/2006, de 10 de noviembre, por el que se aprueba el cuadro de enfermedades profesionales en el sistema de

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés

La red Flex Ray además puede interconectarse mediante “Gateways” con otras redes multiplexadas, pudiendo emplear la red Flex Ray para todo el sistema de gestión motor y seguridad,

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados