lwIP – Hafif IP yığını
(nongnu.org)- Gömülü cihazlarda da TCP/IP çalıştırılabilmesi için lwIP 2.1.0, TCP/IP protokol ailesini küçük ve bağımsız bir uygulama olarak sunar
- Onlarca KB RAM ve yaklaşık 40KB kod ROM düzeyindeki ortamları hedeflerken, aynı zamanda tam ölçekli TCP sağlamaya odaklanır
- Destek kapsamı IPv4/IPv6, ICMP, IGMP, MLD, IPv6 Neighbor Discovery, DHCP, UDP, TCP, raw/native API, Berkeley tarzı socket API, altcp, PPP, DNS ve 6LoWPAN'a kadar uzanır
- Dahili uygulamalar olarak HTTP sunucusu, SNMPv2c ajanı, SNTP, NetBIOS ad hizmeti yanıtlayıcısı, mDNS yanıtlayıcısı, iPerf sunucusu ve MQTT istemcisi içerir
- BSD lisansı ile sunulur ve Savannah'daki Git deposu ile e-posta listeleri üzerinden dünya çapındaki geliştirici ağı tarafından geliştirilip bakımı yapılır
Gömülü sistemler için TCP/IP yığını tasarımı
- lwIP, TCP/IP protokol ailesinin küçük ve bağımsız bir uygulamasıdır
- Tasarım hedefi, RAM kullanımını azaltmak ile tam ölçekli TCP sağlamayı birlikte başarmaktır
- Onlarca KB boş RAM'e sahip gömülü sistemler için uygundur
- Kod ROM'u için yaklaşık 40KB alan varsayılır
- İlk olarak Adam Dunkels tarafından Swedish Institute of Computer Science bünyesindeki Computer and Networks Architectures lab'de geliştirildi; bugün ise dünya çapındaki geliştirici ağı tarafından sürdürülmektedir
-
Ağ protokolleri ve API'ler
- IP katmanı IPv4 ve IPv6'yı destekler ve birden fazla ağ arayüzü arasında paket yönlendirmesi de yapabilir
- Ağ bakımı ve hata ayıklama için ICMP, çok noktaya yayın trafiği yönetimi için ise IGMP sunar
- IPv6 ile ilgili özellikler arasında MLD ve ND bulunur
- MLD, RFC 2710 uyumluluğunu hedefler ancak MLDv2 desteklenmez
- ND, RFC 4861 Neighbor Discovery ve RFC 4862 adres otomatik yapılandırmasıyla uyumluluğu hedefler
- Adres yapılandırma ve ad çözümleme işlevleri olarak DHCP, AutoIP/APIPA, stateless DHCPv6, DNS ve mDNS sunar
- Taşıma katmanı UDP ve TCP'yi içerir
- UDP, deneysel UDP-lite uzantısını içerir
- TCP; tıkanıklık kontrolü, RTT tahmini, fast recovery, fast retransmit ve SACK iletimini destekler
- API ve genişletme özellikleri olarak raw/native API, isteğe bağlı Berkeley tarzı socket API, isteğe bağlı katmanlı TCP altcp, PPPoS, PPPoE ve 6LoWPAN desteklenir
- altcp, TCP tabanlı protokoller için neredeyse saydam TLS sağlar
-
Dahil edilen uygulamalar
- HTTP sunucusu SSI ve CGI destekler; HTTPS ise altcp üzerinden sağlanır
- SNMPv2c ajanı bir MIB derleyicisi içerir; v3 ise altcp üzerinden sağlanır
- SNTP, NetBIOS ad hizmeti yanıtlayıcısı ve mDNS yanıtlayıcısı içerir
- iPerf sunucusu uygulaması ve MQTT istemcisi içerir; MQTT için TLS desteği altcp üzerinden sağlanır
Geliştirmeye katılım ve belgeler
- lwIP, BSD lisansı ile özgürce sunulur
- Geliştirme Savannah üzerinde barındırılır ve Savannah arayüzü, Git ve e-posta listeleri üzerinden iyileştirmelere katkıda bulunulabilir
- Çekirdek geliştirme ekibi değişiklikleri Git kaynak ağacına commit eder
- TCP/IP yığını
lwipGit modülünde sürdürülür - Platform portları gibi katkılar
contribGit modülünde yer alır
- TCP/IP yığını
- Mevcut Git ağacı şu anda web üzerinden görüntülenebilir
- Yama ve hata bildirimleri lwIP project page üzerinden gönderilir
- Sürekli entegrasyon derlemeleri GCC ve clang için Travis CI üzerinde sunulur
- Kaynak kodun kendi belgeleri, mevcut Git kaynağından düzenli olarak çıkarılır ve lwIP web sayfası üzerinden sunulur
- Belgeler ve öğrenme materyalleri wiki, e-posta listeleri, aranabilir arşivler,
docs/dosyaları ve kaynak kod belgelerinde bulunabilir
Henüz yorum yok.