プロトコルスタック - oraccha/omicron GitHub Wiki

TCP/IP

ちっちゃな実装

  • [http://www.sics.se/~adam/lwip/ lwIP] ([http://savannah.nongnu.org/projects/lwip/ Savannah.nongnu.org]) . 組込み用途に使うには,これはよさげそう. スペックを満たしてないと思うけど,IPv6のコードも入ってるし.

    • [http://www.deserted.net/lwIP/ ソースコードを見てみる]
    • コード行数は 12k ぐらい.ちなみに eCos は約 33k らしい.
    • [http://canals.disca.upv.es/~serpeal/RTL-lwIP/htmlFiles/ RTL-lwIP] . RTLinux のリアルタイムタスクとして動く?
  • [http://www.sics.se/~adam/uip/ uIP] . lwIP と同じ作者([http://www.sics.se/~adam/talks.html Adam Dunkels] 氏)によるスタック.8bit/16bit プロセッサで動作可能.

    • 2006-06-12: 1.0 リリース.
  • uC/IP

  • ITRON な人達も独自APIを作っていたと思う.

    • http://tron.um.u-tokyo.ac.jp/TRON/ITRON/SPEC/tcpip-j.html ですね。ITRON系というよりも、Embbeded TCP/IP の人たちが纏めたものを、TRON協会が追認した、という形じゃなかったかな(曖昧)。
    • なるほど.これのリファレンシャルな実装とか,オープンソースになっているものとかはないんですかね?
  • [http://wwwhnl.cs.uec.ac.jp/tate/cnp/ TinyIP] (UEC) . 教育用極小実装.

    • UDP/IP実装。下回りはBPFやPF_PACKETを利用する。
  • [http://www.unusualresearch.com/tinytcp/tinytcp.htm Tiny TCP/Tiny WEB/etc.]

  • [http://www.cs.cmu.edu/~fox/foxnet.html FoxNet] (CMU) . Standard ML による実装.

ハードウェアによる実装

  • [http://www.watch.impress.co.jp/internet/www/article/2000/1205/ipsil.htm 米Ipsilが世界最小のTCP/IPスタックチップを開発ギネスブックに申請中] (InternetWatch 2000-12-05) . [http://www.ipsil.com/ Ipsil]社は,5,000ゲートの8bitプロセッサで TCP/IP プロトコルスタックを実装したそうな.
    • [http://www.hat.hi-ho.ne.jp/tujikawa/esepld/intro.html 似非PLDプロジェクト紹介]の ページによるとZ80のゲート数が約3,000ゲートだったらしい.

その他

  • Alpine
  • [http://tservice.net.ru/~s0mbre/old/?section=projects&item=unetstack Userspace Network Stack] . [http://tservice.net.ru/~s0mbre/old/?section=projects&item=netchannel NetChannels]ベースの実装.
  • [http://www.linuxvirtualserver.org/ Linux Virtual Server] . in-kernel なロードバランサ?
  • [http://www.tel.fer.hr/zec/BSD/vimage/ Network stack cloning / virtualization extensions to the FreeBSD kernel] (FreeBSD)
  • TCP/IPプロトコル・スタックの省メモリ開発事例 ([http://www.kumikomi.net/article/explanation/2004/21tcpip1/01.html 前編]|[http://www.kumikomi.net/article/explanation/2004/22tcpip2/01.html 後編]) . M16C/62に,ROM 8Kバイト以内,RAM 0.5Kバイト以内に収まるTCP/IPプロトコル・スタックを作る.

Bluetooth


IrDA