2009年10月12日月曜日

仮想 MAC アドレスについての考察

情報ネットワーク科 2 年の小澤泰雅 (おざわたいが) です。

http://system-design-club.blogspot.com/2009/10/mac.html
前回出た疑問について調べてみました。



ホスト OS から見る仮想 MAC アドレスと、ゲスト OS から見る MAC アドレスが違うのは何故か?

まず、本当に違うのかどうか確かめてみました。

(ホスト OS - 仮想 NIC1)

(ホスト OS - 仮想 NIC2)

(ホスト OS - 物理 NIC)

(ゲスト OS)

違うことは確かなようです。
ホスト OS の物理 NIC は 00-C0-9F-**...、仮想 NIC は 00-50-56-**...、ゲスト OS は 00-0C-29-**...となっています。
特に、ホスト OS の仮想 NIC とゲスト OS のベンダー ID が違うのは意外です。



なぜ MAC アドレスが違うのか?

ここに答えが載っていました。

「Securing Virtual Machines and the Host」という項に、『Virtual switch』という記述があります。

つまり、ホスト OS から見える仮想 NIC の MAC アドレスは、正確には『仮想 NIC ではなく、仮想スイッチの MAC アドレス』であることがわかります。

また仮想 NIC であるなら、ホスト OS から見える仮想 NIC は『DHCP enabled』が『ON』になっていなくてはならないはずです。


また、VMWare Server には『Manage Virtual Networks』というメニューがあり、その中には 3 つ仮想スイッチが並んでいます。



インストールした直後はこの設定が何のことかわからなかったのですが、先ほどの仮想スイッチの概念を踏まえると、上から


「ホスト OS 上の物理 NIC に接続された仮想スイッチに、仮想 LAN ケーブルを接続してネットワークに直接参加する」

「ホスト OS のプライベートネットワークに参加する (ホスト OS とゲスト OS で構成されるLAN)」

「ホスト OS の IP アドレスを使用し、NAT でネットワークに参加する」


という設定項目であることがわかりました。


また、ベンダー ID が異なるのは、

明示的に設定された MAC アドレス (仮想スイッチ) については『00-50-56

自動生成された MAC アドレス (ゲスト OS) については『00-0C-29

として使い分けされているようです。




(追記)

仮想インターフェースについてわかりやすい図が置いてあります。

http://kaede.blog.abk.nu/vmnet


『00-0C-29』についてはVMWare公式に載っていました。

http://www.vmware.com/support/esx21/doc/esx21admin_MACaddress.html

2009年10月8日木曜日

Google App Engine

授業でやろうと思っていますが、ここで紹介しておきます。
前はJavaやJSPのレンタルサーバが少なく、JSPの開発はどちらかというと避けていました。
Google App Engineはその悩みを解決してくれて、すぐにJSPが公開できてしまいました。

忘れるといけないので手順を書いておきます。(JDK、Eclipseはインストール済み)

1.Google Plugin for Eclipse のインストール
Eclipse→ヘルプ→ソフトウェアの更新→サイトを追加→http://dl.google.com/eclipse/plugin/3.4 を追加(バージョンでちがう)→プラグインとSDKSにチェック(つまり全部)
これだけで環境がそろいます(ここまで約10分)。
Eclipseを再起動すると、左上に3個のボタンが追加されています。

2.プロジェクトの作成
早速プロジェクトを作成します。
Webアプリケーション・プロジェクトを選択
プロジェクト名:Test
パッケージ名:test
Google SDKのチェックはずす
Google Appはそのままチェック
これでみると、TestServlet.javaが作成されています。index.htmlもあります。

3.プロジェクトの実行
Eclipseメニューから実行→Webアプリケーションを選択→The server is running at http://localhost:8080/ と下のコンソールに表示されます。
ブラウザを開いてhttp://localhost:8080/ にアクセスします。
これでデフォルトページがみれます。

4.アプリケーション ID を App Engine に登録
まず、アプリケーション ID を登録しましょう。本校はGoogle Appsを利用しているのでそのアカウントを利用できます。
http://appengine.google.com/a/****.jp にアクセスしてください。
・Create an Application をクリック
・Japanを選択し、自分の携帯キャリアを登録し、携帯にメールが届くようにします。
・Google App Engine Codeが送られてくるので、番号を入力しApplication IDを登録をします。

5.Google App Engine へのアップロード
Test/war/WEB-INF/appengine-web.xml のapplicationに上で登録したApplication IDを書き込みます。
ここまでできれば、App Engine プロジェクトの配備(App Engine deploy)をクリックしアップロードします。
メールアドレスとパスワードを入力して完了です。
http://.appspot.com/ で確認します。

以上で導入は終わりです。
ここまで約30分です。
気軽でいいですね。

参考:
http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/installing.html

仮想MACアドレス

仮想化についてメモです。

VMで作成された仮想インターフェースのMACアドレスは
00-50-56-**-**-**
でした。最初の24ビットはVMのベンダコード、下位24ビットは00-00-00~3f-ff-ffが使えるとのこと。

XENの場合は
00-16-3e-**-**-**
です。

つまり、下位24ビットは勝手に決めていいということ。そもそもL2で使っているので、世界中でユニークになる必要はないです。だから「物理インターフェース+仮想インターフェース」の組み合わせで個体識別するしかないですね。

疑問点
・VM上で起動させたOSからみるとMACアドレスが上記のものと違っている。これはなぜ?
・VMの起動数と仮想インターフェース数の関係は?

参考
http://www11.atpages.jp/~debugger/menu.php?VMware%2F%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E5%AE%9A%E7%BE%A9%2F%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%AB%E3%83%BC%E3%83%89
http://islandcnt.exblog.jp/6758746/

2009年10月4日日曜日

静大大学院に合格

 ども、ご無沙汰の石川です。
 8/30日に、静岡大学 工学研究部 事業開発マネジメント専攻 (大学院) を受験しましたが、何とか合格できましたことを遅まきながら報告させて頂きます。

 ひとえに、我が専門学校の優秀な先生方のご指導・ご鞭撻のおかげであると感謝の念で一杯です。
 今、自分のような立場で勉強できる喜びを毎日、実感しているところです。

 自分と同じように俺も大学院をチャレンジしてやるぜ、と言う方もいるかと思いますので、先達として、感じていることを書いていこうと思います。


 まず、勉強するキャンパスが基本的に浜松であること

 これは結構大きなポイントです。静岡駅から鈍行電車で浜松まで、約1時間かかります。更にそこからバスで10~15分程度かかりますので、乗り継ぎや待ち時間なども入れると、1時間30分程度の時間は見ておかなくてはいけません。カリキュラム自体も18:30~21:30まで行うものもあり、静岡県の東部に住んでいる自分にとっては、帰宅時間もかなり厳しい状況でもあります。

 カリキュラム事態の難度がかなり高い

 これは当然なのですが、扱っている問題のレベルはかなり高いです。今週末、土日とも外部の講師に来て頂き、特別授業を受けてきましたが、土曜日は東京大学大学院で教鞭を取っている先生に、本日は感性工学の日本における第一人者からご指導を受けることができました。
 授業自体は目から鱗的なものばかりで新鮮ですが、最先端の学問のため理解することが難しい半面もあります。また、各講座でレポートの提出やテーマの回答を自分で用意しておく必要があるため、ずぼらな性格の人や、面倒くさがり屋にとっては大変かもしれません。

 金銭的・時間的拘束がある

 学問を学ぶべき所ですから、学費を払うのは当然ですが、それ以外にも、通学費用 (新幹線代) 、飲食代 (講義後、食事(酒)を取りながら課題について討論を実施したりしています) 、本代などがかかります。
 時間も、昨日帰宅したのが午後11時40分頃で、新富士駅まで新幹線で帰ってきたところを親に迎えに来てもらいました。 その前の金曜日も、帰宅時間が午後11時過ぎになってしまい駅まで迎えに来てもらっています。自分一人ではどうにもできないことなので、家族の理解も大事に思いました。
 また、専門学校でのカリキュラムとの両立も果たさねばなりません。大学を優先して専門学校を疎かにするのでは本末転倒ですが、どうしても両立することが困難な状況もあります。
 自分は、これからしばらくは木曜日は専門学校を休み、朝から浜松キャンパスで講義を受けるために行かせて貰うようにお願いしました。それ以外では金曜日は午後3時頃に上がらせてもらい、土日の授業を集中的に選択するようにしました。これもすべて専門学校側の理解あってのことと思いますので、感謝しています。

 最後ですが、入試自体の難度が上がっていること

 これは、試験に合格した後に色々な教授たちから聞いたことですが、今までこの学部は定員割れすることも珍しなく、よほどのことをしない限りは合格できたらしいのですが、今年の4月頃から入学希望者が増えてきているとのことでした。今回の10月入学希望者は、枠が4名のところ、希望者は6名であったそうです。
 更に、静岡大学の研究生と言うものがあるらしく、大学生ではないけれど特定の教授について一部の講義を受けている人たちがいるそうです。聴講生とか、そういった人たちと思いますが、現在、事業開発マネジメント専攻の教授についている研究生が10名ほどいるそうです。
 今回も受験者6名の内、研究生が2名含まれており、2名とも合格していました。どこの馬の骨ともわからない者より、知っている人間を取りたいのは当然のことですから、今後も【研究生=スーパーシード】的な扱いになる可能性は高いと思います。

 と色々、ネガティブなことを書きましたが、やたらめたら面白く、為になる講義ばかりで、このきっかけを頂いたMIZUMO先生には感謝感謝です。
 最後に研究生のことを書きましたが、自分たちも静岡キャンパスで毎週のようにプレゼンを行っているわけですから、決して見劣りするものではないと思います。
 あと、入学するなら4月から入ることをお勧めしたい。後半から授業に乱入している自分としましても、授業で出てくる言葉の意味自体がさっぱりわからないことが多々あります。授業計画も1年間通して立てれば余裕あるものになりますしね