Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes PUZLE 3. ALGORITMOS DE ENCAMINAMIENTO Y CONTROL DE CONGESTIÓN Los contenidos del presente puzle corresponden al apartado 3. Funciones del Nivel de Red del Tema 6. Funciones y Protocolos del Nivel de Red. GUIÓN PARA EL PUZLE (1 HORA 50 MINUTOS) 1. Explicación de la actividad (5 minutos) 2. Creación de grupos de 4 miembros elegidos al azar (5 minutos) 3. El grupo debe numerar a sus miembros (del 1 al 4) 4. Reparto de textos (5 minutos) 5. Lectura individual del material (20 minutos) 6. Reunión de expertos por grupos de 3 ó 4 personas (15 minutos) - Se reúnen aquellas personas a las que les ha correspondido el mismo texto. 7. Elaboración individual de un guión (10 minutos) - En papel, deben preparar un guión de la exposición. 8. Explicación en el grupo original (40 minutos) - Explicación de los tres textos. - Deben adoptarse roles cíclicos con cada explicación: o El ponente: explica su parte. o Comprobador: pide aclaraciones y hace comentarios. o Secretario: se asegura de que no se exceden los 10 minutos. 9. Examen tipo test a todos los alumnos (10 minutos) - La nota del alumno será la media entre la nota más baja del grupo y la nota del propio alumno. - 0,04 por pregunta acertada y -0,02 por pregunta fallada. - 10 preguntas y, por tanto, máxima puntuación de 0,4. 1 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes TEXTO 1. ENCAMINAMIENTO BASADO EN EL VECTOR DISTANCIA La función principal de la capa de red consiste en el encaminamiento de paquetes desde la máquina origen a la destino. El algoritmo de encaminamiento es aquella parte de la capa de red responsable de decidir sobre qué línea de salida se deberá transmitir un paquete. La decisión se debe tomar para cada nuevo paquete en una red de datagramas y sólo en el establecimiento de la conexión para redes de circuitos virtuales. Cuando dos sistemas desean comunicarse y se encuentran en subredes diferentes, hay que establecer un camino que los una. Un router normalmente se conecta a varias redes y debe elegir el camino óptimo, es decir el de menor coste. Para medir el coste se utiliza una métrica. La métrica asignada a cada destino depende del tipo de protocolo de encaminamiento. Por ejemplo, algunos protocolos sencillos utilizan como métrica el número de saltos. Así, si un paquete pasa a través de 10 routers hasta alcanzar el destino, el coste total será de 10 saltos. TABLA DE ENCAMINAMIENTO Una estación o un router tiene una tabla de encaminamiento, con una entrada para cada destino (o combinación de destinos), para encaminar los paquetes. La tabla de encaminamiento puede ser estática o dinámica. • Estática. Inicialmente, el administrador (en base a su criterio) introduce el camino óptimo para cada destino en la tabla de encaminamiento de cada router. A partir de ese momento, la tabla será modificada manualmente por el administrador cada vez que se produzca un cambio en la topología de la red. Esta estrategia es adecuada para redes pequeñas donde la topología no cambia con frecuencia. • Dinámica. La tabla de encaminamiento se actualiza de forma periódica utilizando un protocolo de encaminamiento dinámico. Cuando hay un cambio en la topología de la red (por ejemplo, un fallo en un enlace o el apagado de un router), los protocolos de encaminamiento dinámico actualizan las tablas de encaminamiento de los routers de forma dinámica. 2 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes ENCAMINAMIENTO INTERDOMINIO E INTRADOMINIO Hoy en día, Internet es tan grande que un único protocolo de encaminamiento dinámico es incapaz de gestionar la tarea de actualización de las tablas de encaminamiento de todos los routers. Por esta razón, Internet se divide en sistemas autónomos. Un sistema autónomo es un grupo de redes y routers bajo la gestión de un único operador de red (ver figura). El encaminamiento dentro de un sistema autónomo se conoce como encaminamiento intradominio, mientras que el encaminamiento entre sistemas autónomos se conoce como encaminamiento interdominio. Vamos a ver los protocolos más utilizados, en concreto, dos protocolos intradominio, el encaminamiento basado en el vector distancia y el encaminamiento basado en el estado del enlace, y un protocolo interdominio, el encaminamiento basado en el vector camino. ENCAMINAMIENTO BASADO EN EL VECTOR DISTANCIA En el encaminamiento basado en el vector distancia, el camino de menor coste entre dos redes es el camino de mínima distancia. En este protocolo, como su nombre indica, cada router mantiene un vector (tabla) de las distancias mínimas a cada posible red destino. Este vector comprende tres partes (véase router A en la figura): la red de destino (Hacia), el siguiente router para alcanzar ese destino (Siguiente) y una estimación del coste en función de la métrica elegida (Coste), que en este caso podría ser el número de saltos o el retardo de tiempo hasta el destino. En la siguiente figura, la tabla del router A muestra cómo alcanzar cualquier destino a partir de éste. Por ejemplo, el camino de menor coste para alcanzar la red 66 es 3 saltos y pasa a través de E. 3 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES Hacia Coste Siguiente 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes Inicialización. Las tablas de la figura anterior son estables; cada router sabe cómo alcanzar al resto y el coste. Este no es el caso, sin embargo, al comienzo. Cada router sólo puede conocer la distancia a las redes conectadas directamente a él (véase la siguiente figura). Compartir información. En el encaminamiento basado en el vector distancia, cada router envía su tabla de encaminamiento a sus vecinos inmediatos de forma periódica y cuando hay algún cambio en la topología de la red. 4 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes Actualización. Cuando un router recibe una tabla de encaminamiento de un vecino, actualiza su propia tabla en base a la tabla recibida de su vecino teniendo en cuenta el coste de comunicarse con él. El proceso de compartir información y la actualización posterior permiten que en poco tiempo, si no hay ningún cambio en la red (como, por ejemplo, un fallo en un enlace o el apagado de un router), cada router alcance una condición estable en la que el contenido de su tabla de encaminamiento permanece sin cambios. La siguiente figura muestra un ejemplo donde un router recibe la tabla de encaminamiento de un vecino. Los costes de esta tabla son incrementados con el coste adicional de enviar un paquete al router vecino que envió la tabla. Y finalmente esta tabla se combina con la tabla actual de encaminamiento del propio router para generar una nueva tabla de encaminamiento que incluya las rutas de menor coste (véanse Net2 y Net6). 5 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes Inestabilidad. Un problema en el encaminamiento basado en el vector distancia es la inestabilidad, lo que significa que una red que esté utilizando este protocolo se puede volver inestable debido a que este algoritmo no reacciona rápidamente ante la caída de enlaces o routers. ROUTING INFORMATION PROTOCOL (RIP) El protocolo RIP es un protocolo de encaminamiento intradominio utilizado dentro de un sistema autónomo. Se trata de un protocolo muy sencillo que se basa en el encaminamiento basado en el vector distancia. RIP implementa el encaminamiento basado en el vector distancia directamente con algunas consideraciones: • la métrica en RIP es el número de saltos necesarios para alcanzar la red destino; • cualquier camino en un sistema autónomo que utilice RIP no puede tener más de 15 saltos; • define un formato de paquete específico para intercambiar información entre los routers vecinos; • cada router envía su tabla de encaminamiento a sus vecinos cada 30 segundos; • la comunicación entre los routers vecinos utiliza el puerto UDP 520 y los paquetes se envían a la dirección IP multicast 224.0.0.9 (todos los routers RIP deben procesar los paquetes enviados a esta dirección IP). 6 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes TEXTO 2. ENCAMINAMIENTO BASADO EN ESTADO DE ENLACE La función principal de la capa de red consiste en el encaminamiento de paquetes desde la máquina origen a la destino. El algoritmo de encaminamiento es aquella parte de la capa de red responsable de decidir sobre qué línea de salida se deberá transmitir un paquete. La decisión se debe tomar para cada nuevo paquete en una red de datagramas y sólo en el establecimiento de la conexión para redes de circuitos virtuales. Cuando dos sistemas desean comunicarse y se encuentran en subredes diferentes, hay que establecer un camino que los una. Un router normalmente se conecta a varias redes y debe elegir el camino óptimo, es decir el de menor coste. Para medir el coste se utiliza una métrica. La métrica asignada a cada destino depende del tipo de protocolo de encaminamiento Por ejemplo algunos protocolos sencillos utilizan como métrica el número de saltos. Así, si un paquete pasa a través de 10 routers hasta alcanzar el destino, el coste total será de 10 saltos. TABLA DE ENCAMINAMIENTO Una estación o un router tiene una tabla de encaminamiento, con una entrada para cada destino (o combinación de destinos), para encaminar los paquetes. La tabla de encaminamiento puede ser estática o dinámica. • Estática. Inicialmente, el administrador (en base a su criterio) introduce el camino óptimo para cada destino en la tabla de encaminamiento de cada router. A partir de ese momento, la tabla será modificada manualmente por el administrador cada vez que se produzca un cambio en la topología de la red. Esta estrategia es adecuada para redes pequeñas donde la topología no cambia con frecuencia. • Dinámica. La tabla de encaminamiento se actualiza de forma periódica utilizando un protocolo de encaminamiento dinámico. Cuando hay un cambio en la topología de la red (por ejemplo, un fallo en un enlace o el apagado de un router), los protocolos de encaminamiento dinámico actualizan todas las tablas de encaminamiento de los routers de forma dinámica. 7 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes ENCAMINAMIENTO INTERDOMINIO E INTRADOMINIO Hoy en día, Internet es tan grande que un único protocolo de encaminamiento dinámico es incapaz de gestionar la tarea de actualización de las tablas de encaminamiento de todos los routers. Por esta razón, Internet se divide en sistemas autónomos. Un sistema autónomo es un grupo de redes y routers bajo la gestión de un único operador de red (ver figura). El encaminamiento dentro de un sistema autónomo se conoce como encaminamiento intradominio, mientras que el encaminamiento entre sistemas autónomos se conoce como encaminamiento interdominio. Vamos a ver los protocolos más utilizados, en concreto, dos protocolos intradominio, el encaminamiento basado en el vector distancia y el encaminamiento basado en el estado del enlace, y un protocolo interdominio, el encaminamiento basado en el vector camino. ENCAMINAMIENTO BASADO EN ESTADO DE ENLACE El encaminamiento por estado del enlace surge como alternativa a las técnicas clásicas de vector distancia ya que corrige algunos de sus problemas. En este tipo de encaminamiento, cada router en el dominio tiene la topología entera del dominio (la lista de redes, incluyendo su coste, y la lista de enlaces, y cómo se conectan). De esta manera, el router puede utilizar el algoritmo de Dijkstra para construir su tabla de encaminamiento. CONSTRUCCIÓN DE LAS TABLAS DE ENCAMINAMIENTO En el encaminamiento basado en el estado del enlace, podemos dividir en cinco pasos fundamentales el proceso de construcción de las tablas de encaminamiento que realiza un router: 1. Descubrir a sus vecinos y sus direcciones. 2. Medir el costo a cada uno de sus vecinos. 3. Construir el paquete con la información recabada. 4. Enviar este paquete al resto de routers. 5. Calcular la ruta mínima al resto de routers. 8 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes Determinar los vecinos. Lo primero que debe hacer un router al activarse es averiguar quiénes son sus vecinos. Para ello, manda un paquete especial HELLO por cada enlace. Todo router que reciba este paquete debe responder indicando su identidad. Calcular el coste a los vecinos. Para medir el retardo a cada router, cada router manda un paquete especial ECHO a los vecinos. El tiempo de ida y vuelta dividido entre dos nos da una aproximación razonable del coste a cada router vecino. Elaborar el paquete de estado de enlace. El siguiente paso consiste en que cada router construye un paquete con todos los datos que informan del estado de la red. Este paquete incluye: identidad del router, secuencia, edad y lista de redes directamente accesibles y routers vecinos. La secuencia y la edad se utilizan en el proceso de distribución del paquete (ver siguiente punto). La identidad del router y la lista de routers vecinos se utilizan en el cálculo de la ruta mínima (ver último punto). El problema de esta etapa es decidir cuándo se envían estos paquetes. Hay varias alternativas: de manera periódica o cuando haya ocurrido un evento en la red como la caída de un router. Distribuir el paquete de estado de enlace. Esta es la parte más complicada del algoritmo. Básicamente, se reparte el paquete por toda la red mediante inundación. Para controlarla, cada paquete incluye un número de secuencia que aumenta con cada paquete nuevo enviado. Cada router contiene una tabla con toda la información de tal manera que: - Si recibe un paquete nuevo, con un número de secuencia mayor que el número de secuencia mayor visto hasta el momento para ese router origen, lo envía por todos los enlaces excepto por el que llega. - Si se trata de un duplicado, con el mismo número de secuencia que el número de secuencia mayor visto hasta el momento para ese router origen, lo elimina. - Si es un paquete viejo, con un número de secuencia menor que el número de secuencia mayor visto hasta el momento para ese router origen, lo descarta. La edad de cada paquete disminuye en cada router en un intervalo de tiempo. Cuando la edad llegue a 0, el paquete es descartado. Este método permite asegurar que los paquetes no circulen de manera indefinida por la red. Cálcular la ruta mínima. Una vez que el router ha completado la recopilación de información, puede construir el grafo de la red. De esta manera, se puede utilizar el algoritmo de Dijkstra para calcular el camino más corto a todas las redes. El resultado puede llevarse a las tablas de encaminamiento y reiniciarse la operación normal. 9 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes Por ejemplo, partimos de la siguiente figura donde mostramos una topología formada por 6 routers y 7 redes, donde el router A tiene diferentes alternativas para alcanzar algunas de las redes (por ejemplo, la red 66 por el router vecino B o el router vecino E). La siguiente figura muestra la base de datos de estado de enlace que crea el router A tras recibir los paquetes de estado de enlace del resto de routers. Esta base de datos sirve al router para aplicar el algoritmo de Dijkstra, crear un árbol de camino más corto y, finalmente, crear la tabla de encaminamiento del propio router A. Árbol de camino más corto Base de datos de estado de enlace Tabla de encaminamiento 10 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes En la figura puede verse, como a partir de la base de datos de estado de enlace del router, el router determina que la red 66 se alcanza a través del router vecino B y tiene un coste de 5 (ARed14 + BRed55 + CRed66 = 1 + 2 + 2 = 5). OPEN SHORTEST PATH FIRST (OSPF) El protocolo OSPF es un protocolo de encaminamiento intradominio utilizado dentro de un sistema autónomo. Se trata de un protocolo que se basa en el encaminamiento por estado de enlace y se usa ampliamente en las redes actuales. OSPF implementa el encaminamiento por estado de enlace directamente con algunas consideraciones: • la métrica habitual en OSPF es el retardo medio entre routers vecinos, aunque OSPF permite al administrador asignar el coste manualmente; • define un formato de paquete específico para enviar paquetes de bienvenida (HELLO) y paquetes de estado de enlace; • OSPF no usa TCP ni UDP, sino IP directamente (el campo protocolo del paquete IP toma el valor 89); • OSPF puede usar tanto direcciones unicast como multicast para enviar paquetes de bienvenida (HELLO) y paquetes de estado de enlace. Las direcciones IP multicast usadas son 224.0.0.5 y 224.0.0.6. 11 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes TEXTO 3. ENCAMINAMIENTO BASADO EN EL VECTOR CAMINO La función principal de la capa de red consiste en el encaminamiento de paquetes desde la máquina origen a la destino. El algoritmo de encaminamiento es aquella parte de la capa de red responsable de decidir sobre qué línea de salida se deberá transmitir un paquete. La decisión se debe tomar para cada nuevo paquete en una red de datagramas y sólo en el establecimiento de la conexión para redes de circuitos virtuales. Cuando dos sistemas desean comunicarse y se encuentran en subredes diferentes, hay que establecer un camino que los unas. Un router normalmente se conecta a varias redes y debe elegir el camino óptimo, es decir el de menor coste. Para medir el coste se utiliza una métrica. La métrica asignada a cada destino depende del tipo de protocolo de encaminamiento. Por ejemplo algunos protocolos sencillos utilizan como métrica el número de saltos. Así, si un paquete pasa a través de 10 routers hasta alcanzar el destino, el coste total será de 10 saltos. TABLA DE ENCAMINAMIENTO Una estación o un router tiene una tabla de encaminamiento, con una entrada para cada destino (o combinación de destinos), para encaminar los paquetes. La tabla de encaminamiento puede ser estática o dinámica. • Estática. Inicialmente, el administrador (en base a su criterio) introduce el camino óptimo para cada destino en la tabla de encaminamiento de cada router. A partir de ese momento, la tabla será modificada manualmente por el administrador cada vez que se produzca un cambio en la topología de la red. Esta estrategia es buena para redes pequeñas donde la topología no cambia con frecuencia. • Dinámica. La tabla de encaminamiento se actualiza de forma periódica utilizando un protocolo de encaminamiento dinámico. Cuando hay un cambio en la topología de la red (por ejemplo, un fallo en un enlace o el apagado de un router), los protocolos de encaminamiento dinámico actualizan las tablas de encaminamiento de los routers de forma dinámica. 12 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes ENCAMINAMIENTO INTERDOMINIO E INTRADOMINIO Hoy en día, Internet es tan grande que un único protocolo de encaminamiento dinámico es incapaz de gestionar la tarea de actualización de las tablas de encaminamiento de todos los routers. Por esta razón, Internet se divide en sistemas autónomos (SA). Un sistema autónomo es un grupo de redes y routers bajo la gestión de un único operador de red (ver figura). El encaminamiento dentro de un sistema autónomo se conoce como encaminamiento intradominio, mientras que el encaminamiento entre sistemas autónomos se conoce como encaminamiento interdominio. Vamos a ver los protocolos más utilizados, en concreto, dos protocolos intradominio, el encaminamiento basado en el vector distancia y el encaminamiento basado en el estado del enlace, y un protocolo interdominio, el encaminamiento basado en el vector camino. ENCAMINAMIENTO BASADO EN EL VECTOR CAMINO El encaminamiento basado en el vector distancia y en el estado de enlace son protocolos de encaminamiento intradominio. Se pueden utilizar dentro de un sistema autónomo, pero no entre sistemas autónomos. Estos dos protocolos no son adecuados para encaminamiento entre dominios debido fundamentalmente a problemas de escalabilidad. Estos dos protocolos son intratables cuando el dominio se hace grande. El encaminamiento basado en el vector distancia es inestable si hay más de unos cuantos saltos en el dominio. El encaminamiento basado en el estado de enlace necesita una gran cantidad de recursos para calcular las tablas de encaminamiento si el dominio es grande. Además, genera un tráfico excesivo debido a su proceso de distribución de información basado en inundación. Por tanto, resulta necesario un tercer protocolo de encaminamiento denominado encaminamiento basado en el vector camino. El encaminamiento basado en el vector camino ha demostrado su utilidad para el encaminamiento entre dominios. El principio de este protocolo es similar al encaminamiento basado en el vector distancia. En el encaminamiento basado en el vector camino se asume que hay un router (puede haber más) en cada sistema autónomo que actúa en nombre de todo el sistema autónomo. A este router se le denomina nodo speaker. El nodo speaker crea una tabla de encaminamiento y se la envía a los nodos speaker de los sistemas autónomos vecinos. Esta tabla de encaminamiento (vector camino) incluye la ruta desde su sistema autónomo hasta las redes incluidas en 13 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes otros sistemas autónomos. La idea es la misma que en el encaminamiento basado en el vector distancia; sin embargo, en el encaminamiento basado en vector distancia, el router envía además una estimación del coste en función de la métrica elegida. AS1 AS3 A3 A2 C2 C1 R1 R3 A4 A1 B3 D1 R4 R2 B1 B2 D3 D2 AS2 AS4 Veamos cada unos de los pasos fundamentales del proceso de construcción de las tablas de encaminamiento que realiza un nodo speaker. Utilizaremos para esto el ejemplo que se muestra en la figura anterior. Inicialización. Al comienzo, cada nodo speaker sólo conoce las redes accesibles dentro de su sistema autónomo. Para el ejemplo anterior, estas serían las tablas de encaminamiento inicial para cada nodo speaker. Tabla de R1 Tabla de R2 Tabla de R3 Destino Camino Destino Camino Destino Camino A1 AS1 B1 AS2 C1 A2 AS1 B2 AS2 C2 A3 AS1 B3 AS2 A4 AS1 Tabla de R4 Destino Camino AS3 D1 AS4 AS3 D2 AS4 D3 AS4 Compartir información. Un nodo speaker en un sistema autónomo comparte su tabla de encaminamiento con sus nodos speaker vecinos inmediatos. Para nuestro ejemplo, el router R1 comparte su tabla con los routers R2 y R3. El router R3 comparte su tabla con los routers R4, R2 y R1. El router R2 comparte su tabla con R3 y R1. El nodo R4 comparte su tabla con R3. Actualización. Cuando un nodo speaker recibe una tabla de un vecino, actualiza su propia tabla añadiendo las redes que no están en su tabla de encaminamiento, añadiendo a cada camino su propio sistema autónomo. 14 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes El proceso de compartir información y la actualización posterior permiten que en poco tiempo, si no hay ningún cambio en la red, cada nodo speaker tenga una tabla de encaminamiento estable que incluya las redes de los restantes sistemas autónomos. La siguiente figura muestra las tablas de nuestro ejemplo para cada nodo speaker después de que el sistema se haya estabilizado. De acuerdo con la figura, si el router R1 recibe un paquete para la red A3, sabe que el camino pasa por el sistema AS1 (el paquete está en su mismo sistema autónomo); pero si recibe un paquete para D2, sabe que el paquete debería salir de AS1, al sistema AS3 y luego al AS4. Por otro lado, si el router R4 en el sistema AS4 recibe un paquete para la red A2, sabe que debería enviarlo a través de los sistemas AS4, AS3 y AS1. Nótese que la tabla de encaminamiento determina el camino para cada posible red destino en términos de sistemas autónomos. Tabla de R1 Tabla de R2 Tabla de R3 Tabla de R4 Destino Camino Destino Camino Destino Camino Destino Camino A1 AS1 B1 AS2 C1 AS3 D1 AS4 A2 AS1 B2 AS2 C2 AS3 D2 AS4 A3 AS1 B3 AS2 A1 AS3-AS1 D3 AS4 A4 AS1 A1 AS2-AS1 A2 AS3-AS1 A1 AS4-AS3-AS1 B1 AS1-AS2 A2 AS2-AS1 A3 AS3-AS1 A2 AS4-AS3-AS1 B2 AS1-AS2 A3 AS2-AS1 A4 AS3-AS1 A3 AS4-AS3-AS1 B3 AS1-AS2 A4 AS2-AS1 B1 AS3-AS2 A4 AS4-AS3-AS1 C1 AS1-AS3 C1 AS2-AS3 B2 AS3-AS2 B1 AS4-AS3-AS2 C2 AS1-AS3 C2 AS2-AS3 B3 AS3-AS2 B2 AS4-AS3-AS2 D1 AS1-AS3-AS4 D1 AS2-AS3-AS4 D1 AS3-AS4 B3 AS4-AS3-AS2 D2 AS1-AS3-AS4 D2 AS2-AS3-AS4 D2 AS3-AS4 C1 AS4-AS3 D3 AS1-AS3-AS4 D3 AS2-AS3-AS4 D3 AS3-AS4 C2 AS4-AS3 Camino Óptimo. ¿Cuál es el camino óptimo en el encaminamiento basado en el vector camino si no se utiliza ninguna métrica? El mejor camino a cada destino depende de la organización propietaria del sistema autónomo. En nuestro ejemplo, podría haber más de un camino desde un sistema autónomo hasta una red destino. Un camino de AS4 a AS1 puede ser AS4-AS3-AS2-AS1 o puede ser AS4-AS3-AS1. Para las tablas de encaminamiento del ejemplo, se ha elegido como métrica el número más pequeño de sistemas autónomos, pero éste no siempre es el criterio que se sigue. Otros criterios, como la seguridad, la fiabilidad o el coste en dinero también podrían aplicarse. 15 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes BORDER GATEWAY PROTOCOL (BGP) El protocolo BGP es un protocolo de encaminamiento interdominio utilizado entre sistemas autónomos. Se trata de un protocolo que se basa en el encaminamiento por vector camino y se usa ampliamente en las redes actuales. BGP implementa el encaminamiento basado en el vector distancia directamente con algunas consideraciones: • define un formato de paquete específico para comunicarse con sus vecinos; • la comunicación entre los nodos speakers utiliza el puerto TCP 179; • según la configuración BGP establecida por el operador de la red manualmente, cada nodo speaker puede restringir la información que comparte y que recibe de otros nodos speaker; • BGP puede tener dos tipos de sesiones: sesiones externas (E-BGP) y sesiones internas (I-BGP). Las sesiones externas se utilizan para intercambiar información entre dos nodos speaker que pertenecen a sistemas autónomos diferentes. Las sesiones internas, por otro lado, se utilizan para intercambiar información entre dos routers dentro de un mismo sistema autónomo. 16 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes TEXTO 4. GESTIÓN DE LA CONGESTIÓN La congestión es la degradación de las prestaciones de la red que se produce cuando hay demasiados paquetes circulando por la red. La carga (load) es la cantidad de información que los hosts inyectan en la red y que, por tanto, tiene que ser encaminados. La red tiene una capacidad máxima concreta (capacity), ya que sus componentes están limitados. Cuando la carga llega a la capacidad de la red se produce la congestión y el rendimiento (throughput) de la red se deteriora. La congestión puede producirse por varias razones. Algunas de ellas son la insuficiente capacidad de almacenamiento de paquetes (buffers) del router, la insuficiente capacidad de procesamiento de paquetes del router, o la velocidad insuficiente de las líneas de salida del router. Se han propuesto varios algoritmos para el control de la congestión, los cuales pueden clasificarse en dos categorías principales: algoritmos de prevención y algoritmos de control. ALGORITMOS DE PREVENCIÓN Los algoritmos de prevención evitan la ocurrencia de la congestión asegurando que el flujo de tráfico generado por cada origen no degradará las prestaciones de la red más allá de la calidad de servicio contratada (velocidad de transmisión garantizada, retardo máximo garantizado, etc.). CONTROL DE ADMISIÓN El control de admisión fue propuesto para redes de circuitos virtuales tales como ATM. El control de admisión trabaja en modo orientado a conexión, denominándose control de admisión de conexión (CAC, Connection Admission Control). 17 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes La idea principal del CAC es muy simple: cuando un origen solicita un establecimiento de una nueva conexión, cada router aplica un CAC que decide aceptarla o rechazarla. Si se puede satisfacer la calidad de servicio de todas las conexiones existentes mas la nueva, que comparten el mismo camino, la conexión se aceptará; en otro caso, se rechazará. Para que CAC pueda determinar si se cumple la calidad de servicio debe conocer el flujo de tráfico de cada origen. Así, cada uno de ellos debe especificar su flujo de tráfico, descrito mediante un conjunto de parámetros de tráfico denominado descriptor de tráfico, durante el establecimiento de cada conexión. Un descriptor de tráfico puede contener la velocidad de transmisión máxima, la velocidad de transmisión media, el retardo máximo, etc. CONFORMACIÓN DE TRÁFICO Una vez que se ha aceptado una conexión utilizando el control de admisión, la calidad de servicio se satisfará si cada origen respeta el descriptor de tráfico especificado durante el establecimiento de cada conexión. Por el contrario, si el flujo de tráfico viola el acuerdo inicial, puede que la red no sea capaz de mantener un nivel de prestaciones aceptable. Para evitar esto, la red puede monitorizar el comportamiento y elegir el rechazo o el etiquetado del tráfico que incumple las condiciones de su descriptor de tráfico. El tráfico etiquetado será transmitido por la red, pero con baja prioridad, y en caso de congestión será el primero que se descarte. La mayoría de las implementaciones de la función de supervisión de tráfico hacen uso del algoritmo de cubo goteante (leaky bucket). Para comprender cómo funciona este algoritmo, imagine un flujo de tráfico como el agua vertida sobre un cubo con un agujero en el fondo. El cubo tiene cierta profundidad y se vacía a cierta velocidad constante cuando no está vacío (veáse la siguiente figura). 18 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes Los paquetes llegan al cubo a ráfagas (bursty data) pero salen del cubo con una velocidad constante (fixed-rate data). En la figura, se asume que la red ha comprometido un ancho de banda de 3 Mbps para una estación origen. La estación envía una ráfaga de datos a una tasa de 12 Mbps durante 2 s, con un total de 24 Mbits. La estación está en silencio durante 5 s y a continuación envía otra ráfaga de datos a una tasa de 2 Mbps durante 3 s, con un total de 6 Mbits de datos. En total, la estación ha enviado 30 Mbits de datos en 10 s. Sin un algoritmo de cubo goteante, la ráfaga inicial podría afectar a la calidad de servicio que la red se ha comprometido a ofrecer. Consumir más ancho de banda del que se solicitó en el descriptor de tráfico podría llegar a generar un problema de congestión en la red. Por último, también hay que considerar que el cubo tiene una capacidad limitada para almacenar agua (paquetes). Cuando el agua no desborda el cubo, el tráfico se declara conforme. Por el contrario, todos los paquetes que impliquen un desbordamiento del cubo serán etiquetados como no conformes (o incluso podrían llegar a descartarse). ALGORITMOS DE CONTROL DE CONGESTIÓN A pesar de la aplicación de técnicas de prevención de congestión, en algunas circunstancias se pueden llegar a producir situaciones de congestión en la red. En dichos casos, es necesario aplicar técnicas de control de congestión. PAQUETES DE CHOQUE Cada router monitoriza sus líneas de salida y hace una estimación de su uso. Si se sobrepasa un umbral, avisa a las estaciones origen que le obligan a utilizar esa línea de salida mediante un paquete de restricción. El router sigue dejando pasar los paquetes pero los marca para que más adelante no provoquen el envío de nuevos paquetes de restricción. Cada estación origen que reciba un paquete de restricción disminuirá el tráfico hacia la estación destino. Los aumentos posteriores se harán en incrementos menores para evitar una nueva situación de congestión. Una implementación de esta técnica la proporciona ICMP con los paquetes Source Quench en redes IP. RECHAZO DE PAQUETES En ocasiones, cuando la memoria temporal de los routers para el almacenamiento de paquetes (buffers) está a punto de saturarse, de forma que no es posible seguir almacenando toda la información recibida, es necesario llevar a cabo el descarte de paquetes. En aquellos casos en los que se utilicen mecanismos de conformación del tráfico, resulta sencillo averiguar qué paquetes son susceptibles de ser eliminados (aquellos etiquetados como no conformes). En otros casos, la decisión deberá tener en cuenta varios factores, como por ejemplo el tipo de tráfico. Para el tráfico multimedia es mejor descartar los paquetes más antiguos, ya que los nuevos contienen la información más reciente. Sin embargo, para el caso de la transmisión de ficheros, el 19 Universidad de Mur cia DPTO. DE INGENIERÍA Y TECNOLOGÍA DE COMPUTADORES 3º I.T.I. Gestión – Redes de Computadores/3º I.T.I. Sistemas – Redes descarte de paquetes antiguos conllevará la retransmisión de los mismos, así como de algunos paquetes subsecuentes, lo cual puede realimentar la situación de congestión. Lo mismo sucede respecto a la información de control y los datos, siendo el primer tipo más crítico que el segundo. SEÑALIZACIÓN IMPLÍCITA DE CONGESTIÓN En la señalización implícita de congestión no hay comunicación entre los routers congestionados y la estación origen. El origen detecta que hay congestión en algún punto de la red a través de otros síntomas. Cuando se produce congestión en la red pueden suceder dos cosas: • el retardo de transmisión de un paquete dado desde una estación origen hasta una estación destino aumenta hasta ser apreciablemente mayor que el retardo medio; • los routers congestionados descartan paquetes. Si una estación origen detecta estas situaciones, puede deducir que existe un problema de congestión y reducir el flujo de información inyectado en la red para aliviarla. SEÑALIZACIÓN EXPLÍCITA DE CONGESTIÓN Generalmente, las técnicas explícitas de control de congestión operan sobre redes orientadas a conexión y controlan el flujo de paquetes de conexiones individuales. Las aproximaciones de señalización explícita de congestión pueden trabajar en uno de los dos siguientes sentidos: • Hacia atrás. Se puede activar un bit en un paquete que se mueve en el sentido contrario a la congestión. Este bit puede advertir a la estación origen de que hay congestión y que necesita ralentizar su envío para evitar el descarte de paquetes. • Hacia adelante. Se puede activar un bit en un paquete que va en el sentido de la congestión. Este bit puede advertir a la estación destino de que hay congestión. El receptor en este caso puede utilizar políticas, como ralentizar las confirmaciones, para aliviar la congestión. 20