テクネ平成20年度午後2問1設問3(3)ではまってた。
どうもです。
ITECの本試験問題の本の解説を読んでいたのだけれども,
なぜにRARPなのかさっぱり理解できなんだ。
必要条件を俺なりに整理すると・・・。
となったんで,Gratuitous ARP だと確かに条件を満たしそうということは,
ググってみてわかった。えぇ,Gratuitous ARP という文字列は見たことあるけど,
中身は知りませんでしたよっと。
ほいで,RARPで上記条件をどうやって満たすんだろうと考えはじめたのが,
泥沼化への第一歩でした。
結論はというと,ITEC本の解説に誤りがありました。
正誤表(PDFなので注意されたし)
https://www.itec.co.jp/support/shusei/data/10au/S700628-10_01.pdf
引用させてもらいます。
しかし,L3SW は,仮想NIC が切り替わったかどうかを 知る手段がないので,仮想PC-B1 に切り替わった場合,仮想PC-B1 は,直ちに 仮想L2SW とL3SW の接続ポートを切り替えるように,L3SW に通知する必要があ る。VMware(Virtual Machine Ware;Windows やLinux 系OS 上で,x86 互換機 を仮想的に作り出すソフトウェアのこと)では,切り替わった仮想PC は, L3SW のMAC アドレステーブルを書き換える目的で,RARP(Reverse ARP)パケッ トを送信するように規定している。したがって,解答としては「仮想PC-B1 か らRARP パケットを送信する」旨を答えるとよい。なお,この問題では,仮想 PC-B1 のMAC アドレスをL3SWに通知し,L3SW が保持しているARP キャッシュ (ARP テーブル)の内容を,仮想PC-A1 のMAC アドレスから仮想PC-B1 のMAC アドレスに変更する必要があるとも解釈できる。そこで,仮想PC-B1 が,自分 のIP アドレスに対するARP パケットを送信し,L3SW に対し,ARP キャッシュ を更新するという方法も考えられる。したがって,「仮想PC-B1 から自分のIP アドレスに対するARP パケットを送信する」旨を解答してもよい。このような ARP は,Gratuitous ARP と呼ばれている。
どうやら,ARPテーブルと,forwardingテーブルをごっちゃにしていたようです。
整理すると・・・。
- RARPを使う場合は,Forwardingテーブルを更新したい。
- つまり,(MAC:Port)のペアを更新したい。
- Gratuitous ARPを使用する場合は,L3SWのARPテーブルを更新したい。
- つまり,(IP:MAC)のペアを更新したい。
で,RARP の場合は,同じIPでアクセスされたら,どうやってPC-B1へ行くんだろう?
どのポートにどのMACアドレスの機器が接続されているかわかっても,
L3SWのARPテーブルで判断したら,サーバAの方に行っちゃいそうなんだけどなぁ。
Gratuitous ARPの方は,とりあえず,サーバBの方に行きそうなので,
大丈夫そうな気がする。
vmwareのコミュニティでも,なんでRARPなんじゃ? Gratuitous ARPでいいんじゃね?
誰か説明してくれよ。ったく。みたいなこと言っている人がいたよ。
http://communities.vmware.com/thread/129056
ま,Gratuitous ARPにしておけば間違いないということでどうでしょうか。
それでも,やはりというか,解説に関しては満足いっているので,
ITEC本が最強でしょうかね。