BIRD (acrónimo recursivo de BIRD Internet Routing Daemon [2] ) es una implementación de código abierto para enrutar paquetes de Protocolo de Internet en sistemas operativos tipo Unix . Fue desarrollado como un proyecto escolar en la Facultad de Matemáticas y Física de la Universidad Carolina , Praga , [3] y se distribuye bajo la Licencia Pública General GNU .
BIRD soporta las versiones 4 y 6 del Protocolo de Internet ejecutando demonios separados . [4] Establece múltiples tablas de enrutamiento, [5] y utiliza protocolos de enrutamiento BGP , RIP y OSPF , así como rutas definidas estáticamente. Su diseño difiere significativamente de GNU Zebra , Quagga y FRRouting . Actualmente BIRD está incluido en muchas distribuciones de Linux, como Debian , [6] Ubuntu [7] y Fedora . [8]
BIRD se utiliza en varios intercambios de Internet , como London Internet Exchange (LINX), [9] LONAP , [10] DE-CIX [11] y MSK-IX [12] como servidor de rutas , donde reemplazó a Quagga debido a sus problemas de escalabilidad. [9] Según la encuesta Euro-IX de 2012, [13] BIRD es el servidor de rutas más utilizado entre los intercambios de Internet europeos.
En 2010, CZ.NIC , el actual patrocinador del desarrollo de BIRD, recibió el premio LINX Conspicuous Contribution Award por la contribución de BIRD al avance de la tecnología de servidores de rutas. [14]
BIRD implementa una tabla de enrutamiento interna a la que se conectan los protocolos admitidos. La mayoría de estos protocolos importan rutas de red a esta tabla de enrutamiento interna y también exportan rutas de red desde esta tabla de enrutamiento interna al protocolo determinado. De esta manera, la información sobre las rutas de red se intercambia entre diferentes protocolos de enrutamiento.
Utilizando el protocolo del kernel, esta tabla de enrutamiento interno se puede conectar a la tabla de enrutamiento del kernel real. Esto permite a BIRD exportar rutas de red desde su tabla de enrutamiento interna a la tabla de enrutamiento del kernel y, opcionalmente, también conocer las rutas de red desde la tabla de enrutamiento del kernel (creada externamente por el administrador o por otros medios) e importar estas rutas a su tabla de enrutamiento interna.
Se pueden utilizar filtros para controlar qué rutas de red se importan a la tabla de enrutamiento interna o se exportan al protocolo determinado. Las rutas de la red se pueden aceptar, rechazar o modificar mediante filtros.
BIRD también admite múltiples tablas de enrutamiento interno y múltiples instancias de tipos de protocolos admitidos. Los protocolos pueden estar conectados a diferentes tablas de enrutamiento interno, estas tablas de enrutamiento interno pueden intercambiar información sobre las rutas de red que contienen (controladas por filtros) y cada una de estas tablas de enrutamiento interno puede estar conectada a una tabla de enrutamiento del núcleo diferente, permitiendo así el enrutamiento de políticas.
La configuración se realiza editando el archivo de configuración y diciéndole a BIRD que se reconfigure. BIRD cambia a la nueva configuración sin necesidad de reiniciar el demonio y reinicia los protocolos reconfigurados solo si es necesario. También existe una opción para realizar una reconfiguración suave, que no reinicia los protocolos pero puede dejar información obsoleta, como filtros modificados que no filtran las rutas de red ya exportadas.