1. 概要

トランスポート層とネットワーク層は、OSIモデルの2つの最も重要な部分です。

このチュートリアルでは、これら2つのレイヤーによって提供される基本とサービスについて説明します。

最後に、それらの主な違いを強調します。

2. トランスポート層の紹介

トランスポート層は、 OSIモデルの4番目の層です:

これは、メッセージ全体の配信を担当するエンドツーエンドまたはプロセスツープロセスの通信レイヤーです。

プロセスは、ホストシステムで実行されているアプリケーションです。 ホスト上で複数のプロセスが実行されている可能性があります。 トランスポート層は、ホストのプロセスと別のホストのプロセスの間の通信を保証します。

通信を処理するプロセスの場合、トランスポート層は各プロセスに一意に割り当てられたポート番号を使用します。

はがき配達の実際の例を見てみましょう。Home-AとHome-Bの2つの家があります。 ジャックはHome-Aに属し、ジョーンズはHome-Bに属しています。 ジャックはジョーンズにハガキを送りたいと思っています。 そのため、ハガキを正しい住所に届けるためには、住所、受取人の名前、ハガキの種類など、ハガキに詳細を記入する必要があります。

この例では、Home-AとHome-Bは2つの異なるネットワークです。 JackとJonesは、2つのホストのIPアドレスです。 はがきの種類は、さまざまな種類のプロセスを表しています。

トランスポート層では、ポートの使用が非常に重要であることに注意することが重要です。 確かに、特定の時間に単一のホストで実行される可能性のある複数のタイプのプロセスが存在する可能性があります。 一般に、単一のIPアドレスがホストに割り当てられます。 送信側ホストは、ポート番号を使用してデータを受信側ホストに送信します。  さらに、受信者ホストはポートを識別でき、データを特定のプロセスにルーティングします。

3. トランスポート層のサービス

トランスポート層は多くのサービスを提供します。

このレイヤーは、ホストから別のホストへだけでなく、ホストの特定のプロセスから別のホストの特定のプロセスへのメッセージの配信を担当します。

また、処理するパケットの順序どおりの配信、データの損失なし、データ重複の制御などのサービスを提供することにより、信頼性を提供します。

さらに、トランスポート層はデータ送信のフロー制御を担当します。ここで、受信側ホストは送信側ホストから送信されるデータの量を制御します。 これは、レシーバーホストが同じレートでデータを処理できない可能性があるため、レシーバーホスト上のデータのオーバーヘッドを防ぐために使用されます。 トランスポート層は、セレクティブリピート:を使用したフロー制御のメカニズムを提供します

この層は、チェックサムビットを使用してエラー制御を提供します。 送信側ホストは、何らかのアルゴリズムを使用してチェックサムを生成します。 さらに、受信側ホストはそのチェックサムをデコードして、破損したパケットを検出できるようにします。 送信時にノイズが発生すると、データが変化する可能性があります。 したがって、トランスポート層は自動再送要求メソッドを使用して、欠落したパケットまたはエラーパケットを再送信します。

また、多重化を使用することにより、ネットワークの効率的な使用を促進します。 送信側ホストからの複数のプロセスがパケットを送信する必要がある場合がありますが、一度に1つのトランスポート層しかありません。 この層では、プロトコルは、割り当てられたポートによって区別されたさまざまなプロセスからのデータを受け入れ、それらをヘッダーに追加します。

受信者のホストで、着信データを処理するには、逆多重化を実行する必要があります。 ここで、トランスポート層はすべてのデータを区別し、ポートアドレスに従ってそれぞれのプロセスに送信します。

4. ネットワーク層の概要

ネットワーク層は、OSIモデルの第3層です。 複数のネットワークにわたるパケットの送信元から宛先またはホストからホストへの配信を担当します。

この層は、トランスポート層からデータを取得し、そのヘッダーを追加して、データリンク層に転送します。 このレイヤーは、各パケットが発信元から最終的な宛先に到達することを保証します。スイッチとルーターがこのレイヤーで使用されます。 ネットワーク層は、ネットワークデバイスに実装されています。

輻輳およびエラー制御もネットワーク層によって処理されます。 エラー制御のためにパケットにチェックサムを追加します。

宛先ホストと送信元ホストの論理アドレス(IPアドレス)を使用してデータを送信します。 IPアドレスは、ネットワークアドレスとホストマシンアドレスの組み合わせです。

5. ネットワーク層のサービス

トランスポート層と同様に、ネットワーク層もいくつかの重要なサービスを提供します。

ネットワーク層は論理アドレスを使用して、異なるネットワーク内のホスト間で通信します。さらに、送信された各パケットが指定された宛先に到達できるように、各パケットに送信者と受信者のIPアドレスを追加します。

ネットワーク層は、ルーティングとスイッチングのサービスも提供します。 より大きなネットワークを作成するために接続された複数の独立したネットワークがある場合、接続デバイス(ルーターとスイッチ)はパケットを送信元から宛先にルーティングおよび切り替えます。

送信元から宛先にパケットを送信するルートは複数存在する可能性があります。 したがって、ネットワーク層は、ルーティングプロトコルを使用してパケットを送信するための最適なルートまたはパスを選択する責任があります。

ネットワーク層は、ホストから宛先までの最短パスの詳細を維持するためにルーティングテーブルを作成しました。 このテーブルは、切り替えプロセスでも使用します。 スイッチングは、ルーティングテーブルを使用し、パケットをさまざまなネットワークデバイスに誘導するプロセスです。

この例では、Host-AからHost-Bにパケットを送信します。 P1とP2の2つのパスがあります。 ネットワーク層は最適なパスP1を選択します。

ネットワーク層によって提供されるもう1つの重要なサービスは、フラグメンテーションです。パケットをフラグメントに分割して、ルートの過負荷を減らします。 データのサイズがルーターの処理能力よりも大きい可能性があります。

このレイヤーは、データを小さなフラグメントに分割し、さらに送信します。 さらに、受信側ホストに断片化されたデータを蓄積する役割も果たします。 ただし、フラグメント化されたデータの蓄積プロセスは、宛先ノードでのみ実行されます。

6. トランスポートとネットワーク層の流れ

次に、実際の例を通じて、トランスポート層とネットワーク層がどのように機能するかを調べてみましょう。

この図では、Network-AとNetwork-Bで実行されている2つのホストデバイスHost-A、Host-Bがあります。 さらに、各エンドデバイスで3つのプロセスが実行されています。 Host-Aの各プロセスは、Host-Bの一部のプロセスにデータを送信しようとしています。

あるプロセスから別のプロセスへのデータの送信は、トランスポート層によって実行されます。 あるプロセスから別のプロセスにデータを送信するには、最初にデータを宛先ホストに送信する必要があります。 これを実現するために、両方のプロセスが異なるネットワークにあるため、ネットワーク層を使用します。

ここで、トランスポート層はヘッダーを追加し、各プロセスに一意のポート番号を割り当て、それをネットワーク層に渡します。さらに、ネットワーク層は送信元ホストと宛先ホストの論理アドレスを使用します。 データを宛先ホストにルーティングします。 これが、ネットワーク層が送信元から宛先への配信層として知られている理由です。 送信元から宛先までの最短パスのルーティングテーブルを作成します。 また、さまざまなネットワークデバイスからのパケットを切り替えます。

この例のように、Network-Aから出て行く2つのパスがあります。 ネットワーク層は、パケットを送信するために選択するパスを決定します。

パケットが宛先ホストに到達すると、トランスポート層はポート番号を使用してパケットをそれぞれのプロセスにルーティングします。

プロセス間の通信は、エンドツーエンド配信と呼ばれます。 ただし、ホストからホストへの通信は、送信元から宛先への配信と呼ばれます。 さらに、2つのネットワークデバイス間の通信は、ホップツーホップ配信と呼ばれます。

7. トランスポート層とネットワーク層の違い

トランスポート層とネットワーク層の基本的な違いを見てみましょう。

8. 結論

このチュートリアルでは、OSIモデルの2つの重要なレイヤーであるトランスポートレイヤーとネットワークレイヤーについて説明しました。 また、2つのレイヤーによって提供されるサービスとそれらのコアの違いについても説明しました。