車載ネットワーク 【Ethernet】車載ネットワーク その71【100Base-T1①】 IEEEの説明をした。電気情報系の技術標準化機関。 IEEE802の説明をした。ローカルエリアネットワーク関連規格。 IEEE802.3。Ethernet関連規格。 IEEE802.3u。100Base-TX。 IEEE802.3bw。100base-T1(車載Ethernet) 2021.01.15 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その70【lwIP+npcap⑯】 lwIP PCシミュレーションでHTTPサーバを動作させた。 ブラウザのアドレスバーにIPアドレスを打ち込む感じ。 lwIPのサンプルページが表示される。 本質的な失敗は存在しない。 うまくいかない方法を発見できたと言える。 2021.01.14 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その69【lwIP+npcap⑮】 lwIPに向けてpingを打ってみた。問題無く応答。 pingレスポンスの直前にlwIPからARP要求発生。GARPによりPCからlwIPは見えているが、lwIPからPCが見えていないため。 ARPテーブルにlwIPのIPアドレスとMACアドレスが登録されているのを確認。 2021.01.13 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その68【lwIP+npcap⑭】 lwIP起動直後に送信しているパケットがある。GARPとIGMP。 IGMPはマルチキャストグループ参加。 GARPはARPの一種だが、聞かれて答えるタイプではなく能動的に宣言するタイプ。組み込み機器とかはPCのように柔軟な対応ができないことが多いため、早々にGARPでIPアドレスを宣言することが多い。 2021.01.12 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その67【lwIP+npcap⑬】 lwIP PCシミュレーション用のコードを書いた。 pcapとlwIPそれぞれの初期化処理を実施。pcapのデバイスリストとディスクリプタ関連。 lwIPのネットワークインターフェース関連。 その後にアプリ層のHTTPサーバの初期化。 最後にpcapの受信処理ループ。 2021.01.11 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その66【lwIP+npcap⑫】 HTTPサーバ機能の下にaltcp(application layered TCP connection API)が存在。 HTTPサーバの初期化コードを呼べばHTTPサーバとして動作する。httpd_initの中でlisten待ち。 accept時に受信、エラー、ポーリング、送信のコールバック設定。 2021.01.10 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その65【lwIP+npcap⑪】 npcapのキャプチャ処理APIについて説明。 pcap_next_exの方が分かり易いが、結局はpcap_loopと同等の実装になり易いため最初からpcap_loopにしておくのもあり。 pcap_loopにはコンテキスト維持用にユーザパラメータを渡すことができる。 2021.01.09 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その64【lwIP+npcap⑩】 npcapのパケットフィルタ有効化APIについて説明。 pcap_compileとpcap_setfilterはセットで使うAPI。 文字列で式を指定し、計測前にバイナリ変換する方式は割と一般的。センサ電圧を物理値(圧力とか流量とか)にリアルタイムで変換する場合など。 2021.01.08 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その63【lwIP+npcap⑨】 npcapのフィルタ文字列コンパイルAPIについて説明。 フィルタ文字列仕様はtcpdumpのフィルタ書式と一緒。 tcpdumpのフィルタ書式はかなり数が多いため、良く使用しそうなものに限定。MACアドレスフィルタ。 IPアドレスフィルタ。 IPアドレとポートをフィルタ。 2021.01.07 車載ネットワーク
車載ネットワーク 【Ethernet】車載ネットワーク その62【lwIP+npcap⑧】 npcapのデバイスのリンクタイプ取得APIについて。 pcap_datalinkはリンクタイプ取得API。 リンクタイプはbpf.hで定義されている。 引数はpcap_open_liveで取得したディスクリプタを渡すのみ。 Ethernetの場合は"DLT_EN10MB"が戻り値となる。 2021.01.06 車載ネットワーク