バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-network-backnumber/
はじめに
太郎くんの思いつきネットワークシミュレーション環境。
簡単に言うと、lwIPとnpcapの組み合わせっぽい話。
登場人物
博識フクロウのフクさん

イラスト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とかnpcapとかやってきたわけだけど・・・。

んー?
なに?

これって組み合わせたら
PC上でlwIPのシミュレーション環境になったりしない?

おー!
確かに!
よく思いついたねー!!

今までCANはVirtualCANBusとか使ってたじゃん?
Ethernetもそんな感じにならないかなーって。
太郎くんの思い付きを絵にしてみた。(lwIP+npcap)

どんなイメージか、
一回描いてみるといいんじゃん?

いやー。
ホント思い付きでなにがどうつながるかはまだなんとも・・・。

まぁ合ってる合ってないは二の次として
とりあえず落書きのつもりで描いてみると良いと思うよ。

じゃー、とりあえず描くと。


すごくシンプルだけど、こんな感じかな?
lwIP+npcapのシミュレーション構成をもうちょい詳細に

ほー。
確かにlwIPの下にnpcapを置けば辻褄は合いそうだ!

もう少し、詳細に書けないかなー。

それならば、
目的をどこに置くか決めた方が良いね。

目的?

例えば、
lwIPのアドオン済みのアプリケーションにHTTPサーバがあるんだけど、
これが動作させることを目的とする。
とか。
あと、通信できるかどうか確認することを考えるとpingことICMPも対応しておいた方が良いだろう。これを中間ゴールとする。
さらに、
データリンク層としてネットワークに参加するためにはARPという機能も必要になるね。

うーん、整理すると
アプリ層:HTTP
トランスポート層:TCP、ICMP
ネットワーク層:IP
データリンク層:ETHER、ARP
みたいな構成かな???

そうだね。
じゃー、それも加味して構成を描いてみなよ。

良し。ざっと描いた。


うん。いいじゃん!

なるほど!
確かに目的があると、何を載せるか、それを載せるには何が必要か、
中間で確認しようと思ったら何がやり易いか、
ってあたりが出てくるから自然と構成がきまるのか!

そうだね。
まずは大雑把でも良い。
そこから徐々に詳細にしていけばいいだけ。

初めてシステム構成みたいなの描いたけど、
これはいい経験になった気がするぞ。
まとめ

まとめだよ。
- 太郎くん思い付きのシミュレーション構成。
- lwIPの下にnpcapを置くことでプロトコルスタックのシミュレーション。
- 目的はlwIPにアドオン済みのHTTPサーバの動作。
- 中間の動作確認用にpingことICMPも搭載しておく。
バックナンバーはこちら。
コメント