![DHCP と IP は相互に依存していますか?](https://rvso.com/image/1703337/DHCP%20%E3%81%A8%20IP%20%E3%81%AF%E7%9B%B8%E4%BA%92%E3%81%AB%E4%BE%9D%E5%AD%98%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
DHCP はアプリケーション層のプロトコルであるため、ネットワーク層の IP プロトコルに依存する必要があります。しかし、IP プロトコルでは、ネットワーク インターフェイスに IP アドレスを割り当てる必要があり、これは DHCP の仕事です。DHCP と IP は相互に依存しているため、事前に互いの存在を必要としているのでしょうか。この循環的な依存関係はどのように機能するのでしょうか。
答え1
DHCP はアプリケーション層のプロトコルであるため、ネットワーク層の IP プロトコルに依存する必要があります。しかし、IP プロトコルでは、ネットワーク インターフェイスに IP アドレスを割り当てる必要があり、これは DHCP の仕事です。DHCP と IP は相互に依存しているため、事前に互いの存在を必要としているのでしょうか。この循環的な依存関係はどのように機能するのでしょうか。
それは難しい依存性: DHCP はユーザーの利便性のためだけに存在し、IP(v4) は DHCP (または BOOTP、RARP) よりずっと前から存在していました。ホストは、DHCP がなくても、手動で、または他の方法で IP アドレスを設定できます。
0.0.0.0
しかし、IPv4 上の DHCP は、他の (通常の) UDP ベースのプロトコルとは異なり、ホストがまだ有効な IP アドレスを持っていない場合でも、DHCP クライアントは「ゼロ」アドレスからパケットを送信できるという点で、やや変わった方法で動作します。
(これを確認するには、Wireshark またはその他のパケット キャプチャ ツールをインストールしてください。)
DHCPクライアントソフトウェアは、OSに通常の下位層処理を追加させる代わりに、IPパケット全体を手動で構築する「rawソケット」を使用してこれを実現します(UDPヘッダーとIPヘッダーを追加します)。そのため、プロトコルは似ているこれは UDP/IP 内で転送されるため、実際にはオペレーティング システムの IP スタックの動作にまったく依存しません。
IPv6 では状況が異なり、すべての IPv6 対応インターフェースには自動的に「リンク ローカル」 IPv6 アドレス (アドレスfe80:…
) が割り当てられるため、ホストはそれを使用して DHCPv6 パケット、または ICMPv6 ルーター要請、あるいは構成に必要なその他のあらゆるパケットを送受信できます。
1一部のリンク タイプには独自の構成メカニズムがあります。たとえば、ADSL の PPPoE、PPTP VPN、旧式のダイヤルアップなど、PPP を使用するものはすべて、DHCP ではなく PPP 統合構成を使用します。モバイル ネットワークも独自の処理を行います。通常、このようなメカニズムはすべて「ユーザー向け」接続にのみ使用されますが、ルーター間の「コア」接続では、ほとんどの場合、手動で構成された IP アドレスが使用されます。