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

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

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

はじめに

lwIP PCシミュレーション結果のうちの起動直後の話。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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上でのシミュレーション構成

フクさん
フクさん

念のため、シミュレーション構成の再確認をしておこうか?

太郎くん
太郎くん

はいよ。

lwIP-PCシミュレーション構成

とりあえず起動

フクさん
フクさん

まずはとりあえず起動してみよう。
そして、起動前にWiresharkでパケットキャプチャできるようにしておこう。

太郎くん
太郎くん

ん?
なんで?

フクさん
フクさん

たぶん、起動直後になんか飛ぶ。

太郎くん
太郎くん

(なんかって・・・。)

太郎くん
太郎くん

まぁ言われた通りやってみよう。

lwIP-PCシミュレーション起動直後のGARPとIGMP
太郎くん
太郎くん

あ、確かに何か飛んだ!

フクさん
フクさん

うん。
GARPIGMPが飛んでるね。

太郎くん
太郎くん

GARPとIGMP?

太郎くん
太郎くん

IGMPは以前やったような気がするが、GARPは初めて出てきた言葉かな?

太郎くん
太郎くん

ちなみに、IGMPはここでやったね。
マルチキャストグループ参加用のプロトコルだよ。

GARPとは

フクさん
フクさん

GARPの前にARPはわかる?

太郎くん
太郎くん

んー、MACアドレスとIPアドレスを紐づけるテーブルを作るやつだっけ?

太郎くん
太郎くん

分からん場合はWikipedia。(他力本願)

Address Resolution Protocol (アドレス解決プロトコル、略称:ARP、アープ)は、与えられたインターネット層アドレス(一般的にはIPv4アドレス)に対応するリンク層アドレス(MACアドレスなど)を発見するために使用される通信プロトコルである。この対応付けは、インターネット・プロトコル・スイートにおける重要な機能である。ARPは、1982年に RFC 826(インターネット標準 STD 37)で定義され、その後 RFC 5227, RFC 5494 により内容のエンハンスが行われている。

Wikipediaより
フクさん
フクさん

GARPはこのARPの一種になるね。

太郎くん
太郎くん

ということはこれもWikipediaだね。(他力本願)

Gratuitous ARP (GARP)はARPの一つで、ARPパケットの送信元ホスト自身のIPアドレスに対するARP(IPアドレスに対応するMACアドレスの取得)である。主に、ホストにIPアドレスを割り当てる際に、他のホストがすでに同じIPアドレスを使用していないか確認したり、相手の通信機器のARPテーブルに送信元ホストのIPアドレスとMACアドレスを追加させるために使用する。(DHCPによりIPアドレスを配布された後、当該IPアドレスが既に利用されていないかを確認する場合に用いる)ARP本来の目的である相手の接続機器のIPアドレスに対するMACアドレスの取得のために使用するわけではない。

Wikipediaより
太郎くん
太郎くん

ん?なんかちょっと目的が違う???

GARPの目的

フクさん
フクさん

まぁWikipediaに記載された通りなんだけど、
組み込みならではの話を付け加えておこう。

太郎くん
太郎くん

あー、それは面白そう。

フクさん
フクさん

組み込みシステムの場合は固定IPであることが多い。
この固定IPが他の装置と衝突している可能性があるが十分にある。
これをいち早く検知するために早々にGARPで宣言することが多い。
という感じ。

太郎くん
太郎くん

一般的にPCだと当たり前であまり気にしないポイントでも
組み込み系だとその当たり前が当たり前じゃないこととかありそうだもんねー。

フクさん
フクさん

まぁ組み込みLinux級になるとPCと変わらん性能になるだろうけど、
ベアメタル(OSなし)、RTOSで実現してる場合はPCと同じというわけには中々いかないねー。

太郎くん
太郎くん

それで、早々にGARPで問題が見えるようにしているわけか。

まとめ

フクさん
フクさん

まとめだよ。

  • lwIP起動直後に送信しているパケットがある。
    • GARPとIGMP。
  • IGMPはマルチキャストグループ参加。
  • GARPはARPの一種だが、聞かれて答えるタイプではなく能動的に宣言するタイプ。
    • 組み込み機器とかはPCのように柔軟な対応ができないことが多いため、早々にGARPでIPアドレスを宣言することが多い。

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

コメント

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