プロトコルとは
プロトコルは、機器やソフトウェア同士が通信するときに、データの形式、意味、送る順序、異常時の扱いなどを共有する規則です。作った会社や機械が違っても、同じ規則を実装していれば情報を解釈できます。
「0と1を送れる」だけでは会話になりません。どこからどこまでが一つのメッセージか、数字が何を意味するか、いつ返事をするかをそろえて初めて通信になります。プロトコルは通信相手どうしの共通言語と進行手順です。
通信の約束同じデータを、同じ意味で扱うための四つの視点
項目の並び・長さ・区切り
METHOD /path値や命令が表す内容
GET=取得誰が先に何を送るか
要求 → 応答失敗・再送・終了の扱い
404=対象なし一つの通信で、複数のプロトコルを重ねて使う
Webページを開く通信では、一つのプロトコルだけがすべてを担当しません。用途に近い上の層から、実際の回線に近い下の層へ役割を分けます。上の層のデータを下の層が包み、受信側では逆順に解釈します。
インターネットの層担当の異なる規則を組み合わせる
アプリケーション層HTTP:Webの要求と応答
利用する機能トランスポート層TCP / UDP:アプリ間の運び方
端から端インターネット層IP:宛先へパケットを転送
ネットワーク間リンク層Ethernet / Wi-Fi:隣の機器へ渡す
直接つながる区間代表的な略語と正式名称
- HTTP
- Hypertext Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)。Webで要求と応答をやり取りする規則です。
- TCP
- Transmission Control Protocol(トランスミッション・コントロール・プロトコル)。順序や再送などを用い、信頼性のあるバイト列をアプリ間で扱います。
- UDP
- User Datagram Protocol(ユーザー・データグラム・プロトコル)。小さなヘッダーでデータグラムを送り、到着・順序・重複排除をプロトコル自身では保証しません。
- IP
- Internet Protocol(インターネット・プロトコル)。送信元と宛先のアドレスを使い、異なるネットワーク間でデータグラムを転送します。
「対応している」の意味
製品に「HTTP対応」「IPv6対応」と書かれていても、仕様の全機能を使えるとは限りません。対応版、必須機能、任意機能、初期設定、相互運用試験などの条件があります。プロトコル名だけで実際の動作を決めつけず、製品資料と通信条件を確認します。
また、送る側と受け取る側が同じ規則を使う必要があります。片方だけが新しい方式に対応しても、相手との間で共通に使える規則がなければ通信は成立しません。
プロトコルとサービスは同じではない
サービスは利用者へ提供される機能、プロトコルはその機能を実現する通信規則です。同じサービスが複数のプロトコルを使うことも、一つのプロトコルが多くのサービスで使われることもあります。Web=HTTPそのものではなく、Webを支える規則の一つがHTTPです。
層と役割の確認資料:RFC 1122「Requirements for Internet Hosts — Communication Layers」