メーカーも国も違うパソコンやスマホ同士が、どうしてちゃんと通信できるんですか?
いい質問だね。みんなが同じ「約束事」を守っているからなんだ。その約束事をプロトコルというよ。
プロトコルは「通信の約束事」
プロトコル とは、通信するときの手順やデータの形式を決めた 約束事 です。
電話をかけるとき、「もしもし」で始めて、名乗ってから用件を話し、「失礼します」で切りますよね。相手も同じ約束を知っているから、スムーズに会話できます。コンピュータの通信も同じで、「どんな順番で」「どんな形式で」データを送るかを、プロトコルとして決めています。
インターネットで使われるプロトコルをまとめて TCP/IP と呼びます。名前の由来は、中心となる2つのプロトコル TCP と IP です。
役割を階層に分ける
通信の仕事は、1つのプロトコルですべてを担うのではなく、役割ごとに階層(層)に分けて 分担しています。
通販の荷物を考えてみましょう。
- お店:何を送るか決めて、商品を用意する(中身の担当)
- 梱包係:伝票を貼り、壊れないように確実に届ける手配をする(確実に届ける担当)
- 配送会社:伝票の住所を見て、トラックで運ぶ(運ぶ担当)
お店は配送ルートを知らなくてよいし、配送会社は中身を知らなくてよい。役割を分けると、それぞれを独立して改良できます。
TCP/IPは4つの階層に分かれています。また、通信の機能を7つの階層で整理した国際的なモデルが OSI基本参照モデル です。
| TCP/IPの階層 | 担当すること | 荷物でいうと |
|---|---|---|
| アプリケーション層 | Web・メールなど、サービスごとの約束事 | お店(中身) |
| トランスポート層 | データを確実に、または素早く届ける | 梱包・配達方法の手配 |
| インターネット層 | IPアドレスを使って宛先まで運ぶ | 配送会社の住所と経路 |
| ネットワークインタフェース層 | ケーブルや電波で隣の機器まで送る | トラックや道路 |
アプリケーション層の主なプロトコル
試験では「この役割のプロトコルはどれか」がよく問われます。
| プロトコル | 役割 |
|---|---|
| HTTP | WebブラウザとWebサーバの間で、Webページをやり取りする |
| HTTPS | HTTPの通信を TLS で暗号化したもの。URLが「https://」で始まる |
| SMTP | メールを 送信 する。メールサーバ同士の転送にも使う |
| POP3 | メールを 受信 する。サーバから端末に ダウンロード して読む |
| IMAP | メールを 受信 する。メールを サーバ上に置いたまま 管理・閲覧する |
| FTP | ファイルを転送する |
| DNS | ドメイン名とIPアドレスを対応付ける(名前解決) |
| DHCP | IPアドレスなどの設定を、機器に自動で割り当てる |
| NTP | 機器の時刻を正しい時刻に合わせる(時刻同期) |
SMTPの「S」は Send(送る) と覚えると混同しません(正式には Simple Mail Transfer Protocol)。受信側の2つは、POP3 = 持ち帰る(ダウンロード)、IMAP = サーバに置いたまま。スマホとパソコンなど複数の端末で同じメールを見たいなら IMAP が便利です。
TCPとUDP ― 確実さか、速さか
トランスポート層には、性格の違う2つのプロトコルがあります。
- TCP:通信の前に相手との接続を確立し、データが 届いたか確認 し、届かなければ 再送 する。順番が入れ替わっても正しく並べ直す。信頼性重視
- UDP:確認も再送もせず、とにかく送る。そのぶん処理が軽く 速い
確認してくれるTCPのほうが、いつでもよさそうですけど…。
ビデオ通話を思い出してごらん。1秒前の映像が欠けたからといって、今さら再送されても困るよね。多少欠けてもいいから遅れずに届いてほしい通信にはUDPが向いているんだ。
| TCP | UDP | |
|---|---|---|
| 重視すること | 信頼性(確実に届ける) | 速さ・リアルタイム性 |
| 到達確認・再送 | する | しない |
| たとえ | 書留郵便(受け取りを確認) | 普通のはがき・放送 |
| 主な用途 | Web(HTTP)、メール、ファイル転送 | IP電話、オンライン会議の音声・映像、DNSの問合せ |
ポート番号 ― どのアプリ宛てか
IPアドレスで「どのコンピュータか」は決まりますが、1台のサーバの中ではWebやメールなど複数のサービスが同時に動いています。そこで、どのアプリケーション(サービス)宛てか を区別する番号として ポート番号 を使います。
IPアドレスが マンションの住所、ポート番号が 部屋番号 です。住所だけでは建物までしか届かず、部屋番号があって初めて目的の人に届きます。
よく使うサービスには、決まったポート番号(ウェルノウンポート)が割り当てられています。代表例は HTTP が80番、HTTPS が443番、SMTP が25番、POP3 が110番 です。
IPアドレス・MACアドレス・ポート番号 の区別に注意。
- MACアドレス:機器(NIC)そのものの番号
- IPアドレス:ネットワーク上で、どのコンピュータか
- ポート番号:コンピュータの中で、どのアプリケーションか
試験に出るポイント
- プロトコル = 通信の約束事。インターネットは TCP/IP(4階層)、整理用のモデルは OSI基本参照モデル(7階層)
- Web は HTTP、暗号化したものが HTTPS(TLSで暗号化)
- メールの送信・転送は SMTP、受信は POP3(ダウンロード)か IMAP(サーバで管理)
- DNS = 名前解決、DHCP = IPアドレスの自動割当て、NTP = 時刻同期、FTP = ファイル転送
- TCP は信頼性重視(確認・再送あり)、UDP は速さ重視(確認・再送なし)
- ポート番号 = どのアプリケーション宛てかを区別する番号