lwIP – stack IP ringan
(nongnu.org)- 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
- Stack TCP/IP dipelihara di modul Git
- 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.