レイヤー7とは?
レイヤー7とはOSI参照モデルの最上位にあるアプリケーション層のことであり、通信システムの機能を7つの異なるカテゴリに標準化する概念的枠組みです。レイヤー7は、ホスト デバイス上で動作するアプリケーション ソフトウェアと連動してサービスを提供し、エンドユーザーとアプリケーションの対話を促進します。電子メール、ファイル転送、Webブラウジングなどのサービスすべてがこの層で動作します。
レイヤー7の説明
ネットワーク通信の分野では、OSI参照モデルのアプリケーション層としても知られるレイヤー7がネットワーク通信での中心的役割を果たします。レイヤー7は、使用されるアプリケーションとデータが移動する下位のネットワークとの間のインターフェイスを提供します。アプリケーションとネットワーク サービスとの対話を可能にし、ホスト デバイス上で実行されるアプリケーション ソフトウェアに直接、一連のサービスを提供します。
レイヤー7はネットワークのコントロール センターと考えてください。脳が人体を制御するのと同じように、レイヤー7は異なるアプリケーション間の管理と調整を担当します。
OSI参照モデルの理解
OSI参照モデルは、ネットワーク上でデータがどのように転送されるのかを記述する概念的枠組みです。国際標準化機構(ISO)によって1984年に策定され、現在ではネットワーク通信の標準的なモデルとして一般に受け入れられています。
OSI参照モデルはネットワーク通信のプロセスを体系的に表したものであり、ネットワーク通信の全体的な機能に寄与する特定のサービスに対して個々の階層が処理を行います。それぞれの階層は隣接する階層と通信しており、ネットワーク全体で、送信側の階層を通じて伝達されたデータが受信側の階層を通じてバックアップされます。
OSI参照モデルの各階層
レイヤー1 - 物理層: 物理層はOSI参照モデルの基礎をなす階層として、未加工のビットストリーム データを銅線、光ファイバー、電波などの物理媒体経由で伝送する役割を果たします。ビット レート、信号強度、物理コネクター、ケーブル種別、ネットワーク トポロジのような側面を管理し、ネットワーク上でのバイナリ伝送の完全性を確保します。
レイヤー2 - データ リンク層: データ リンク層は物理層からの未加工のビットをデータ フレーム内に構築し、物理アドレス(MACアドレス)を使用してノード間の通信を管理します。また、誤り検出と訂正の機能により、データ伝送の信頼性を確保しています。また、CSMA/CD (Carrier Sense Multiple Access with Collision Detection)などの方式を使用して物理媒体へのアクセスも管理します。
レイヤー3 - ネットワーク層: ネットワーク層は、あるノードから別のネットワーク内のもう一つのノードに可変長のデータ シーケンス(パケット)を転送するための手段を提供します。論理アドレッシングに基づいてパケットのルーティングを処理し、ネットワークの輻輳とパケットの順序制御を管理します。
レイヤー4 - トランスポート層: トランスポート層は送信元と宛先のシステムの間でのホスト間通信を扱います。TCPやUDPのようなプロトコルを利用して信頼性の高いデータ伝送または低いデータ伝送に対するメカニズムを提供し、データ パケットのフロー制御、誤り検査、セグメント化を管理します。
レイヤー5 - セッション層: セッション層は、通信の送信側と受信側でアプリケーションどうしの接続(セッション)を確立、管理、解除します。
レイヤー6 - プレゼンテーション層: プレゼンテーション層は、アプリケーション形式のデータを一般的な形式に変換します(逆の場合も同様)。また、暗号化、復号化、データ圧縮などのサービスを提供します。あるシステムのアプリケーション層から送られたデータを別のシステムのアプリケーション層で確実に読み取れるようにします。
レイヤー7 - アプリケーション層: OSI参照モデルの最上位階層であるアプリケーション層は、ユーザーまたはプロセスとネットワークとの間で通信を行うためのインターフェイスとして機能します。HTTP要求やファイル転送、電子メールなど、アプリケーション固有のサービスを提供します。
OSI参照モデルでのデータの流れ
カプセル化および非カプセル化として知られるプロセスにおいて、データはOSI参照モデル内を流れます。このプロセスは、送信元デバイスから宛先デバイスにデータが送信されるときに起こります。
カプセル化プロセス(下方向へのデータの流れ)
カプセル化プロセスは、送信元デバイスのアプリケーション層(レイヤー7)から開始します。ユーザー データが伝送に適した形式に変換された後、変換、圧縮、または暗号化のために下位のプレゼンテーション層(レイヤー6)に渡されます。セッション層(レイヤー5)では、セッションが確立され、データ転送が終了するまで維持されます。
このデータをトランスポート層(レイヤー4)が受信し、管理可能なセグメントに分割し、ポート番号を含むTCPまたはUDPヘッダーを付加します。次にネットワーク層(レイヤー3)が、送信元と宛先のIPアドレスを含むIPヘッダーを付加し、セグメントをパケットに変換します。
データ リンク層(レイヤー2)がこのパケットをフレームにカプセル化し、そのヘッダーにMACアドレス、トレーラーにFCS(フレーム検査順序列)を付加します。最後に物理層(レイヤー1)が、物理媒体を介した伝送のためにこれらのフレームをバイナリ データ(ビット)に変換します。
非カプセル化プロセス(上方向へのデータの流れ)
データは宛先デバイスに到達すると、OSI階層を逆順で上昇します。物理層では、受信されたビットがフレームに再変換されます。データ リンク層はFCSに誤りがないかチェックし、MACアドレスを取り外し、パケットをネットワーク層に渡します。
ネットワーク層はパケットからIPアドレスを取り外し、パケットをセグメントに戻し、トランスポート層に渡します。トランスポート層はデータの正しい順序を確認し、パケットの受信を承認し、TCPヘッダーまたはUDPヘッダーを取り外します。
これで元の形式で、データがセッション層を通ってプレゼンテーション層に渡されます。ここでセッションがクローズされ、これ以前に実行された変換または暗号化がすべて取り消されます。最後にアプリケーション層で、元のユーザー データが使用可能な形式で受信側のアプリケーションに提供されます。
レイヤー7の役割
レイヤー7はソフトウェア アプリケーションと下位のネットワーク サービスとの通信を容易にします。この層はネットワークの基礎となる詳細とは関係ありませんが、ソフトウェア アプリケーションにネットワーク サービスを利用する方法を提供することに注力しています。レイヤー7は本質的にネットワークのインタープリタのようなものとして機能します。つまり、ユーザーまたはアプリケーションのデータをOSI参照モデルの他の階層が理解できる標準的なプロトコルに変換します。
それぞれが固有の目的を果たす各種プロトコルによって、アプリケーション層が通信パートナーどうしのエンドツーエンドの通信を容易にできます。以下はその例です。
FTAM (File Transfer Access and Management)プロトコルは、リモート システムのファイルへのユーザーによるアクセスと管理を可能にします。
SNMP (シンプル ネットワーク マネージメント プロトコル)は、ネットワーク管理者によるネットワーク デバイスの管理、監視、設定を可能にします。
CMIP (Common Management Information Protocol)はネットワーク管理情報を定義します。
HTTP (Hypertext Transfer Protocol)はWeb上のクライアントとサーバー間の通信を可能にします。
レイヤー7の負荷分散
ロード バランサーでネットワーク トラフィックを複数のサーバーに分散することによって、リソースの使用を最適化し、応答時間を短縮し、単一のサーバーの過負荷を回避します。
レイヤー7では、負荷分散によってネットワーク トラフィックの分散に追加の要素が加えられます。IPアドレスおよびTCP/UDPポートの情報に基づいて判断を行うレイヤー4のロード バランサーとは異なり、レイヤー7のロード バランサーはユーザーのメッセージの中身を検査してルーティングの判断を行います。
レイヤー7のロード バランサーはネットワーク パケットの「ペイロード」を分析し、アプリケーション メッセージ内のHTTPヘッダー、Cookie、データなどの要素を考慮して高度な負荷分散の判断を行います。たとえば、要求されたURLまたは要求されたコンテンツのタイプ(画像、スクリプト、テキストなど)に基づき、トラフィックを別のサーバーにルーティングできます。
レイヤー7のセキュリティ
アプリケーション層の保護は、組織がオンプレミス、クラウドベース、またはハイブリッドのどのアプローチを選んでも、機密データの保護とサービス可用性の維持をするうえで最も重要なことです。また、ユーザーおよびそのデータと直接対話する階層として、レイヤー7はユーザーの認証情報および個人識別情報にアクセスしようとする攻撃者をおびき寄せます。この階層での一般的な攻撃のタイプには、アプリケーション層攻撃およびレイヤー7 DDoS (分散型サービス拒否)攻撃が含まれます。
アプリケーション層攻撃は、アプリケーション内の脆弱性(妥当性の確認が不十分な入力や、安全でない設定など)の悪用を試みます。レイヤー7 DDoS攻撃は、サーバー、サービス、またはネットワークに処理できない量の要求を送信してリソースを過剰消費させることを目的としています。ネットワークを大量のトラフィックであふれさせる通常のDDoS攻撃とは異なり、レイヤー7 DDoS攻撃はたいてい徐々に開始し、通常のユーザーの行動を模倣します。そうすることで、検出を困難にします。
クラウドネイティブ環境においては、レイヤー7のネットワーク セキュリティに対応する組込みメカニズムがKubernetesのようなツールによって提供されます。ただし多くの場合、これらのメカニズムにはWebアプリケーション ファイアウォール(WAF)、侵入検知システム、ロバストなセキュリティ ポリシーといった追加のセキュリティ対策が必要です。
特にWAFはアプリケーション層で動作し、データ パケットの中身に基づいて情報の理解と判断を行うことができるため、レイヤー7セキュリティの重要な役割を担います。WAFはHTTP/HTTPSで定義されたルールに基づいて悪意のあるトラフィックをフィルターで除外できるため、従来のネットワーク層のファイアウォールよりもさらにきめ細かいネットワーク トラフィックの制御が可能になります。
OSI参照モデルとTCP/IP参照モデルの比較
OSI参照モデルと同様に、TCP/IP (トランスミッション コントロール プロトコル/インターネット プロトコル)参照モデルは、ネットワーク プロトコルがどのように相互作用・連携してネットワーク サービスを提供するのかを記述したものです。ただし、この2つのモデルは構造、抽象化レベル、過去の用途の面で異なっています。
構造および抽象化レベル
OSI参照モデルには7つの階層があり、各階層が一連の具体的なサービスを提供し、直前および直後の階層と相互作用しながら独立して動作します。設計段階で、意図したとおりに、あらゆるタイプのネットワーク通信に対応する普遍的な基準が作られています。
TCP/IP参照モデルはネットワーク通信の現実にさらに多くの焦点を当てたものであり、4階層の構造からわかるように、モジュール式の機能分割を重視していません。
- ネットワーク インターフェイス層(OSI参照モデルの物理層とデータ リンク層に相当)
- インターネット層(ネットワーク層に相当)
- トランスポート層
- アプリケーション層(OSI参照モデルのセッション層、プレゼンテーション層、アプリケーション層の組合せ)
過去の用途
OSI参照モデルは包括的な設計にもかかわらず、実際的なネットワーキング実装に広く採用されたことは一度もありません。その用途は構想段階から先に進まず、ネットワーク プロトコルの相互作用と働きを理解して説明するための手段となっています。
これとは対照的に、TCP/IP参照モデルは現代のインターネットの基礎として作成・実装されました。TCPとIPはインターネットのバックボーン プロトコルです。このモデルは実際的なネットワーキングの問題を解決し、効果的な広域通信の実現を目的として設計されたものであり、階層化された参照モデルに準拠することが目的ではありません。