Implementación hardware de una tabla de ruteo IP

Curso "Diseño Lógico 2"
 
 

Instituto de Ingeniería Eléctrica - Facultad de Ingeniería 

Universidad de la República 

Montevideo, Uruguay 




Introducción
 

 

El crecimiento de las redes de datos, tanto a nivel privado como de Internet, trae aparejado una mayor utilización de los recursos disponibles. Dado que en estos días se puede disponer de grandes anchos de banda, el cuello de botella en el transporte de información se localiza en el ruteo de los paquetes. Los algoritmos de ruteo implementados en software se tornan ineficientes, situación que se puede ver agravada con la aparición de IPv6. Una posible solución a este problema es la implementación de los algoritmos concernientes al ruteo en hardware, aumentando así la velocidad al procesar direcciones y liberando el uso de la CPU.
 

 
 
 

Descripción del proyecto
 

 

El proyecto se basa en un algoritmo del tipo trie, propuesto en la publicación http://www.isoc.org/isoc/conferences/inet/99/

proceedings/4j/4j_2.htm, del cual se implementa la búsqueda e inserción de direcciones. Las mismas constan de 32 bits, son analizadas de a nibble para recorrer el trie.
 

 

Para la implementación se utilizó la placa UP1 de Altera, más especificamente el dispositivo EPF10K20RC240-4 provisto en la misma. La herramienta de desarrollo utilizada es el software de Altera MAX+PLUS IIy la especificación se realizó en lenguaje VHDL.
 

 

Desempeño
 

 

La simulación del circuito deja como resultado una frecuencia máxima de trabajo de 13.75 MHz. La máxima frecuencia de prueba fue de 12.50 MHz, con resultados satisfactorios. Considerando la máxima teórica, se detallan en la siguiente tabla los enlaces que el circuito es capaz de manejar:


 
Tipo de paquete
IPv4, prefijo de 4 bits
IPv6, prefijo de 4 bits
IPv6, prefijo de 8 bits
UDP, peor caso1
374 Mbps
170 Mbps
330 Mbps
paquetes de largo promedio2
1.38 Gbps
507 Mbps
1.1 Gbps

Notas:

1- UDP sobre IP sobre HDLC. Mínimo 34 bytes para IPv4, 54 bytes para IPv6.

2- 100 bytes para IPv4, 120 bytes para IPv6.

Por más detalles, el informe final del proyecto se encuentra aquí.

Sobre los autores
 
Estudiantes: 
Docentes:
Adrián Rancaño, Federico Viñar
Julio Pérez Acle, Juan Pablo Oliver 

Javier Rodríguez, Sebastián Fernández

Página del Instituto