〔図4〕イーサネットアドレスのしくみ

〔図4〕イーサネットアドレスのしくみ


 イーサネットアドレスの仕組み
 それぞれの通信規格の中では,その規格で決められたアドレスというものがあります.ちょうど通信の相手を特定するための「Aさん」や「Bさん」といった名前のようなものです.
 TCP/IPでは,IPアドレスという32bitのアドレスを使って相手を特定します.
 イーサネットでも,イーサネットアドレスという48bitのアドレスを使って相手を特定します.図4のように,イーサネットアドレスは,上位24bitと下位24bitでそれぞれ役割が決まっています.
 上位24bitは,ベンダーコードと呼ばれて,そのイーサネットインターフェースを製造したメーカーの番号が付けられます.この番号は,IEEEという機関で管理されており,すべてのメーカーに異なった番号が割り振られています.
 下位24bitは,ベンダー内でつけることのできる番号で,そのベンダーが製造したカードに対しては,すべて異なった番号を割り振らなければなりません.
 このようにして,イーサネットインターフェースには,世界で唯一の番号が振られます.もし同じ番号のインターフェースが存在していると,同じパイプに「Aさん」が二人いることになり,相手を特定することができなくなってしまうからです.
 イーサネットアドレスを見ると,そのインターフェースを製造したメーカーを特定することができます.例えば,上位24bitが00:AA:00 であれば,インテルが製造したインターフェースであることがわかります.

 イーサネットの通信の仕組み
 図5では,3つのコンピュータが,それぞれのイーサネットインターフェースを経由して,イーサネットに接続されています.コンピュータAがコンピュータCに「今何時ですか?」というメッセージを送りたいとしましょう.
 コンピュータAのアプリケーションプログラムが,イーサネットドライバに対して,「コンピュータCに“今何時ですか?”というメッセージを送ってください」と要求を出した(1)とします.
 イーサネットドライバは,アプリケーションプログラムからの情報に基づいて,送信するパケットのイメージを構成します
 先ほどのパイプの例のように,イーサネットパケットはおもに,送り元アドレス,送り先アドレス,送りたいデータ(メッセージ)からなります.
 送り元アドレスは,自分のイーサネットインターフェースのアドレスなので,明らかですし,送りたいデータはアプリケーションから示されます.
 送り先のアドレスは,アプリケーションプログラムからは「コンピュータC」と指定されますが,これはイーサネットアドレスではありません.
 そこで,コンピュータ名をイーサネットアドレスに変換しなくてはなりません.この情報は,イーサネットドライバの中のARPというテーブルに格納されています.ARPテーブルには,送り先のコンピュータの名前と,そのコンピュータのイーサネットアドレスが書いてあります.
 イーサネットドライバは,ARPテーブルを参照してコンピュータCのイーサネットアドレスがわかりますので,パケットを構築して,イーサネットケーブルに送信します(2). この送信されたパケットは,コンピュータBもCも受信します.しかし,コンピュータBは受信したパケットの送り先アドレスが自分のイーサネットアドレスと異なるので,このパケットを破棄します.
 コンピュータCでは,送り先アドレスと自分のアドレスが一致しますので,受信して,上位層となるアプリケーションプログラムに「コンピュータAから“今何時ですか?”というメッセージを受信しました」と伝えます.

   〔図5〕イーサネットの通信の仕組み

〔図5〕イーサネットの通信の仕組み



 CQ出版 TOP OPENDESIGN TOPOPENDESIGN Online目次に戻る
  
Copyright CQ Publishing Co.,Ltd. 1997-2001