Proyecto u2 rout-ev2

Preview:

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).