バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-network-backnumber/
はじめに
lwIPの話。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
lwIP概要

まず、lwIPがどういったものかを説明しよう。

よろしく。

前回も言った通り、lwIPはオープンソースな組み込み向けプロトコルスタック。
組み込み向けってことで、
数十[Kbyte]のRAMと約40[Kbyte]のROMがあれば、なんとか入る。
APIはバークレーSocketに似た感じ。
TCP/IPプロトコルスタックということになっているが、
他のメジャーどころのプロトコルも対応。
アドオン済みアプリケーションが付随してる。
対応プロトコル

対応プロトコルは何があるの?

おおよそ以下だね。
- IPv4
- IPv6
- ICMP
- ND
- MLD
- UDP
- TCP
- IGMP
- ARP
- PPPoS
- PPPoE

うーん、見覚え無いプロトコルがあるなー。

今回は、
IPv4、UDP
が分かってるならとりあえずOKだよ。

じゃー大丈夫そうだ。
アドオン済みアプリケーション

あと、アドオン済みアプリケーションがあるようだけど、
これもどんなのがあるの?

アドオン済み以下アプリケーションは以下になる。
- HTTP(S)サーバー
- SNTPクライアント
- SMTP(S)クライアント
- ping
- NetBIOSネームサーバー
- mDNSレスポンダー
- MQTTクライアント
- TFTPサーバー

ほー。
HTTPサーバになったり、
SMTPでメールが送れたりするのか。

まぁ今回はアプリケーションのところは使わないけどねー。
結局使う機能は?

今回の目的って、
IPフラグメントされた、UDPを解析したいわけだから、
使う機能としては、
- IPv4
- UDP
の2つのみってことになるのかな?

そうだね。

そう考えると、
ちょっともったいない使い方な気がするなー。

でも、ま、いっか。

まぁ機能があるから全部使うって必要もないだろう。
目的ありきで、今回はたまたま極一部だけってことだね。

じゃー、次回はどうlwIPを利用するかって話かな。
まとめ

まとめだよ。
- lwIPは軽量プロトコルスタック。
- 数十[Kbyte]のRAMと約40[Kbyte]のROM。
- 対応プロトコル多数。
- APIはバークレーSocketタイプ。
- アドオン済みアプリケーションがある。
- HTTP(S)とかSTMP(S)とか。
バックナンバーはこちら。
コメント