ESTUDIO DEL FUNCIONAMIENTO Y USO DE LA PLATAFORMA DE ENRUTAMEINTO XORP (EXTENSIBLE OPEN ROUTER PLATFORM). PRESENTADO POR: DANIEL ALEJANDRO RIVERA FRANKI A. SOSA FRANCO UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PEREIRA (RISARALDA) 2014 ESTUDIO DEL FUNCIONAMIENTO Y USO DE LA PLATAFORMA DE ENRUTAMEINTO XORP (EXTENSIBLE OPEN ROUTER PLATFORM). PRESENTADO POR: DANIEL ALEJANDRO RIVERA FRANKI A. SOSA FRANCO PROYECTO DE GRADO DIRECTORA DE PROYECTO: ING ELECTRONICA LINE YASMIN BECERRA SÁNCHEZ UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PEREIRA (RISARALDA 2014 DEDICATORIA, AGRADECIMIENTOS Dedicamos este trabajo principalmente a Dios, por habernos permitido el haber llegado hasta este momento tan importante de nuestra formación profesional. A nuestras familias, por ser el pilar más importante y por demostrarnos siempre su apoyo sin importar nuestras diferentes dificultades, a nuestra universidad por apoyarnos con ánimo para afrontar el proyecto y a todas las personas que se vieron interesadas en este tipo de plataformas. Agradecemos a XORP.ORG por su excelente trabajo y publicación de guías de apoyo. Agradecemos el apoyo a la tutora de proyecto Line Yasmin Becerra, por su apoyo en la orientación del proyecto. GLOSARIO Open Systems Interconnection (OSI): interconexión de Sistemas Abiertos. Modelo de referencia de interconexión de sistemas abiertos propuesto por la ISO. Divide las tareas de la red en siete niveles. ROUTER: dispositivo conectado a dos o más redes que PROPORCIONA conectividad a nivel de red está encargado de enviar y encaminar paquetes de datos de una red a otra. ROOT: en sistemas de ficheros se refiere al directorio raíz. En Unix se refiere al usuario principal. SOFTWARE: programas de computadora o conjunto de instrucciones, que se pone en la memoria de una computadora para dirigir sus operaciones. LOCAL AREA NETWORK (LAN): Una red de area local es un sistema de comunicación de alta velocidad de transmisión. Estos sistemas están diseñados para permitir la comunicación y transmisión de datos entre estaciones de trabajo inteligentes, comúnmente conocidas como Computadoras Personales. ALGORITMO: conjunto de reglas y procedimientos, expresados mediante datos o símbolos, que describen un estado o una asociación lógica para resolver un problema. Es la condición necesaria para el desempeño de tareas automáticas. PROTOCOLO INTERNET: protocolo del nivel de red, según el modelo OSI, del conjunto de protocolos TCP/IP. REDES: es el conjunto de recursos, tales como las líneas de transmisión, enlaces y nodos de conmutación, que permiten la comunicación entre usuarios de los terminales (teléfonos, estaciones de datos, etc.) conectados a ellas. PROTOCOLOS DE ENRUTAMIENTO: Los protocolos de enrutamiento básicamente son un conjunto de reglas, las cuales son utilizadas por un router cuando se comunica con otro router, con el fin de compartir información de enrutamiento y con esta construir y mantener las tablas de enrutamiento. PLATAFORMAS DE VIRTUALIZACIÓN: herramientas o aplicaciones desarrolladas con diferentes metodologías, estas herramientas reemplazan procesos o funciones que desarrollan dispositivos en el área de las telecomunicaciones y otros. XORP PROJECT: proyecto de plataforma de enrutamiento, iniciado por “mark handley en el 2000, CLICK: Arquitectura para el diseño e implementación de enrutadores virtuales en Linux configurables y flexibles, Los protocolos desarrollados usando click pueden analizarse en diferentes topologías y bajo diferentes configuraciones según las necesidades del usuario. XORPSH: configuración de un enrutador vía consola CLI (comand line interface), hace suponer una relación entre la terminal y procesos introducidos, es decir el medio de comunicación del usuario con el programa. CONTENIDO Pag. RESUMEN ........................................................................................................................................ 10 INTRODUCCIÓN .............................................................................................................................. 11 1. OBJETIVOS .............................................................................................................................. 13 1.1 1.2 2. OBJETIVO GENERAL ...................................................................................................... 13 OBJETIVOS ESPECIFICOS ............................................................................................. 13 METODOLOGIA ....................................................................................................................... 14 2.1 EXPLORACION ESTADO DEL ARTE .................................................................................... 14 2.2 INSTALACIÓN ........................................................................................................................ 14 2.3 CONSTRUCCION DE GUIAS PRACTICAS CON XORP........................................................ 14 2.4 PRUEBAS ............................................................................................................................... 14 3. MARCO TEORICO ................................................................................................................... 15 3.1 REDES DE DATOS ................................................................................................................. 15 3.2 REDES DEFINIDAS POR SOFTWARE (SDN) ....................................................................... 15 3.3 PROTOCOLO IP ..................................................................................................................... 16 3.4 ENRUTAMIENTO .................................................................................................................... 16 3.5 PROTOCOLOS DE ENRUTAMIENTO ................................................................................... 17 3.6 ALGORITMOS DE ENRUTAMIENTO ..................................................................................... 19 3.6.1 Algoritmo Bellman-Ford ............................................................................................ 19 3.6.2 Algoritmo Dijkstra ...................................................................................................... 19 3.7 MODELO OSI .......................................................................................................................... 20 3.8 PLATAFORMAS ABIERTAS DE ENRRUTAMIENTO ............................................................. 20 3.8.1 Router modular click (click modular router) ..................................................................... 21 4. XORP ........................................................................................................................................ 23 4.1 ANTECEDENTES ............................................................................................................. 28 4.2. REQUERIMIENTOS DE INSTALACIÓN ........................................................................... 33 4.2.1 manual de instalación de XORP ...................................................................................... 34 4.2.2 funcionamiento de la plataforma ...................................................................................... 34 4.4 PRUEBAS BASICAS DE FUNCIONAMIENTO CON LIVECD. ............................................... 37 4.4.2 Instalación del live cd LAN forge en virtual box ........................................................ 39 4.4.2. puesta en marcha del live cd. ......................................................................................... 42 4.5. GUIAS PARA CONFIGURACION DE PROTOCOLOS EN XORP. ........................................ 45 4.5.1. Guia 1: uso de LANforge liveCD haciendo uso de OSPF. ............................................. 45 4.5.1 Guía 2: uso de xorp y configuración de protocolos ......................................................... 62 4.5.2 Guía 3: instalación de máquinas virtuales, y puesta en marcha de XORP ..................... 73 5. CONCLUCIONES Y RECOMENDACIONES ............................................................................... 88 6. REFERENCIAS BIBLIOGRAFICAS ............................................................................................ 89 TABLA DE FIGURAS Figura 1: capas y protocolos .................................................................................. 20 Figura 2: proceso de XORP ................................................................................... 26 Figura 3: instalación de xorp .................................................................................. 34 Figura 4: inicio de súper usuario ............................................................................ 35 Figura 5: demonio xorp .......................................................................................... 35 Figura 6: iniciación router ....................................................................................... 35 Figura 7: Script de configuración ........................................................................... 36 Figura 8: modo operación ...................................................................................... 36 Figura 9: modo configuración................................................................................. 37 Figura 10: enlaces para descarga liveCD .............................................................. 38 Figura 11: autenticación descarga ......................................................................... 38 Figura 12: iso liveCD .............................................................................................. 39 Figura 13: selección instalar Lubuntu. ................................................................... 39 Figura 14: idioma Lubuntu ..................................................................................... 40 Figura 15: requerimientos mínimos........................................................................ 40 Figura 16: borrar e instalar Lubuntu. ...................................................................... 41 Figura 17: ubicación............................................................................................... 41 Figura 18: teclado .................................................................................................. 42 Figura 19: proceso de instalación .......................................................................... 42 Figura 20: inicio de liveCD ..................................................................................... 43 Figura 21: clave liveCD .......................................................................................... 43 Figura 22: LANforge-Server ................................................................................... 44 Figura 23: autenticación LANforge......................................................................... 44 Figura 24: LANforge-GUI ....................................................................................... 45 Figura 25: click netsmith ........................................................................................ 46 Figura 26: nuevo router .......................................................................................... 46 Figura 27: usar OSPF ............................................................................................ 47 Figura 28: routers creados ..................................................................................... 47 Figura 29: aplicar routers ....................................................................................... 48 Figura 30: nueva conexión ..................................................................................... 48 Figura 31: Wanlink skip .......................................................................................... 49 Figura 32: conexiones Netsmith............................................................................. 49 Figura 33: Netsmith ok ........................................................................................... 50 Figura 34: modificar puerto .................................................................................... 50 Figura 35: IP rddVR0 ............................................................................................. 51 Figura 36: Modify port ............................................................................................ 51 Figura 37: IP rddVR1 ............................................................................................. 52 Figura 38: direccionamiento IP completo ............................................................... 52 Figura 39: interfaces routers .................................................................................. 53 Figura 40: Toggle Wanlink ..................................................................................... 54 Figura 41: Wanlinks run ......................................................................................... 54 Figura 42: Modificar puerto .................................................................................... 55 Figura 43: Configuracion IP y Gateways ................................................................ 56 Figura 44: eth2 en R0 y eth3 en R4 ....................................................................... 56 Figura 45: Tabla de enrutamiento .......................................................................... 57 Figura 46: Tabla de enrrutamiento completa ......................................................... 57 Figura 47: OSPF .................................................................................................... 58 Figura 48: información tabla de enrutamiento ........................................................ 58 Figura 49: Terminal linux ....................................................................................... 59 Figura 50: eth1 interfaz de salida ........................................................................... 59 Figura 51: resultados saltos en red ........................................................................ 59 Figura 52: Traceroute desde eth4 .......................................................................... 60 Figura 53: Layer-3.................................................................................................. 60 Figura 54: modify cross connect ............................................................................ 61 Figura 55: Layer-3.................................................................................................. 61 Figura 56: Trafico OSPF ........................................................................................ 62 Figura 57: comandos xorp_rtrmgr .......................................................................... 63 Figura 58: Protocolos preconfigurados .boot ......................................................... 64 Figura 59: bgp.boot ................................................................................................ 64 Figura 60: XORP modo operativo .......................................................................... 65 Figura 61: comando "?" ......................................................................................... 65 Figura 62: comandos modo "configure" ................................................................. 66 Figura 63: Visualización de protocolo en ejecución ............................................... 67 Figura 64: Visualización de protocolo en ejecución 2 ............................................ 67 Figura 65: Ayuda con tecla TAP ............................................................................ 68 Figura 66: interfaces disponibles ........................................................................... 69 Figura 67: comandos para interface ...................................................................... 69 Figura 68: configuracion de una interface .............................................................. 70 Figura 69: protocolo con interface creada .............................................................. 71 Figura 70: modificación de interface ...................................................................... 71 Figura 71: visualización configuración editada ...................................................... 72 Figura 72: Esquema de red ................................................................................... 74 Figura 73: actualización repositorios...................................................................... 75 Figura 74: corrección enlaces de actualización ..................................................... 76 Figura 75: Instalación TUN/TAP ............................................................................ 76 Figura 76: Script TUN/TAP .................................................................................... 77 Figura 77: IP TUN/TAPS ........................................................................................ 79 Figura 78: configuración máquinas virtuales .......................................................... 80 Figura 79: Asignación de ip a mac adecuada ........................................................ 80 Figura 80: Conexión exitosa .................................................................................. 81 Figura 81: Configuración pepermint1 ..................................................................... 81 Figura 82: Verificación direccionamiento ............................................................... 82 Figura 83: Ping exitoso .......................................................................................... 82 Figura 84: Configuración fedora2xorp.................................................................... 83 Figura 85: Configuración pepermint2 ..................................................................... 84 Figura 86: Configuración exitosa ........................................................................... 84 Figura 87: Prueba conexión ................................................................................... 85 Figura 88: Demonio XORP .................................................................................... 86 Figura 89: CLI XORP ............................................................................................. 86 Figura 90: .boot ...................................................................................................... 87 Figura 91: .boot siguiente ...................................................................................... 87 RESUMEN En campo de la investigación en redes, los investigadores siempre se han enfrentado al problema de falta de plataformas abiertas que permitan hacer pruebas de los diferentes algoritmos y protocolos nacientes a partir de las investigaciones impartidas. En general, las herramientas existentes no son abiertas y solo permiten configuraciones ya establecidas, sin poder hacer cambios significativos que permitan probar nuevas funcionalidades. Es por esto, que este trabajo está enfocado al estudio de la plataforma XORP (eXtensible Open Router Platform), la cual fue diseñada por Mark Handley con el fin de dar solución al problema mencionado. Este proyecto pretende dar a conocer como primera instancia la definición de algunas plataformas existentes similares como vyatta, click para luego mostrar un estudio más detallado de XORP, mostrando sus características, proceso de instalación, funcionalidades, limitaciones y algunas prácticas sencillas de su funcionamiento. Palabras claves: enrutamiento, red, capa de red, XORP. ABSTRACT In field research networks, researchers have always faced the problem of lack of open platforms that allow testing of different algorithms and protocols emerging from the given research. In general, existing tools are not open and only allow established configurations, unable to make significant changes to enable new functionality test. It is for this reason that this paper is focused on the study of (eXtensible Open Router Platform) XORP platform, which was designed by Mark Handley in order to solve the above problem. This project seeks to highlight the first instance the definition of some similar existing platforms such as Vyatta, click and then show a more detailed study of XORP, showing its characteristics, installation process, capabilities, limitations, and practice some simple operation. Keywords: routing, network, network layer, XORP. 10 INTRODUCCIÓN La investigación en redes enfrenta un problema con respecto a la falta de herramientas abiertas que permitan hacer pruebas de los diferentes protocolos y algoritmos de enrutamiento. En este sentido, algunas investigaciones se han encargado de construir plataformas de software que cumplan con estas capacidades, facilitanto la construcción de redes definidas en dichas plataformas, en las cuales se pueda hacer cambios significativos en lo que respecta a las funcionalidades de los dispositivos, en los algoritmos y protocolos configurados. Hoy día la mayoría de empresas legalmente constituidas optan por las tecnologías de la información con el fin de agilizar procesos, en estas empresas hacen uso de redes de datos para conexiones seguras, las cuales son enrutadas por medio de dispositivos de enrutamiento llamados routers, estos cumplen funciones básicas del modelo OSI, donde se logra cumplir el direccionamiento IP hacia dispositivos que cuenten con conexión a internet. Los router convencionales que poseen arquitecturas y configuraciones fijas tienen problemas a la hora de su implementación en la red, los problemas más comunes son los permisos de acceso y restricciones en cuanto a puertos de navegación y conexiones, en algunos casos están configurados con una IP fija y la conexión a internet va a estar limitada a que el proveedor bloquee o no dicha IP, para poder conectarse a internet, también tienen limitaciones en cuanto a segmentación. Por esta razón existe la necesidad de hacer uso de arquitecturas de router flixibles como (CLICK y XORP), las cuales ofrecen facilidades a la hora de hacer pruebas de configuración haciendo uso de protocolos de enrutamiento como RIP, OSPF etc. En este documento presenta de manera detallada el estudio del software XORP, que fue desarrollado por Mark Handley con la finalidad aplicar protocolos de enrutamiento sin limitaciones, siendo este una plataforma de enrutamiento de código abierto con todas las funciones que implementan los protocolos de enrutamiento IPv4 e IPv6, además de ser una plataforma unificada para configurarlos, la arquitectura modular de XORP permite la introducción de nuevos protocolos y soporte para hardware personalizado. El objetivo de este proyecto es dar a conocer la plataforma XORP, sus funcionalidades, sus aplicaciones, un estado del arte mencionando los proyectos que lo utilizan para investigación y proveeer guías sencillas que faciliten la utilización de la plataforma, su instalación y la configuración de protocolos. 11 La estructura de este documento está organizada de la siguiente forma: en el capítulo 1, se dan los objetivos del proyecto; en el capítulo 2, se describe la metodología seguida para el desarrollo del proyecto; en el capítulo 3, se describe el marco teórico con las bases fundamentales tenidas en cuenta para el proyecto; en el capítulo 4, se habla de la plataforma de enrutamiento con sus respectivos antecedentes, instalación, funcionamiento y prácticas de la herramienta, en los capitulos 5 y 6 se dan las conclusiones y referencias bibliograficas respectivamente. 12 1. OBJETIVOS 1.1 OBJETIVO GENERAL Estudiar el funcionamiento y uso de la plataforma XORP con el fin de generar guías de laboratorio que permitan configurar los protocolos de enrutamiento de internet. 1.2 OBJETIVOS ESPECIFICOS Realizar una exploración del estado del arte de la plataforma XORP con el fin comprender su construcción y funcionamiento y requerimientos de instalación. Instalar la plataforma XORP de acuerdo a sus requerimientos y estudiar su funcionamiento. Diseñar guías de laboratorio para realizar funciones de enrutamiento y configuración de los diferentes protocolos de enrutamiento en internet de acuerdo a los alcances de la herramienta. Evaluar el funcionamiento y ejecución de las guías de laboratorio construidas. Realizar un artículo publicable y enviarlo a evaluación. Construir la documentación final, donde se evidencia de forma clara la guía de instalación de la plataforma, su funcionamiento y las diferentes guías de enrutamiento. 13 2. METODOLOGIA En el desarrollo de este proyecto se llevaron a cabo diferentes tareas las cuales fueron realizadas para la generación del proyecto, esto con el fin de darle cumplimiento a cada uno de los objetivos, a continuación se describe cada etapa del proyecto. 2.1 EXPLORACION ESTADO DEL ARTE En esta etapa se realizó una exploración del estado del arte de la plataforma XORP, para así comprender su funcionamiento y la razón por la cual fue construido, se tuvo en cuenta todos los componentes necesarios, con el fin de que este pueda tener una ejecución que logre los objetivos planteados y también comprender al máximo la herramienta. 2.2 INSTALACIÓN Se procede a la instalación detallada de la plataforma XORP, luego se hizo un estudio de su funcionamiento donde se observaron todas las variables a tener en cuenta a la hora de ejecutar el software. 2.3 CONSTRUCCION DE GUIAS PRACTICAS CON XORP Con el funcionamiento de la plataforma ya claro, se procede a la generación de guías detalladas sobre la aplicación de protocolos de enrutamiento más comunes en la plataforma de enrutamiento XORP. 2.4 PRUEBAS Se evalúa el funcionamiento de las guías practicas, de tal manera que se pueda evidenciar su buen funcionamiento y entendimiento. 14 3. MARCO TEORICO En este capitulo se darán algunos conceptos necesarios que se tienen en cuenta para un desarrollo del proyecto acertado. 3.1 REDES DE DATOS Las redes de datos están interconectadas por un dispositivo y son un “conjunto de nodos geográficamente dispersos conectados mediante enlaces de comunicación, El nodo de red es el subsistema de red que efectúa tareas de procesamiento, enrutamiento, multiplexamiento, conmutación y transmisión tanto a nivel local como a nivel de red. Es un subsistema con mucha inteligencia agregada que combina las funciones de un banco de canales, de un conmutador digital de interconexión y de un multiplexor integral para voz, datos y video. El aumento creciente dentro de una organización de las redes de área local durante la década de los 80 puso en evidencia la necesidad de buscar medios para interconectarlas en una gran red, pues estas redes, tienen limitaciones en cuanto a la distancia. Luego aparecieron soluciones como enrutamiento que resolvieron este problema y que han sido propulsoras del inmenso progreso en la interconexión de redes, donde INTERNET es actualmente el paradigma”. (Marquez, abril 2005). 3.2 REDES DEFINIDAS POR SOFTWARE (SDN) Las redes definidas por software (Software Defined Networking) (SDN), son un nuevo concepto e importante para las conexiones de redes en el futuro “ya que es un nuevo enfoque para la creación de redes, como complemento de las arquitecturas de red tradicionales. SDN pretende dar al operador de red control programático sobre el hardware de la red con el fin de reaccionar rápidamente a los cambios en la política, el medio ambiente, costos, condiciones de la red y otros parámetros. En lugar de utilizar la configuración y olvidar los archivos de configuración y el acceso, SDN ofrece la visión de control en tiempo real del comportamiento de las partes o la totalidad de la red por el software centralizado. Hay un número de enfoques para SDN que tienen como objetivo para la normalización de configuración de la red y el control a través de interfaces de programación abiertas a los dispositivos de red individuales, así como a toda la red. SDN incorpora conceptos de red y topología de red de virtualización y permite personalizar planos de control. Este último permite la alineación cerca de la lógica de reenvío de red a los requerimientos de las aplicaciones. Aunque no es el único 15 enfoque, openflow es un ejemplo de una especificación desarrollada por la fundación de red abierta que define una infraestructura de reenvío basado en el flujo y una interfaz de programación de aplicaciones estándar (api) que permite a un controlador para dirigir las funciones de un switch través de un canal seguro”. (cisco, 2013). 3.3 PROTOCOLO IP Según (Tanenbaum, 2003), se dice que La capa de inter red define un paquete de formato y protocolo oficial llamado IP (Protocolo de Internet). El trabajo de la capa de inter red es entregar paquetes IP al destinatario. Aquí, el enrutamiento de paquetes es claramente el aspecto principal, con el propósito de evitar la congestión, por esta razón afirma que un lugar adecuado para comenzar el estudio de la capa de red de Internet es el formato de los datagramas de IP mismos. Un datagrama IP consiste en una parte de encabezado y una parte de texto. El encabezado tiene una parte fija de 20 bytes y una parte opcional de longitud variable. Por esto es razonable decir que la capa de inter red del modelo TCP/IP es similar en funcionalidad a la capa de red del modelo OSI. La capa de red de Internet incluye el conocido protocolo IP, que define los campos del datagrama, así como la forma en que actúan los sistemas terminales y los routers sobre estos campos. Existe un único protocolo IP y todos los componentes de Internet que tienen una capa de red deben ejecutar el protocolo IP. El reenvío y el direccionamiento en Internet son componentes importantes del Protocolo de Internet (IP). Existen dos versiones en uso de IP, protocolo IP versión 4 denomina IPv4 [RFC 791 y la versión 6 de IP [RFC 2460; RFC 4291], protocolo propuesto para sustituir a IPv4. El trabajo de la capa de red es proporcionar un medio de mejor esfuerzo (es decir, sin garantía) para el transporte de datagramas del origen al destino, sin importar si estas máquinas están en la misma red, o si hay otras redes entre ellas. (Tanenbaum, 2003) 3.4 ENRUTAMIENTO El enrutamiento hace referencia al proceso que realiza la red en conjunto para determinar la ruta terminal a terminal que los paquetes siguen desde el origen al destino. (James F. kurose, 2010) 16 El router usa su tabla de enrutamiento para determinar el mejor camino para reenviar un paquete. Cuando el router recibe un paquete, examina su dirección IP de destino y busca la mejor coincidencia con una dirección de red en la tabla de enrutamiento del router. La tabla de enrutamiento también incluye la interfaz que se utilizará para reenviar el paquete. Cuando se encuentra una coincidencia, el router encapsula el paquete IP en la trama de enlace de datos de la interfaz de salida. Luego, el paquete se reenvía hacia su destino. (Academy®, 2011) Según james kurose y Keith ross la capa de red tiene que determinar la ruta o camino que deben seguir los paquetes a medida que fluyen de un emisor a un receptor. Los algoritmos que calculan estas rutas se conocen como algoritmos de enrutamiento donde un algoritmo de enrutamiento debe determinar, por ejemplo, la ruta por la que fluirán los paquetes. (James F. kurose, 2010) 3.5 PROTOCOLOS DE ENRUTAMIENTO Los protocolos de enrutamiento básicamente son un conjunto de reglas, las cuales son utilizadas por un router cuando se comunica con otro router, con el fin de compartir información de enrutamiento y con esta construir y mantener las tablas de enrutamiento. Los protocolos de enrutamiento son la aplicación de algoritmos en el software o hardware los cuales de dividen en dos tipos, los de intradominio que son las encargados de hacer conexión entre rutas que interconectan redes dentro de un único sistema autónomo, estos tipos de enrutamiento son conocidos como RIP, IGRP, EIGRP y OSPF y los interdominio son los encargados de conectar diferentes sistemas autónomos, estos algoritmos son conocidos como protocolo EGP y en esta categoría está el protocolo BGP. Los sistemas autónomos (SA) son un conjunto de redes o de routers los cuales tienen una única política de enrutamiento y es ejecutada utilizando un único IGP, los SA tienen un numero de 16 bits que lo identifica, el cual es asignado por un proveedor de servicios para así lograr dividir el mundo en distintas administraciones y tener una gran red dividida en redes más pequeñas. La siguiente figura muestra una explicación más detallada con los tipos de protocolos existentes. 17 PROTOCOLOS DE ENRUTAMIENTO INTRADOMINIO/IGP INTERDOMINIO/EGP BGP TIPOS DE PROTOCOLOS VECTOR DISTANCIA RIP – IGRP - EIGRP ESTADO DE ENLACE OSPF – IS-IS El concepto protocolo de enrutador está estrechamente relacionado con los protocolos de enrutamiento. El término protocolo de enrutador específica formalmente tres tipos diferentes de protocolos relacionados con los enrutadores: aquellos que “proporciona un servicio”, aquellos que saludan a los vecinos, y aquellos que efectúan enrutamiento. Por ejemplo como el IP proporciona un servicio a la capa de transporte, se considera un protocolo de servicio de capa de red para TCI/IP. Los protocolos de saludo a vecinos son aquellos que permiten a los nodos y enrutadores encontrarse entre sí de manera que sepan los nodos y enrutadores son accesibles. Esos protocolos también proporcionan capacidades de translación de dirección. Un ejemplo es el protocolo de Resolución de Dirección (ARP), que es parte de la serie TCP/IP. Finalmente, ejemplos de protocolos de enrutamiento que incluyen el RIP y el OSPF. (hancock, 2002) 18 3.6 ALGORITMOS DE ENRUTAMIENTO Prácticamente todas las redes de conmutación de paquetes y todas las redes de tipo internet basan sus decisiones de encaminamiento o enrutamiento en algún criterio de mínimo coste. Si el criterio consiste en minimizar el número de saltos, cada enlace tendrá asociado un valor igual a 1. Normalmente, el valor asociado al enlace es inversamente proporcional a su capacidad, proporcional a su carga actual o alguna combinación de ellos. La mayor parte de los algoritmos de encaminamiento de mínimo coste utilizados en las redes de conmutación de paquetes y en las redes internet son variantes de uno de los dos algoritmos más comunes: el de Dijkstra y el de Bellman-Ford. Este apartado presenta una breve descripción de ambos. (Stallings, 2004) 3.6.1 Algoritmo Bellman-Ford El algoritmo de Bellman-Ford [FORD62] se puede enunciar así: encontrar los caminos más cortos desde un nodo origen dado con la condición de que éstos contengan a lo sumo un enlace; a continuación encontrar los caminos más cortos con la condición de que contengan dos enlaces como máximo, y así sucesivamente. (Stallings, 2004) 3.6.2 Algoritmo Dijkstra El algoritmo de Dijkstra [DIJK59] se puede enunciar como sigue: encontrar las rutas más cortas entre un nodo origen dado y todos los demás nodos, desarrollando los caminos en orden creciente de longitud. El algoritmo actúa en etapas. Tras el paso o etapa k-ésima se han determinado los caminos más cortos a los k nodos más cercanos (de menor coste) al nodo origen especificado; estos nodos se almacenan en el conjunto T. En el paso (k!1) se añade a la lista T aquel nodo que presente el camino más corto desde el nodo origen y que no se encuentre ya incluido en dicha lista. A medida que se incorporan nuevos nodos a T, se define su camino desde el origen. (Stallings, 2004) Se debe entender que este proceso de enrutamiento se lleva a cabo en la capa 3 del modelo de referencia OSI, conocida como capa de red. 19 3.7 MODELO OSI “Este modelo está basado en una propuesta desarrollada por la ISO (Organización Internacional de Estándares) como un primer paso hacia la estandarización internacional de los protocolos utilizados en varias capas ver figura 1 (Day y Zimmermann, 1983). El modelo se llama OSI (Interconexión de Sistemas Abiertos) de ISO porque tiene que ver con la conexión de sistemas abiertos, es decir, sistemas que están abiertos a la comunicación con otros sistemas, es llamado modelo OSI”. El proceso de enrutamiento se desarrolla en la capa de red por lo cual se debe tener clara su definición, a continuación ver figura 1 donde se muestran los diferentes protocolos del modelo OSI. (TANENBAUM, 2003, págs. 37-38) Capas y sus protocolos Figura 1: capas y protocolos 3.8 PLATAFORMAS ABIERTAS DE ENRRUTAMIENTO Hoy día con la ayuda del software libre se han implementado herramientas o aplicaciones utilizando diferentes metodologías para su creación, estas herramientas reemplazan procesos o funciones que desarrollan dispositivos en el área de las telecomunicaciones, como es el caso de los routers, que este es el encargado de la interconexión de redes y enrutamiento de paquetes. A continuación Se darán a conocer algunas plataformas virtuales que cumplen con las funcionalidades de enrutamiento, las cuales están desarrolladas en solo software y le brindan la oportunidad a sus usuarios hacer configuraciones y 20 pruebas de funcionalidades de enrutamiento sin la necesidad del hardware correspondiente. 3.8.1 Router modular click (click modular router) Click en una nueva arquitectura de para el diseño e implementación de enrutadores configurables y flexibles. Un router click se ensambla a partir de módulos de procesamiento de paquetes llamados elementos. Elementos individuales que implementan funciones de router simples como paquete clasificación, gestión de colas, programación, y la interconexión con los dispositivos de red. Los protocolos desarrollados usando click pueden analizarse en diferentes topologías y bajo diferentes configuraciones según las necesidades del usuario, una vez se válida la configuración se pueden implementar como si fuera una red real, en sus inicios se codificó o escribió en c++. Click proporciona una extensa biblioteca de elementos que pueden realizar diversas funciones que van desde IP TTL y WIF, encabezado, encapsulación e implementar colas y realización de tráfico, en la integración con un simulador de redes ofrece la ventaja de incluir flexibilidad en un marco de simulación, este tiene varias limitaciones no puede usarse con los generadores del trafico genérico, protocolos de transporte y dispositivos de red. Click nació de un trabajo de tesis y proyecto en el MIT (instituto tecnológico de Massachusetts), este desarrollado por eddie kohler, robert morris, benjie chen, john jannotti, y m. frans kaashoek, diseñado con el fin de aplicar habilidades en programación, compilación, depuración, pruebas y tener contratado el personal adecuado para su ejecución, otros usos para Click incluyen investigar nuevos protocolos de red y su aplicación. (EDDIE KOHLER, 1999) 3.8.3. Vyatta System Vyatta es un sistema operativo de código abierto para los routers y firewalls basados en Debian GNU / Linux. Se ejecuta en hardware x86 estándar y ofrece varias funciones relacionadas con la red, tales como enrutamiento IP e IPv6, protocolos de enrutamiento dinámico, filtrado de tráfico con estado, IPS y más. 21 Todas las funciones se configuran y gestionan a través de la interfaz de línea de comando unificado similar a los dispositivos de red de Juniper ™ opcional o interfaz gráfica de usuario basada en la web. (vyattawik, 2006) 3.8.4. Quagga Routing Software Suite Quagga es una suite de software de enrutamiento, que proporciona implementaciones de OSPFv2, OSPFv3, RIP v1 y v2, RIPng y BGP-4 para las plataformas Unix, especialmente FreeBSD, Linux, Solaris y NetBSD. Quagga es un tenedor de GNU Zebra que fue desarrollado por Kunihiro Ishiguro. El árbol Quagga aspira a construir una comunidad más involucrados alrededor Quagga que el modelo centralizado de GNU Zebra, teniendo en cuenta que Zebra actualmente fue dado de baja y la información relacionada se encuentra como histórica. (nongnu.org/quagga/, 2000) 3.8.2. Plataforma de enrutamiento XORP (eXtensible Open Router Platform) XORP es la única plataforma de enrutamiento de código abierto extensible de la industria. XORP ofrece una plataforma con todas las funciones que implementa los protocolos de enrutamiento IPv4 e IPv6 y una plataforma unificada para configurarlos. Es la única plataforma de código abierto para ofrecer capacidad de multidifusión integrada. La arquitectura modular de XORP permite una rápida introducción de nuevos protocolos, características y funcionalidad, incluyendo soporte para hardware personalizado y expedición de software, para obtener más claridad sobre su funcionabilidad, construcción y demás el siguiente capítulo se entrara más en detalle sobre XORP. (xorp.org/, 2008) 22 4. XORP El desarrollo del proyecto de plataforma de enrutamiento fue iniciado por “mark handley en el 2000, recibieron fondos de Intel, Microsoft y la fundación nacional de ciencia, se lanzó su primer software de producción en el 2004, después, el proyecto fue dirigido por Atanu Ghosh del Instituto Internacional de Ciencias de la Computación, en Berkeley, California. En julio de 2008, el Instituto Internacional de Ciencias de la Computación transfiere la tecnología XORP a una nueva entidad, XORP INC siendo esta una nueva empresa comercial fundada por los líderes del equipo del proyecto de código abierto. En febrero de 2010, XORP Inc. se terminó, víctima de la recesión. Sin embargo, el proyecto de código abierto continuó, con los servidores basados en el University College de Londres. Ben Greear se convirtió en el responsable del proyecto y el servidor www.xorp.org está organizado por Candela Technologies”. (Handley M. , 2012). Los desarrolladores de la plataforma de enrutamiento ofrecen su propia página donde se dejan claros cuales son los conceptos y fundamentación de la aplicación, en ella se dice que “XORP es generado con código abierto para el enrutamiento de redes, fue diseñado por el Instituto Internacional de Ciencias de la Computación en Berkeley, California, consta de alrededor de 670.000 líneas de código en C ++ y se desarrolla principalmente en Linux. Proporciona una plataforma con todas las funciones de los protocolos de enrutamiento. Con esta plataforma de enrutamiento podemos enviar paquetes de datos de una red a otra con mayor facilidad. Los protocolos que utiliza son OSPF, RIP, BGP, OLSR, VRRP, PIM, IGMP (Multicast) y otros protocolos de enrutamiento, La mayoría de los protocolos soportan IPv4 e IPv6 en su caso y una plataforma unificada para configurarlos, Se sabe que trabaja en varias distribuciones de Linux y motores de bases de datos. XORP cumple con los estándares debidos para los protocolos de enrutamiento concebidos por IGP y BGP unicast y para multicast, a continuación se mencionaran los estándares que tiene en cuenta xorp para cada uno de ellos: 1. UNICAST IGP (Interior Gateway Protocol) ESTANDARES RIP and RIPng: RFC 2453 (RIP version 2) RFC 2082 (RIP-2 MD5 Authentication) 23 RFC 2080 (RIPng for IPv6) OSPFv2: 1.2. RFC 2328 (OSPF Version 2) RFC 3101 (The OSPF Not-So-Stubby Area (NSSA) Option) UNICAST BGP (Border Gateway Protocol) ESTANDARES draft-ietf-idr-bgp4-26 (A Border Gateway Protocol 4 (BGP-4)) RFC 3392 (Capabilities Advertisement with BGP-4) draft-ietf-idr-rfc2858bis-03 (Multiprotocol Extensions for BGP-4) RFC 2545 (Multiprotocol Extensions for IPv6 Inter-Domain Routing) RFC 3392 (Capabilities Advertisement with BGP-4) RFC 1997 (BGP Communities Attribute) RFC 2796 (BGP Route Reflection - An Alternative to Full Mesh IBGP) RFC 3065 (Autonomous System Confederations for BGP) RFC 2439 (BGP Route Flap Damping) 24 2. MULTICAST PIM-SM: draft-ietf-pim-sm-v2-new-11 (without SSM). draft-ietf-pim-sm-bsr-03 IGMP v1 and v2: RFC 2236 MLD v1: RFC 2710 El objetivo principal de XORP es ser una plataforma abierta para las implementaciones del protocolo de red, y una alternativa a los productos de redes propietarias o cerradas como lo son los enrutadores o router’s. Estos conceptos ya empleados y establecidos en la ingeniería permiten que proyectos como este puedan desarrollarse sin ningún inconveniente y de manera adecuada. Para llevar a cabo este proyecto primero que todo se hace una investigación sobre el tema, como funciona, que problemas soluciona, etc. Luego de esto se instala el software que son una serie de comandos de Linux y por último cuando el programa esté funcionando correctamente se hace el seguimiento para generar las prácticas de laboratorio y el manual para instalar el software. (xorp, pág. http://xorp.run.montefiore.ulg.ac.be/start). 25 PROCESO DE XORP Figura 2: proceso de XORP (xorp.org, 2011) XORP se divide en dos subsistemas. El subsistema de nivel de usuario se compone de los mismos protocolos de enrutamiento, junto con enrutamiento de las bases de información y procesos de apoyo. El subsistema de nivel de kernel gestiona el camino de reenvió y proporciona APIs para el nivel de usuario para el acceso. A nivel de usuario XORP tiene una arquitectura multi-proceso, con un proceso por el protocolo de enrutamiento, más procesos adicionales para la gestión, configuración, y la coordinación. Para activar la extensibilidad se diseña una novela de mecanismo de comunicación entre procesos, Localizadores de recursos 26 de XORP (XORP Resource Locators) (XRLs), para la comunicación entre estos módulos. Procesos a nivel de usuario del router XORP y expedición del motor. Los procesos a nivel de usuario compartidos es característica más innovadora de la arquitectura XORP. El router manager process gestiona el router como un todo. Se mantiene la información de configuración; inicia procesos tales como los protocolos de enrutamiento, como es requerido por la configuración; y se reinicia si fallaron procesos según sea necesario. El ipc finder process almacena asignaciones entre peticiones de aplicaciones, tales como "¿Cuáles son las interfaces de éste router?", en particular el IPC estos procesos si es necesario responder esas peticiones. Piense en ello como un redirector IPC: cuando una aplicación desea realizar una llamada de IPC, consulta el buscador para descubrir cómo hacerlo. Por lo tanto, es fácil cambiar cómo se manejan las solicitudes de aplicación en tiempo de ejecución. También podemos rastrear las comunicaciones internas de XORP, consultando el buscador de respuestas para peticiones abstractas de secuencias de IPCs, algunos para el rastreo y algunos para hacer el trabajo. El proceso de base de información de enrutamiento (RIB) “The routing information base process” recibe rutas desde los procesos de enrutamiento, y arbitra que rutas deben propagar en la ruta de transmisión, o redistribuidas a otros procesos de enrutamiento. La ruta de transmisión es manejada por el proceso de abstracción motor de reenvío (FEA). Proceso de abstracción motor de reenvío (FEA) “forwarding engine abstraction process”: La FEA abstrae los detalles de cómo se implementa la ruta de transmisión del router, y como resultado los procesos de enrutamiento son diagnósticos sobre si, el plano de reenvió se basa en CLICK, un kernel UNIX convencional, o una configuración de hardware para reenvío. La FEA gestiona las interfaces de red y la tabla de reenvió en el router, y proporciona información a los procesos de enrutamiento acerca de las propiedades de la interfaz y los acontecimientos que ocurren en las interfaces, tales como una interfaz que esta caída. (xorp.org, 2011) 27 4.1 ANTECEDENTES En cuanto a la configuración de servicios de enrutamiento de redes sobre Linux, se ha desarrollado diferentes tipos de investigaciones, estas basadas sobre la plataforma de enrutamiento XORP y demás, brindando bases fundamentales para futuras configuraciones e investigaciones, a continuación se presentan algunos proyectos. - Propuesta para desarrollar una plataforma extensible router abierto (proposal to develop an extensible open router platform) El proyecto “Proposal to Develop an Extensible Open Router Platform realizado por Mark Handley el 30 de noviembre del 2000, fue un proyecto para producir una plataforma de enrutamiento que tiene características suficientes para ISPs, siendo a la vez muy confiable para las personas que lo van a usar, se desarrolló como un código abierto permitiendo la mejora de terceros si se usa correctamente los resultados pueden ser muy estables como FreeBSD y OpenBSD”. (Handley, 2000). - Router vyatta El 6 marzo de 2006 la empresa Vyatta crea una “aplicación llamada routerVyatta la cual funciona con dos chips de Intel. La aplicación de código abierto versátil puede dirigir el tráfico de datos de una corporación gigante con la misma facilidad, ya que puede gestionar una red Wi-Fi doméstica. Lo más destacado es que costó alrededor de una quinta parte del precio de los modelos comparables de redes de grandes fábricas”. (Vyatta, 2006). - Análisis y estudio de planos de control de un open router basado en el sistema operativo linux y el open-source software xorp. La señora Olga María Jaramillo Ortiz en Guayaquil 2007 desarrollo su “Tesis de grado “ANÁLISIS” y estudio de planos de control de un open router basado en el 28 sistema operativo Linux y el open-source software XORP”, el objetivo de esta tesis fue realizar una análisis de prestaciones de realización open-source pertenecientes al plano de control utilizando protocolos de enrutamiento, como open router y la plataforma de enrutamiento open-source software XORPX”. (Jaramillo Ortiz , 2007). - Adaptación del uso de routers cisco en prácticas de laboratorio a routers opensource En la escuela técnica superior de ingenieros industriales y de telecomunicación se desarrolló un Proyecto, creado por Héctor Egea Chueca y Daniel Morató Osés en el 2011. En este proyecto se comprueba en qué medida una solución de router open-source (Vyatta, XORP, Zebra, Quagga), puede sustituir a routers CISCO en un entorno de laboratorio. Haciendo una comparación de las diferentes opciones que pueden existir a la hora de elegir un open-sourcerouting”. ( Egea Chueca & Morato , 2011) - Research and implementation of distributed access control and traffic statistics based on xorp (investigación y aplicación de las estadísticas de control de acceso y de tránsito distribuida basada en xorp). Los señores (Qiang Guo, Zongshui Xiao, Juan Yuan, Jibin Su) del departamento de Computación ciencia y tecnología, de Shan Dong University (Jinan – China), 2009, presentaron un proyecto, Donde se hace control de acceso a un router y extracción de estadísticas de tráfico en el mismo. “En la red de alta velocidad, control de accesos y tráfico las estadísticas que se despliegan en el router de un solo nodo causan una fuerte caída en el rendimiento en cuanto al reenvío del router. Usando arquitectura extensible y comunicación entre procesos de mecanismo XORP, se integra el control de acceso y el tráfico módulo de estadísticas en la estructura original, con el fin de lograr un control de acceso distribuido y estadísticas de tráfico puede reducir la carga de enrutador en el nodo de acceso de alta velocidad red.” (Qiang Guo, 2009 Asia-Pacific Conference on Information Processing). 29 - Implementation analysis of msp (aplicación de análisis msp.) En la Conferencia internacional sobre sistemas y Conferencia internacional de las comunicaciones móviles y las tecnologías de aprendizaje, en el año 2006, (Ana Cavalli, Timothy G. Griffin y Dario Vieira) desarrollaron un artículo llamado, Implementation Analysis of MSP donde se aplican protocolos MSP/MMSP usando C++ basado en la plataforma de routers de código abierto llamada eXtensible Plataforma abierta Router (XORP) la plataforma xorp; donde juntos proporcionan servicios como agraciado automático(mejora de conexión), reinicio de la sesión, de transporte, preservación de aplicación, mensaje límites, multisesión y multihoming. En este artículo, los autores presentan una implementación y funcionamiento Análisis de MSP (Managed Session Protocol) (Ana Cavalli, 2006) - Closing the loop for dynamic ip qos provisioning (cierra un primer ciclo dinámico ip provisión de qos) En el año 2007 SwatiSinhaDeb, AlistairMunro del departamento de Ingeniería Eléctrica y Electrónica de la Universidad de Bristol en la 32a Conferencia IEEE sobre redes locales de ordenadores hicieron la publicación de este artículo en el cual investigan un enfoque para permitir una gestión dinámica reactiva la calidad de servicio (QoS), para redes IP utilizando la información recopilada de monitorear los flujos de tráfico combinado con middleware para establecer configuraciones de elementos de red para diferenciar el servicio dado al tráfico. (Swati Sinha Deb, 2007). - Priority based scheduling of multimedia traffic on real time linux operating system (prioridad a base de programación multimedia tráfico en tiempo real de sistema operativo linux.) Los profesores Priyanka Sharma S. N. Prad han en el año 2007 del departamento de Ingeniería Informática de la Universidad Nirma, Ahmedabad, Gujarat, India, en la Conferencia Internacional de Inteligencia Computacional y Aplicaciones Multimedia presentaron este documento que abarca principalmente dos componentes básicos. El primero está relacionado con la instalación y el proceso 30 de configuración de la aplicación de DiffServ Arquitectura utilizando routers de software (XORP). Esta es la prioridad basada programación de tráfico multimedia a través de un sistema operativo Linux en tiempo real. El segundo aspecto está relacionado con el desarrollo de un módulo del núcleo en tiempo real para poner en cola los paquetes UDP multimedia y el tráfico IP de fondo en colas basadas de prioridad alta y baja respectivamente, y la liberación de la primera a la de software basado enrutador ( XORP ) con mayor prioridad . Esto implica interpretar el tráfico multimedia en función de su tipo de servicio (TOS) valor en la configuración IPv4 y Clase de tráfico (TC) de valor en la red IPv6. (Priyanka Sharma, 2007) - Toward scalable routing experiments with real-time network simulation (experimentos de ruta hacia escalable con tiempo real de la red de simulación). Yue Li, Jason Liu, y RajuRangaswami de la Escuela de Informática y Ciencias de la Información de la Universidad Internacional de la Florida de Miami, Florida en el 2008 en el 22nd Taller sobre los principios de avanzada y Simulación Distribuida presentaron un artículo en el cual se habla de la capacidad para llevar a cabo experimentos precisos y realistas es fundamental en la promoción de la investigación y el desarrollo de los protocolos de enrutamiento de red existentes en marco para experimentos de enrutamiento se encuentra a faltar en una o más de las tres funciones necesarias: realismo, escalabilidad y flexibilidad. En este artículo se desarrolló una nueva infraestructura de software que combina la escalabilidad y flexibilidad beneficios de la simulación de la red en tiempo real con el realismo de las implementaciones de código abierto del protocolo de enrutamiento. La infraestructura integra el software del router XORP de código abierto con un motor de simulación de la red en tiempo real. Este diseño de la infraestructura utiliza un enfoque de la descarga de plano de reenvío que desacopla el enrutamiento de reenvío y confina las más consumidoras de recursos de operaciones de desvío en el interior del motor de simulación para reducir la E / S de arriba. Los experimentos demuestran un rendimiento superior de la infraestructura experimental, sin perjudicar la precisión. (Yue Li, 2008) - Finding almost-invariants in distributed systems (encontrar en casiinvariantes en sistemas distribuidos). May sam Y abandeh, Abhishek Anand, Marco Canini, y Dejan Kosti´c de la Universidad de Cornell, Ithaca NY, EE.UU , en 2011 30th IEEE International Symposiumon Reliable Distributed Systems (IEEE Simposio Internacional Sobre 31 Sistemas fiables Distribuidos) presentaron un trabajo, en el cual propone un enfoque para observar el comportamiento del sistema y automáticamente inferir invariantes que revelan errores de implementación. Usando una herramienta llamada, “Avenger”, que genera automáticamente un gran número de propiedades potencialmente relevantes, comprobándolos en el dominio del tiempo y espaciales utilizando trazas de ejecuciones del sistema y filtrar todo. Nuestros resultados experimentales con la implementación XORP BGP demuestran la capacidad para identificar los casi -invariantes que conducen al desarrollador a errores de programación. (Maysam Yabandeh, 2011) - Network virtualization in GpENI: framework, implementation & integration experience (virtualización de la red en gpeni: Marco, implementación y experiencia de integración). En el 2011 Ramkumar CherukuriI, Xuan Liu de Universidad de Missouri en Kansas EE.UU, Andy Bavier de la universidad de Princeton, EE.UU. James PG. Sterbenz, y Deep Medhil de La Universidad de Kansas Misuri city, EE.UU, en el 3er Taller sobre Gestión de la Internet del Futuro, presentaron un artículo en que hablan de Great Plains de Medio Ambiente para la Red de Innovación (GpENI), es un banco de pruebas internacional para la investigación de la internet futura. Un componente clave de GpENI es la red de virtualización programable (GpENI-VINI). El alcance de este trabajo es presentar la experiencia de marco, la implementación y la integración con la virtualización de red en GpENI. En particular, esto se describe a través de la experiencia en la aplicación y la integración de la plataforma de enrutamiento XORP (eXtensible Plataforma Abierta Router) en GpENI-VINI. (Ramkumar Cherukuri, 2011) 32 4.2. REQUERIMIENTOS DE INSTALACIÓN Para la instalación de la plataforma XORP se debe tener en cuenta el sistema operativo en el que correrá, en este caso se útilizara fedora 13 que es una distribución de Linux, donde se montará y se ejecutará, se entiende que Linux es un sistema operativo de software libre, este es muy utilizado por grandes empresas gracias a la seguridad que otorga y velocidad de procesamiento, en la actualidad las personas suelen usar Windows en sus ordenadores ya que es lo más conocido y relativamente fácil de entender, pero Linux actualmente tiene muchas similitudes, entonces ¿porque no usarlo?. Para la ejecución de la plataforma de enrutamiento XORP se deben tener en cuenta los siguientes aspectos: - El host debe estar equipado con las siguientes características, un disco duro mínimo de 80 gigas, 2 gigas de memoria RAM, procesador dual core o core i3 como mínimo y tarjeta de red inalámbrica o cableada. Con estas características es posible ejecutar el proceso de instalación de Linux que en este caso será fedora 13. - Después de tener instalado el sistema operativo y además en el tener instaladas las máquinas virtuales, se procederá a la actualización e instalación de la plataforma de enrutamiento XORP, en las guías desarrolladas haciendo uso de la herramienta estará de forma más detallada la activación de las tun/tap para la conexión y demás. - Para la instalación el usuario debe usar Linux preferiblemente, ya que este posee herramientas esenciales para la ejecución de XORP, también es posible ejecutarlo con Windows y demás distribuciones de Linux, para el desarrollo de este proyecto se hizo usó fedora 13 como sistema operativo anfitrión, existen herramientas para Linux conocidas VMware Workstation y VirtualBox las cuales permiten instalar máquinas virtuales en un espacio del disco duro actual del sistema y ejecutarlo. En estas máquinas virtuales se debe instalar dos fedora 13 que harán la parte de routers y dos hotst en nuestro caso pepermint. 33 4.2.1 manual de instalación de XORP - En la consola de comandos de Linux buscamos la disponibilidad de paquete XORP con el comando apt -cache search xorp, este comando se encarga de buscar en todos los repositorios de Linux la aplicación ver figura 3. - Después de encontrar la aplicación procedemos a la instalación con el comando apt -get install xorp, pasaran algunos segundos y la aplicación estará lista para la ejecución ver figura 3. Figura 3: instalación de xorp (Autor). 4.2.2 funcionamiento de la plataforma - En la consola de comandos de Linux introducimos el comando, SU para iniciar el sistema como un usuario privilegiado, es decir con permisos para ejecutar aplicaciones y demás, después de introducir este comando pedirá una contraseña la cual es la del usuario actual y se oprime la tecla enter, ver figura 4. 34 Figura 4: inicio de súper usuario (Autor). - Con el comando /etc/init.d/xorp start inicializamos el demonio de XORP, es decir el proceso con el cual funciona y debe estar activo el tiempo que lo usemos ya que es un router y siempre debe estar encendido ver figura 5. Figura 5: demonio xorp (Autor). - Con el comando xorpsh se da inicio al router el cual tiene dos modos ver figura 6. Estos modos llamados operación y configuración ofrecen diferentes opciones de uso, cuando se inicia queda en modo de operación y con el comando configure ingresamos al modo de configuración, estos se observaran en la siguiente toma de pantalla. Figura 6: iniciación router (Autor). 35 - Con el comando nano /etc/xorp/test.boot abrimos la configuración por defecto del router la cual se hace con el uso de scripts de configuración estos son programas que se introducen para configuración desde adentro del router, esto quiere decir que no se configura como un router cisco convencional ver figura 7. Figura 7: Script de configuración (Autor). - En cualquiera de los dos modos (operación ver figura 8, configuración ver figura 9, si introducimos el comando “?” este mostrara el menú del modo en el que se encuentra actualmente el router, haciendo más fácil su operación o configuración. Figura 8: modo operación (Autor). 36 Figura 9: modo configuración. (Autor). 4.4 PRUEBAS BASICAS DE FUNCIONAMIENTO CON LIVECD. Actualmente existen dos formas comunes para la ejecución de XORP, (liveCD e instalado nativo en el sistema operativo) en esta prueba básica de funcionamiento se ejecutara el liveCD. El Xorp lanforge nos permite la emulación de redes en distintos protocolos y nos permite interactuar con los módulos de XORP-ct, lo que nos permite familiarizarnos con todos los componentes de configuración del enrutador, el principio de la creación de este emulador seria didáctico pero con la posibilidad de habilitarse para uso en producción e investigación información dada en http://www.candelatech.com/lf_systems.php. (Technologies, 2010) 4.4.1 Descarga liveCD El equipo desarrollador de Xorp proporciona la oportunidad de instalación vía live cd con la versión 1.8-XORP-CT que se provee en la página web http://www.candelatech.com/downloads.php#lfcd. (xorp.org, 2011) 37 Para inicializar la descarga se hace click en el siguiente enlace, ver figura 10. Figura 10: enlaces para descarga liveCD (xorp.org, 2011) Pedirá una autentificación para poder continuar con la descarga, en caso de no querer registrarse en la página web www.candelatech.com se puede tener acceso a la descarga autentificándonos como invitado. (Nombre de usuario: guest--Contraseña: guest), así iniciará la descarga del live-cd. (Technologies, 2010) Figura 11: autenticación descarga (Autor). 38 4.4.2 Instalación del live cd LAN forge en virtual box A) Encender máquina virtual y seleccionar el archivo .iso que se descargó de la página vista anteriormente. Figura 12: iso liveCD (Autor) B) seleccionar la opción de Instalar Lubuntu. Figura 13: selección instalar Lubuntu. (Autor) 39 C) Selección de idioma. Figura 14: idioma Lubuntu (Autor) D) Se verifica que la máquina virtual cumpla con los mínimos requerimientos del LiveCD, click en continuar. Figura 15: requerimientos mínimos (Autor) E) Selecciona borrar e instalar Lubuntu debido a que ya se tiene una máquina virtual instalada, solo para el propósito de instalación del liveCD. 40 Figura 16: borrar e instalar Lubuntu. (Autor) F) Selección de país para que el SO se identifique con la zona horaria. Figura 17: ubicación (Autor) G) preferencia de teclado, click en continuar. 41 Figura 18: teclado (Autor) H) Comenzará el proceso de instalación, una vez culminado reiniciará y ya se tendrá LiveCd lanforge instalado en una máquina virtual. Figura 19: proceso de instalación (Autor) 4.4.2. puesta en marcha del live cd. A) Se inicia la maquina Virtual en la que reside el liveCD 42 Figura 20: inicio de liveCD (Autor) B) clave para ingresar al sistema, esta será “Lanforge”. Figura 21: clave liveCD (Autor) C) Una vez en el sistema se habilita el servidor dentro del SO, para esto se da click en LANforge-server e ingresa. 43 Figura 22: LANforge-Server (Autor) D) Una vez iniciado el servidor pedirá autenticación, para iniciar una serie de procesos que son necesarios para la máquina antes de hacer uso de la interface LANforge, el password es “lanforge” una vez hecho esto hará su proceso y la ventana se cerrará a los 15 segundos. Figura 23: autenticación LANforge (Autor) E) Hecho esto se abre la interface LANforge-GUI que ésta lista para el uso. 44 Figura 24: LANforge-GUI (Autor) 4.5. GUIAS PARA CONFIGURACION DE PROTOCOLOS EN XORP. 4.5.1. Guia 1: uso de LANforge liveCD haciendo uso de OSPF. En este ejemplo se efectuara una red emulada en vivo mediante el uso de varios enrutadores virtuales para formar una red multi-hop de trabajo, donde todos los enrutadores virtuales tiene cada uno su enrutamiento pertinente, los enrutadores se pueden configurar en los diferentes protocolos que nos ofrece live-cd lanforge con Xorp y demás utilidades que lo conforman, como traceroute que se usará para demostrar el recorrido entre los saltos, en este caso los enrutadores virtuales. (Technologies, 2010) 1) Utilizar Netsmith que es un configurador grafico para routers virtuales sobre linux) para crear cinco enrutadores virtuales A) Desde la interface lanforge, hacer click en el botón netsmith. 45 Figura 25: click netsmith (Autor) B) Click derecho en el panel y seleccionar new router “nuevo enrutador”. Figura 26: nuevo router (Autor) C) Se da click en el recuadro use OSPF “usar OSPF” y aceptar. 46 Figura 27: usar OSPF (Autor) D) A continuación se crearan 4 enrutadores virtuales más. Figura 28: routers creados (Autor) E) Luego se dará click en apply “aplicar”. Para obtener más información sobre la interfaz netsmith. http://www.candelatech.com/lfgui_ug.php#vr (Technologies, 2010) 47 Figura 29: aplicar routers (Autor) 2) Crear 4 conexiones Netsmith para vincular todos los enrutadores virtuales de OSPF. A) Haga click derecho en el panel y seleccione new connection “nueva conexion”. Figura 30: nueva conexión (Autor) 48 B) Se hace click a la casilla Wanlink skip y damos aceptar. Figura 31: Wanlink skip (Autor) C) Se crean tres conexiones más Netsmith Figura 32: conexiones Netsmith (Autor) 49 D) Después de crear las conexiones Netsmith, se da click en el botton apply “aplicar” Figura 33: Netsmith ok (Autor) 3) Asignar direcciones IP a cada extremo de cada una de las cuatro conexiones Netsmith. A) Haga clic derecho en rddVR0 y seleccione Modificar puerto. Figura 34: modificar puerto (Autor) 50 B) Establecer rddVR0 a 10.0.0.1/30 y seleccione Aceptar. Figura 35: IP rddVR0 (Autor) C) Haga clic derecho en rddVR1 y seleccione Modificar puerto. Figura 36: Modify port (Autor) D) Establecer rddVR1 a 10.0.0.2/30 y seleccione Aceptar. 51 Figura 37: IP rddVR1 (Autor) E) Repita los pasos anteriores para completar la siguiente: - rddVR2 es 11.0.0.1/30 y 11.0.0.2/30 es rddVR3 - rddVR4 es 12.0.0.1/30 y 12.0.0.2/30 es rddVR5 - rddVR6 es 13.0.0.1/30 y 13.0.0.2/30 es rddVR7 Figura 38: direccionamiento IP completo (Autor) 52 4) Arrastre cada extremo de una conexión Netsmith en un router virtual para configurar la red. A) Configuración arrastrando las interfaces en los routers virtuales especificados: - rddVR0 en R0 y R1 en rddVR1 - rddVR2 en R1 y R2 en rddVR3 - rddVR4 en R2 y R3 en rddVR5 - rddVR6 en R3 y R4 en rddVR7 Figura 39: interfaces routers (Autor) 53 B) Haga clic en cada Wanlink (barra roja) y seleccione Toggle Wanlink (cambio de barra de color verde). Figura 40: Toggle Wanlink (Autor) C) Después de todas las interfaces se mueven y Wanlinks comenzaron, seleccione Aplicar en la ventana Netsmith. Figura 41: Wanlinks run (Autor) 54 5) Asignar direcciones IP y gateways por defecto para cada uno de los cuatro interfaces físicas. A) Haga clic en cada interfaz y seleccione Modificar puerto. Figura 42: Modificar puerto (Autor) B) Configuración de las siguientes direcciones IP y gateways por defecto Dirección IP es eth1 172.16.0.101/24 y por defecto GW es 172.16.0.1 Dirección IP eth2 es 172.16.0.1/24 y por defecto GW es 172.16.0.1 Dirección IP eth3 es 192.168.0.1/24 y GW por defecto es 192.168.0.1 Dirección IP es eth4 192.168.0.104/24 y GW por defecto es 192.168.0.1 55 Figura 43: Configuracion IP y Gateways (Autor) C) Arrastre eth2 en R0 y eth3 en R4, a continuación, aplicar los cambios. Figura 44: eth2 en R0 y eth3 en R4 (Autor) Nota: En este ejemplo, se utilizan cuatro interfaces físicas. eth1 y eth2 están conectados físicamente con un cable, al igual que eth3 y eth4. Esto nos permite utilizar eth1 y eth4 para inyectarle tráfico entre sí a través de la red interconectada por eth2 y eth3. 6) Aplicar todos los cambios en Netsmith, dar a OSPF tiempo de convergencia, observar tablas de enrutamiento. 56 A) Después de aplicar todos los cambios Netsmith, haga clic en un router virtual y seleccione Mostrar tabla de enrutamiento. (Antes de OSPF converge, sólo se muestran las redes conectadas directamente.) Figura 45: Tabla de enrutamiento (Autor) B) Después de OSPF converge, cada router virtual tiene una tabla de enrutamiento completa para toda la red. Figura 46: Tabla de enrrutamiento completa (Autor) Nota: Si selecciona Netsmith Aplicar de nuevo, esta se reiniciará todos los enrutadores virtuales y OSPF necesitará tiempo para converger de nuevo. 7) Método alternativo para observar las tablas de cada router virtual de enrutamiento. 57 A) Con los enrutadores virtuales OSPF, usted puede hacer clic derecho en un router virtual y seleccione “Virtual Router Console” para abrir la Shell XORP subyacente para el enrutador virtual. Figura 47: OSPF (Autor) B) Una vez en el intérprete de comandos XORP, escriba lo siguiente para mostrar la información de la tabla de enrutamiento: Show route table ipv4 unicast final Figura 48: información tabla de enrutamiento (Autor) 8) Use traceroute para atravesar los cinco saltos. A) Abra una ventana de terminal en el sistema LANforge. 58 Figura 49: Terminal linux (Autor) B) Escriba el siguiente comando en el indicador(traceroute -i eth1 13.0.0.2): Figura 50: eth1 interfaz de salida (Autor) C) Observe los resultados de cada salto en la red. Figura 51: resultados saltos en red (Autor) D) Traceroute desde eth4 con este comando (traceroute -i eth4 10.0.0.1). 59 Figura 52: Traceroute desde eth4 (Autor) 9) Generar tráfico LANforge través de la red multi-hop Nota: para poder visualizar el tráfico se necesita tener las licencias wanlink, la informacion se puede encontrar en [email protected] o en su portal web http://www.candelatech.com, la version gratis es didactica y no permite generar tráfico, esta guia se hizo de acuerdo a la información encontradad en la pagina, esto no se pudo probar debido a que se necesitaba la licencia. A) Ir a la pestaña Layer-3 y seleccione Crear. Figura 53: Layer-3 (Autor) B) Establecer Punto-A para usar eth1 y Punto-B para usar eth4. 60 Figura 54: modify cross connect (Autor) C) Inicie la conexión Layer-3. Figura 55: Layer-3 (Autor) D) Se puede visualizar como el tráfico que fluye a través de la red multihop bajo enrutadores virtuales con protocolo ospf y usando XORP. 61 Figura 56: Trafico OSPF (Autor) 4.5.1 Guía 2: uso de xorp y configuración de protocolos En esta guía se pretende mostrar la ejecución de xorp corriendo un .boot que nos ofrece la aplicación, de cualquier protocolo pre configurado con el fin de que el usuario tenga una guía ilustrando los diferentes comandos de xorp, configurando interfaces nuevas o modificando las ya existentes dentro de cualquier protocolo. Nota: Los archivos .boot que nos ofrece xorp son el punto de referencia para la configuración, ya que en ellos se encuentran los protocolos pre configurados y de más utilidades que sirven como punto de inicio, ya que estos se deben acoplar al direccionamiento y las interfaces en la que se va a usar el protocolo. 1. El comando Xorp_rtrmgr permite inicializar el protocolo como un demonio en ejecución para así hacer uso del protocolo en la plataforma xorp, este comando debe ser usado en la carpeta rtrmgr situada en las carpetas de xorp, haciendo uso del comando xorp_rtrmgr –h para ver los distintos tipos de ejecución del comando y sus funciones como se ve en la siguiente figura: 62 Figura 57: comandos xorp_rtrmgr (Autor) A continuación se dará una descripción de las opciones más relevantes. -b para especificar al binario la ubicación del archivo de configuración .boot -d ejecutar modo daemon: ejecuta en segundo plano. -i permite dar la ubicación del finder para así hacer las solicitudes de los llamados. -p cambiar los puertos por defecto 19999 de los llamados. -v imprimir información de las acciones. En el recuadro inferior se muestra cuando iniciamos xorp sin darle un archivo .boot, las opciones por defecto que habilitan la ubicación, las extensiones de estos archivos son .boot, .xif, .tp, donde los dos últimos archivos son creados por un conocedor en programación, ya que son procesos de creación y modificación de protocolos. 2) Iniciación de xorp con protocolo de .boot de arranque Para inicializar xorp con un protocolo .boot solo debe situar en la carpeta de xorp rtrmgr/config que está en las carpetas de xorp, hay se usa el comando ls y se visualizan los protocolos pre configurados que se encuentran en la carpeta. 63 Figura 58: Protocolos preconfigurados .boot (Autor) Estando hay ya se podrá ejecutar el xorp, pero se debe dar la ubicación del archivo .boot que desea correr, los archivos .boot pre configurados de xorp se encuentran en la carpeta de xorp/rtrmgr/config/, sabiendo esto y estando ubicados en la carpeta rtrmgr, se procede a dar el comando xorp_rtrmgr – b (el archivo de configuración prediseñado que desee ejecutar).boot ya que estamos situados en la misma carpeta se ejecuta xorp. Nota: para esta práctica se usó el bgp.boot. Figura 59: bgp.boot (Autor) 64 Xorp tiene ejecutando el protocolo, ahora abrimos otra terminal y ejecutamos el comando xorpsh como super usuario y da la bienvenida a xorp modo operativo. Figura 60: XORP modo operativo (Autor) Tecleando el símbolo “?”, se despliega un listado de comandos de los cuales se dará una descripción a continuación de los comandos más relevantes y la figura de esta opción: Configure: cambia a modo configuracion. Ping:hace ping a una interfaz de red. Ping6: hace ping a una interfaz con ip6 Show:muestra informacion acerca del sistema. Test: testea operaciones . Figura 61: comando "?" (Autor) 65 Se ingresa al modo configuracion con el comando configure, alli´ se teclea el simbolo ? y procedera a mostrar todos los comandos disponibles en el modo configuracion, como se muestra en la siguiente imagen: Figura 62: comandos modo "configure" (Autor) los comandos mas relevantes son: Commit: sirve para guardar la configuracion de interfacez creada o modificada Edit: edita la informacion de la interfaz o modificar direccion ip . Set: crea interfacez nuevas con su direccionamiento ip Show: muestra la configuracion del protocolo y las interfaces creadas Save: guarda la configuracion creada Delete: borra una interfaz de red específica. El comando “show” se usa para visualizar la configuración que se está ejecutando en el archivo .boot, a la cual se le puede configurar nuevas interfaces de red o hacerle modificaciones a las ya existentes. En la siguiente figura se muestra el bgp.boot, que se toma como ejemplo para la guía. 66 Figura 63: Visualización de protocolo en ejecución (Autor) Figura 64: Visualización de protocolo en ejecución 2 (Autor) 67 Tecleando ctrl+c para salir, ya teniendo una idea de cómo están establecidas las interfaces en el protocolo. Para crear una interface nueva, se hace uso del comando set, cabe agregar que xorp con su CLI es muy minucioso en cuanto la ayuda que presta en la introducción de cada parámetro de una interface, ya que después de teclear cada comando se presiona la tecla tap (tabulador) y el dirá que parámetro o que comando se puede ejecutar después del ya escrito como se muestra en la siguiente imagen: Figura 65: Ayuda con tecla TAP (Autor) Nota: con estos comandos como lo son fea, firewall, protocols, son comandos para usuarios más avanzados de xorp, como una persona que desee crear un protocolo nuevo y hacer pruebas. Ahora se procede a crear una interface nueva dentro del .boot que está en ejecución, la manera es set interfaces interface se oprime la tecla tap para ver las interfaces disponibles a configurar en el protocolo, en este caso está disponible dc0. 68 Figura 66: interfaces disponibles (Autor) Se notifica la que será la interface dc0 y se oprime la tecla tap, se podrá ver la serie de comandos que se puede hacer uso después de este parámetro, esto se ve reflejado en la siguiente figura: Figura 67: comandos para interface (Autor) 69 A continuación se muestran la descripción de las opciones más relevantes: Default-system-config: recuperas los valores por defecto del sistema. Disable: deshabilita una interfaz de red. Mac: Damos dirección mac a una interfaz. Vif: Configura una interfaz virtual. Vid: Identificador de id de las interfaces virtuales El comando “vif” se usa para crear una interfaz virtual y luego se especifica la interfaz de red en este caso dc0, con su dirección ip y con el tamaño de la subnet. La ip se debe poner de acuerdo a la interfaz que se desee configurar y a la configuración de red a la cual la persona va implementar el proceso, además teniendo en cuenta el protocolo que se va implementar y su direccionamiento, en esta guía se usa una ip cualquiera con el fin de visualizar la creación de una interface de red. En la siguiente figura se muestra el comando completo para la creación y configuración de la interface: dc0 es set interfaces interface dc0 vif dc0 address (ip) prefix-length 24 Figura 68: configuracion de una interface (Autor) 70 Con el comando show podemos visualizar el protocolo y la nueva interface de red que fue creada con éxito. Figura 69: protocolo con interface creada (Autor) Para modificar una interface de red se usa el comando edit interfarces interface dc0 vif dc0 address (la nueva ip que deseamos asignar) prefix-length 24, procederá a hacer el cambio en la interfaz seleccionada en este caso dc0. Figura 70: modificación de interface (Autor) 71 Con el comando show se visualiza como la interface ha cambiado su dirección. Figura 71: visualización configuración editada (Autor) Para salir del modo configuración se usa el comando exit para salir del Cli xorpsh. 72 4.5.2 Guía 3: instalación de máquinas virtuales y puesta en marcha de XORP Practica con Xorp, puesta en funcionamiento de una red simulada con máquinas virtuales a través de Oracle virtualbox, con el fin de probar los protocolos que nos brinda Xorp, en esta guía se configurara el protocolo ripV2. Los componentes de la práctica son: 1) El pc anfitrión es un equipo con sistema operativo fedora 13, con interfaces universal driver TUN/TAP que son interfaces de red por software las cuales actúan como tarjetas de red de la capa 3 del modelo OSI. 2) Oracle virtualbox con cuatro máquinas virtuales con las siguiente distribución. A) 2 máquinas virtuales con Fedora 13 con xorp instalado máquinas que actuaran como enrutadores, esta distribución de Linux se puede obtener en el siguiente enlace https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/13/F edora/i386/iso/ (Fedora, 2014) B) 2 máquinas virtuales con Linux peppermint las cuales harán la labor de clientes de esos dos enrutadores, esta distribución de Linux se puede conseguir en el siguiente enlace http://peppermintos.com/ (peppermint, 2014) En la siguiente figura se observa cómo quedará el esquema de la red: 73 Figura 72: Esquema de red (Autor) Esta práctica se compone de unas metas concretas con la finalidad de realizar una correcta instalación de red para simular protocolos de enrutamiento proveidos por xorp. 3) Instalación de interfaces TUN/TAP en el equipo fedora 13 anfitrión donde residen las máquinas virtuales. Nota: En la versión de fedora 13 recién instalada, se encuentra un error a la hora de bajar actualizaciones y repositorios, para la corrección de este error, a continuación se explicara la corrección de enlaces de conexión de fedora 13 con las actualizaciones y repositorios. A) En la máquina anfitrión se ingresa a la terminal, se accede como root, luego se escribe el comando yum clean all y luego el siguiente comando: nano /etc/yum.repos.d/fedora.repo y abrirá el fichero donde están los enlaces de actualización modificamos, los enlaces que digan https se les borra la “s” y se guardam con el fin de que queden como en la siguiente imagen. 74 Figura 73: actualización repositorios (Autor) B) Luego se ingresa en el siguiente comando nano/etc/yum.repos.d/fedora-updates.repo, con el fin de corregir los enlaces de actualización de este fedora, ya que presenta el mismo problema que el anterior. En los enlaces que dicen https les borramos la “s” y guardamos, deberá quedar como en la siguiente imagen. 75 Figura 74: corrección enlaces de actualización (Autor) Una vez hecho esto se pueden bajar las actualizaciones y los repositorios necesarios para la práctica. C) En la máquina anfitrión se ingresa a la terminal y se logea como root, luego el comando yum install tunctl para así bajar el repositorio que permite crear las tarjetas de red TUN/TAP. Figura 75: Instalación TUN/TAP (Autor) D) Teniendo el repositorio instalado se procede a crear el script para crear tres tarjetas de red TUN/TAP, que servirán de puente entre las 76 máquinas virtuales, se escribe el comando nano config-tasp.sh y se abrirá el mismo archivo para ser configurado como se ilustra en la siguiente figura. Figura 76: Script TUN/TAP (Autor) Aquí se puede crear el script de las tarjetas TAP en la máquina anfitrión, el script utilizado para esta red está presente a continuación. Tap _up () { # en la siguiente fraccion de codigo se creara una interfaz tap00 Tunctl –t tap00 root Ifconfig tap 00 $tap00ip netmask 255.255.255.0 up # se crea interfaz tap22 Tunctl –t tap22 –u root Ifconfig tap22 $tap22ip netmask 255.255.255.0 up # se crea interfaz tap11 Tunctl –t tap11 –u root Ifconfig tap11 $tap11ip netmask 255.255.255.0 up Echo”1”>/proc/sys/net/ipv4/ip_forward Ifconfig –a } If[[$EUID –ne 0 ]]; then Echo”Debe correr el script como superusuario” 1>&2 77 Exit 1 Else Case “$1” in Start)printf”digite la dirección ip de la interdace tap11:” Read tap00ip Printf”digite la dirección ip de la interface tap 22:” Read tap02ip Printf”digite la dirección ip de la interface tap11:” Read tap01ip Tap_up ;; Stop) Tap_down ;; *) Echo”Usage:$0 {start|stop}” ;; Esac Fi Exit0 E) Luego que el este script guardado se ingresa en la terminal como super usuario , se escribe ./config-taps.sh para darle las ip a los TAPS a las cuales le corresponden las siguientes ip: TAP00:140.50.10.0 TAP02:140.60.10.0 TAP01:140.40.10.0 Deberá quedar como en la siguiente imagen: 78 Figura 77: IP TUN/TAPS (Autor) Ya con esto se tienen creadas las tarjetas virtuales TUN/TAP para enlazar las máquinas virtuales en Oracle virtualbox. F) Conexión de las TAP a las máquinas virtuales y configuración de la red. Nota: El programa virtual box permite adjuntan nuevas conexiones a las máquinas virtuales, donde se debe seleccionar la primera máquina virtual, a esta darle click derecho selecciona configuración y red, ahí se puede anexar los adaptadores a las máquinas virtuales, modo de habilitar los adaptadores fue “Bridged adapter” el tipo de adaptador fue INTEL PRO/1000 Desktop. A continuación se muestra la forma en que se conectó la red máquina virtual con su respectivos TAP: Fedora1xorp: TAP00 MAC:08002746ABB1 TAP02 MAC:0800274C59EE Peppermint1: TAP02 MAC:080027E73A1D Fedora2xorp: TAP00 MAC:080027A5AC5 TAP01 MAC:0800274C59EE Peppermint2: TAP01 MAC:08002749918A En la siguiente imagen de muestra como debe ser la configuración: 79 cada Figura 78: configuración máquinas virtuales (Autor) G) Configuración de las interfaces en cada máquina virtual. Una vez hecho esto se procede a encender la máquina virtual fesora1xorp con el fin de configurar la interfaces, el proceso de configuración tiene que ser muy exacto ya que debe configurar la interface asignando la ip correspondiente a la mac, en la siguiente imagen se observa que la mac de el adaptador tap00 fue asignada a la interfaz de red eth3 a lo cual se le debe asignar una ip del orden de 140.50.10.XX, ejecutar esto con cada una de las maquinas: teniendo una conexión exitosa la maquina fedora1xorp deberá quedar correspondiente como se muestra a continuación: Figura 79: Asignación de ip a mac adecuada (Autor) 80 Figura 80: Conexión exitosa (Autor) H) Luego se inicia la máquina virtual peppermint1, para configurar la interfaz de red perteneciente a esta máquina virtual, se ingresa a el menú de configuraciones de red y se crea una nueva conexión, esta deberá quedar de la siguiente manera: Figura 81: Configuración pepermint1 (Autor) I) Una vez creada se procede a revisar en el terminal que haya quedado configurada correctamente con el comando ifconfig. 81 Figura 82: Verificación direccionamiento (Autor) J) Una vez configurada la interfaz se usa el comando ping con cada una de las interfaces de la otra máquina virtual que tiene conexión, los cuales son eth3 y eth2 de la máquina virtual fedora1xorp, a continuación se muestra los ping exitosos entre las 2 conexiones. Figura 83: Ping exitoso (Autor) 82 Una vez hecho se hace la configuración de la otra parte de la red, la cual es bastante similar a lo hecho anteriormente. K) Se ingresa a la máquina virtual ferdora2xorp y se configura la red cuidadosamente, siempre llevando como referencia la mac de la interface de red, la conexión debe quedar de la siguiente manera: Figura 84: Configuración fedora2xorp (Autor) L) Después de configurar las interfaces de red en la máquina virtual fedora2xorp, se procede configurar la interfaz en la máquina virtual cliente que sería la peppermint2, la cual debería quedar ser de la siguiente manera: 83 Figura 85: Configuración pepermint2 (Autor) Se comprueba que la conexión fue creada exitosamente, debería quedar como se muestra a continuación: Figura 86: Configuración exitosa (Autor) M) Luego de crear la interfaz se prueba la conexión de esta parte de la red que tiene comunicación con la máquina virtual fedora2xorp la cual se 84 comunica con los puertos eth0 y eth1, con el comando ping para comprobar la conexión deberá resultar como en la siguiente imagen: Figura 87: Prueba conexión (Autor) Una vez con todo el sistema conectado se ingresa a la carpeta de xorp para ver los archivos .boot pre-configurados que ofrece la aplicación, se ha modificado el rip.boot creando un ripx.boot el cual está hecho en función de la red que se diseñó y teniendo en cuenta el funcionamiento del protocolo. Esta carpeta se encuentra donde está instalado xorp, en nuestro caso, danielr/Descargas/xorp-1.5/rtrmgr/config, hay reside ripx.boot que es el protocolo rip ya configurado acorde a la red diseñada. N) Usando el comando Xorp_rtrmgr –b (ubicación del archivo .boot) , para inicializar el demonio de xorp y ponerlo en ejecución con el protocolo ripx.boot como se muestra a continuación: 85 Figura 88: Demonio XORP (Autor) O) Ya teniendo xorp con el protocolo en ejecución se abre otra terminal y se ingresa a la CLI de xorp, tecleando xorph donde dará la bienvenida a xorp. Figura 89: CLI XORP (Autor) Dentro de XORP con el comando configure y luego show, mostrara que está corriendo con la configuración de ripx.boot exitosamente dentro del sistema de la red. 86 Figura 90: .boot (Autor) Figura 91: .boot siguiente (Autor) Nota: Dentro del script .boot se pueden hacer modificaciones a las interfaces de red o crear nuevas conexiones entre ellas. La plataforma xorp es una invaluable fuente de comprensión, creación e implementación para los protocolos, puesta en marcha de sistemas de red y su direccionamiento con el uso de interfaces. 87 5. CONCLUCIONES Y RECOMENDACIONES A) En cuanto a investigaciones en el campo de enrutamiento, XORP es una gran herramienta gracias a que permite extender procesos modificados o crear nuevos, es una arquitectura modular que lo hace sobresalir de otros proyectos de software libre o propietario. B) Las herramientas libres virtualizadas como XORP, ofrecen una valiosa alternativa la cual se puede explotar para así aportar investigaciones o configuraciones nuevas, logrando avances con el fin de que en un futuro se puedan implementar entre varias redes reales. C) XORP al ser una herramienta se software libre extendible ofrece una gran cualidad, pero lleva inherentemente un grado de complejidad ya que en la producción de un nuevo protocolo, se debe tener un grado medio alto de programación. D) La emulación de pequeñas redes para probar protocolos de enrutamiento de XORP permite asociarse con el modo de configuración y operación de la plataforma de enrutamiento, cuando XORP este en un ambiente de producción se hará fácil y rápido la aplicación de protocolos. E) Se pudo proveer un documento de fácil acceso para el entendimiento de XORP, tendiendo en cuenta que la información es escasa y dificil de entender, se lograron objetivos importantes con lo que se investigó, ya que en la universidad no hay expertos para apoyo en la parte de configuración de XORP en linux. F) Las guías de configuración de máquinas virtuales, instalación y creación .boot para protocolos de XORP, serán una gran herramienta para futuras investigaciones. G) El uso más constante de sistemas operativos sobre Linux, otorgaría una gran ventaja a la hora de hacer configuraciones con herramientas gratuitas que ofrecen cualidades similares o superiores en algunos casos. 88 6. REFERENCIAS BIBLIOGRAFICAS Egea Chueca, H., & Morato , D. O. (1 de septiembre de 2011). http://academicae.unavarra.es/. Obtenido de http://academicae.unavarra.es/bitstream/handle/2454/4170/577592.pdf?sequence=1 Academy®, C. N. (2011). Guía Portátil Cisco CCNA Exploration Conceptos y protocolos de enrutamiento. Cisco Networking Academy®, 5, 6. Ana Cavalli, T. G. (2006). Implementation Analysis of MSP. cisco. (5 de marzo de 2013). http://www.cisco.com. Obtenido http://www.cisco.com/web/ANZ/cisco-live/attend/hot_topics/sdn.html de Cisco, G. P. (2011). CCNA Exploration: conceptos y Protocolos De Enrrutamiento, version 4.0. Dordoigne, J. (s.f.). redes informaticas. EDDIE KOHLER, R. M. (1999). The Click Modular Router. Laboratory for Computer Science, MIT, 1-2-8. Fedora. (2014). fedora 13. pereira. hancock, M. A.-W. (2002). comunicacion entre computadores y tecnologias de red. MEXICO: S.A. EDICIONES PARANINFO . Handley. (30 de noviembre de 2000). http://whatis.techtarget.com. Obtenido de http://whatis.techtarget.com/definition/XORP-Extensible-Open-RouterPlatform Handley, M. (11 de enero de http://en.wikipedia.org/wiki/XORP 2012). wikipedia.org. Obtenido de Herrera. (2003). Tecnologias y redes de transmision de datos. BALDERAS MAXICO: LIMUSA, S.A. de C.V. James F. kurose, K. W. (2010). Redes de computadoras Un enfoque descendente 5 edición. columbia: PEARSON. Jaramillo Ortiz , O. (2007). http://www.cib.espol.edu.ec. Obtenido http://www.cib.espol.edu.ec/Digipath/D_Tesis_PDF/D-36560.pdf Marquez, J. B. (abril 2005). Transmision De Datos,Tercera Edicion. venezuela. Mathon, P. (s.f.). TCP/IP entorno windows 2000. 89 de Maysam Yabandeh, A. A. (2011). Finding Almost-Invariants in Distributed Systems. IEEE International Symposium on Reliable Distributed Systems, 177-178. nongnu.org/quagga/. (2000). quagga. Recuperado el 4 de octubre de 2014, de quagga: http://www.nongnu.org/quagga/ peppermint. (2014). peppermint. pereira. Pérez, E. H. (s.f.). Introducción a las telecomunicaciones modernas. Peterson, L. L. (2003). Computer networks (3ªed). . Morgan Kaufmann. Priyanka Sharma, S. N. (2007). Priority based Scheduling of Multimedia Traffic on Real Time Linux. International Conference on Computational Intelligence and Multimedia Applications , 225-226. Qiang Guo, Z. X. (2009 Asia-Pacific Conference on Information Processing). Research and Implementation of Distributed Access Control and Traffic Statistics. pág. 4. R, M., & Richard Allan. (2003). introducction to notworking. Mc graw. Ramkumar Cherukuri, X. L. (2011). Network Virtualization in GpENI: Framework, Implementation & Integration Experience. IFIP/IEEE Workshop on Management of the Future Internet, 1216-1217. Stallings, W. (2004). comunicaciones y redes de computadores 7 Edición. Madrid: PEARSON EDUCACIÓN, S. A. Swati Sinha Deb, A. M. (2007). Closing the Loop for Dynamic IP QoS Provisioning: A case study. 32nd IEEE Conference on Local Computer Networks, 368369. TANENBAUM, A. (2003). Redes de computadoras (4 ed.). mexico. Tanenbaum, A. S. (2003). EDUCACION. Redes de computadoras. Mexico: PERSON Technologies, C. (2010). XORP LANforge. usa. Velasco, F. (s.f.). Protocolos de enrrutamiento. Obtenido de imaginar.org: http://www.imaginar.org/ngn/manuales/P_protocolos_enrutamiento.pdf Vyatta. (6 de marzo de 2006). http://money.cnn.com. Obtenido de http://money.cnn.com/2006/03/03/magazines/business2/telecomopensource / 90 vyattawik. (2006). http://vyattawiki.net/wiki/Main_Page. Recuperado el 4 de octubre de 2014, de vyatta: http://vyattawiki.net/wiki/Main_Page wikipedia. (s.f.). https://es.wikipedia.org. https://es.wikipedia.org/wiki/Direcci%C3%B3n_IP Obtenido de Xiaohua Shi Maozhong Jin, B. Q. (2008). Design a High-Performance Just-In-Time Compiler for a J2ME JVM on XScale. International Conference on Embedded Software and Systems, 439-440. ximhai. (s.f.). http://ximhai.com. Obtenido de http://ximhai.com/blog/que-es-una-ipb25x xorp. (s.f.). http://www.xorp.org/. http://xorp.run.montefiore.ulg.ac.be/start Obtenido de xorp.org. (9 de marzo de 2011). xorp. Recuperado el 5 de noviembre de 2014, de http://xorp.run.montefiore.ulg.ac.be/latex2wiki/xorp_rtrmgr xorp.org/. (2008). http://www.xorp.org/. Recuperado el 11 de octubre de 2014, de http://www.xorp.org/: http://www.xorp.org/ Yue Li, J. L. (2008). Toward Scalable Routing Experiments with Real-Time Network Simulation. Workshop on Principles of Advanced and Distributed Simulation, 23-24. 91