View/Open - Universidad Católica de Pereira

Anuncio
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
Descargar