1 poin oleh GN⁺ 2024-09-08 | Belum ada komentar. | Bagikan ke WhatsApp
  • Agar perangkat embedded juga dapat menjalankan TCP/IP, lwIP 2.1.0 menyediakan keluarga protokol TCP/IP sebagai implementasi mandiri berukuran kecil
  • Berfokus pada penyediaan TCP berskala penuh sambil menargetkan lingkungan dengan RAM puluhan KB dan sekitar 40KB ROM kode
  • Cakupan dukungannya luas, mencakup IPv4/IPv6, ICMP, IGMP, MLD, IPv6 Neighbor Discovery, DHCP, UDP, TCP, raw/native API, Berkeley-style socket API, altcp, PPP, DNS, hingga 6LoWPAN
  • Aplikasi bawaan mencakup server HTTP, agen SNMPv2c, SNTP, responder layanan nama NetBIOS, responder mDNS, server iPerf, dan klien MQTT
  • Tersedia dengan lisensi BSD, serta dikembangkan dan dipelihara oleh jaringan pengembang global melalui repositori Git Savannah dan mailing list

Desain stack TCP/IP untuk embedded

  • lwIP adalah implementasi mandiri kecil dari keluarga protokol TCP/IP
  • Tujuan desainnya adalah mencapai pengurangan penggunaan RAM sekaligus menyediakan TCP berskala penuh
    • Cocok untuk sistem embedded yang memiliki RAM kosong puluhan KB
    • ROM kode diasumsikan memiliki ruang sekitar 40KB
  • Awalnya dikembangkan oleh Adam Dunkels di Computer and Networks Architectures lab, Swedish Institute of Computer Science, dan kini dipelihara oleh jaringan pengembang global
  • Protokol jaringan dan API

    • Lapisan IP mendukung IPv4 dan IPv6, dan juga memungkinkan packet forwarding antar beberapa antarmuka jaringan
    • Untuk pemeliharaan jaringan dan debugging disediakan ICMP, sedangkan untuk pengelolaan trafik multicast disediakan IGMP
    • Fitur terkait IPv6 mencakup MLD dan ND
      • MLD menargetkan kepatuhan RFC 2710, tetapi tidak mendukung MLDv2
      • ND menargetkan kepatuhan terhadap RFC 4861 Neighbor Discovery dan RFC 4862 address autoconfiguration
    • Untuk konfigurasi alamat dan resolusi nama, tersedia DHCP, AutoIP/APIPA, stateless DHCPv6, DNS, dan mDNS
    • Lapisan transport mencakup UDP dan TCP
      • UDP mencakup ekstensi eksperimental UDP-lite
      • TCP mendukung congestion control, estimasi RTT, fast recovery, fast retransmit, dan transmisi SACK
    • Untuk API dan fitur ekstensi, didukung raw/native API, Berkeley-style socket API opsional, TCP berlapis opsional altcp, PPPoS, PPPoE, dan 6LoWPAN
      • altcp menyediakan TLS yang hampir transparan untuk protokol berbasis TCP
  • Aplikasi yang disertakan

    • Server HTTP mendukung SSI dan CGI, dan HTTPS disediakan melalui altcp
    • Agen SNMPv2c menyertakan kompiler MIB, dan v3 disediakan melalui altcp
    • Mencakup SNTP, responder layanan nama NetBIOS, dan responder mDNS
    • Mencakup implementasi server iPerf dan klien MQTT, sementara dukungan TLS untuk MQTT disediakan melalui altcp

Partisipasi pengembangan dan dokumentasi

  • lwIP tersedia bebas dengan lisensi BSD
  • Pengembangan di-host di Savannah, dan perbaikan dapat diikuti melalui antarmuka Savannah, Git, dan mailing list
  • Tim pengembang inti melakukan commit perubahan ke source tree Git
    • Stack TCP/IP dipelihara di modul Git lwip
    • Kontribusi seperti platform port ada di modul Git contrib
  • Source tree Git saat ini dapat ditelusuri di web
  • Patch dan bug dikirim melalui lwIP project page
  • Build continuous integration untuk GCC dan clang disediakan di Travis CI
  • Dokumentasi internal source code saat ini diekstrak secara berkala dari source Git dan disediakan di halaman web lwIP
  • Dokumentasi dan materi pembelajaran dapat ditemukan di wiki, mailing list, arsip yang dapat dicari, file docs/, dan dokumentasi source code

Belum ada komentar.

Belum ada komentar.