初心者インフラエンジニアの方でプロトコルという言葉は聞いたことけど、具体的にどういうものなのか説明できないという方いらっしゃるのではないでしょうか。
私自身もともとはプロトコルという言葉は知っていたが、詳しい内容や説明することができませんでした。
本記事は、初心者インフラエンジニアの方が、プロトコルについての理解ができるようにわかりやすく解説しています。
初心者インフラエンジニアの方やプロトコルについてより詳しく知りたい方は是非、参考にしてみてください。
プロトコルとは
プロトコルとは、簡単に言うと通信規約のことをいいます。
わかりやすく説明すると基本的に日本人は日本語と日本語で話しをすると思います。
日本人が日本語で話して英語で返答された時に話しがうまくできない状態になります。
プロトコルについても安全にリモート接続したいときにはssh(22)を使うといったような規約があります。
安全にリモート接続したい場合に22以外のポートを使用すると通信規約に違反しており、リモート接続できない仕組みになっています。
このようにリモート接続したい際やwebにアクセスしたい際などに使用する通信上での約束みたいなものがプロトコルになります。
プロトコルはなぜ必要なの?
プロトコルはコンピュータとコンピュータを繋ぐような役割もあります。
プロトコルがなければコンピュータからコンピュータにデータを送る際などにまず何をして、どう送ればいいのかという順番がわからない状態になります。
もちろんのこと順番がわからなければデータをうまく送ることができません。
例えば、ある場所に行きたい場合に電車を乗り継ぎながら目的地に向かうと思うのですが、電車に乗る順番がわからないと目的地に到着できません。
ネットワークの世界にも順番があり、通信の順番を決めているのがプロトコルになります。
つまり、プロトコルがなければ、コンピュータとコンピュータの通信がうまく行えない状態になってしまうため、プロトコルはかなり重要な役割を担っています。
プロトコルの階層について
プロトコルの階層は、OSI参照モデルとTCP/IPモデルの2つがあります。
それぞれのプロトコルモデルについて解説していきます。
OSI参照モデル
OSI 参照モデルとは、国際標準化機構(ISO)で策定されたネットワークで利用されるプロトコルの役割を分類したモデルになります。
層 | 名称 | 役割 |
7層 | アプリケーション層 | ユーザアプリケーションを提供する層になります。 アプリケーションごとの固有のルールを定めています。 |
6層 | プレゼンテーション層 | 文字コードなどのデータ表現形式を決める層になります。 文字コードや画像フォーマットの形式についてルールを定めています。 |
5層 | セッション層 | セッションを管理する層になります。 通信の維持や、確立、終了に関するルールが定めています。 |
4層 | トランスポート層 | 通信の信頼性を確保するための層になります。 データのやりとりを行い、正常にデータが届いているのか確認するためのルールを定めています。 |
3層 | ネットワーク層 | ネットワーク間に存在する機器と通信を行うための層になります。 通信は、隣接している機器のみと通信を行えばいいわけではないため、この層でネットワーク間の通信を行う為のルールを定めています。 |
2層 | データリンク層 | 隣接している機器と通信する為の層になります。 最初の通信は隣接している機器と通信を行いますが、その通信を行うためのルールが定められています。 |
1層 | 物理層 | ビットを正しく送受信する為の層になります。 ビット列を正しく電気信号に変換するためのルールが定められています。 |
TCP/IPモデル
TCP/IPモデルとは、4段層から構成されるモデルになります。
米国国防高等研究計画局(DARPA)で策定された通信機能を定義したモデルのことです。
層 | 名称 | 役割 |
4層 | アプリケーション層 | データの形式やデータのやりとりについて決めている層になります。 プログラム間の通信をどのように形式や手順で行うのか定められています。 |
3層 | トランスポート層 | 通信間のデータ伝送を実現する層になります。 信頼性のある双方向通信を実現します。 |
2層 | インターネット層 | 複数のネットワークの相互通信を行う層になります。 1つのネットワークではなく、複数のネットワーク間でデータの転送を行います。 |
1層 | ネットワークインターフェース層 | ハードウェアが通信を実現する層になります。 同一のネットワーク内でデータ転送を行います。 |
代表的なプロトコル
・代表的なプロトコル
プロトコル | ポート番号 | 説明 |
FTP | 20(データ) 21(制御) | パソコンからファイルの転送を行うプロトコル |
SSL | 22 | 暗号化通信を行うためのプロトコル |
Telnet | 23 | 遠隔地にあるサーバなどを遠隔操作するためのプロトコル |
SMTP | 25 | メールを送信する際に使用するプロトコル |
DNS | 53 | IPアドレスからドメイン名を導き出すためのプロトコル |
DHCP | 67(サーバ) 68 (クライアント) | IPアドレスを自動的に付与するためのプロトコル |
HTTP | 80 | パソコンとwebを繋ぐプロトコル(暗号化なし) |
POP3 | 110 | メールを受信する際に使用するプロトコル |
NTP | 123 | ネットワークに接続しているコンピュータの時刻同期をするためのプロトコル |
HTTPS | 443 | パソコンとwebを繋ぐプロトコル(暗号化あり) |
まとめ
いかがでしたか。
本記事では、初心者インフラエンジニアの方でもプロトコルについての簡単な説明や詳しく理解することが出来るように説明してきました。
言葉は知っているけどうまく説明できないということが多くあると思うので、私が初心者の時に覚えた経験を元に本記事を書いておりますので是非、参考にしてみてください。
今回は、ネットワークのほんの一部の知識について解説しましたが、初心者からインフラエンジニアになりたいと考えている方については、プログラミングスクールでネットワークの知識の学んでもいいかもしれません。
・プロトコルはなぜ必要なのか
・プロトコルの階層について