バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-network-backnumber/
はじめに
IPフラグメントの特殊な仕様。
登場人物
博識フクロウのフクさん
イラスト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
IPフラグメントの特殊な仕様
前回、IPフラグメントの結合には成功したけど、
また別の仕様があるとかないとか・・・。
そんなに複雑な話ではないよ。
どんなん?
受信EthernetFrameの順番が入れ替わってもOK。
って仕様。
なにそれ?!
え?
どうするの?
IPヘッダのフラグの中の「継続」が無効だと最終フレームで、
それでパケット確定ってことじゃなかったっけ???
そうだねー。
そんな話だったかなー。
ここらへんでそういうこと言ってたじゃん!
IPフラグメントの断片化フレームは順番通りじゃなくてもよい
上の話はあくまで分割/結合ルールの話だねー。
実際にどの順番でフレームが来るかについては言及してない。
(なんか要件が噛み合わなかったことが納品後に発覚して、問答してる時にでてきそうなセリフだ。)
あ、でも、lwIPとしては対応してるから問題無し?
だといいなぁ。
えー!!
まぁやってみればわかるんじゃない?
ちょっと図解してみた。
とりえあず、一回落ち着いて。
説明するから。
とりあえず、説明は聞こう。
図解するとこんな感じ。
うーん。
これが許容されるってのが解せない。
まぁEthernetFrameが遅延するってのは仕様上あり得るからねー。
プロトコルスタックの仕様次第ってのもあるが、
途中のルータの仕様次第ってのもあって、
現実的には順番が変わることは起きなくとも、仕様上は加味しておく必要はある。
って感じだねー。
なるほど。
確かに、イレギュラーな状況は想定すべきではあるが。。。
組み込み用のプロトコルスタックでそこまで面倒見てるのかなー。
結構ハンドリングややこしそうだけど・・・。
まぁやり方はいろいろあるけど、
後日説明かなー。
とりえあず、まずはlwIPが受信可能かってところを確認だねー。
まとめ
まとめだよ。
- IPフラグメントはEthernetFrameの順番が入れ替わっても結合してくれる仕様。
- lwIPが対応しているかは不明。
バックナンバーはこちら。
コメント