FreeBSD Linux nüvəsində istifadə olunan Netlink protokolu üçün dəstək əlavə edir

FreeBSD kod bazası Linux-da istifadəçi məkanında nüvə və proseslər arasında qarşılıqlı əlaqəni təşkil etmək üçün istifadə olunan Netlink rabitə protokolunun (RFC 3549) tətbiqini qəbul edir. Layihə nüvədə şəbəkə altsisteminin vəziyyətini idarə etmək üçün NETLINK_ROUTE əməliyyatlar ailəsini dəstəkləməklə məhdudlaşır.

Hazırkı formada Netlink dəstək səviyyəsi FreeBSD-yə şəbəkə interfeyslərini idarə etmək, IP ünvanlarını təyin etmək, marşrutlaşdırmanı konfiqurasiya etmək və paketi istədiyiniz təyinat yerinə yönləndirmək üçün istifadə olunan vəziyyəti saxlayan nexthop obyektlərini manipulyasiya etmək üçün iproute2 paketindən Linux ip yardım proqramından istifadə etməyə imkan verir. . Başlıq fayllarını bir az dəyişdirdikdən sonra Bird marşrutlaşdırma paketində Netlink-dən istifadə etmək mümkündür.

FreeBSD üçün Netlink tətbiqi yüklənə bilən ləpə modulu kimi paketlənmişdir ki, mümkünsə, digər nüvə alt sistemlərinə təsir göstərmir və protokol vasitəsilə daxil olan mesajları emal etmək və asinxron rejimdə əməliyyatları yerinə yetirmək üçün ayrıca tapşırıq növbələri (tasqueue) yaradır. Netlink-in daşınmasının səbəbi nüvə altsistemləri ilə qarşılıqlı əlaqə üçün standart mexanizmin olmamasıdır ki, bu da müxtəlif alt sistemlərin və sürücülərin öz protokollarını icad etməsinə gətirib çıxarır.

Netlink vahid kommunikasiya təbəqəsi və müxtəlif mənbələrdən fərqli məlumatları avtomatik bir sorğuda birləşdirən vasitəçi kimi çıxış edə bilən genişlənən mesaj formatı təklif edir. Məsələn, devd, jail və pfilctl kimi FreeBSD alt sistemləri indi öz ioctl zənglərindən istifadə etməklə Netlink-ə köçürülə bilər ki, bu da bu alt sistemlərlə işləmək üçün proqramların yaradılmasını xeyli asanlaşdıracaq. Bundan əlavə, marşrutlaşdırma yığınında növbəti hop obyektləri və qruplarını dəyişdirmək üçün Netlink-dən istifadə istifadəçi-məkan marşrutlaşdırma prosesləri ilə daha səmərəli qarşılıqlı əlaqəyə imkan verəcəkdir.

Hazırda tətbiq olunan xüsusiyyətlər:

  • Marşrutlar, nexthops obyektləri və qrupları, şəbəkə interfeysləri, ünvanlar və qonşu hostlar (arp/ndp) haqqında məlumat əldə etmək.
  • Şəbəkə interfeyslərinin görünüşü və ayrılması, ünvanların təyin edilməsi və silinməsi, marşrutların əlavə edilməsi və silinməsi haqqında bildirişlərin formalaşdırılması.
  • Marşrutların, nexthops obyektlərinin və qruplarının, şlüzlərin, şəbəkə interfeyslərinin əlavə edilməsi və silinməsi.
  • Marşrutlaşdırma cədvəlini idarə etmək üçün Rtsock interfeysi ilə inteqrasiya.

Mənbə: opennet.ru

Добавить комментарий