Vo FreeBSD pridali podporu pre protokol Netlink používaný v Linuxe

FreeBSD

FreeBSD je dobre zavedený ako systém na budovanie internetových a intranetových serverov. Poskytuje pomerne spoľahlivé sieťové služby a efektívnu správu pamäte.

Pred niekoľkými dňami správa bola zverejnená že základný kód FreeBSD prijalo nová implementácia komunikačného protokolu netlink (RFC 3549), ktorý sa používa v Linuxe na komunikáciu medzi jadrom a procesmi v užívateľskom priestore.

Rodina zásuviek netlink je rozhranie jadra Linuxu, ktoré používa sa na medziprocesovú komunikáciu (IPC) medzi jadrom a procesmi používateľského priestoru a medzi rôznymi procesmi používateľského priestoru, podobne ako sokety domény Unix.

Podobne ako sokety domény Unix a na rozdiel od soketov INET, komunikácia Netlink nemôže prekročiť hranice hostiteľa. Zatiaľ čo sokety domény Unix používajú priestor názvov súborového systému, procesy Netlink sú vo všeobecnosti oslovované identifikátormi procesov (PID).

Netlink je navrhnutý a používaný na prenos rôznych sieťových informácií medzi priestorom jadra a procesmi používateľského priestoru. Sieťové nástroje, ako napríklad rodina iproute2 a nástroje používané na konfiguráciu bezdrôtových ovládačov založených na mac80211, používajú Netlink na komunikáciu s jadrom Linuxu z používateľského priestoru. Netlink poskytuje štandardné soketové rozhranie pre procesy používateľského priestoru a API na strane jadra pre interné použitie modulmi jadra. Netlink pôvodne používal rad zásuviek AF_NETLINK.

Zatiaľ v súčasnej podobe Vrstva podpory Netlink umožňuje FreeBSD používať nástroj IP Linuxu paketu iproute2 na správu sieťových rozhraní, nastavenie IP adries, konfiguráciu smerovania a manipuláciu s objektmi nexthop, ktoré ukladajú stav použitý na preposielanie paketu do požadovaného cieľa. Po miernej zmene hlavičkových súborov je možné použiť Netlink v smerovacom pakete Bird.

Implementácia Netlink pre FreeBSD je zabalený ako načítateľný modul jadra že ak je to možné, neovplyvňuje ostatné podsystémy jadra a vytvára samostatné fronty úloh (tasqueue) na spracovanie prichádzajúcich správ cez protokol a vykonávanie operácií v asynchrónnom režime. Dôvodom pre portovanie Netlinku je absencia štandardného mechanizmu na interakciu so subsystémami jadra, čo vedie k tomu, že rôzne subsystémy a ovládače vymýšľajú svoje vlastné protokoly.

netlink ponúka jednotnú komunikačnú vrstvu a rozšíriteľný formát správ ktorý môže fungovať ako prostredník, ktorý automaticky spája rôznorodé údaje z rôznych zdrojov do jedinej požiadavky. Napríklad subsystémy FreeBSD ako devd, jail a pfilctl môžu byť prenesené na Netlink, teraz pomocou ich vlastných volaní ioctl, čo výrazne zjednoduší vytváranie aplikácií pre prácu s týmito subsystémami. Okrem toho, použitie Netlinku na úpravu objektov a skupín nexthop v zásobníku smerovania umožní efektívnejšiu interakciu s procesmi smerovania používateľského priestoru.

Rozhrania, adresy, trasy, firewall, fibs, vnet atď. sú ovládané cez netlink. Je to asynchrónny protokol založený na TLV, ktorý poskytuje komunikáciu 1-1 a 1-many. Aktuálna implementácia podporuje podmnožinu rodiny NETLINK_ROUTE. Implementácia je tiež kompatibilná s rámcom rodiny NETLINK_GENERIC.

Aktuálne implementované funkcie:

  • Získajte informácie o trasách, objektoch a skupinách nexthops, sieťových rozhraniach, adresách a susedných hostiteľoch (arp/ndp).
  • Vytváranie upozornení na výskyt a odpojenie sieťových rozhraní, konfiguráciu a odstraňovanie adries, pridávanie a odstraňovanie trás.
  • Pridajte a odstráňte trasy, objekty a skupiny ďalšieho skoku, brány, sieťové rozhrania.
  • Integrácia s rozhraním Rtsock na správu smerovacej tabuľky.

Stojí za zmienku, že projekt je zatiaľ obmedzený na podporu rodiny operácií NETLINK_ROUTE na riadenie stavu sieťového subsystému v jadre.

Nakoniec, ak máte záujem dozvedieť sa o tom viac, môžete si podrobnosti prečítať v nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.