私のルーターはDHCPを使用しており、ラズベリーpiを再フォーマットするたびに、別のmicroSDカードを使用する場合でも、常に同じLAN IPを使用します。IPがどのように割り当てられるのかはよくわかりませんが、デバイスには、ルーターが認識するネットワーク上の一意のIDがあると思いますか?
私のルーターはDHCPを使用しており、ラズベリーpiを再フォーマットするたびに、別のmicroSDカードを使用する場合でも、常に同じLAN IPを使用します。IPがどのように割り当てられるのかはよくわかりませんが、デバイスには、ルーターが認識するネットワーク上の一意のIDがあると思いますか?
回答:
Raspberry Piには、MACアドレスと呼ばれる一意のIDがありますが、正確には2つです。各ネットワークアダプターには、それらの1つがあります。したがって、Wi-Fiアダプターには一意のIDが1つあり、イーサネットアダプターにはあります。
これが、Raspberry Piが同じIPを取得する理由です。ルーターにとって、デバイスで何をしているのかは重要ではありません。MACを認識するだけで、以前と同じIPを提供します。
編集:Beegeが指摘したように、DHCPの「D」は動的を表しているため、IPは変更される可能性があります。ただし、デバイスがDHCP経由で以前と同じIPを取得した場合、認識されているMACが原因です。
actually two to be precise
-pi3bまたは3b +を想定
すでに与えられた答えに加えて、追加の背景情報を提供します。
一般に、DHCPプロトコルは、動的な変更を可能な限り減らすために作成されます。それは安定性の側面です。小規模なホームネットワークではそれほど重要ではありませんが、スイッチとルーターを備えた大規模ネットワークでは、最適化された状態になるまでに時間がかかります。スイッチはネイバーを学習する必要があり、ルーターはルートを学習する必要があります。IPアドレスの大幅な変更は、この状態には適していません。
ほとんどの人は、DHCPサーバーがクライアントにIPアドレスを与えるだけだと思うかもしれません。しかし、それは真実の半分にすぎません。一般的なDHCPハンドシェイクを次に示します。
(client) DHCPREQUEST for 192.168.10.75 from b8:27:eb:0e:3c:6f (raspi3) via wlan0
(server) DHCPACK on 192.168.10.75 to b8:27:eb:0e:3c:6f (raspi3) via wlan0
ご覧のとおり、クライアントはMACアドレスb8:27:eb:0e:3c:6fで識別され、特定のIPアドレスを要求しています。新しいスタートアップ後も、以前のIPアドレスを知っています。DHCPサーバーはそれを確認するだけです。それがクライアントに与えるものはリースと呼ばれます。クライアントが再度要求することなくIPアドレスを使用できる期間(他の多くの重要なオプションとともに)タイムアウトが含まれています。タイムアウトはセットアップに依存し、主に数時間に設定されます。DHCPサーバーはリースをキャッシュに保存し、同じクライアントがシャットダウンされている場合でも、可能な限りそれを予約します。そのため、再度ブートアップするときに、クライアントがリースを確認するだけです。サーバーにクライアントに提供する他の未使用リースがない場合にのみ、使用済みリースを取得します。ハンドシェイクは次のようになります。
(client) DHCPREQUEST for 192.168.10.75 from b8:27:eb:0e:3c:6f (raspi3) via wlan0
(server) DHCPNAK on 192.168.10.75 to b8:27:eb:0e:3c:6f via wlan0
(client) DHCPDISCOVER from b8:27:eb:0e:3c:6f via wlan0
(server) DHCPOFFER on 192.168.10.99 to b8:27:eb:0e:3c:6f via wlan0
(client) DHCPREQUEST for 192.168.10.99 from b8:27:eb:0e:3c:6f (raspi3) via wlan0
(server) DHCPACK on 192.168.10.99 to b8:27:eb:0e:3c:6f (raspi3) via wlan0
DHCPサーバーが要求を拒否(DHCPNAK)し、新しいIPアドレスを提供することがわかるように、次のステップでクライアントが要求します。この追加のステップは、提供されたIPアドレスを受け入れない可能性をクライアントに与えるために行われます...