[en] Traffic analysis is an essential part of capacity planning, quality of service assurance and reinforcement of security in current telecommunication networks. As the network speed increases so does the traffic volume and the analysis of large traffic traces is computationally intensive. This document presents a flow extraction software that allows obtaining TCP flow records at 4.4 Millions of packets per second in a single GPU directly from network. Such TCP flow records include number of retransmissions and duplicates per flow, which are very challenging to obtain at high-­‐speed. Other records extracted are flag counters, zero window counters, duration and length of each TCP flow. The software is designed as a pipeline where the packet data is analyzed and compacted in each stage to result in a brief record for each TCP flow after the last stage. Some stages of the algorithm take place in the CPU using pthreads, but the lion's share of the processing takes place in the GPU, freeing CPU cores for other uses. There is also a second program that helps with post-­‐processing. The high performance of the software comes at the price of precision, which is lost due to the implementation of the algorithm and limitations of memory. Our tests show that the loss of precision is small, so this tradeoff makes sense. Our software significantly increases the processing power of the recently proposed high-­‐speed sniffers based on commodity hardware and demonstrates the advantages of applying massively parallel processing devices for traffic analysis.

[es] El análisis de tráfico es esencial para planear la capacidad, calidad de servicio, garantía y refuerzo de seguridad en las redes de comunicaciones actuales. El aumento de la velocidad de red conlleva que aumente el volumen de tráfico, con lo que el análisis de trazas de red se hace cada vez más computacionalmente intensivo. Este documento presenta un software de extracción de flujos capaz de obtener flujos TCP con una velocidad de 4.4 Millones de paquetes por segundo en una sola GPU que procesa directamente de red. Los flujos TCP contienen el número de retransmisiones y duplicados, que son difíciles de obtener a alta velocidad. Otros registros extraídos son contadores de flags, ventanas cero, duración y longitud de cada flujo TCP. El software está diseñado como un pipeline en el que los datos de los paquetes son analizados y compactados en cada etapa para dar como resultado un breve registro de cada flujo TCP. Algunas etapas del algoritmo se ejecutan en la CPU mediante pthreads, pero la mayoría del procesamiento ocurre en la GPU, liberando núcleos de la CPU para otros usos. Un segundo programa ayuda con el post-­‐procesado. El alto rendimiento del software tiene como consecuencia una pérdida de precisión a causa de la implementación del algoritmo y limitaciones de memoria. Las pruebas muestran que la pérdida de precisión es pequeña, por lo que es un sacrificio aceptable. El software mejora la capacidad de proceso de algunos sniffers de alto rendimiento propuestos recientemente y basados en hardware no especializado. También demuestra las ventajas de los dispositivos de procesamiento altamente paralelo para análisis de tráfico.