HOME»応用情報技術者試験掲示板»平成31年春期午後問5DHCPリレーエージェント
投稿する

平成31年春期午後問5DHCPリレーエージェント [3548]

 クリプトマックさん(No.1) 
https://www.ap-siken.com/kakomon/31_haru/pm05.html

問1の"a"の解説でDHCPリレーエージェントがDHCPクライアントにブロードキャストで転送する
とありますが、絵で見るとユニキャストのように見えます。これは間違いでしょうか?
確認のためマスタリングTCP/IP入門編を見たところユニキャストで転送するよう記載されていました。
問題で問われている内容ではないのですが気になったので質問させていただきました。



リレーエージェントを用いてDHCPメッセージをやり取りする流れは以下のようになります。
IPアドレスの割り当てを要求するDHCPクライアントは、DHCPメッセージをブロードキャストする。
リレーエージェントはDHCPメッセージを受信すると、その内容を取り出しユニキャストでDHCPサーバに転送する。
DHCPサーバは、それを受信するとユニキャストでリレーエージェントに送信する。
リレーエージェントはDHCPメッセージを受信すると、その内容を取り出しブロードキャストでDHCPクライアントに転送する。
2022.08.13 11:08
GinSanaさん(No.2) 
AP プラチナマイスター
この投稿は投稿者により削除されました。(2022.08.13 13:27)
2022.08.13 13:27
GinSanaさん(No.3) 
AP プラチナマイスター
絵面としてはルータの左側のDHCPクライアント全部とルータにブロードキャストを飛ばした「上で」ルータでユニキャスト変換が走っている絵、で
よくみたら灰色の点線でブロードキャストが再現されてました。
2022.08.13 13:28
AgentTakaさん(No.4) 
AP シルバーマイスター
クリプトマックさん
こんにちは

まず、DHCPリクエストがブロードキャストという所から始めましょうか。
ブロードキャトは同一ネットワーク内で全部に到達します。

で、同一ネットワークではないところにDHCPサーバがあるならば?どーしよ?
そーね、ブロードキャスト通信はルータで遮断されてしまいます。ここオッケー?

そこで、DHCPリレーエージェントです。
ルータさんに設定して、DHCPリレー用のIPアドレスで、ブロードキャストではありません。ユニキャストです。
ルータさんが自分の知っているDHCPサーバにユニキャストで教えて下さい。頼んます。
ルータさんも困っている訳ではないんですが、DHCPサーバさん、お願いIPアドレスちょーだい?
で、別セグメントからでも、IPアドレス欲しがりさんは無事、IPアドレス頂けた、めでたしめでたし。うふ

となる訳です。

クリプトマックさん
一応わたくしネットワークSEを生業とさせて頂いております。

困ったことあれば投稿して下さい。
応援しています。
なにせ楽しいコミュティの仲間ですからね!
よっちゃ、次の疑問投稿してきよーz
2022.08.13 14:22
 クリプトマックさん(No.5) 
>GinSanaさん
こんにちは。はじめまして。

回答ありがとうございます。

灰色の点線は「①IPアドレスの割り当てを要求するDHCPクライアントは、DHCPメッセージをブロードキャストする。」の時のパケットの流れに見えます。
そう見るとやはり「④リレーエージェントはDHCPメッセージを受信すると、その内容を取り出しブロードキャストでDHCPクライアントに転送する。」の赤実線の流れはユニキャストに見えます。

ブロードキャストで取得したIPアドレスを転送するのは情報を受け取ったクライアントの仕事に思うのですが。

他の情報も調べてみます。
2022.08.13 14:30
Howitzerさん(No.6) 
基本はユニキャストで応答します。
ただし、クライアントがブロードキャストでの応答を要求した場合は、
ブロードキャストで応答します。
(ブロードキャストフラグがオンになっている場合)
2022.08.13 14:53
GinSanaさん(No.7) 
AP プラチナマイスター
>そう見るとやはり「④リレーエージェントはDHCPメッセージを受信すると、その内容を取り出しブロードキャストでDHCPクライアントに転送する。」の赤実線の流れはユニキャストに見えます。

絵面的にはそうですね。
milestone-of-se.nesuke.com/l7protocol/dhcp/dhcp-relay-packet-format-and-capture/
【図解】DHCPリレーの仕組み~パケットキャプチャの比較, Option82について | SEの道標

にもある通り、再度ブロードキャストに変換される(中にはDHCP Offerでブロードキャストを飛ばす機種もあるらしいが)ので、見た目の問題です。
2022.08.13 14:58
 クリプトマックさん(No.8) 
>AgentTakaさん

こんにちは。回答ありがとうございます。

AgentTakaさんに説明頂いた部分はなんとか分かり、AgentTakaさん説明でさらに理解が深まったのですが、DHCPサーバから設定情報を受け取ったルータがブロードキャストでDHCPクライアントに転送しているところの絵がどう見てもユニキャストにしか見えない点に疑問を覚えています。
ネットワーク技術のサイトを閲覧したところ、最後にブロードキャストされているものもありました、手元の本(マスタリングTCP/IP入門編)ではユニキャストになっています。
もしかしたら、これは機器によって異なるものなのかと思いはじめました。
APでここまで問われるか分かりませんが。。

ネットワークSEかっこいいです。
勝手ながら、登大遊さんみたいな人を想像しています。

いつか私もネットワーク関連の仕事ができるようになれると嬉しいです。
2022.08.13 15:01
AgentTakaさん(No.9) 
AP シルバーマイスター
この投稿は投稿者により削除されました。(2022.08.14 17:16)
2022.08.14 17:16
陽射さん(No.10) 
AP ブロンズマイスター
>4.リレーエージェントはDHCPメッセージを受信すると、
>  その内容を取り出しブロードキャストでDHCPクライアントに転送する。

クライアント(Win10)、RTX1100(リレーエージェント)、DHCPサーバ(Win10+Serva)
で検証する限り、DHCPメッセージ(DHCP Offer、DHCP Ack)
のBootp flagが1の場合、ブロードキャスト、0の場合ユニキャストで
クライアントに転送されていました。

上記は、クライアント(OS)に依存し、クライアントから送出される
DHCP Discover、DHCP Requestにセットしたフラグが反映されます。
(フラグビットは、レジストリで変更可能)

殆どのOSは、フラグ0なのでユニキャストでの説明が多数かと思います。
2022.08.13 18:40
AP受かりたいマンさん(No.11) 
つい最近平成21年春の問5を解いたのですが丁度DHCPを深堀する問題でしたね。
この問題ではリレーエージェントとなっているルータはDHCPからの応答を
ブロードキャストでDHCPクライアントに送信していました。
空欄のgが相当する問題になります。
2022.08.13 20:00
boyonboyonさん(No.12) 
AP シルバーマイスター
ネットワークの勉強中のものです。こちらのスレッドを読ませていただき、話題にしている問題を考えていて気になることがあったので書き込ませていただきます。
問題文では、L3とクライアントの間にL2SWがあるのですが、解説文の図では、ルータとクライアントの間に何もありません。もし、この間にL2SWがあったら、ブロードキャストはどうなるのか疑問に思いました。ご存じの方、教えていただけたら幸いです。
2022.08.13 20:27
 クリプトマックさん(No.13) 
>陽射さん

こんにちは。回答ありがとうございます。

検証の対応ありがとうございます。
最終的なクライアントに返送する際の方式の違いが理解できました。
Bootp flagで最終的な返送方式が変わるのですね。

モヤモヤが晴れてスッキリしました。

ありがとうございました。
2022.08.14 10:32
 クリプトマックさん(No.14) 
>AP受かりたいマンさん

 こんにちは。はじめまして。
平成21年春の問5ではDHCPが問われていてリレーエージェントが登場しますね。
その中で、以下解説から引用しますが、

DHCPサーバからDHCPクライアントへの応答は、クライアントソフトウェアの仕様によりユニキャストまたはブロードキャストで行われます。DHCPサーバはDHCPメッセージの flag フィールドの BROADCAST ビットを見てどちらで応答すべきかを判断します。表2の"DHCPオファー"の行を見るとブロードキャストで応答していることがわかるので、ルータCも、ユニキャスト通信をブロードキャスト通信に変換してDHCPクライアントに返すと判断できます。よって、解答は「B」となります。

「DHCPサーバはDHCPメッセージの flag フィールドの BROADCAST ビットを見てどちらで応答すべきかを判断します。」の部分で解説されていますが、知識を持たないままこの問題を解くと解ける自信ありません。

私としては解決できたと思っているのでよかったです。
回答ありがとうございました。
2022.08.14 10:42
 クリプトマックさん(No.15) 
>boyonboyonさん

こんにちは。はじめまして。
ネットワークを勉強しているんですね。私も同じです。頑張りましょう。

質問のL2SWですが、L2SWはスイッチングハブとも呼ばれる装置です。スイッチングハブはブリッジと同じ動作をします。ブリッジというのは関連する端末のMACアドレスをもとに中継する装置になります。ブリッジは中継するのみの機械です。ですので、L2SWがブロードキャストのパケットを受け取ると受信したポート以外のポート全てに中継します。

私の勝手なイメージですが、L2SWはムカデのバケツリレーのイメージです。ムカデの足に繋がっている機器のMACアドレスをムカデは知っていてパケットが流れて来た際にパケットの宛先MACアドレスの機器が繋がっている足にバケツを渡すという感じです。ブロードキャストのパケットは受信した足以外の足に全てバケツを流すということになりますね。
※ここで言うムカデの足はL2SWのポートということになります。
抽象的で申し訳ないです。

私の手元の資料を見ながら説明させていただきました。間違っていたらすみません。
2022.08.14 11:06
AgentTakaさん(No.16) 
AP シルバーマイスター
クリプトマックさん
こんにちは

わたしの(No.4)説明が中途半端で下手過ぎて申し訳ございません。
確かに
平成21年春期 午後問5、設問1の解説で使われている図
平成31年春期 午後問5、設問1の解説で使われている図
をよーく見ると、灰色破線は①ブロードキャスト
④応答を返す、は一番上のクライアントにだけ赤線で返していてユニキャストにも見えますね。
よく見つけましたね。すごっ!!!
解決できたと思っているので安心しました。
2022.08.14 12:30
AgentTakaさん(No.17) 
AP シルバーマイスター
管理人様

いつも大変お世話になっております。
平成21年春期 午後問5、設問1の解説で使われている図
平成31年春期 午後問5、設問1の解説で使われている図
④応答を返す、は他2台のクライアントにも灰色破線の←ーーを追加した方が
4.リレーエージェントはDHCPメッセージを受信すると、その内容を取り出しブロードキャストでDHCPクライアントに転送する。
との解説ともより視覚的に整合性がとれて、ブラッシュアップした方が学習者の混乱も防げるかと存じます。

ご検討のほど何卒よろしくお願い申し上げます。
2022.08.14 12:38
AgentTakaさん(No.18) 
AP シルバーマイスター
AP受かりたいマンさん
こんにちは

DHCPとDHCPリレーエージェントを勉強するには平成21年春期 午後問5、設問1を解くことと解説を理解することが一番いいかな、と思っています。
さすが6F1S作戦の一子相伝継承者!いい選球眼です。
頑張って下さい!応援しております!
2022.08.14 12:39
AgentTakaさん(No.19) 
AP シルバーマイスター
boyonboyonさん
こんにちは

クリプトマックさん(No.15) のユニークな解説で理解しやすいですね。

ハブというと何も考えないで全てのポートに転送します。OSI参照モデルでいうレイヤ1物理層の機器。通信データのコリジョン(衝突)も発生してしまいます。


L2SWはMACアドレスを学習しながら必要なポートのみスイッチ、転送するOSI参照モデルでいうレイヤ2データリンク層の機器。
レイヤ2のスイッチだからL2SWと略されています。ブロードキャストはクリプトマックさん(No.15) のユニークな解説通り全てのポートに転送します。

じゃL3SWは?OSI参照モデルでいうレイヤ3ネットワーク層の機器。略してL3SW。
IPアドレスを基にルーティングも出来ますよ、という機器です。
ちょうどL2SWにルータを内蔵したイメージでよろしいかと。
この機器やルータはブロードキャストを転送せず破棄してしまいます。
そんな理由があってDHCPリレーエージェントにお世話になる訳です。

じゃー、ハブって時代遅れじゃん。と思うでしょ?
実際にほとんど使われなくなっていますが、パケットキャプチャする場合、このハブが便利ですね。なんせ全てのポートに転送しますから。
L2SWにパケットキャプチャの設定、ミラーポートとかモニタポートの面倒な設定をしなくても済む、という利点もあったりします。
わたしの仕事場ではあえてこのハブを購入してパケットキャプチャ用にしています。あっはっはっは

ネットワークではOSI参照モデルの理解が必須です。
ちょっとスレッドのメイン話題から、それましたが大事なところなので、よろしくお願い申し上げます。
2022.08.14 13:01
boyonboyonさん(No.20) 
AP シルバーマイスター
>クリプトマックさん

こんにちは、
返信していただきありがとうございます。ネットワーク難しいですね。
ご説明していただきありがとうございます。イメージは、分かりました。
自分も調べてみたのですが、戻りのブロードキャスト(④)もIPとMACアドレス共にブロードキャストアドレスみたいですね。そうするとNo17でAgentTakaさんがおっしゃっているように、<ーーーを付け加えていただけると分かりやすそうですね。
2022.08.14 15:00
管理人(No.21) 
ここまでのやり取り拝見させていただきました。

参考URLよりRFC2131(DHCP)を当たってみたところ、4.1 DHCP メッセージの構築と送信 において、以下のように定義されていました。
クライアントからの DHCP メッセージの 'giaddr' フィールドが非ゼロである場合、サーバーは 'giaddr' で表されている BOOTP リレーエージェントの 'DHCP server' ポートに全てのメッセージを送信する。
'giaddr' フィールドがゼロで 'ciaddr' フィールドが非ゼロである場合、サーバーは 'ciaddr' のアドレスに DHCPOFFER メッセージと DHCPACK メッセージとをユニキャストする。
'giaddr' がゼロ、'ciaddr' がゼロ、さらにブロードキャストビットがセットされている場合、サーバーは 0xffffffff に DHCPOFFER メッセージと DHCPACK メッセージとをブロードキャストする。
ブロードキャストビットがセットされておらず、'giaddr' がゼロ、'ciaddr' がゼロの場合、サーバーはクライアントのハードウェアアドレスと 'yiaddr' アドレスに DHCPOFFER メッセージと DHCPACK メッセージとをユニキャストする。全ての場合において、'giaddr' がゼロの場合、サーバーは、どの DHCPNAK メッセージも 0xffffffff にブロードキャストする。
参考URL:http://srgia.com/docs/rfc2131j.html

つまり、クライアントから受け取ったDHCP メッセージの'ciaddr' フィールドとブロードキャストビットによって挙動が変わるということになります。解説中ではブロードキャストと断定していますが、"ブロードキャストまたはユニキャスト"と表現するほうが適切そうなので、解説文をそのように修正いたしました。また、図解中のリレーエージェントからの返信の矢印について、ブロードキャストもあることを示すために灰色の点線矢印を追加いたしました。
2022.08.14 15:57
AgentTakaさん(No.22) 
AP シルバーマイスター
管理人様

いつも大変お世話になっております。
ご確認と情報共有、誠にありがとうございます。
クライアントのDHCPメッセージによって、"ブロードキャストまたはユニキャスト"があるという認識を致しました。
大変勉強になります。
DHCPは枯れた技術、という私の認識が間違っておりました。
(No.9)で誤解を招く投稿をしてしまい、皆様には大変申し訳ございませんでした。削除致しました。

また、図のブラッシュアップへの御対応ありがとうございました!
さすがドットコムさん!さすがNo.1サイト!
2022.08.14 17:20
 クリプトマックさん(No.23) 
AgentTakaさん

管理人さんへの対応の依頼ありがとうございます。
それと実務の経験からの解説も面白かったです。

boyonboyonさん

私の説明で理解の助けになったなら嬉しいです。
④では管理人さんが調査していただいた通り、DHCPメッセージの設定次第でブロードキャストもしくはユニキャストで転送されます。

管理人さん

こんにちは。修正の対応の手間ありがとうございました。

RFCまで見て調べていただいてありがとうございます。
RFCの方も見させて頂きましたが、私レベルでは全て理解できない内容でした。
ですが、もしこのRFCを最初に見れていたら分かったかもしれません。
もし類似のことがあったら私の方でRFCを見て調査できるようになれるといいです。

改めて対応していただいた管理人さん、回答していただいた方々、ありがとうございました。
2022.08.14 17:21
AP受かりたいマンさん(No.24) 
> クリプトマックさん
自分の場合この問題はクライアント側がIPアドレスを持っていないので
ブロードキャストしないとDHCPの返答が届かないんじゃないかという
適当な推理でたまたま当たりましたね…。
10個の設問のうち1つは一人で勉強していても絶対に
勉強しなさそうな問題が出てきてとても怖いです。

> AgentTakaさん
応援ありがとうございます!
ネットで書かれてる事などは試験に求められる解答とは微妙に違ったりする事があるので
IPAの本やWebサイトか過去問に書かれてる内容で知識の答え合わせが出来ると安心しますね…。
2022.08.16 21:51
 クリプトマックさん(No.25) 
>AP受かりたいマンさん

こんにちは。

なるほど。その考えはありませんでした。確かにIPアドレスを持たない相手に送り返すならブロードキャストしちゃえばいいですね。その方が単純です。

わたしの方はDHCPメッセージの中にMACアドレスのフィールドがあるものと推測で思い込んでいました。MACアドレスが当該メッセージより抜き出せたら抜き出したMACアドレスをMACヘッダーとしてパケットに付与して当該メッセージを送り出したDHCPクライアントにパケットを運ぶことができるというイメージでした。

管理人さんに紹介していただいた、RFC2131(DHCP)を見ると以下のような記述があったので引用します。

DHCP は、DHCP サーバーへ明示的にクライアント識別子を渡す為に使用される新しいオプション、 'client identifier' を定義している。この変更は BOOTP メッセージの 'chaddr' フィールドの負担を減らしている。'chaddr' は、BOOTP 応答メッセージ送信時のハードウェアアドレスとして、および、クライアント識別子として使用されている。'client identifier' は不明確なキーで、サーバーによって内容を解釈される事はなく、例えば 'chaddr' フィールドの内容と同じハードウェアアドレスを含んでも良いし、DNS 名のような別のタイプの識別子を含んでも良い。DHCP クライアントによって選択される 'client identifier' は、そのクライアントが接続しているサブネット内でユニークでなければならない(MUST)。全てのサーバーがクライアントを正しく識別する事を確実にする為に、ある 'client identifier' をあるメッセージで使用したクライアントは、その後に続く全てのメッセージで同じ識別子を使用しなければならない(MUST)。

srgia.com/docs/rfc2131j.html


推測が当たっちゃっていましたが、'chaddr' フィールドというところにハードウェアアドレスが付けられるみたいです。ですが、このハードウェアアドレスをもとにクライアントに到達するかは未だ推測です。
2022.08.17 13:43
 クリプトマックさん(No.26) 
>AP受かりたいマンさん

先ほどと同じ引用元ですが、以下のような記述がありました。
※私自身全部理解できているわけではありません。

DHCP クライアントに DHCP メッセージを直接送信または中継する(即ち、'giaddr' フィールドでリレーエージェントが指定されていない)サーバーまたはリレーエージェントは、'flags' フィールド内の BROADCAST ビットを調べるべきである(SHOULD)。このビットに 1 がセットされている場合、その DHCP メッセージは、IP 目的アドレスに IP ブロードキャストアドレス(通常 0xffffffff)を使用し、リンク層目的アドレスにリンク層ブロードキャストアドレスを使用する IP ブロードキャストとして送信されるべきである(SHOULD)。BROADCAST ビットが 0 にクリアされている場合、そのメッセージは、'yiaddr' フィールドで指定された IP アドレス、'chaddr' フィールドで指定されたリンク層アドレスへの IP ユニキャストとして送信されるべきである(SHOULD)。ユニキャストが利用不可能な場合、そのメッセージは、IP 目的アドレスとして IP ブロードキャストアドレス(通常 0xffffffff)、リンク層目的アドレスとしてリンク層ブロードキャストアドレスを使用する IP ブロードキャストとして送信されても良い(MAY)。

「'chaddr' は、BOOTP 応答メッセージ送信時のハードウェアアドレスとして、および、クライアント識別子として使用されている。」←前の投稿文
「BROADCAST ビットが 0 にクリアされている場合、そのメッセージは、'yiaddr' フィールドで指定された IP アドレス、'chaddr' フィールドで指定されたリンク層アドレスへの IP ユニキャストとして送信されるべきである(SHOULD)。」

以上の組み合わせが私のイメージのやりとりの流れと読みました。
2022.08.17 13:59

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop