Upload
exactlimon
View
1.264
Download
0
Embed Size (px)
Citation preview
PROYECTO U2-ROUTE
JHON JAIRO PADILLA A., PhD.
JHONATTAN CORDOBA, candidato a Magíster.
Introducción
• Es apoyado por Colciencias y RENATA
• Entidades desarrolladoras:
– Universidad Pontificia Bolivariana- Bucaramanga
• Grupo GITEL
– Universidad Católica Popular del Risaralda
• Grupo TICs
El problema a solucionar
• En Colombia:– Somos usuarios de las tecnologías de comunicaciones
– No somos desarrolladores de tecnologías de comunicaciones
– Existe un vacío en el conocimiento acerca de cómo construir equipos de Telecomunicaciones, en especial Routers y switches.
– Para hacer investigación de punta en Telecomunicaciones se requieren herramientas para crear prototipos. (Hasta ahora se llega hasta simulaciones y modelamiento matemático)
Objetivo del proyecto
• Construir una herramienta de pruebas que permita crear nuevos mecanismos de tratamiento de los paquetes en los Routers de Internet. Esta herramienta podrá ser operada de forma remota a través de una interfaz web soportada en la infraestructura de RENATA.
Estado del Arte
• Existen dos importantes proyectos en el mundo:
– Universidad Standford (NetFPGA card)
– Universidad de Washington (Open Network Laboratory)
Open Network Laboratory
Universidad de Stanford: tarjeta NetFPGA
• Conector PCI: bus estándar de 32 bits, 33Mhz. Esto permite conectar la tarjeta a un PC.
• 4 Interfaces GbitEthernet (1Gbps)
• Un chip FPGA Virtex-2
• 4 bancos de memoria SRAM y DRAM
Nuestro objetivo:
• Desarrollar una herramienta con la tarjeta NetFPGA para investigación y enseñanza en el área de Routers y switches.
• Desarrollar un sistema remoto para acceder al Router y hacer pruebas a distancia mediante la infraestructura de RENATA.
ROUTER CON NETFPGA
Un Router con NetFPGA
Características de un Router NetFPGA
• 4 puertos Gigabit Ethernet
• Completamente “Programable” (Hardware con FPGAs)
• Bajo costo
• Hardware FPGA open source:
– Diseño basado en Verilog
• Software Open-source:
– Drivers en C y C++
Características de la tarjeta NetFPGA
• Conector PCI: bus estándar de 32 bits, 33Mhz. Esto permite conectar la tarjeta a un PC.
• 4 Interfaces GbitEthernet (1Gbps)
• Un chip FPGA Virtex-2
• 4 bancos de memoria SRAM y DRAM
Características detalladas de la tarjeta NetFPGA-Virtex2-Pro 50 FPGA, con reloj de 125Mhz.-Xilinx Spartan II FPGA que controla la interfaz PCI hacia el Host.-Dos SRAM externas de 18Mbits, organizadas en una configuración de 512Kx36 bits (capacidad total 4.5 Mbytes). Operan de forma síncrona con la FPGA a 125Mhz.-Un banco externo de SDRAM DDR2 organizado en una configuración de 26Mx32 bits (Capacidad total: 64MBytes). Usando ambos flancos de un reloj separado de 200Mhz, la memoria tiene un ancho de banda de 400MWords/s (1600 Mbytes/s ó 12800 Mbps)-Transceptores Broadcom BCM5464SR a Gbps, usando cables UTP categorías 5, 5E o 6. Hay un soft core en la FPGA que es un controlador MAC Ethernet para las 4 interfaces físicas.--2 interfaces con conectores Serial ATA (SATA) que permiten múltiples tarjetas NetFPGA en un sisstema para intercambiar datos directamente sin utilizar el bus PCI.
Ventajas de NetFPGA• Descarga un procesador principal de ciertas tareas.
• El procesador principal (ubicado en el PC) puede utilizar DMA (Direct Memory Access) para leer/escribir registros y memorias de la tarjeta NetFPGA
• NetFPGA provee un camino de datos acelerado por Hardware– Conectividad mediante los 4 puertos a 1Gbps.
– Acceso a bancos de memoria ubicados en la tarjeta
Librerías re-utilizables (NFPs)
• NetFPGA permite descargar de la página principal (www.netfpga.org) diferentes bloques ya construidos (Hardware y Software) con funciones de Networking (NFP- NetFPGAPackages)
Contenido de las NFPs
• Se divide en tres partes:– Gateware (Verilog)– Software del Sistema– Software para pruebas de
regresión
• Las NFPs incluyen:– 1 IPv4 Router,– 1 four-port NIC,– 1 IPv4 Router with Output
Queues Monitoring System,
– the PW-OSPF software that interacts with the IPv4 Router (SCONE),
– and the Router Kit which is a daemon that reflects the routing table and ARP cache from the Linux host to the IPv4 router on NetFPGA.
Opciones de uso de NetFPGA
1. Se pueden descargar las librerías del Routerbásico e instalarlas directamente en la tarjeta NetFPGA. Las modificaciones se hacen en el software del PC para construir protocolos.
2. Se puede descargar el Router básico en la tarjeta NetFPGA y agregar módulos de extensión a la misma (módulos Hardware).
3. Construir un nuevo router con librerías construidas por el usuario-diseñador.
Uso de NetFPGA: Primera opción
• Se descarga e instala un Router IPv4 en la tarjeta NetFPGA.
• El Host Linux utiliza el Software “Router Kit” distribuido con la NFP.
• Router Kit:– Es un daemon de Linux
– Hace un espejo de las tablas de enrutamiento y tablas de ARP del Host en la tarjeta NetFPGA. Esto permite hacer procesamiento a velocidad de línea en la NetFPGA
• El usuario puede modificar los programas en Linux para hacer nuevos protocolos y probarlos.
FPGA
Memory
1GE
1GE
1GE
1GE
Running the Router Kit
User-space development, 4x1GE line-rate forwarding
PCI
CPU Memory
OSPF BGP
My Protocoluser
kernelRouting
Table
IPv4Router
1GE
1GE
1GE
1GE
FwdingTable
PacketBuffer
“Mirror”
Uso de NetFPGA: Segunda Opción
• Descargar y utilizar el hardware original provisto por la NFP• Modificar el hardware agregando módulos extraídos de otras NFPs
o agregando nuevos módulos propios.• Compilar el código fuente en Verilog con las herramientas
estándares• Descargar el bitfile a la FPGA• El nuevo hardware puede complementarse agregando nuevo
software al Host o modificando el existente.• Ejemplos:
– En el Router IPv4, implementar Trie Longest Prefix Match (LPM) Lookup en lugar del existente CAM LPM Lookup, para la tabla de enrutamiento del hardware.
– Modific ar el Router IPv4 para implementar NAT (Network AddressTranslation) o un Firewall.
FPGA
Memory
1GE
1GE
1GE
1GE
Enhancing Modular Reference Designs
PCI
CPU Memory
NetFPGA Driver
Java GUI
Front Panel
(Extensible)
PW-OSPF
In Q
Mgmt
IP
Lookup
L2
Parse
L3
Parse
Out Q
Mgmt
1GE
1GE
1GE
1GE
Verilog modules interconnected by FIFO interfaces
My
Block
Verilog
EDA Tools
(Xilinx,
Mentor, etc.)
1. Design
2. Simulate
3. Synthesize
4. Download
Uso de NetFPGA: Tercera opción
• Construir un nuevo router con librerías construidas por el usuario-diseñador
FPGA
Memory
1GE
1GE
1GE
1GE
Creating new systems
PCI
CPU Memory
NetFPGA Driver
1GE
1GE
1GE
1GE
My Design
(1GE MAC is soft/replaceable)
Verilog
EDA Tools
(Xilinx,
Mentor, etc.)
1. Design
2. Simulate
3. Synthesize
4. Download
Ejemplo: Router Básico
• 5 fases:
– Entrada
– Arbitraje de entrada
– Decisión de enrutamiento y modificación de paquetes
– Encolamiento de salida
– Salida
Ejemplo: Router Ampliado
• Nuevos módulos:
– Limitación de tasas de bits
– Retardos
– Captura de eventos
NetFPGA en la práctica
NetFPGA en la práctica
• Viene en dos presentaciones:– Torre con DVD - Tipo Rack
PC with NetFPGA
Podría tenerse un laboratorio más complejo….
Equipo requerido para el desarrollo
El equipo viene con Linux CENTOS 5.2
Interfaz web “Conexión con router remoto”
Laboratorios Virtuales vs. Laboratorios Remotos
• En el ámbito Internacional
• A nivel nacional
• En la región
E-ciencia y sus campos de aplicación
Redes Académicas de Alta velocidad
• Importancia
• Escenarios
El portal web
Router comercial vs U2-ROUTE
• Cisco
• 3Com
• Huawei
• U2-ROUTE
Funciones del procesamiento de los paquetes
Funciones básicas
• Búsqueda de direcciones y re-envío de paquetes
• Detección y corrección de errores
• Fragmentación, segmentación y re-ensamble
• Demultiplexación de protocolos y tramas
• Seguridad: autenticación y privacidad
Funciones para soportede QoS• Clasificación de paquetes
• Encolamiento y descarte de paquetes
• Planificación y temporización
• Medición de tráfico y control de políticas
• Recorte de tráfico
Entrega de resultados
• Análisis estadístico de la información.
• Presentación de resultados obtenidos mediante gráficas (param. Internos y externos del router).