こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

OSI参照モデルが存在する意義と今インターネットで標準的に使われている

OSI参照モデルが存在する意義と今インターネットで標準的に使われているTCP/IPの2つ関係についての自分の認識があってるかどうか知りたいです。まちがっている、もしくは補足があるようならご指摘お願いします。また合ってるところは合ってると言ってくださるとありがたいです。

まずOSI参照モデルが存在する意義は、1~7層で行われる全ての処理(例えば1層なら電気信号を伝える、3層ならルーティングとか)がコンピュータとコンピュータをネットワークでつなぐために必要である処理を、細かい層別に列挙してあることにある。そのため、OSI参照モデルはネットワークを一般論として理解することに向いているアーキテクチャであり、実装を意識したアーキテクチャではない。

一方、TCP/IPは現在インターネットで標準で実際に使われているアーキテクチャである。TCP/IPはOSIの3層と4層だけはしっかりと定義して、他の層は自由にしている。だからOSIの5層から7層はTCP/IPでは一括りにされている。それはOSI参照モデルの5層から7層までの処理はTCP/IPでは一つのアプリケーションなどに実装されてしまうためでもある。

私が言いたいことをまとめると、OSI参照モデルはネットワークを理解するためのモデル。TCP/IPはインターネットで、OSI参照モデルで定義してある全ての処理を、実際どのように実装するかを定義した実装を意識したモデルである。

どうでしょうか、常々この2つのモデルに関しては混同をすることが多かったので、質問させていただきました。

投稿日時 - 2010-05-12 23:46:48

QNo.5891204

困ってます

質問者が選んだベストアンサー

まず、OSIの歴史的経緯から説明します。

もともとOSIは、1980年代に汎用コンピュータのベンダー毎にバラバラで
あった通信プロトコルを統一して、ベンダー間の相互接続を可能に
しようという目的で進められたものであり、「OSIプロトコル」という、
TCP/IPプロトコルとは全く異なる別のプロトコル仕様が制定されています。

そのOSIプロトコルを策定していくための基本モデルとして決められたのが
「OSI参照モデル」です。

(参考)
http://ja.wikipedia.org/wiki/OSI%E5%8F%82%E7%85%A7%E3%83%A2%E3%83%87%E3%83%AB

例えば、OSIのトランスポート層プロトコルはISO8073で制定されており、
http://www.banalyzer.de/ban/HTML/P_ISO/Eng/P_iso66.html
にある通り、TCPプロトコルとは全く異なるものです。
このISO8073は多くの汎用コンピュータに実装されました。

しかし、実際にはオープン系システムの構築をするのに汎用コンピュータを
使うことはあまりなく、Unix系サーバが普及しました。
この結果、OSIプロトコルは普及せず、Unix系サーバの普及とともに
その中に標準で実装されていたTCP/IPが普及し、現在はTCP/IPをベースに
したインターネットが事実上のネットワークの標準になっています。
そういった中でも、OSI参照モデルは、ネットワークを理解するための
いいモデルだねということで、ネットワークの解説書等ではよく引用されています。

つまり、「OSI参照モデルはネットワークを一般論として理解することに
向いているアーキテクチャであり、実装を意識したアーキテクチャではない。」
の「実装を意識したアーキテクチャではない。」は誤りです。
OSI参照モデルは、もともとはOSIプロトコルという実際のプロトコルを
策定するために作られたものです。

結局、OSI参照モデルとTCP/IPモデルは、それぞれ別々の実装を意識した
別々のモデルであると考えた方がよいと思います。

以下も参考になると思います。
http://technet.microsoft.com/ja-jp/library/cc786900(WS.10).aspx

投稿日時 - 2010-05-13 16:44:33

お礼

なるほど‥UNIXの普及につれてTCP/IPも普及して、OSI参照モデルは淘汰されていく形になったのですか。そしてネットワークの勉強にはわかりやすいため、参考書ではよく引用されてたのですね。わかりやすかったです、ありがとうございました!

投稿日時 - 2010-05-15 12:54:28

このQ&Aは役に立ちましたか?

25人が「このQ&Aが役に立った」と投票しています

回答(2)

そんなに間違ってもないと思いますが、別にTCP/IPとOSIの間を対応付けなきゃいけないわけじゃないですよ。TCP/IPがOSIのサブセットであると考えるよりは、まったく別のモデルがふたつあると考える方が事実に近いでしょう。教科書には両者の対応付けが書いてあったりしますが、それはあくまでふたつを比較した時に「こことあそこは似てるよねー」って程度の話で、実際に中を見ていくと全然対応してませんからね。話をわかりやすくするための単なるアナロジーなのです。

実際、TCP/IPモデルについて概要を解説したRFC3439 http://www.ietf.org/rfc/rfc3439.txt にはそのようなことが書いてあります。

OSIが参照モデル(=規範的概念の定義)でTCP/IPが実装モデル(=具体的なプロトコルの定義)だというのはその通りでしょう。ただ「OSIを現実化したのがTCP/IPだ」とはとても言えないです。(たとえどこかの問題集にそんな回答が載っていたとしても)

投稿日時 - 2010-05-13 02:07:43

お礼

OSIとTCP/IPは別物と思った方が良さそうですね。もっと勉強します!回答ありがとうございました!

投稿日時 - 2010-05-15 13:04:43

あなたにオススメの質問