„FreeBSD“ jie pridėjo „Linux“ naudojamo „Netlink“ protokolo palaikymą

FreeBSD

FreeBSD yra gerai žinoma kaip interneto ir intraneto serverių kūrimo sistema. Jis teikia gana patikimas tinklo paslaugas ir efektyvų atminties valdymą.

Prieš kelias dienas buvo paskelbta žinia kad pagrindinis kodas FreeBSD priėmė naujas ryšio protokolo įgyvendinimas tinklo nuoroda (RFC 3549), kuris naudojamas Linux sistemoje palaikyti ryšį tarp branduolio ir procesų vartotojo erdvėje.

Lizdų šeima tinklo nuoroda yra Linux branduolio sąsaja, kuri naudojamas tarpprocesiniam ryšiui (IPC) tarp branduolio ir vartotojo erdvės procesų ir tarp skirtingų vartotojo erdvės procesų, panašių į Unix domeno lizdus.

Panašiai kaip Unix domeno lizdai ir skirtingai nei INET lizdai, Netlink ryšys negali peržengti pagrindinio kompiuterio ribų. Tačiau nors Unix domeno lizdai naudoja failų sistemos vardų erdvę, „Netlink“ procesai paprastai sprendžiami proceso identifikatoriais (PID).

Netlink sukurta ir naudojama įvairiai tinklo informacijai perduoti tarp branduolio erdvės ir vartotojo erdvės procesų. Tinklo paslaugos, tokios kaip iproute2 šeima ir paslaugos, naudojamos konfigūruoti „mac80211“ pagrindu veikiančias belaidžio ryšio tvarkykles, naudoja „Netlink“ ryšiui su „Linux“ branduoliu iš vartotojo erdvės. „Netlink“ suteikia standartinę lizdo sąsają vartotojo erdvės procesams ir branduolio pusės API, skirtą branduolio modulių vidiniam naudojimui. „Netlink“ iš pradžių naudojo AF_NETLINK lizdų šeimą.

Kol kas savo dabartine forma Netlink palaikymo sluoksnis leidžia FreeBSD naudoti Linux ip įrankį iproute2 paketo, kad galėtumėte valdyti tinklo sąsajas, nustatyti IP adresus, konfigūruoti maršrutą ir valdyti nexthop objektus, kurie saugo būseną, naudojamą paketui persiųsti į numatytą paskirties vietą. Šiek tiek pakeitus antraštės failus, Bird's routing pakete galima naudoti Netlink.

Netlink diegimas, skirtas FreeBSD yra supakuotas kaip įkeliamas branduolio modulis kad, jei įmanoma, neturi įtakos kitiems branduolio posistemiams ir sukuria atskiras užduočių eiles (tasqueue), kad apdorotų gaunamus pranešimus per protokolą ir atliktų operacijas asinchroniniu režimu. Netlink perkėlimo priežastis yra standartinio mechanizmo nebuvimas sąveikauti su branduolio posistemiais, todėl skirtingos posistemės ir tvarkyklės sugalvoja savo protokolus.

tinklo nuoroda siūlo vieningą komunikacijos sluoksnį ir išplečiamą pranešimų formatą kuris gali veikti kaip tarpininkas, kuris automatiškai sujungia skirtingus duomenis iš skirtingų šaltinių į vieną užklausą. Pavyzdžiui, FreeBSD posistemes, tokias kaip devd, jail ir pfilctl, galima perkelti į Netlink, dabar naudojant savo ioctl iškvietimus, o tai labai supaprastins programų, skirtų dirbti su šiais posistemiais, kūrimą. Be to, naudojant „Netlink“ modifikuoti „nexthop“ objektus ir grupes maršruto parinkimo krūvoje, bus galima efektyviau sąveikauti su vartotojo erdvės maršruto parinkimo procesais.

Sąsajos, adresai, maršrutai, ugniasienė, fibs, vnet ir kt. yra valdomi per netlink. Tai TLV pagrįstas asinchroninis protokolas, užtikrinantis 1-1 ir 1-daug ryšių. Dabartinis diegimas palaiko NETLINK_ROUTE šeimos poaibį. Diegimas taip pat suderinamas su NETLINK_GENERIC šeimos sistema.

Šiuo metu įdiegtos funkcijos:

  • Gaukite informacijos apie maršrutus, nexthops objektus ir grupes, tinklo sąsajas, adresus ir gretimus pagrindinius kompiuterius (arp/ndp).
  • Pranešimų apie tinklo sąsajų atsiradimą ir atjungimą formavimas, adresų konfigūravimas ir pašalinimas, maršrutų pridėjimas ir pašalinimas.
  • Pridėkite ir pašalinkite maršrutus, kito šuolio objektus ir grupes, šliuzus, tinklo sąsajas.
  • Integracija su Rtsock sąsaja, skirta valdyti maršruto lentelę.

Verta paminėti, kad iki šiol projektas apsiriboja NETLINK_ROUTE operacijų šeimos palaikymu, kad būtų galima valdyti tinklo posistemio būseną branduolyje.

Galiausiai, jei jus domina galimybė sužinoti daugiau apie tai, galite paskaityti išsamią informaciją šią nuorodą.


Straipsnio turinys atitinka mūsų principus redakcijos etika. Norėdami pranešti apie klaidą, spustelėkite čia.

Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.