ネットワーク

【IT初心者向け】OSI参照モデルとTCP/IPモデルの違いは?|基本情報技術者試験

OSI参照モデルとTCP/IPモデルの違い

ネットワークの勉強をしているIT初心者の方、よくこんな風に思うことが多いのではないでしょうか。

「OSI参照モデルって通信を階層別にしたモデルだけど、結局なに??」

「TCP/IPってよく耳にするけどよくわからない、、、」

「OSI参照モデルとTCP/IPモデルって何が違うの??そもそも比較するものなんだ、、、」

などなど、IT初心者が最初に躓くのはこの通信プロトコルに関するところ。

そこで、今回の記事を読んでもらえれば以下のことが分かるようになりますので、ぜひ最後までご覧ください!

この記事で分かること

●プロトコルとは何か
●OSI参照モデルとは何か
●TCP/IPモデルとは何か
●OSI参照モデルとTCP/IPモデルの違い

そもそもプロトコルとは

プロトコルの意味

OSI参照モデルやTCP/IPモデルの話に入る前に、そもそもプロトコルとは何でしょうか。後に説明がありますが、OSI参照モデルやTCP/IPモデルは、ネットワークプロトコルを階層別に分けたものです。(TCP/IP自体もプロトコルですが)
つまり、OSI参照モデルやTCP/IPモデルを理解するためには、プロトコルが何なのかを理解する必要があります。

 プロトコルまたはプロトコールとは、複数の者が対象となる事項を確実に実行するための手順について定めたもの。もともとは「人間同士のやりとり」だけに関する用語であった。戦間期の学術的批判を経て、情報工学分野でマシンやソフトウェア同士のやりとりに関する取り決め(通信規約)を指すためにも用いられるようになった。

Wikipedia

プロトコルの一般的な意味は、「手順」です。ですが、上記にもあるように、ITにおけるプロトコルと言えば、「通信規約」を指します。つまり、機器同士がどのように通信を行うかの決まり事です。

では、なぜそんな決まり事が必要なのでしょうか。

プロトコルの必要性

プロトコル、つまり機器同士で通信のやり方に決まりがなかったらどうなるでしょう。

例えば、A社のWebサーバと、B社のWebサーバで通信規約が異なるとします。A社のWebサーバは、HTTP通信用に80番ポートが開いているので、80番ポートを指定してあげればWebサーバにアクセスできます。しかし、B社のWebサーバは、12345番ポートしか開けておらず、Webサーバにアクセスするにはこの煩雑なポート番号をわざわざ指定しなければなりません。しかもB社のWebサーバとの通信だけのために。A社とB社のWebサーバで、通信規約が異なると非常に面倒でややこしいことになります。

上記はほんの一例ですが、メーカーごとの通信規約の違いがもっと膨大にあれば、もっともっとややこしい通信方法になるのは明解ですよね。

もう一つ身近な例を出します。プロトコルは、私たちが話す「言語」によく例えられます。言語が世界中で統一されていたらどうでしょうか。世界中の人とコミュニケーションをとるのが、非常に簡単になるでしょう。
それが実際は、国ごとに違う言語を話すので、違う国の人同士のコミュニケーションは難しいんです。

以上まとめると、プロトコルという形で通信規約を統一することで、世界中の通信機器同士がやりとりしやすくなっているのです。

それではここから、そのプロトコルをさらに役割ごとに階層でまとめられた、「OSI参照モデル」「TCP/IPモデル」について説明していきます。

OSI参照モデルとは

OSI参照モデルとは、国際標準化機構(ISO)によって定められた、プロトコルの役割を階層ごとにモデル化したものです。プロトコルを階層に分けることで、プロトコルの役割をわかりやすくしようとしたのが目的です。

OSI参照モデルでは、プロトコルを7階層に分けています。このようにモデルを策定することで、メーカーごとに異なる通信仕様を統一することにしたのです。

各階層ごとの詳しい説明は、この記事を参照してください。各階層で、具体的にどのようなプロトコルがあるのかも説明しています。

OSI基本参照モデルをわかりやすく説明
OSI基本参照モデルとは?わかりやすく説明!|基本情報技術者試験  基本情報技術者試験のネットワークの内容を勉強していると、急によくわからない概念が出てきますよね。今回説明する「OSI基本参照モデル」...

しかし、このモデルにも問題が出てきました。それは、階層が7階層もあるため複雑すぎるということです。また、境界が細かいため融通が効きにくいという欠点もありました。

そこで登場したのが、次に説明するTCP/IPモデルです。

TCP/IPモデルとは

TCP/IPモデルとは、米国国防高等研究計画局(DARPA) によって定められた、プロトコルの役割を階層ごとにモデル化したものです。 ここで注意してもらいたいのが、TCP/IPというのはそれ自体がプロトコルでもあります。TCPはOSI参照モデルでのトランスポート層のプロトコルでs、IPはネットワーク層のプロトコルです。そのため、単にTCP/IPというと、モデルのことなのか、プロトコル自体のことなのか分かりにくいこともあるため気をつけてください。
この記事では、わかりやすいよう明示的にTCP/IP”モデル”とつけています。

TCP/IPモデルでは、プロトコルを4階層に分けています。

実はここからが重要で、現在事実上の標準はTCP/IPモデルです。事実上というのはどういうことかというと、歴史的にはOSI参照モデルのほうが早くに策定され、しかも国際標準化機構によって定められています。 しかし、米国国防高等研究計画局によってTCP/IPモデルが策定されると、

「TCP/IPモデルのほうが分かりやすいじゃん!!」

といった具合でTCP/IPモデルが広まっていきました。そして、今ではOSI参照モデルは使われておらず、TCP/IPモデルが事実上の標準となっているというわけなんです。

つまり、国際機構でもなんでもない団体が策定したモデルが標準となっているため、「事実上の標準」ということなんですね。

では、そんなOSI参照モデルとTCP/IPモデル、何が違うのか詳しく見比べてみましょう。

OSI参照モデルとTCP/IPモデルの違い

策定した団体が異なるということは上述しましたが、OSI参照モデルが国際標準化機構(ISO)、TCP/IPモデルが米国国防高等研究計画局(DARPA)によって定められました。

また、階層の違いも一目瞭然です。
OSI参照モデルは、第1層から「物理層」「データリンク層」「ネットワーク層」「トランスポート層」「セッション層」「プレゼンテーション層」「アプリケーション層」の7階層なのに対し、
TCP/IPモデルは、第1層から「ネットワークインタフェース層」「インターネット層」「トランスポート層」「アプリケーション層」の4階層です。

さらに、データの呼び方にも違いがあります。
OSI参照モデルは、「セッション層(データ)」「トランスポート層(セグメント)」「ネットワーク層(パケット)」「データリンク層(フレーム)」なのに対し、
TCP/IPは、「アプリケーション層(ストリーム)」「トランスポート層(セグメント)」「インターネット層(データグラム)」「ネットワークインタフェース層(フレーム)」という単位(いずれも、TCPプロトコルの場合)で呼ばれます。

まとめ

OSI参照モデルとTCP/IPモデルの違い、お分かりいただけたでしょうか。OSI参照モデルは今は使われていませんが、ネットワークの基礎を学ぶという意味では、理解して無駄にならないことだと思います。

最後までご覧いただき、ありがとうございました!

※私が基本情報技術者試験の勉強の際に使用したテキストです。分かりやすく大変勉強になりました。