OSIモデルとネットワークプロトコルの関係


27

ほとんどのネットワーキング学生がOSIモデルについて最初に学ぶとき、彼らは特定のプロトコルがどのモデルの層に適合するかを理解しようとかなりの時間を費やします。このフォーラムでは、OSI層に関する多くの質問が寄せられていますが、通常は次のようなものです。

  • IS-ISはどのOSIレイヤーで動作しますか?
  • HTMLはプレゼンテーションまたはアプリケーションプロトコルですか?
  • VPNトンネルはレイヤー2または3ですか?

学生(または専門家)は、OSIモデルと彼/彼女が連携するプロトコルとの関係をどのように理解する必要がありますか?

回答:


35

OSIモデルに関して、覚えておくべき2つの重要な事実があります。

  1. これは概念モデルです。つまり、ネットワーク機能の理想化された抽象的で理論的なグループを表します。誰かが実際に構築したものは何も記述していません(少なくとも今日使用されているものは何もありません)。

  2. それが唯一のモデルではありません。他のモデル、特にTCP / IPプロトコルスイート(RFC-1122およびRFC-1123)があり、現在使用されているものにはるかに近いものです。

ちょっとした歴史:あなたはおそらく、インターネットの前身であるARPANETを含むパケットネットワーキングの初期のことを聞いたことがあるでしょう。ネットワークプロトコルを作成するための米国国防総省の努力に加えて、他のいくつかのグループおよび企業も関与していました。各グループは、パケットスイッチングのまったく新しい分野で独自のプロトコルを開発していました。IBMと電話会社は独自の標準を開発していました。フランスでは、研究者がキクラデスと呼ばれる独自のネットワーキングプロジェクトに取り組んでいました。

OSIモデルの作業は、IBM、NCR、バローズ、ハネウェルなどの大企業および独自のプロトコルとハードウェアの影響の高まりに対する反応として、1970年代後半に始まりました。その背後にあるアイデアは、異なるメーカー間の相互運用性を提供するオープンスタンダードを作成することでした。しかし、ISOモデルは範囲が国際的であるため、政治的、文化的、技術的な利害が多く競合していました。合意に達し、標準を公開するのに6年以上かかりました。

その間に、TCP / IPモデルも開発されました。シンプルで実装が簡単で、最も重要なことは無料でした。OSI標準仕様を購入して、ソフトウェアを作成する必要がありました。すべての注意と開発の努力はTCP / IPに引き寄せられました。その結果、OSIモデルは一連のプロトコルとして実装されることはなく、TCP / IPはインターネットの標準になりました。

ポイントは、現在使用されているすべてのプロトコル、TCP / IPスイートです。RIP、OSPF、BGPなどのルーティングプロトコル。Windows SMBやUnix RPCなどのホストOSプロトコルは、OSIモデルを考慮せずに開発されました。それらは時々それに似ていることがありますが、OSI標準は開発中に決して従いませんでした。そのため、これらのプロトコルをOSIに適合させようとするのはばかげたことです。彼らはちょうど正確に適合しません。

それは、モデルに値がないという意味ではありません。一般的な概念を理解できるように、勉強することをお勧めします。OSIレイヤーの概念はネットワーク用語に織り込まれているため、日常のネットワーキングスピーチでレイヤー1、2、3について説明します。レイヤー1、2、3の定義は、少し目を細めるとかなりよく同意しています。その理由だけでも、知る価値があります。

OSI(またはその他の)モデルについて理解する最も重要なことは次のとおりです。

  • プロトコルをレイヤーに分割できます
  • レイヤーはカプセル化を提供します
  • レイヤーは抽象化を提供します
  • レイヤーは他の機能を分離します

プロトコルをレイヤーに分割すると、それぞれの異なる側面について個別に話すことができます。これにより、プロトコルの理解とトラブルシューティングが容易になります。特定の機能を簡単に分離し、それらを他のプロトコルの同様の機能とグループ化できます。

各「関数」(広義には)は、その上のレイヤーをカプセル化します。ネットワーク層は、その上の層をカプセル化します。データリンク層はネットワーク層などをカプセル化します。

レイヤーは、その下のレイヤーを抽象化します。Webブラウザーは、ネットワーク層でTCP / IPまたは他の何かを使用しているかどうか(他の何かがあるかのように)を知る必要はありません。ブラウザに対して、下位層はデータのストリームを提供するだけです。そのストリームがどのように表示されるかは、ブラウザーからは見えません。TCP / IPは、イーサネット、ケーブルモデム、T1回線、または衛星を使用しているかどうかを知りません(または気にしません)。パケットを処理するだけです。そのすべてを処理する必要があるアプリケーションを設計することがどれほど難しいか想像してみてください。レイヤーは下位レイヤーを抽象化するため、ソフトウェアの設計と操作がはるかに簡単になります。

デカップリング:理論的には、同じレイヤーで特定のテクノロジーを別のテクノロジーに置き換えることができます。レイヤーが同じ方法で上のレイヤーと下のレイヤーと通信する限り、どのように実装されるかは問題ではありません。たとえば、非常によく知られているレイヤ3プロトコルであるIPバージョン4を削除し、IPバージョン6に置き換えることができます。他のすべてはまったく同じように動作するはずです。ブラウザまたはケーブルモデムにとって、違いはありません。

TCP / IPモデルは、TCP / IPプロトコルスイートが基づいていたものです(驚き!)。レイヤーは4つだけで、トランスポートの上のすべては単なる「アプリケーション」です。理解しやすく、「このセッションレイヤーまたはプレゼンテーションレイヤーですか?」などの無限の質問を防ぎます。トンネリングプロトコル(GRE、MPLS、IPSecなど)のように、どちらにも適しています。

最終的に、モデルは、アドレス、パケット、ビットなどの目に見えない抽象的なアイデアを表現する方法です。これを念頭に置いておく限り、OSIまたはTCP / IPモデルはネットワークの理解に役立ちます。


1
TCP / IPモデルの方がより現実に合っているのに、なぜOSIモデルを参照するのかといつも疑問に思っていました。
ライアンフォーリー14

5
@RyanFoley、多くの場合に当てはまります。ただし、トラブルシューティング(特にそれを教えること)に関しては、物理層とデータ層を分離して、それぞれの問題に個別に対処する方が適切です。たとえば、アップ/アップしているインターフェイス、アップ/ダウンしているインターフェイス、ダウン/ダウンしているインターフェイスのシスコデバイスの違いを知っておくと便利です。
YLearn

「たとえば、非常によく知られているレイヤー3プロトコルであるIPバージョン4を削除し、それをIPバージョン6に置き換えることができます。他のすべてはまったく同じように動作するはずです。 」残念ながら、抽象化には漏れがあるため、違いが生じます。アプリケーションとトランスポートプロトコルは、インターネットプロトコルで使用されるアドレス指定について知る必要があります。
ピーターグリーン

それが、モデルが単なるモデルである理由です。
ロントランク

1
joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions基礎となるもののい詳細を隠すために抽象化を構築しますが、基礎となるものの一部の詳細はリークし、問題を引き起こします。スタックの最上部に直接漏れるそのようなものの1つは、アドレス指定システムです。
ピーターグリーン

2

ここには混乱があります。関数がレイヤーに収まらないように見えるからといって、収まらないわけではありません。OSIは柔軟性があり、実用的な実装がモデルにマッピングされるオブジェクトとサブレイヤーを許可します。レイヤーの機能の一部は、他のレイヤーでも複製される場合があります。また、アプリケーション層で処理する必要はありません。最後に、OSIは単なるモデルではなく、一部のメーカーによって完全に実装されました。DECプロジェクトに取り組みました。実用性は、OSIの特定の部分のみが今日使用されることを意味します。


1

すべてのIGP(内部ゲートウェイプロトコル)ルーティングプロトコルはレイヤー3で動作します。外部BGPはレイヤー4で動作し、内部BGPはレイヤー3で動作します。

物理層-ハードウェアネットワークデバイス(ラップトップ、携帯電話、デスクトップなど)を扱います。レイヤー1は、コリジョンドメインであるレイヤー1 PDUとして知られています(プロトコルデータユニットはビットです)。

データ/リンクレイヤー-このレイヤーは、レイヤー2スイッチ、ブロードキャストドメイン、VLAN、STP、VTPに関係します。この層のプロトコルデータユニットはフレームと呼ばれます。

ネットワーク層-これはルーティングが発生するときで、ほとんどのルーティングプロトコルはこの層で動作します。これは、VLANが通信するIPレイヤーとも呼ばれます。この層のPDUはパケットと呼ばれます。

トランスポート層-トランスポート層はTCPおよびUDPポートを扱います。これらは、レイヤー3からのパケットが宛先ポートに送信される場所です。TCPはコネクション型のプロトコルであり、UDPはコネクションレス型のプロトコル(データの保証されていない配信)であることを覚えておくことが重要です。この層のPDUはデータグラムです。

セッションレイヤー-セッションレイヤーは、パケットがレイヤー3からカプセル化解除されるのをカプセル化する場所です。このレイヤーは、ソフトウェアベースのアプリケーションを作成して変換できる複数のサーバー側プログラミング言語を扱います->

プレゼンテーション層-この層は、Webブラウザーに表示されるクライアント側のコードに関するものです。または、右クリックしてソースを表示すると、これらは主にHTM / CSS / Javascriptコードになり、

アプリケーション層-これは、GUI(グラフィカルユーザーインターフェイス)がHTML / CSSコードを層6からこの層に変換する場所です。Webブラウザに表示されるのは、フロントエンドGUIです。レイヤー5、6、7 PDUはメッセージと呼ばれます。

これらがすべてのOSI関連の質問に答えることを願っています。

IS-ISはどのOSIレイヤーで動作しますか?-レイヤー3
HTMLはプレゼンテーションまたはアプリケーションプロトコルですか?-プレゼンテーション
VPNトンネルはレイヤー2または3ですか?-> L2TPはレイヤー2-> VPNトンネルは通常、IPSECなどのレイヤー3で機能します。


1
これはOPに答えません。彼は各層が何をしたのかを尋ねたことはなく、基礎となる概念について誰かが理解すべきことを尋ねました。
ライアンフォーリー14

1
有益ですが、これは問題/解決サイトです。質問が「OSIモデルのさまざまな層とは何か、それぞれは何をするのか」という質問であれば、答えは素晴らしいです。。問題は、OSIモデルを直接支持するのではなく、OSIモデルを支える基礎に関するものです。洞察力は優れていますが、この特定の質問に対する悪い答えです。
ライアンフォーリー14

5
クリス、私はあなたの答えに感謝します、そして、大体において、あなたは正しいです。しかし、ISISはIP上で実行されます。それにより、レイヤー4になりますか?BGPはどうですか?TCPの上で実行されます。レイヤー5ですか?私のポイントは、プロトコルをレイヤーに詰め込むことはできますが、実際には適合しないことです。OSIプレゼンテーション層の仕様を見ると、HTMLが十分に適しているとは思いません。OSIでさえ、レイヤー2は広すぎるため、2つのサブレイヤーに分割する必要があると認めました。
ロントランク14

2
OSIモデルは単なる理論モデルです。ルーティングプロトコル<name here>が(L2 | L3)パケットを使用している場合でも、それはアプリケーションであるためL7の一部でもあり、ルーティングテーブルを計算する必要があります。すべてが白黒ではありません。
mulaz

3
@ Ron、ISISはネイティブIPプロトコルではありません。OSPFです。(混乱を追加するだけです。:
ジョンジェンセン14

1

HTTP(HTMLではない)には、プレゼンテーション層とアプリケーション層の両方があります。VPNトンネルは、既存のスタックにオーバーレイレイヤーを追加します。種類に応じて、レイヤー2またはレイヤー3のいずれかになります。その後、パケットでこの追加されたレイヤーを2回見ることができます。


1
確かに適切なものにラベルを付けることができますが、HTTPはOSIモデルに関係なく開発されたものであり、仕様に準拠していません。VPNについても同じことが言えます。OSI標準ではVPNが想定されていませんでした。したがって、彼らが言うように、類似点は完全に偶然です。
ロントランク

0

OSIモデルに実際にある非常に少数のことの1つは、X.500からのX.509証明書とLDAPの大きな塊です。もう1つはメッセージング用のX.400です。MSExchangeには少なくとも5.5でこれがありましたが、後のバージョンに含まれているかどうかはわかりません。

そのため、OSIはモデルであり、ネットワークドメインではTCP / IPとの競争に負けており、なぜこれがまだ学生に教えられているのか本当に理解できません。このモデルにMPLSなどを配置しようとしても意味がありません。

そこを深く掘り下げると、規格を強制しようとする大規模な組織の痛み、ASN.1やBERなどの恐ろしいことに...すべてを過剰に設計することになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.