Open System Interconnect (OSI) モデルは、開発者とベンダーが相互運用可能で安全なソフトウェア ソリューションを作成するためのガイドとして機能します。
このモデルは、ネットワーク内でのデータの流れの複雑さ、TCP などの通信プロトコル、ツールとテクノロジーの違いを説明します。
OSI モデル層の関連性については多くの人が議論していますが、特にサイバーセキュリティの時代においては、実際に関連性があります。
OSI モデル層を理解すると、アプリケーションやシステムに関連する技術的な脆弱性やリスクを評価するのに役立ちます。また、チームがデータの場所と物理的アクセスを特定および区別し、セキュリティ ポリシーを定義するのにも役立ちます。
この記事では、OSI モデル層をさらに深く掘り下げ、ユーザーと企業の両方にとってのその重要性を探っていきます。
オープン システム インターコネクト (OSI) モデルとは何ですか?
Open System Interconnect (OSI) モデルは、コンピューター システムおよびアプリケーションがネットワーク経由で他のシステムと通信するために使用する 7 つのレイヤーで構成される参照モデルです。
このモデルは、データ送信プロセス、標準、プロトコルを 7 つの層に分類し、各層がデータの送受信に関連するいくつかの特定のタスクを実行します。
OSI モデルは、1984 年に国際標準化機構 (ISO) によって開発され、システムがネットワーク内で通信する方法を確立するための最初の標準リファレンスです。このモデルは、すべての大手通信会社とコンピューター会社で採用されました。
このモデルは、7 つのレイヤーが重ねて配置された視覚的なデザインを表しています。 OSI モデル アーキテクチャでは、下位層が上位層の役割を果たします。そのため、ユーザーが対話すると、データはソース デバイスからネットワーク全体でこれらの層を下流に流れ、次に各層を上流に流れて受信デバイスに到達します。
OSI モデルには、ネットワーク内の光ファイバー、ツイストペア銅線、Wi-Fi などの物理媒体を介してシステムが信号を送信できるようにする、さまざまなアプリケーション、ネットワーキング ハードウェア、プロトコル、オペレーティング システムなどが含まれています。
この概念的なフレームワークは、システム間の関係を理解するのに役立ち、開発者やベンダーが相互運用可能なソフトウェア アプリケーションや製品を作成できるようガイドすることを目的としています。さらに、使用中の電気通信およびネットワーク システムの機能を説明するフレームワークを促進します。
OSI モデルを知る必要があるのはなぜですか?
各アプリケーションとシステムはこれらの層のいずれかに基づいて動作するため、OSI モデルを理解することはソフトウェア開発において重要です。
IT ネットワーキングの専門家は、OSI モデルを活用して、ネットワーク上でデータがどのように流れるかを概念化します。この知識は、ソフトウェア ベンダーや開発者だけでなく、Cisco Certified Network Associate (CCNA) 認定などの試験に合格したい学生にとっても貴重です。
OSI モデル層を学習する利点には次のようなものがあります。
- データ フローの理解: OSI モデルを使用すると、ネットワーク オペレーターはネットワーク内でデータがどのように流れるかを簡単に理解できます。これは、ハードウェアとソフトウェアがどのように連携しているかを理解するのに役立ちます。この情報を使用すると、適切なソフトウェアとハードウェアを使用してセキュリティと復元力が強化された、より優れたシステムを構築できます。
- 簡単なトラブルシューティング: ネットワークは独自の機能とコンポーネントを持つ 7 つの層に分割されているため、問題のトラブルシューティングが容易になります。また、専門家が問題を診断するのにかかる時間も短縮されます。問題の原因となっているネットワーク層を実際に特定できるため、その特定の層に焦点を移すことができます。
- 相互運用性の促進: 開発者は、他のベンダーの製品と簡単に対話できるように、相互運用可能なソフトウェア システムとデバイスを作成できます。これにより、これらのシステムの機能が向上し、ユーザーが効率的に作業できるようになります。
製品がどのコンポーネントや部品と連携する必要があるかを定義できます。これにより、技術スタック全体であれ、特定のレイヤーのみであれ、製品やシステムが動作するネットワーク層をエンドユーザーに伝えることもできます。
さまざまな OSI モデル層
物理層
物理層は、システムの物理的および電気的表現を記述する OSI モデルの最下位の最初の層です。
これには、ケーブルの種類、ピン レイアウト、無線周波数リンク、電圧、信号の種類、デバイスを接続するコネクタの種類などが含まれる場合があります。異なるネットワーク ノード間の無線または物理ケーブル接続を担当し、生データの送信を容易にし、ビット レートを制御します。
この層では、ビット単位の生データ、つまり 0 と 1 が信号に変換され、交換されます。スムーズなデータ送信を可能にするには、送信側と受信側が同期している必要があります。物理層は、さまざまなデバイス、伝送メディア、およびネットワーク用のトポロジ タイプ間のインターフェイスを提供します。必要な伝送モードのタイプも物理層で定義されます。
使用されるネットワーキング トポロジはバス、リング、スターのいずれかで、モードはシンプレックス、全二重、または半二重です。物理層のデバイスは、イーサネット ケーブル コネクタ、リピータ、ハブなどです。
ネットワークの問題が検出された場合、ネットワークの専門家はまず物理層のすべてが正常に動作しているかどうかを確認します。最初に、ケーブルが正しく接続されているかどうか、電源プラグがルータなどのシステムに接続されているかどうかを確認することから始めます。
レイヤ 1 の主な機能は次のとおりです。
- 物理トポロジ、つまりデバイスとシステムを特定のネットワーク内に配置する方法を定義する
- 送信モードを定義すると、ネットワーク内の 2 つの接続されたデバイス間でデータがどのように流れるかが決まります。
- 受信側と送信側をビットレベルで制御するクロックによるビット同期。
- データ送信のビットレートの制御
データリンク層
データリンク層は物理層の上にあります。これは、ネットワーク内に存在する 2 つの接続されたノード間の接続を確立および終了するために使用されます。この層はデータ パケットをさまざまなフレームに分割し、送信元から宛先に送信します。
データリンク層には 2 つの部分があります。
- Logical Link Control (LLC) は、ネットワーク プロトコルを検出し、フレームを同期し、エラーをチェックします。
- メディア アクセス コントロール (MAC ) は、MAC アドレスを利用してデバイスをリンクし、データ送信の許可を設定します。
MAC アドレスは、ネットワーク内の各システムに割り当てられる一意のアドレスで、システムの識別に役立ちます。これらの 12 桁の番号は、ネットワークのデータ リンク層で管理される物理アドレス指定システムです。さまざまなネットワーク コンポーネントが物理メディアにアクセスする方法を制御します。
例: MAC アドレスは、00:5e:53:00:00:af などの 6 オクテットで構成できます。最初の 3 つの数字は組織固有識別子 (OUI) に対応し、最後の 3 つはネットワーク インターフェイス コントローラー (NIC) に対応します。 。
レイヤ 2 の主な機能は次のとおりです。
- エラー検出: エラー検出はこの層で行われますが、トランスポート層で行われるエラー修正は行われません。場合によっては、データ信号中にエラービットと呼ばれる不要な信号が検出されることがあります。このエラーに対処するには、まずチェックサムや巡回冗長検査 (CRC) などの方法でエラーを検出する必要があります。
- フロー制御:メディアを介した受信者と送信者間のデータ送信は同じ速度で行われる必要があります。データがフレームとして送信される速度が、受信側がデータを受信する速度よりも速い場合、一部のデータが失われる可能性があります。この問題を解決するために、データリンク層にはいくつかのフロー制御方法が含まれており、データ伝送路全体で一貫した速度が維持されます。これらの方法は次のとおりです。
- スライディング ウィンドウ方式では、両端が送信する必要があるフレーム数を決定します。送信中の時間とリソースを節約します。
- ストップ アンド ウェイトメカニズムでは、データが送信された後、送信側が停止して受信側の待機を開始する必要があります。送信者は、受信者からデータを受信したという確認応答を受信するまで待つ必要があります。
- 複数のアクセスを有効にする:データ リンク層を使用すると、複数のデバイスやシステムにアクセスして、同じ伝送メディアを介して衝突することなくデータを送信することもできます。このために、キャリアセンス多重アクセスまたは衝突検出プロトコル (CSMA/CD) が使用されます。
- データの同期:データリンク層では、データを共有するデバイスは、スムーズなデータ送信を促進するために、両端で互いに同期している必要があります。
データ リンク層は、ブリッジやレイヤー 2 スイッチなどのデバイスも利用します。ブリッジは、異なる LAN ネットワークに接続する 2 ポートのデバイスです。リピーターとして機能し、不要なデータをフィルタリングして宛先エンドポイントに送信します。同じプロトコルを使用してネットワークを接続します。一方、レイヤー 2 スイッチは、システムの MAC アドレスに基づいてデータを後続のレイヤーに転送します。
ネットワーク層
ネットワーク層はデータリンク層の上に位置し、OSI モデルの下から 3 番目にあります。これは、異なるまたは同じプロトコルおよびネットワーク上で動作する受信ノードにデータ パケットをルーティングするために、IP アドレスなどのネットワーク アドレスを利用します。
次の 2 つの主なタスクを実行します。
- 宛先ノード上でネットワーク パッカーを再構成しながら、ネットワーク セグメントをさまざまなネットワーク パケットに分割します。
- 物理ネットワーク内の最適なパスを検出し、それに応じてパケットをルーティングします。
最適なパスとは、この層が、スイッチ、ルーター、およびさまざまなエラー検出および処理方法を使用して、データ送信の送信者と受信者の間で最短、最も時間効率が高く、最も簡単なルートを見つけることを意味します。
これを行うために、ネットワーク層は論理ネットワーク アドレスとネットワークのサブネット設計を使用します。デバイスが同じネットワーク上にあるかどうか、同じプロトコルを使用しているかどうか、同じトポロジで動作しているかどうかに関係なく、この層は論理 IP アドレスとルーターを使用して送信元から宛先までデータをルーティングします。したがって、その主なコンポーネントは IP アドレス、サブネット、ルーターです。
- IP アドレス:各デバイスに割り当てられるグローバルに一意な 32 ビットの番号であり、論理ネットワーク アドレスとして機能します。これは、ホスト アドレスとネットワーク アドレスの 2 つの部分で構成されます。 IP アドレスは通常、192.0.16.1 のように、ピリオドで区切られた 4 つの数字で表されます。
- ルーター:ネットワーク層では、ルーターは、異なるワイド エリア ネットワーク (WAN) で動作するデバイス間でデータを通信するために使用されます。データ送信に使用されるルーターは正確な宛先アドレスを知らないため、データ パケットはルーティングされます。
彼らはネットワークの場所に関する情報だけを持っており、ルーティング テーブルに収集されたデータを利用します。これは、ルーターがデータを配信するパスを見つけるのに役立ちます。最終的にデータを宛先ネットワークに配信すると、そのデータはネットワーク内の宛先ホストに送信されます。
- サブネット マスク:サブネット マスクは、ルーターがデータを配信する宛先ホストの場所を検出するために IP アドレスとは別に使用できる 32 ビットの論理アドレスで構成されます。場所がリモート ネットワークにあるかサブネットワークにあるかにかかわらず、ホストとネットワーク アドレスだけでは場所を見つけるのに十分ではないため、これは重要です。サブネット マスクの例は 255.255.255.0 です。
サブネットマスクを見ると、ネットワークアドレスとホストアドレスを知ることができます。したがって、計算された宛先アドレスを持つデータ パケットが送信元から到着すると、システムはデータを受信して次の層に送信します。この層では、層 2 とは異なり、送信者が受信者の確認応答を待つ必要がありません。
トランスポート層
トランスポート層は、OSI モデルの下から 4 番目の層です。ネットワーク層からデータを取得し、アプリケーション層に配信します。この層では、データは「セグメント」と呼ばれ、この層の主な機能は完全なメッセージを配信することです。また、データ送信が正常に行われたことを確認します。エラーがあればデータを返します。
これとは別に、トランスポート層はデータフローの制御を行い、スムーズな伝送を可能にするために受信機器と同じ速度でデータを送信したり、エラーを管理したり、エラーを発見した場合には再度データを要求したりします。
それぞれの終端で何が起こるかを理解しましょう。
- 送信側では、OSI モデルの上位層からフォーマットされたデータを受信すると、トランスポート層がセグメンテーションを実行します。次に、フローおよびエラー制御技術を実装して、スムーズなデータ送信を可能にします。次に、送信元と宛先のポート番号をヘッダーに追加し、ネットワーク層へのセグメントを終了します。
- 受信側では、トランスポート層がヘッダーを見てポート番号を識別し、受信したデータを対象のアプリケーションに送信します。また、セグメント化されたデータを順序付けして再構成します。
トランスポート層は、ネットワーク内のデバイスまたはホスト間にエラーのないエンドツーエンドの接続を提供します。サブネットワーク内およびサブネットワーク間のデータ セグメントを提供します。
ネットワーク内でエンドツーエンド通信を可能にするには、各デバイスにトランスポート サービス アクセス ポイント (TSAP) またはポート番号が必要です。これにより、ホストがリモート ネットワークのポート番号によってピア ホストを認識できるようになります。ほとんどのアプリはデフォルトのポート番号 80 を使用するため、通常は手動で、またはデフォルトで検索されます。
トランスポート層は 2 つのプロトコルを使用します。
- 伝送制御プロトコル (TCP):この信頼性の高いプロトコルは、データ伝送を開始する前に、まずホスト間の接続を確立します。受信者は、データを受信したかどうかの確認応答を送信する必要があります。確認応答を受信すると、データの 2 番目のバッチを送信します。また、伝送速度とフロー制御を監視し、エラーを修正します。
- ユーザー データグラム プロトコル (UDP):これは信頼性が低く、接続指向ではないと考えられています。データがホスト間を転送した後、受信者は確認応答を送信する必要がなく、データを送信し続けます。このため、UDP フラッディングなどのサイバー攻撃を受けやすいのです。オンラインゲームや動画配信などで利用されています。
トランスポート層の機能には次のようなものがあります。
- サービス ポイントのアドレス指定:トランスポート層には、メッセージを適切な受信者に配信するのに役立つポート アドレスまたはサービス ポイント アドレスと呼ばれるアドレスがあります。
- エラーの検出と制御:この層はエラーの検出と制御を提供します。データがリンクを通過するときにエラーが検出されなかった場合でも、セグメントまたはデータがルーターのメモリ ストレージに保存されているときにエラーが発生する可能性があります。また、エラーが発生した場合、データリンク層はそれを検出できません。さらに、すべてのリンクが安全ではない可能性があります。したがって、トランスポート層でのエラー検出が必要になります。これは 2 つの方法で行われます。
- 巡回冗長検査
- チェックサムジェネレータとチェックサム
セッション層
OSI モデルの下から 5 番目の層はセッション層です。これは、異なるデバイス間でセッションとも呼ばれる通信チャネルを作成するために使用されます。次のようなタスクを実行します。
- セッションを開始する
- 閉会セッション
- データ送信中もオープンな状態を維持し、完全に機能するようにする
- 異なるアプリケーション間の対話同期を提供し、受信側で損失のないシームレスなデータ送信を促進します。
セッション層は、安全なデータ転送を保証するためにチェックポイントを作成できます。セッションが中断された場合、すべてのデバイスは最後のチェックポイントから送信を再開します。この層により、異なるプラットフォームを使用するユーザーが、それらの間でアクティブな通信セッションを作成できるようになります。
プレゼンテーション層
下から6番目の層はプレゼンテーション層または翻訳層です。これは、上位のアプリケーション層に送信するデータを準備するために使用されます。ユーザーが簡単に理解できるデータをエンドユーザーに提示します。
プレゼンテーション層は、ネットワーク内の 2 つのデバイスがデータを受信側で正しく受信するためにどのように圧縮、暗号化、エンコードする必要があるかを記述します。この層は、アプリケーション層が送信してからセッション層に送信するデータを使用します。
送信者と受信者は異なる通信モードを使用する可能性があり、不一致が生じる可能性があるため、プレゼンテーション層が構文を処理します。この層により、システムは同じネットワーク上で簡単に通信し、相互に理解できるようになります。
レイヤ 6 は次のようなタスクを実行します。
- 送信者側でのデータの暗号化
- 受信側でのデータの復号化
- ASCII 形式から EBCDIC への変換など
- 送信前にマルチメディアのデータを圧縮する
このレイヤーは、文字や数字を含むデータをビットに分割して送信します。また、ネットワーク用のデータを必要な形式に変換し、スマートフォン、タブレット、PC などのさまざまなデバイス用のデータを受け入れ可能な形式に変換します。
アプリケーション層
アプリケーションは、OSI モデルの 7 番目で最上位の層です。電子メール クライアントや Web ブラウザなどのエンドユーザー ソフトウェアとアプリケーションは、この層を使用します。
アプリケーション層は、ソフトウェア システムがデータを送信し、エンドユーザーに意味のある情報を提供できるようにするプロトコルを提供します。
例: アプリケーション層プロトコルには、有名なハイパーテキスト転送プロトコル (HTTP)、シンプル メール転送プロトコル (SMTP)、ドメイン ネーム システム (DNS)、ファイル転送プロトコル (FTP) などがあります。
TCP/IP と OSI モデル: 違い
TCP/IP と OSI モデルの主な違いは次のとおりです。
- 米国国防総省 (DoD) によって作成された TCP/IP は、OSI モデルよりも古い概念です。
- TCP/IP 機能モデルは、特定の通信問題を解決するために構築され、標準プロトコルに基づいています。一方、OSI モデルは、ネットワーク通信を定義するために使用される、プロトコルに依存しない汎用モデルです。
- TCP/IP モデルはより単純で、OSI モデルよりも層が少なくなります。通常は次の 4 つの層があります。
- ネットワーク アクセス層。OSI 層 1 と 2 を組み合わせたものです。
- インターネット層 (OSI モデルではネットワーク層と呼ばれます)
- トランスポート層
- アプリケーション層。OSI 層 5、6、7 を組み合わせたものです。
- OSI モデルには、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層の 7 つの層があります。
- TCP/IP を使用するアプリケーションはすべての層を利用しますが、OSI モデルでは、ほとんどのアプリケーションは 7 つの層すべてを利用しません。実際、レイヤー 1 ~ 3 はデータ送信にのみ必須です。
結論
OSI モデルについて知ることは、開発者やベンダーが相互運用可能で安全なソフトウェア アプリケーションや製品を作成するのに役立ちます。また、さまざまな通信ツールやプロトコルを区別し、それらがどのように連携するかを区別するのにも役立ちます。また、CCNA 認定などのネットワーク試験の合格を目指している学生の場合、OSI モデルについて知っておくと有益です。