■ アドレッシング
人間は何故、10を基礎とした数字を使うんだね?
なんですか、いきなり。
10を基礎とした数字って、10進数ですよね。何故でしょう?
疑問に疑問で返すのはよろしくないな、ネット君。
一説によると、人間の指の数が10本だから人間は10進数を使いやすい、という理由らしい。
ははぁ、そりゃ説得力のある説ですねぇ。
逆に、コンピュータは2進数を使う。0と1だけで表す方式だな。
これだと、ある、なしという2つの状態で示せるから簡単だしな。
2進数はコンピュータの基本ッスね。
で、今日はその話なんですか?
そういうわけではないが、あとで出てくるのでな。
今日はアドレッシングの話だ。
アドレッシングって、address + ing ですよね。
アドレスの進行形?
そうだな、アドレスの仕組みと、その割り振り方とでも考えておくのがいいだろう。
ところでアドレスとは何かわかってるのかね?
住所でしょ?
他にもメールアドレスとか言ったりするじゃないですか。
住所と言えば住所なのだが。正確にはネットワーク上で、デバイスを識別する記号だ。これを各デバイスにつけることにより、誰にデータを送るかということを考えることができるようになる。
なるほど、住所がない場合、どこに送っていいかわからないですものね。
そういう点ではまさしく住所と考えるのが妥当だ。
まずアドレッシングで重要なのは各デバイスにユニークなアドレスを割り振るという事だ。
ゆにーく?
おもしろおかしい?
いや、本来の意味は「一意の」という意味だ。つまり他に同じものがない、ということだな。
少なくとも通信が可能な範囲で同じアドレスを持つデバイスがあってはいけないということだ。
[Figure13-01:ユニークなアドレス]
ははぁ。そりゃそうですね。
■ 2種類のアドレス
うむ。このアドレスだが2種類ある。
論理アドレスと物理アドレスだ。この2種類のアドレスは両方使われる。
両方つかうのですか?
2つ住所を持つってことですよね。なんか変な感じですね。
役割が違うのだよ。
論理アドレスはレイヤ3の、物理アドレスはレイヤ2の役割を持つ。
はぁ。
今回話すのは、レイヤ2の物理アドレスだ。
物理アドレスは、メディアに直接接続されている誰に届けるかを識別するために使う。
ははぁ。じゃ論理アドレスは?
論理アドレスは、どのネットワークの誰に届けるかを識別するためにある。
?
どう違うんです?
直接的に同じ共有メディアに接続されていない相手との通信に使用するのだよ。簡単に言うと、違うLAN上にある相手との通信だな。
どのメディアを通って、どのような制御で、というのは全く関係なく相手を識別するのに使う。
う〜ん。わかったような、わからないような。
簡単な例をしめそう。
ネット君がペンフレンドのキャシーに手紙を送る。わかりやすくするため、ネット君はA市に、キャシーはB市にいる。
コネティカットですって。
それにしては流暢な文語文を書くよな、キャシーさんとやらは。
ともかく、「B市xx町 キャシー様」と宛名に書く。これが論理アドレス。
ふむふむ。
君は手紙を届けてもらうために、A市の郵便局に渡す。
この時実際は必要ないが、渡す(届ける)ためには宛名が必要だ。なので、「A市郵便局」という宛名を別のところに書く。これが物理アドレス。
うう?
A市の郵便局は、「B市xx町キャシー様」という論理アドレスを見て、B市の郵便局へ送る。
この時A市の郵便局は、先ほどの「A市郵便局」という宛名を「B市郵便局」という宛先に変更して、郵便トラックに載せる。
…。
直接渡す相手の住所が、物理アドレスで。最終的な届け先が論理アドレスってことですか?
そう考えておいて大筋に間違いはない。
直接渡す相手の住所がないと、何処を経由して、誰から誰へ届けるかわからないだろう?
[Figure13-02:物理アドレスと論理アドレス]
なるほど。確かに役割が違いますね。
■ MACアドレス
さて今回は、物理アドレス、特にMACアドレスについて説明する。
まっくあどれす?
そうだ。
MACアドレスはNICにつけられたアドレスだ。
NICにつけられたアドレス?
そのコンピュータにつけたアドレスではない、ということですか?
うむ。NICのROMに焼き付けられている。
つまり、NICが作られらた段階で決定されている。各デバイスにはNICが取り付けられているから、これで識別するわけだ。
なるほど。どっちにしろそのコンピュータを識別できるわけですね。
そうなるな。自分のパソコンにNICがつけられている人は、実際に見てもらった方が早いだろう。
以下の方法どちらかを使ってMACアドレスは見ることができる。
- 1.Windows95,98,ME…スタート→ファイル名を指定して実行→winipcfg
[Figure13-03:Winipcfig.exe]
- 2.Windows2000,XP…スタート→プログラム→アクセサリ→コマンドプロンプト→ipconfig /all
[Figure13-04:ipconfig /all]
へへぇ、確かに9x系だとちゃんとアダプタアドレスって書いてありますね。
なるほどNICのアドレスなんだ。
うむ。やはり見てもらうと話が早いな。
■ MACアドレスの構造
ていうことは、この00-90-99-32-BA-FFっていう12個の数字とアルファベットの並びがアドレスなんですね。
うむうむ。そういうのを一知半解というのだ、早とちり者め。
MACアドレスは12個の英数字の並びではない。これはあくまで人間にわかりやすくしているだけだ。
人間にわかりやすく、ってどういうことです?
もちろんコンピュータが使うのだから、ビットであるに決まっているだろう。
実際は、MACアドレスは48ビットなのだ。
48ビットってことは、0と1が48個並んでるってことですね。
そうだ。それを表示するときは、人間に見やすいよう16進数で12桁にしているだけだ。
ははぁ。
表記するときは、上の00-90-99-32-BA-FFのように、2桁ずつハイフンで区切る。
または4桁ずつドットで、0090.9932.BAFF、と区切るかどちらかだ。
なるほど。48個0と1を書けっていわれても、面倒ですものねぇ。
それが真実かもしれん。さて、ネット君。上の2つの画像は2台のパソコンに接続されているNICのMACアドレスだ。
00-90-99-32-BA-FFと、00-90-99-32-BB-11。何か気づくところはないかね?
え〜。
00-90-99-32-xx-xxって、8桁目まで同じです。
よし、いいぞ。実はMACアドレス48ビットは、2つのコードを組み合わせたものなのだ。
先頭の24ビット、つまり16進数だと6桁目までをベンダコードと呼ぶ。▼ link
ベンダコード? ベンダって製作メーカのことでしたっけ?
そうだ。
そのNICを作ったベンダの番号だ。IEEEが決定したコードになる。
だから上の2つのMACアドレスは、00-90-99が同じなんですね。
2つともcorega社が製作したNICですものね。▼ link
そして、残りの24ビットは、ベンダ割当てコードになる。
ここの部分は、各ベンダがそれぞれ任意につけたコードになる。同じベンダでは同じコードを複数につけない。まあ製造番号のような形になるな。
なるほど。
つまり、MACアドレスってのは、「どこのベンダが製作した、何番のNIC」ということなんですね。
ベンダコード | ベンダ割り当てコード |
---|---|
24ビット(2進数24桁) | 24ビット(2進数24桁) |
表示:16進数6桁 | 表示:16進数6桁 |
[Table13-01:MACアドレスの意味]
例えば、先ほどの00-90-99-32-BA-FFは以下のような意味になる。
00-90-99 | 32-BA-FF |
---|---|
corega社のベンダコード | coreg社がつけた番号 |
[Table13-02:MACアドレスの例]
corega社の作った、32-BA-FF番のNICって意味になるわけですね。
だが実際には、どこのベンダが作った、などという情報は全く使わない。
そうなんですか?
接続されている誰に届けるかを識別するためにMACアドレスはある。
それを識別できれば、別にベンダのコードであろうが、所有者の名前であろうがなんでもよかったのだよ。
はぁ。
ただし、アドレスはユニークでなければならない。
MACアドレスは、世界でユニークなアドレスになっている。一番手軽なユニークなアドレスとして、MACアドレスが使われている、ということだ。
そうか、名前だと被ってしまう可能性がありますものね。
■ MACアドレスの欠点
うむ。
さて、このMACアドレスは致命的な欠点をもっている。
致命的な欠点?
そうだ。
それはアドレスと実際の機器の場所が無関係な所だ。
アドレスと実際の機器の場所が無関係、って。
でもアドレスでしょ?
ふむ、自分で言った事を忘れたのか?
「どこのベンダが製作した、何番のNIC」って意味なのだろう、MACアドレスは?
え、ええ。そう言いました。
そうか、そのNICをつけたパソコンの位置を示すわけではないんだ。
そうだ。あくまで製作ベンダとそのベンダ内での番号でしかない。
誰?は識別できるが何処?までは識別できない。
そうなりますね。
LANのようなある程度のサイズのネットワークならば、これでも大丈夫だ。
だがWANやインターネットのような巨大なネットワークならば、これでは不十分になる。例えば、世界中の中から山田一郎という人物を探し出す時、どうする?
どうするって。
日本の戸籍を調べて…。
「山田一郎君は日本に戸籍を持っている」という情報はどこから手に入れるのだ?
山田一郎という名前は、山田家の、一郎君だという意味だろう? 何故日本に住んでいるという事がわかるのだ?
あぅ。…。
山田、一郎…。そうか、MACアドレスってのは名前みたいなものなんですね。山田家というベンダが作った、一郎君という意味しかないと。
うむ、理解してくれたようだな。
LANならば、名前だけでも探し出せる。ネットワークのサイズが小さいからな。
「山田一郎」という名前だけでも範囲が狭いなら探し出せますものね。
でも、WANだと探しきれない、と。
この欠点をフォローするのが、レイヤ3の論理アドレスなのだ。
致命的な欠点とはいったが、LANでは十分通用するし、メディア・アクセスにはこれを使う。
ふむふむ。
さて、今回はこれで終わりだ。
次回は、現在のLANの主流。イーサネットについて話すぞ。
了解。
3分間ネットワーキングでした〜♪
- ユニーク
-
[unique]
唯一の、独自の。
- MACアドレス
-
[Media Access Control Address]
メディア・アクセス制御アドレス。
ハードウェア・アドレスとも呼ばれる。
- ROM
-
[Read Only Memory]
読み取り専用の不揮発性メモリ。
書き換えることがない・必要のないデータが記憶されている。
- アダプタアドレス
-
イーサネットアダプタ=NIC、という意味になってます。
- 2桁ずつ
-
16進数の2桁は、2進数の8桁にあたります。
つまり、1バイト。
- ベンダコード
-
正確には
[Organizational Unique Identifier:OUI]
です。
参照リンクのページで調べることが可能です。 「Search For」とあるところに調べたいOUI(例えば009099)を入れると調べる事ができます。
- corega社
- ネットワーク機器のメーカ。
- ネット君の今日のポイント
-
- 「誰に届けるか」という情報のためにアドレスを使う。
- アドレスは通信可能な範囲で、ユニークである必要がある。
- アドレスにはレイヤ2の物理アドレス、レイヤ3の論理アドレスがある。
- 物理アドレスとして、MACアドレスを使う。
- MACアドレスは48ビット、表記するときは16進数12桁。
- NICにつけられたアドレスである。
- 先頭の24ビットはベンダコード。
- 後ろ24ビットはベンダがつけた識別番号。
- MACアドレスは、実際の位置と無関係なので大規模では使いにくい。