インターネット・ネットワーク通信には実に多くのプロトコルが使われており、それぞれが異なる役割を担っています。
「TCPとUDPの違いは?」「FTPって何に使うの?」「SMTPとIMAPはどちらがメール受信?」といった疑問を持つ方も多いでしょう。
本記事では、主な通信プロトコルの種類・意味・用途・特徴を一覧形式でわかりやすく解説していきます。
ネットワークを学ぶ方の入門資料としても、学び直しの整理資料としてもぜひご活用ください。
プロトコルの種類一覧:全体像の把握から始めよう
それではまず、プロトコルの全体像と分類について解説していきます。
プロトコルは大きく「どの通信層に属するか」「何のために使われるか」によって分類できます。
OSI参照モデルの各層ごとに代表的なプロトコルを把握することが、全体像の理解への近道です。
以下では、用途・層ごとに主要なプロトコルを整理して解説していきます。
Web・ファイル転送系プロトコル一覧
| プロトコル | 正式名称 | 主な用途 | ポート番号 |
|---|---|---|---|
| HTTP | HyperText Transfer Protocol | Webページの送受信 | 80番 |
| HTTPS | HTTP Secure | 暗号化されたWeb通信 | 443番 |
| FTP | File Transfer Protocol | ファイルの転送 | 20・21番 |
| SFTP | SSH File Transfer Protocol | SSH経由の安全なファイル転送 | 22番 |
| WebSocket | WebSocket Protocol | 双方向リアルタイム通信 | 80・443番 |
メール・メッセージング系プロトコル一覧
| プロトコル | 正式名称 | 主な用途 | ポート番号 |
|---|---|---|---|
| SMTP | Simple Mail Transfer Protocol | メールの送信 | 25・587番 |
| IMAP | Internet Message Access Protocol | メールの受信・サーバー管理 | 143・993番 |
| POP3 | Post Office Protocol version 3 | メールのダウンロード受信 | 110・995番 |
ネットワーク基盤系の主要プロトコル解説
続いては、ネットワーク基盤を支える主要プロトコルを確認していきます。
インターネット通信の根幹を担うプロトコル群です。
トランスポート層のプロトコル:TCP・UDP・QUIC
TCPとUDPはトランスポート層の二大プロトコルです。
TCP(Transmission Control Protocol)は、3ウェイハンドシェイクによる接続確立・再送制御・順序保証・フロー制御などにより信頼性の高い通信を実現します。
Webブラウジング・メール・ファイル転送など、データの完全性が重要な通信で広く使われます。
UDP(User Datagram Protocol)は、接続確立なしにデータを送信するシンプルなプロトコルです。
動画ストリーミング・オンラインゲーム・VoIP(IP電話)・DNSなど、速度・リアルタイム性が優先される通信に適しています。
QUIC(Quick UDP Internet Connections)は、UDPをベースにTCPの信頼性とTLSの暗号化を組み合わせた次世代プロトコルです。
HTTP/3の基盤として採用されており、従来のHTTP/1.1・HTTP/2と比較して高速で安全な通信が実現できます。
ネットワーク層のプロトコル:IP・ICMP・ARP
IP(Internet Protocol)はインターネット全体のパケット転送とルーティングを担う基盤プロトコルです。
現在はIPv4とIPv6が並行して使われており、IPv4の32ビットアドレスの枯渇問題に対してIPv6の128ビットアドレスが解決策として普及しています。
ICMP(Internet Control Message Protocol)はネットワーク診断・エラー通知に使われるプロトコルで、pingコマンドやtracerouteはICMPを使います。
ARP(Address Resolution Protocol)はIPアドレスからMACアドレスを解決するプロトコルで、同一LAN内の通信に使われます。
ルーティングプロトコル:OSPF・BGP・RIP
ルーティングプロトコルは、ルーターがネットワークのトポロジー情報を交換し、最適なルーティングテーブルを動的に構築するためのプロトコルです。
OSPF(Open Shortest Path First)は企業内ネットワーク(IGP)で広く使われるリンクステート型ルーティングプロトコルです。
BGP(Border Gateway Protocol)はインターネット上の異なるAS(自律システム)間のルーティングに使われるEGPの代表格です。
BGPはインターネット全体のルーティングを支える「インターネットの背骨」とも呼ばれる重要なプロトコルです。
セキュリティ・認証関連プロトコル解説
続いては、セキュリティ・認証に関わる主要プロトコルを確認していきます。
暗号化・セキュリティプロトコル:TLS・SSH・IPsec
TLS(Transport Layer Security)は通信を暗号化するプロトコルで、HTTPSの暗号化機能を提供します。
TLS 1.2・TLS 1.3と進化しており、現在は脆弱性のある古いバージョンからの移行が推奨されています。
SSH(Secure Shell)はリモートサーバーへの安全な接続・ファイル転送・ポートフォワーディングなどに使われるプロトコルです。
公開鍵認証を使った安全なリモート管理はエンジニアの日常業務に欠かせません。
IPsec(IP Security)はネットワーク層レベルでの暗号化・認証を実現するプロトコルスイートで、VPNの実装に広く使われます。
認証・ディレクトリプロトコル:LDAP・RADIUS・Kerberos
LDAP(Lightweight Directory Access Protocol)はディレクトリサービス(Active Directoryなど)へのアクセスに使われるプロトコルです。
企業のユーザー認証・権限管理のインフラとして広く使われています。
RADIUS(Remote Authentication Dial-In User Service)はネットワークアクセスの認証・認可・アカウンティングを行うプロトコルで、Wi-Fiの企業認証などに使われます。
セキュリティプロトコルを選ぶ際の重要なポイントをまとめます。
まず、古いプロトコルバージョン(SSLv3・TLS 1.0など)は脆弱性が発見されているため、最新バージョンのTLS 1.3を使用することを推奨します。
次に、SSH接続では公開鍵認証を採用し、パスワード認証のみへの依存を避けることが重要です。
また、VPN接続ではIPsecまたはOpenVPNなどの実績あるプロトコルを選択し、適切な暗号化アルゴリズムを設定することが求められます。
IoT・産業用・新世代プロトコル解説
続いては、IoT・産業用・新世代の注目プロトコルについて確認していきます。
IoT向けプロトコル:MQTT・CoAP・AMQP
MQTT(Message Queuing Telemetry Transport)はパブリッシュ・サブスクライブモデルを採用した軽量メッセージングプロトコルで、IoTデバイスのデータ収集に広く使われています。
消費電力・帯域幅が限られたセンサーデバイスに最適化されており、AWS IoT・Azure IoT Hubなどのクラウドプラットフォームでも採用されています。
CoAP(Constrained Application Protocol)はREST APIに似た設計で、IoTデバイス間の通信に特化した軽量プロトコルです。
UDPベースで動作し、消費電力の少ないデバイスでの実装に適しています。
新世代プロトコル:HTTP/3・gRPC・GraphQL
HTTP/3はQUICプロトコル(UDPベース)の上に構築された次世代のHTTPプロトコルです。
従来のHTTP/2と比べてコネクション確立の高速化・パケットロス時のパフォーマンス向上が実現されています。
gRPCはGoogleが開発したRPCフレームワークで、Protocol Buffersを使った効率的なバイナリ通信でマイクロサービス間の高速な通信に使われます。
GraphQLはRESTに代わるAPIクエリ言語で、クライアントが必要なデータだけを柔軟に取得できる設計が特徴です。
まとめ
本記事では、主な通信プロトコルの種類をWeb・メール・ネットワーク基盤・セキュリティ・IoT・新世代という分野に分けて解説してきました。
プロトコルはそれぞれ異なる役割と特性を持っており、用途・要件に応じて適切なプロトコルを選択することが、安全で効率的なシステム構築の鍵となります。
プロトコルの種類と特徴を幅広く把握しておくことは、ネットワーク設計・開発・運用・セキュリティのすべての場面でエンジニアとしての対応力を高めることに繋がるでしょう。