インターネットの仕組み
How the Internet Worksプロトコルとは何か ― 通信の取り決め
前のレッスンで見たように、インターネットには全体を管理する会社や人が存在しません。それでも通信が混乱なく成り立っているのは、コンピュータ同士が共通のプロトコル(通信の取り決め。コンピュータ同士がどのような手順でデータをやり取りするかを決めたルール)にしたがって動いているからです。
コンピュータ同士の通信で広く使われているプロトコルが、TCP/IPです。これは1つのルールというより、複数のプロトコルの集まり(プロトコル群)を指す言葉です。
TCP/IPは、インターネット全体の交通ルール
TCP/IPの役割は、道路の交通ルールにたとえるとわかりやすくなります。インターネットという大きな道路網があり、その道路の上を、車(データ)が正しく走れるようにしているのがTCP/IPです。信号や車線、右側通行・左側通行といった交通ルールがあるおかげで、無数の車が同時に道路を使っても事故なく目的地にたどり着けるのと同じように、TCP/IPというルールがあるおかげで、無数のコンピュータが同じ回線を使っても通信が混ざらずに届きます。
さらに、この道路の上には、目的ごとの専用レーンのようなものが存在しています。Webページを見るための通信、メールを送るための通信は、それぞれ決められた通信方法と入口を使ってやり取りされます。だからこそ私たちは、Webサイトを見ながら同時にメールを送受信するといった、複数のインターネットサービスの同時利用ができているのです。
身近なプロトコル ― サービスごとに使い分けられている
TCP/IPという交通ルールの上で、実際にどんなプロトコルが使われているか、身近な例を見てみましょう。
| やりたいこと | 使われるプロトコル |
|---|---|
| Webページを見る | HTTPS |
| 電子メールを送信する | SMTP |
| 電子メールを受信する | POP3 / IMAP |
Webページを見るときのHTTPS、メール送信時のSMTP、メール受信時のPOP3やIMAP。それぞれ名前は違いますが、役割はすべて共通しています。「このサービスは、この手順でやり取りしてください」という約束事、つまりプロトコルです。
メールが届くまでの4層の旅
プロトコルの働きを、もう少し具体的にイメージしてみましょう。あなたが1通のメールを送信してから、相手に届くまでの間、データは4つの層を通り抜けていきます。
往路(送信するとき)
- アプリケーション層 ― メールをメーラー(メールソフト)で作成し、送信ボタンを押します。これは「送信の依頼を出す」ことに当たります。
- トランスポート層 ― メールのデータを受け取り、通信しやすいサイズに分割して番号を付けます。相手先と通信を開始できるかを確認し、必要に応じて通信を確立します。途中でデータが欠けた場合に備えて、再送などの仕組みもここが担当します。
- インターネット層 ― トランスポート層から受け取った荷物に宛先IPアドレスなどを付けて「IPパケット」にします。1つ1つの荷物に送付状を貼り付けるイメージです。そして、宛先に近づく方向へ、次に渡すべきルータ(中継地点)を判断します。
- ネットワークインタフェース層 ― その時点での「次の相手(次ホップ)」まで届く形にデータを包みます。同じ区間の中でデータを運び、次の機器へ渡す。PC→ルータ→ルータ…というバトンリレーを繰り返し、最後の区間で相手先のPC(またはサーバ)へ届きます。
復路(相手に届いたとき)
- インターネット層 ― 受け取ったIPパケットが自分宛てのものかを確認し、上位のトランスポート層へ渡します。
- トランスポート層 ― 分割されて届いた荷物を番号順に並べ直し、元の形に再構成します。不足があれば再送を依頼し、すべて揃ったらアプリケーション層へ渡します。
- アプリケーション層 ― トランスポート層から受け取ったデータを、メールとして読める形にして画面に表示します。
普段私たちが目にしているのは「送信ボタンを押したら、相手に届いた」という結果だけです。しかしその裏側では、これだけの層をまたいだリレーが、一瞬のうちに行われているのです。
ここからは、基礎の一歩先の話です。初心者の方は読み飛ばして構いません。
IPアドレスだけでは、部屋にたどり着けない
インターネット層で使われるIPアドレスは、いわば建物の住所です。しかし、住所だけでは1つの建物にたどり着けても、その中の何号室に用があるのかまではわかりません。そこで登場するのがポート番号(コンピュータの中で、どのサービス宛ての通信かを区別するための番号)です。
1台のコンピュータの中でも、Webページを見る通信とメールを受信する通信は、同時に行われています。これらの通信が混ざらないのは、サービスごとにあらかじめ決まったポート番号が割り当てられているからです。たとえばHTTPSは443番、SMTPは587番(環境によって異なる場合があります)というように、「この番号の部屋宛てです」という情報が、IPアドレスとセットでやり取りされています。IPアドレスが建物の住所、ポート番号が部屋番号。この2つが揃って、初めてデータは正しい宛先まで届くのです。
教室のひとこま
最後に、このテーマを教えるとき、教室でよく交わされるやりとりを。
講師「4層の旅」の話は、駆け足で説明すると暗記科目のように聞こえてしまいがちです。1通のメールが、送信ボタンを押してから相手の画面に表示されるまでの一瞬に、これだけの手続きを踏んでいる。そのスケール感を伝えることを、いつも意識しています。