Ethernet

車載ネットワーク

【Ethernet】車載ネットワーク その27【lwIP③】

lwIPをPC上で無理やりビルドした時の話。 lwIPをPC上でビルドした。 修正はarch/cc.hに起因するもの。 arch/cc.hはコンパイラ依存部の辻褄合わせようのヘッダファイル。
車載ネットワーク

【Ethernet】車載ネットワーク その26【lwIP②】

lwIPをPC上で無理やり動作させる準備の話。 lwIPのソースコードを入手。 開発環境はVisualStudio 2017 express。 community版だといろいろ利用する上で制約があるので。
車載ネットワーク

【Ethernet】車載ネットワーク その25【lwIP①】

IPフラグメント対応目的とした場合のlwIP含めたシステム構成の話。 lwIPにBLFのEthernetFrameを入れるシムテム構成を描いた。 EthernetInputが受信割り込み時に呼び出す関数。 事前にUDP Socketを生成する必要がある。 事前にマルチキャストグループに参加する必要がある。
車載ネットワーク

【Ethernet】車載ネットワーク その24【プロトコルスタック③】

lwIPの話。 lwIPは軽量プロトコルスタック。 数十[Kbyte]のRAMと約40[Kbyte]のROM。 対応プロトコル多数。 APIはバークレーSocketタイプ。 アドオン済みアプリケーションがある。 HTTP(S)とかSTMP(S)とか。
車載ネットワーク

【Ethernet】車載ネットワーク その23【プロトコルスタック②】

組み込み向けプロトコルスタックの話。 オープンソースなプロトコルスタック3つを紹介。 TINET。 uIP。 lwIP。 lwIPを使用予定。
車載ネットワーク

【Ethernet】車載ネットワーク その22【プロトコルスタック①】

プロトコルスタックの説明。 組み込み向けのプロトコルスタックを使用すると何かできるかも?
車載ネットワーク

【Ethernet】車載ネットワーク その21【IPフラグメント④】

IPフラグメント最後のEthernetFrameを確認。 IPヘッダの継続フラグが0。 残りのサイズが埋まっている。 断片化位置が8byte境界になっていればよいので、パケット末端は8byte境界である必要はない。 真面目に結合していくとメンドクサイ。 次回以降にちょっとした裏技をやる予定。
車載ネットワーク

【Ethernet】車載ネットワーク その20【IPフラグメント③】

BLFに埋まっていたEthernetFrameをIPフラグメントの断片化位置に着目して解析する。 2フレーム目を確認。 これもIPヘッダのフラグは継続。 断片化位置の値は、その値×8が実際のデータオフセット位置となる。 よって、IPフラグメントは8byte境界の仕様が暗黙的に発生する。
車載ネットワーク

【Ethernet】車載ネットワーク その19【IPフラグメント②】

BLFに埋まっていたEthernetFrameをIPフラグメントに着目して解析する。 IPフラグメントに着目してEthernetFrameを確認。 IPヘッダのフラグでIPフラグメントになるかどうかが決定する。 断片化位置で全体のどこのデータかが分かるようになっている。
車載ネットワーク

【Ethernet】車載ネットワーク その18【IPフラグメント①】

BLFに埋まっていたEthernetFrameを解析していく回。 BLFのEthernetFrameを分解してみた。 UDPだった。 データ長がEthernetFrameの最大長を超えていた。 つまり、IPフラグメント仕様が使われている。