ネットワークの勉強をしている際に「プロトコル」という言葉を目にすることが多いと思います。
「名前は知っているけど意味はわからない」
「プロトコルの仕組みを理解したい」
「プロトコルにはどんな種類があるの?」
今回は、そのように悩んでいるあなたに向けて、ネットワーク初心者でもわかるようにプロトコルをわかりやすく解説していきます!
プロトコルとは?
プロトコルの意味
ネットワークの世界において「プロトコル」は、コンピューター同士が通信を行うための規格(ルール)のことを指します。ちなみに、英語では「 protocol:外交儀礼、議定書」などの意味を持ち、他にも医療の現場では「手順、治療計画」といった意味で使われます。
プロトコルがなぜ必要か
プロトコルは現実世界の「言語」のようなものです。
私たちが他の人と話すときに、共通の言語がないとコミュニケーションが取れないですよね。それと同じことがネットワーク上でも起こるのです。
パソコンやサーバーなどには、異なるメーカの様々な機種が存在します。もしメーカーごと機器ごとに通信のルールが違ったら、同じタイプの機器間のみでしかデータのやりとりができません。それではネットワークの存在意義がなくなってしまいます。そこで、プロトコルという共通の取り決めを作ることにより、異なるメーカーの機器同士でもやりとりができるのです。
次に、プロトコルによる通信の仕組みについて見てみましょう!
プロトコルによる通信の仕組み
ネットワーク間でのデータのやりとりはどのように行われ、プロトコルはどういった役割を果たしているのでしょうか?
「多数対多数で共有」する通信をパケット交換方式と言います。
通信データをパケット(日本語で小包みという意味)と言われる単位に小分けにして送ることで、多くのユーザーが同時にデータの送受信をすることを可能にしています。
データをパケットに分割したとき、それぞれのパケットがどこからどこに送られるのか統一されていないと通信はうまくいきません。それを解決するために、ヘッダと呼ばれる通信先や通信元の情報をデータを添えます。つまりパケットは、ヘッダと分割されたデータによって構成されるということですね。
多数の人が多数のサイトにアクセスする際に、それぞれが異なるルールを有していた場合、うまく通信できない状態になることは容易に想像できますよね。そこで、プロトコルを用いてルールを共通化する必要があるというわけです。
これらの通信が行われているとき、様々な種類のプロトコルが階層に分けられて、階層構造ごとに仕事をしてています。では、実際にどんな種類のプロトコルがあるのか見てみましょう!
プロトコルにはどんな種類があるの?
人間の言語が数多く存在するように、プロトコルにもたくさんの種類があります。それぞれが役割を果たすことにより、ネットワーク間のクライアントとサーバーのやりとりが可能となります。
今回はそれらの一部を紹介していこうと思います!
①:HTTP (Hyper Text Transfer Protocol)
Webブラウザがサーバーと通信するときに使われるプロトコル。htmlなどによって記述されたファイルを送受信する際の決まり事。
②:HTTPS (Hyper Text Transfer Protocol Secure)
HTTPによる通信をよりsecure(安全に)行うためのプロトコル。
▼HTTPSについて詳しく知りたい方はこちらからご覧ください!▼
>>今や常識!知っておきたいhttpsとは?httpとの違いは?
③:FTP (File Transfer Protocol)
ネットワーク上のクライアントとサーバーの間でファイル転送を行うためのプロトコル
④:SMTP (Simple Mail Transfer Protocol)
インターネットでメールを送信するためのプロトコル。メールソフトからメールサーバーへ電子メールを送信するときに使用する。
⑤:POP3 (Post Office Protocol version3)
インターネットでメールを受信するためのプロトコル。メーラーでメールサーバーから電子メールを受信するときに使用する。
⑥:IMAP (Internet Message Access Protocol)
インターネットでメールを受信して管理するためのプロトコル。メールをサーバー上で保持し続けることができる。
⑦:NTP (Network Time Protocol)
ネットワーク上にある全ての機器の時刻を同期させるためのプロトコル。通信時間による誤差を最小化する機能がある。
⑧:DNS (Domain Name System)
ドメインとIPアドレスの管理のためのプロトコル。ドメイン名とIPアドレスの対応を管理する作業を行う。
ドメインについては他の記事で詳しく書いたのでこちらをご覧ください!
ここにリンクを貼る
⑨:TCP (Transmission Control Protocol)
正確性や信頼性の高いデータの送信に用いられるプロトコル。データの順序や内容を保証し、確実なデータ転送ができる。
⑩:UDP (User Datagram Protocol)
TCPと同じくデータの送信に用いられるが、正確性よりもより速さを重視したプロトコル。動画や音楽のストリーミング、オンラインゲームなどで使用される。
⑪:IP (Internet Protocol)
ネットワーク上で各機器にIPアドレス(住所)を割り当て、それをもとに対象にデータを送り届けるためのプロトコル
▼IPアドレスについては他の記事で詳しく書いたのでこちらをご覧ください!▼
>>今さら聞けない!IPアドレスとは?サイト初心者にもわかりやすく解説
⑫:DHCP (Dynamic Host Configuration Protocol)
ネットワーク上の各区機器にIPアドレスを割り当てるプロトコル。これがなかったら自分でIPアドレスを設定しなければならない。
⑬:ICMP (Internet Control Message Protocol)
誤りの通知や通信状態について通知をすることで通信が可能な状態か確認するためのプロトコル
他にも様々なプロトコルがありますが今回紹介するのは以上です。
詳しい種類は、ネットワーク業界以外ではあまり知られていない内容です。全て覚えるのは難しいかもしれませんが、日常で見かけるようなプロトコルの名前と大まかな役割は覚えておいて損はないと思います。
続いてプロトコルの階層構造を説明していきます!
プロトコルの階層構造について
先ほど紹介したように、異なるプロトコルが機能することでネットワークは成り立っています。これらのプロトコルを階層構造にして組み合わせ、体系化したものがネットワークアーキテクチャーです。
これから、代表的な2つのアーキテクチャーを紹介します。
OSI基本参照モデル
国際標準化機構(ISO: International Organization for Standardization)によって策定された標準化規格。通信に必要な機能を7層に分けて単純化した現在のネットワーク設計の指標ともなり、ネットワーク機器を表すときに使われます。OSI参照モデルネットワークを勉強する上で欠かせない知識です。
階層 | 機能 |
第1層 物理層 |
データを送る物理的な手段を提供。 電気、光、電波などの機械的特性を規定。 |
第2層 データリンク層 |
隣接した機器同士のデータ伝送制御手順を提供。 誤り検出や再送制御なども行う。 |
第3層 ネットワーク層 |
IPアドレスを利用したデータの転送や順序制御の手順を規定。 IPアドレスの規定も行われる。 |
第4層 トランスポート層 |
機器同士における高品質なデータの転送を提供。 データの到達確認、誤り検出も行う。 |
第5層 セッション層 |
アプリケーションの通信が開始してから終了するまでの手順を規定する。 通信モードの管理や同期・非同期モードの管理を行う。 |
第6層 プレゼンテーション層 |
異なるデータ形式を標準のものに変換する。 コードやデータの圧縮、暗号化も行う。 |
第7層 アプリケーション層 |
アプリケーションと通信機能のインターフェイスを提供する。 |
TCP/IP
世界で最も使われている通信規格で、事実上の標準となっています。機能を4階層に分割し、OSI参照モデルよりも単純なネットワークアーキテクチャーです。各層の機能はOSI参照モデルに照らし合わせることができます。インターネットで利用される機器やソフトウェアは全てTCP/IPに準拠しています。
TCP/IP | OSI参照モデル | プロトコルの例 |
ハードウェア | 第1層 物理層 |
・PPP など |
第1層 ネットワーク インターフェイス層 |
第2層 データリンク層 |
|
第2層 インターネット層 |
第3層 ネットワーク層 |
・IP ・ICMP など |
第3層 トランスポート層 |
第4層 トランスポート層 |
・TCP ・UDP |
第4層 アプリケーション層 |
第5層 セッション層 |
・POP など |
第6層 プレゼンテーション層 |
・HTTP ・FTP ・DHCP ・SMTP |
|
第7層 アプリケーション層 |
以上がプロトコルの階層構造についてです。
理解するのが難しい内容ではありますが、プロトコルをまとめたネットワークアーキテクチャーにはOSI参照モデルとTCP/IPの2種類があるということは覚えておきましょう!
最後にプロトコルの関連用語を見て行きます。
【付録】プロトコルの関連用語
名前にプロトコルを含んだインターネット関係の用語です。
プロトコル番号
プロトコル番号とは、プロトコルを識別するために付けられる番号のことです。例えば、IPには4番、TCPには6番番号が付けられています。
プロトコルスタック
プロトコルスタックとは、先ほど説明した「ネットワークアーキテクチャー」を言い換えた言葉です。この他にも同じ意味の単語として「プロトコルスイート」があります。
プロトコルエラー
プロトコルエラーとは、プロトコルがうまく機能しなかった場合に正しい操作が行われなくなることです。
プロトコルバッファ
プロトコルバッファとはGoogleによって開発されたデータの変換を永続的に行うための技術です。
プロトコル・アナライザ
プロトコル・アナライザとは、コンピューターネットワークを流れるデータを解析する装置やプログラムのことです。
これらの用語はネットワーク関係で出てくることがあります。パソコンをいじっているときにプロトコルエラーが表示されてもテンパらないようにこれらの用語も覚えておきましょう!
まとめ
最後まで読んでいただきありがとうございました。難しい内容が多く理解するのが大変だったと思います…
長々と書いてきましたが、とにかく覚えて欲しいのはプロトコル=ネットワーク通信における約束事という内容です。ネットワークの世界は複雑で理解するのが大変だと思います。焦らず地道に用語を一つ一つ理解していくことが重要です。
今日この記事で学んだことがあなたの役に立つことを願っています。
▼WordPressの始め方はこちら▼ 【超初心者向け】WordPressブログの始め方を簡単にわかりやすく解説