Capítulo 6. Redes Linux y BPF

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Desde el punto de vista de las redes, utilizamos los programas BPF para dos casos de uso principales: la captura y el filtrado de paquetes.

Esto significa que un programa de espacio de usuario puede adjuntar un filtro a cualquier socket y extraer información sobre los paquetes que fluyen a través de él y permitir/no permitir/redirigir determinados tipos de paquetes según se vean a ese nivel.

El objetivo de este capítulo es explicar cómo los programas BPF pueden interactuar con la estructura del Búfer de Socket en diferentes etapas de la ruta de datos de red en la pila de red del núcleo Linux. Identificamos, como casos de uso común, dos tipos de programas:

  • Tipos de programas relacionados con los enchufes

  • Programas escritos para el clasificador basado en BPF para el Control del Tráfico

Nota

La estructura Socket Buffer, también llamada SKB o sk_buff, es la que en el núcleo se crea y utiliza para cada paquete enviado o recibido. Leyendo el SKB puedes pasar o dejar paquetes y rellenar mapas BPF para crear estadísticas y métricas de flujo sobre el tráfico actual.

Además, algunos programas BPF te permiten manipular el SKB y, por extensión, transformar los paquetes finales para redirigirlos o cambiar su estructura fundamental. Por ejemplo, en un sistema sólo IPv6, podrías escribir un programa que convirtiera todos los paquetes recibidos ...

Get Observabilidad de Linux con BPF now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.