1 puan yazan GN⁺ 2024-09-08 | Henüz yorum yok. | WhatsApp'ta paylaş
  • 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ı lwip Git modülünde sürdürülür
    • Platform portları gibi katkılar contrib Git modülünde yer alır
  • 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.

Henüz yorum yok.