Presentación sobre "Routers comerciales y alternativas opensource / Hardware" para virtualizar routers.
Material cedido a la rama de estudiantes del IEEE de Málaga por Jesus M. Cruz. De acceso público.
Enlace del autor:
http://www.lcc.uma.es/contenidos/informacion_personal.action?id=25
2. Contenidos
Presentación de un router
Routers comerciales
Routers software de código abierto
o XORP
o Vyatta
Redes caseras: virtualización de routers
o Dynamips/Dynagen/GNS3
Routers de hardware abierto
o NetFPGA
o OpenFlow
3. Lo básico: el modelo OSI. Niveles, interfaces y
protocolos
3
5. Misión del router IP
1. Recibe una trama destinada a su dirección física (ejemplo MAC),
pero con una IP distinta a la suya
2. Inspecciona la tabla de encaminamiento para determinar por dónde
enviar el datagrama
3. Modifica la dirección MAC origen de la trama, eliminando la original
del emisor y reemplazándola por la MAC del interfaz de salida del
router
4. Modifica la dirección MAC destino de la trama, insertando la
dirección MAC del próximo nodo de salto
5. Decrementa en 1 el campo TTL de la cabecera IP
6. Recalcula los checksums del datagrama IP y de la trama de nivel
dos (en este orden)
7. Coloca la trama en la cola del interfaz de salida correspondiente 5
6. Enrutamiento
La tabla de encaminamiento se compone de una serie de entradas de la siguiente
forma:
RED MÁSCARA PASARELA INTERFACE
172.16.14.32 255.255.255.224 172.16.14.133 le1
Existe una opción de Red por defecto (default) que se elige en el caso de que no cumpla
ninguna de las demás entradas.
Cuando el acceso es a la misma subred se pone en la pasarela el valor “directo”
6
7. ¿Quién gestiona las tablas?
El administrador de forma manual
De forma distribuida utilizando protocolos de
encaminamiento
o Cada interred se trata como un sistema autónomo (AS)
con sus propios algoritmos de encaminamiento y
autoridad gestora
o Por eso se distingue entre encaminamiento interior y
exterior:
• IGP (Interior Gateway Protocol) funciona en un AS
• EGP (Exterior Gateway Protocol) funciona entre varios AS
7
8. Sistemas autónomos
3c
3a 2c
3b 2a
AS3 2b
1c
1a AS2
1b AS1
1d
La tabla de
Intra-AS
Routing
Inter-AS
Routing
encaminamiento se
algorithm algorithm configura teniendo
Forwarding
en cuenta la
table información de los
protocolos intra- e
inter-SA
9. Los routers reales...
No solo trabajan a
nivel 3 (IP)
o NAT/NAT de
puertos
o DHCP
o Protocolos de
encaminamiento
o Configuración
web
o ...
10. Velocidad, velocidad, velocidad...
Routers troncales: enlaces de 2,5 Gbps con paquetes de 256 bits ->
~1.000.000 de busquedas por segundo!!!
Estructura de la tabla como árbol para facilitar las búsquedas en
función de la IP destino (múltiples optimizaciones propuestas y
estructuras de datos)
Ayuda tener cachés (de consultas frecuentes)
Ayuda tener la tabla en cada puerto de entrada (si se pasan a un
procesador central puede haber cuello de botella)
12. Terminología común
IOS: Internetwork operating system (imágenes o firmware del
router)
CLI: Command line interpreter (comandos de consola de
configuración del router)
13. Componentes de un router
CPU
RAM
NVRAM (ficheros de configuración de arranque)
Flash (IOS y ficheros de backup)
DISIPADORES
ROM (BIOS)
Consola (interfaz de administración)
Interfaces (puertos de comunicaciones)
ALIMENTACIÓN REDUNDANTE
(5,6): PERFORMANCE ROUTER ENGINE
17. Parte del Máster en Telemática
y Redes de Telecomunicación
clientes: VPN INTERNET
con contivity
para acceso remoto
IP publica
router contivity
IP privada
Servidores Web
routers core
(fam.8600)
familia 5500
switch/routers acceso
Red corporativa
19. Procesado de tablas con demonios Unix
Se gestionan a nivel de aplicación mediante procesos
demonio:
o routed para IGPs (RIP)
o gated para IGPs y EGPs (RIP, OSPF, BGP)
o zebra/quagga (interfaz de comando similar a un CLI)
Se utiliza UDP para los paquetes RIP y TCP para BGP
Network Layer
20. El primer router modular: Click
Eddie Kohler. Ph.D. thesis, MIT, November 2000
21. Click!
C/C++, licencia MIT/BSD
Módulo de kernel de linux y FreeBSD con optimizaciones
http://read.cs.ucla.edu/click/elements
Throughput:
456.000 p/s con ocho
tarjetas fast ethernet
en un Pentium III 700 MHz
30. Virtualización: tipos
Emulación de hardware: Se basa en crear máquinas
virtuales que emulan el hardware de una o varias
plataformas. Es la más costosa y menos eficiente, ya que
obliga a simular completamente el comportamiento de la
plaforma hardware a emular.
Virtualización de sistema operativo: Basada en que el
kernel del sistema operativo realiza la ejecución de una única
instancia del sistema operativo invitado. Los distintos
procesos de cada sistema operativo virtual se ejecutarán de
forma aislada.
Paravirtualización: Los sistemas operativos invitados están
modificados para ejecutarse en el hipervisor.
Virtualization total: El sistema operativo invitado se
ejecuta sobre el sistema operativo nativo, que actúa como
hipervisor.
31. Software de virtualización
VMware Workstation, Server
XenServer
Microsoft Virtual PC
Windows Server 2008 R2 Hyper-V
Oracle VirtualBox
Parallels Desktop
Mac-on-Linux
Win4BSD
Win4Lin Pro
Qemu/KVM (optimización para Linux invitados)
32. Routers virtuales
Si el firmware del router se ejecuta sobre una
plataforma estándar se puede virtualizar
o XORP, Vyatta, OpenWrt
o Son routers software (para redes pequeñas de
prestaciones bajas o medias)
En otro caso, re requieren emuladores especiales
como hypervisores
o Dynamips para Cisco y Juniper
33. Dynamips/Dynagen/GNS3
Dynamips es un emulador de routers Cisco que necesita
ejecutar IOS
Dynagen es un back-end en modo consola para crear y
gestionar topologías de routers emulados con Dynamips
GNS3 es un entorno gráfico que realiza las labores de
Dynagen
35. Integración con otros routers software
A través de Qemu
Se conectan a GNS3 a través de interfaces
TUN/TAP
36. Otros entornos de laboratorio con
routers virtuales
Utilizado en el DIT de la UPM
Arquitectura para gestionar múltiples
máquinas linux en red
o Configuración con XML (topología y comandos)
o Máquinas virtuales basadas en UML
o Muy flexible!
o 100% código abierto
37. Routers de hardware abierto
Más eficientes que los routers software
Permiten ser reprogramados (mediante
fpgas)
NetFPGA
o (Stanford)