2 つの Raspberry Pi ノードをスイッチに接続した場合、複数の Raspberry Pi ノードはどのようにして相互に通信するのでしょうか?

2 つの Raspberry Pi ノードをスイッチに接続した場合、複数の Raspberry Pi ノードはどのようにして相互に通信するのでしょうか?

どうやって IP アドレスを取得するのでしょうか? DHCP が有効になっていると仮定します。ルーター経由でアドレスを取得できることはわかっています。しかし、スイッチはどうでしょうか。アドレスを手動で割り当てる必要がありますか?

答え1

アドレスを配布する DHCP サーバーがない場合は、両方の Paspberry Pi に静的アドレスを割り当てる必要があります。アドレスは同じサブネットから割り当てる必要があります。つまり、ネットワーク部分のアドレスは同じである必要があります。

両方の RPi に IPv4 リンク ローカル アドレスが自動的に設定されている場合は、これらのアドレスを使用して相互に通信できます。リンク ローカル アドレスは、プレフィックスから選択されることで認識できます169.254.0.0/16。通常、他のアドレスが割り当てられている場合は、インターフェイスはこれらのアドレスを使用するように設定されません。また、他のアドレスが利用できない場合でも、常に設定されるわけではありません。(これは Linux ディストリビューションによって異なります。) IPv4 リンク ローカル アドレスのもう 1 つの問題は、動的であることです。つまり、再起動後も同じままであることが保証されません。

最後に、 で始まる IPv6 リンク ローカル アドレスを使用できますfe80:。 IPv6 リンク ローカル アドレスは静的であり、常に割り当てられます (IPv6 を無効にしない限り)。ただし、長くて覚えにくいという問題があります。 にエントリを追加することで、この問題を回避できます。/etc/hostsIPv6 リンク ローカル アドレスは、ホストに複数のネットワーク インターフェイスがある場合にも少し問題があります。これは、宛先リンク ローカル アドレスに、リモート ホストにどのインターフェイス経由で到達できるかに関する情報が含まれていないためです。つまり、接続時に、IP アドレスに加えて でインターフェイスを指定しなければならないことがよくあります。

答え2

スイッチには IP アドレスがありません。IP レベルで何も変更せずに、スイッチに接続されているデバイスにパケットを送信するだけです。

答え3

上記の回答はすべて正しいと思いますが、1つか2つ抜けているところがあります。

スイッチは通常 IP アドレスを割り当てません (DHCP サーバー)。ただし、スイッチを持つルーター、または DHCP サーバーが有効になっているスイッチに接続されたルーターは、スイッチに接続されているすべてのデバイスに IP アドレスを割り当てます。ネットワーク トポロジがわからないため、正確にはわかりません。

通常、ルーターを設定して、ラズベリーパイに静的 IP アドレスを割り当てることができます。私もそうしています。必要なのはハードウェア アドレス (MAC アドレスとも呼ばれ、Fruity Firm とは関係ありません) だけです。MAC アドレスは、sudo ifconfigPi で を発行することで取得できます。また、IPv4 アドレスと IPv6 アドレスも一覧表示されます。(IPv4 は192.168.1.123、IPv6 [これらは私が持っているアドレスですが、他にも持っている可能性があります]、リンク ローカル IPv6 アドレス [ネットワークにローカル]は [IPv6 が設定されている場合、このようなリンク ローカル アドレスがすべてあります]2a01:e34:ee38:....で始まります)fe80::

私の DSL ルーターは、1 ~ 200 の範囲の IP アドレスを割り当てるように設定されています。200 を超える IP アドレスは「サーバー」であり、静的 IP アドレスを必要とするシステムです。私はこれらを静的 IP アドレスに使用します。

私は、MAC アドレスを使用して、特定の「サーバー」デバイスに特定のアドレスを割り当てるようにルーターを構成します。この方法では、デバイスを構成する必要がなく、OS を Orbit から削除して別の OS をインストールしても、同じ IP アドレスを取得できます。

幸運なことに、私の DSL ルーターはネットワーク上のすべてのデバイスをリストしているので、Pi を簡単に識別できます。

関連情報