U FreeBSD-u su dodali podršku za Netlink protokol koji se koristi u Linuxu

FreeBSD

FreeBSD je dobro uspostavljen kao sistem za izgradnju Internet i Intranet servera. Pruža prilično pouzdane mrežne usluge i efikasno upravljanje memorijom.

Prije nekoliko dana vijest je objavljena da je osnovni kod FreeBSD je usvojio nova implementacija komunikacijskog protokola netlink (RFC 3549) koji se koristi u Linuxu za komunikaciju između kernela i procesa u korisničkom prostoru.

Porodica utičnica netlink je interfejs Linux kernela koji koristi se za međuprocesnu komunikaciju (IPC) između procesa kernela i korisničkog prostora i između različitih procesa korisničkog prostora, slično utičnicama Unix domena.

Slično utičnicama Unix domena i za razliku od INET utičnica, Netlink komunikacija ne može preći granice domaćina. Međutim, dok Unix domenske utičnice koriste imenski prostor sistema datoteka, Netlink procesi se generalno adresiraju identifikatorima procesa (PID).

Netlink je dizajniran i koristi se za prijenos raznih mrežnih informacija između prostora kernela i procesa korisničkog prostora. Mrežni uslužni programi, kao što je iproute2 porodica i uslužni programi koji se koriste za konfigurisanje bežičnih drajvera zasnovanih na mac80211, koriste Netlink za komunikaciju sa Linux kernelom iz korisničkog prostora. Netlink pruža standardni interfejs zasnovan na utičnici za procese korisničkog prostora i API na strani kernela za internu upotrebu od strane modula kernela. Netlink je prvobitno koristio AF_NETLINK familiju soketa.

Do sada u svom sadašnjem obliku, Sloj podrške za Netlink dozvoljava FreeBSD-u da koristi Linux ip uslužni program iproute2 paketa za upravljanje mrežnim sučeljima, postavljanje IP adresa, konfiguriranje rutiranja i manipulaciju nexthop objektima koji pohranjuju stanje korišteno za prosljeđivanje paketa na željeno odredište. Nakon neznatne promjene zaglavlja, moguće je koristiti Netlink u Bird-ovom paketu za rutiranje.

Implementacija Netlink-a za FreeBSD je upakovan kao modul kernela koji se može učitati da, ako je moguće, ne utiče na druge podsisteme kernela i stvara odvojene redove zadataka (tasqueue) za obradu dolaznih poruka kroz protokol i izvođenje operacija u asinhronom modu. Razlog za prenos Netlink-a je nedostatak standardnog mehanizma za interakciju sa podsistemima kernela, što dovodi do toga da različiti podsistemi i drajveri izmišljaju sopstvene protokole.

netlink nudi unificirani komunikacijski sloj i proširivi format poruke koji može djelovati kao posrednik koji automatski kombinira različite podatke iz različitih izvora u jedan zahtjev. Na primjer, FreeBSD podsistemi poput devd, jail i pfilctl mogu se prenijeti na Netlink, sada koristeći njihove vlastite ioctl pozive, što će uvelike pojednostaviti izgradnju aplikacija za rad sa ovim podsistemima. Dodatno, korištenje Netlinka za modificiranje nexthop objekata i grupa u steku rutiranja omogućit će efikasniju interakciju s procesima rutiranja korisničkog prostora.

Interfejsi, adrese, rute, firewall, fibs, vnets, itd. se kontrolišu preko netlinka. To je TLV-bazirani asinhroni protokol koji pruža 1-1 i 1-mnogo komunikacije. Trenutna implementacija podržava podskup porodice NETLINK_ROUTE. Implementacija je također kompatibilna sa porodičnim okvirom NETLINK_GENERIC.

Trenutno implementirane karakteristike:

  • Dobijte informacije o rutama, nexthops objektima i grupama, mrežnim sučeljima, adresama i susjednim hostovima (arp/ndp).
  • Formiranje obavještenja o pojavi i isključenju mrežnih sučelja, konfiguraciji i uklanjanju adresa, dodavanju i uklanjanju ruta.
  • Dodajte i uklonite rute, sljedeće objekte i grupe, pristupne prolaze, mrežna sučelja.
  • Integracija sa Rtsock interfejsom za upravljanje tabelom rutiranja.

Vrijedi napomenuti da je do sada projekat ograničen na podršku NETLINK_ROUTE familiji operacija za upravljanje stanjem mrežnog podsistema u kernelu.

Konačno, ako ste zainteresirani da saznate više o tome, možete pogledati detalje u sljedeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.