[en] This work presents the design, implementation and validation of a TCP / IP packet capture and filtering system, including a block destined to eliminate the headers of Ethernet packets, in order to process only its payload. The system has been designed to be implemented on a Xilinx Zynq-7000 Series System on Chip FPGA device. The work carried out consists of studying the functionality of the platform and its main blocks, performing the migration of the necessary blocks, adapting it to the proposed design flow and performing its prototyping in order to validate the operation of the Deep Packet Inspection (DPI). The DPI system must receive Ethernet frames, extract its header, and determine whether it is filtered or not. If so, the packet will be sent to the search engine for payload analysis or forwarded to the network by the Ethernet network interface. Once the functionality of the system is studied, the main characteristics of the SoC FPGA Xilinx Zynq 7000 devices and the design methodology to be used during the project are studied. In particular, the work put emphasis in the high-level synthesis design methodology for the implementation of different blocks from its SystemC model. Also, the verification of the design (high-level and RTL) are studied. After, it is carried out its implementation to obtain its characteristics of time, use of resources and power. Then proceed to implement the platform and the development of the embedded application that runs on the ARM Cortex A9 processor available in the SoC. In order to perform this integration, different architectures have been studied for the platform, taking into account the data flows and trying to avoid the creation of bottlenecks in the architecture, while reducing the need to store the data packets. The resulting architecture uses communication resources to support data flow, relying on available blocks to create a complex communication architecture. In particular, AMBA AXI4 communication blocks are used in its three variants (Stream, Memory Mapped and Lite). Finally, the different validations of the system are made to ensure its correct operation and to realize different measures of consumption of power, resources, and latency. It has been possible to design a Deep Packet Inspection system that operates at a frequency of 200 MHz with a reduced occupation of the device, allowing for the integration of new functions.

[es] En este trabajo se realiza el diseño, implementación y validación de un sistema de captura y filtrado de paquetes TCP/IP, que incluye un bloque destinado a eliminar las cabeceras de dichos paquetes Ethernet, con objeto de procesar únicamente su carga útil o payload. El sistema ha sido diseñado para ser implementado sobre un dispositivo System on Chip FPGA de la serie Xilinx Zynq-7000. El trabajo realizado consiste en estudiar la funcionalidad de la plataforma y de sus bloques principales, realizar la migración de los bloques necesarios, adaptándolo al flujo de diseño propuesto y realizar su prototipado con objeto de validar el funcionamiento del sistema de Inspección Profunda de Paquetes (DPI). El sistema DPI debe recibir tramas Ethernet, extraer su cabecera y determinar si se realiza su filtrado o no. En caso positivo, el paquete será enviado al motor de búsqueda para el análisis de la carga útil del paquete o reenviado por la interfaz de red Ethernet. Una vez estudiada la funcionalidad del sistema, se pasa a estudiar las principales características de los dispositivos SoC FPGA Xilinx Zynq 7000 y de la metodología de diseño a utilizar durante el proyecto. En concreto se profundiza en la síntesis de alto nivel para la implementación de diferentes bloques desde su modelo SystemC, su verificación y su implementación para obtener sus características de tiempo, uso de recursos y potencia. A continuación, se procede a realizar el diseño de la plataforma y el desarrollo de la aplicación empotrada que se ejecuta en el procesador ARM Cortex A9 disponible en el SoC. Para realizar esta integración se han estudiado diferentes arquitecturas para la plataforma, teniendo en cuenta los flujos de datos y tratando de evitar la creación de cuellos de botella en la arquitectura, a la vez de disminuir la necesidad de almacenamiento de los paquetes de datos. La arquitectura resultante utiliza los recursos de comunicación para dar soporte al flujo de datos, apoyándose sobre los bloques disponibles para crear una arquitectura de comunicación compleja. En concreto se utilizan bloques para comunicación AMBA AXI4 en sus tres variantes (Stream, Memory Mapped y Lite). Por último, se realizan las distintas validaciones del sistema para asegurar su correcto funcionamiento y realizar distintas medidas de consumo de potencia, recursos y latencia. Se ha conseguido diseñar un sistema de Inspección Profunda de Paquetes que funciona a una frecuencia de 200 MHz con una ocupación reducida del dispositivo, dando cabida para la integración de nuevas funciones