Dalam FreeBSD mereka menambah sokongan untuk protokol Netlink yang digunakan dalam Linux

FreeBSD

FreeBSD telah mantap sebagai sistem untuk membina pelayan Internet dan Intranet. Ia menyediakan perkhidmatan rangkaian yang agak boleh dipercayai dan pengurusan memori yang cekap.

Beberapa hari yang lalu berita itu dikeluarkan bahawa kod asas bagi FreeBSD telah menerima pakai pelaksanaan baharu protokol komunikasi pautan net (RFC 3549) yang digunakan dalam Linux untuk berkomunikasi antara kernel dan proses dalam ruang pengguna.

Keluarga soket pautan net ialah antara muka kernel Linux yang digunakan untuk komunikasi antara proses (IPC) antara kernel dan proses ruang pengguna dan antara proses ruang pengguna yang berbeza, serupa dengan soket domain Unix.

Sama seperti soket domain Unix dan tidak seperti soket INET, komunikasi Netlink tidak boleh melintasi sempadan hos. Walau bagaimanapun, sementara soket domain Unix menggunakan ruang nama sistem fail, proses Netlink biasanya ditangani oleh pengecam proses (PID).

Netlink direka bentuk dan digunakan untuk memindahkan pelbagai maklumat rangkaian antara ruang kernel dan proses ruang pengguna. Utiliti rangkaian, seperti keluarga iproute2 dan utiliti yang digunakan untuk mengkonfigurasi pemacu wayarles berasaskan mac80211, menggunakan Netlink untuk berkomunikasi dengan kernel Linux dari ruang pengguna. Netlink menyediakan antara muka berasaskan soket standard untuk proses ruang pengguna dan API sisi kernel untuk kegunaan dalaman oleh modul kernel. Netlink pada asalnya menggunakan keluarga soket AF_NETLINK.

Setakat ini dalam bentuk semasa, Lapisan sokongan Netlink membenarkan FreeBSD menggunakan utiliti ip Linux daripada paket iproute2 untuk mengurus antara muka rangkaian, menetapkan alamat IP, mengkonfigurasi penghalaan dan memanipulasi objek nexthop yang menyimpan keadaan yang digunakan untuk memajukan paket ke destinasi yang dimaksudkan. Selepas menukar sedikit fail pengepala, adalah mungkin untuk menggunakan Netlink dalam paket penghalaan Bird.

Pelaksanaan Netlink untuk FreeBSD dibungkus sebagai modul kernel yang boleh dimuatkan bahawa, jika boleh, tidak menjejaskan subsistem kernel lain dan mencipta baris gilir tugas yang berasingan (tasqueue) untuk memproses mesej masuk melalui protokol dan melaksanakan operasi dalam mod tak segerak. Sebab untuk mengalihkan Netlink adalah kekurangan mekanisme standard untuk berinteraksi dengan subsistem kernel, membawa kepada subsistem dan pemacu yang berbeza mencipta protokol mereka sendiri.

pautan net menawarkan lapisan komunikasi bersatu dan format mesej yang boleh diperluaskan yang boleh bertindak sebagai orang tengah yang secara automatik menggabungkan data yang berbeza daripada sumber yang berbeza ke dalam satu permintaan. Contohnya, subsistem FreeBSD seperti devd, jail dan pfilctl boleh dialihkan ke Netlink, kini menggunakan panggilan ioctl mereka sendiri, yang akan memudahkan membina aplikasi untuk berfungsi dengan subsistem ini. Selain itu, menggunakan Netlink untuk mengubah suai objek dan kumpulan nexthop dalam timbunan penghalaan akan membolehkan interaksi yang lebih cekap dengan proses penghalaan ruang pengguna.

Antara muka, alamat, laluan, tembok api, fibs, vnets, dsb. dikawal melalui netlink. Ia ialah protokol tak segerak berasaskan TLV yang menyediakan komunikasi 1-1 dan 1-banyak. Pelaksanaan semasa menyokong subset keluarga NETLINK_ROUTE. Pelaksanaannya juga serasi dengan rangka kerja keluarga NETLINK_GENERIC.

Ciri yang sedang dilaksanakan:

  • Dapatkan maklumat tentang laluan, objek dan kumpulan nexthops, antara muka rangkaian, alamat dan hos jiran (arp/ndp).
  • Pembentukan pemberitahuan tentang penampilan dan pemotongan antara muka rangkaian, konfigurasi dan penyingkiran alamat, penambahan dan penyingkiran laluan.
  • Tambah dan alih keluar laluan, objek dan kumpulan lompat seterusnya, get laluan, antara muka rangkaian.
  • Penyepaduan dengan antara muka Rtsock untuk mengurus jadual penghalaan.

Perlu dinyatakan bahawa setakat ini projek itu terhad kepada menyokong keluarga operasi NETLINK_ROUTE untuk mengurus keadaan subsistem rangkaian dalam kernel.

Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh melihat butiran di pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.