このページでは,基本情報技術者試験をはじめとする情報処理技術者試験で必須となる,アプリケーションプロトコル(アプリケーション層)についてシンプルにまとめています。アプリケーション層の役割,アプリケーションプロトコルの概要,プログラム間の通信方式,DHCP,DNS,HTTP,SMTP,POP,IMAP,SSHなどの主要プロトコルを解説します。繰り返し読んで,確実に理解しましょう。
アプリケーション層とは(役割と位置づけ)
TCP/IPのアプリケーション層は,OSI基本参照モデルのセション層,プレゼンテーション層,アプリケーション層に相当します。
アプリケーションプロトコルとは(定義と用途)
アプリケーションプロトコルは,(アプリケーション)プログラム間の通信を行うためのプロトコルです。Webページ閲覧,電子メール,ファイル共有などの通信機能を実現します。
プログラム間の通信方式とは(方式の特徴比較)
プログラム間の通信方式には,次のようなものがあります。
| クライアントサーバー方式 | クライアントがサーバーにリクエストを送信し,サーバーがレスポンスを返信する方式 |
| ポーリング方式 | サーバーがクライアントからのリクエストを聞いて回る方式 |
| ピアツーピア方式 | ホスト同士が対等に通信する方式 |
※ TCP/IPのアプリケーションプロトコルの多くが,クライアントサーバー方式に対応している
アプリケーション層の主なプロトコル一覧(機能と用途)
DHCPとは(IPアドレス自動割当)
DHCPは,コンピューターに対して(IPアドレスなど)通信に必要な情報を自動的に割り当てるためのプロトコルです。LANのネットワーク構成情報を自動設定したり,ISPのDHCPサーバーがクライアントにグローバルIPアドレスの自動割当や自動回収,他のクライアントへの再利用をしたりします。詳細は,「DHCPの基礎まとめ」を参照してください。
※ UDPのポート番号67(サーバー),68(クライアント)を使用する
※ DHCPは,BOOTP(BOOTstrap Protocol)を改良したプロトコルである
※ ISP(Internet Service Provider)…インターネット接続サービスを提供する事業者
DNSとは(名前解決の仕組み)
DNSとは,TCP/IPネットワークで,ドメイン名とIPアドレスの対応を管理するシステムをいいます。詳細は,「DNSの基礎まとめ」を参照してください。
※ TCP/UDPのポート番号53を使用する
※ 名前解決ともいう
WWWのプロトコルとは(Web通信の基本)
HTTPとは(Web通信プロトコル)
HTTPとは,WebサーバーからHTMLで記述されたWebページや,その他のファイルなどを取得するためのプロトコルをいいます。詳細は,「WWWの基礎まとめ(HTTP(HyperText Transfer Protocol)とは)」を参照してください。
※ TCPのポート番号80を使用する
※ 実際には,URLに対応するIPアドレスを取得(名前解決)してから,Webサーバーに接続する。名前解決の詳細は,「DNSの基礎まとめ(名前解決の問い合わせ方法)」を参照
電子メールのプロトコルとは(送受信方式)
SMTP(Simple Mail Transfer Protocol)とは(メール送信プロトコル)
SMTPとは,電子メールを送信・転送するためのプロトコルをいいます。電子メールを,メールソフトからメールサーバーへ送信する際や,メールサーバー間で転送する際の,データ形式,伝送手順などが定められています。詳細は,「電子メールの基礎まとめ(SMTP(Simple Mail Transfer Protocol)とは)」を参照してください。
※ TCPのポート番号25を使用する
※ 認証の機能はない⇒利用者認証をする場合は,POP before SMTPや,SMTP-AUTHを使用する
※ 暗号化の機能はない⇒SMTP通信全体をSSL/TLSで暗号化する場合は,SMTPSを使用する
POP(Post Office Protocol)とは(メール受信プロトコル)
POPとは,電子メールをメールサーバーのメールボックスから取り出すためのプロトコルをいいます。利用者が,メールサーバーのメールボックスから自分あての電子メールを取り出す際の,データ形式や,伝送手順などが定められています。利用者認証の仕組みも備わっています。
※ 現在は,主にPOP3(POPのバージョン3)が使用されている
※ POP3は,TCPのポート番号110を使用する
※ 認証時に使用するユーザー名やパスワードは平文で送受信される
※ 暗号化の機能はない⇒認証情報を暗号化する場合は,APOPを使用する。POPによる通信全体をSSL/TLSで暗号化する場合は,POP3S(POP3 over SSL/TLS)を使用する(APOPについては,脆弱性が見つかっているため,POP3Sの使用が推奨されている)
- 電子メールを取り出す際は,すべての電子メールをクライアント(メールソフト)にダウンロードする
- メールソフトで,既読の管理や,フォルダ分け,閲覧などをする
- 取り出した電子メールは,(基本的には)メールサーバーから削除される
※ 複数の端末で1つのメールアドレスを利用したい場合には向いていない(取り出した電子メールが,メールサーバーから削除され,他の端末で受信することができなくなるため)⇒サーバー上で既読の管理などを行いたい場合は,IMAPやWebメールを利用する
詳細は,「電子メールの基礎まとめ(POP(Post Office Protocol)とは)」を参照してください。
IMAP(Internet Message Access Protocol)とは(サーバ上でのメール管理)
IMAPとは,電子メールをメールサーバーのメールボックスから取り出すためのプロトコルをいいます。。利用者が,メールサーバーにアクセスして,自分あての電子メールを確認したり,必要な電子メールを取り出したりする際の手順が定められています。また,利用者認証の仕組みも備わっています。
※ 現在は,主にIMAP4(IMAPのバージョン4)が,使用されている
※ IMAP4は,TCPのポート番号143を使用する
※ 暗号化の機能はない⇒IMAPによる通信全体をSSL/TLSで暗号化する場合は,IMAPSを使用する
- 電子メールの一覧を閲覧して,必要な電子メールだけをクライアント(メールソフト)にダウンロードすることができる(電子メールの一部(ヘッダーなど)だけを取り出すこともできる)
- メールサーバーで,既読の管理や,フォルダ分けなどをする
- 電子メールは,メールサーバーに保存してあるので,複数の端末からアクセスすることができる
※ メールサーバーの容量(の上限)を超過しないよう,(古い)電子メールを削除する必要がある
詳細は,「電子メールの基礎まとめ(IMAP(Internet Message Access Protocol)とは)」を参照してください。
SSH(Secure SHell)とは(安全なリモート操作)
SSHは,遠隔地のコンピューターを,ネットワーク経由で遠隔操作するためのプロトコルです。暗号や認証技術を利用でき,安全性が確保されています。詳細は,「SSHの基礎まとめ」を参照してください。
※ TCPのポート番号22を使用する
※ telnetやFTPなど,暗号化のしくみのないプロトコルに置き換わる,安全なプロトコルとして普及している
まとめ
今回は,アプリケーションプロトコル(アプリケーション層)についてシンプルにまとめてみました。アプリケーション層のしくみや各プロトコルの特徴を押さえ,ネットワーク通信の基礎を確実に理解しましょう。
理解が進んだら,過去問題等にも挑戦してみてください。







