Di FreeBSD mereka menambahkan dukungan untuk protokol Netlink yang digunakan di Linux

FreeBSD

FreeBSD sudah mapan sebagai sistem untuk membangun server Internet dan Intranet. Ini menyediakan layanan jaringan yang cukup andal dan manajemen memori yang efisien.

Beberapa hari lalu berita itu dirilis bahwa kode dasar dari FreeBSD telah mengadopsi implementasi baru dari protokol komunikasi tautan bersih (RFC 3549) yang digunakan di Linux untuk berkomunikasi antara kernel dan proses di ruang pengguna.

Keluarga soket tautan bersih adalah antarmuka kernel Linux yang digunakan untuk komunikasi antarproses (IPC) antara proses kernel dan ruang pengguna dan antara proses ruang pengguna yang berbeda, mirip dengan soket domain Unix.

Mirip dengan soket domain Unix dan tidak seperti soket INET, komunikasi Netlink tidak dapat melintasi batas host. Namun, sementara soket domain Unix menggunakan ruang nama sistem file, proses Netlink umumnya ditangani oleh pengidentifikasi proses (PID).

Netlink dirancang dan digunakan untuk mentransfer informasi jaringan lain-lain antara ruang kernel dan proses ruang pengguna. Utilitas jaringan, seperti keluarga iproute2 dan utilitas yang digunakan untuk mengkonfigurasi driver nirkabel berbasis mac80211, menggunakan Netlink untuk berkomunikasi dengan kernel Linux dari ruang pengguna. Netlink menyediakan antarmuka berbasis soket standar untuk proses ruang pengguna dan API sisi kernel untuk penggunaan internal oleh modul kernel. Netlink awalnya menggunakan keluarga soket AF_NETLINK.

Sejauh ini dalam bentuknya yang sekarang, Lapisan dukungan Netlink memungkinkan FreeBSD untuk menggunakan utilitas ip Linux dari paket iproute2 untuk mengelola antarmuka jaringan, mengatur alamat IP, mengkonfigurasi perutean, dan memanipulasi objek nexthop yang menyimpan status yang digunakan untuk meneruskan paket ke tujuan yang diinginkan. Setelah sedikit mengubah file header, Netlink dapat digunakan dalam paket perutean Bird.

Implementasi Netlink untuk FreeBSD dikemas sebagai modul kernel yang dapat dimuat bahwa, jika mungkin, tidak mempengaruhi subsistem kernel lain dan membuat antrian tugas terpisah (tasqueue) untuk memproses pesan masuk melalui protokol dan melakukan operasi dalam mode asinkron. Alasan porting Netlink adalah kurangnya mekanisme standar untuk berinteraksi dengan subsistem kernel, yang mengarah ke berbagai subsistem dan driver yang menciptakan protokol mereka sendiri.

tautan bersih menawarkan lapisan komunikasi terpadu dan format pesan yang dapat diperluas yang dapat bertindak sebagai perantara yang secara otomatis menggabungkan data yang berbeda dari sumber yang berbeda ke dalam satu permintaan. Misalnya, subsistem FreeBSD seperti devd, jail, dan pfilctl dapat di-porting ke Netlink, sekarang menggunakan panggilan ioctl mereka sendiri, yang akan sangat menyederhanakan pembuatan aplikasi untuk bekerja dengan subsistem ini. Selain itu, menggunakan Netlink untuk memodifikasi objek dan grup nexthop dalam tumpukan perutean akan memungkinkan interaksi yang lebih efisien dengan proses perutean ruang pengguna.

Antarmuka, alamat, rute, firewall, fibs, vnet, dll. dikendalikan melalui netlink. Ini adalah protokol asinkron berbasis TLV yang menyediakan komunikasi 1-1 dan 1-banyak. Implementasi saat ini mendukung subset dari keluarga NETLINK_ROUTE. Implementasinya juga kompatibel dengan kerangka keluarga NETLINK_GENERIC.

Fitur yang saat ini diterapkan:

  • Dapatkan informasi tentang rute, objek dan grup nexthops, antarmuka jaringan, alamat, dan host tetangga (arp/ndp).
  • Pembentukan pemberitahuan tentang penampilan dan pemutusan antarmuka jaringan, konfigurasi dan penghapusan alamat, penambahan dan penghapusan rute.
  • Menambah dan menghapus rute, objek dan grup hop berikutnya, gateway, antarmuka jaringan.
  • Integrasi dengan antarmuka Rtsock untuk mengelola tabel perutean.

Perlu disebutkan bahwa sejauh ini proyek terbatas untuk mendukung keluarga operasi NETLINK_ROUTE untuk mengelola status subsistem jaringan di kernel.

Terakhir, jika Anda tertarik untuk mengetahuinya lebih lanjut, Anda dapat berkonsultasi detailnya di link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.