lwIP

出典: フリー百科事典『ウィキペディア(Wikipedia)』

出典: フリー百科事典『ウィキペディア(Wikipedia)』
lwIP
作者 Adam Dunkels
開発元 lwIP開発者グループ
最新版 2.1.2 / 2018年12月22日(5か月前) (2018-12-22
リポジトリ git.savannah.nongnu.org/cgit/lwip.git
プログラミング言語 C言語
対応OS 複数
プラットフォーム 組み込みシステム
サポート状況 開発中
種別 インターネット・プロトコル・スイート
ライセンス 修正BSDライセンス
公式サイト savannah.nongnu.org/projects/lwip/
テンプレートを表示

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

lwIPは、多くの組み込みシステムのメーカーで使われている。 アルテラ (Nios IIオペレーティングシステムにおいて)、アナログ・デバイセズ (Blackfin DSPチップのために)、[1]ザイリンクス[2]ハネウェル (FAA認証を受けた航空システムに使用しているものがある)、フリースケール・セミコンダクタ(自動車向けマイクロコントローラー用のイーサネットストリーミングSW)などがその例である。

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

lwIPは、ReactOSGenodeのネットワークスタックとして利用されており、MINIXGNU 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) イーサネット用

その他

関連項目[編集]

参考文献[編集]

  1. ^ "Building Complex VDK/LwIP Applications Using Blackfin Processors ", Kaushal Sanghai, Analog Devices Inc. September 2008
  2. ^ Siva Velusamy, LightWeight IP (lwIP) Application Examples, Xilinx Inc. June 2009
  3. ^ (ed.), Yanwen Wu (2010). Software engineering and knowledge engineering : theory and practice. Berlin: Springer. pp. 639. ISBN 978-3-642-03717-7. http://books.google.se/books?id=oT4_AAAAQBAJ&pg=PA639&dq=%22LwIP%22&hl=sv&sa=X&ei=WERBUsuHAsvN4QTW7YHoBA&redir_esc=y#v=onepage&q=%22LwIP%22&f=false.