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

FreeBSD

FreeBSD je dobro uspostavljen kao sustav za izgradnju Internet i Intranet poslužitelja. Pruža prilično pouzdane mrežne usluge i učinkovito 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.

Obitelj utičnica netlink je Linux kernel sučelje koje koristi se za međuprocesnu komunikaciju (IPC) između procesa jezgre i korisničkog prostora i između različitih procesa korisničkog prostora, slično utičnicama Unix domene.

Slično Unix domenskim utičnicama i za razliku od INET utičnica, Netlink komunikacija ne može prelaziti granice hosta. Međutim, dok utičnice Unix domene koriste imenski prostor datotečnog sustava, Netlink procesi se općenito adresiraju identifikatorima procesa (PID-ovi).

Netlink je dizajniran i koristi se za prijenos raznih mrežnih informacija između prostora jezgre i procesa korisničkog prostora. Mrežni uslužni programi, kao što je obitelj iproute2 i uslužni programi koji se koriste za konfiguriranje bežičnih upravljačkih programa temeljenih na mac80211, koriste Netlink za komunikaciju s Linux kernelom iz korisničkog prostora. Netlink pruža standardno sučelje temeljeno na utičnicama za procese korisničkog prostora i API na strani kernela za internu upotrebu modula kernela. Netlink je izvorno koristio AF_NETLINK obitelj utičnica.

Do sada u sadašnjem obliku, Sloj podrške za Netlink omogućuje FreeBSD-u korištenje uslužnog programa Linux IP paketa iproute2 za upravljanje mrežnim sučeljima, postavljanje IP adresa, konfiguriranje usmjeravanja i manipuliranje nexthop objektima koji pohranjuju stanje koje se koristi za prosljeđivanje paketa na željeno odredište. Nakon male izmjene datoteka zaglavlja, moguće je koristiti Netlink u Birdovom paketu za usmjeravanje.

Implementacija Netlink-a za FreeBSD pakiran je kao modul kernela koji se može učitavati da, ako je moguće, ne utječe na druge podsustave jezgre i stvara zasebne redove zadataka (tasqueue) za obradu dolaznih poruka kroz protokol i izvođenje operacija u asinkronom načinu. Razlog za prijenos Netlink-a je nedostatak standardnog mehanizma za interakciju s podsustavima jezgre, što dovodi do toga da različiti podsustavi i upravljački programi izmišljaju vlastite protokole.

netlink nudi objedinjeni 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 podsustavi poput devd, jail i pfilctl mogu se prenijeti na Netlink, sada koristeći svoje vlastite ioctl pozive, što će uvelike pojednostaviti izradu aplikacija za rad s tim podsustavima. Dodatno, korištenje Netlink-a za modificiranje nexthop objekata i grupa u hrpu usmjeravanja omogućit će učinkovitiju interakciju s procesima usmjeravanja korisničkog prostora.

Sučelja, adrese, rute, firewall, fibs, vnets, itd. kontroliraju se putem netlinka. To je asinkroni protokol temeljen na TLV-u koji omogućuje komunikacije 1-1 i 1-više. Trenutna implementacija podržava podskup obitelji NETLINK_ROUTE. Implementacija je također kompatibilna s okvirom obitelji NETLINK_GENERIC.

Trenutno implementirane značajke:

  • Dobivanje informacija o rutama, nexthops objektima i grupama, mrežnim sučeljima, adresama i susjednim hostovima (arp/ndp).
  • Formiranje obavijesti o pojavi i odspajanju mrežnih sučelja, konfiguraciji i uklanjanju adresa, dodavanju i uklanjanju ruta.
  • Dodavanje i uklanjanje ruta, sljedećih objekata i grupa, pristupnika, mrežnih sučelja.
  • Integracija s Rtsock sučeljem za upravljanje tablicom usmjeravanja.

Vrijedno je spomenuti da je do sada projekt ograničen na podršku NETLINK_ROUTE obitelji operacija za upravljanje stanjem mrežnog podsustava u kernelu.

Konačno, ako vas zanima više o tome, možete se obratiti pojedinostima u sljedeći link.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.