Webブラウザにて何かを検索するとき、ブラウザの上部にURLを設定することもあるかと思いますが、このURLの構成要素の一つとして、”スキーム”というもの(URL上の「https://」の部分)が存在します。この、そのスキームの中の「https」部分がプロトコルと呼ばれる要素です。
本記事では、この“プロトコル”とは具体的にどんなものなのかをまとめてたいと思います。
なお、以下の記事にてWebブラウザに設定するURLの正体についてまとめていますので、ぜひご覧ください。
プロトコルとは
プロトコルとは、簡単に言えば、インターネット上の通信のルールです。
インターネット上では、いろんな機器がそのネットワークにつながっていますが、繋がっている機器は、メーカや機種、さまざまなものが接続されています。それらの機器が情報のやりとりをするためには、通信のルールが必要です。
例えば、人間の会話では、お互いに理解できる共通の言語で話をすることで、会話を成立させ、お互いの言いたいことを伝え合うことができます。
インターネットにおける通信も同じであり、通信する機器が、お互いに理解できるルールに則って情報を送受信することで、インターネット上の情報の疎通を成立させることができます。
つまり、「プロトコルは、人間で言うところの言語」と言えるでしょう。
プロトコルの種類
人間で言うところの言語に、英語や日本語、フランス語やドイツ語といったいろんな種類の言語があるように、プロトコルにも種類があります。
どういった情報を、どういった条件でやりとりがしたいのかで、区別されます。
例を以下に挙げます。実際にはもっとたくさんあります。
- HTTP/HTTPS
- DNS
- TCP
- IP
それぞれのプロトコルの内容を簡単に以下に記載します。
なお、人間でいうところの言語は、会話においては基本的には1つしか使われないですが、インターネット上の情報は、複数のプロトコルが組み合わされてやりとりされます。
HTTP、HTTPS
いずれも、Webブラウザを使ってWebサーバと情報のやりとりをするプロトコルです。
HTTPは、Hyper Text Transfer Protocolの略です。
HTTPは暗号化されていないのに対して、HTTPSは暗号化して情報のやりとりをする、といった違いがあります。
HTTPSでないと、インターネット上の通信経路の途中でこの情報を取り出せるような場合に、その情報の内容を簡単復元することができます。例えば、HTTPのWebサーバで、ユーザとパスワードなどを入力するような場合には、要注意です。
DNS
ドメイン名とIPアドレスの対応付けを管理し教えてくれるサーバとやりとりをするプロトコルです。
DNSは、Domain Name Systemの略です。
以下の記事にて、ドメイン名について説明しました。インターネットでWebサーバにアクセスする際に、DNSサーバに接続してドメイン名をIPアドレスに変換することを記載しましたが、この時使用されるプロトコルです。
TCP/UDP
いずれも、情報をやりとりする上での性能(スピード)や安全性を決めるためのプロトコルです。
TCPは、Transmission Control Protocolの略で、UDPは、User Datagram Protocolの略です。
TCPは、実際にやりとりをしたい情報を確実に送受信するための、安全性に重点を置いたプロトコルです。TCPのプロトコルにより、事前にやりとりする相手とコネクションと呼ばれる仮想的な通信経路を確保した上でやり取りを行います。ただし、コネクションを確立するための作業により、性能が遅いといった裏目もあります。
一方でUDPは、より速く情報を送受信するための、性能に重点を置いたプロトコルです。TCPと異なり、コネクションは確立しないため、その分より速い通信を実現できます。ただし、情報の欠落が発生する場合があります。
TCPでは、少し性能が遅くても確実に情報をやりとりしたい場合に適用され、UDPは、大量に高頻度で情報がやり取りされているような状況において、少しくらい情報が欠落しても速く情報をやり取りしたい場合に適用されます。
IP
機器が持つIPアドレスを使って情報をやりとりするためのプロトコルです。
IPは、Internet Protocolの略です。
WebブラウザでURLからWebサーバにアクセスするとき、一度ドメイン名をIPアドレスに変換しますが、ここで変換したIPアドレスを用いてWebサーバにアクセスするためのプロトコルです。
伝送データにおけるプロトコルの位置付け
前述した通り、人間でいうところの言語は、会話においては基本的には1つしか使われないですが、インターネット上の情報は、複数のプロトコルが組み合わされてやりとりされます。
インターネット上でやり取りされる情報、伝送データの概念図は以下の通りです。
上図の通り、伝送データは、各種プロトコルで定義された情報が連結されたものとなっています。情報の送り手は、各種プロトコルの情報を一つずつ付加しながら伝送データを作成・送信し、情報の受け手は、各種プロトコルの情報を一つずつ翻訳、解釈しながら読み取ることで、情報をやりとりを成立させます。
コメント