基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,アプリケーションプロトコルについてシンプルにまとめています。まず,アプリケーション層,アプリケーションプロトコル,プログラム間の通信方式について説明し,その後,DHCP,DNS,HTTP,SMTP,POP,IMAPの概要を説明しています。各プロトコルの概要については,しっかり理解するよう努めましょう。また,各プロトコルの詳細については,リンクを貼っていますので,そちらも参照してみてください。
アプリケーション層
TCP/IPのアプリケーション層は,OSI基本参照モデルのセション層,プレゼンテーション層,アプリケーション層に相当します。
アプリケーションプロトコル
アプリケーションプロトコルは,(アプリケーション)プログラム間の通信を行うためのプロトコルです。Webページ閲覧,電子メール,ファイル共有などの通信機能を実現します。
プログラム間の通信方式
プログラム間の通信方式には,次のようなものがあります。
クライアントサーバー方式 | クライアントがサーバーにリクエストを送信し,サーバーがレスポンスを返信する方式 |
ポーリング方式 | サーバーがクライアントからのリクエストを聞いて回る方式 |
ピアツーピア方式 | ホスト同士が対等に通信する方式 |
※ TCP/IPのアプリケーションプロトコルの多くが,クライアントサーバー方式に対応している
アプリケーション層の主なプロトコル
DHCP
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のプロトコル
HTTP
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など,暗号化のしくみのないプロトコルに置き換わる,安全なプロトコルとして普及している
まとめ
今回は,アプリケーションプロトコルについて,シンプルにまとめてみました。各プロトコルの概要については,基本的な内容で,確実に知っておかなければなりません。頑張りましょう。