LwIP

lwIP (lightweight IP)は、幅広く使用されているオープンソースのTCP/IPのプロトコルスタックの実装であり、組み込みシステム向けに設計されている。
lwIPは、元々はAdam DunkelsによってSwedish Institute of Computer Scienceにおいて開発されていた。
現在は、世界中の開発者のネットワークによって開発されメンテナンスされている。 

lwIPは、多くの組み込みシステムのメーカーで使われている。
アルテラ (Nios IIオペレーティングシステムにおいて)、アナログ・デバイセズ (Blackfin DSPチップのために)、"Building Complex VDK/LwIP Applications Using Blackfin Processors ", Kaushal Sanghai, Analog Devices Inc. September 2008ザイリンクス、Siva Velusamy, LightWeight IP (lwIP) Application Examples, Xilinx Inc. June 2009ハネウェル (FAA認証を受けた航空システムに使用しているものがある)、フリースケール・セミコンダクタ(自動車向けマイクロコントローラー用のイーサネットストリーミングSW)などがその例である。

lwIPの実装の目的は、フルスケールのTCPにおいてもリソースの使用を削減すると言うことにある。
これによりlwIPは、数十キロバイトの自由に使えるRAMと約40キロバイトのプログラム用のROMを持った組み込みシステムに適しているようになった。

lwIPは、ReactOSとGenodeのネットワークスタックとして利用されており、MINIXやGNU Hurdにおいてネットワークサーバーの実装にも利用できる。

 lwIPの機能 
インターネット層
 IP (Internet Protocol) 複数の間のを含む
 ICMP (Internet Control Message Protocol) ネットワークのメンテナンスとデバッグ用
 IGMP (Internet Group Management Protocol) マルチキャストトラフィックの管理用

トランスポート層
 UDP (User Datagram Protocol) 実験的なUDP-Lite拡張を含む
 TCP (Transmission Control Protocol) 輻輳制御、RTT予測、ファストリカバリ/高速再送に対応

アプリケーション層
 DNS (Domain Name System)
 SNMP (Simple Network Management Protocol)
 DHCP (Dynamic Host Configuration Protocol)

リンク層
 PPP (Point-to-Point Protocol)
 ARP (Address Resolution Protocol) イーサネット用

その他
 性能を良くするために調整されたネイティブAPI
 オプションとしてのバークレーソケット類似のAPI
 AUTOIP / リンクローカルアドレス (IPv4用であり、に適合する)

 関連項目 
 uIP

 参考文献 

 外部リンク 
 Adam Dunkelによる最初のlwIPについての論文
 lwIPの開発
 lwIPドキュメントwiki
 lwIP機能ドキュメント
 lwIPの旧ホームページ

Category:組み込みシステム
Category:ネットワークソフト
Category:オープンソースソフトウェア