はじめに
こんにちは。管理人のシンヤです。
今回は、データをやり取りをする際の『プロトコル』というものについて解説していきます。
では、『プロトコル』とは何なのでしょう?
結論から言えば、プロトコルとは『ネットワーク上でデータの通信をするためのルール』です。
『プロトコル』とはネットワーク上でデータの通信をするためのルール
プロトコルとは、ネットワーク上でデータを通信する際に用いられる手順や言語、ルールになります。
これを現実世界で当てはめると、言わば『言葉』と同じです。
私たちが外国人と話すには、相手の国の言葉か相手に自国の言葉を話してもらわないとコミュニケーションが取れないですよね?
これはPCやサーバーなどの機器も同じで、昔はメーカーごとに機器の通信ルールを決めていたこともあり、同じメーカーの機器間でしかデータのやり取りができませんでした。
しかし、これでは異なるメーカー同士での通信は不可能でありネットワークとしての存在意義がありません。
そのため、それぞれの機器同士でデータのやり取りを可能にするために、お互いの機器が理解できる言葉やルールを作る必要がありました。
そして、そのルールを『プロトコル』とし、『TCP/IP』という世界標準のネットワークプロトコルが生まれたことで、ネットワーク上で情報をやり取りする手順と共通言語を定めることができました。
これにより異なったメーカーの機器でも通信ができるようになったのです。
このプロトコルの仕組みを簡単に言うと、データを送信する際にプロトコルはデータを『パケット』化します。
次に『ヘッダ』という別データをそのパケットに付け、必要な情報を追加して送信し機能させているものになります。
また、必ずしも一つのプロトコルだけで機能するというわけではなく、複数のプロトコルを併用して機能させているものもあります。
例として、上記に書いた『TCP/IP』などが正にプロトコルを併用したものであり、これはTCPプロトコルとIPプロトコルを元にして、さらに他の数多くのプロトコルを組み合わせているものになっています。
これら複数のプロトコルが階層ごとにまとめられてるものを、『プロトコルスタック』や『プロトコルスイート』と呼びます。
様々な役割が必要になるため、用途別に数多くある『プロトコル』の種類
プロトコルについて簡単に説明しましたが、実はプロトコルには数多くの種類があります。
例えば『IP』『TCP』『HTTP』など、どこかで聞いた覚えがあるようなものです。(大体最後が「P」になりますね)
そして、これらが役割に応じて、ネットワーク間にあるクライアントやサーバーとのやり取りを可能にしてくれています。
下記に代表的なプロトコルをまとめてみました。
プロトコル名 | 概要 |
---|---|
『IP』 (Internet Protocol) |
ネットワーク上の各機器にアドレス(住所)を割り当て、そのアドレスにデータを送り届ける役割を持つプロトコル |
『TCP』 (Transmission Control Protocol) |
上記の『IP』だと確実性がなくデータ通信に欠損が出てしまうことがあるので、それに代わってデータをパケット化して信頼性の高いデータ通信を可能にするプロトコル |
『UDP』 (User Datagram Protocol) |
パケットを送ることのみの役割に特化させ、TCPよりも軽い動作でデータ通信を可能にするプロトコル |
『HTTP』 (HyperText Transfer Protocol) |
Webブラウザがリクエストすると、それに対しレスポンスを返すWebサーバーとの間でやりとりされるプロトコル |
『SMTP』 (Simple Mail Transfer Protocol) |
インターネットメールで使われる送信用のプロトコル |
『POP3』 (Post Office Protocol version3) |
インターネットメールで使われる受信用のプロトコル |
『IMAP』 (Internet Message Access Protocol) |
サーバー上でインターネットメールを受信し管理するためのプロトコル |
『FTP』 (File Transfer Protocol) |
クライアントとサーバー間の2台のみでファイル転送をおこなうためのプロトコル |
『DHCP』 (Dynamic Host Configuration Protocol) |
ネットワーク上の各機器にIPアドレスを自動的に割り当てるためのプロトコル |
『NTP』 (Network Time Protocol) |
ネットワーク上にある全ての機器の標準時刻を同期させるためのプロトコル |
『ICMP』 (Internet Control Message Protocol) |
TCP/IPのパケット転送で、エラーが発生した場合にその内容を報告するためのプロトコル |
『PPPoE』 (Point-to-point protocol) |
PPPという2点間の機器の間でおこなう認証を、Ethernet上でも利用できるようにしたプロトコル |
このほかにもたくさんあります。
また、時代が経つにつれ使われなくなっていったものもあります。
まとめ
プロトコルについて何となく分かったでしょうか?
機器間でデータを通信する際には必ず必要な手順や言語、ルールがプロトコルです。
プロトコルがあるおかげで、世界中のネットワークと不便なく繋げられるんですね。