- Bu diyagram Linux ağ yığınının tüm katmanlarını ve bileşenlerini görsel olarak gösterir
- Diyagram, sanalizasyon, Linux konteynerleri, emülasyon, paravirtualizasyon gibi farklı sanallaştırma teknolojilerini içerir
- Ağ soketlerinden ağ yığınına (üst seviye: TCP, UDP / alt seviye: GRO, RPS, RFS, GSO) kadar tüm katmanlı yapıyı kapsar
# Temel Bileşenler
- Ağ yığını
- Ağ yığınının üst katmanı (TCP, UDP)
- Ağ yığınının alt katmanı (GRO, RPS, RFS, GSO)
- Ağ zamanlayıcısı
- NetFilter ve trafik kontrolü
- Bridge, Bond arayüzü, Tap arayüzü vb. çeşitli ağ arayüzleri
- Cihaz sürücüsü
- Kuyruk (Queue)
- NAPI
- IRQ işleyicisi
- NIC üzerinde hızlandırılan ağ işlevleri
- checksum offload, VLAN, VxLAN, GRE, TSO, LRO, RSS vb.
# Özellikler ve Ek Bilgi
- Her katman için optimizasyon ipuçları ve istatistik bilgileri birlikte verilir
- Ağ kartına kadar uzanan tüm akışın ayrıntılı bağlantısı sağlanır
- Bu diyagram, “Operativni sustavi i računalne mreže - Linux u primjeni” adlı ders kitabının bir parçası olarak teknik bir referans kaynağı olarak yüksek değere sahiptir
1 yorum
Hacker News yorumu
Bu seviyede belgelerin gerçekten çok daha fazla olması gerektiğini hissediyorum.
Ben de yıllardır IPtables'ı doğru şekilde kullanamamışım.
Kitaplar alıp bloglardaki farklı örnekleri denedim ama hangi parçanın nasıl çalıştığını anlayamadığım için onu düzgün kullanamadım.
Sonra paketin çekirdekten geçişini gösteren bir diyagram (akış diyagramı) buldum; bu diyagram sayesinde kural zincirlerinin tam olarak hangi sırayla uygulandığını ve sysctl değerlerinin nerede etkili olduğunu öğrenebildim.
Bu sayede kuralları istediğim gibi doğrudan yazabildim ve performansı da hesaba katarak uygun olanları seçebildim.
Tek bir diyagramın sanki her şeyi ilk andan itibaren doğru çalışır kıldığını gördüm.
İyi bir diyagramın ne kadar etkili olabileceğini yaşayarak gördüm.
Bu diyagramın burada olup olmadığını merak ediyorum.
Firewall'da paketin hangi kuralda tam olarak eşleştiğini loglayan
TRACEhedefini de özellikle anmak istiyorum.Büyük ölçekli firewall'lar için gerçekten vazgeçilmez bir araç.
Bu diyagramı paylaşabilir misiniz diye sorabilir miyim?
Ben de iptables dünyasını gerçekten deneyimlemek istiyorum.
Ben de IPtables'ı uzun süre anlayamadım.
Sonra FreeBSD ve pf tables ile tanıştım; şimdi kendimi adeta ağ mühendisi gibi hissediyorum.
Elbette buna zaman ve emek harcamak gerekiyor, ancak öğrenme şeklim oturdu ve giderek daha fazla bilgi ekleyerek ilerleyebildim.
Herkese doğrudan denemesini tavsiye ederim.
FreeBSD firewall resmi belgeleri da bakılabilir bir kaynak.
Son dönemde The Book of PF'in 4. baskısı da çıktı.
İlgilenen biri varsa, bu diyagramın yazarının Linux disk I/O akış diyagramını da yaptığını söylemek isterim.
Buradan Linux disk I/O diyagramına bakabilirsiniz.
Tüm bu diyagramlar, yazarın Operativni sustavi i računalne mreže - Linux u primjeni adlı kitabından geliyor.
Kitabın orijinal metni de kamuya açık.
Yazarın güçlü ve anlayışlı çalışmasına alkışlıyorum.
Bu kitabın İngilizce çevirisi var mı merak ediyorum.
Disk I/O diyagramı çok iyi.
Paylaştığı için teşekkür ederim.
Linux Kernel map de çok iyi bir kaynaktır, göz atmanızı öneririm.
[Linux Kernel map linki](https://commons.wikimedia.org/wiki/File:Linux_kernel_map.png)
Hrvoje Horvat'a bu kadar detaylı bir diyagram hazırladığı için teşekkür ederim.
Network stack çalışması kesinlikle çok daha kolay olacak gibi görünüyor.
Yazarın Operativni sustavi i računalne mreže - Linux u primjeni kitabını okumak Hırvatça öğrenmeyi bile değerli kılıyor.
Kitabın yayınlanmasını tebrik ediyor ve bu değerli katkı için bir kez daha teşekkür ediyorum.
Kitap bağlantısı
Yazarın çalışması inanılmaz iyi.
İçimden samimi bir şekilde bir İngilizce çevirisinin olmasını diliyorum.
Bence gerçekten harika bir kaynak.
Eğer biri böyle bir diyagramı otomatik üreten bir görselleştirme aracı geliştirirse çok iyi olurdu ama pratikte bu neredeyse imkânsıza yakın görünüyor.
Yine de Mermaid veya PlantUML gibi araçlar belli ölçüde benzer bir alanı gösterebiliyor, PGF/TikZ ise görsel oluşturmak yerine metin üretimi açısından denemeye değer.
Konteyner ortamlarında da VM'lerdeki gibi kendi TCP/IP yığınını kullanabildiğimizi de belirtmek isterim.
slirp4netns kullanıldığında konteynerin kendi ağı olur; pasta ise çekirdeğin TCP/IP yığınını doğrudan kullanır.
Detay isterseniz buradaki diyagramı inceleyebilirsiniz.
Ben özellikle ağ yığını resmi olarak çalışıp öğrenmemiş olsam da, onlarca yıldır Linux kullandığım için çoğu yığınım tanıdık geliyor; bu da ilginç bir his.
Bu diyagramı SVG olarak görmek mümkün mü merak ediyorum.
Sadece PDF içinde yer alması okunmasını zorlaştırıyor.
Bu basitleştirilmiş bir çizimdir.
Gerçekte iptables veya nftables seviyesine kadar inmemiş.