A FreeBSD van afegir el suport per al protocol Netlink utilitzat a Linux

FreeBSD

FreeBSD està ben establert com un sistema per construir servidors dInternet i Intranet. Proporciona serveis de xarxa força fiables i una gestió de memòria eficient.

Fa ja diversos dies es va donar a conèixer la notícia de que el codi base de FreeBSD ha adoptat una nova implementació del protocol de comunicació Netlink (RFC 3549) el qual és utilitzat a Linux per comunicar-se entre el kernel i els processos a l'espai de l'usuari.

La família de sockets Netlink és una interfície del nucli de Linux que s'utilitza per a la comunicació entre processos (IPC) entre els processos del nucli i de l'espai d'usuari i entre diferents processos de lespai dusuari, de manera similar als sockets de domini de Unix.

De manera similar als sockets de domini de Unix ia diferència dels sockets d'INET, la comunicació de Netlink no pot travessar els límits del host. No obstant això, mentre que els sockets de domini de Unix usen l'espai de noms del sistema de fitxers, els processos de Netlink generalment s'aborden mitjançant identificadors de procés (PID).

Netlink està dissenyat i s'utilitza per transferir informació de xarxa miscel·lània entre lespai del nucli i els processos de lespai dusuari. Les utilitats de xarxa, com ara la família iproute2 i les utilitats utilitzades per configurar controladors sense fil basats en mac80211, usen Netlink per comunicar-se amb el nucli de Linux des de l'espai de l'usuari. Netlink proporciona una interfície basada en socket estàndard per a processos d'espai d'usuari i una API del costat del nucli per a ús intern dels mòduls del nucli. Originalment, Netlink feia servir la família de sockets AF_NETLINK.

Fins ara en la forma actual, la capa de suport de Netlink permet que FreeBSD faci servir la utilitat ip de Linux del paquet iproute2 per administrar interfícies de xarxa, establir adreces IP, configurar encaminament i manipular objectes nexthop que emmagatzemen l'estat utilitzat per reenviar un paquet a la destinació desitjada. Després de canviar lleugerament els fitxers de capçalera, és possible utilitzar Netlink al paquet d'encaminament de Bird.

La implementació de Netlink per a FreeBSD està empaquetada com un mòdul de nucli carregable que, si és possible, no afecta altres subsistemes del nucli i crea cues de tasques separades (tasqueue) per processar els missatges entrants a través del protocol i realitzar operacions en mode asíncron. La raó per portar Netlink és la manca d'un mecanisme estàndard per interactuar amb els subsistemes del nucli, cosa que fa que diferents subsistemes i controladors inventin els seus propis protocols.

Netlink ofereix una capa de comunicació unificada i un format de missatge extensible que pot actuar com un intermediari que combina automàticament dades dispars de diferents fonts en una sola sol·licitud. Per exemple, els subsistemes de FreeBSD com devd, jail i pfilctl es poden migrar a Netlink, ara usant les seves pròpies trucades ioctl, cosa que simplificarà enormement la creació d'aplicacions per treballar amb aquests subsistemes. A més, l'ús de Netlink per modificar els objectes i grups nexthop a la pila d'encaminament permetrà una interacció més eficient amb els processos d'encaminament de l'espai de l'usuari.

Les interfícies, adreces, rutes, firewall, fibs, vnets, etc. es controlen a través de netlink. És un protocol asincrònic basat en TLV que proporciona comunicacions 1-1 i 1-molts. La implementació actual admet el subconjunt de la família NETLINK_ROUTE. La implementació també és compatible amb el marc de la família NETLINK_GENERIC.

Funcions actualment implementades:

  • Obtenir informació sobre rutes, objectes i grups nexthops, interfícies de xarxa, adreces i hosts veïns (arp/ndp).
  • Formació de notificacions sobre l'aparició i la desconnexió d'interfícies de xarxa, configuració i eliminació d'adreces, addició i eliminació de rutes.
  • Afegir i eliminar rutes, objectes i grups de propers salts, portes denllaç, interfícies de xarxa.
  • Integració amb la interfície Rtsock per gestionar la taula d'encaminament.

Cal esmentar que fins ara el projecte es limita a admetre la família d'operacions NETLINK_ROUTE per administrar l'estat del subsistema de xarxa al nucli.

Finalment si estàs interessat en poder conèixer més a l'respecte, pots consultar els detalls a el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.