俺の報告

RoomClipを運営するエンジニアの日報(多分)です。

日報 #103 - ネットワークカードとか仮想ネットワークとかその辺

いやしかし本気で胃腸の調子が悪いです。
ずーっと白湯を飲んで、ちょっとうどん(1/4玉くらい)をすすった程度で、
それ以上入りません。
一体どうしたことでしょう、僕の体は。
腐った卵を半熟で食ったせいかなぁ…

さて、本日の日報はVPC、というか仮想ネットワークについて、ほんの少し。
前も少し仮想技術について触れましたが、
(これな、 http://tom-rc.hatenablog.com/entry/2014/10/14/230618
今度はネットワークの仮想化について。

AmazonにはVPCというサービスがありますが、
これだけ聞くとMicrosoft社のVirtual PCを思い浮かべてしまう人もいっぱいいると思います。
かくいう僕もそうです。
そのせいで「VPC?EC2と何が違うんやろか・・・」と一瞬思ってしまうというのは少し昔の話。

で、そのVPCですが、ネットワークについて勉強していない僕には少し敷居が高い技術だったりします。
もちろん溢れるドキュメントと素晴らしいコンソール画面と、
無料案内所クラスにある意味分かりやすいウィザードのお陰でVPCを組む事は自体は可能そうです。
ですが、NATインスタンスNICあたりの感覚がまだまだイマイチです。
なので、その辺「すこーーーしだけ」調べてみました。

さぁ今から書くぞ!と意気込もうとしたら、
物凄い胃もたれが始まったので、スゲー適当にやります。

そもそもネットワークっていうのがよくわかりませんです。
アキバでPC買ってきまして、「ネットに繋ぐぞ!」と思ったらどうしますか。
壁から出ているLANケーブルをPCにぶっさしますね。
この差込口は最近でこそオンボードですが、ちょい前までは拡張スロットのように「その部分だけ」買ってたりしたものです。
それがネットワークカードと言われるやつですね。
さてこのネットワークカードが「ネットワークのインターフェース」となって、
PCとインターネットのやり取りを管理するわけですね。
で、その管理って何よって話ですね。

インターネットは御存知の通り世界共通の「ルール」で情報をやり取りしておるわけですが、
そのルールのことをプロトコルといい、現在もっとも一般的に用いられているのはTCP/IPプロトコルです。
TCP/IPプロトコルは、やり取りしたいデータ(パケット)を、 アプリケーション層(ブラウザ)から物理層(実際のLANケーブル)までリレーのように運ぶときのルール全体を取り決めしておるわけです。
で、特に接続相手と接続元のMACアドレスをヘッダとして付与する作業(いわゆるイーサネットヘッダ)をするのが、
ネットワークカードということになるわけです。

とても分かりづらいですね。

すっごい雑にいいますと、 インターネット全体のイメージは「PC同士が繋がれている」のではなくて、
「ネットワークカード同士が繋がれている」と言ってもいいわけです。
裸のPCがネットに繋がるわけないわけですね。
PCの個体識別をして、送受信者のシェイクハンドをするために必要な過不足ない情報は、
ネットワークカードの時点で出揃っているわけです。

ということで、
とにかく仮想化されたコンピュータであろうとなんだろうと、
ネットワークカードなくしてインターネットに繋がることは有り得ないわけですね。

そんな重要なネットワークカードを「仮想化」したのが仮想インターフェースってやつだそうです。
PCが仮想化されてもこのネットワークカードが仮想化されない限りあんま意味ないわけですね。

あれ?でもルーターとかスイッチングハブもないと複数のPCでネットワークできないよね。
でも1個1個説明していると禿げるほど長くなるので、飛ばして、、、
仮想ルータ、仮想ハブ、などおおよそインターネットに繋ぐために必要なデバイスをぜーんぶ仮想化し、
仮想化されたものだけでネットワークを作り上げたものというのを仮想ネットワークと呼ぶと。
そういうわけですね。
早い話が「皆のご家庭にあるルーター、ハブ、LANカード、PC、ぜーんぶ個別に仮想化して、そのネットワークまるごと仮想化するぜ」ということみたいですね。
あっれ…当たり前の話になって終わった...
どうしようこれ。

うわーどうしようこれ。
あいた、アイタタタお腹痛いこれ、、、