- ベストアンサー
DHCPOFFERの受信について
DHCPの動作の一番最初の説明↓ (1)DHCPクライアント(=まだIPアドレスが割り当てられていないPC)がDHCPDISCOVER(UDP ブロードキャスト)を送信する。 (2)DHCPサーバがこれを受信したら空きIPアドレスを割り振って、「そのIPアドレスへ」DHCPOFFER(UDP 湯にキャスト)を返信する。 のくだりでさっそくつまづいてしまいました。(^^;) 教科書には「DHCPDISCOVERで通知されたDHCPクライアントのMACアドレスに対して送信するので大丈夫」とあります。 でもDHCPクライアントのMAC層はそれで良いかもしれませんがIP層から見たら「なんだこのIPは、俺宛てじゃないぞ」とならない のでしょうか? IP層は受信したIPパケットに入っているあて先IPアドレス(=自分)のチェックを、 (1)常日頃全くチェックしていない (2)IP割り当てのない状態ではチェックしない (3)DHCPOFFERの場合だけ特別にチェックしない (4)それ以外の仕組みでなんとかしている どういうことなのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
IPアドレスは、MACアドレスより上位階層のアドレスであることを思い出してください IPアドレスでも、LAN上の宛先、発信元はMACアドレスです ですから、自分のMACアドレス宛のパケットは全て受信します 7階層モデルを思い出してください ユーザデータに宛先・自分のIPアドレスを付加します 次にそれに直接の宛先であるゲートウェイのMACアドレスと自分のMACアドレスを付加します それをパケットとしてLANに送信します ゲートウェイは、パケットを受信し、自分のMACアドレス宛であれば受信し解析します(自分宛でなければ無視します) 宛先IPから次のゲートウェイを決定し、宛先のそのMACアドレス、自分のそのサブネット側のMACアドレスを付加したパケットをそのサブネットに送信します これを何回も繰り返し、受信したサーバが自分のIPアドレス宛であることを確認したら、データを指定のソフトに渡します その返答は、逆にたどられてユーザのPCに到着し、発信したソフトに渡されます 質問者はIPアドレスのみを重視して、他を軽視しすぎています たのアドレスもネットワークでは同等に重要なのです
その他の回答 (2)
- marimo_cx
- ベストアンサー率25% (873/3452)
>でもDHCPクライアントのMAC層はそれで良いかもしれませんがIP層から見たら「なんだこのIPは、俺宛てじゃないぞ」とならない のでしょうか? 小包の中身は、入っている箱しか見えず、包装紙も配送トラックも道路も見えないし見る必要も無いと書いた方が良かったですかね。 >「なんだこのIPは、俺宛てじゃないぞ」 そもそもこの段階ではIPアドレスはリースされてませんからIPアドレスなんか無いですから「なんだこのIPは、俺宛てじゃないぞ」とはそもそもなりません。 IPからはMACのことなんて関知しません、見てませんし見えませんし見る必要もありません。 EthernetのブロードキャストとIPのブロードキャストは別ものです。 ひょっとしてそこで混同しちゃいましたかね?
補足
回答ありがとうございます。 みなさんに質問の意図がうまく伝えられなかったみたいでゴメンナサイ。marimo_cxさんには一番わかってもらえた風に読めたのでこちらで失礼します。 先ずもう一度疑問点を書かせて頂きます、 DHCPサーバからのDHCPOFFERが最初にDHCPDISCOVERを投げたマシン(と言うかNICと言うか)に到達するとそのマシン上のMAC層はこれが自分宛であることがその宛先MACアドレスからわかります。ですので「OK、このMACフレームは俺宛てだ、受信しよう」ということになり、MACフレームからヘッダをはずしてユーザであるIP層へ渡します。IP層はここであて先IPアドレスと自IPアドレスを比較チェックしたりはしないのだろうか?という疑問です。自IPがまだ未割り当ての場合(今の場合)のみチェックをしないのか、実はいつもチェックなんかしていなかったのか、それともこちらは作りとしてかなりマズいと思いますが宛先ポートがDHCPなパケットは全てチェックしていないのか、とにかくそんな作りで無い限り成り立たないと思うのです。ただここが規格的にあやふやだと実装によってはDHCPが動かないIPコンポーネントも世の中に存在しうるんじゃないかと思ったわけです。TCPIPの規格を全部読めば良い話ですがどなたか知っている方がいらっしゃったら教えて頂けないかなと思ったわけです。 >IPからはMACのことなんて関知しません、見てませんし見えませんし見る必要もありません。 確かに。その通りでないとマズいと思います。 >そもそもこの段階ではIPアドレスはリースされてませんからIPアドレスなんか無いですから「なんだこのIPは、俺宛てじゃないぞ」とはそもそもなりません。 どうなるのでしょうか?
- marimo_cx
- ベストアンサー率25% (873/3452)
まず先にOSI7階層モデルを理解してください、そっちが先です。 今となってはネットワーク=Ethernetと誤解されてもおかしく無い状況で、Ethernet=(TCP/)IPと誤解している向きもありますが、それは違います。 MACアドレスとはEthernet規格の中のもので、EthernetでIP通信する場合、IPはEthernetの上に乗せて使っている仕組みです。 EthernetとIPを同じ階層で考えているのが理解できない原因であり、それが間違いだからです。 P.S. 物理相はEthernet以外にも沢山存在します。
補足
回答ありがとうございます。 でも質問の意図がうまく伝わらなかったみたいでゴメンナサイ。(marimo_cxさんから頂いた回答への補足で継続させていただきます)
補足
回答ありがとうございます。 でも質問の意図がうまく伝わらなかったみたいでゴメンナサイ。(marimo_cxさんから頂いた回答への補足で継続させていただきます)