サーバー構築 セキュリティ TCP/IP基礎 TIPS 書籍 ブログ

Web全体 サイト内検索

 TCP/IPの基礎知識
TCP/IPとOSI参照モデル
必須:コンピュータの情報単位
IPアドレスとその仕組み
プリフィックス値とサブネットマスク
グローバル/プライベートアドレス
ブロードキャスト/マルチキャストアドレス
 プロトコル別解説編
ARPとRARP/MACアドレス
ポート番号とは?
TCPとUDP/両プロトコルの相違
ICMPとは?
DNSとは/DNSサーバーの仕組み
VPN(PPTP/L2TP)とは
 実践ネットワークコマンド
PINGコマンド/MTU値の調整
TRACERTコマンド
NETSTATコマンド
NSLOOKUPコマンド
ARPコマンド
IPCONFIGコマンド
 各関係組織・団体
JPNIC
Whoisデータベース(VeriSign)
IANA
 




■MACアドレスとは

ARPとRARPを説明する前に、MACアドレスと呼ばれているものを解説しておく必要があります。MAC(Media Access Control=媒体アクセス制御)アドレスとはネットワークに参加するハードウェア固有のアドレスのことで、TCP/IPモデルでいうインターネット層(IP層)よりも下位の層であるネットワークインターフェイス層(データリンク層+物理層)に位置付けられています。MACアドレスは一般的には、LANボードに搭載されているチップ内部に最初から書き込まれており、別のネットワークにコンピュータを持っていけばアドレスが変わるIPアドレスを論理アドレスとするならば、MACアドレスは別のネットワークに持っていったとしても決して変わることのないアドレスという意味で物理アドレスということができます。LAN内では必ず、このMACアドレスを使ってそれぞれのコンピュータ同士を認識しあうようになっているため、LAN内でデータ通信を行うためには必要不可欠なアドレスとなります。



MACアドレスには以下のような一定のルールが設けられています。

①48ビットのコードからなっている
②メーカーが出荷する段階で書き込み、一般ユーザーがその値を変更することができない
③同じMACアドレスを持つ機器は存在しない
④メーカーを識別することができる
⑤通常は48ビットを8ビットづつ6つのブロックに区切り、16進数で表示する

MACアドレスの形式は3バイト(=24ビット)のベンダーコード(別名OUI識別子/製造メーカーを識別する管理コード)と3バイトのノード番号(製造メーカーによって管理・提供されている他の機器と重複しない管理コード)の計6バイト(48ビット)で構成されており、それぞれを1バイトづつ、「:」または「-」で区切る方法が採用されています(ビット計算については「必須:コンピュータの情報単位」を参照)。MACアドレスは「winipcfgコマンド」「ipconfigコマンド」や「ARPコマンド」によって確認することができるようになっています。

◎MACアドレス




なお、MACアドレスにおいても全てのビットが「1」の「FF:FF:FF:FF:FF:FF」というアドレスは、ブロードキャスト用のアドレスとして予約されています。ところで、このMACアドレスというアドレスは実際にコンピュータに触っている上で決して知っておかなければならないというアドレスと言うわけでもなさそうです。しかし、データ通信を行う上では、必ず知っておかなくてはならないアドレスでもあるのです。というのもIPアドレスは個々の端末に「ソフトウェア的」に割り当てられたアドレスであるために機器そのものを特定することはできないからです。ここでもう一度OSI参照モデルを思い出して欲しいのですが、IP層の下層にはネットワークインターフェイス層(データリンク層+物理層)があり、IPアドレスが識別されるよりも前に、物理層とデータリンク層での処理のやりとりが行われています。すなわち、この時点では既に機器の特定がなされていなければならないわけで、この機器の特定がなされなければ(=宛先のMACアドレスがわからなければ)当然、イーサネットパケットを正しい相手に送ることは不可能なのです。そこで、このデータの処理のやり取りを実現しているのがMACアドレスであるというわけなのです。

◎データ通信の流れ




  ■ARPとは

ARP(Address Resolution Protocol)とは、ネットワークにおいて、IPアドレスからイーサネットの物理アドレス(MACアドレス)を導き出すためために使われるプロトコルのことです。コンピュータやネットワーク機器などは自分自身に割り当てられているMACアドレスは識別していますが、膨大な数のコンピュータが存在するインターネット上にある特定のコンピュータのMACアドレスなど知る由もないはずです。かといってネットワークの管理者が全ての機器のMACアドレスを調べ、ネットワーク機器に入力するなんてことは非常に煩雑な作業になり、ネットワーク管理者もいじけてしまうでしょう。そこで考え出されたのがARPと呼ばれるものなのです。

それでは実際にARPがどのように動作しているのかを解説していきます。まず、アドレス解決(IPアドレス→MACアドレス)を行いたいコンピュータが相手先に対して「このIPアドレスをもつコンピュータはMACを返してきてください」というブロードキャストパケットと呼ばれるパケットをLAN内全体に送ります(ARPブロードキャスト)。その後、LAN内にある全てのコンピュータがブロードキャストパケットを受信し、そのIPアドレスを持たない無関係のコンピュータはそのパケットを破棄する仕組みになっています。最終的に、特定のIPアドレスを持つコンピュータが見つかった場合に、そのコンピュータと1対1でのユニキャストを行い、通信が確立することになります(下図参照)。

◎ARP簡略図





■ルータを超える相手とARP

しかし、上記のような流れはLAN内のみのARP解決である故に可能であって実際に、インターネット上に存在する特定のコンピュータと通信を行いたい場合はどうなるのでしょうか?実はこの場合においてはARPプロトコルを利用してもターゲットコンピュータのMACアドレスを取得することはできません。なぜなら、MACアドレスは元来、LAN内のみで利用するプロトコルであって、何よりもルータは、ブロードキャストパケットをLAN外へは送出しない仕様になっているからです。この場合は、プロキシARPという、なんらかの理由でARPが行えないホストのために代理のハードウェアが代わりにARPを実行する機能を利用することになります。つまり、相手先のMACアドレスが得られないわけですから、相手先のルータのMACアドレスを代わりに取得し、とりあえずはそのルータまでデータを送出します。そして、そのデータパケットを受信した相手先のルータは最終目的地のMACアドレスを求めるためにLAN内全体に対してブロードキャストパケットを送り出すことになります。あとは上記で述べた手順を繰り返していくわけです。

つまり、ルータを超えてパケットがルーティングされていく場合、IPアドレスは不変となりますが、MACアドレスはルータを越えるごとに書き換えられていきます。

①ネットワーク内部で通信を行う場合は、必ず送り先のIPアドレスとMACアドレスの両方が必要となる。

②外部ネットワークでパケットがルーティングされていく段階では、最終目的地となるコンピュータのMACアドレスは必要ない(つまり、相手先のルータのMACアドレスさえわかればよい)。ルーティングにはIPアドレスのみが使用されます。



■ARPキャッシュ

ARPはTCP/IPにとっては不可欠な仕組みですが、手間がかかるという欠点があります。というのもいちいち通信が発生するたびに毎回ブロードキャストパケットを送出していたのではネットワークのトラフィックが増大してしまいます。そこで各コンピュータは一度取得したMACアドレスに関しては「ARPキャッシュ」と呼ばれる特殊なメモリに格納し、一定期間、情報を保持するようになっています。


■RARPとは

RARP(Reverse Address Resolution Protocol)とは、ARPとは逆の意味でMACアドレスからIPアドレスを取得するためのプロトコルです。例えばネットワークコンピュータのようなディスクレスのマシンはデータを保存するハードを持たないため、ネットワークに参加した段階では、ハードに書き込まれた自分のMACアドレスはわかりますが、IPアドレスまではわからない、という状態になります。そこで自分のIPアドレスを知るために次のような手順を行います。

外部記憶装置をもたないで、LANボードのBOOT-ROMによってRARPを使用するように設定されたノードは、起動されると同時に自分のMACアドレスを入れたRARP要求パケットをブロードキャストアドレスで送出する。この時、自分のIPアドレスはブランクの状態。

ネットワーク上のRARPサーバーは、そのパケットを受信すると、送信元のMACアドレスを参照し、そのMACアドレスに対応するIPアドレスを返送する。

返送されたパケットを受信した送信元のノードは、取得したIPアドレスを自分のIPアドレスとしてネットワークの設定を行い、起動する。


◎RARP簡略図




RARPは上記で述べたようなディスクレス型マシンがある場合に使用されるもので、皆さんもご存知のように昨今のようなネットワーク環境においてはディスクレス型ワークステーションが使用されるケースはほとんどありません。同様に市販されているLANボードにBOOT-ROMが搭載されているケースも減少しているため、RARPはARPとの比較の意味では重要な意味をもちますが、今となってはほとんど利用されることのないプロトコルとなっています。


 

Copyrights©KORO 2002-08 All Rights Reserved.Since 02/08/15 | サイトのプライバシーポリシー