通信の識別子とは? ~送信相手に正しくデータが届くのは何故?~

スポンサーリンク




もしデータが正しい相手に送信されなければ、メールが違う人に届いたり、Yahooを開いたのにGoogleが表示されたりします。

でもそういうことって絶対ないですよね。

では、コンピュータネットワークでは、どうやって正しくデータを送信してるのでしょうか?

通信相手を特定する情報「識別子」

データを正しく届けるためには、通信相手を特定しなければなりません。

特定するためにはもちろん情報が必要ですが、その情報のことを「識別子」といいます。

例えば、「IPアドレス」は、通信相手を特定する識別子の1つです。通信先の最終目的地ですね。

他には、ネットワークインターフェースカード(NIC)に必ず付けられている「MACアドレス」も識別子です。

また、到着したデータをどのアプリケーションで使うのかを示した「ポート番号」も識別子となります。

IPアドレスだけでは特定できない?

さて、IPアドレスの他にMACアドレスなんてのが出てくると、「IPアドレスだけじゃだめなの?」という疑問が出てくると思います。

その答えを出すために、もしMACアドレスがなかったらどうなるか考えてみましょう。

一番簡単な例が、インターネットに繋がっていないPC同士が繋がれたコンピュータネットワーク(LAN = ローカルエリアネットワーク)です。インターネットに繋がっていない、つまりIPアドレスが割り当てられていない状態だと考えましょう。

この様な状態ではどうやったら他のコンピュータにデータを送信するのでしょうか?となると答えは簡単ですね、MACアドレスが必要ということがわかると思います。

LANは、ネットワークインターフェース層のプロトコルで運用されています。一方IPアドレス情報をパケットにくっつける役目はインターネット層でした。

つまり、インターネット層で使うIPアドレスだけがあっても、ネットワークインターフェース層のLANでは通信ができないのです。イーサネットなどのネットワークインターフェース層では、MACアドレスが識別子として必要だと覚えておきましょう。

MACアドレスは他にはどこで使われている?

MACアドレスはルータの内側にあるネットワーク、つまりLANで通信するのに必要だということがわかりましたが、LAN以外で他に使われている場所はどこでしょうか?

答えは、「ルータ」です。

インターネットをする場合は外のネットワークに出ますが、そのときに必ずルータを通りますね。そして、ルータからルータへ、またルータへと、情報をバトンタッチしながら送信していることになります。

ですので、各ルータを特定するための識別子が必要となるわけですが、この場合もルータのIPアドレスだけではなく、MACアドレスが必要なのです。


スポンサーリンク



ネットワークインターフェース層はOSIで言う「物理層」で、主にLANでの通信を担う部分です。LANの場合はイーサネットという規格がありますが、それがネットワークインターフェース層のすべてではなく、ルータ間での直接的な通信も物理層の担う部分です。なので、物理アドレス=MACアドレスが必要というわけです。

郵便でいえば、IPアドレスは住所で、MACアドレスは名前です。正確にデータを送るには、MACアドレスが識別子として必要だと覚えておきましょう。

ここでまたまた疑問になってくるのが、「IPを指定しただけでルートのMACアドレスが全部わかるの?」という内容だと思いますが、これもわかるようになってます。これは次の機会に解説します。

ポート番号も識別子

識別子は相手を特定するための情報と書きました。

文字通り解釈すると、ポート番号は「相手」の識別じゃないんじゃない?と思ってしまいますね。

でも、ポート番号も識別子となります。何故でしょうか?

ここで思い出して欲しいのが、「クライアント」です。クライアントは、そのPCのことをいうこともあれば、ブラウザなどのソフトのことを指すこともありますね。なので、ここで言う「相手」とは、「クライアント = ソフト」のことです。

正しい相手とは、IPの示す「PC」ではなく、「ソフト」というわけです。

おさらいですが、ポート番号は、トランスポート層によってパケットにつけられる情報です。HTTP(ハイパーテキスト転送プロトコル)なのか、FTP(ファイル転送プロトコル)なのか、区別するためにポート番号が付けられます。

このポート番号のおかげで正しいソフトへデータが届き、メールを受信しながら動画を見れたり、ということができるわけです。

ドメインネームも識別子?

ドメインネームは、IPアドレスを人間がわかりやすくするために付けられたものでした。

その実態はIPアドレスとなり、アプリケーション層のブラウザやFTPなどで使われているので、これも1つの識別子と言えますね。

ドメインネームを元に、DNSサーバがしっかりIPに変換して情報を送るわけですから、正式にシステム化している識別子です。

識別子のまとめ

第1層:ネットワークインターフェース層
MACアドレス・・・直接繋がっている機器の宛先。郵便で言えば宛名にあたる。

第2層:インターネット層
IPアドレス・・・インターネットでの最終目的地点。郵便で言えば住所にあたる。

第3層:トランスポート層
ポート番号・・・どのソフトウェアのためのデータかを識別するためのもの。

第4層:アプリケーション層
例えばドメインネーム・・・人間用に準備された文字や数字だが正式な識別子。



スポンサーリンク

コメントは停止中です。

サブコンテンツ


このページの先頭へ