PR

アプリケーション層とは?OSI・TCP/IPモデルでの役割を解説

アプリケーション層 ネットワーク
スポンサーリンク

はじめに

Webサイトを開く、メールを送る、ファイルを転送するといった操作では、通信相手へデータを届けるだけでなく、そのデータをどのような手順と形式でやり取りするかを決める必要があります。アプリケーションごとに通信方法が異なると、異なる製品やサービスの間で正しく情報を交換できません。

この通信ルールを利用者に近い位置で定めるのがアプリケーション層です。この記事では、OSI参照モデルとTCP/IPモデルでの位置づけ、アプリケーション層が担当する役割、代表的なプロトコルを解説します。読み終えると、Web・メール・DNSなどが同じ層へ分類される理由を説明できるようになります。

アプリケーション層とは

アプリケーション層は、ネットワークを利用するソフトウェア同士がデータを交換するための通信ルールを定める層です。OSI参照モデルでは最上位の第7層に位置し、利用者が使うサービスに最も近い役割を担当します。

ただし、ブラウザーやメールソフトそのものをアプリケーション層と呼ぶわけではありません。ブラウザーがWebサーバーへ何を要求し、サーバーがどのような応答を返すかといった、アプリケーション間のメッセージや処理手順をプロトコルとして定めます。

例えば、Web通信ではHTTP、名前解決ではDNS、メール送信ではSMTPが使われます。用途が異なるためプロトコルも異なりますが、いずれも下位層の通信機能を利用し、具体的なサービスを成立させる点は共通しています。

OSI参照モデルとTCP/IPモデルでの位置づけ

OSI参照モデルでは、アプリケーション層は第7層です。その下に、データ形式の変換を担当するプレゼンテーション層と、通信の開始・維持・終了を扱うセッション層があります。

一方、TCP/IPモデルでは、OSI参照モデルのアプリケーション層・プレゼンテーション層・セッション層に相当する機能を、まとめてアプリケーション層として扱います。両モデルは階層数が異なるため、名称だけで一対一に対応させず、各層が担当する役割から理解することが重要です。

OSI参照モデル全体とTCP/IPモデルの対応は、OSI参照モデルとは?TCP/IPモデルとの違いと7階層の役割で解説しています。

アプリケーション層が担当する役割

アプリケーション層の中心的な役割は、通信するアプリケーションが理解できるメッセージの意味と交換手順を定めることです。プロトコルごとに、要求や応答の種類、データの表し方、処理する順序、エラーを伝える方法などが決められています。

例えばHTTPでは、クライアントが取得したい情報をリクエストで示し、サーバーがステータスコードやデータをレスポンスとして返します。DNSでは、問い合わせる名前と必要なレコードの種類を指定し、DNSサーバーが対応する情報を返します。このように、同じネットワーク上でもサービスの目的に応じて異なる会話の規則が使われます。

アプリケーション層は、宛先までパケットを転送したり、データを確実に届けたりする処理を単独では行いません。IPによる転送やTCP・UDPによるアプリケーション間の受け渡しなど、下位層の機能を利用します。TCP・UDPとの役割分担は、トランスポート層とは?役割とTCP・UDPの違いを分かりやすく解説を参照してください。

代表的なアプリケーション層プロトコル

アプリケーション層には、サービスの目的に応じた多くのプロトコルがあります。

用途代表的なプロトコル主な役割
名前解決DNSドメイン名に対応するIPアドレスなどの情報を問い合わせる
Web通信HTTPブラウザーとWebサーバーがリクエストとレスポンスを交換する
電子メールSMTP・POP3・IMAPメールを配送し、メールサーバーから受信・管理する
ファイル転送FTPコンピューター間でファイルと操作情報をやり取りする
遠隔操作Telnet・SSH離れたコンピューターへログインして操作する
ネットワーク監視SNMPルーターやスイッチなどの状態を取得・通知する

この表はプロトコルの役割を整理するための概要です。メールの配送経路、FTPの二つのコネクション、SSHの認証、SNMPのManager・Agent・MIBなどは、それぞれ独立した仕組みを持つため、個別記事で詳しく扱います。

クライアントとサーバーの関係

多くのアプリケーション層プロトコルは、要求する側をクライアント、要求を受けて処理する側をサーバーとするクライアント/サーバーモデルを使います。Web通信ではブラウザーがHTTPクライアント、Webサイトを提供するコンピューター上のプログラムがHTTPサーバーとして動作します。

クライアントとサーバーは、使用するプロトコルで定められたメッセージを交換します。クライアントは必要な処理や情報を要求し、サーバーは要求を解釈して結果を返します。DNSでは端末や再帰リゾルバーが問い合わせを送り、DNSサーバーが名前に関する情報を応答します。

クライアントとサーバーは固定された機器の種類ではなく、その通信で担当する役割を表す言葉です。同じコンピューターが、ある通信ではクライアント、別の通信ではサーバーとして動作することもあります。また、すべてのアプリケーション通信が単純なクライアント/サーバーモデルだけで構成されるわけではありません。

まとめ

アプリケーション層は、ネットワークを利用するソフトウェア同士が情報を交換するために、メッセージの意味と通信手順を定める層です。OSI参照モデルでは第7層、TCP/IPモデルではOSIの上位3層に相当する機能をまとめた層として位置づけられます。

HTTP、DNS、SMTP、FTP、SSH、SNMPなどは用途が異なりますが、下位層の通信機能を利用して具体的なサービスを成立させるアプリケーション層プロトコルです。各プロトコルが何を要求し、どのような応答を返すかを決めることで、異なるソフトウェアや機器の間でも共通のルールに沿って通信できます。

関連記事


タイトルとURLをコピーしました