TCP/IPプロトコル・スタックの省メモリ開発事例(前編) ――ミドルウェアの追加で既存の16ビット・マイコンがネット対応マイコンに変身
● 割り切ってあきらめる機能をリストアップする
TCP/IPの仕様は,インターネットにつながるあらゆる機器に実装される可能性を想定して規定されています.今回筆者らがターゲットとしているのは,前述のとおり16ビット・マイコンであり,それが搭載される機器は規模の小さい組み込み機器であるケースがほとんどです.そのような応用分野に限定すれば,必要な仕様を絞り込むことができます.筆者らは,そのような応用では明らかに不要な機能を省略することにしました.以下に省略した主な機能を挙げます.
- ルータ,ゲートウェイに必要な機能(パケットの中継,アドレス変換,ルーティングなど)
- 複数インターフェースへの対応
- 管理用の機能(ICMP注3の各種エラー・メッセージなど)
- IPのオプション機能
- TCPのオプション機能(ただし,最低限必要なMSS注4オプションだけには対応した)
- IPフラグメント
注3;ICMP(internet control message protocol)は,IPのエラー・メッセージや制御メッセージを転送するためのプロトコルである.pingはこのプロトコルを使ってネットワークを診断する. 注4;MSS(maximum segment size)は,TCPデータ長の最大サイズで ある.