プロトコルって何？

☺初心者の私がプロトコルについて説明をしています。
「ココ違うよ！」ということがありましたら、ご指摘くださると幸いです♪
***

##プロトコルの意味
ネットワークではコンピューター同士が通信を行うためのルールのこと

##プロトコルがなぜ必要か
言語の違う人と話すとき、共通の言語がないとコミュニケーションが取れないのと同じで、ネットワーク上でも共通に取り決めが必要になります。

パソコンやサーバーなどには異なるメーカーの機種が多々存在します。
もしメーカーごと、機器ごとに通信のルールが違っていたら、同じタイプの機器間でしかデータのやり取りが出来ません。
そのためプロトコルという共通の取り決めをつくり、異なるメーカーの機器同士でもやりとりができるようになります。

##プロトコルの仕組み
ネットワーク間でのデータのやリとりは、多数対多数で共有するパケット交換方式という仕組み

##パケット交換方式とは
通信データをパケットといわれる単位に小分けして送り、多くのユーザーが同時にデータの送受信をすることを可能にする。

データをパケットに分割したとき、それぞれのパケットがどこからどこに送られるのか統一されていないと通信はうまくいかないため、ヘッダと呼ばれる通信先や通信元の情報をデータに付けます。
そのパケットはヘッダと分割されたデータによって構成される。

・通信が行われるときに、様々な種類のプロトコルが階層に分けられ、階層構造ごとにそれぞれの役割を果たすことにより、ネットワーク間のクライアントとサーバーのやり取りが可能になります。

↓一部紹介します☺
####<font color="deepskyblue">①HTTP　(Hyper Text Transfer Protocol)</font>


Webブラウザがサーバーと通信をするときに使われるプロトコル
HTMLなどによって記述されたファイルを送受信するときの決まり事
####<font color="deepskyblue">②HTTPS　(Hyper Text Transfer Protocol Secure)</font>

HTTPによる通信をより安全に行うプロトコル。
####<font color="deepskyblue">③FTP　(File Transfer Protocol)</font>
ネットワーク上のクライアントとサーバーの間でファイル転送を行うためのプロトコル
####<font color="deepskyblue">④SMTP　(Simple Mail Transfer Protocol)</font>

インターネットでメールを送信するためのプロトコル
メールソフトからメールサーバーへ電子メールを送信するときに使用
####<font color="deepskyblue">⑤POP３　 (Post Office Protocol version3)</font>

インターネットでメールを受信するためのプロトコル
メールサーバー上で保持し続けることができる
####<font color="deepskyblue">⑥IMAP　(Internet Message Access Protocol)</font>

インターネットでメールを受信して管理するためのプロトコル
通信時間による誤差を最小化する機能
####<font color="deepskyblue">⑦NTP　(Network Time Protocol)</font>

ネットワーク上にある全ての機器の時刻を同期させるためのプロトコル
通信時間に誤差を最小化する機能
####<font color="deepskyblue">⑧DNS　 (Domain Name System)</font>
ドメイントIPアドレスの管理のためのプロトコル
ドメイン名とIＰアドレスの対応を管理
####<font color="deepskyblue">⑨TCP　(Transmission Control Protocol)</font>

正確性や信頼性の高いデータの送信に用いられるプロトコル
データの順序や内容を保証し、確実なデータ転送ができる
####<font color="deepskyblue">⑩UDP　(User Datagram Protocol）</font>

TPCと同じくデータの送信に用いられるが、正確性よりも速さを重視したプロトコル
動画や音楽のストリーミング、オンラインゲームなどで使用
####<font color="deepskyblue">⑪IP　(Internet Protocol)</font>

ネットワーク上で各機器にIPアドレス（住所）を割り当て、それをもとに対象にデータを送り届けるためのプロトコル
####<font color="deepskyblue">⑫DHCP　(Dynamic Host Configuration Protocol)</font>

ネットワーク上の各機器にIPアドレスを割り当てるプロトコル
これがなかったら自分でIＰアドレスを設定すなければならない
####<font color="deepskyblue">⑬ICMP　(Internet Control Message Protocol)</font>

誤りの通知や通信状態について通知することで通信が可能な状態か確認するためのプロトコル

他にもたくさんのプロトコルがあります。
***
プロトコルを階層構造にして組み合わせ、体系化したものがネットワークアーキテクチャです。
ココからは代表的な２つのアーキテクチャを紹介します♪
##OSI基本参照モデル
国際標準化機構（ISO: International Organization for Standardization)によって策定された標準化規格
通信に必要な機能を７層に分けて単純化したネットワーク設計の指標
![2021-03-30 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/773411/b9302d26-a7f3-5fd2-605f-6c3a50a57631.png)
##TCP/IP
世界で最も使われている通信規格で、事実上の標準となっているらしい。機能を４階層に分割し、OSI参照モデルに照らし合わせることができる。インターネットで利用される機器やソフトウエアはすべてTCP/IPに準拠している。

![2021-03-30 (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/773411/f72fa8ff-dcdf-cbf7-c63a-05a972c3bf51.png)
***
最後にプロトコルの関連用語をちょっとだけ♪
#####<font color="LimeGreen">プロトコル番号</font>
プロトコルを識別するために付けられる番号のこと
例）IPには4番、TCPには6番と番号が付けれらている
#####<font color="LimeGreen">プロトコルスタック</font>
ネットワークアーキテクチャを言い換えた言葉
このほかにも同じ意味の「プロトコルスイート」がある
#####<font color="LimeGreen">プロトコルエラー</font>
プロトコルがうまく機能しなかった場合に正しい操作が行われなくなること
#####<font color="LimeGreen">プロトコルバッファ</font>
Googleによって開発されたデータの変換を永続的に行うための技術
#####<font color="LimeGreen">プロトコル・アナライザ</font>
コンピューターネットワークを流れるデータを解析する装置やプログラムのこと
***
最後までご覧いただきありがとうございます。
長々と書いてきましたが、
とにかく<font color="Red">プロトコル＝ネットワーク通信における約束事</font>という内容の記事です☺