通信プロトコルとは、ネットワーク上の機器がデータをやり取りするためのルールです。Webサイトの閲覧、メールの送受信、ファイルの転送など、用途に応じてさまざまなプロトコルが使われています。
通信の仕組みを理解するには、個々のプロトコルの特徴に加えて、それぞれがどのように組み合わされているかを知ることが大切です。この記事では、通信プロトコルの基本と代表的な種類、ネットワークにおける役割を紹介します。
通信プロトコルとは
コンピューター同士が通信するには、データの形式や送信方法、受信後の処理などについて、共通のルールが必要です。このルールを通信プロトコルと呼びます。
例えば、WebブラウザーとWebサーバーが異なるメーカーの製品でも情報をやり取りできるのは、共通のプロトコルに対応しているためです。送信側と受信側が同じルールに従うことで、相手から届いたデータを適切に解釈できます。
通信プロトコルとOSI参照モデルの関係
ネットワークの通信は、複数の役割に分かれています。データを電気信号や電波として送る仕組み、宛先まで届ける仕組み、アプリケーション間で情報を交換する仕組みなどが連携して、通信を実現しています。
こうした役割を7つの階層に整理したものが、OSI参照モデルです。OSI参照モデル自体は通信プロトコルではなく、通信機能を分類して理解するためのモデルです。プロトコルを階層ごとに整理すると、それぞれの担当範囲や関係を把握しやすくなります。
インターネット通信の基礎となるTCP/IP
TCP/IPは、インターネットで使われる通信プロトコル群の総称です。TCPとIPだけを指すのではなく、UDPやHTTPなど、関連するさまざまなプロトコルも含みます。
TCP/IPでは、通信機能を一般にアプリケーション層、トランスポート層、インターネット層、ネットワークインターフェース層の4つに整理します。各層が役割を分担することで、異なる機器やネットワークの間でも通信できます。
IP:宛先へデータを届ける
IP(Internet Protocol)は、IPアドレスを使って通信先を識別し、ネットワーク間でパケットを届けるためのプロトコルです。パケットとは、ネットワーク上で送受信するデータの単位です。
IPにはIPv4とIPv6があります。IP自体はデータの到達や順序を保証しないため、必要に応じてTCPなどの別のプロトコルと組み合わせます。
TCP:データを確実に届けるための制御を行う
TCP(Transmission Control Protocol)は、データの順序管理や再送などを行うプロトコルです。通信相手との接続を確立し、失われたデータがあれば再送することで、信頼性のあるデータ転送を実現します。
Web通信やメールなど、データを正しい順序で欠けなく受け取る必要がある用途で広く使われています。
UDP:再送や順序保証を行わずにデータを送る
UDP(User Datagram Protocol)は、TCPのような接続の確立や、データの再送・順序保証を行わないプロトコルです。通信制御の負担が小さく、リアルタイム性を重視する音声・映像通信などで利用されます。
ただし、UDPを使えば必ず通信が速くなるわけではありません。データの欠落への対応が必要な場合は、アプリケーション側などで補います。
Webサイトの閲覧に使われるHTTPとHTTPS
HTTP(Hypertext Transfer Protocol)は、WebブラウザーとWebサーバーの間で、ページの内容や画像などをやり取りするためのプロトコルです。ブラウザーがリクエストを送り、サーバーがレスポンスを返す仕組みで動作します。
HTTPSは、HTTPによる通信をTLSで保護する仕組みです。通信内容の暗号化や改ざんの検知、証明書による接続先の確認を行います。ログイン情報や個人情報の送信を含め、Webサイトの通信を安全に行うために重要です。
ネットワークの利用を支えるDNSとDHCP
DNS(Domain Name System)は、ドメイン名に対応するIPアドレスなどの情報を調べる仕組みです。DNSの問い合わせと応答にも通信プロトコルが使われており、人が覚えやすい名前でサーバーにアクセスできるようにしています。
DHCP(Dynamic Host Configuration Protocol)は、IPアドレスやデフォルトゲートウェイ、DNSサーバーの情報などを機器に自動的に配布するプロトコルです。多数の端末を接続する環境で、設定作業の負担を減らす役割を担います。
メール・ファイル転送・遠隔操作に使われるプロトコル
通信プロトコルは、Webサイトの閲覧以外にも幅広い用途で使われています。
| プロトコル | 主な用途 |
|---|---|
| SMTP | メールの送信や、メールサーバー間の配送 |
| POP3 | メールサーバーから端末へのメール取得 |
| IMAP | サーバー上のメールやフォルダーの参照・管理 |
| FTP | ファイルの転送 |
| SSH | 暗号化された通信による遠隔操作 |
| SFTP | SSHを利用したファイル転送 |
| NTP | ネットワーク経由での時刻同期 |
例えば、メールでは送信と受信で異なるプロトコルを使用します。また、FTPとSFTPはどちらもファイル転送に使われますが、別のプロトコルです。用途が似ていても、通信方法やセキュリティの仕組みには違いがあります。
ポート番号と通信プロトコルの関係
IPアドレスが通信先を識別するのに対し、ポート番号は、TCPやUDPの通信で宛先のサービスなどを識別するために使われます。同じサーバー上で複数のサービスを動かす場合でも、ポート番号によって通信を振り分けられます。
代表的なポート番号には、HTTPの80番、HTTPSの443番、SSHの22番などがあります。ただし、これらは一般的な設定であり、サービスによっては別の番号を使用できます。
通信プロトコルとセキュリティ
通信の安全性を考える際は、プロトコルが暗号化や認証に対応しているかを確認することが重要です。例えば、HTTPとHTTPSでは、通信内容を保護する仕組みに違いがあります。
また、暗号化されたプロトコルを利用するだけで、すべてのリスクに対応できるわけではありません。認証情報や証明書の管理、ソフトウェアの更新、不要な通信の制限なども組み合わせて、安全な通信環境を整える必要があります。