[en] This project involves the development of a system for measuring and capturing traffic in multigabit ethernet computer networks, specifically on 10 Gigabit (10 109 bits) per second networks. Its applications are rich and includes network and application monitoring, performance evaluation, network planning or security analysis, amongst others. The starting point is the premise that there are commercial solutions which can operate at 10 Gbps links. However, the main problem is located on the necessary computers for carrying out the activity. Typically, these workstations have a great computing capacity and cost. Looking for a capture balanced prototype, economic and functional, for multigigabit ethernet networks, a hardware system based on programmable devices (FPGAs), particularly in the NetFPGA project, has been implemented. It total costs less than 3100¿. With that aim the development of an own kernel module, data exchange via the PCIExpress system using the Northwest Logic core and the creation of a storage device that ensures multigigabit rate, a level 0 RAID integrated by 8 state solid disks, is required. The bottlenecks of the system are supressed (except for RAID management) in the same way that the processing penalty associated to the TCP/IP stack (due to the FPGA approximation). The memory access is palliated using the huge pages pseudo file system, pages of memory of an unconventional size (greater than 4KB). Using huge pages makes that the transferred size will be greater in each DMA operation. As a differentiator beyond the purely monetary issue, interception of data at the physical layer in the protocol XGMII is possible. Uncertainties associated with the timing disappear when the application itself is responsible for managing the protocol. The exact time of arrival of each frame is known. Linked to the decision of monitoring the data on the physical level, the hardware design can receive packets with CRC errors in the ethernet layer that would otherwise be discarded. The document concludes with the expected theoretical results versus actual results, analyzing the differences between both of them, mainly highlighting the performance of RAID where scalability has not been linear. Several points about future work from the 10G functional capturer design are also exposed where 40G capturer is discussed based on the 10G model.

[es] Este trabajo consiste en el desarrollo de un sistema para la medición y captura de tráfico en redes de ordenadores multigabit ethernet, concretamente sobre enlaces a 10 Gigabits (10·109 bits) por segundo. Sus aplicaciones son variadas y entre ellas se encuentran la monitorización de enlaces, observación de aplicaciones, evaluación de prestaciones, planificación de redes o análisis de seguridad, entre otras. Se parte de la premisa de que existen soluciones comerciales capaces de operar en enlaces a 10 Gbps. Sin embargo, el principal problema localizado es el equipo necesario para la realización de la actividad. Típicamente se trata de estaciones de trabajo de una gran capacidad de cómputo y coste. En un equilibrio por buscar un prototipo de captura en redes multigigabit ethernet económico y funcional se implementa un sistema basado en dispositivos hardware programables (FPGAs), concretamente en el proyecto NetFPGA, por un total inferior a los 3100€. Con dicha finalidad sería necesario el desarrollo de un módulo propio del sistema operativo, intercambio de datos a través del bus PCI-Express del sistema usando la lógica de DMA (ofrecida por el core de Northwest Logic) y la creación de un dispositivo de almacenado que garantice la tasa multigigabit, un RAID de nivel 0 con 8 discos de estado sólido. De esta manera, con un diseño basado en FPGA, se eliminan los cuellos de botella del sistema (salvo por la gestión del RAID) y el procesamiento de la pila TCP/IP. El acceso a la memoria es paliado utilizando páginas de memoria de tamaño no convencional que permitirán la transferencia de regiones mayores en cada operación de DMA. Como elemento diferenciador que impulse la aplicación más allá de la cuestión puramente monetaria, se destaca la interceptación de los datos al nivel de la capa física, en el protocolo XGMII. Las posibles incertidumbres asociadas a la temporización desaparecen al ser la propia aplicación la encargada de gestionar el protocolo, conociendo el momento exacto de llegada de cada trama. Ligado a la decisión de capturar en el nivel físico, se permite recibir paquetes con errores de CRC a nivel ethernet que de otra manera serían desechados. Se concluye presentando los resultados teóricos esperables frente a los resultados reales, analizando las posibles diferencias entre ambos, destacando principalmente el rendimiento del RAID donde la escalabilidad no ha resultado lineal. Varios puntos sobre trabajo futuro a partir del diseño funcional de captura a 10 Gbps realizado son expuestos entre los que cabe destacar el desarrollo de un capturador a 40 Gbps partiendo del modelo presentado.