TCP/IP のアプリケーション層には、アプリケーションがネットワークサービスを要求・提供するためのプロトコルがあります。OSI 用語がアプリケーション、プレゼンテーション、セッションの各層へ分ける機能の多くを含みます。
ネットワークの基本 · レッスン 5
アプリケーション層
アプリケーションプロトコルが、サービスのメッセージ、状態、名前、安全性の動作を定義する仕組みを学びます。
プロトコルのメッセージと意味
アプリケーションプロトコルは、通信相手がメッセージと状態をどう解釈するかを定義します。HTTP は要求、応答、メソッド、状態コード、フィールドを、DNS は問い合わせとリソースレコードを、SMTP はメール転送のコマンドと応答を定義します。
すべてが固定された1個の「アプリケーションヘッダー」を加えるわけではありません。テキストフィールド、バイナリレコード、入れ子の形式、1つのトランスポート接続上で続く一連のメッセージなど、方式はさまざまです。
アプリケーションプロトコルが主に定義するものは何ですか?
クライアント、サーバー、ピア
クライアントはサービスへ要求または接続を開始し、サーバーは待ち受けるか、それを受け入れます。これは対話内の役割であり、恒久的なデバイス分類ではありません。1つのホストが DNS のクライアントと SSH のサーバーを同時に担え、ピアツーピアの役割を使うプロトコルもあります。
一般的な要求・応答の交換で、プログラムをクライアントにするものは何ですか?
名前、ポート、サービス選択
アプリケーションはサービス名を1つ以上の IP アドレスへ解決し、トランスポート端点を選べます。周知ポートは既定値であり、プロトコルの不変の証拠ではありません。HTTP は一般に TCP 80、HTTPS は TCP 443 を使いますが、別の場所でも動かせます。SMTP は中継とメッセージ送信で異なるポートと方針を使います。
開いている TCP ポート 443 だけで証明できることは何ですか?
セキュリティと端から端までのテスト
証明書検証と端点名が正しければ、TLS は機密性、完全性、認証済みの通信相手の識別を加えられます。ただし、すべてのアプリケーション操作を自動的に許可するものではありません。実際のクライアントと同じ名前、アドレスファミリー、ポート、プロトコル、認証情報、要求でテストしてください。
HTTPS の診断では、名前解決、TCP 接続、TLS 証明書と名前、HTTP 応答、アプリケーション内容を別々に確認できます。1段階の成功は問題範囲を狭めますが、後の全段階を証明しません。
TLS 証明書の検証成功は何を確立しますか?
レッスン完了
アプリケーション層 を完了しました
ポート番号やプログラム名だけに頼らず、アプリケーション層の動作を説明できるようになりました。
プロトコルの構文、意味、状態をアプリケーションの関心事として特定する。
クライアントとサーバーを交換内の役割として扱う。
ポートをプロトコルの証拠ではなく、端点の慣例として使う。
名前、安全性、アプリケーション応答を端から端までテストする。