FreeBSD'de Linux'ta kullanılan Netlink protokolü için destek eklediler

FreeBSD

FreeBSD, İnternet ve Intranet sunucuları oluşturmak için bir sistem olarak iyi kurulmuştur. Oldukça güvenilir ağ hizmetleri ve verimli bellek yönetimi sağlar.

Birkaç gün önce haberler yayınlandı temel kodu olduğunu FreeBSD benimsedi iletişim protokolünün yeni bir uygulaması ağ bağlantısı (RFC 3549) Linux'ta çekirdek ve kullanıcı alanındaki işlemler arasında iletişim kurmak için kullanılır.

soket ailesi ağ bağlantısı sağlayan bir Linux çekirdek arayüzüdür. çekirdek ve kullanıcı alanı süreçleri arasındaki süreçler arası iletişim (IPC) için kullanılır ve Unix etki alanı soketlerine benzer şekilde farklı kullanıcı alanı süreçleri arasında.

Unix etki alanı soketlerine benzer ve INET soketlerinden farklı olarak, Netlink iletişimi ana bilgisayar sınırlarını geçemez. Ancak, Unix etki alanı soketleri dosya sistemi ad alanını kullanırken, Netlink işlemleri genellikle işlem tanımlayıcıları (PID'ler) tarafından ele alınır.

Netlink, çeşitli ağ bilgilerini aktarmak için tasarlanmış ve kullanılmıştır. çekirdek alanı ve kullanıcı alanı süreçleri arasında. iproute2 ailesi ve mac80211 tabanlı kablosuz sürücüleri yapılandırmak için kullanılan yardımcı programlar gibi ağ yardımcı programları, kullanıcı alanından Linux çekirdeğiyle iletişim kurmak için Netlink'i kullanır. Netlink, kullanıcı alanı işlemleri için standart bir soket tabanlı arabirim ve çekirdek modülleri tarafından dahili kullanım için bir çekirdek tarafı API sağlar. Netlink başlangıçta AF_NETLINK soket ailesini kullandı.

Şu anki haliyle şimdiye kadar, Netlink destek katmanı, FreeBSD'nin Linux ip yardımcı programını kullanmasına izin verir ağ arayüzlerini yönetmek, IP adreslerini ayarlamak, yönlendirmeyi yapılandırmak ve bir paketi istenen hedefe iletmek için kullanılan durumu depolayan nexthop nesnelerini işlemek için iproute2 paketinin. Başlık dosyalarını biraz değiştirdikten sonra, Bird'ün yönlendirme paketinde Netlink'i kullanmak mümkündür.

FreeBSD için Netlink uygulaması yüklenebilir bir çekirdek modülü olarak paketlenmiştir ki, eğer mümkünse, diğer çekirdek alt sistemlerini etkilemez ve ayrı görev kuyrukları oluşturur (görev) gelen mesajları protokol aracılığıyla işlemek ve asenkron modda işlemler gerçekleştirmek için. Netlink'in taşınmasının nedeni standart bir mekanizmanın olmamasıdır. çekirdek alt sistemleriyle etkileşime girerek farklı alt sistemlerin ve sürücülerin kendi protokollerini icat etmesine yol açar.

ağ bağlantısı birleşik bir iletişim katmanı ve genişletilebilir bir mesaj formatı sunar farklı kaynaklardan gelen farklı verileri otomatik olarak tek bir istekte birleştiren bir aracı görevi görebilir. Örneğin, devd, jail ve pfilctl gibi FreeBSD alt sistemleri, artık kendi ioctl çağrılarını kullanarak Netlink'e taşınabilir, bu da bu alt sistemlerle çalışacak uygulama oluşturmayı büyük ölçüde basitleştirecektir. Ek olarak, yönlendirme yığınındaki nexthop nesnelerini ve gruplarını değiştirmek için Netlink'i kullanmak, kullanıcı alanı yönlendirme süreçleriyle daha verimli etkileşime izin verecektir.

Arayüzler, adresler, yollar, güvenlik duvarı, fib'ler, vnet'ler vb. netlink üzerinden kontrol edilmektedir. 1-1 ve 1-çok iletişim sağlayan TLV tabanlı asenkron bir protokoldür. Geçerli uygulama, NETLINK_ROUTE ailesinin alt kümesini destekler. Uygulama, NETLINK_GENERIC ailesi çerçevesiyle de uyumludur.

Şu anda uygulanan özellikler:

  • Rotalar, nexthops nesneleri ve grupları, ağ arayüzleri, adresler ve komşu ana bilgisayarlar (arp/ndp) hakkında bilgi edinin.
  • Ağ arayüzlerinin görünümü ve bağlantısının kesilmesi, adreslerin yapılandırılması ve kaldırılması, yolların eklenmesi ve kaldırılması hakkında bildirimlerin oluşturulması.
  • Rotalar, sonraki atlama nesneleri ve grupları, ağ geçitleri, ağ arayüzleri ekleyin ve kaldırın.
  • Yönlendirme tablosunu yönetmek için Rtsock arayüzü ile entegrasyon.

Şu ana kadar projenin, çekirdekteki ağ alt sisteminin durumunu yönetmek için NETLINK_ROUTE operasyon ailesini desteklemekle sınırlı olduğunu belirtmekte fayda var.

Son olarak, bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara şuradan bakabilirsiniz: aşağıdaki bağlantı.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.