【Ethernet】車載ネットワーク その70【lwIP+npcap⑯】

【Ethernet】車載ネットワーク その70【lwIP+npcap⑯】 車載ネットワーク

バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-network-backnumber/

はじめに

lwIP PCシミュレーションでHTTPサーバ実現の話。

動作方法と動作結果をWiresharkで確認してみる。

あとちょっと感想とか。

ソースコードは最後の方にGithubのURLを貼っている。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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 PCシミュレーションでHTTPサーバ

フクさん
フクさん

さて、当初の目的のHTTPサーバの動作確認だ。

太郎くん
太郎くん

果たして本当に動くのだろうか・・・。

フクさん
フクさん

まぁpingも上手く通ってたし、
動かなくてもTCPのところ潜って調べるくらいだよ。

太郎くん
太郎くん

いや、チョロそうな言い方してるけど、
そうそうチョロい話じゃないんじゃないの?!

フクさん
フクさん

まぁチョロくはないなー。

フクさん
フクさん

まぁとりあえず動かしてみよう。

太郎くん
太郎くん

で、どうやって動作確認すれば良いの?

lwIP PCシミュレーションでHTTPサーバ動作方法

フクさん
フクさん

そこからか・・・。

太郎くん
太郎くん

ブラウザで見ればいいと思うんだけど、
URLとかどうなるのかなって。

フクさん
フクさん

URLはないんで、
IPアドレス直打ちになるねー。

太郎くん
太郎くん

IPアドレス直打ち?

フクさん
フクさん

こんな感じ。
http://192.168.40.100

太郎くん
太郎くん

え!
これでいいんだ!

フクさん
フクさん

一般的には
http://www.google.com
みたいな感じだと思うけど、
これはwww.google.comをDNSで該当IPアドレスを問い合わせてから
http://192.168.40.100
相当をしていると思えばいいよ。
(厳密には違うけど。)

太郎くん
太郎くん

まぁやり方はわかった。
ちょっとやってみる。

フクさん
フクさん

ブラウザでプロキシ設定している場合はその設定をオフにしておいた方が良いよ。

太郎くん
太郎くん

はーい。

lwIP PCシミュレーションでHTTPサーバ動作結果

太郎くん
太郎くん

お?
お?
おーーー!

フクさん
フクさん

(なんだ・・・この反応は・・・どっちだ?)

太郎くん
太郎くん

うん。
動いたみたいだ。

フクさん
フクさん

(ほっ)

太郎くん
太郎くん

結果はこんな感じ。

lwIP-PCシミュレーションのHTTPサーバ動作確認
フクさん
フクさん

うん。
バッチリ動いてるね。
lwIPのHTTPサーバ用のサンプルページが表示されてる。

太郎くん
太郎くん

ということはlwIPのPCシミュレーションはOKってこと?

フクさん
フクさん

当然、完璧かどうかは分からないけど、
基本的には動作しているってことになるねー。

感想

フクさん
フクさん

しかし、今回のlwIP PCシミュレーションは太郎くんが言い出した話だから
完遂できてホント良かったよー。

太郎くん
太郎くん

ホント言い出した手前やめられなくなったから、
結構ひやひやびくびくしながら必死に調べ上げたって感じだったよー。

フクさん
フクさん

そーだろーそーだろー。

太郎くん
太郎くん

フクさんも今前のシミュレーションネタでは結構ひやひやしてたの?

フクさん
フクさん

一応、事前実験して少なくとも動作はするだろうって裏を取ってたりするんで、
ひやひやってほどはないかな?
仮に失敗しても失敗した事実とその原因が重要な情報だったりするからねー。

太郎くん
太郎くん

でも、原因が分からなかったりしたら大変じゃない?

フクさん
フクさん

まぁそこも辻褄があいそうな考察ぶっこんでそれっぽく終わらすこともできるし、
あんまり悩まないかなー。

太郎くん
太郎くん

マジか。マジすげぇな。

失敗は怖くない?

フクさん
フクさん

まぁこういう思考が失敗を恐れないというか、
そもそも本質的な失敗は存在しないって認識がいろいろ実験できるってことになるのかなー。

太郎くん
太郎くん

とういえばトーマス・エジソンの格言にもそういうのあったよねー。

私は失敗したことがない。ただ、1万通りの、うまく行かない方法を見つけただけだ。

トーマス・エジソン
フクさん
フクさん

そうそう。

フクさん
フクさん

とはいっても時間は有限だったりすることが多いから、
どっかで着地点を模索する方にシフトする必要に迫られることは多いけどねー。

太郎くん
太郎くん

キレイに終わりそうだったのに・・・。

フクさん
フクさん

まぁ偉人程できた鳥ではないんでねー。

太郎くん
太郎くん

次回からはどうするの?

フクさん
フクさん

ちょっと車載Ethernetの具体的な物理層の話をしていなかったんで、
そこに切り込んでみようかと。

太郎くん
太郎くん

え?
物理層が一般的なのと違うの?

フクさん
フクさん

まぁPCを直接つないで動くって感じではないねー。
そういう注意点も含めての話かなー。

太郎くん
太郎くん

まぁ知っておいた方が良さそうだね・・・。

ソースコード

フクさん
フクさん

今回使用したコードはGithubに上げておいた。
興味ある人は除いてみると良いだろう。

GitHub - KEIKEI999/lwip_test_with_pcap: lwIPをWindowsPC上でシミュレーション。疑似ネットワークインターフェースとしてnpcapを使ってる。
lwIPをWindowsPC上でシミュレーション。疑似ネットワークインターフェースとしてnpcapを使ってる。 - KEIKEI999/lwip_test_with_pcap

まとめ

フクさん
フクさん

まとめだよ。

  • lwIP PCシミュレーションでHTTPサーバを動作させた。
    • ブラウザのアドレスバーにIPアドレスを打ち込む感じ。
    • lwIPのサンプルページが表示される。
  • 本質的な失敗は存在しない。
    • うまくいかない方法を発見できたと言える。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました