Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【Web技術入門②】プロトコルとは?初心者向けに徹底解説


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210930095324p:plain

おはようございます。Shotaです。

プロトコル(protocol)とはIT業界でよく利用される言葉です。IT用語として使われるプロトコルは、インターネットの通信規格のことを指します。

本記事では、プロトコルという言葉を身近な例や活用事例を中心に解説します。



プロトコルとは

ネットワークの世界において「プロトコル」は、コンピュータ同士が通信を行うための規格のことを指します。ちなみに、英語では「protocol:外交儀礼、議定書」などの意味を持ちます。


プロトコルが必要な理由

プロトコルは現実世界の「言語」のようなものです。

私たちが他の人と話すように、共通の言語がないとコミュニケーションが取れないですよね。それと同じことがネットワーク上で起こります。

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


プロトコルの標準化


標準化とは

たとえ非常に優れたプロトコルだったとしても、自分の周りだけしか知らないという状態では意味がありません。インターネット上で利用するために、世界中の人たちとプロトコルについての正しい情報を共有し、それに基づいたシステムの実装を行う必要があります。それを実現するために必要なことは「標準化」という作業です。

標準化とは、何もしなければ秩序の取れないものに標準となる決まり事を策定し、互換性や品質を確保して技術の普及を図ることです。世の中に広く普及させるためには、この標準化は必要不可欠です。


インターネットの標準化

インターネットで使用されるプロトコルは主にIETF(The Internet Engineering Task Force)で取り決められています。IETFでは、主にML(メーリングリスト)によって議論が進められ、関係企業だけではなく個人でも参加可能なオープン組織として運営されています。なお、IETFが全てのインターネット技術の標準化を担っているわけではありません。例えば、WWWについてはW3C(World Wide Web Consortium)で取り決められています。

IETFで議論された内容は、標準化の段階を経てRFC(Request for Comments)として文書化され、誰でもオンラインで参照できます。RFCで規定されたプロトコルに従っていれば、異なるベンダーの製品でも異なるOSの製品であってもインターネットでの通信が成り立ちます。


プロトコルの階層化

ブラウザーがWebサーバと通信を行い、データをダウンロードするという一連の流れをプロトコルの階層構造で表現できます。Webサーバからデータをダウンロードする際に使われるプロトコルは次の通りです。

  • HTTP:Webサーバのアプリを操作してデータを読み取る際に使用されるプロトコル
  • TCP:アプリケーションにデータを渡す
  • IP:ホストまでデータを届ける
  • イーサネット:データを転送する


OSI参照モデル

Webシステムを始め、コンピュータやネットワーク機器の持つべき通信希望を階層構造に分割したモデルをOSI参照モデルと呼びます。OSI参照モデルは単なる手引で、より柔軟にプロトコルを開発できるように定義されたモデルです。

そのため、先ほど説明したインターネットで使用されるプロトコルであるTCP/IPの階層構造とOSI参照モデルを完全に一致させられません。

これはOSI参照モデルの策定前にすでにTCP/IPの普及が進んでおり、TCP/IPの階層モデルをOSI参照モデルと照らし合わせて理解することで、プロトコルの階層構造が明確になりますのでしっかりと把握しておきましょう。


まとめ

今回は以下の内容について解説しました。



今回の記事を参考に、プロトコルについての理解を深めていただければ幸いです。

今回の記事はこれで終了です。

【参考サイト・参考図書】

news.mynavi.jp

www.colorfulbox.jp