TCP/IPの通信と名前
TCP/IPはコンピュータのデータ通信を行なうために作られたプロトコルスイート(プロトコル体系)である。TCP/IPでは、通信に使用する回線やアプリケーションの種類が異なっても、共通の仕組みを利用できるようにするため、「アプリケーション層」「トランスポート層」「インターネット層」「ネットワークインターフェイス層」の4つの階層に分けて組み立てられている。
アプリケーション層は、いわゆるアプリケーションソフトウェアが動作する階層で、通信データの起点と終点となる階層である。このアプリケーション層において通信を行なう起点と終点は、文字の組み合わせである「名前」で識別される。しかし、名前のまま通信が行なわれるわけではなく、実際には各階層のプロトコルに応じて番号やアドレスといった数値情報に置き換えられ、その情報によって宛先を示すようになっている。
アプリケーション層の名前
たとえば図1に示すようにユーザーのコンピュータ上でWebサイトを表示するため、WebブラウザにWebサイトのURL(Uniform Resource Locator)を入力する。URLは人にとっては扱いやすい名前だが、コンピュータとしては自分が識別できる情報に置き換える必要がある。そのため、一般的にWebサイトのURLが入力されると、DNSサーバにURLの示すWebサーバのIPアドレスを問い合わせて調べる「名前解決」が行なわれ、その情報によって通信を行なうのである。
ポート番号
アプリケーション層のソフトウェアは、トランスポート層のプロトコルを用いて通信を行なう。このトランスポート層のプロトコルにはTCP(Transmission Control Protocol)とUDP(User Datagram Protocol)がある。TCP/UDPは情報の届け先であるソフトウェアを「ポート番号」によって識別する。図1の例では、URLの「http」という部分でWebサーバを指定していることから、サーバのポート番号80を得る。そして、実際の通信では宛先のポート番号と返信先(発信元)のポート番号により情報の届け先を示すのである。
しかし、ポート番号はあくまでソフトウェアの識別子であって、コンピュータの所在を表わすようには考えられていない。そこで宛先コンピュータへの転送を行なう機能が別に必要となる。それがインターネット層のIP(Internet Protocol)である。
IPアドレス
IPはDNSサーバへの問い合わせで、宛先WebサーバのIPアドレスを取得している。そして、そのアドレスを宛先にして情報を送信するのである。宛先に情報が届いたあとの返信もあるので、自身のIPアドレスも返信先として加えて、宛先コンピュータに送信する。コンピュータはIPネットワーク上で一意に示されなければならない。そのための識別子として「IPアドレス」があるわけだ。
EthernetとIP
さて、宛先コンピュータを示すIPアドレスがわかったとしても、物理的に伝送する手段がなければ情報は相手に届かない。その結果、物理的な情報伝送を行なうネットワークインターフェイス層が必要となる。この階層の代表的なプロトコルにIEEE(米国電気電子学会、アイトリプルイー)で規定された「Ethernet(イーサネット)」がある。
ただし、電気信号や光信号によって情報を伝達するネットワークインターフェイス層の技術はEthernetに限らない。ADSLやATMといったEthernetとは異なるさまざまな規格も用いられている。そのためIPネットワークでは、これらネットワークインターフェイス層のネットワークを「ルータ」と呼ぶ装置で相互接続し、広範囲な通信を行なう仕様になっている。そのため、同じネットワークに接続されていないコンピュータに情報を届けるには、ルータで中継させなければならない。
ここで2つのアドレスが必要となる。1つは情報の宛先、もう1つは中継装置の宛先である。どちらもネットワーク上の唯一のアドレスとして必要になる。そこで最終的な情報の宛先はIPアドレスにより指定し、その情報の中継地点をEthernetのMACアドレスにより指定するのである。
その結果IPアドレスで示す宛先は、ルータにおいて参照されてもIPアドレスを書き換えることはない。最後まで特定の宛先を示して変わることがないため、途中いくつものルータを経由しても目的地に転送できるのである。一方、Ethernetは物理的に通信できる範囲のルータまで情報を届けることが目的となる。
中継を行なうルータでは、いったん情報を受け取り、そのあと目的のWebサーバに向けて転送する。この場合、次のEthernetネットワークで通信できる範囲のコンピュータに情報を送ることになる。そのため、今度は自らがEthernetにおける送信元になって、Webサーバの宛先MACアドレスを指定して情報を送るのだ。
(次ページ、「通信形態とアドレスの種類」に続く)
この連載の記事
-
第5回
ネットワーク
Windowsネットワークの名前と番号 -
第4回
ネットワーク
インターネットで使うドメイン名と名前解決 -
第3回
ネットワーク
EthernetでのID「MACアドレス」を理解する -
第2回
ネットワーク
IPアドレスの柔軟な割り当てを実現するサブネットマスク -
ネットワーク
完全解剖「名前とアドレス」<目次> - この連載の一覧へ