DISTINTOS PROTOCOLOS DE ENRUTAMIENTO DE REDES El presente texto pretende ser un extracto de los distintos tipos de enrutamiento, así como tratar los conceptos de redes, y direccionamiento de redes. Índice ENRUTAMIENTO RIP.................................................................................................................................2 ENRUTAMIENTO IGRP..............................................................................................................................5 ENRUTAMIENTO EIGRP............................................................................................................................6 ENRUTAMIENTO EGP................................................................................................................................9 ENRUTAMIENTO BGP..............................................................................................................................11 ENRUTAMIENTO OSPF............................................................................................................................17 ENRUTAMIENTO IGP...............................................................................................................................21 PROTOCOLO IS-IS....................................................................................................................................23 ENRUTAMIENTO CIDR............................................................................................................................27 CONCEPTO DE SUBRED.........................................................................................................................31 MASCARA DE SUBRED...........................................................................................................................33 MASCARA DE SUBRED DE TAMAÑO VARIABLE..............................................................................36 VLANs.........................................................................................................................................................38 MPLS Multiprotocol Label Switching.........................................................................................................40 Página 1 ENRUTAMIENTO RIP RIP son las siglas de Routing Information Protocol (Protocolo de Enrutamiento de Información). Es un protocolo de puerta de enlace interna o IGP (Internal Gateway Protocol) utilizado por los routers (enrutadores), aunque también pueden actuar en equipos, para intercambiar información acerca de redes IP. Historia El origen del RIP fue el protocolo de Xerox, el GWINFO. Una versión posterior, fue conocida como routed, distribuida con Berkeley Standard Distribution (BSD) Unix en 1982. RIP evolucionó como un protocolo de enrutamiento de Internet, y otros protocolos propietarios utilizan versiones modificadas de RIP. El protocolo Apple Talk Routing Table Maintenance Protocol (RTMP) y el Banyan VINES Routing Table Protocol (RTP), por ejemplo, están los dos basados en una versión del protocolo de enrutamiento RIP. La última mejora hecha al RIP es la especificación RIP 2, que permite incluir más información en los paquetes RIP y provee un mecanismo de autenticación muy simple. Versiones RIP En la actualidad existen tres versiones diferentes de RIP, las cuales son: RIPv1: No soporta subredes ni direccionamiento CIDR. Tampoco incluye ningún mecanismo de autentificación de los mensajes. No se usa actualmente. Su especificación está recogida en el RFC 1058. Es un protocolo de routing con clase. RIPv2: Soporta subredes, CIDR y VLSM. Soporta autenticación utilizando uno de los siguientes mecanismos: no autentificación, autentificación mediante contraseña, autentificación mediante contraseña codificada mediante MD5 (desarrollado por Ronald Rivest). Su especificación está recogida en RFC 1723 y en RFC 2453. RIPng: RIP para IPv6. Su especificación está recogida en el RFC 2080. También existe un RIP para IPX, que casualmente lleva el mismo acrónimo, pero no está directamente relacionado con el RIP para redes IP, ad-hoc. El protocolo RIP, es una implementación directa del encaminamiento vector-distancia. Utiliza UDP para enviar sus mensajes a través del puerto 520. Calcula el camino más corto hacia la red de destino usando el algoritmo del vector de distancias. Esta distancia o métrica, la determina usando el número de saltos de router en router hasta alcanzar la red de destino. Para ello usa la métrica informada por su vecino más próximo más uno. La distancia administrativa (grado de conocimiento y confiabilidad) máxima es de 120 (RIP2) Ventajas e Inconvenientes Ventajas de RIP RIP es más fácil de configurar (comparativamente a otros protocolos). Es un protocolo abierto (admite versiones derivadas aunque no necesariamente compatibles). Es soportado por la mayoría de los fabricantes. Desventajas de RIP Su principal desventaja, consiste en que para determinar la mejor métrica, únicamente toma en cuenta el Página 2 número de saltos, descartando otros criterios (Ancho de Banda, congestión, carga, retardo, fiabilidad, etc.). RIP tampoco está diseñado para resolver cualquier posible problema de encaminamiento. El RFC 1720 (STD 1) describe estas limitaciones técnicas de RIP como graves y el IETF está evaluando candidatos para reemplazarlo, dentro de los cuales OSPF es el favorito. Este cambio, está dificultado por la amplia expansión de RIP y necesidad de acuerdos adecuados. Modo de Operación El valor de (AD) de RIP es de 120, por ello tiene menor prioridad sobre los demás protocolos de enrutamiento. Cuando RIP se inicia, envía un mensaje a cada uno de sus vecinos (en el puerto bien conocido 520) pidiendo una copia de la tabla de encaminamiento del vecino. Este mensaje es una solicitud (el campo "command" se pone a 1) con "address family" a 0 y "metric" a 16. Los "routers" vecinos devuelven una copia de sus tablas de encaminamiento. Cuando RIP está en modo activo envía toda o parte de su tabla de encaminamiento a todos los vecinos por broadcast y/o con enlaces punto a punto. Esto se hace cada 30 segundos. La tabla de encaminamiento se envía como respuesta ("command" vale 2, aun que no haya habido petición). Cuando RIP descubre que una métrica ha cambiado, la difunde por broadcast a los demás "routers". Cuando RIP recibe una respuesta, el mensaje se valida y la tabla local se actualiza si es necesario (Para mejorar el rendimiento y la fiabilidad, RIP especifica que una vez que un "router"(o host) ha aprendido una ruta de otro, debe guardarla hasta que conozca una mejor (de coste estrictamente menor). Esto evita que los "routers" oscilen entre dos o más rutas de igual coste). Cuando RIP recibe una petición, distinta de la solicitud de su tabla, se devuelve como respuesta la métrica para cada entrada de dicha petición fijada al valor de la tabla local de encaminamiento. Si no existe ruta en la tabla local, se pone a 16. Las rutas que RIP aprende de otros "routers" expiran a menos que se vuelvan a difundir en 180 segundos(6 ciclos de broadcast). Cuando una ruta expira, su métrica se pone a infinito, la invalidación de la ruta se difunde a los vecinos, y 60 segundos más tarde, se borra de la tabla. Mensajes RIP Tipos de mensajes RIP Los mensajes RIP pueden ser de dos tipos. Petición: Enviados por algún enrutador recientemente iniciado que solicita información de los enrutadores vecinos. Respuesta: mensajes con la actualización de las tablas de enrutamiento. Existen tres tipos: Mensajes ordinarios: Se envían cada 30 segundos. Para indicar que el enlace y la ruta siguen activos. Se envía la tabla de enrutado completa. Mensajes enviados como respuesta a mensajes de petición. Mensajes enviados cuando cambia algún coste. Se envía toda la tabla de enrutado. Formato de los mensajes RIP Los mensajes tienen una cabecera que incluye el tipo de mensaje y la versión del protocolo RIP, y un máximo de 25 entradas RIP de 20 bytes. Página 3 Las entradas en RIPv1 contienen la dirección IP de la red de destino y la métrica. Las entradas. en RIPv2 contienen la dirección IP de la red de destino, su máscara, el siguiente enrutador y la métrica. La autentificación utiliza la primera entrada RIP. Página 4 ENRUTAMIENTO IGRP IGRP (Interior Gateway Routing Protocol, o Protocolo de enrutamiento de gateway interior) es un protocolo propietario patentado y desarrollado por Cisco que se emplea con el protocolo TCP/IP según el modelo (OSI) Internet. La versión original del IP fue diseñada y desplegada con éxito en 1986. Se utiliza comúnmente como IGP para intercambiar datos dentro de un Sistema Autónomo, pero también se ha utilizado extensivamente como Exterior Gateway Protocol (EGP) para el enrutamiento inter-dominio. IGRP es un protocolo de enrutamiento basado en la tecnología vector-distancia, aunque también tiene en cuenta el estado del enlace. Utiliza una métrica compuesta para determinar la mejor ruta basándose en el ancho de banda, el retardo, la confiabilidad y la carga del enlace. El concepto es que cada router no necesita saber todas las relaciones de ruta/enlace para la red entera. Cada router publica destinos con una distancia correspondiente. Cada router que recibe la información, ajusta la distancia y la propaga a los routers vecinos. La información de la distancia en IGRP se manifiesta de acuerdo a la métrica. Esto permite configurar adecuadamente el equipo para alcanzar las trayectorias óptimas. IGRP es un protocolo con clase, lo que significa que no pueden manipularse las máscaras de red (utiliza las máscaras por defecto de cada Clase) Página 5 ENRUTAMIENTO EIGRP EIGRP (Enhanced Interior Gateway Routing Protocol, Protocolo de enrutamiento de gateway interior mejorado) es un protocolo de encaminamiento híbrido, propiedad de Cisco Systems, que ofrece lo mejor de los algoritmos de vector de distancias y del estado de enlace. Se considera un protocolo avanzado que se basa en las características normalmente asociadas con los protocolos del estado de enlace. Algunas de las mejores funciones de OSPF, como las actualizaciones parciales y la detección de vecinos, se usan de forma similar con EIGRP. Aunque no garantiza el uso de la mejor ruta, es bastante usado porque EIGRP es algo más fácil de configurar que OSPF. EIGRP mejora las propiedades de convergencia y opera con mayor eficiencia que IGRP. Esto permite que una red tenga una arquitectura mejorada y pueda mantener las inversiones actuales en IGRP. EIGRP al igual que IGRP usa el siguiente cálculo de métrica: Métrica= [K1 * ancho de banda + ((K2 * ancho de banda)/(256-carga))+ (K3 * retardo)]*[K5/ (confiabilidad + K4)]. (Nota: Debido a que EIGRP utiliza un campo de métrica de 32 bits, a diferencia de IGRP que es de 24, multiplica este valor por 256). Los valores por defecto de las constantes son : K1=1, K2=0, K3=1, K4=0, K5=0. Cuando K4 y K5 son 0, la porción [K5/(confiabilidad+K4)] de la ecuación no forman parte del cálculo de la métrica. Por lo tanto, utilizando los valores por defecto de las constantes, la ecuación de la métrica es: Ancho de banda+retardo Los routers EIGRP mantienen información de ruta y topología a disposición en la RAM, para que puedan reaccionar rápidamente ante los cambios. Al igual que OSPF, EIGRP guarda esta información en varias tablas y bases de datos. Las rutas reciben un estado y se pueden rotular para proporcionar información adicional de utilidad. EIGRP mantiene las siguientes tres tablas:el enlace de mep a las 10 PM • Tabla de vecinos Cada router EIGRP mantiene una tabla de vecinos que enumera a los routers adyacentes. Esta tabla puede compararse con la base de datos de adyacencia utilizada por OSPF. Existe una tabla de vecinos por cada protocolo que admite EIGRP. • Tabla de topología La tabla de topología se compone de todas las tablas de encaminamiento EIGRP recibidas de los vecinos. EIGRP toma la información proporcionada en la tabla de vecinos y la tabla de topología y calcula las rutas de menor costo hacia cada destino. EIGRP rastrea esta información para que los routers EIGRP puedan identificar y conmutar a rutas alternativas rápidamente. La información que el router recibe de los vecinos se utiliza para determinar la ruta del sucesor, que es el término utilizado para identificar la ruta principal o la mejor. Esta información también se introduce a la tabla de topología. Los routers EIGRP mantienen una tabla de topología por cada protocolo configurado de red (como IP, IPv6 o IPX). La tabla de enrutamiento mantiene las rutas que se aprenden de forma dinámica. • Tabla de encaminamiento La tabla de encaminamiento EIGRP contiene las mejores rutas hacia un destino. Esta información se recupera de la tabla de topología. Los routers EIGRP mantienen una tabla de encaminamiento por cada protocolo de red. A continuación se muestran los campos que conforman la tabla de encaminamiento: • Distancia factible (FD): Ésta es la métrica calculada más baja hacia cada destino. Por ejemplo, la distancia factible a 32.0.0.0 es 2195456. La distancia de la ruta que está en la tabla de Página 6 • • • • encaminamiento. Origen de la ruta: Número de identificación del router que publicó esa ruta en primer lugar. Este campo se llena sólo para las rutas que se aprenden de una fuente externa a la red EIGRP. El rotulado de rutas puede resultar particularmente útil con el encaminamiento basado en políticas. Por ejemplo, el origen de la ruta a 32.0.0.0 es 200.10.10.10. Distancia informada (RD): La distancia informada (RD) de la ruta es la distancia informada por un vecino adyacente hacia un destino específico. Por ejemplo, la distancia informada a 32.0.0.0 por el vecino 200.10.10.10 es 281600 tal como lo indica (2195456/281600). Información de interfaz: La interfaz a través de la cual se puede alcanzar el destino. Estado de ruta: El estado de una ruta. Una ruta se puede identificar como pasiva, lo que significa que la ruta es estable y está lista para usar, o activa, lo que significa que la ruta se encuentra en el proceso de recálculo por parte de DUAL. Protocolos que utiliza EIGRP Protocolo de Transporte Confiable (RTP, que no se confundan con el Real-time Transport Protocol), que es un protocolo de capa de transporte que garantiza la entrega ordenada de paquetes EIGRP a todos los vecinos. En una red IP, los hosts usan TCP para secuenciar los paquetes y asegurarse de que se entreguen de manera oportuna. La entrega confiable de otra información de encaminamiento puede realmente acelerar la convergencia porque entonces los routers EIGRP no tienen que esperar a que un temporizador expire antes de retransmitir. Con RTP, EIGRP puede realizar envíos en multicast y en unicast a diferentes pares de forma simultánea. Esto maximiza la eficiencia. Cuando un router detecta que un vecino no está disponible, intenta encontrar rutas alternativas para todas aquellas que en la tabla de encaminamiento están dirigidas a ese vecino. El heurístico que se emplea para saber si utilizar una ruta de un vecino o no es comparar la distancia factible de la ruta (la que tenía el router antes de perder la conectividad con el vecino) con la distancia informada por cada vecino alternativo. Si un vecino alternativo tiene una distancia informada menor que la distancia factible, significa que está más cerca que el router que calcula el destino y por tanto no puede dar origen a un bucle porque no puede volver al router que recalcula. En este caso se puede usar como encaminamiento alternativo. Si un vecino tiene una distancia informada mayor que la factible, es posible que su camino hacia el destino pase por el router que hace el recálculo, por lo que no es conveniente utilizarla ya que hay la posibilidad de que de lugar a un bucle de encaminamiento Cuando no se encuentra un camino alternativo con la información disponible localmente (en terminología EIGRP, no se encuentra un sucesor factible), se desencadena el algoritmo DUAL (Diffusing Update ALgorithm), que es el proceso de búsqueda de rutas alternativas de EIGRP. El proceso simplificado funciona de la siguiente manera: El router que ha detectado la caída marca la ruta como parte del proceso de recálculo (la marca como activa, o perteneciente a un proceso de activo de recálculo, como opuesto al proceso pasivo de recibir las tablas de encaminamiento de los vecinos, el proceso estándar). A continuación, pregunta a todos sus vecinos (menos al que está caído) por una ruta alternativa para llegar a ese destino. Cada vecino que recibe una pregunta por una ruta, mira en su tabla de encaminamiento si tiene alguna ruta para llegar a ese destino que no sea el vecino que pregunta. Si la encuentra, contesta al vecino con ese dato y el proceso se acaba. Si no la encuentra, marca a su vez la ruta como activa y pregunta a su vez a todos los vecinos menos el que originó la pregunta por una ruta alternativa. Si no tiene vecinos, responde que no encuentra una ruta. Así, la pregunta se va difundiendo (lo que da origen al nombre del algoritmo) por toda la parte de la red que sigue accesible, hasta que se encuentra una ruta alternativa o se determina que la ruta no está accesible porque todos los vecinos responden negativamente. Una de las mejores características de EIGRP es su diseño modular. Se ha demostrado que los diseños modulares o en capas son los más escalables y adaptables. EIGRP logra la compatibilidad con los protocolos enrutados, como IP, IPX y AppleTalk, mediante los PDM. En teoría, EIGRP puede agregar Página 7 PDM para adaptarse fácilmente a los protocolos enrutados nuevos o revisados como IPv6. Cada PDM es responsable de todas las funciones relacionadas con su protocolo encaminado específico. El módulo IP-EIGRP es responsable de las siguientes funciones: • Enviar y recibir paquetes EIGRP que contengan datos IP • Avisar a DUAL una vez que se recibe la nueva información de encaminamiento IP • Mantener de los resultados de las decisiones de encaminamiento DUAL en la tabla de encaminamiento IP • Redistribuir la información de encaminamiento que se aprendió de otros protocolos de encaminamiento capacitados para IP Configuración del protocolo Como se trata de un protocolo propietario que sólo es implementado en los routeres de Cisco es posible detallar aquí la forma de realizar una configuración básica de EIGRP. 1. Use lo siguiente para habilitar EIGRP y definir el sistema autónomo: router(config)#router eigrp autonomous-system-number El número de sistema autónomo se usa para identificar todos los routers que pertenecen a la internetwork. Este valor debe coincidir para todos los routers dentro de la internetwork. 2. Indique cuáles son las redes que pertenecen al sistema autónomo EIGRP en el router local mediante la siguiente orden: router(config-router)#network network-number Network-number es el número de red que determina cuáles son las interfaces del router que participan en EIGRP y cuáles son las redes publicadas por el router. La orden network configura sólo las redes conectadas. Por ejemplo, la red 3.1.0.0, que se encuentra en el extremo izquierdo de la Figura principal, no se encuentra directamente conectada al router A. Como consecuencia, esa red no forma parte de la configuración del Router A. 3. Al configurar los enlaces seriales mediante EIGRP, es importante configurar el valor del ancho de banda en la interfaz. Si el ancho de banda de estas interfaces no se modifica, EIGRP supone el ancho de banda por defecto en el enlace en lugar del verdadero ancho de banda. Si el enlace es más lento, es posible que el router no pueda converger, que se pierdan las actualizaciones de encaminamiento o se produzca una selección de rutas por debajo de la óptima. Para establecer el ancho de banda para la interfaz, aplique la siguiente sintaxis: router(config-if)#bandwidth kilobits Sólo el proceso de encaminamiento utiliza la orden bandwidth y es necesario configurar la orden para que coincida con la velocidad de línea de la interfaz. 4. Cisco también recomienda agregar la siguiente orden a todas las configuraciones EIGRP: router(config-router)#eigrp log-neighbor-changes Esta orden habilita el registro de los cambios de adyacencia de vecinos para monitorear la estabilidad del sistema de encaminamiento y para ayudar a detectar problemas. Página 8 ENRUTAMIENTO EGP El Exterior Gateway Protocol (EGP) es un protocolo estándar usado para intercambiar información de enrutamiento entre sistemas autónomos. Las pasarelas EGP sólo pueden retransmitir información de accesibilidad para las redes de su AS. La pasarela debe recoger esta información, habitualmente por medio de un IGP, usado para intercambiar información entre pasarelas del mismo AS. Introducción Se basa en el sondeo periódico empleando intercambios de mensajes "Hello/I Hear You", para monitorizar la accesibilidad de los vecinos y para sondear si hay solicitudes de actualización. Restringe las pasarelas exteriores al permitirles anunciar sólo las redes de destino accesibles en el AS de la pasarela. De esta forma, una pasarela exterior que usa EGP pasa información a sus vecinos EGP pero no anuncia la información de accesibilidad de estos (las pasarelas son vecinos si intercambian información de encaminamiento) fuera del AS. El protocolo más utilizado para configurar un EGP es BGP. Características • Soporta un protocolo NAP ("Neighbor Acquisition Protocol). Dos pasarelas se pueden considerar vecinas si están conectadas por una red que es transparente para ambas. No especifica la forma en que una pasarela decide inicialmente que quiere ser vecina de otra. Para convertirse en vecina, debe enviar un mensaje "Acquisition confirm" como respuesta a un Acquisition Request. Este paso es necesario para obtener información de encaminamiento de otra pasarela. • Soporta un protocolo NR ("Neighbor Reachability"). La pasarela lo usa para mantener información en tiempo real sobre la accesibilidad de sus vecinos. El protocolo EGP proporciona dos tipos de mensajes para ese fin: un mensaje Hello y un mensaje I Hear You (respuesta a Hello). • Soporta mensajes de actualización (o mensajes NR) que llevan información de encaminamiento. No se requiere ninguna pasarela para enviar mensajes NR a otra pasarela, excepto como respuesta a una petición de sondeo ("poll request"). Tipos Para realizar estas tres funciones básicas, EGP define 10 tipos de mensajes: • • • • • • • • • • Acquisition Request: solicita que una pasarela se convierta en vecina. Acquisition Confirm: respuesta afirmativa a un "acquisition request". Acquisition Refuse: respuesta negativa a un "acquisition request". Cease Request: solicitud de terminación de la relación de vecindad. Cease Confirm: confirmación para que cesen las peticiones. Hello: solicitud de respuesta e un vecino, si está vivo. I Hear You: respuesta el mensaje Hello. Poll Request: solicitud de la tabla de encaminamiento de la red. Routing Update: información de accesibilidad de la red. Error: respuesta a un mensaje incorrecto. Los distintos campos son los siguientes (no se considera la cabecera EGP; referirse al RC 904 para más detalles): • • • • Int GW: número de pasarelas interiores que aparecen en el mensaje. Ext GW: número de pasarelas exteriores que aparecen en el mensaje. IP Source Network: la dirección IP de red para la que se mide la accesibilidad. GW1 IP addr: Dirección IP sin el número de red de la pasarela para la que se miden las distancias. Página 9 • • • • Dist.: número de distancias en el bloque de la pasarela. Dist.Da: valor de la distancia. Net Da: número de redes a una distancia dada(Da). Net1 at distance Da: número IP de la red accesible por GW1 a una distancia Da de GW1. Los mensajes EGP asocian un descriptor "distances" a cada ruta. Pero EGP no interpreta estos valores, simplemente sirven como indicación de la accesibilidad o inaccesibilidad de una red (un valor de 255 significa que la red es inalcanzable). El valor no se puede usar para calcular cuál es la más corta de dos rutas a menos que ambas pertenezcan al mismo AS. Por esta razón, EGP no se puede usar como algoritmo de encaminamiento. Como resultado sólo habrá una única ruta del exterior de la pasarela a una red. Página 10 ENRUTAMIENTO BGP El BGP o Border Gateway Protocol es un protocolo mediante el cual se intercambia información de encaminamiento entre sistemas autónomos. Por ejemplo, los ISP registrados en Internet suelen componerse de varios sistemas autónomos y para este caso es necesario un protocolo como BGP. Entre los sistemas autónomos de los ISP se intercambian sus tablas de rutas a través del protocolo BGP. Este intercambio de información de encaminamiento se hace entre los routers externos de cada sistema autónomo. Estos routers deben soportar BGP. Se trata del protocolo más utilizado para redes con intención de configurar un Exterior Gateway Protocol. La forma de configurar y delimitar la información que contiene e intercambia el protocolo BGP es creando lo que se conoce como sistema autónomo. Cada sistema autónomo (AS) tendrá conexiones o, mejor dicho, sesiones internas (iBGP) y además sesiones externas (eBGP). El protocolo de gateway fronterizo (BGP) es un ejemplo de protocolo de gateway exterior (EGP). BGP intercambia información de encaminamiento entre sistemas autónomos a la vez que garantiza una elección de rutas libres de bucles. Es el protocolo principal de publicación de rutas utilizado por las compañías más importantes de ISP en Internet. BGP4 es la primera versión que admite encaminamiento entre dominios sin clase (CIDR) y agregado de rutas. A diferencia de los protocolos de Gateway internos (IGP), como RIP, OSPF y EIGRP, no usa métricas como número de saltos, ancho de banda, o retardo. En cambio, BGP toma decisiones de encaminamiento basándose en políticas de la red, o reglas que utilizan varios atributos de ruta BGP. BGP realiza tres tipos de Ruteo: • Ruteo Interautónomo • Ruteo Intrautónomo • Ruteo de pasc. Introducción El Border Gateway Protocol juega un papel crítico en las comunicaciones en Internet. Facilita el intercambio de información sobre redes IP, la comunicación entre sistemas autónomos (AS). Por tanto BGP es un protocolo interdominio (entre sistemas autónomos) e intradominio (dentro del mismo sistema autónomo). El protocolo BGP se utiliza para intercambiar información. El intercambio de información en la red se realiza mediante el establecimiento de una sesión de comunicación entre los routers de borde de los sistemas autónomos. Para conseguir una entrega fiable de la información, se hace uso de una sesión de comunicación basada en TCP en el puerto número 179. Esta sesión debe mantenerse conectada debido a que ambos extremos de la comunicación periódicamente se intercambian y actualizan información. De modo que al principio, cada router envía al vecino toda su información de encaminamiento y después únicamente se enviarán las nuevas rutas, las actualizaciones o la eliminación de rutas transmitidas con anterioridad. Además periódicamente se envían mensajes para garantizar la conectividad. Cuando una conexión TCP se interrumpe por alguna razón, cada extremo de la comunicación está obligado a dejar de utilizar la información que ha aprendido por el otro lado. En otras palabras, la sesión TCP sirve como un enlace virtual entre dos sistemas autónomos vecinos, y la falta de medios de comunicación indica que el enlace virtual se ha caído. Cabe destacar que esa unión virtual tendrá mas de un enlace físico que conecte a los dos routers frontera, pero si una conexión virtual se cae no indica necesariamente que la conexión física se haya caído. Desde este punto de vista la topología de Internet se puede considerar como un gráfico de conexión de sistemas autónomos conectados mediante enlaces virtuales. En la figura podemos ver seis sistemas autónomos llamados AS1, AS2, ..., AS6 conectados por enlaces virtuales. Es decir, que mantienen Página 11 sesiones BGP sobre TCP para la comunicación entre los sistemas autónomos. Cada sistema autónomo contiene una o más redes que se identificaron como N1, N2 y N3 en AS1 y así sucesivamente. Simplemente observando la figura se puede mostrar que existe más de una ruta posible entre dos sistemas autónomos determinados. Como también es posible tener uno o más de un router de borde en el mismo sistema autónomo. Para la puesta en funcionamiento de la red anterior se debe proveer de un mecanismo de intercambio de rutas que permita comunicar correctamente ambos sistemas. El protocolo BGP utiliza el protocolo de vector de caminos (path vector) para el intercambio de información de enrutamiento en la red. Se transmite una lista con identificación de los ASs por los que pasa el anuncio. De esa manera se conseguirá saber cómo llegar a cualquier dirección del prefijo propagado así como se dispondrá para cursar tráfico para cualquier dirección del prefijo. Antes de enunciar la mecánica de selección de rutas se deben introducir las dos formas de proceder cuando se cuenta con un escenario en el que implantar BGP. Se debe distinguir entre External BGP (EBGP) e Internal BGP (IBGP). EBGP hace referencia al intercambio de información entre sistemas autónomos sin embargo IBGP hace referencia al intercambio de información dentro de un sistema autónomo. Hasta ahora nos hemos centrado en EBGP pero ¿para qué tipo de escenarios se destaca la importancia de IBGP? Podemos observar una figura como la siguiente, donde por ejemplo el sistema autónomo AS1 debe propagar tres prefijos IP (N1, N2 y N3) para que sean alcanzables desde otros sistemas autónomos. Además estas tres redes deberán establecer cierta política de decisión de rutas hacia otros sistemas autónomos. IBGP conforma una topología virtual mallada de modo que todos los routers de un sistema autónomo se encuentren conectados para que el intercambio de rutas sea directo desde el router al que le llega el anuncio hacia todo los de su sistema autónomo. Página 12 Relaciones entre AS Las relaciones que existen entre distintos sistemas autónomos son principalmente de peering y de tránsito. Básicamente una relación de tránsito es la que existe entre un proveedor y un cliente, de modo que el cliente pague por los recursos de Internet que le puede suministrar su proveedor. Las relaciones de peering no suelen se pagadas y consisten en un enlace para comunicar dos sistemas autónomos con el fin de reducir costes, latencia, pérdida de paquetes y obtener caminos redundantes. Se suele hacer peering con sistemas autónomos potencialmente similares, es decir, no se hace peering con un cliente potencial ya que saldría uno de los dos sistemas autónomos beneficiado. En la figura se muestra una topología de red con diferentes tipos de relaciones. Los proveedores llamador Tier 1 son los que por definición no pagan a otros proveedores y ofrecen servicio y conectividad a muy larga distancia. Los demás proveedores mostrados pagan al menos el tránsito con un Tier 1. Los clientes pagarán a los proveedores con los que tengan un enlace de tránsito. BGP además permite la agregación de rutas de modo que las rutas manejadas por un router en concreto sean las menores posibles. Un escenario que se suele repetir es uno llamado “Multihoming”. Este término hace referencia a un cliente que contrata a dos proveedores de tránsito, lo que implica que existen dos rutas de salida, de modo que se deberá decidir entre un camino u otro dependiendo de ciertas especificaciones, necesidades o simples políticas que se impongan en el sistema autónomo. Un ejemplo se puede ver en la figura prestando atención a Cliente A. Las especificaciones pueden ser para balancear el tráfico, para poner un enlace como preferido antes que otro (por ejemplo porque tenga más velocidad), por tolerancia a fallos, etc. El manejo de estas prioridades es lo que se llama ingeniería de tráfico y se consigue gracias a los Página 13 atributos BGP que se definen en el protocolo. Tipos de mensajes Existen cuatro tipos de mensajes BGP que son los siguientes: OPEN: se utiliza para el establecimiento de una sesión BGP una vez haya sido establecida la conexión TCP. Se suelen negociar ciertos parámetros que caractericen a esa sesión. Por ejemplo es muy posible que los miembros de la sesión no tengan la misma versión de BGP por lo que es importante indicar el número de versión en este mensaje. UPDATE: Es un mensaje de actualización, es un mensaje clave en las operaciones de BGP ya que contiene los anuncios de nuevos prefijos. Se generarán mensajes de actualización cada vez que se determine una nueva mejor ruta para cierto destino o haya una modificación sobre alguna existente. KEEPALIVE: Una vez que la sesión BGP está activa se envía periódicamente un mensaje KEEPALIVE para confirmar que el otro extremo sigue estando activo en la sesión BGP. Generalmente se acuerda un tiempo máximo de espera (hold time) durante el intercambio inicial de mensajes OPEN. El KEEPALIVE suele ser aproximadamente una vez cada tercio del tiempo de espera, pero no más de una vez cada segundo. Los mensajes KEEPALIVE no se deben generar si el tiempo de espera es cero ya que en ese caso se entiende que la sesión es completamente fiable. NOTIFICATION: Se envía al cerrar una sesión BGP y esto sucede cuando ocurre algún error que requiera el cierre de la misma. De modo que es un mensaje que permite informar de los errores. Ingeniería de tráfico La ingeniería de tráfico en BGP es el modo en que se gestiona la red a partir de los atributos con los que cuenta dicho protocolo para satisfacer determinadas características o imposiciones de un escenario BGP. Se definen características para el tráfico saliente y para el entrante, siendo este último algo más difícil de controlar. De modo que esta gestión de la red se hace a partir de la selección de las rutas que cualquier router va a propagar en una red y de las rutas que va a escoger como preferentes y alternativas. Para ello se cuenta con un conjunto de atributos que dan información para la toma de decisión para filtrar o seleccionar rutas. Se definen a continuación dichos atributos: ORIGIN: Identifica el mecanismo por el cual se anunció el prefijo IP por primera vez. Se puede especificar como IGP (0), EGP(1) o INCOMPLETE(2). IGP indica que el prefijo IP se aprendió por un protocolo interior al sistema autónomo como por ejemplo OSFP. EGP indica que el prefijo IP se aprendió por un protocolo exterior como podría ser BGP, por ejemplo puede ser debido a que se ha realizado agregación. Generalmente si el ORIGIN es INCOMPLETE es porque se ha aprendido de forma estática. Si se quisiera decidir una selección de rutas en base a este prefijo se escoge la que tiene un valor de ORIGIN más bajo, es decir, se prefieren las rutas aprendidas por IGP antes que las de EGP y éstas ultimas antes que INCOMPLETE. AS-PATH: Este atributo almacena una secuencia de números de AS que identifican la ruta de ASs por los que ha pasado el anuncio. Cada vez que un router de borde propaga una ruta hacia otro lado añade a este atributo su numero de AS constituyendo así la lista de ASs que se pretendía tener. La lista permanece intacta si se usa IBGP, es decir, si no se sale del sistema autónomo. Si se quisiera utilizar el AS-PATH como método de selección de rutas se escogería el que tuviera una lista AS-PATH más pequeña. Esto es una forma de medir que haya menos saltos hacia el destino aunque no es exactamente así porque no se tienen en cuenta los posibles saltos debidos a los routers dentro de un sistema autónomo. NEXT-HOP: Página 14 Identifica la dirección IP del router correspondiente al siguiente salto hacia el destino. Se debe tener en cuenta que un prefijo IP se anuncia fuera de un sistema autónomo, por lo que el next-hop es el destino que se conoce y al que hay que enviar el tráfico de los usuarios que quieran llegar a un destino final. La información del NEXT-HOP se procesa con los datos de tabla de encaminamiento IP. Ahora se contará con una tabla IP (con la que ya se contaba anteriormente) y con una tabla BGP que contendrá el NEXTHOP para cada destino. Se obtendrá una ruta hacia el destino BGP pasando por los saltos que indique la tabla de encaminamiento IP. Si se quisiera seleccionar una ruta por este atributo se seleccionaría la que suponga menor coste hacia el NEXT-HOP, es decir, menor número de saltos hacia el NEXT-HOP. MULTI-EXIT-DISCRIMINATOR (MED) Es un indicador diseñado para ser utilizado cuando desde un sistema autónomo existen múltiples enlaces hacia un mismo sistema autónomo. Se puede observar más fácilmente en la siguiente figura. Como puede verse desde un mismo sistema autónomo se realizan dos enlaces a otro sistema autónomo. Este atributo se puede utilizar para como balanceo de carga, de modo que hacia unos prefijos se tenga un valor de MED que haga preferente cierto prefijo y hacia otros prefijos se haga preferente otro diferente. Esta métrica es local entre dos sistemas autónomos, no se propaga fuera de ese ámbito. Si se quisiera seleccionar una ruta por medio de este atributo se consideraría preferida la que tuviese un valor de MED menor. LOCAL-PREF: Este atributo es útil en un escenario en el que un sistema autónomo tiene conectividad con múltiples sistemas autónomos, de manera que pueda haber múltiples rutas hacia un mismo destino. Este atributo dará preferencia al envío de tráfico por un enlace en concreto, por tanto solo tendrá sentido dentro de un mismo sistema autónomo, luego solo se transmite por IBGP. Se escogerá el envío de datos por el enlace que tenga un LOCAL-PREF más alto, siendo el LOCAL-PREF por defecto de valor 100. COMMUNITY: Se puede gestionar la distribución de información de routing a un grupo de destinatarios llamados COMMUNITIES. La idea es que una vez sustrito a un grupo de destinatarios se les pueda aplicar una política de routing concreta. De ese modo se simplifica el trabajo agregando información de routing así como se proporciona una herramienta para tener un entorno más vigilado en la red. Se consigue mediante un número que actúa como una etiqueta que califica a la ruta. Selección de rutas Todos estos atributos pueden ser utilizados conjuntamente para la selección de rutas, sin embargo se debe imponer un orden de preferencia de manera que si se tienen varias rutas que pueden ser preferente solo se elija una. Se recorrerá la siguiente lista y se eliminarán las rutas que no empatan en el mejor valor de cada uno de los criterios. Se ha de tener en cuenta que los criterios de decisión de enrutamiento que incluyen normas de desempate se aplican a cada prefijo IP o conjunto de prefijos IP destino. Página 15 1. Si el siguiente NEXT-HOP no está disponible se ignora la ruta. 2. Eliminar las rutas con menor LOCAL-PREF. 3. Eliminar las rutas con AS-PATH más largo. 4. Eliminar las rutas con ORIGIN más alto. 5. Eliminar las rutas con mayor MED. 6. Eliminar las rutas aprendidas por IBGP si las hay aprendidas por EBGP. 7. Eliminar las rutas con mayor coste hacia el NEXT-HOP. 8. Preferir la ruta que ha anunciado el router con menor identificador BGP. 9. Preferir la ruta recibida desde el interfaz con menor dirección para el vecino. Las últimas dos entradas de la lista son una forma de selección de rutas de alguna manera arbitrarias, ya que no indican una política regulada como tal por un administrador. Sin embargo es una manera que pone BGP para en el caso en que no se pueda decidir, se seleccione alguna ruta. Bloqueo de BGP en las protestas de Egipto de 2011 Durante las protestas de Egipto de 2011 el gobierno de Hosni Mubarak ordenó a todos los proveedores de acceso que operan en el país árabe el corte de las conexiones internacionales. Como consecuencia de los cortes y bloqueos en la noche del 27 al 28 de enero los enrutadores egipcios dejaron de anunciar hasta 3.500 rutas de BGP, dejando al resto de enrutadores sin la información necesaria para intercambiar tráfico con los servidores egipcios.[ Página 16 ENRUTAMIENTO OSPF Open Shortest Path First (frecuentemente abreviado OSPF) es un protocolo de enrutamiento jerárquico de pasarela interior o IGP (Interior Gateway Protocol), que usa el algoritmo Dijkstra enlace-estado (LSA Link State Algorithm) para calcular la ruta más corta posible. Usa cost como su medida de métrica. Además, construye una base de datos enlace-estado (link-state database, LSDB) idéntica en todos los enrutadores de la zona. OSPF es probablemente el tipo de protocolo IGP más utilizado en grandes redes. Puede operar con seguridad usando MD5 para autentificar a sus puntos antes de realizar nuevas rutas y antes de aceptar avisos de enlace-estado. Como sucesor natural de RIP, acepta VLSM o sin clases CIDR desde su inicio. A lo largo del tiempo, se han ido creando nuevas versiones, como OSPFv3 que soporta IPv6 o como las extensiones multidifusión para OSPF (MOSPF), aunque no están demasiado extendidas. OSPF puede "etiquetar" rutas y propagar esas etiquetas por otras rutas. Una red OSPF se puede descomponer en regiones (áreas) más pequeñas. Hay un área especial llamada área backbone que forma la parte central de la red y donde hay otras áreas conectadas a ella. Las rutas entre diferentes áreas circulan siempre por el backbone, por lo tanto todas las áreas deben conectar con el backbone. Si no es posible hacer una conexión directa con el backbone, se puede hacer un enlace virtual entre redes. Los encaminadores (o Routers) en el mismo dominio de multidifusión o en el extremo de un enlace punto-a-punto forman enlaces cuando se descubren los unos a los otros. En un segmento de red Ethernet los encaminadores eligen a un encaminador designado (Designated Router, DR) y un encaminador designado secundario (Backup Designated Router, BDR) que actúan como hubs para reducir el tráfico entre los diferentes encaminadores. OSPF puede usar tanto multidifusiones como unidifusiones para enviar paquetes de bienvenida y actualizaciones de enlace-estado. Las direcciones de multidifusiones usadas son 224.0.0.5 y 224.0.0.6. Al contrario que RIP o BGP, OSPF no usa ni TCP ni UDP, sino que usa IP directamente, mediante el protocolo IP 89. Tráfico de enrutamiento OSPF mantiene actualizada la capacidad de enrutamiento entre los nodos de una red mediante la difusión de la topología de la red y la información de estado-enlace de sus distintos nodos. Esta difusión se realiza a través de varios tipos de paquetes: • Paquetes Hello (tipo 1). Cada router envía periódicamente a sus vecinos un paquete que contiene el listado de vecinos reconocidos por el router, indicando el tipo de relación que mantiene con cada uno. • Paquetes de descripción de base de datos estado-enlace (DataBase Description, DBD) (tipo 2). Se emplean en el intercambio de base de datos enlace-estado entre dos nodos, y permiten informar al otro nodo implicado en la sincronización acerca de los registros contenidos en la LSDB propia, mediante un resumen de estos. • Paquetes de estado-enlace o Link State Advertisements (LSA). Los cambios en el estado de los enlaces de un router son notificados a la red mediante el envío de mensajes LSA. Dependiendo del estatus del router y el tipo de información transmitido en el LSA, se distinguen varios formatos (entre paréntesis, las versiones de OSPF en que se utilizan): • (OSPFv2 y v3) Router-LSA o LSA de encaminador. • (OSPFv2 y v3) Network-LSA o LSA de red. • (OSPFv2 y v3) Summary-LSA o LSA de resumen. En OSPFv2 se distinguen dos tipos: tipo 3, dirigidos a un router fronterizo de red; y tipo 4, dirigidos a una subred interna. En OSPFv3, los Summary-LSA tipo 3 son renombrados como Inter-Area-Prefix-LSA, y los tipo 4 pasan a denominarse Intra-Area-Prefix-LSA. Página 17 • (OSPFv2 y v3) AS-External-LSA o LSA de rutas externas a la red. • (OSPFv3) Link-LSA o LSA de enlace, que no se retransmite más allá del link del origen. Enrutamiento, routers y áreas OSPF organiza un sistema autónomo (AS) en áreas. Estas áreas son grupos lógicos de routers cuya información se puede resumir para el resto de la red. Un área es una unidad de enrutamiento, es decir, todos los routers de la misma área mantienen la misma información topológica en su base de datos de estado-enlace (Link State Database): de esta forma, los cambios en una parte de la red no tienen por qué afectar a toda ella, y buena parte del tráfico puede ser "parcelado" en su área. Tipos de router en OSPF Un router OSPF clásico es capaz de enrutar cualquier paquete destinado a cualquier punto del área en el que se encuentra (enrutamiento intra-area). Para el enrutamiento entre distintas áreas del AS (enrutamiento inter-area) y desde el AS hacia el exterior (enrutamiento exterior), OSPF utiliza routers especiales que mantienen una información topológica más completa que la del área en la que se sitúan. Así, pueden distinguirse: • Routers fronterizos de área o ABRs (Area Border Routers), que mantienen la información topológica de su área y conectan ésta con el resto de áreas, permitiendo enrutar paquetes a cualquier punto de la red (inter-area routing). • Routers fronterizos del AS o ASBRs (Autonomous System Border Routers), que permiten encaminar paquetes fuera del AS en que se alojen, es decir, a otras redes conectadas al Sistema Autónomo o resto de Internet (external routing). Un paquete generado en la red será enviado, de forma jerárquica, a través del área si su destino es conocido por el emisor; al ABR del área correspondiente si el destino es intra-area; este lo enviará al router del área de destino, si este se encuentra en el AS; o al ASBR si el destino del paquete es exterior a la red (desconocida por el ABR). Tipo de áreas Cuando los sistemas autónomos son grandes por si mismos y nada sencillos de administrar. OSPF les permite dividirlos en áreas numeradas donde un área es una red o un conjunto de redes inmediatas. Un área es una generalización de una subred fuera de un área, su topología y detalle no son visibles. OSPF distingue los siguientes tipos de área: Área Backbone El backbone, también denominado área cero, forma el núcleo de una red OSPF. Es la única área que debe estar presente en cualquier red OSPF, y mantiene conexión, física o lógica, con todas las demás áreas en que esté particionada la red. La conexión entre un área y el backbone se realiza mediante los ABR, que son responsables de la gestión de las rutas no-internas del área (esto es, de las rutas entre el área y el resto de la red). Área stub Un área stub es aquella que no recibe rutas externas. Las rutas externas se definen como rutas que fueron inyectadas en OSPF desde otro protocolo de enrutamiento. Por lo tanto, las rutas de segmento necesitan normalmente apoyarse en las rutas predeterminadas para poder enviar tráfico a rutas fuera del segmento. Página 18 Área not-so-stubby También conocidas como NSSA, constituyen un tipo de área stub que puede importar rutas externas de sistemas autónomos y enviarlas al backbone, pero no puede recibir rutas externas de sistemas autónomos desde el backbone u otras áreas. Interfaces en OSPF Los nodos de una red basada en OSPF se conectan a ella a través de una o varias interfaces con las que se conectan a otros nodos de la red. El tipo de enlace (link) define la configuración que asume la interface correspondiente. OSPF soporta las siguientes tipos de enlace, y provee para cada uno de ellos una configuración de interfaz: • Punto a punto (point-to-point, abreviadamente ptp), cuando la interfaz está conectada exclusivamente a otra interfaz. • Punto a multipunto (point-to-multipoint, abreviadamente ptmp). • Broadcast, para enlaces en los que todas las interfaces pueden conectarse directamente entre ellas. El ejemplo típico de enlace broadcast es el que corresponde a una red de tipo Ethernet. • Enlace virtual (virtual link), cuando no responde a una topología física. • Enlace de múltiple acceso no-broadcast (Non-broadcast Multiple Access, NBMA), para enlaces en los que el medio es compartido pero no todas las interfaces participantes pueden comunicarse directamente entre sí. Estado de las interfaces • • • • • • • Down (sin actividad). Waiting (estado de espera). Loopback. Point-to-point (interface punto a punto) DR, abreviatura de Designated Router (interface de enrutador designado). Backup, por Backup Designated Router (interface de enrutador designado auxiliar, BDR). DROther (interface en una red broadcast o NBMA sin estatus DR ni BDR). Relación con los vecinos en OSPF Diagrama de estados de vecinos y transiciones entre estados en OSPF. Cada encaminador OSPF realiza un seguimiento de sus nodos vecinos, estableciendo distintos tipos de relación con ellos. Respecto a un encaminador dado, sus vecinos pueden encontrarse en siete estados diferentes. Los vecinos OSPF progresan a través de estos estados siguiendo el diagrama de la derecha. Estados de OSPF • Desactivado (DOWN). En el estado desactivado, el proceso OSPF no ha intercambiado información con ningún vecino. OSPF se encuentra a la espera de pasar al siguiente estado Página 19 (Estado de Inicialización) • Inicialización (INIT). Los routers (enrutadores) OSPF envían paquetes tipo 1, o paquetes Hello, a intervalos regulares con el fin de establecer una relación con los Routers vecinos. Cuando una interfaz recibe su primer paquete Hello, el router entra al estado de Inicialización. Esto significa que este sabe que existe un vecino a la espera de llevar la relación a la siguiente etapa. Los dos tipos de relaciones son Bidireccional y Adyacencia. Un router debe recibir un paquete Hello (Hola) desde un vecino antes de establecer algún tipo de relación. • Bidireccional (TWO-WAY).(encaminador = enrutador). Empleando paquetes Hello, cada enrutador OSPF intenta establecer el estado de comunicación bidireccional (dos-vías) con cada enrutador vecino en la misma red IP. Entre otras cosas, el paquete Hello incluye una lista de los vecinos OSPF conocidos por el origen. Un enrutador ingresa al estado Bidireccional cuando se ve a sí mismo en un paquete Hello proveniente de un vecino. El estado Bidireccional es la relación más básica que vecinos OSPF pueden tener, pero la información de encaminamiento no es compartida entre estos. Para aprender los estados de enlace de otros enrutadores y eventualmente construir una tabla de enrutamiento, cada enrutador OSPF debe formar a lo menos una adyacencia. Una adyacencia es una relación avanzada entre enrutadores OSPF que involucra una serie de estados progresivos basados no sólo en los paquetes Hello, sino también en el intercambio de otros 4 tipos de paquetes OSPF. Aquellos encaminadores intentando volverse adyacentes entre ellos intercambian información de encaminamiento incluso antes de que la adyacencia sea completamente establecida. El primer paso hacia la adyacencia es el estado ExStart. • Inicio de Intercambio (EXSTART). Técnicamente, cuando un encaminador y su vecino entran al estado ExStart, su conversación es similar a aquella en el estado de Adyacencia. ExStart se establece empleando descripciones de base de datos tipo 2 (paquetes DBD), también conocidos como DDPs. Los dos encaminadores vecinos emplean paquetes Hello para negociar quien es el "maestro" y quien es el "esclavo" en su relación y emplean DBD para intercambiar bases de datos. Aquel encaminador con el mayor router ID "gana" y se convierte en el maestro. Cuando los vecinos establecen sus roles como maestro y esclavo entran al estado de Intercambio y comienzan a enviar información de encaminamiento. • Intercambio (EXCHANGE). En el estado de intercambio, los encaminadores vecinos emplean paquetes DBD tipo 2 para enviarse entre ellos su información de estado de enlace. En otras palabras, los encaminadores se describen sus bases de datos de estado de enlace entre ellos. Los encaminadores comparan lo que han aprendido con lo que ya tenían en su base de datos de estado de enlace. Si alguno de los encaminadores recibe información acerca de un enlace que no se encuentra en su base de datos, este envía una solicitud de actualización completa a su vecino. Información completa de encaminamiento es intercambiada en el estado Cargando. • Cargando (LOADING). Después de que las bases de datos han sido completamente descritas entre vecinos, estos pueden requerir información más completa empleando paquetes tipo 3, requerimientos de estado de enlace (LSR). Cuando un enrutador recibe un LSR este responde empleando un paquete de actualización de estado de enlace tipo 4 (LSU). Estos paquetes tipo 4 contienen las publicaciones de estado de enlace (LSA) que son el corazón de los protocolos de estado de enlace. Los LSU tipo 4 son confirmados empleando paquetes tipo 5 conocidos como confirmaciones de estado de enlace (LSAcks). • Adyacencia completa (FULL). Cuando el estado de carga ha sido completada, los enrutadores se vuelven completamente adyacentes. Cada enrutador mantiene una lista de vecinos adyacentes, llamada base de datos de adyacencia. Página 20 ENRUTAMIENTO IGP Interior Gateway Protocol (IGP, protocolo de pasarela interno) hace referencia a los protocolos usados dentro de un sistema autónomo. Por otra parte, un Protocolo de Pasarela Externo determina si la red es accesible desde el sistema autónomo al tiempo usa el IGP para resolver el encaminamiento dentro del propio sistema. Los protocolos de pasarela internos se pueden dividir en dos categorías: 1. Protocolo de enrutamiento vector-distancia 2. Protocolo de enrutamiento enlace-estado Tipos de protocolos de pasarela internos Protocolos Vector-Distancia Calculan las rutas utilizando el algoritmo de Bellman-Ford. En los protocolos de este tipo, ningún enrutador tiene información completa sobre la topología de la red. En lugar de ello, se comunica con los demás enrutadores, enviando y recibiendo información sobre las distancias entre ellos. Así, cada enrutador genera una tabla de enrutamiento que usará en el siguiente ciclo de comunicación, en el que los enrutadores intercambiarán los datos de las tablas. El proceso continuará hasta que todas las tablas alcancen unos valores estables. Este conjunto de protocolos tienen el inconveniente de ser algo lentos, si bien es cierto que son sencillos de manejar y muy adecuados para redes compuestas por pocas máquinas. Ejemplos de este tipo de protocolos son: Protocolo de información de encaminamiento El Protocolo de información de encaminamiento (Routing Information Protocol) (RIP) utiliza el protocolo UDP y se comunica a través del puerto 520. Tiene la ventaja de ser muy fácil de configurar, aunque para calcular una ruta sólo tiene en cuenta por cuántas máquinas pasará, y no otros aspectos más importantes como puede ser el ancho de banda. Protocolo de enrutamiento de pasarela interior También llamado IGRP. Utiliza el protocolo TCP/IP y determina la ruta basándose en el ancho de banda, el retardo, la fiabilidad y la carga del enlace. A diferencia del anterior, no le da tanta importancia a la información de las distancias entre máquinas. Protocolos Enlace-Estado En este caso, cada nodo posee información acerca de la totalidad de la topología de la red. De esta manera, cada uno puede calcular el siguiente salto a cada posible nodo destino de acuerdo a su conocimiento sobre cómo está compuesta la red. La ruta final será entonces una colección de los mejores saltos posibles entre nodos. Esto contrasta con el tipo anteriormente explicado, en el que cada nodo ha de compartir su tabla de enrutamiento con sus vecinos. En los protocolos Enlace-Estado, la única información compartida es aquella concerniente a la construcción de los mapas de conectividad. Open Shortest Path First O, abreviado, OSPF. Utiliza el algoritmo de Dijkstra para calcular la ruta más corta posible. Este protocolo es el más utilizado en redes grandes, ya que se puede descomponer en otras más pequeñas para facilitar la configuración. Una red OSPF está dividida en grupos lógicos de encaminadores cuya información se puede resumir para el resto de la red. A estos grupos lógicos se los denomina áreas. Página 21 OSPF es uno de los protocolos del estado de enlace más importantes. OSPF se basa en las normas de código abierto, lo que significa que muchos fabricantes lo pueden desarrollar y mejorar. Sistema Intermediario a Sistema Intermediario El protocolo IS-IS (Intermediate System to Intermediate System) tiene un gran parecido al OSPF en tanto que ambos utilizan el estado de enlace para resolver las rutas, pero IS-IS tiene la ventaja de, por ejemplo, soporte para IPv6, lo que permite conectar redes con protocolos de encaminamiento distinto. Página 22 PROTOCOLO IS-IS El protocolo IS-IS es un protocolo de estado enlace,o SPF (shortest path first), por lo cual, básicamente maneja una especie de mapa con el que se fabrica a medida que converge la red. Es también un protocolo de Gateway interior (IGP). Este protocolo esta descrito por el RFC 1142. En este se refiere a que IS-IS fue creado con el fin de crear un acompañamiento a CNS (Protocol for providing the Connectionlessmode Network Service). Introducción IS-IS es un protocolo de enrutamiento interior desarrollado en los años 80 por Digital Equipment Corporation (DEC) y llamado originalmente DECnet Phase V. Después fue adoptado por la International Organization for Standardization (ISO) como protocolo de enrutamiento para la Interconexión de Sistemas Abiertos (OSI). Su desarrollo estuvo motivado por la necesidad de un sistema no propietario que pudiera soportar un gran esquema de direccionamiento y un diseño jerárquico. Los grandes proveedores de servicios de Internet han venido usando IS-IS desde su introducción y recientemente se ha comenzado a implementar en otros mercados. IS-IS permite trabajar con Type of Service (ToS) para la ingeniería de tráfico. Es un protocolo de la capa de red. Permite a sistemas intermedios (IS’s)dentro de un mismo dominio cambiar su configuración e información de ruteo para facilitar la información de encaminamiento y funciones de transmisión de la capa de red. El protocolo de encaminamiento IS-IS está pensado para soportar encaminamiento en grandes dominios consistentes en combinaciones de muchos tipos de subredes. Esto incluye enlaces punto a punto, enlaces multipunto, subredes X.25 y subredes broadcast tales como las ISO 8802 LANs. Para poder soportar dominios grandes, la previsión está hecha para que el ruteo intradominio sea organizado jerárquicamente. Un dominio grande puede ser dividido administrativamente en áreas. Cada sistema reside en exactamente un área. Definiciones generales Área:Subdominio que mantiene información de routing detallada sobre su propia composición interna y que mantiene también información de routing que le permita alcanzar otro subdominio. Responde al subdominio de nivel 1. Vecino: Sistema adyacente alcanzable atravesando una única subred por un PDU. Adyacencia: Porción de la información de routing local concerniente a la alcanzabilidad de un único vecino End-System (ES) o Sistema Intermedio (IS) en un único circuito. Las adyacencias son usadas como entrada al proceso de decisión para crear los caminos a través del dominio. Una adyacencia separada es creada por cada vecino en un circuito y para cada nivel de encaminamiento en un circuito broadcast. Circuito: Subconjunto da la base de información de encaminamiento pertinente para un único SNPA local. Enlace: Camino de comunicación entre dos vecinos. Un enlace se considera activo cuando la comunicación es posible entre dos SNPAs. IS designado: Sistema intermedio en una LAN designado para llevar a cabo funciones adicionales. En particular genera un estado de enlace de PDU en beneficio de la LAN, tratando dicha LAN como un pseudonodo. Pseudonodo: Donde una subred broadcast tiene conectados n sistemas intermedios, la propia subred Página 23 broadcast es considerada como un pseudonodo. El pseudonodo tiene enlaces a cada uno de los n sistemas intermedios y cada uno de los ISs tiene un único enlace al pseudonodo. Subred broadcast: Subred que soporta un número arbitrario de end-systems y de sistemas intermedios y, adicionalmente, es capaz de transmitir un único SNPDU a un subconjunto de estos sistemas en respuesta a una única petición de SN_UNITDATA. Topología general de la subred: Subred que soporta un número arbitrario de end-systems y de sistemas intermedios pero no soporta la capacidad de transmisión sin conexión multi-destino, a diferencia de una subred broadcast. Subdominio de encaminamiento/routing: Conjunto de sistemas intermedios y end systems localizados dentro del mismo dominio de encaminamiento. Subdominio de nivel 2: Conjunto de todos los sistemas intermedios de nivel 2 en un dominio de encaminamiento. PDU: Protocol Data Unit (Unidad de datos del protocolo). SNSDU: Subnetwork Service Data Unit (Unidad de datos del servicio de subred). NSDU: Network Service Data Unit (Unidad de datos del servicio de red). NPDU: Network Protocol Data Unit (Unidad de datos del protocolo de red). SNPDU: Subnetwork Protocol Data Unit (Unidad de datos del protocolo de subred). Tipos de sistemas que intervienen en el protocolo Se definen dos tipos de routers: Un router de Nivel 1 negocia el primer nivel de enrutamiento, encontrando el destino final dentro del área. Un router de Nivel 2 encuentra el área dentro de la que se encuentra el destino final. Ambos tipos de routers se combinan con los routers de Nivel 1-2 que corren ambos procesos de Nivel 1 y 2 y puden ser considerados como un tercer tipo de router. Router de Nivel 1: O router Intra-area. Es similar a un Stub Router en OSPF. Su conocimiento de la red es limitado al área y emplea una ruta por defecto al router de Nivel 2 más cercano para enrutar tráfico externo al área donde se encuentra. Los router de Nivel 1 tienen una base de datos de estado-enlace idéntica entre ellos. Router de Nivel 2: Router Inter-área. Son necesarios para el enrutamiento entra áreas distintas tal como los routers de backbone en OSPF. Los routers de Nivel 2 se comunican vía Hellos que sólo son comprendidos entre ellos. Su base de datos de estado-enlace es también idéntica. Router de Nivel 1-2: Son routers tanto Intra como Inter-área, una característica similar a los routers fronterizos de área en OSPF, que pueden tener vecinos en diferentes áreas porque envían Hellos tanto de Nivel 1 como de Nivel 2 y por tanto pueden comunicarse con ambos tipos de routers. Almacenan una base de datos de estado-enlace de Nivel 1 y otra para el Nivel 2 con la información necesaria para el enrutamiento Inter-área. Estos routers informan a los routers de Nivel 1 de que son routers de Nivel 2 y que pueden enviar tráfico a otras áreas. Pueden informar también a otros routers de Nivel 2 de las áreas a las que está conectado. Esta es la configuración por defecto de un router Cisco. Proceso de encaminamiento/routing Principios básicos: 1. Cuando un router recibe tráfico que enrutar a un destino remoto, realiza una consulta a su tabla de Página 24 enrutamiento. 2. El router extrae del paquete la información relativa al System ID y SEL para revelar la información de área de la dirección de destino. Si la dirección de destino de área es la misma que la suya, enruta el paquete hacia el System ID usando su base de datos de Nivel 1. 3. Si el área de destino es diferente: 1. Si es un router de Nivel 1 envía el paquete al router de Nivel 2 más cercano. 2. Si se trata de un router de Nivel 2, busca la ruta en la base de datos de envio. 3. Resuelve la dirección al emparejamiento más largo (tendrá las rutas externas sumarizadas). Descomposición en fases del proceso de routing: • • • • Decisión Actualización Reenvío Recepción 1.Proceso de decisión Este proceso calcula las rutas a cada destino del dominio. Se ejecuta por separado para encaminamiento de nivel 1 y nivel 2, y por separado dentro de cada nivel para cada una de las métricas soportadas por el sistema intermedio. Usa la base de datos de estado de enlaces, la cual consiste en información del último estado de enlace de PDUs de cualquier otro sistema intermedio del área, para calcular los caminos más cortos desde este IS hasta todos los demás sistemas en el área. La base de datos de estado de enlaces es mantenida por el proceso de actualización. La ejecución del proceso de decisión resulta en la determinación de pares (conocidos como adyacencias [circuito, vecino]), los cuales son almacenados en la base de información de reenvío apropiada y usados por el proceso de reenvío as rutas a través de las cuales reenviar NPDUs. Algunos de los parámetros en la base de datos de ruteo que son usados por el proceso de decisión están determinados por la implementación. Éstos incluyen: • Máximo número de sistemas intermedios y end systems dentro del área de los IS. • Máximo número de intermedios y end systems vecinos del IS, etc. De este modo las bases de datos pueden ser dimensionados apropiadamente. También otros parámetros, tales como métricas de encaminamiento para cada circuito y temporizadores, pueden ser ajustados para conseguir mejorar el funcionamiento. 2.Proceso de actualización Este proceso genera, recibe y propaga el estado de enlaces de los PDUs. Cada PDU de estado de enlace contiene información sobre la identidad y los valores de la métrica de encaminamiento de las adyacencias del IS que originó el PDU estado de enlace. El proceso de actualización recibe el estado del enlace y la secuencia de números PDU del proceso de recepción. Sitúa nueva información de encaminamiento en la base de información de routing y la propaga a otros sistemas intermedios. Las características generales de este proceso son: • Los estados de los enlaces PDU son generados periódicamente como resultado de cambios topológicos. Pueden ser también generados indirectamente como resultado de acciones de administración del sistema (tales como cambiar una de las métricas de un circuito) • El estado de enlaces de PDUs de nivel 1 son propagados a todos los sistemas intermedios dentro del área, pero no se propagan hacia fuera de dicha área. • El estado de enlaces de PDUs de nivel 2 se propagan a todos los sistemas intermedios de nivel 2 en el dominio. • El estado de enlaces de PDUs no se propaga fuera del dominio. • El proceso de actualización, a través del conjunto de parámetros de la administración del sistema, establece un límite superior para la cantidad de tráfico que genera. 3.Proceso de reenvío Este proceso suministra y gestiona los buffers necesarios para soportar transmisión NPDU a todos los Página 25 destinos. Recibe, a través del proceso de recepción, PDUs para ser reenviadas. Realiza una consulta en la base de datos de reenvío adecuada, la cual es seleccionada eligiendo una métrica de ruteo basada en los campos de mantenimiento de la opción QoS de ISO 8473. 4.Proceso de recepción El proceso de recepción obtiene sus entradas de las siguientes fuentes: • PDUs recibidas con NPIDs de encaminamiento intradominio. • Información de ruteo derivada del protocolo ESIS de la recepción de ISO 9542 PDUs. • Datos de PDUs ISO 8473 entregados a la función de encaminamiento. Ésta entonces realiza las funciones apropiadas, que pueden requerir pasar el PDU a alguna otra función. Comparacion de OSPF y IS-IS IS-IS y OSPF son protocolos de estado de enlaces que utilizan el Algoritmo de Dijkstra para encontrar el mejor camino a través de la red. Ambos soportan máscaras de subred de diferente longitud, pueden usar multicast para encontrar routers vecinos mediante paquetes hello y pueden soportar autentificación de actualizaciones de encaminamiento. Existen diferencias importantes en el modo de operar de IS-IS y OSPF, por ejemplo, en el modo en que la dirección de área es asignada. En IS-IS, la dirección de área y de host son asignados al router entero, mientras que en OSPF el direccionamiento es asignado al nivel de interfaz. Por lo tanto un router IS-IS unicamente estará en un área (Todos los routers de Nivel 1 necesitan un router de Nivel 1-2 para conectarles a otra área). El router de Nivel 1-2 puede ver el resto del SA y se ofrece como ruta por defecto al área de Nivel 1. Es importante también la diferencia entre estos protocolos de manejar los paquetes hello. Este es el único método por el cual los routers pueden saber si un router vecino sigue estando disponible en la red. A diferencia de OSPF, los routers IS-IS son capaces de enviar dos tipos diferentes de saludos (paquetes hello). Los routers IS-IS pueden ser de Nivel 1, Nivel2 o Nivel 1-2, los routers CISCO son routers L1-L2, por lo que cada interfaz IS-IS estará habilitada para enviar tanto mensajes hello L1 como L2. Respecto a su encapsulación: • Mientras que IS-IS opera en la parte superior de la capa 2, OSPF opera en la capa 3. • IS-IS es un protocolo de capa 3 con su propio paquete de capa 3, mientras que OSPF utiliza paquete IP. • la fragmentación es responsabilidad de IS-IS, sin embargo en OSPF la fragmentación es responsabilidad de IP. Otras diferencias: • En una red de broadcast todos los IS de IS-IS mantienen adyacencia entre ellos, sin embargo en OSPF solo se mantiene adyacencia entre DR y BDR con los demás routers. • El DIS envía CNSPs a los demás IS. En OSPF, los acks se envían desde el DR en forma de Unicasts. • En IS-IS se envían de forma periódica CSNPs para asegurar que las bases de datos estén sincronizadas. • En IS-IS existen dos tipos de LSPs mientras que en OSPF existen siete tipos de LSA. Finalmente IS-IS tiene otras ventajas tales como compatibilidad con IPv6 o que admite VLSM. Página 26 ENRUTAMIENTO CIDR Classless Inter-Domain Routing (CIDR Enrutamiento entre dominios sin Clases) se introdujo en 1993 por IETF y representa la última mejora en el modo como se interpretan las direcciones IP. Su introducción permitió una mayor flexibilidad al dividir rangos de direcciones IP en redes separadas. De esta manera permitió: • Un uso más eficiente de las cada vez más escasas direcciones IPv4. • Un mayor uso de la jerarquía de direcciones ('agregación de prefijos de red'), disminuyendo la sobrecarga de los enrutadores principales de Internet para realizar el encaminamiento. Introducción CIDR reemplaza la sintaxis previa para nombrar direcciones IP, las clases de redes. En vez de asignar bloques de direcciones en los límites de los octetos, que implicaban prefijos naturales de 8, 16 y 24 bits, CIDR usa la técnica VLSM (Variable-Length Subnet Mask - Máscara de Subred de Longitud Variable), para hacer posible la asignación de prefijos de longitud arbitraria. CIDR engloba: • La técnica VLSM para especificar prefijos de red de longitud variable. Una dirección CIDR se escribe con un sufijo que indica el número de bits de longitud de prefijo, p.ej. 192.168.0.0/16 que indica que la máscara de red tiene 16 bits (es decir, los primeros 16 bits de la máscara son 1 y el resto 0). Esto permite un uso más eficiente del cada vez más escaso espacio de direcciones IPv4 • La agregación de múltiples prefijos contiguos en superredes, reduciendo el número de entradas en las tablas de ruta globales. esta técnica es muy eficiente en el uso y manejo de redes de area local. Bloques CIDR Página 27 CIDR es un estándar de red para la interpretación de direcciones IP. CIDR facilita el encaminamiento al permitir agrupar bloques de direcciones en una sola entrada de tabla de rutas. Estos grupos, llamados comúnmente Bloques CIDR, comparten una misma secuencia inicial de bits en la representación binaria de sus direcciones IP. Los bloques CIDR IPv4 se identifican usando una sintaxis similar a la de las direcciones IPv4: cuatro números decimales separados por puntos, seguidos de una barra de división y un número de 0 a 32; A.B.C.D/N. Los primeros cuatro números decimales se interpretan como una dirección IPv4, y el número tras la barra es la longitud de prefijo, contando desde la izquierda, y representa el número de bits comunes a todas las direcciones incluidas en el bloque CIDR. Decimos que una dirección IP está incluida en un bloque CIDR, y que encaja con el prefijo CIDR, si los N bits iniciales de la dirección y el prefijo son iguales. Por tanto, para entender CIDR es necesario visualizar la dirección IP en binario. Dado que la longitud de una dirección IPv4 es fija, de 32 bits, un prefijo CIDR de N-bits deja 32 − N bits sin encajar, y hay 2(32 − N) combinaciones posibles con los bits restantes. Esto quiere decir que 2(32 − N) direcciones IPv4 encajan en un prefijo CIDR de N-bits. Nótese que los prefijos CIDR cortos (números cercanos a 0) permiten encajar un mayor número de direcciones IP, mientras que prefijos CIDR largos (números cercanos a 32) permiten encajar menos direcciones IP. Una dirección IP puede encajar en varios prefijos CIDR de longitudes diferentes. CIDR también se usa con direcciones IPv6, en las que la longitud del prefijo varia desde 0 a 128, debido a la mayor longitud de bit en las direcciones, con respecto a IPv4. En el caso de IPv6 se usa una sintaxis similar a la comentada: el prefijo se escribe como una dirección IPv6, seguida de una barra y el número de bits significativos. Asignación de bloques CIDR • El bloque 208.128.0.0/11, un bloque CIDR largo que contenía más de dos millones de direcciones, había sido asignado por ARIN, (el RIR Norteamericano) a MCI. • Automation Research Systems, una empresa intermediaria del estado de Virginia, alquiló de MCI una conexión a Internet, y recibió el bloque 208.130.28.0/22, capaz de admitir 1024 direcciones IP (32 − 22 = 10; 210 = 1.024) • ARS utilizó un bloque 208.130.29.0/24 para sus servidores públicos, uno de los cuales era 208.130.29.33. Todos estos prefijos CIDR se utilizaron en diferentes enrutadores para realizar el encaminamiento. Fuera de la red de MCI, el prefijo 208.128.0.0/11 se usó para encaminar hacia MCI el tráfico dirigido no solo a 208.130.29.33, sino también a cualquiera de los cerca de dos millones de direcciones IP con el mismo prefijo CIDR (los mismos 11 bits iniciales). En el interior de la red de MCI, 208.130.28.0/22 dirigiría el tráfico a la línea alquilada por ARS. El prefijo 208.130.29.0/24 se usaría sólo dentro de la red corporativa de ARS. CIDR y Máscaras de Subred Una máscara de subred es una máscara que codifica la longitud del prefijo de una forma similar a una dirección IP - 32 bits, comenzando desde la izquierda, ponemos a 1 tantos bits como marque la longitud del prefijo, y el resto de bits a cero, separando los 32 bits en cuatro grupos de ocho bits. CIDR usa máscaras de subred de longitud variable (VLSM) para asignar direcciones IP a subredes de acuerdo a las necesidades de cada subred. De esta forma, la división red/host puede ocurrir en cualquier bit de los 32 que componen la dirección IP. Este proceso puede ser recursivo, dividiendo una parte del Página 28 espacio de direcciones en porciones cada vez menores, usando máscaras que cubren un mayor número de bits. Las direcciones de red CIDR/VLSM se usan a lo largo y ancho de la Internet pública, y en muchas grandes redes privadas. El usuario normal no ve este uso puesto en práctica, al estar en una red en la que se usarán, por lo general, direcciones de red privadas recogidas en el RFC 1918. Agregación de Prefijos Otro beneficio de CIDR es la posibilidad de agregar prefijos de encaminamiento, un proceso conocido como "supernetting". Por ejemplo, dieciséis redes /24 contiguas pueden ser agregadas y publicadas en los enrutadores de Internet como una sola ruta /20 (si los primeros 20 bits de sus respectivas redes coinciden). Dos redes /20 contiguas pueden ser agregadas en una /19, etc. Esto permite una reducción significativa en el número de rutas que los enrutadores en Internet tienen que conocer (y una reducción de memoria, recursos, etc.) y previene una explosión de tablas de encaminamiento, que podría sobrecargar a los routers e impedir la expansión de Internet en el futuro. CIDR IPv4 CIDR /32 /31 /30 /29 /28 /27 /26 /25 /24 /23 /22 /21 /20 /19 /18 /17 /16 /15 /14 /13 /12 /11 /10 /9 /8 /7 /6 /5 /4 No. de redes por clase 1/256 C 1/128 C 1/64 C 1/32 C 1/16 C 1/8 C 1/4 C 1/2 C 1/1 C 2C 4C 8C 16 C 32 C 64 C 128 C 256 C, 1 B 512 C, 2 B 1,024 C, 4 B 2,048 C, 8 B 4,096 C, 16 B 8,192 C, 32 B 16,384 C, 64 B 32,768 C, 128B 65,536 C, 256B, 1 A 131,072 C, 512B, 2 A 262,144 C, 1,024 B, 4 A 524,288 C, 2,048 B, 8 A 1,048,576 C, 4,096 B, 16 A Hosts* 1 2 4 8 16 32 64 128 256 512 1,024 2,048 4,096 8,192 16,384 32,768 65,536 131,072 262,144 524,288 1,048,576 2,097,152 4,194,304 8,388,608 16,777,216 33,554,432 67,108,864 134,217,728 268,435,456 Máscara 255.255.255.255 255.255.255.254 255.255.255.252 255.255.255.248 255.255.255.240 255.255.255.224 255.255.255.192 255.255.255.128 255.255.255.0 255.255.254.0 255.255.252.0 255.255.248.0 255.255.240.0 255.255.224.0 255.255.192.0 255.255.128.0 255.255.0.0 255.254.0.0 255.252.0.0 255.248.0.0 255.240.0.0 255.224.0.0 255.192.0.0 255.128.0.0 255.0.0.0 254.0.0.0 252.0.0.0 248.0.0.0 240.0.0.0 Página 29 /3 2,097,152 C, 8,192 B, 32 A 536,870,912 224.0.0.0 /2 4,194,304 C, 16,384 B, 64 A 1,073,741,824 192.0.0.0 /1 8,388,608 C, 32,768 B, 128 A 2,147,483,648 128.0.0.0 /0 33,534,432 C, 65,536 B, 256 A 4,294,967,296 0.0.0.0 (*) En la práctica hay que restar 2 a este número. La dirección menor (más baja - todos los bits de host a 0) del bloque se usa para identificar a la propia red (toda la red), y la dirección mayor (la más alta - todos los bits de host a 1) se usa como dirección de broadcast. Por tanto, en un bloque CIDR /24 podríamos disponer de 28 − 2 = 254 direcciones IP para asignar a dispositivos. Antecedentes históricos Originalmente, direcciones IP se separaban en dos partes: la dirección de red (que identificaba una red o subred), y la dirección de host (que identificaba la conexión o interface de una máquina específica a la red). Esta división se usaba para controlar la forma en que se encaminaba el tráfico entre redes IP. Históricamente, el espacio de direcciones IP se dividía en cinco clases principales de redes (A, B, C, D y E), donde cada clase tenía asignado un tamaño fijo de dirección de red. La clase, y por extensión la longitud de la dirección de red y el número de host, se podían determinar comprobando los bits más significativos (a la izquierda) de la dirección IP: • • • • • 0 para las redes de Clase A 10 para las redes de Clase B 110 para las redes de Clase C 1110 para las redes de Clase D (usadas para transmisiones multicast) 11110 para las redes de Clase E (usadas para investigación y experimentación) Sin una forma de especificar la longitud de prefijo, o la máscara de red, los algoritmos de encaminamiento en los enrutadores tenían que usar forzosamente la clase de la dirección IP para determinar el tamaño de los prefijos que se usarían en las tablas de ruta. Esto no representaba un gran problema en la Internet original, donde sólo había unas decenas/cientos de ordenadores, y los routers podían almacenar en memoria todas las rutas necesarias para alcanzarlos. A medida que la red TCP/IP experimental se expandió en los años 80 para formar Internet, el número de ordenadores con dirección IP pública creció exponencialmente, forzando a los enrutadores a incrementar la memoria necesaria para almacenar las tablas de rutas, y los recursos necesarios para mantener y actualizar esas tablas. La necesidad de un esquema de direcciones más flexible se hacía cada vez más patente. Esta situación condujo al desarrollo sucesivo de las subredes y CIDR. Dado que se ignora la antigua distinción entre clases de direcciones, el nuevo sistema se denominó encaminamiento sin clases (classless routing). Esta denominación conllevó que el sistema original fuera denominado encaminamiento con clases (classful routing). VLSM (Variable Lenght Subnet Mask - Máscara de Subred de Longitud Variable) parte del mismo concepto que CIDR. El término VLSM se usa generalmente cuando se habla de redes privadas, mientras que CIDR se usa cuando se habla de Internet (red pública). Página 30 CONCEPTO DE SUBRED En redes de computadoras, una subred es un rango de direcciones lógicas. Cuando una red de computadoras se vuelve muy grande, conviene dividirla en subredes, por los siguientes motivos: • Reducir el tamaño de los dominios de broadcast. • Hacer la red más manejable, administrativamente. Entre otros, se puede controlar el tráfico entre diferentes subredes, mediante ACLs. Existen diversas técnicas para conectar diferentes subredes entre sí. Se pueden conectar: • • • • • a nivel físico (capa 1 OSI) mediante repetidores o concentradores(Hubs) a nivel de enlace (capa 2 OSI) mediante puentes o conmutadores(Switches) a nivel de red (capa 3 OSI) mediante routers a nivel de transporte (capa 4 OSI) aplicación (capa 7 OSI) mediante pasarelas. También se pueden emplear técnicas de encapsulación (tunneling). En el caso más simple, se puede dividir una red en subredes de tamaño fijo (todas las subredes tienen el mismo tamaño). Sin embargo, por la escasez de direcciones IP, hoy en día frecuentemente se usan subredes de tamaño variable. Máscara de subred La máscara de subred señala qué bits (o qué porción) de su dirección es el identificador de la red. La máscara consiste en una secuencia de unos seguidos de una secuencia de ceros escrita de la misma manera que una dirección IP, por ejemplo, una máscara de 20 bits se escribiría 255.255.240.0, es decir una dirección IP con 20 bits en 1 seguidos por 12 bits en 0, pero separada en bloques de a 8 bits escritos en decimal. La máscara determina todos los parámetros de una subred: dirección de red, dirección de difusión (broadcast) y direcciones asignables a nodos de red (hosts). Los routers constituyen los límites entre las subredes. La comunicación desde y hasta otras subredes es hecha mediante un puerto específico de un router específico, por lo menos momentáneamente. Una subred típica es una red física hecha con un router, por ejemplo una Red Ethernet o una VLAN (Virtual Local Area Network), Sin embargo, las subredes permiten a la red ser dividida lógicamente a pesar del diseño físico de la misma, por cuanto es posible dividir una red física en varias subredes configurando diferentes computadores host que utilicen diferentes routers. La dirección de todos los nodos en una subred comienzan con la misma secuencia binaria, que es su ID de red e ID de subred. En IPv4, las subredes deben ser identificadas por la base de la dirección y una máscara de subred. Las subredes simplifican el enrutamiento, ya que cada subred típicamente es representada como una fila en las tablas de ruteo en cada router conectado. Las subredes fueron utilizadas antes de la introducción de las direcciones IPv4, para permitir a una red grande, tener un número importante de redes más pequeñas dentro, controladas por varios routers. Las subredes permiten el Enrutamiento Interdominio sin Clases (CIDR). Para que las computadoras puedan comunicarse con una red, es necesario contar con números IP propios, pero si tenemos dos o más redes, es fácil dividir una dirección IP entre todos los hosts de la red. De esta formas se pueden partir redes grandes en redes más pequeñas. Es necesario para el funcionamiento de una subred, calcular los bits de una IP y quitarle los bits de host, y agregárselos a los bits de network mediante el uso de una operación lógica. Ejemplo de subdivisión A una compañía se le ha asignado la red 200.3.25.0. Es una red de clase C, lo cual significa que puede disponer de 254 diferentes direcciones. (La primera y la última dirección están reservadas, no son Página 31 utilizables.) Si no se divide la red en subredes, la máscara de subred será 255.255.255.0 (o /24). La compañía decide dividir esta red en 8 subredes, con lo cual, la máscara de subred tiene que recorrer tres bits más, se "toman prestados" tres bits de la porción que corresponde al host. Eso resulta en una máscara de subred /27, en binario 11111111.11111111.11111111.11100000, o en decimal punteado, 255.255.255.224. Cada subred tendrá (25) = 32 direcciones posibles; pero solo tendrá (25) − 2 = 32 − 2 = 30 direcciones asignables a los hosts puesto que la primera dirección (con todos los bits de host a 0) identifica a subred y la última dirección de cada subred (todos los bits de host a 1) se reserva para el Broadcast. Para calcular el total de subredes se debe realizar (2 3) = 8, ya que hemos tomado 3 bits prestados a la dirección de host. Rango de red Rango ip Broadcast ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 200.3.25.0 200.3.25.1 - 200.3.25.30 200.3.25.31 200.3.25.32 200.3.25.33 - 200.3.25.62 200.3.25.63 200.3.25.64 200.3.25.65 - 200.3.25.94 200.3.25.95 200.3.25.96 200.3.25.97 - 200.3.25.126 200.3.25.127 200.3.25.128 200.3.25.129 - 200.3.25.158 200.3.25.159 200.3.25.160 200.3.25.161 - 200.3.25.190 200.3.25.191 200.3.25.192 200.3.25.193 - 200.3.25.222 200.3.25.223 200.3.25.224 200.3.25.225 - 200.3.25.254 200.3.25.255 La subred uno tiene la dirección de subred 200.3.25.0; las direcciones utilizables son 200.3.25.1 200.3.25.30. La subred dos tiene la dirección de subred 200.3.25.32; las direcciones utilizables son 200.3.25.33 200.3.25.62. Y así sucesivamente; de cada subred a la siguiente, el último byte aumenta en 32. Dependiendo del tipo de máscara de subred utilizado Direcciones reservadas Dentro de cada subred - como también en la red original, sin subdivisión - no se puede asignar la primera y la última dirección a ningún host. La primera dirección de la subred se utiliza como dirección de la subred, mientras que la última está reservada para broadcast locales (dentro de la subred). Además, en algunas partes se puede leer que no se puede utilizar la primera y la última subred. Es posible que éstos causen problemas de compatibilidad en algunos equipos, pero en general, por la escasez de direcciones IP, hay una tendencia creciente de usar todas las subredes posibles. Rango de red Rango ip Broadcast ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 200.3.25.0 200.3.25.1 - 200.3.25.30 200.3.25.31 200.3.25.32 200.3.25.33 - 200.3.25.62 200.3.25.63 200.3.25.64 200.3.25.65 - 200.3.25.94 200.3.25.95 200.3.25.96 200.3.25.97 - 200.3.25.126 200.3.25.127 200.3.25.128 200.3.25.129 - 200.3.25.158 200.3.25.159 200.3.25.160 200.3.25.161 - 200.3.25.190 200.3.25.191 200.3.25.192 200.3.25.193 - 200.3.25.222 200.3.25.223 200.3.25.224 200.3.25.225 - 200.3.25.254 200.3.25.255 Página 32 MASCARA DE SUBRED La máscara de red es una combinación de bits que sirve para delimitar el ámbito de una red de computadoras. Su función es indicar a los dispositivos qué parte de la dirección IP es el número de la red, incluyendo la subred, y qué parte es la correspondiente al host. Funcionamiento Básicamente, mediante la máscara de red una computadora (principalmente la puerta de enlace, router...) podrá saber si debe enviar los datos dentro o fuera de las redes. Por ejemplo, si el router tiene la dirección IP 192.168.1.1 y máscara de red 255.255.255.0, entiende que todo lo que se envía a una dirección IP que empiece por 192.168.1 va para la red local y todo lo que va a otras direcciones IP, para afuera (internet, otra red local mayor...). Supongamos que tenemos un rango de direcciones IP desde 10.0.0.0 hasta 10.255.255.255. Si todas ellas formaran parte de la misma red, su máscara de red sería: 255.0.0.0. También se puede escribir como 10.0.0.0/8 Como una máscara consiste en una seguidilla de unos consecutivos, y luego ceros (si los hay), los números permitidos para representar la secuencia son los siguientes: 0, 128, 192, 224, 240, 248, 252, 254 y 255. La representación utilizada se define colocando en 1 todos los bits de red (máscara natural) y en el caso de subredes, se coloca en 1 los bits de red y los bits de host usados por las subredes. Así, en esta forma de representación (10.0.0.0/8) el 8 sería la cantidad de bits puestos a 1 que contiene la máscara en binario, comenzando desde la izquierda. Para el ejemplo dado (/8), sería 11111111.00000000.00000000.00000000 y en su representación en decimal sería 255.0.0.0. Una máscara de red representada (11111111.11111111.11111111.11111111). en binario son 4 octetos de bits Ejemplo 8bit x 4 octetos = 32 bit. (11111111.11111111.11111111.11111111 = 255.255.255.255) 8bit x 3 octetos = 24 bit. (11111111.11111111.11111111.00000000 = 255.255.255.0) 8bit x 2 octetos = 16 bit. (11111111.11111111.00000000.00000000 = 255.255.0.0) 8bit x 1 octetos = 8 bit. (11111111.00000000.00000000.00000000 = 255.0.0.0) En el ejemplo 10.0.0.0/8, según lo explicado anteriormente, indicaría que la máscara de red es 255.0.0.0 Las máscaras de redes , se utilizan como validación de direcciones realizando una operación AND lógica entre la dirección IP y la máscara para validar al equipo, lo cual permite realizar una verificación de la dirección de la Red y con un OR y la máscara negada se obtiene la dirección del broadcasting. Tabla de máscaras de red MÁSCARAS DE RED Binario 11111111.11111111.11111111.11111111 11111111.11111111.11111111.11111110 11111111.11111111.11111111.11111100 11111111.11111111.11111111.11111000 11111111.11111111.11111111.11110000 Decimal 255.255.255.255 255.255.255.254 255.255.255.252 255.255.255.248 255.255.255.240 Página 33 CIDR /32 /31 /30 /29 /28 Nº HOSTs 1 2 4 8 16 Clase 11111111.11111111.11111111.11100000 11111111.11111111.11111111.11000000 11111111.11111111.11111111.10000000 11111111.11111111.11111111.00000000 11111111.11111111.11111110.00000000 11111111.11111111.11111100.00000000 11111111.11111111.11111000.00000000 11111111.11111111.11110000.00000000 11111111.11111111.11100000.00000000 11111111.11111111.11000000.00000000 11111111.11111111.10000000.00000000 11111111.11111111.00000000.00000000 11111111.11111110.00000000.00000000 11111111.11111100.00000000.00000000 11111111.11111000.00000000.00000000 11111111.11110000.00000000.00000000 11111111.11100000.00000000.00000000 11111111.11000000.00000000.00000000 11111111.10000000.00000000.00000000 11111111.00000000.00000000.00000000 11111110.00000000.00000000.00000000 11111100.00000000.00000000.00000000 11111000.00000000.00000000.00000000 11110000.00000000.00000000.00000000 11100000.00000000.00000000.00000000 11000000.00000000.00000000.00000000 10000000.00000000.00000000.00000000 00000000.00000000.00000000.00000000 255.255.255.224 255.255.255.192 255.255.255.128 255.255.255.0 255.255.254.0 255.255.252.0 255.255.248.0 255.255.240.0 255.255.224.0 255.255.192.0 255.255.128.0 255.255.0.0 255.254.0.0 255.252.0.0 255.248.0.0 255.240.0.0 255.224.0.0 255.192.0.0 255.128.0.0 255.0.0.0 254.0.0.0 252.0.0.0 248.0.0.0 240.0.0.0 224.0.0.0 192.0.0.0 128.0.0.0 0. /27 /26 /25 /24 /23 /22 /21 /20 /19 /18 /17 /16 /15 /14 /13 /12 /11 /10 /9 /8 /7 /6 /5 /4 /3 /2 /1 /0 32 64 128 256 C 512 1024 2048 4096 8192 16384 32768 65536 B 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 A 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 4294967296 Como se ve en el ejemplo anterior, la fila binaria de la máscara de subred determina que todas las direcciones IP de esa subred incluido el Gateway deben ser iguales hasta la línea y distintas despues de la linea. La direccion IP completa se calcula realizando un AND lógico sólo con aquellos bits que indique la máscara de subred (MS). El numero total de direcciones IP que tiene esa subred es inversamente proporcional al numero de bits encendidos en la máscara de red. Esa subred suele llamarse LAN La puerta de enlace puede ser cualquier dirección IP dentro de ese rango (subred) pero algunos adoptan la norma de que cumplan el que (IP & MS)+1 = GW (gateway, puerta de enlace). Algunos controladores de protocolo tcp/IP rechazan todos los paquetes que no cumplen esta norma. La puerta de enlace la utilizan los protocolos de tcp/IP para enviar aquellos paquetes cuyo destino se encuentra fuera del rango de la subred definida por la máscara de red (si el paquete va destinado a algún ordenador cuya dirección IP se encuentre fuera del rango establecido por la máscara de red, utilizarán la puerta de enlace, que generalmente es un router o enrutador que se encarga de enviarlos a otras redes .De esta manera se optimiza el trabajo que realiza el PC. A veces llamamos o confundimos router (ruteador) con puerta de enlace: La puerta de enlace es en definitiva la direccion IP del router. Direccion que ha de estar dentro de la subred. La direccion IP del router se programa en el mismo router. La mayoría de los router vienen con una dirección de fábrica, modificable a través de un puerto serie o por red mediante http, telnet u otros protocolos. Esta dirección modificable es la puerta de enlace de la red. El router generalmente tiene dos Página 34 direcciones IP, cada una en un rango distinto. Por ejemplo, una en el rango de una subred pequeña de 16 ordenadores y otra en otra subred más grande cuyo gateway o puerta de enlace nos da acceso a Internet. Sólo se ven entre sí los equipos de cada subred o aquellos que tengan enrutadores y puertas de enlace bien definidas para enviar paquetes y recibir respuestas. De este modo se forman y definen las rutas de comunicacion entre ordenadores de distintas subredes. Los enrutadores además realizan varias funciones, entre ellas la denominada NAT, que consiste en llevar la cuenta del origen de los paquetes para que cuando lleguen las respuestas sean enviadas al ordenador que procede. Cuando un router comunica con un ISP o proveedor de servicios de Internet generalmente se les asigna una dirección pública o externa, la cual no es modificable sino asignada por la empresa suministradora (ISP) de ADSL/RDSI. En resumen, la máscara lo que determina es qué paquetes que circulan por la LAN se aceptan por algún ordenador de la LAN o y qué paquetes han de salir fuera de la LAN (por el router). De esta manera, si se escribe en el navegador una dirección IP: 182.23.112.9, el equipo enviará la petición web, ftp, etc) directamente a la direccion especificada por la puerta de enlace (es decir, el router) ningún equipo de la subred (LAN) atenderá estos paquetes por no estar dentro de su subred (LAN). En el ejemplo anterior, la máscara da 6 bits (los que quedan a 0, es decir, 64 posibilidades, no de 1 a 64 sino 64 posibilidades) para programar las direcciones IP y la puerta de enlace de la LAN, es decir, el último byte para la dirección IP y la puerta de enlace, en nuestro ejemplo debería tomarse entre 10000000 y 10111111, es decir, entre 128 y 191. Lo normal es darle a la puerta de enlace (router) la dirección más baja, indicando que es el primer equipo que se instala en la LAN. Hay ciertos programas (p.e. Ethereal) que programan la tarjeta en un modo llamado 'promiscuo' en el que se le dice a la tarjeta de red que no filtre los paquetes según la norma explicada, aceptando todos los paquetes para poder hacer un análisis del tráfico que circula por la subred y puede ser escuchado por el PC. Las máscaras 255.0.0.0 (clase A), 255.255.0.0 (clase B) y 255.255.255.0 (clase C) suelen ser suficientes para la mayoría de las redes privadas. Sin embargo, las redes más pequeñas que podemos formar con estas máscaras son de 254 hosts y para el caso de direcciones públicas, su contratación tiene un coste alto. Por esta razón suele ser habitual dividir las redes públicas de clase C en subredes más pequeñas. A continuación se muestran las posibles divisiones de una red de clase C. La división de una red en subredes se conoce como subnetting. Clases de máscaras en subredes Clase A B C D E Bits 0 10 110 1110 1111 IP Subred 0.0.0.0 128.0.0.0 192.0.0.0 224.0.0.0 240.0.0.0 IP Broadcast 127.255.255.255 191.255.255.255 223.255.255.255 239.255.255.255 255.255.255.254 Máscara en decimal 255.0.0.0 255.255.0.0 255.255.255.0 sin definir sin definir Página 35 CIDR /8 /16 /24 sin definir sin definir MASCARA DE SUBRED DE TAMAÑO VARIABLE Las máscaras de subred de tamaño variable (variable length subnet mask, VLSM) representan otra de las tantas soluciones que se implementaron para el agotamiento de direcciones ip (1987) y otras como la división en subredes (1985), el enrutamiento de interdominio CIDR (1993), NAT y las direcciones ip privadas. Otra de las funciones de VLSM es descentralizar las redes y de esta forma conseguir redes mas seguras y jerárquicas. Ejemplo de desperdicio de direcciones 1 Si se utiliza una máscara de subred de tamaño fijo (la misma máscara de subred en todas las subredes), todas las subredes van a tener el mismo tamaño. Por ejemplo, si la subred más grande necesita 200 hosts, todas las subredes van a tener el mismo tamaño de 256 direcciones IP. (Nota: se ha redondeado hacia arriba, hacia la siguiente potencia de 2.) Si a una subred que necesita 10 equipos, se asigna la misma subred de 256 direcciones, las restantes 246 direcciones se desperdician. Incluso los enlaces seriales (WAN), que sólo necesitan dos direcciones IP, requieren la misma subred, de 256 direcciones. Planificación de subredes de tamaño variable 2 Recordemos que una subred es un conjunto de direcciones IP y con ella podemos hacer dos cosas: asignar direcciones IP a los equipos o dividirlo nuevamente en subredes más pequeñas. En cada división, las subredes primera y última no se usan (Actualmente la mayoría del hardware ya soporta el poder trabajar con ambas, primera y última pero deberemos de comprobarlo antes de hacer uso de estas, estas tenían una aplicación parecida al direccionamiento Ip donde la primera identificaba la red y la última es de broadcast, en este caso la primera identificaba la subred y la última se aplicaba al broadcast de subred), cabe aclarar que no se usan para asignar direcciones IP a los equipos pero si se pueden usar para dividirlas en subredes más pequeñas. El concepto básico de VLSM es muy simple: Se toma una red y se divide en subredes fijas, luego se toma una de esas subredes y se vuelve a dividir tomando bits "prestados" de la porción de hosts, ajustándose a la cantidad de hosts requeridos por cada segmento de nuestra red. Por ejemplo, si tomamos la dirección de red 192.168.1.0/24 y la subdividimos usando una máscara /26 tendremos 4 subredes (192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26 y 192.168.1.192/26). Supongamos que formamos un enlace serie entre dos routers y tomamos para ello una de nuestras subredes (la 192.168.1.0/26): con esta máscara de subred sin aplicar vlsm estaríamos desperdiciando 60 direcciones utilizables (26 − 2 = 62, menos las 2 direcciones aplicadas a las interfaces de los routers nos da 60 hosts). Ahora, si aplicamos vlsm a la subred anterior (la 192.168.1.0/26) y tomamos "prestados" 4 bits de la porción de host tendríamos otras 16 subredes /30 (192.168.1.0/30, 192.168.1.4/30, 192.168.1.8/30, 192.168.1.12/30, 192.168.1.16/30 y así sucesivamente hasta la 192.168.1.60/30) cada una con un total de 4 direcciones totales pero solamente dos direcciones utilizables y no se genera desperdicio. Finalmente podemos tomar cualquiera de ellas, por ejemplo la 192.168.1.4/30 y aplicar las direcciones 192.168.1.5/30 y 192.168.1.6/30 a las interfaces de los routers. Protocolos de enrutamiento 3 Deben enviar tanto la dirección de subred como la máscara de subred en las actualizaciones. Rip V2, EIGRP Página 36 Alternativas Una alternativa, para ahorrar las escasas direcciones públicas, es utilizar direcciones privadas (RFC 1918), en combinación con traducción NAT, especialmente en las direcciones que no necesitan ser accedidos desde fuera de la red interna. También es posible, en algunos casos, que un enlace serial se "preste" la dirección IP de otro enlace conectado al mismo router; sin embargo, esto implica la desventaja de que ya no se puede acceder directamente a ese enlace, por ejemplo, mediante un ping. La alternativas de VLSM son más propias para el tipo de enrutamiento, en cuestiones de IPv6 es sumamente importante tener en cuenta las solicitudes dadas por el servidor para así poder crear el pool de direcciones dadas por el router inalámbrico. Los equipos antiguos operaban en half duplex (uno transmite y el otro recibe), los equipos actuales son full duplex, ambos transmiten y reciben simultaneamente. Página 37 VLANs Una VLAN (acrónimo de virtual LAN, «red de área local virtual») es un método de crear redes lógicamente independientes dentro de una misma red física. Varias VLANs pueden coexistir en un único conmutador físico o en una única red física. Son útiles para reducir el tamaño del dominio de difusión y ayudan en la administración de la red separando segmentos lógicos de una red de área local (como departamentos de una empresa) que no deberían intercambiar datos usando la red local (aunque podrían hacerlo a través de un enrutador o un conmutador de capa 3 y 4). Una VLAN consiste en una red de ordenadores que se comportan como si estuviesen conectados al mismo conmutador, aunque pueden estar en realidad conectados físicamente a diferentes segmentos de una red de área local. Los administradores de red configuran las VLANs mediante software en lugar de hardware, lo que las hace extremadamente flexibles. Una de las mayores ventajas de las VLANs surge cuando se traslada físicamente algún ordenador a otra ubicación: puede permanecer en la misma VLAN sin necesidad de cambiar la configuración IP de la máquina. Protocolos y diseño El protocolo de etiquetado IEEE 802.1Q domina el mundo de las VLANs. Antes de su introducción existían varios protocolos propietarios, como el ISL (Inter-Switch Link) de Cisco, una variante del IEEE 802.1Q, y el VLT (Virtual LAN Trunk) de 3Com. Los primeros diseñadores de redes enfrentaron el problema del tamaño de los dominios de colision (Hubs) esto se logró controlar a través de la introducción de los switch o conmutadores pero a su vez se introdujo el problema del aumento del tamaño de los dominios de difusión y una de las formas más eficientes para manejarlo fue la introducción de las VLANs. Las VLANs también pueden servir para restringir el acceso a recursos de red con independencia de la topología física de ésta, si bien la robustez de este método es discutible al ser el salto de VLAN (VLAN hopping) un método común de evitar tales medidas de seguridad. Las VLANs se caracterizan en el nivel 2 (enlace de datos) del modelo OSI. Sin embargo, los administradores suelen configurar las VLAN como correspondencia directa de una red o subred IP, lo que les da apariencia de funcionar en el nivel 3 (red). En el contexto de las VLAN, el término trunk (troncal) designa una conexión de red que transporta múltiples VLANs identificadas por etiquetas (o tags) insertadas en sus paquetes. Dichos trunks deben operar entre tagged ports (‘puertos etiquetados’) de dispositivos con soporte de VLANs, por lo que a menudo son enlaces conmutador a conmutador o conmutador a enrutador más que enlaces a nodos. (Para mayor confusión, el término trunk también se usa para lo que Cisco denomina «canales»; véase agregado de enlaces). Un enrutador (conmutador de nivel 3) funciona como «columna vertebral» para el tráfico de red transmitido entre diferentes VLAN. En los dispositivos Cisco, el protocolo VTP (VLAN Trunking Protocol) permite definir dominios de VLAN, lo que facilita las tareas administrativas. VTP también permite «podar», lo que significa dirigir tráfico VLAN específico solo a los conmutadores que tienen puertos en la VLAN destino. Ejemplo de definición de VLAN Imaginemos que en nuestra empresa tenemos una LAN corporativa con un rango de direcciones IP tipo 172.16.1.XXX/24. Se da el caso de que tenemos asignadas las casi 255 direcciones que como máximo nos permite el mismo y además notamos cierta saturación en la red. Una fácil solución a este problema sería crear unas cuantas VLAN por medio de un switch de nivel 2 o conmutador de nivel 3. Podemos asignar una VLAN a cada departamento de la empresa, así también controlamos que cada uno sea independiente (o no) del resto: Página 38 VLAN1: Contabilidad. Direcciones 172.16.2.XXX/24 VLAN2: Compras. Direcciones 172.16.3.XXX/24 VLAN3: Distribución. Direcciones 172.16.4.XXX/24 etc. De esta forma liberamos direcciones de nuestra red origen 172.16.1.XXX/24 pasándolas a las distintas VLAN que hemos creado. Gracias al switch de nivel 3 podremos gestionar la visibilidad entre las distintas VLAN y notaremos una mejora en el rendimiento de la red ya que las difusiones o broadcast de cada VLAN sólo llegarán a los equipos conectados a la misma. Gestión de la pertenencia a una VLAN Las dos aproximaciones más habituales para la asignación de miembros de una VLAN son las siguientes: VLAN estáticas y VLAN dinámicas. Las VLAN estáticas también se denominan VLAN basadas en el puerto. Las asignaciones en una VLAN estática se crean mediante la asignación de los puertos de un switch o conmutador a dicha VLAN. Cuando un dispositivo entra en la red, automáticamente asume su pertenencia a la VLAN a la que ha sido asignado el puerto. Si el usuario cambia de puerto de entrada y necesita acceder a la misma VLAN, el administrador de la red debe cambiar manualmente la asignación a la VLAN del nuevo puerto de conexión en el switch. En las VLAN dinámicas, la asignación se realiza mediante paquetes de software tales como el CiscoWorks 2000. Con el VMPS (acrónimo en inglés de VLAN Management Policy Server o Servidor de Gestión de Directivas de la VLAN), el administrador de la red puede asignar los puertos que pertenecen a una VLAN de manera automática basándose en información tal como la dirección MAC del dispositivo que se conecta al puerto o el nombre de usuario utilizado para acceder al dispositivo. En este procedimiento, el dispositivo que accede a la red, hace una consulta a la base de datos de miembros de la VLAN. Se puede consultar el software FreeNAC para ver un ejemplo de implementación de un servidor VMPS. VLAN basadas en el puerto de conexión Con las VLAN con pertenencia basada en el puerto de conexión del switch, el puerto asignado a la VLAN es independiente del usuario o dispositivo conectado en el puerto. Esto significa que todos los usuarios que se conectan al puerto serán miembros de la misma VLAN. Habitualmente es el administrador de la red el que realiza las asignaciones a la VLAN. Después de que un puerto ha sido asignado a una VLAN, a través de ese puerto no se puede enviar ni recibir datos desde dispositivos incluidos en otra VLAN sin la intervención de algún dispositivo de capa 3. El dispositivo que se conecta a un puerto, posiblemente no tenga conocimiento de la existencia de la VLAN a la que pertenece dicho puerto. El dispositivo simplemente sabe que es miembro de una sub-red y que puede ser capaz de hablar con otros miembros de la sub-red simplemente enviando información al segmento cableado. El switch es responsable de identificar que la información viene de una VLAN determinada y de asegurarse de que esa información llega a todos los demás miembros de la VLAN. El switch también se asegura de que el resto de puertos que no están en dicha VLAN no reciben dicha información. Este planteamiento es sencillo, rápido y fácil de administrar, dado que no hay complejas tablas en las que mirar para configurar la segmentación de la VLAN. Si la asociación de puerto a VLAN se hace con un ASIC (acrónimo en inglés de Application-Specific Integrated Circuit o Circuito integrado para una aplicación específica), el rendimiento es muy bueno. Un ASIC permite el mapeo de puerto a VLAN sea hecho a nivel hardware. Página 39 MPLS Multiprotocol Label Switching MPLS (siglas de Multiprotocol Label Switching) es un mecanismo de transporte de datos estándar creado por la IETF y definido en el RFC 3031. Opera entre la capa de enlace de datos y la capa de red del modelo OSI. Fue diseñado para unificar el servicio de transporte de datos para las redes basadas en circuitos y las basadas en paquetes. Puede ser utilizado para transportar diferentes tipos de tráfico, incluyendo tráfico de voz y de paquetes IP. MPLS (Conmutación Multi-Protocolo mediante Etiquetas) circuitos virtuales en las redes IP, sobre las que introduce una serie de mejoras: • Redes privadas virtuales. • Ingeniería de tráfico. • Mecanismos de protección frente a fallos. Características básicas y funcionamiento La tecnología MPLS ofrece un servicio orientado a conexión: • Mantiene un «estado» de la comunicación entre dos nodos. • Mantiene circuitos virtuales Arquitectura MPLS Elementos • LER (Label Edge Router): elemento que inicia o termina el túnel (pone y quita cabeceras). Es decir, el elemento de entrada/salida a la red MPLS. Un router de entrada se conoce como Ingress Router y uno de salida como Egress Router. Ambos se suelen denominar Edge Label Switch Router ya que se encuentran en los extremos de la red MPLS. • LSR (Label Switching Router): elemento que conmuta etiquetas. • LSP (Label Switched Path): nombre genérico de un camino MPLS (para cierto tráfico o FEC), es decir, del túnel MPLS establecido entre los extremos. A tener en cuenta que un LSP es unidireccional. • LDP (Label Distribution Protocol): un protocolo para la distribución de etiquetas MPLS entre los equipos de la red. • FEC (Forwarding Equivalence Class): nombre que se le da al tráfico que se encamina bajo una etiqueta. Subconjunto de paquetes tratados del mismo modo por el conmutador. Cabecera MPLS Donde: • Label (20 bits): Es la identificación de la etiqueta. • Exp (3 bits): Llamado también bits experimentales, también aparece como QoS en otros textos, afecta al encolado y descarte de paquetes. • S (1 bit): Del inglés stack, sirve para el apilado jerárquico de etiquetas. Cuando S=0 indica que Página 40 hay mas etiquetas añadidas al paquete. Cuando S=1 estamos en el fondo de la jerarquía. • TTL (8 bits): Time-to-Live, misma funcionalidad que en IP, se decrementa en cada enrutador y al llegar al valor de 0, el paquete es descartado. Generalmente sustituye el campo TTL de la cabecera IP. Pila de Etiquetas MPLS MPLS funciona anexando un encabezado a cada paquete. Dicho encabezado contiene una o más "etiquetas", y al conjunto de etiquetas se le llama pila o "stack". Cada etiqueta consiste en cuatro campos: • • • • Valor de la etiqueta de 20 bits. Prioridad de Calidad de Servicio (QoS) de 3 bits. También llamados bits experimentales. Bandera de "fondo" de la pila de 1 bit. Tiempo de Vida (TTL) de 8 bits. Estos paquetes MPLS son enviados después de una búsqueda por etiquetas en vez de una búsqueda dentro de una tabla IP. De esta manera, cuando MPLS fue concebido, la búsqueda de etiquetas y el envío por etiquetas eran más rápido que una búsqueda RIB ( Base de información de Ruteo), porque las búsquedas eran realizadas en el switch fabric y no en la CPU. Creación de la Red Los puntos de entrada en la red MPLS son llamados Enrutadores de Etiqueta de borde (LER), es decir enrutadores que son interfaces entre la red MPLS y otras redes. Los enrutadores que efectúan la conmutación basados únicamente en etiquetas se llaman Enrutadores Conmutadores de Etiqueta (LSR). Cabe notar que un LER es simplemente un LSR que cuenta con la habilidad de rutear paquetes en redes externas a MPLS. Las etiquetas son distribuidas usando el Protocolo de Distribución de Etiquetas (LDP). Es precisamente mediante el protocolo LDP que los enrutadores de etiquetas intercambian información acerca de la posibilidad de alcanzar otros enrutadores, y las etiquetas que son necesarias para ello. También es posible hacer la distribución de etiquetas usando el protocolo RSVP-TE. El operador de una red MPLS puede establecer Caminos Conmutados mediante Etiquetas (LSP), es decir, el operador establece caminos para transportar Redes Privadas Virtuales de tipo IP (IP VPN), pero estos caminos pueden tener otros usos. En muchos aspectos las redes MPLS se parecen a las redes ATM y FR, con la diferencia de que la red MPLS es independiente del transporte en capa 2 (en el modelo OSI). En el contexto de las Redes Privadas Virtuales, los enrutadores que funcionan como ingreso o regreso a la red son frecuentemente llamados enrutadores a la Orilla del Proveedor (enrutadores PE), los dispositivos que sirven solo de tránsito son llamados similarmente enrutadores de Proveedor (enrutadores P). Véase el RFC2547. En MPLS el camino que se sigue está prefijado desde el origen (se conocen todos los saltos de antemano): se pueden utilizar etiquetas para identificar cada comunicación y en cada salto se puede cambiar de etiqueta (mismo principio de funcionamiento que VPI/VCI en ATM, o que DLCI en Frame Relay). • Paquetes destinados a diferentes IPs pueden usar el mismo camino LSP (pertenecer al mismo FEC). • Las etiquetas con el mismo destino y tratamiento se agrupan en una misma etiqueta: los nodos mantienen mucha menos información de estado que por ejemplo ATM. Las etiquetas se pueden apilar, de modo que se puede encaminar de manera jerárquica. Página 41 Paso de un paquete por la red Cuando un paquete no etiquetado entra a un enrutador de ingreso y necesita utilizar un túnel MPLS, el enrutador primero determinará la Clase Equivalente de Envío (FEC), luego inserta una o más etiquetas en el encabezado MPLS recién creado. Acto seguido el paquete salta al enrutador siguiente según lo indica el túnel. Cuando un paquete etiquetado es recibido por un enrutador MPLS, la etiqueta que se encuentra en el tope de la pila será examinada. Basado en el contenido de la etiqueta el enrutador efectuará una operación apilar (PUSH), desapilar (POP) o intercambiar (SWAP). • En una operación SWAP la etiqueta es cambiada por otra y el paquete es enviado en el camino asociado a esta nueva etiqueta. • En una operación PUSH una nueva etiqueta es empujada encima de otra (si existe). Si en efecto había otra etiqueta antes de efectuar esta operación, la nueva etiqueta «encapsula» la anterior. • En una operación POP la etiqueta es retirada del paquete lo cual puede revelar una etiqueta interior (si existe). A este proceso se lo llama «desencapsulado» y es usualmente efectuada por el enrutador de egreso con la excepción de PHP. Durante estas operaciones el contenido del paquete por debajo de la etiqueta MPLS no es examinado, de hecho los enrutadores de tránsito usualmente no necesitan examinar ninguna información por debajo de la mencionada etiqueta. El paquete es enviado basándose en el contenido de su etiqueta, lo cual permite «rutado independiente del protocolo». En el enrutador de egreso donde la última etiqueta es retirada, sólo queda la «carga transportada», que puede ser un paquete IP o cualquier otro protocolo. Por tanto, el enrutador de egreso debe forzosamente tener información de ruteo para dicho paquete debido a que la información para el envío de la carga no se encuentra en la tabla de etiquetas MPLS. En algunas aplicaciones es posible que el paquete presentado al LER ya contenga una etiqueta MPLS, en cuyo caso simplemente se anexará otra etiqueta encima. Un aspecto relacionado que resulta importante es PHP. En ciertos casos, es posible que la última etiqueta sea retirada en el penúltimo salto (anterior al último enrutador que pertenece a la red MPLS); este procedimiento es llamado «remoción en el penúltimo salto» (PHP). Esto es útil, por ejemplo, cuando la red MPLS transporta mucho tráfico. En estas condiciones los penúltimos nodos auxiliarán al último en el procesamiento de la última etiqueta de manera que este no se vea excesivamente forzado al cumplir con sus tareas de procesamiento. Información adicional • En Uruguay ANTEL la empresa nacional de telecomunicaciones, que es dominante en el mercado del país, tiene su red de transporte MPLS desplegada a nivel nacional. http://www.antel.com.uy • BT Global Services cuenta con la red MPLS más grande del mundo con presencia en 173 países y más de 1250 nodos. A su vez, desde el 2003 ofrece más clases de servicio que ningún otro: 6 CoS en DSCP. • Como ejemplo, Telefónica de España utiliza MPLS en su red de transporte RIMA para el servicio de NetLAN. • IPorium Networks, es un ISP español independiente. Orientado única y exclusivamente a empresas. Tiene un backbone basado en IP/MPLS para provisionar servicios de conectividad y VPN, totalmente garantizados y con backups de nueva generación. • Jazztel Empresas ofrece su servicio I2P (VPN IP) mediante MPLS. • Americatel Perú utiliza MPLS en su red de transporte para dar distintas soluciones. • Entel Chile utiliza MPLS para clientes importantes Página 42 • Telconet S.A. Ecuador utiliza MPLS en su CORE para transporte de Datos e Internet • Claro - Conecel Ecuador actualmente también utiliza MPLS en su CORE para transmisión de Datos e Internet. Info CLS • Telefónica de Pereira utiliza MPLS en su CORE para transporte de Datos e Internet • Telecom Argentina S.A. utiliza MPLS en vínculos de datos, voz e Internet • Une Telecomunicaciones cuenta con una red MPLS propia • La Empresa de Teléfonos de Bogotá (ETB)utiliza MPLS en su CORE para transporte de Datos e Internet • La empresa Telecominicaciones Movilnet de Venezuela utiliza MPLS en su CORE para transporte de Datos e Internet • Telmex a nivel internacional desde 1996 estandariza sus redes utilizando redes MPLS • ONO España Utiliza MPLS para enlaces de clientes importantes • Gtd Teleductos en Chile tiene basada su red en MPLS con capacidad para dar servicios VPLS. • Existe un buen simulador en Español e Inglés para redes MPLS, escrito en java llamado OpenSimMPLS. Se puede descargar de la Página del proyecto. • También podemos encontrar asociaciones dedicadas al estudio y búsqueda sobre MPLS y VPLS (Link en Inglés) http://www.mplsrc.com Página 43 Página 44 Página 45