3 Minutes NetWorking
No.13

3MinutesNetWorking

第13回レイヤ2 レイヤ2アドレッシング

■ アドレッシング

インター博士

人間は何故、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

winipcfg.exe

[Figure13-03:Winipcfig.exe]

  • 2.Windows2000,XP…スタート→プログラム→アクセサリ→コマンドプロンプト→ipconfig /all

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-9932-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アドレスは、実際の位置と無関係なので大規模では使いにくい。

3 Minutes NetWorking No.13

管理人:aji-ssz(at)selene.is.dream.jp