OSI参照モデルの最上位層で、利用者が使うアプリケーションへのサービスを担う層。
アプリケーション層とは、OSI参照モデル(=通信の役割を7つの層に分けて整理した世界共通の考え方)の最上位にある第7層で、Webブラウザやメールソフトなどのアプリケーションがネットワークをやりとりするための「サービスや約束事」を提供する層です。
利用者に一番近い層なので、私たちが普段「ネットを使う」と感じる動作の多くは、ここで決められた約束事に従っています。アプリケーション層は「何のやりとりをするか(Webページを取得する・メールを送るなど)」だけを決め、実際にデータを運ぶ作業は下位の層(トランスポート層〜物理層)に任せます。
身近な例で考えると、レストランで「注文する言葉」に似ています。「これをください」と注文する約束事(プロトコル)さえ決まっていれば、料理を運ぶ作業(下位層)は店員に任せられます。上の図解で最上位の第7層(赤くハイライト)がアプリケーション層です。
アプリケーション層には、用途ごとにさまざまなプロトコル(=通信の約束事)があります。代表的なものを整理します。
| プロトコル | 用途 | ポート |
|---|---|---|
| HTTP / HTTPS | Webページの取得 | 80 / 443 |
| SMTP | メールの送信 | 25 |
| POP3 / IMAP | メールの受信 | 110 / 143 |
| DNS | ドメイン名とIPの変換 | 53 |
| FTP | ファイル転送 | 20 / 21 |
それぞれの役割は次のとおりです。
・HTTP / HTTPS:ブラウザがWebサーバからページを取り寄せる約束事。HTTPSは通信を暗号化した安全な版
・SMTP / POP3・IMAP:SMTPはメールを送る、POP3やIMAPはメールを受け取るための約束事
・DNS:example.com のような人間が読める名前を、コンピュータが使うIPアドレスに変換する
これらは「住所をたずねる窓口(DNS)」「手紙を出す窓口(SMTP)」「商品を取り寄せる窓口(HTTP)」のように、用途ごとに専用の窓口が用意されているとイメージすると整理しやすいでしょう。
実際のインターネットは、OSIの7層モデルそのものではなく、より実用的なTCP/IPモデル(=通信を4つの層にまとめた実装上のモデル)で動いています。両者は対応関係にあります。
ポイントは、OSIの上位3層(第7アプリケーション層・第6プレゼンテーション層・第5セッション層)が、TCP/IPでは1つの「アプリケーション層」にまとめられているという点です。
・OSI 第7〜第5層 → TCP/IP アプリケーション層
・OSI 第4層 → TCP/IP トランスポート層
・OSI 第3層 → TCP/IP インターネット層
つまり、HTTP・SMTP・DNSといったプロトコルは、OSIでは第7層、TCP/IPでもアプリケーション層に位置づけられます。OSIは役割を細かく整理した「理論の地図」、TCP/IPは実際に動かすための「実用の地図」と考えると、両者の関係を整理しやすいでしょう。
プロトコルとは、通信の約束事・手順のルールのことです。「データをどんな形式で送るか」「要求はどう書くか」「返事はどう返すか」を細かく決めたものです。
なぜプロトコルが必要なのか。コンピュータは世界中の異なるメーカーが作っています。約束事がなければ、それぞれが好き勝手な形式でデータを送り、相手に読んでもらえません。プロトコルという共通言語があるからこそ、WindowsのPCからMacのサーバへ、スマホからWebサービスへ、メーカーや機種を問わずデータをやりとりできます。
身近な例で考えると、手紙のマナーに似ています。「宛名を表に書く・差出人を裏に書く・切手は右上」という約束があるから、どの郵便局でも扱えます。プロトコルはコンピュータ同士の「手紙のマナー」です。アプリケーション層では、用途(Web・メール・名前解決など)ごとに専用のプロトコルが用意されています。
アプリケーション層の大きな特徴は、「どんな目的で通信するか(Webページを取得する・メールを送るなど)」だけを決め、実際に運ぶ作業は下の層に丸投げするという役割分担です。
なぜ層を分けるのか。役割を分けることで、各層が独立して改善できます。たとえば、HTTPの仕様(アプリ層)を変えなくても、下の輸送方法(TCP→QUIC など)だけを新しくすることが可能です。逆に、ネットワークの物理的な速度が上がっても、アプリ層のHTTPの書き方は変わりません。
身近な例で考えると、レストランの注文と厨房・配達の分業に似ています。お客さんは「ハンバーグをください」と注文(アプリ層)するだけ。料理を作る(トランスポート層)、届ける(ネットワーク層以下)のは別の担当です。注文の仕方が変わっても厨房の作り方は変わらず、厨房の設備が変わっても注文の仕方は変わりません。この分業による独立性こそが、OSIモデルが7層に分かれている根本的な理由です。